:root{--header-h: 56px;--chips-h: 56px;--sidebar-w: 240px;--sidebar-mini-w: 72px;--sidebar-ng-w: clamp(240px, 33vw, 460px);--side-w: clamp(320px, 26vw, 420px);--pip-w: clamp(300px, 30vw, 460px);--radius-card: 12px;--font: "Roboto", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Meiryo", system-ui, -apple-system, sans-serif}html[data-theme=dark]{--bg: #0f0f0f;--bg-elevated: #212121;--bg-overlay: #282828;--text: #f1f1f1;--text-dim: #aaaaaa;--text-faint: #717171;--chip-bg: #272727;--chip-hover: #3f3f3f;--chip-active-bg: #f1f1f1;--chip-active-text: #0f0f0f;--border: #303030;--divider: #272727;--hover: #272727;--hover-strong: #3f3f3f;--search-bg: #121212;--search-btn: #222222;--skeleton: #1f1f1f;--skeleton-shine: #2a2a2a;--brand: #ff0033;--accent: #3ea6ff;--shadow: 0 4px 32px rgba(0, 0, 0, .6);color-scheme:dark}html[data-theme=light]{--bg: #ffffff;--bg-elevated: #ffffff;--bg-overlay: #ffffff;--text: #0f0f0f;--text-dim: #606060;--text-faint: #909090;--chip-bg: #f2f2f2;--chip-hover: #e5e5e5;--chip-active-bg: #0f0f0f;--chip-active-text: #ffffff;--border: #d9d9d9;--divider: #e5e5e5;--hover: #f2f2f2;--hover-strong: #e5e5e5;--search-bg: #ffffff;--search-btn: #f8f8f8;--skeleton: #ececec;--skeleton-shine: #f7f7f7;--brand: #ff0033;--accent: #065fd4;--shadow: 0 4px 32px rgba(0, 0, 0, .2);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:var(--hover-strong);border-radius:8px;border:3px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--text);flex:0 0 auto;transition:background .1s}.icon-btn:hover{background:var(--hover-strong)}.icon-btn:active{background:var(--hover)}.icon-btn[disabled]{opacity:.4;cursor:default}.icon-btn[disabled]:hover{background:none}.header{position:fixed;inset:0 0 auto;height:var(--header-h);display:flex;align-items:center;gap:8px;padding:0 16px;background:var(--bg);z-index:40}.header-left{display:flex;align-items:center;gap:8px;min-width:0}.brand-btn{display:inline-flex;align-items:center;padding:4px 6px;border-radius:8px}.brand-btn:hover{background:var(--hover)}.brand{display:inline-flex;align-items:flex-start;gap:4px;-webkit-user-select:none;user-select:none;white-space:nowrap}.brand-mark{display:block;margin-top:1px}.brand-text{font-size:19px;font-weight:700;letter-spacing:-.5px;line-height:20px}.brand-text-sub{font-weight:500}.brand-region{font-size:10px;color:var(--text-dim);line-height:1;margin-top:1px}.header-center{flex:1 1 auto;display:flex;justify-content:center;align-items:center;gap:8px;min-width:0;max-width:730px;margin:0 auto}.searchbar{display:flex;flex:1 1 auto;min-width:0;height:40px}.searchbar-input-wrap{display:flex;align-items:center;flex:1 1 auto;min-width:0;border:1px solid var(--border);border-right:none;border-radius:40px 0 0 40px;background:var(--search-bg);padding-left:16px}.searchbar-input-wrap:focus-within{border-color:var(--accent);padding-left:12px}.searchbar-input-wrap:focus-within .searchbar-leading{display:flex}.searchbar-leading{display:none;align-items:center;color:var(--text-dim);margin-right:8px;flex:0 0 auto}.searchbar input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font-size:16px;height:100%}.searchbar input::placeholder{color:var(--text-faint)}.searchbar-clear{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--text-dim);margin-right:4px}.searchbar-clear:hover{background:var(--hover)}.searchbar-submit{flex:0 0 64px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:0 40px 40px 0;background:var(--search-btn);color:var(--text)}.searchbar-submit:hover{background:var(--hover-strong)}.header-right{display:flex;align-items:center;gap:4px;flex:0 0 auto}.quota-pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:16px;background:var(--chip-bg);color:var(--text-dim);font-size:12px;white-space:nowrap;cursor:default}.quota-pill b{color:var(--text);font-weight:500}.quota-pill.warn b{color:#ffb020}.quota-pill.danger b{color:var(--brand)}.sidebar{position:fixed;top:var(--header-h);left:0;bottom:0;width:var(--sidebar-w);padding:12px;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);z-index:30;transition:width .14s}.sidebar.mini{width:var(--sidebar-mini-w);padding:4px}.sidebar.ng-open{width:var(--sidebar-ng-w);box-shadow:var(--shadow)}.side-feed{display:flex;margin-bottom:8px;border:1px solid var(--border);border-radius:999px;overflow:hidden}.side-feed button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 1 0;min-width:0;height:34px;padding:0 10px;font-size:13px;color:var(--text-dim)}.side-feed button:hover:not(.active){background:var(--hover);color:var(--text)}.side-feed button.active{background:var(--chip-active-bg);color:var(--chip-active-text);font-weight:500}.side-feed-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-count{font-size:11px;opacity:.7;flex:0 0 auto}.sidebar.mini .side-feed{flex-direction:column;border-radius:12px;margin-bottom:4px}.sidebar.mini .side-feed button{height:30px;padding:0 4px;font-size:11px}.sidebar.mini .side-feed .feed-count{display:none}.side-item{display:flex;align-items:center;gap:24px;width:100%;height:40px;padding:0 12px;border-radius:10px;color:var(--text);text-align:left;font-size:14px}.side-item:hover{background:var(--hover)}.side-item.active{background:var(--hover-strong);font-weight:500}.side-item .side-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-item .side-count{margin-left:auto;color:var(--text-dim);font-size:12px;font-weight:400}.sidebar.mini .side-item{flex-direction:column;gap:6px;height:74px;justify-content:center;padding:0 4px;border-radius:10px}.sidebar.mini .side-item .side-label{font-size:10px;max-width:100%}.sidebar.mini .side-count{display:none}.side-divider{height:1px;background:var(--divider);margin:12px 0}.side-item.open{background:var(--hover)}.side-caret{flex:0 0 auto;display:inline-flex;color:var(--text-faint);margin-left:4px;transition:transform .15s}.side-caret.up{transform:rotate(180deg)}.side-item .side-count+.side-caret{margin-left:4px}.side-ngwords{width:100%;min-width:0;margin:2px 0 4px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);animation:ngwords-in .12s ease-out}@keyframes ngwords-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.side-ngwords-note{margin:8px 2px 0;font-size:11px;line-height:1.7;color:var(--text-faint)}.side-ngwords-note b{color:var(--text-dim);font-weight:500}.kw-editor.compact{padding:6px;gap:5px;min-height:0;border-radius:8px}.kw-editor.compact .kw-tag{height:24px;padding:0 4px 0 9px;font-size:12px;gap:3px}.kw-editor.compact .kw-tag button:not(.kw-mode){width:16px;height:16px}.kw-editor.compact input{flex:1 1 110px;min-width:110px;height:26px;font-size:12px;padding:0 4px}.side-item.scene-item{gap:8px;cursor:pointer}.side-item.scene-item.current{position:relative;font-weight:500}.side-item.scene-item.current:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.scene-default-tag{flex:0 0 auto;font-size:10px;font-weight:400;color:var(--text-faint);border:1px solid var(--border);border-radius:4px;padding:0 4px;line-height:15px}.scene-menu-btn{flex:0 0 24px;width:24px;height:24px;margin-right:-4px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--text);opacity:0}.scene-item:hover .scene-menu-btn,.scene-menu-btn:focus-visible{opacity:1}.scene-menu-btn:hover{background:var(--hover-strong)}.scene-item:hover .side-count{display:none}.scene-rename-input{flex:1 1 auto;min-width:0;height:28px;padding:0 8px;border:1px solid var(--accent);border-radius:6px;background:var(--search-bg);outline:none;font-size:14px}.side-item.scene-item.renaming{cursor:default;background:none}.side-item-ghost{color:var(--text-dim)}.side-item-ghost:hover{color:var(--text)}.side-heading{padding:8px 12px 4px;font-size:16px;font-weight:500}.side-note{padding:8px 12px 16px;font-size:12px;color:var(--text-faint);line-height:1.6}.side-note code{font-size:11px;background:var(--chip-bg);padding:1px 4px;border-radius:4px}.chipbar{position:fixed;top:var(--header-h);right:0;left:var(--sidebar-w);height:var(--chips-h);display:flex;align-items:center;gap:4px;padding:0 8px 0 24px;background:var(--bg);z-index:20;transition:left .14s}.app.mini .chipbar{left:var(--sidebar-mini-w)}.app.ng-open .chipbar{left:var(--sidebar-ng-w)}.chipbar-scroll-wrap{position:relative;display:flex;align-items:center;flex:1 1 auto;min-width:0}.chipbar-scroller{display:flex;align-items:center;gap:12px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;flex:1 1 auto;padding:4px 0}.chipbar-scroller::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;height:32px;padding:0 12px;border-radius:8px;background:var(--chip-bg);color:var(--text);font-size:14px;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:background .1s}.chip:hover{background:var(--chip-hover)}.chip.active{background:var(--chip-active-bg);color:var(--chip-active-text)}.chip .chip-count{font-size:11px;opacity:.7;font-weight:400}.chip-warn{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;font-size:11px;font-weight:700;line-height:1;color:#221a00}.chip-warn.near{background:#f2c744}.chip-warn.full{background:#e8443a;color:#fff}.chip.kw{cursor:grab}.chip.kw:active{cursor:grabbing}.chip.dragging{opacity:.4}.chip-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:var(--bg)}.chip-arrow.left{left:0;box-shadow:12px 0 12px 8px var(--bg)}.chip-arrow.right{right:0;box-shadow:-12px 0 12px 8px var(--bg)}.chip-add{flex:0 0 auto;display:flex;align-items:center;gap:2px}.chip-add-btn{flex:0 0 auto}.chip-add-input{width:150px;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--chip-bg);color:var(--text);font-size:14px}.chip-add-input:focus{outline:none;border-color:var(--text-dim)}.sort-toggle{flex:0 0 auto;display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-left:8px}.sort-toggle button{padding:0 10px;height:30px;font-size:12px;color:var(--text-dim)}.sort-toggle button.active{background:var(--chip-bg);color:var(--text);font-weight:500}.layout{padding-top:calc(var(--header-h) + var(--chips-h));padding-left:var(--sidebar-w);min-height:100%;transition:padding-left .14s}.app.mini .layout{padding-left:var(--sidebar-mini-w)}.app.ng-open .layout{padding-left:var(--sidebar-ng-w)}.content{padding:8px 24px 64px;max-width:2200px}.progress{display:flex;align-items:center;gap:12px;padding:4px 0 16px;font-size:13px;color:var(--text-dim)}.progress-track{flex:1 1 auto;height:3px;border-radius:2px;background:var(--chip-bg);overflow:hidden;max-width:320px}.progress-fill{height:100%;background:var(--brand);transition:width .25s}.banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;margin-bottom:16px;font-size:13px;line-height:1.6}.banner.error{background:#ff00331f;color:#ff8095}html[data-theme=light] .banner.error{color:#b3001b}.banner.info{background:var(--chip-bg);color:var(--text-dim)}.banner .banner-actions{margin-left:auto;display:flex;gap:8px;flex:0 0 auto}.text-btn{color:var(--accent);font-weight:500;padding:6px 12px;border-radius:18px;white-space:nowrap}.text-btn:hover{background:#3ea6ff1f}.filled-btn{background:var(--chip-active-bg);color:var(--chip-active-text);font-weight:500;padding:8px 16px;border-radius:18px;white-space:nowrap}.filled-btn:hover{opacity:.9}.filled-btn[disabled]{opacity:.4;cursor:default}.outline-btn{border:1px solid var(--border);color:var(--text);padding:8px 16px;border-radius:18px;font-weight:500;white-space:nowrap}.outline-btn:hover{background:var(--hover)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:40px 16px}.grid.shorts{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px 16px}@media(max-width:700px){.grid{grid-template-columns:1fr;gap:24px}.grid.shorts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px 8px}}.card{position:relative;display:flex;flex-direction:column;min-width:0}.thumb{position:relative;display:block;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-card);overflow:hidden;background:var(--skeleton)}.thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.card:hover .thumb img{transform:scale(1.02)}.thumb-duration{position:absolute;right:8px;bottom:8px;background:#000c;color:#fff;font-size:12px;font-weight:500;padding:1px 4px;border-radius:4px;line-height:18px}.thumb-badges{position:absolute;left:8px;top:8px;display:flex;gap:4px;flex-wrap:wrap;max-width:calc(100% - 56px);opacity:0;transition:opacity .12s}.card:hover .thumb-badges{opacity:1}.thumb-badge{background:#000000bf;color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;line-height:14px}.thumb-badge.kw{cursor:context-menu}.thumb-badge.kw:hover{background:#000000eb;outline:1px solid rgba(255,255,255,.5)}.thumb-badge.live{background:var(--brand);font-weight:700;letter-spacing:.5px;opacity:1}.card-body{display:flex;gap:12px;padding-top:12px;min-width:0}.card-avatar{flex:0 0 36px;width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--chip-bg);display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:var(--text-dim)}.card-avatar img{width:100%;height:100%;object-fit:cover}.card-meta{flex:1 1 auto;min-width:0}.card-title{font-size:14px;font-weight:500;line-height:20px;max-height:40px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;margin:0 0 4px}.card-channel{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.card-channel:hover{color:var(--text)}.card-stats{font-size:12px;color:var(--text-dim)}.card-menu-btn{flex:0 0 24px;width:24px;height:24px;border-radius:50%;color:var(--text);display:inline-flex;align-items:center;justify-content:center;opacity:0;margin:-2px -4px 0 0}.card:hover .card-menu-btn,.card-menu-btn:focus-visible,.card-menu-btn.open{opacity:1}.card-menu-btn:hover{background:var(--hover-strong)}.card.short .thumb,.card.short>.skeleton.thumb-sk{aspect-ratio:9 / 16}.card.short .thumb .thumb-sk{aspect-ratio:auto;height:100%}.card.short .card-body{gap:8px;padding-top:10px}.card.short .card-avatar{flex-basis:32px;width:32px;height:32px}.card.short:hover .thumb img{transform:none}.menu{position:absolute;z-index:60;min-width:240px;padding:8px 0;border-radius:12px;background:var(--bg-overlay);box-shadow:var(--shadow);overflow:hidden}.menu.context-menu{position:fixed;min-width:180px}.menu-item{display:flex;align-items:center;gap:16px;width:100%;padding:9px 16px;font-size:14px;text-align:left;color:var(--text)}.menu-item:hover{background:var(--hover-strong)}.menu-item.danger{color:#ff8095}html[data-theme=light] .menu-item.danger{color:#c4001d}.menu-divider{height:1px;background:var(--divider);margin:8px 0}.skeleton{background:linear-gradient(90deg,var(--skeleton) 0%,var(--skeleton-shine) 50%,var(--skeleton) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton.thumb-sk{aspect-ratio:16 / 9;width:100%;border-radius:var(--radius-card)}.empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:80px 24px;text-align:center;color:var(--text-dim)}.empty h2{font-size:20px;font-weight:500;color:var(--text);margin:0}.empty p{margin:0;font-size:14px;max-width:480px;line-height:1.8}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.modal-backdrop{position:fixed;inset:0;background:#0009;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:100%;max-width:680px;max-height:88vh;display:flex;flex-direction:column;background:var(--bg-elevated);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.modal-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--divider);flex:0 0 auto}.modal-header h2{margin:0;font-size:18px;font-weight:500}.modal-header .icon-btn{margin-left:auto}.modal-body{padding:20px;overflow-y:auto;flex:1 1 auto}.modal-body>p{font-size:14px;line-height:1.8}.modal-note{font-size:12px;color:var(--text-faint);margin-top:12px}.modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--divider);flex:0 0 auto}.field{margin-bottom:20px}.field>label:not(.check),.field>.field-label{display:block;font-size:13px;font-weight:500;margin-bottom:6px}.field .hint{font-size:12px;color:var(--text-faint);line-height:1.7;margin-top:6px}.field .hint code{background:var(--chip-bg);padding:1px 5px;border-radius:4px;font-size:11px}.text-input{width:100%;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--search-bg);outline:none}.text-input:focus{border-color:var(--accent)}.text-input.small{height:34px;width:110px}select.text-input{width:auto;min-width:160px;padding-right:8px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;line-height:1.6}.check input{margin-top:2px;accent-color:var(--brand);width:16px;height:16px}.radio-list{display:flex;flex-direction:column;gap:10px}.coverage-list{display:flex;flex-direction:column;gap:8px}.coverage-row{display:grid;grid-template-columns:minmax(0,1fr) 90px auto 15px;align-items:center;gap:10px;font-size:13px}.coverage-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coverage-bar{height:6px;border-radius:3px;background:var(--chip-bg);overflow:hidden}.coverage-fill{display:block;height:100%;border-radius:3px;background:var(--text-faint)}.coverage-fill.near{background:#f2c744}.coverage-fill.full{background:#e8443a}.coverage-num{font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:12px}.coverage-slot-pad{width:15px}.kw-editor{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid var(--border);border-radius:10px;min-height:52px;align-items:center}.kw-tag{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 6px 0 12px;border-radius:15px;background:var(--chip-bg);font-size:13px;flex:0 0 auto;max-width:100%;min-width:0;overflow:hidden;white-space:nowrap}.kw-tag button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:20px;height:20px;border-radius:50%;color:var(--text-dim)}.kw-tag button:hover{background:var(--hover-strong);color:var(--text)}.kw-editor input{flex:1 1 120px;min-width:120px;height:30px;border:none;outline:none;background:transparent}.kw-editor.exclude{border-color:#f036}.kw-editor.exclude .kw-tag{background:#ff003324;color:#ff8095}html[data-theme=light] .kw-editor.exclude .kw-tag{color:#b3001b}.kw-editor .kw-tag.tag-exact:before{content:"#";font-weight:700;opacity:.85;margin-right:-2px}.kw-editor.exclude .kw-tag.tag-exact{background:transparent;box-shadow:inset 0 0 0 1px currentColor}.kw-tag button.kw-mode{display:block;width:auto;height:auto;padding:0;border-radius:0;background:none;color:inherit;font:inherit;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kw-tag button.kw-mode:hover{background:none;color:inherit;text-decoration:underline dotted;text-underline-offset:3px}.panel{max-width:860px}.panel-title{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:500;margin:8px 0 24px}.panel-title .panel-sub{font-size:14px;color:var(--text-dim);font-weight:400}.panel-section{margin-bottom:32px}.panel-section-title{display:flex;align-items:baseline;gap:10px;font-size:15px;font-weight:500;margin:0 0 10px;flex-wrap:wrap}.panel-section-title .count{color:var(--text-dim);font-size:12px;font-weight:400}.panel-hint{font-size:12px;color:var(--text-faint);line-height:1.8;margin:8px 0 0}.panel-hint code{background:var(--chip-bg);padding:1px 5px;border-radius:4px;font-size:11px}.panel-hint.warn{color:#f2c744;border-left:2px solid currentColor;padding-left:10px}.panel-actions{display:flex;gap:8px;margin-bottom:32px}.query-preview{display:flex;align-items:center;gap:10px;margin:10px 0 0;padding:12px 14px;border-radius:10px;background:var(--chip-bg);color:var(--text);font-family:Roboto Mono,ui-monospace,Consolas,monospace;font-size:13px;white-space:pre-wrap;word-break:break-all}.query-preview svg{flex:0 0 auto;color:var(--text-faint)}.query-preview-tag{margin-left:auto;flex:0 0 auto;padding:2px 8px;border-radius:10px;background:var(--hover-strong);color:var(--text-dim);font-family:var(--font);font-size:11px;white-space:nowrap}.danger-zone{border-top:1px solid var(--divider);padding-top:24px}.filled-btn.danger{background:var(--brand);color:#fff}.outline-btn svg{vertical-align:-4px;margin-right:6px}.test-result{font-size:13px;line-height:1.5}.test-result.ok{color:#3ea66b}.test-result.ng{color:#ff8095}html[data-theme=light] .test-result.ng{color:#b3001b}.ng-list{display:flex;flex-direction:column;border:1px solid var(--divider);border-radius:10px;overflow:hidden}.ng-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--divider);font-size:13px}.ng-row:last-child{border-bottom:none}.ng-row .ng-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ng-row .ng-when{color:var(--text-faint);font-size:11px;flex:0 0 auto}.ng-empty{padding:24px;text-align:center;color:var(--text-faint);font-size:13px}.drop-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.drop-list{display:flex;flex-direction:column;border:1px solid var(--divider);border-radius:10px;overflow:hidden}.drop-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--divider)}.drop-row:last-child{border-bottom:none}.drop-row:hover{background:var(--hover)}.drop-thumb{position:relative;flex:0 0 120px;width:120px;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;background:var(--chip-bg)}.drop-thumb img{width:100%;height:100%;object-fit:cover}.drop-thumb-dur{position:absolute;right:4px;bottom:4px;padding:0 4px;border-radius:3px;background:#000c;color:#fff;font-size:10px;line-height:15px}.drop-meta{flex:1 1 auto;min-width:0}.drop-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:500;line-height:1.4}.drop-channel,.drop-stats{display:block;margin-top:2px;font-size:11px;color:var(--text-faint)}.drop-channel:hover{color:var(--text-dim)}.drop-reason{flex:0 0 auto;max-width:220px;padding:4px 10px;border-radius:999px;background:var(--chip-bg);color:var(--text-dim);font-size:11px;line-height:1.5;text-align:center}.drop-reason b{display:block;color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop-reason.exclude,.drop-reason.ng{background:#e8443a29;color:#e8443a}.drop-reason.exclude b,.drop-reason.ng b{color:#e8443a}@media(max-width:640px){.drop-thumb{flex-basis:84px;width:84px}.drop-reason{max-width:110px}}.setup{min-height:100%;background:var(--bg)}.setup-top{display:flex;align-items:center;height:var(--header-h);padding:0 16px;max-width:780px;margin:0 auto}.setup-top .icon-btn{margin-left:auto}.setup-body{max-width:780px;margin:0 auto;padding:24px 24px 80px}.setup-title{font-size:28px;font-weight:500;margin:16px 0 12px}.setup-lead{font-size:15px;line-height:1.9;color:var(--text-dim);margin:0 0 40px}.setup-lead b{color:var(--text);font-weight:500}.setup-step{display:flex;gap:20px;margin-bottom:44px}.setup-step-no{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;font-size:15px;font-weight:600;line-height:32px;text-align:center}.setup-step-body{flex:1 1 auto;min-width:0}.setup-step-body h2{font-size:18px;font-weight:500;margin:3px 0 10px}.setup-step-lead{font-size:13px;line-height:1.9;color:var(--text-dim);margin:0 0 18px}.setup-url-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}.setup-url{flex:1 1 220px;min-width:0;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--search-bg);font-family:Roboto Mono,ui-monospace,Consolas,monospace;font-size:13px;color:var(--text-dim);overflow-x:auto;white-space:nowrap}.setup-url-row .filled-btn{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.setup-prompt-head{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-faint);margin-bottom:6px}.setup-prompt-head .text-btn{margin-left:auto;padding:4px 10px;font-size:12px}.setup-prompt{margin:0;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--chip-bg);color:var(--text);font-family:Roboto Mono,ui-monospace,Consolas,monospace;font-size:12.5px;line-height:1.85;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto}.setup-key-row{display:flex;align-items:center;gap:10px}.setup-key-icon{flex:0 0 auto;color:var(--text-faint);display:inline-flex}.setup-key-row .outline-btn{flex:0 0 auto}.setup-callout{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;padding:16px 18px;margin:0 0 40px;background:var(--chip-bg)}.setup-callout h3{margin:0 0 10px;font-size:14px;font-weight:500}.setup-callout ul{margin:0;padding-left:18px}.setup-callout li{font-size:13px;line-height:1.85;color:var(--text-dim);margin-bottom:6px}.setup-callout li:last-child{margin-bottom:0}.setup-callout b{color:var(--text);font-weight:500}.setup-warn{display:flex;gap:12px;padding:14px 16px;border-radius:10px;background:#ffb0201f;color:var(--text-dim);font-size:12.5px;line-height:1.85;margin-bottom:20px}.setup-warn svg{flex:0 0 auto;color:#ffb020;margin-top:2px}.setup-warn b{color:var(--text);font-weight:500}.setup-note{font-size:12px;line-height:1.9;color:var(--text-faint);margin:18px 0 0}.setup-note code{background:var(--chip-bg);padding:1px 5px;border-radius:4px;font-size:11px}.setup-link{color:var(--accent);text-decoration:underline}@media(max-width:640px){.setup-step{gap:12px}.setup-title{font-size:24px}}.wizard-backdrop{position:fixed;inset:0;background:#000000b3;z-index:110;display:flex;align-items:center;justify-content:center;padding:24px}.wizard{width:100%;max-width:760px;max-height:90vh;display:flex;flex-direction:column;background:var(--bg-elevated);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.wizard-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--divider);flex:0 0 auto}.wizard-head h2{margin:0 0 6px;font-size:19px;font-weight:500}.wizard-head .icon-btn{margin-left:auto}.wizard-steps{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:var(--text-faint)}.wizard-steps .on{color:var(--text);font-weight:500}.wizard-steps .sep{opacity:.5}.wizard-body{padding:20px;overflow-y:auto;flex:1 1 auto}.wizard-foot{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--divider);flex:0 0 auto}.paste-textarea{height:150px;padding:12px;line-height:1.7;font-family:Roboto Mono,ui-monospace,Consolas,monospace;font-size:12.5px;resize:vertical;white-space:pre;overflow-wrap:normal;overflow-x:auto}.transfer-json{max-height:200px;line-height:1.5}.bulk-ignored{margin-top:12px;font-size:12px;color:var(--text-faint)}.bulk-ignored summary{cursor:pointer;padding:4px 0}.bulk-ignored ul{margin:6px 0 0;padding:10px 12px 10px 28px;border:1px solid var(--border);border-radius:8px;background:var(--chip-bg);max-height:160px;overflow-y:auto;line-height:1.8;word-break:break-word}.wizard-gemini{border-top:1px solid var(--divider);padding-top:20px}.seed-inputs{display:flex;flex-direction:column;gap:8px}.seed-input-row{display:flex;align-items:center;gap:8px}.seed-input-no{flex:0 0 20px;font-size:12px;color:var(--text-faint);text-align:right}.seed-input-row .text-input{flex:1 1 auto;min-width:0;font-family:Roboto Mono,ui-monospace,Consolas,monospace;font-size:12.5px}.seed-input-row .text-input.invalid{border-color:var(--brand)}.seed-input-mark{flex:0 0 16px;font-size:13px;text-align:center}.seed-input-mark.ok{color:#3ea66b}.seed-input-mark.ng{color:var(--brand)}.hint-list{margin:8px 0 0;padding-left:18px}.hint-list li{margin-bottom:4px}.seed-notag{color:#ffb020}.count-inline{font-size:12px;font-weight:400;color:var(--text-dim)}.seed-list{display:flex;flex-direction:column;border:1px solid var(--divider);border-radius:10px;overflow:hidden}.seed-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--divider)}.seed-row:last-child{border-bottom:none}.seed-row.off{opacity:.4}.seed-row img{flex:0 0 80px;width:80px;aspect-ratio:16 / 9;object-fit:cover;border-radius:6px;background:var(--skeleton)}.seed-meta{flex:1 1 auto;min-width:0}.seed-title{display:block;font-size:13px;font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seed-title:hover{color:var(--accent)}.seed-sub{font-size:11px;color:var(--text-faint);margin-top:3px}.shape-picker{display:flex;flex-wrap:wrap;gap:8px}.shape-option{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:140px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;color:var(--text-dim);cursor:pointer;transition:background .1s,border-color .1s,color .1s}.shape-option:hover{background:var(--hover)}.shape-option input{position:absolute;opacity:0;width:0;height:0}.shape-option:focus-within{outline:2px solid var(--text-dim);outline-offset:2px}.shape-option.on{border-color:var(--text);border-width:2px;padding:9px 13px;color:var(--text);background:var(--chip-bg)}.shape-label{font-size:14px;font-weight:500}.shape-hint{font-size:11px;color:var(--text-faint);line-height:1.5}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px;max-height:260px;overflow-y:auto;padding:2px}.tag-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:16px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-size:13px;transition:background .1s,color .1s}.tag-chip:hover{background:var(--hover);color:var(--text)}.tag-chip.on{background:var(--chip-active-bg);border-color:var(--chip-active-bg);color:var(--chip-active-text);font-weight:500}.tag-chip.parent{border-color:var(--text);border-width:2px;color:var(--text);font-weight:500}.tag-count{font-size:11px;opacity:.65}.seed-ids{display:flex;flex-wrap:wrap;gap:6px}.seed-id-chip{padding:4px 10px;border-radius:6px;background:var(--chip-bg);color:var(--text-dim);font-family:Roboto Mono,ui-monospace,Consolas,monospace;font-size:11px}.seed-id-chip:hover{color:var(--text);background:var(--chip-hover)}@media(max-width:640px){.wizard-backdrop{padding:0}.wizard{max-height:100vh;border-radius:0}.seed-row img{flex-basis:64px;width:64px}}.toasts{position:fixed;left:24px;bottom:24px;z-index:120;display:flex;flex-direction:column-reverse;gap:8px}.toast{display:flex;align-items:center;gap:16px;padding:12px 16px;border-radius:10px;background:#f1f1f1;color:#0f0f0f;font-size:13px;box-shadow:var(--shadow);max-width:460px;animation:toast-in .16s ease-out}html[data-theme=light] .toast{background:#212121;color:#f1f1f1}.toast .toast-msg{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast button{flex:0 0 auto;color:#065fd4;font-weight:600;text-transform:uppercase;font-size:12px;display:inline-flex;align-items:center;gap:4px}html[data-theme=light] .toast button{color:#3ea6ff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.side-view{position:fixed;top:var(--header-h);right:0;bottom:0;width:var(--side-w);display:flex;flex-direction:column;gap:6px;padding:4px 10px 10px;overflow:hidden;border-left:1px solid var(--border);background:var(--bg);z-index:35}.side-view-bar{display:flex;align-items:center;gap:2px;flex:0 0 auto}.side-view-bar .up{transform:rotate(180deg)}.side-view-pos{margin-right:auto;padding-left:6px;font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.shorts-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}.shorts-frame{position:relative;width:min(100%,calc((100vh - var(--header-h) - 104px) * .5625));aspect-ratio:9 / 16;border-radius:16px;overflow:hidden;background:#000;will-change:transform;-webkit-user-select:none;user-select:none}.shorts-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.shorts-catch{position:absolute;inset:0;z-index:2;cursor:pointer}.shorts-mask{position:absolute;top:0;left:0;right:0;height:17%;z-index:3;pointer-events:none;opacity:0;transition:opacity .18s;background:linear-gradient(to bottom,#000 0% 55%,#000000d1 72%,#0000)}.shorts-mask.on{opacity:1}.shorts-top{position:absolute;top:8px;left:8px;right:8px;z-index:5;display:flex;align-items:flex-start;gap:6px;pointer-events:none}.shorts-top>*,.shorts-top-right>*{pointer-events:auto}.shorts-top-right{position:relative;margin-left:auto}.shorts-round{flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#0009;color:#fff}button.shorts-round:hover,.shorts-round.open{background:#000000d9}.shorts-round.on{background:#fff;color:#0f0f0f}.shorts-round.on:hover{background:#ffffffd9}.shorts-menu{right:0;top:44px;min-width:220px}.shorts-volume{flex:0 0 auto;display:flex;align-items:center;border-radius:18px;transition:background .16s}.shorts-volume.open,.shorts-volume:focus-within{background:#0009}.shorts-volume.open .shorts-round,.shorts-volume:focus-within .shorts-round{background:transparent}.shorts-volume.open button.shorts-round:hover,.shorts-volume:focus-within button.shorts-round:hover{background:#ffffff26}.shorts-volume-slider{width:0;height:36px;display:flex;align-items:center;overflow:hidden;opacity:0;cursor:pointer;touch-action:none;transition:width .16s ease,opacity .16s ease}.shorts-volume.open .shorts-volume-slider,.shorts-volume:focus-within .shorts-volume-slider{width:76px;opacity:1}.shorts-volume-slider:focus-visible{outline:none}.shorts-volume-track{position:relative;width:100%;height:3px;margin:0 14px 0 2px;border-radius:2px;background:#ffffff59}.shorts-volume-slider:focus-visible .shorts-volume-track{box-shadow:0 0 0 2px #3ea6ff}.shorts-volume-fill{position:absolute;left:0;top:0;height:100%;border-radius:2px;background:#fff}.shorts-volume-knob{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff}.shorts-veil{position:absolute;inset:0;z-index:1;background:#000}.shorts-veil img{width:100%;height:100%;object-fit:cover}.shorts-veil-spin{position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:shorts-spin .8s linear infinite}@keyframes shorts-spin{to{transform:rotate(360deg)}}.shorts-info{position:absolute;left:12px;right:12px;bottom:16px;z-index:3;display:flex;flex-direction:column;gap:6px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8)}.shorts-channel{display:flex;align-items:center;gap:8px;min-width:0}.shorts-avatar{flex:0 0 auto;width:28px;height:28px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#ffffff3d;font-size:12px;font-weight:600}.shorts-avatar img{width:100%;height:100%;object-fit:cover}.shorts-handle{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shorts-handle:hover{text-decoration:underline}.shorts-subscribe{flex:0 0 auto;padding:5px 12px;border-radius:16px;background:#fff;color:#0f0f0f;font-size:12px;font-weight:600;text-shadow:none}.shorts-subscribe:hover{opacity:.85}.shorts-title{margin:0;font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shorts-stats{margin:0;font-size:11px;opacity:.75}.shorts-progress{position:absolute;left:0;right:0;bottom:0;height:14px;z-index:4;cursor:pointer}.shorts-progress:before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff4d}.shorts-progress span{position:absolute;left:0;bottom:0;height:3px;background:#fff;transition:width .2s linear}.shorts-next{flex:0 0 auto;display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:10px;background:var(--chip-bg);color:var(--text-dim);font-size:12px;text-align:left}.shorts-next svg{flex:0 0 auto}.shorts-next span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.shorts-next:hover:not(:disabled){background:var(--chip-hover);color:var(--text)}.shorts-next:disabled{opacity:.5;cursor:default}.pip{position:fixed;top:calc(var(--header-h) + 8px);right:12px;z-index:36;width:var(--pip-w);display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg-elevated);box-shadow:var(--shadow);outline:none}.pip.targeted{border-color:var(--brand)}.app.side-open .pip{right:calc(var(--side-w) + 12px)}.pip-bar{display:flex;align-items:center;gap:2px;padding:2px 4px;flex:0 0 auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.pip-bar:active{cursor:grabbing}.pip-bar .icon-btn,.pip-bar:active .icon-btn{cursor:pointer}.pip-bar .icon-btn{width:32px;height:32px}.pip-bar .up{transform:rotate(180deg)}.pip-pos{margin-right:auto;padding-left:8px;font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.pip-stage{position:relative;aspect-ratio:16 / 9;background:#000;flex:0 0 auto}.pip-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.pip-catch{position:absolute;inset:0;z-index:2;cursor:pointer}.pip-veil{position:absolute;inset:0;z-index:1;background:#000}.pip-veil img{width:100%;height:100%;object-fit:cover}.pip-veil-spin{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:shorts-spin .8s linear infinite}.pip-seek{position:relative;height:14px;flex:0 0 auto;cursor:pointer}.pip-seek:before{content:"";position:absolute;left:0;right:0;top:5px;height:4px;background:var(--hover-strong)}.pip-seek-fill{position:absolute;left:0;top:5px;height:4px;background:var(--brand);transition:width .2s linear}.pip-controls{display:flex;align-items:center;gap:2px;padding:0 6px 2px;flex:0 0 auto}.pip-controls .icon-btn{width:34px;height:34px}.pip-controls .icon-btn.on{color:var(--brand)}.pip-time{margin-left:auto;padding:0 8px;font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.pip-meta{display:flex;align-items:flex-start;gap:8px;padding:6px 10px 8px;min-width:0}.pip-avatar{flex:0 0 auto;width:28px;height:28px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--hover-strong);font-size:12px;font-weight:600}.pip-avatar img{width:100%;height:100%;object-fit:cover}.pip-meta-text{min-width:0}.pip-title{margin:0;font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pip-stats{margin:2px 0 0;font-size:11px;color:var(--text-dim)}.pip:fullscreen{width:100vw;height:100vh;border:none;border-radius:0;background:#000}.pip:fullscreen .pip-stage{flex:1 1 auto;aspect-ratio:auto;min-height:0}.pip:fullscreen .pip-bar,.pip:fullscreen .pip-controls,.pip:fullscreen .pip-seek{background:#000000b8;color:#fff}.pip:fullscreen .pip-meta{display:none}.pip:fullscreen .pip-bar{cursor:default}.app.side-open .layout{padding-right:var(--side-w)}.app.side-open .chipbar{right:var(--side-w)}.card.playing .thumb{outline:2px solid var(--brand);outline-offset:2px}.card.playing .card-title{color:var(--brand)}.thumb-watched{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--brand);z-index:2}.card.watched .thumb img{opacity:.5}.card.watched:hover .thumb img{opacity:.75}.card.watched .card-title{color:var(--text-dim)}@media(max-width:1100px){.quota-pill{display:none}}@media(max-width:900px){.layout,.app.mini .layout,.app.ng-open .layout{padding-left:0}.sidebar{transform:translate(-100%);transition:transform .16s;box-shadow:var(--shadow);width:var(--sidebar-w);padding:12px}.sidebar.ng-open{width:min(92vw,400px)}.sidebar.open{transform:none}.drawer-backdrop{position:fixed;inset:var(--header-h) 0 0 0;background:#00000080;z-index:29}.sidebar.mini .side-item{flex-direction:row;gap:24px;height:40px;justify-content:flex-start;padding:0 12px}.sidebar.mini .side-item .side-label{font-size:14px}.chipbar,.app.mini .chipbar,.app.ng-open .chipbar{left:0;padding-left:16px}.content{padding:8px 16px 64px}.chip-arrow{display:none}.app.side-open .layout{padding-right:0}.app.side-open .chipbar{right:0}.side-view{width:100%;border-left:none;z-index:45}.shorts-frame{width:min(100%,calc((100vh - var(--header-h) - 104px) * .5625))}.pip,.app.side-open .pip{left:8px;right:8px;width:auto}}@media(max-width:640px){.brand-text,.brand-region{display:none}.header{padding:0 8px}.searchbar-submit{flex-basis:52px}.chip-add-input{width:110px}}
