:root{color-scheme:dark;--bg: #0f1014;--bg-elev: #181b23;--bg-elev-2: #20242f;--border: #2a2f3c;--text: #e8ebf2;--text-dim: #9aa3b8;--accent: #7c5cff;--accent-dim: #5440b8;--danger: #ef5350;--good: #4caf50;--warn: #ffb74d;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);min-height:100vh}#app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.boot{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-dim)}.app-shell{display:grid;grid-template-rows:auto 1fr auto;height:100vh;min-height:0;overflow:hidden}.topbar{background:var(--bg-elev);border-bottom:1px solid var(--border);padding:12px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.topbar .logo{font-weight:700;font-size:18px;letter-spacing:.5px;color:var(--accent)}.topbar-leading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar .action-btn{flex-direction:row;min-height:36px;width:auto;padding:6px 12px;border-radius:8px;gap:6px}.topbar .action-btn .label{font-size:11px;width:auto;text-align:left}.topbar .me{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:14px}.topbar .me img{width:28px;height:28px;border-radius:50%;background:var(--bg-elev-2)}.profile-me-trigger{display:inline-flex;align-items:center;gap:8px;margin:0;padding:4px 8px 4px 4px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:14px;line-height:1.2;cursor:pointer;max-width:min(240px,45vw);min-width:0}.profile-me-trigger:hover{background:var(--bg-elev-2);border-color:var(--border)}.profile-me-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-me-trigger img{flex-shrink:0}.profile-me-placeholder{width:28px;height:28px;border-radius:50%;background:var(--bg-elev-2);flex-shrink:0}.profile-me-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-modal-body{gap:20px}.profile-identity{display:flex;align-items:center;gap:16px}.profile-identity-avatar{width:56px;height:56px;border-radius:50%;background:var(--bg-elev-2);object-fit:cover;flex-shrink:0}.profile-identity-avatar.placeholder{border:1px dashed var(--border)}.profile-identity-text{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-identity-name{font-size:18px;font-weight:600}.profile-identity-caption{font-size:13px;color:var(--text-dim)}.profile-identity-sub{font-size:12px;letter-spacing:.02em}.profile-identity-sub.muted{color:var(--text-dim)}.profile-section-title{margin:0 0 10px;font-size:15px;font-weight:600}.profile-league-section{margin:0;padding-top:14px;border-top:1px solid var(--border)}.profile-league-form{margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.profile-riot-label{display:flex;flex-direction:column;gap:6px;font-size:14px}.profile-riot-label input{width:100%}.btn-danger-outline{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger-outline:hover:not(:disabled){background:#ef53501f}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:32px;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);padding:4px 12px;border-radius:6px;cursor:pointer;font-size:14px;line-height:1;transition:background .12s ease}.btn:hover{background:#2c3142}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dim)}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:#ef53501a}.btn-icon{padding:4px 10px;font-size:14px}.body{display:flex;flex-direction:column;gap:16px;padding:16px;width:100%;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.body>.queue-col{order:1;flex:0 0 auto;min-height:auto;overflow:visible}.body>.library-col{order:2;flex:0 0 auto;min-height:auto;overflow:visible}@media(min-width:800px){.body{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-template-rows:1fr;align-items:stretch;overflow:hidden}.body>.library-col{order:1;min-height:0}.body>.queue-col{order:2;min-height:0;overflow-y:auto}}.action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-sizing:border-box;background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 4px;cursor:pointer;font:inherit;min-height:52px;width:76px;max-width:100%;flex-shrink:0;transition:background .12s,border-color .12s}.action-btn:hover{background:var(--bg-elev-2);border-color:var(--accent-dim)}.action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.action-btn .icon{font-size:20px;line-height:1;flex-shrink:0}.action-btn .label{font-size:9px;line-height:1.15;color:var(--text-dim);text-transform:uppercase;letter-spacing:.02em;text-align:center;max-width:100%;width:100%;padding:0 1px;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}.modal[open]{display:flex;flex-direction:column;background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:0;width:min(520px,92vw);max-height:80vh;box-shadow:0 16px 48px #00000080}.modal::backdrop{background:#06091299}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:16px}.modal-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;min-height:0}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.modal-foot.modal-foot-spread{justify-content:space-between;flex-wrap:wrap;align-items:center}.modal-close{background:transparent;border:none;color:var(--text-dim);font-size:20px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:4px}.modal-close:hover{color:var(--text);background:var(--bg-elev-2)}.modal-hint{color:var(--text-dim);font-size:13px}.modal-hint-list{margin:8px 0 0;padding-left:1.25em;list-style:disc}.modal-hint-list li{margin:2px 0}.modal-hint-list-loading{margin-top:8px;font-style:italic}.modal-error{color:var(--danger);font-size:13px}.modal textarea,.modal input[type=text],.modal input[type=datetime-local],.modal input[type=number],.modal select{width:100%;padding:10px 12px;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:8px;font:inherit}.modal textarea{resize:vertical}.modal select{resize:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-dim) 50%),linear-gradient(135deg,var(--text-dim) 50%,transparent 50%);background-position:calc(100% - 16px) calc(1em + 4px),calc(100% - 11px) calc(1em + 4px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}.modal textarea:focus,.modal input:focus,.modal select:focus{outline:none;border-color:var(--accent)}.modal label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-dim)}.reminder-list{display:flex;flex-direction:column;gap:8px}.reminder-list-empty{color:var(--text-dim);font-style:italic;padding:8px 0}.reminder-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:flex-start;padding:10px 12px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:8px}.reminder-row .rem-body{min-width:0}.reminder-row .rem-msg{font-size:14px;color:var(--text);word-break:break-word}.reminder-row .rem-meta{font-size:12px;color:var(--text-dim);margin-top:2px}.reminders-create{margin-top:4px;padding-top:4px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.nowplaying-interruption{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--bg-elev-2);border-left:3px solid var(--accent);margin-top:8px;font-size:13px}.nowplaying-interruption.kind-tts{border-left-color:var(--warn)}.nowplaying-interruption.kind-reminder{border-left-color:var(--accent)}.nowplaying-interruption.kind-join_sound,.nowplaying-interruption.kind-leave_sound{border-left-color:var(--text-dim)}.nowplaying-interruption .int-icon{font-size:16px;line-height:1}.nowplaying-interruption .int-body{min-width:0;flex:1}.nowplaying-interruption .int-kind{font-weight:600;color:var(--text)}.nowplaying-interruption .int-message{color:var(--text-dim);font-style:italic;word-break:break-word}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:14px}.card h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.card-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-header-actions{margin-left:auto;display:flex;align-items:center;gap:6px;flex-shrink:0}.library-col{display:flex;flex-direction:column;gap:16px;min-width:0}.library-col>.library{display:flex;flex-direction:column;min-height:0}@media(min-width:800px){.library-col>.library{flex:1 1 auto}}@media(max-width:799px){.library-list{max-height:min(60vh,28rem)}}.playurl-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch}.playurl-input{width:100%;padding:10px 12px;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:14px;min-width:0}.playurl-input:focus{outline:none;border-color:var(--accent)}.playurl-searchbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:stretch}.playurl-or{align-self:center;color:var(--text-dim);font-size:12px;text-transform:lowercase;-webkit-user-select:none;user-select:none}.playurl-actions{display:flex;gap:6px}.playurl-hint{margin-top:8px;font-size:12px;color:var(--warn)}.playurl-divider{margin:12px 0 10px;border-top:1px solid var(--border)}.playurl-subhead{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.playurl-search-state{margin-top:8px;font-size:12px;color:var(--text-dim)}.playurl-results{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.playurl-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev-2)}.playurl-result-main{min-width:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;padding:0}.playurl-result-main:disabled{opacity:.65;cursor:default}.playurl-result-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playurl-result-meta{margin-top:2px;font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playurl-result-queue{align-self:stretch}.library .search{width:100%;height:38px;padding:0 12px;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:14px}.library .search:focus{outline:none;border-color:var(--accent)}.library-list{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-height:0;overflow-y:auto}.library-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:6px;background:var(--bg-elev-2)}.library-row:hover{background:#2a2f3c}.library-row .meta{min-width:0}.library-row .title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-row .sub{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-row .actions{display:flex;gap:6px;align-items:center}.queued-check{color:var(--good);font-weight:700;font-size:16px;line-height:1;padding:0 4px;-webkit-user-select:none;user-select:none;animation:queued-check-fade 2.2s ease-in-out forwards}@keyframes queued-check-fade{0%{opacity:0;transform:scale(.6)}15%{opacity:1;transform:scale(1.15)}30%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}.queue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow-y:auto}.queue-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 10px;background:var(--bg-elev-2);border-radius:6px;font-size:14px}.queue-row .pos{color:var(--text-dim);width:24px;text-align:right;font-variant-numeric:tabular-nums;align-self:start;padding-top:2px}.queue-row .meta{min-width:0;display:flex;flex-direction:column;gap:2px}.queue-row .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-attribution{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);min-width:0}.queue-attribution-avatar{width:16px;height:16px;border-radius:50%;background:var(--bg-elev);flex-shrink:0}.queue-attribution-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-attribution-text b{color:var(--text);font-weight:600}.queue-attribution-shuffle{color:var(--accent)}.nowplaying-card{display:flex;flex-direction:column;gap:10px}.nowplaying-title{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nowplaying-channel{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:-4px}.nowplaying-controls{display:flex;gap:6px;flex-wrap:wrap}.nowplaying-controls .btn{flex:1 0 auto}.nowplaying-seekrow{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:12px}.nowplaying-seekrow input[type=range]{width:100%;accent-color:var(--accent)}.lol-spotlight-blocks{display:flex;flex-direction:column;gap:4px}.lol-spotlight-person{padding-top:8px}.lol-spotlight-person:first-child{padding-top:0}.lol-spotlight-person:not(:first-child){margin-top:8px;padding-top:12px;border-top:1px solid var(--border)}.lol-spotlight-who{margin:0 0 8px;font-size:13px;color:var(--text-dim)}.lol-spotlight-name{font-weight:600;color:var(--text)}.lol-spotlight-card h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:4px}.lol-q-rowhead{display:grid;grid-template-columns:minmax(220px,max-content) 1fr;align-items:flex-start;column-gap:12px;row-gap:8px}.lol-sparkline{flex:0 0 auto;text-align:right}.lol-sparkline--row{display:flex;flex-direction:row;align-items:flex-start;gap:4px;width:100%}.lol-spark-yaxis{position:relative;flex:0 0 auto;width:2.25rem;height:48px;box-sizing:border-box;text-align:right;font-size:8px;line-height:1;font-variant-numeric:tabular-nums;color:var(--text-dim);-webkit-user-select:none;user-select:none}.lol-spark-ytick{position:absolute;right:0;transform:translateY(-50%);white-space:nowrap;max-width:2.2rem;overflow:hidden;text-overflow:ellipsis}.lol-spark-ytick--division{font-size:8px;font-weight:600;color:var(--text)}.lol-spark-ytick--minor{font-size:7px;color:var(--text-dim)}.lol-spark-plots{flex:1 1 auto;text-align:right;min-width:0}.lol-spark-ygrid{stroke:var(--text-dim);stroke-opacity:.12;stroke-width:1;vector-effect:non-scaling-stroke}.lol-spark-ygrid--div{stroke-opacity:.22}.lol-spark-svg{display:block;width:100%;height:48px;opacity:.95}.lol-spark-xaxis{position:relative;height:12px;margin-top:1px;width:100%}.lol-spark-xlbl{position:absolute;top:0;transform:translate(-50%);font-size:9px;font-weight:700;line-height:1;letter-spacing:.04em;-webkit-user-select:none;user-select:none}.lol-spark-xlbl--start{color:var(--text-dim);font-weight:600}.lol-spark-xlbl--w{color:var(--good)}.lol-spark-xlbl--l{color:var(--danger)}.lol-spark-cap{font-size:9px;line-height:1.2;color:var(--text-dim);margin-top:2px;letter-spacing:.02em}.lol-day-key{font-size:12px;font-weight:400;color:var(--text-dim)}.lol-hint{margin:0;font-size:13px;color:var(--text-dim)}.lol-err,.lol-err-soft{margin:0;font-size:13px;color:#c44}.lol-err-soft{opacity:.9}.lol-rank-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.lol-q-left{flex:1 1 auto;min-width:220px}.lol-q-label{font-weight:600;font-size:13px}.lol-q-meta{margin-top:2px;font-size:12px;color:var(--text-dim);line-height:1.25}.lol-q-delta{font-weight:600;font-size:12px;margin-top:2px}.lol-fetched-footer{font-size:11px;color:var(--text-dim);margin-top:4px}.lol-fetched-pending{font-style:italic}.lol-next-poll{opacity:.75}.lol-q-header-row{display:flex;align-items:baseline;gap:6px;margin-bottom:3px}.lol-q-games{font-size:11px;color:var(--text-dim);font-weight:400}.lol-q-rank-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin-top:1px}.lol-q-rank-current{font-size:13px;font-weight:600;color:var(--text)}.lol-q-lp-current{font-size:12px;color:var(--text-dim)}.lol-delta{font-size:11px;font-weight:700;padding:1px 5px;border-radius:4px;letter-spacing:.02em}.lol-delta--gain{background:#4caf502e;color:var(--good)}.lol-delta--loss{background:#ef535026;color:var(--danger)}.lol-delta--even{background:#ffffff0f;color:var(--text-dim)}.lol-delta--promo{background:#7c5cff2e;color:var(--accent)}.login{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:32px;text-align:center;max-width:360px}.login-card h1{margin:0 0 8px;font-size:22px}.login-card p{color:var(--text-dim);margin:0 0 20px;font-size:14px}.reload-banner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px 16px;background:#b4782833;border-bottom:1px solid rgba(180,120,40,.45);color:var(--text);font-size:14px;z-index:50}.reload-banner .btn-sm{padding:6px 12px;font-size:13px}.dev-banner{padding:8px 16px;background:#5078c833;border-bottom:1px solid rgba(80,120,200,.45);color:var(--text);font-size:13px;text-align:center;z-index:50}.version-footer{position:fixed;bottom:8px;right:12px;display:flex;gap:6px;font-size:11px;color:var(--text-dim);opacity:.65;pointer-events:none;z-index:10}.version-footer .version-sep{opacity:.5}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:#2a2f3c;border:1px solid var(--border);padding:10px 16px;border-radius:8px;font-size:14px;z-index:100;max-width:80%;text-align:center;box-shadow:0 4px 16px #0006}.toast.error{border-color:var(--danger);color:var(--danger)}.toast.info{color:var(--text)}.empty{color:var(--text-dim);font-size:13px;padding:12px 4px}.library>.empty{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center}.library-controls{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin-bottom:12px}.library-controls .search{flex:3 1 220px;min-width:160px;width:auto}.library-controls .library-control-select,.library-controls .tag-filter-select{flex:1 1 148px;min-width:132px;max-width:220px}.library-controls .library-user-filter{flex:2 1 200px;max-width:280px}.library-controls>.btn.btn-icon{flex:0 0 auto;align-self:stretch;height:38px;min-height:38px;box-sizing:border-box;padding:0 12px;display:inline-flex;align-items:center;justify-content:center}.tag-filter-select,.library-control-select{height:38px;padding:0 8px;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:14px}.tag-filter-select:focus,.library-control-select:focus{outline:none;border-color:var(--accent)}.badge{display:inline-block;background:var(--bg-elev);border:1px solid var(--border);color:var(--text-dim);font-size:11px;padding:1px 6px;border-radius:999px;margin-left:4px;text-transform:lowercase}.badge-warn{border-color:var(--warn);color:var(--warn)}.badge-good{border-color:var(--good);color:var(--good)}.badge-icon{padding:1px 5px;line-height:1;vertical-align:middle}.badge-shield{display:block;vertical-align:middle}.row-skipped .title,.row-skipped .sub{opacity:.55}.row-menu-anchor{position:relative}.row-kebab{font-size:18px;line-height:1;padding:0 10px;letter-spacing:1px}.row-kebab-open{background:var(--accent-dim);border-color:var(--accent-dim);color:#fff}.row-menu{position:fixed;z-index:100;min-width:240px;max-width:320px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #00000073;padding:12px;z-index:50;display:flex;flex-direction:column;gap:12px}.row-menu-title{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-menu-toggle{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.row-menu-toggle input[type=checkbox]{accent-color:var(--accent)}.row-menu-section{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.row-menu-section-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.row-menu-dim{color:var(--text-dim);font-size:12px;font-style:italic}.row-menu-action{width:100%;text-align:center}.tag-chips{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{display:inline-flex;align-items:center;gap:4px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:999px;padding:2px 4px 2px 10px;font-size:12px}.tag-chip-x{background:transparent;border:0;color:var(--text-dim);cursor:pointer;font-size:14px;line-height:1;padding:0 6px;border-radius:999px}.tag-chip-x:hover:not(:disabled){color:var(--danger)}.tag-add{position:relative;display:inline-block}.tag-add-btn{font-size:16px;line-height:1}.tag-add-btn-open{background:var(--accent-dim);border-color:var(--accent-dim);color:#fff}.tag-picker{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:180px;max-width:240px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 18px #00000073;padding:6px;display:flex;flex-direction:column;gap:6px}.tag-picker-filter{height:30px;padding:0 8px;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:13px}.tag-picker-filter:focus{outline:none;border-color:var(--accent)}.tag-picker-list{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto}.tag-picker-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;background:transparent;color:var(--text);border:0;border-radius:4px;font-size:13px;text-align:left;cursor:pointer}.tag-picker-item:hover:not(:disabled){background:var(--bg-elev-2)}.tag-picker-item:disabled{opacity:.5;cursor:not-allowed}.tag-picker-item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag-picker-item-count{color:var(--text-dim);font-size:11px;font-variant-numeric:tabular-nums}.tag-picker-create{color:var(--accent)}.tag-picker-empty{padding:6px 8px;color:var(--text-dim);font-size:12px;font-style:italic}.shuffle-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:8px}.shuffle-row:last-child{margin-bottom:0}.shuffle-field{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-dim)}.shuffle-field select{padding:6px 10px;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:13px}.shuffle-field select:focus{outline:none;border-color:var(--accent)}.shuffle-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-dim);cursor:pointer}.modal label.shuffle-toggle{flex-direction:row;align-items:center;gap:8px}.shuffle-toggle input[type=checkbox]{accent-color:var(--accent)}.shuffle-status,.shuffle-hint{color:var(--text-dim);font-size:12px}.shuffle-badge{margin-left:6px;text-transform:uppercase}.queue-row .row-menu-anchor{display:flex}.queue-col{display:flex;flex-direction:column;gap:16px;min-width:0}.shuffle-status-card{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.shuffle-status-line{color:var(--text-dim);font-size:13px;margin-bottom:6px}.shuffle-status-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.shuffle-pretty-progress{position:relative;height:18px;border-radius:999px;background:var(--bg-elev-2);border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));overflow:hidden}.shuffle-pretty-progress-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--accent);transition:width .26s ease-out}.shuffle-pretty-progress-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:0 8px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text)}.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:40vh;overflow-y:auto}.activity-row{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;padding:6px 8px;border-radius:6px;background:var(--bg-elev-2)}.activity-icon{font-size:16px;line-height:1.2;color:var(--text-dim);text-align:center}.activity-body{min-width:0;display:flex;flex-direction:column;gap:2px}.activity-line{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-line b{font-weight:600}.activity-verb{color:var(--text-dim);margin:0 4px}.activity-title{color:var(--text-dim);font-style:italic}.activity-tag{background:var(--bg-elev);border:1px solid var(--border);padding:0 4px;border-radius:4px;font-size:11px}.activity-when{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.debug-panel .card-title{color:var(--text)}.debug-subtitle{font-size:11px;color:var(--text-dim);margin-left:8px;font-weight:400}.debug-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:8px 0 4px}.debug-workers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.debug-worker{padding:6px 8px;border-radius:6px;background:var(--bg-elev-2);display:flex;flex-direction:column;gap:2px}.debug-worker-terminated{opacity:.55}.debug-worker-head{display:flex;align-items:center;gap:8px;min-width:0}.debug-worker-title{flex:1;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.debug-worker-detail{font-size:11px;color:var(--text-dim);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.debug-state{font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:4px;background:var(--bg-elev);border:1px solid var(--border);color:var(--text-dim);font-variant-numeric:tabular-nums}.debug-state-streaming,.debug-state-finished{color:var(--good);border-color:var(--good)}.debug-state-failed,.debug-state-cancelled{color:var(--danger);border-color:var(--danger)}.debug-state-resolving,.debug-state-starting{color:#64b5f6;border-color:#64b5f6}.debug-elapsed{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.debug-events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:40vh;overflow-y:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.debug-event{display:grid;grid-template-columns:auto auto 1fr auto;gap:8px;align-items:baseline;font-size:11px;padding:2px 6px;border-radius:3px;background:var(--bg-elev-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.debug-event-time{color:var(--text-dim);font-variant-numeric:tabular-nums}.debug-event-tag{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-dim)}.debug-cat-ytdlp .debug-event-tag{color:#ffb74d}.debug-cat-cache .debug-event-tag{color:#4fc3f7}.debug-event-tag-end,.debug-event-tag-hit{color:var(--good)!important}.debug-event-tag-error,.debug-event-tag-miss{color:var(--danger)!important}.debug-event-tag-stale,.debug-event-tag-partial{color:#ffb74d!important}.debug-event-detail{color:var(--text);overflow:hidden;text-overflow:ellipsis;min-width:0}.debug-event-dur{color:var(--text-dim);font-variant-numeric:tabular-nums}.debug-progress{position:relative;height:12px;border-radius:3px;background:var(--bg-elev);border:1px solid var(--border);overflow:hidden;margin-top:4px;font-variant-numeric:tabular-nums}.debug-cache-usage{margin-bottom:10px}.debug-progress-bar{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(90deg,#3fb95059,#3fb95099);transition:width .3s ease-out}.debug-progress-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text);letter-spacing:.02em;pointer-events:none;text-shadow:0 0 4px var(--bg-elev)}.queue-debug-progress{flex:0 0 auto;width:120px;height:10px;margin-top:0}.queue-debug-progress .debug-progress-label{font-size:9px}.debug-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:var(--bg-elev-2);color:var(--text-dim);font-size:11px;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid transparent;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.debug-toggle:hover{border-color:var(--border)}.debug-toggle input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.debug-toggle-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim);transition:background-color .12s ease}.debug-toggle.is-on{background:#58a6ff26;color:#58a6ff;border-color:#58a6ff59}.debug-toggle.is-on .debug-toggle-dot{background:#58a6ff;box-shadow:0 0 0 3px #58a6ff33}.queue-debug-row{margin-top:4px;display:flex;align-items:center;gap:6px;max-width:100%;min-width:0}.debug-source{font-size:10px;text-transform:uppercase;font-weight:600;letter-spacing:.04em;padding:2px 6px;border-radius:4px;background:var(--bg-elev);border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.debug-source-disk{color:var(--good);border-color:var(--good);background:#3fb95014}.debug-source-youtube{color:#d29922;border-color:#d2992299;background:#d299221a}.debug-source-disk-youtube{color:#58a6ff;border-color:#58a6ff80;background:#58a6ff14}
