:root{color-scheme:dark;--bg:#0a0a0b;--panel:#131315;--raised:#1c1c1f;--line:rgba(255,255,255,.08);--line-strong:rgba(255,255,255,.14);--ink:#f5f5f7;--soft:#d1d1d6;--muted:#a1a1a6;--faint:#8e8e93;--accent:#ff5f2e;--accent-text:#ff8a62;--accent-ink:#1a0802;--good:#30d158;--focus:#ff9a70;--radius:22px;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,monospace;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",sans-serif;font-size:16px;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0;min-height:100vh;position:relative;overflow-x:hidden;background:var(--bg)}
button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}
a{color:inherit;text-underline-offset:.2em}a:hover{color:var(--accent-text)}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{background:rgba(255,95,46,.35);color:#fff}
*{scrollbar-color:#3a3a3e transparent;scrollbar-width:thin}[hidden]{display:none!important}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{position:fixed;top:1rem;left:1rem;z-index:10;background:var(--raised);padding:1rem;border-radius:12px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted,.small{color:var(--muted)}.small{font-size:.85rem}
h1{font-size:2.4rem;letter-spacing:-.04em;line-height:1.1;margin:0 0 .6rem;font-weight:650;text-wrap:balance}h2{font-size:1.15rem;letter-spacing:-.02em;line-height:1.35;font-weight:620;margin:0}p{line-height:1.55}
.glow{position:absolute;top:-380px;left:50%;width:1200px;height:760px;margin-left:-600px;background:radial-gradient(closest-side,rgba(255,95,46,.16),rgba(255,95,46,0));pointer-events:none}

/* Buttons and fields */
input,textarea,select{background:var(--raised);border:1px solid var(--line-strong);border-radius:12px;padding:.7rem .85rem;min-width:0;caret-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--faint)}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:620;white-space:nowrap;box-shadow:0 8px 30px rgba(255,95,46,.3)}.primary:hover{background:#ff7347}
.secondary,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(255,255,255,.04);color:var(--ink);font-weight:560;font-size:.92rem}.secondary:hover,.ghost:hover{background:rgba(255,255,255,.09)}
.primary svg,.ghost svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.save-button[aria-pressed="true"]{color:var(--accent-text);border-color:rgba(255,95,46,.5);background:rgba(255,95,46,.1)}

/* Header */
.topbar{position:relative;z-index:1;max-width:1440px;margin:0 auto;padding:0 32px;height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.wordmark{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:650;font-size:1.06rem;letter-spacing:-.02em;white-space:nowrap}.wordmark:hover{color:var(--ink)}
.wordmark svg{width:28px;height:28px}.wordmark .hex{fill:none;stroke:var(--accent);stroke-width:1.9;stroke-linejoin:round}.wordmark .play{fill:var(--accent)}
.topbar nav{display:flex;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line)}
.nav{height:38px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-weight:560;font-size:.9rem}.nav:hover{color:var(--ink)}.nav.active{background:rgba(255,255,255,.14);color:var(--ink)}
.nav span{font-family:var(--mono);font-size:.75rem;color:var(--faint);margin-left:.3rem}
.index-status{display:flex;align-items:center;gap:10px;height:40px;padding:0 14px 0 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:.82rem;font-weight:500;white-space:nowrap}.index-status:hover{background:rgba(255,255,255,.05);color:var(--ink)}
.index-status svg{width:20px;height:20px;flex-shrink:0}.ring-track,.ring{fill:none;stroke-width:2.4}.ring-track{stroke:rgba(255,255,255,.12)}.ring{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:0 47.2;transform:rotate(-90deg);transform-origin:10px 10px}.index-status.done .ring{stroke:var(--good)}

main{position:relative;max-width:1440px;padding:0 32px 80px;margin:auto;min-height:calc(100vh - 170px)}

/* Search */
.hero{text-align:center;padding:64px 0 0}
.hero h1{font-size:4.5rem;line-height:1;letter-spacing:-.05em;font-weight:650;margin:0}
#ready-line{margin:18px 0 0;font-size:1.15rem;color:var(--faint);letter-spacing:-.01em}
.search-box{margin:40px auto 0;max-width:960px;min-height:76px;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 26px;border-radius:38px;background:#161618;border:1px solid var(--line-strong);box-shadow:0 0 0 8px rgba(255,255,255,.025),0 40px 100px rgba(0,0,0,.7);text-align:left}
.search-box:focus-within{border-color:rgba(255,95,46,.6)}
.search-box>svg{width:22px;height:22px;stroke:var(--faint);stroke-width:1.7;fill:none;stroke-linecap:round;flex-shrink:0}
.search-box input{flex:1;height:56px;border:0;border-radius:0;background:transparent;font-size:1.18rem;letter-spacing:-.01em;padding:0 6px;outline:none}.search-box input:focus-visible{outline:none}
.chip-select select{appearance:none;height:38px;max-width:210px;padding:0 32px 0 14px;border-radius:999px;border:1px solid var(--line-strong);background:rgba(255,255,255,.04) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a1a1a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center/13px no-repeat;color:var(--soft);font-size:.88rem;font-weight:500;text-overflow:ellipsis;cursor:pointer}
.chip-select select:hover{background-color:rgba(255,255,255,.09)}
.search-box .primary{height:56px;padding:0 28px;font-size:1rem}
.engine{margin:22px 0 0;font-size:.82rem;color:var(--faint);display:inline-flex;align-items:center;gap:8px}.engine::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.notice{max-width:960px;margin:24px auto 0;padding:.9rem 1.1rem;background:rgba(255,184,0,.08);border:1px solid rgba(255,184,0,.28);border-radius:14px;color:#ffd58a;font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}

/* Results: list beside the player */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.results{display:grid;grid-template-columns:420px minmax(0,1fr);gap:28px;align-items:start;margin-top:72px}
.result-list{padding:18px 10px 10px;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto}
.result-bar{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:0 12px 12px}.result-bar h2{font-size:1.25rem}#result-meta{font-size:.75rem;color:var(--muted);text-align:right}
.clip-list{display:flex;flex-direction:column;gap:4px}
.result-row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;width:100%;padding:12px;border-radius:16px;border:1px solid transparent;background:transparent;text-align:left}
.result-row:hover{background:rgba(255,255,255,.04)}
.thumb{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--raised)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb .badge{position:absolute;right:6px;bottom:6px;padding:2px 6px;border-radius:6px;background:rgba(10,10,11,.78);font-size:.68rem}
.result-row strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.88rem;line-height:1.35;font-weight:600}
.result-row .row-meta{display:block;margin-top:4px;font-size:.75rem;color:var(--faint)}
.result-row .row-quote{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:6px;font-size:.8rem;line-height:1.45;color:var(--muted)}

.searching{display:flex;align-items:center;justify-content:center;gap:10px;margin:48px 0 0;color:var(--muted);font-size:.95rem}.searching::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.25;transform:scale(.7)}}
.searching:not([hidden])~.results{opacity:.45;pointer-events:none}
.show-more{margin:8px 12px 4px}
.why{margin:0 12px 12px;font-size:.82rem;color:var(--muted)}.why summary{cursor:pointer;color:var(--faint);font-weight:550;padding:4px 0}.why summary:hover{color:var(--ink)}
.why h3{margin:14px 0 6px;font-size:.7rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.why ul{margin:0;padding-left:1.1rem;line-height:1.55;color:var(--soft)}.why .keywords{margin:8px 0 0}.why .keywords span{color:var(--faint);margin-right:4px}
.miss{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;width:100%;padding:8px;border:0;border-radius:12px;background:transparent;text-align:left;font-size:.8rem;color:var(--soft)}.miss:hover{background:rgba(255,255,255,.04)}
.miss .score{color:var(--accent-text);font-size:.75rem;padding-top:2px}.miss .row-meta{display:block;margin-top:2px;font-size:.72rem;color:var(--faint)}.miss .row-quote{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px;line-height:1.45;color:var(--muted)}.miss strong{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.example-queries .q{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}
.row-quote mark{background:rgba(255,95,46,.18);color:var(--ink);border-radius:3px;padding:0 2px}
.player{display:flex;flex-direction:column;gap:20px;min-width:0}
.stage{position:relative;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:#000;box-shadow:0 40px 100px rgba(0,0,0,.6)}
.stage img{width:100%;height:100%;object-fit:cover;display:block}.stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.5));pointer-events:none}.stage:has(iframe)::after{display:none}
.stage iframe{width:100%;height:100%;border:0;display:block}
.stage .top-match{position:absolute;z-index:1;top:18px;left:18px;padding:6px 12px;border-radius:999px;background:rgba(10,10,11,.6);backdrop-filter:blur(12px);font-size:.75rem;font-weight:550}
.stage .big-play{position:absolute;z-index:1;left:50%;top:50%;width:88px;height:88px;margin:-44px 0 0 -44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.16);backdrop-filter:blur(16px);color:#fff;display:flex;align-items:center;justify-content:center}.stage .big-play:hover{background:rgba(255,255,255,.26)}
.stage .big-play svg{width:32px;height:32px;fill:currentColor;margin-left:4px}

.range{padding:16px 20px}
.range-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:.82rem}.range-note{margin-left:auto;color:var(--faint);font-size:.75rem}
#range-time{color:var(--muted)}#range-time b{color:var(--ink);font-weight:500}
.play-toggle{width:40px;height:40px;flex-shrink:0;border-radius:50%;border:0;padding:0;background:var(--ink);color:var(--bg);display:flex;align-items:center;justify-content:center}.play-toggle svg{width:16px;height:16px;fill:currentColor}
.play-toggle .icon-pause,.play-toggle.playing .icon-play{display:none}.play-toggle.playing .icon-pause{display:inline}
.overview{position:relative;height:6px;border-radius:3px;background:rgba(255,255,255,.1)}
.overview-clip{position:absolute;top:-2px;height:10px;min-width:6px;border-radius:5px;background:var(--accent);box-shadow:0 0 14px rgba(255,95,46,.6)}
.playhead{position:absolute;top:-8px;width:2px;height:22px;margin-left:-1px;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.6)}
.overview-scale{display:flex;justify-content:space-between;margin-top:8px;font-size:.7rem;color:var(--faint)}
.trim{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:14px}
.trim-group{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--faint)}.trim-group>span:first-child{margin-right:4px}.trim-group .mono{font-size:.85rem;color:var(--ink);padding:0 6px}
.nudge{height:34px;padding:0 11px;border-radius:999px;border:1px solid var(--line-strong);background:rgba(255,255,255,.04);font-family:var(--mono);font-size:.75rem;color:var(--soft)}.nudge:hover{background:rgba(255,255,255,.1)}.nudge:disabled{cursor:default;opacity:.35}

.clip-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:4px 4px 0}
.clip-head h3{margin:0;font-size:1.6rem;line-height:1.2;font-weight:620;letter-spacing:-.03em}
#player-meta{margin:6px 0 0;font-size:.88rem;color:var(--faint)}#player-meta a{color:var(--soft);text-decoration:none}#player-meta a:hover{color:var(--accent-text)}
.clip-buttons{display:flex;gap:10px;flex-shrink:0}.clip-buttons .ghost{min-height:48px}
.status-line{margin:-6px 4px 0;font-size:.85rem;color:var(--muted)}.status-line a{color:var(--accent-text);margin-right:1rem;font-weight:550}

.transcript{padding:12px 8px}
.transcript-head{display:flex;justify-content:space-between;align-items:center;padding:4px 14px 10px}.transcript-head h4{margin:0;font-size:.8rem;font-weight:600;color:var(--faint);letter-spacing:.02em}.transcript-head span{font-size:.75rem;color:var(--faint)}
.line{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;width:100%;padding:8px 14px;border:0;border-radius:12px;background:transparent;text-align:left;font-size:1rem;line-height:1.5;color:var(--faint)}
.line:hover{background:rgba(255,255,255,.04)}.line .t{font-family:var(--mono);font-size:.75rem;padding-top:4px;color:var(--faint)}
.line.in{color:var(--soft)}.line.cur{background:rgba(255,95,46,.12);color:#fff}.line.cur .t{color:var(--accent-text)}
.transcript .small{padding:4px 14px 8px;margin:0}

/* Empty search */
.search-empty{max-width:660px;margin:72px auto 2rem;text-align:center;padding:0 12px}
.empty-art{display:block;width:158px;height:112px;margin:0 auto 22px;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.empty-rear{fill:#18181b;stroke:#3a3a3e}.empty-frame{fill:var(--panel);stroke:#6e6e73}.empty-play{fill:rgba(255,95,46,.15);stroke:var(--accent);stroke-width:1.8}.empty-track{stroke:#3a3a3e}.empty-progress{stroke:var(--accent);stroke-width:3}
.search-empty h2{font-size:1.6rem;font-weight:620;letter-spacing:-.025em;line-height:1.25}
.search-empty>p{white-space:pre-line;max-width:430px;margin:12px auto 0;color:var(--muted);font-size:.95rem;line-height:1.65;text-wrap:pretty}
.empty-examples{margin-top:26px}.empty-examples>span{display:block;color:var(--faint);font-size:.78rem;margin-bottom:12px}
.example-queries{display:flex;justify-content:center;flex-wrap:wrap;gap:9px}
.example-queries button{display:inline-flex;align-items:center;gap:9px;max-width:100%;min-height:44px;border-radius:999px;padding:0 16px;font-size:.84rem;font-weight:500;background:rgba(255,255,255,.04);border:1px solid var(--line-strong);color:var(--soft)}
.example-queries button svg{width:14px;height:14px;flex-shrink:0;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.example-queries button:hover{background:rgba(255,95,46,.1);border-color:rgba(255,95,46,.5);color:var(--ink)}
.empty-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.empty-actions:has(button:not([hidden])){margin-top:24px}

/* Saved clips */
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:48px 0 32px}.section-heading p{margin:0}
.clip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}
.clip{display:flex;flex-direction:column;gap:14px;min-width:0}
.clip-media{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--raised)}.clip-media img,.clip-media iframe{width:100%;height:100%;object-fit:cover;border:0;display:block}
.preview-button{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.16);backdrop-filter:blur(14px);color:#fff;display:flex;align-items:center;justify-content:center}.preview-button:hover{background:rgba(255,255,255,.26)}.preview-button svg{width:24px;height:24px;fill:currentColor;margin-left:3px}
.clip-range{position:absolute;right:12px;bottom:12px;padding:5px 9px;border-radius:8px;background:rgba(10,10,11,.75);font-family:var(--mono);font-size:.75rem}
.clip-content{display:flex;flex-direction:column;gap:8px}.clip-source{font-size:.8rem;color:var(--faint)}
.clip-title{font-size:1.05rem;line-height:1.35;font-weight:600;letter-spacing:-.015em;text-decoration:none}
.clip-summary{margin:0;font-size:.95rem;line-height:1.55;color:var(--soft)}.summary-box{min-height:3rem}.summary-box p{margin:0 0 .6rem}
.clip-transcript summary{font-size:.8rem;font-weight:500;color:var(--faint);cursor:pointer}.clip-transcript p{font-size:.88rem;margin:.6rem 0 0;line-height:1.6;color:var(--muted)}
.clip-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.clip-actions a{margin-left:auto;font-size:.82rem;color:var(--muted)}
.save-status,.export-status{font-size:.82rem;color:var(--muted);margin:0}.export-status a{color:var(--accent-text);margin-right:1rem}
#saved-more{margin-top:2rem}

/* Library */
.indexing-progress{padding:20px 24px;margin-bottom:28px}.indexing-progress strong{font-size:.95rem;font-weight:600}
.indexing-progress progress{display:block;width:100%;height:6px;margin:.8rem 0;border:0;border-radius:9px;overflow:hidden;accent-color:var(--accent)}.indexing-progress progress::-webkit-progress-bar{background:rgba(255,255,255,.1)}.indexing-progress progress::-webkit-progress-value{background:var(--accent)}
.indexing-progress p{font-size:.85rem;line-height:1.5;color:var(--muted);margin:0;overflow-wrap:anywhere}
.indexing-progress.done strong{color:var(--good)}.indexing-progress.done progress{accent-color:var(--good)}.indexing-progress.done progress::-webkit-progress-value{background:var(--good)}
.library-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:28px;align-items:start}
.library-layout aside{padding:22px}.library-layout aside h2{margin-bottom:.4rem}
.source{padding:14px 0;border-bottom:1px solid var(--line)}.source>strong{display:block;overflow-wrap:anywhere;font-weight:600}.source p{margin:.25rem 0 0;font-size:.82rem;color:var(--muted)}
.source-actions{display:flex;gap:6px;margin-top:.6rem}.source-actions button{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;font-size:.8rem;color:var(--soft)}.source-actions button:hover{background:rgba(255,255,255,.08)}.source-actions .remove-source:hover{color:var(--accent-text);border-color:rgba(255,95,46,.5)}
.source-feedback{margin-top:1rem;padding:.8rem;border:1px solid var(--line-strong);border-radius:12px;background:var(--raised)}.source-feedback p{font-size:.85rem;line-height:1.5;margin:0 0 .6rem;overflow-wrap:anywhere}.source-feedback:has(button[hidden]) p{margin-bottom:0}
.library-layout details{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}.library-layout summary{cursor:pointer;font-weight:600;font-size:.95rem}.source-picker>summary{color:var(--accent-text)}
.library-layout details>*:not(summary){margin-top:.8rem}
.source-choice{display:flex;gap:.5rem;align-items:center;justify-content:space-between}.source-choice strong{font-size:.88rem}.source-choice p{margin:.3rem 0 0;font-size:.78rem}
#history-picker>p{font-size:.8rem;line-height:1.5;margin:.7rem 0 1.2rem}#choose-playlist,#playlist-select{width:100%}#playlist-status{overflow-wrap:anywhere}
.stack{display:flex;flex-direction:column;gap:.55rem}.stack label{font-size:.85rem;font-weight:550;color:var(--soft)}#source-form{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.connection-row{display:flex;justify-content:space-between;gap:1rem;font-size:.88rem;padding:.35rem 0}.connection-row span{color:var(--faint)}.connection-row .ready{color:var(--good)}
#connection-status .secondary{margin-top:.6rem}#connect-youtube{margin-top:.8rem}
.link-button{border:0;background:none;padding:0;min-height:0;font-size:.85rem;color:var(--muted);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.link-button:hover{color:var(--accent-text)}
.list-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.video-row{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.video-row img{width:160px;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:var(--raised)}
.video-row h3{margin:0;font-size:.98rem;font-weight:600;line-height:1.35}.video-row h3 a{text-decoration:none}.video-row p{margin:.2rem 0 0;font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}
.video-state{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--muted);white-space:nowrap}.video-state::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--faint)}
.video-state.ready::before{background:var(--good)}.video-state.failed,.video-state.unavailable{color:#ffb39a}.video-state.failed::before,.video-state.unavailable::before{background:var(--accent)}
.video-state:is(.fetching,.transcribing,.indexing)::before{background:#ffd60a}
.video-state button{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;font-size:.78rem}
.video-state .bookmark{width:34px;padding:0;display:grid;place-items:center;border-color:transparent;color:var(--faint)}.video-state .bookmark svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.video-state .bookmark:hover{color:var(--ink);background:rgba(255,255,255,.08)}.video-state .bookmark[aria-pressed="true"]{color:var(--accent-text)}.video-state .bookmark[aria-pressed="true"] svg{fill:currentColor}
.saved-videos h2{font-size:1.05rem;margin:0 0 18px}.saved-videos #saved-clips-title{margin:56px 0 18px}
.video-state .ignore-video{border-color:transparent;color:var(--faint)}.video-state .ignore-video:hover{color:var(--accent-text);border-color:rgba(255,95,46,.5)}
@media(hover:hover){.video-row .ignore-video{opacity:0}.video-row:is(:hover,:focus-within) .ignore-video{opacity:1}}
.ignore-ask{color:var(--soft)}.video-state .ignore-cancel{width:34px;padding:0;border-color:transparent;color:var(--faint)}
.keyword-chip small{margin-right:6px;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}
.video-row.ignored{opacity:.55}.video-row.ignored img{filter:grayscale(1)}
.ignore-form{display:flex;gap:6px}.ignore-form input{flex:1;min-width:0}
.ignore-keywords{display:flex;flex-wrap:wrap;gap:6px}.ignore-keywords:empty,.ignored-list:empty{display:none}
.keyword-chip{display:inline-flex;align-items:center;gap:2px;padding:0 4px 0 12px;min-height:30px;border:1px solid var(--line-strong);border-radius:999px;font-size:.8rem;color:var(--soft)}
.keyword-chip button{width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1rem;line-height:1}.keyword-chip button:hover{color:var(--accent-text);background:rgba(255,255,255,.08)}
.ignored-list{max-height:320px;overflow-y:auto}.ignored-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:.55rem 0;border-top:1px solid var(--line)}
.ignored-row a{display:block;font-size:.82rem;font-weight:550;text-decoration:none;overflow-wrap:anywhere}.ignored-row p{margin:.15rem 0 0;font-size:.75rem;color:var(--faint)}
.ignored-row button{flex:none;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;font-size:.75rem;color:var(--soft)}.ignored-row button:hover{background:rgba(255,255,255,.08)}
.empty{text-align:center;padding:48px 0;color:var(--muted)}#load-more{margin-top:1.4rem}

footer{max-width:1440px;margin:0 auto;padding:40px 32px 48px;display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;color:var(--faint)}

@media(max-width:1100px){.results{grid-template-columns:340px minmax(0,1fr)}.result-row{grid-template-columns:110px minmax(0,1fr)}.clip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-layout{grid-template-columns:280px minmax(0,1fr)}.video-row{grid-template-columns:110px minmax(0,1fr)}.video-row img{width:110px}.video-state{grid-column:2}}
@media(max-width:860px){
  .topbar{height:auto;flex-wrap:wrap;padding:16px 16px 0;gap:12px}.topbar nav{order:3;width:100%;justify-content:space-between}.nav{flex:1;padding:0 8px}
  main{padding:0 16px 56px}.hero{padding-top:40px}.hero h1{font-size:2.8rem}#ready-line{font-size:1rem}
  .search-box{flex-wrap:wrap;border-radius:26px;padding:12px;gap:8px}.search-box>svg{display:none}.search-box input{flex-basis:100%;height:48px;padding:0 8px}.chip-select{flex:1;min-width:0}.chip-select select{width:100%;max-width:none}.search-box .primary{flex-basis:100%;height:50px}
  .results{grid-template-columns:1fr;margin-top:40px}.player{order:-1}.result-list{position:static;max-height:none}
  .clip-head{flex-direction:column;align-items:stretch}.clip-buttons>*{flex:1}.range-note{display:none}.trim{justify-content:center}
  .clip-grid{grid-template-columns:1fr}.library-layout{grid-template-columns:1fr}.section-heading{padding-top:32px;align-items:flex-start;flex-direction:column}
  footer{padding:32px 16px;flex-direction:column}
}
@media(max-width:480px){.index-status span{display:none}.index-status{padding:0 10px}.stage{border-radius:16px}.clip-head h3{font-size:1.3rem}.line{grid-template-columns:52px minmax(0,1fr)}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s ease-out,color .15s ease-out,border-color .15s ease-out}.result-row,.clip{animation:arrive .25s ease-out both}@keyframes arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.playhead,.overview-clip{transition:left .25s linear}}
@media(prefers-reduced-motion:reduce){.searching::before{animation:none}}

/* Key takeaways (player) */
.takeaways{padding:18px 20px}
.tk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.tk-head h4{margin:0;font-size:1rem;font-weight:650;letter-spacing:-.01em}.spark{color:var(--accent);margin-right:4px}
#tk-sub{margin:4px 0 0;font-size:.88rem;color:var(--muted);max-width:640px}
.tk-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.tk-list li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:14px;align-items:start;padding:12px;border-radius:14px;background:rgba(255,255,255,.025)}
.tk-n{width:26px;height:26px;border-radius:50%;background:rgba(255,95,46,.15);color:var(--accent-text);font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.tk-point{margin:0;font-size:.98rem;line-height:1.45;color:var(--ink);font-weight:550}
.tk-quote{margin:6px 0 0;font-size:.85rem;line-height:1.5;color:var(--faint);font-style:italic}
.tk-time{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--soft);font-size:.75rem;white-space:nowrap}.tk-time:hover{border-color:rgba(255,95,46,.6);color:var(--ink);background:rgba(255,95,46,.1)}
.dots{display:flex;gap:6px;padding:18px 4px}.dots span{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}

/* Hive Mind */
.mind{max-width:900px;margin:0 auto;padding:40px 0 0;min-height:calc(100vh - 200px);display:flex;flex-direction:column}
.mind-intro{text-align:center;padding:48px 0 32px}
.mind-mark{width:72px;height:72px}.mind-mark .hex,.ai-badge .hex{fill:none;stroke:var(--accent);stroke-width:1.9;stroke-linejoin:round}.mind-mark circle,.ai-badge circle{fill:var(--accent)}
.mind-intro h1{font-size:3.4rem;letter-spacing:-.045em;margin:18px 0 12px}
.mind-intro p{max-width:600px;margin:0 auto 26px;color:var(--muted);font-size:1.05rem}
.thread{display:flex;flex-direction:column;gap:22px;flex:1;padding-bottom:24px}
.msg.user{align-self:flex-end;max-width:78%;background:var(--raised);border:1px solid var(--line);border-radius:22px 22px 6px 22px;padding:12px 18px}.msg.user p{margin:0;line-height:1.5}
.msg.ai{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:20px 24px;scroll-margin-top:20px}
.ai-badge{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:650;color:var(--soft)}.ai-badge svg{width:20px;height:20px}.ai-meta{margin-left:auto;font-weight:500;color:var(--faint);font-size:.75rem}
.steps{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:.9rem}
.steps li{display:flex;align-items:center;gap:10px;color:var(--faint)}.steps li::before{content:"";width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--good)}
.steps li.now{color:var(--ink)}.steps li.now::before{background:var(--accent);animation:pulse 1.2s ease-in-out infinite}
.watching{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.watching img{width:112px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;opacity:.85;animation:arrive .4s ease-out both}
.answer{font-size:1.02rem;line-height:1.7;color:var(--soft)}.answer:not(:empty){margin-top:12px}
.answer p{margin:0 0 12px}.answer ul,.answer ol{margin:0 0 12px;padding-left:1.3rem}.answer li{margin:4px 0}.answer h4{margin:16px 0 6px;color:var(--ink);font-size:1.02rem}.answer strong{color:var(--ink)}
.cite{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px 0 3px;margin:0 2px;border-radius:999px;border:1px solid rgba(255,95,46,.4);background:rgba(255,95,46,.1);color:var(--accent-text);font-family:var(--mono);font-size:.72rem;vertical-align:1px;text-decoration:none;cursor:pointer}
.cite img{width:30px;height:18px;object-fit:cover;border-radius:999px}.cite:hover{background:rgba(255,95,46,.2);color:var(--ink)}
.cite.web{padding:0 9px;border-color:rgba(90,169,255,.4);background:rgba(90,169,255,.1);color:#8fc4ff;font-family:inherit}
.src-times .cite{padding:0 10px}
.mind-error{color:#ffb39a;margin:12px 0 0}
.sources{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.sources h5{margin:0 0 10px;font-size:.7rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.src-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.src-video{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:start}.src-video img{width:96px;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.src-video strong{display:block;font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.src-video span{display:block;font-size:.75rem;color:var(--faint)}.src-times{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.src-web{display:flex;flex-direction:column;gap:6px}.src-web a{display:flex;align-items:baseline;gap:10px;font-size:.88rem;color:var(--soft);text-decoration:none}.src-web a:hover{color:var(--ink)}.src-web .mono{color:#8fc4ff;font-size:.72rem}.src-web em{margin-left:auto;font-style:normal;font-size:.75rem;color:var(--faint)}
.composer{position:sticky;bottom:16px;display:flex;align-items:flex-end;gap:10px;padding:10px 10px 10px 20px;border-radius:28px;background:#161618;border:1px solid var(--line-strong);box-shadow:0 0 0 8px rgba(10,10,11,.9),0 30px 80px rgba(0,0,0,.6)}
.composer:focus-within{border-color:rgba(255,95,46,.6)}
.composer textarea{flex:1;resize:none;border:0;background:transparent;padding:12px 0;font-size:1.05rem;line-height:1.45;max-height:200px;outline:none}.composer textarea:focus-visible{outline:none}
.web-toggle{display:flex;align-items:center;gap:6px;height:48px;padding:0 6px;font-size:.85rem;color:var(--muted);cursor:pointer}.web-toggle input{accent-color:var(--accent);width:16px;height:16px}
.mind-foot{display:flex;justify-content:space-between;gap:12px;padding:20px 8px 0;font-size:.78rem;color:var(--faint)}
.link-button{border:0;background:none;padding:0;color:var(--accent-text);font-size:.8rem;cursor:pointer}

/* Digest */
.digest-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:48px 0 32px}
.eyebrow{margin:0 0 12px;font-size:.78rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text)}
.digest-hero h1{font-size:3.2rem;letter-spacing:-.045em;max-width:900px;margin:0}
.digest-overview{font-size:1.15rem;line-height:1.6;color:var(--soft);max-width:860px;margin:16px 0 10px}
.themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.theme{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px}
.theme-n{font-size:.78rem;color:var(--accent-text)}.theme h3{margin:8px 0 10px;font-size:1.35rem;letter-spacing:-.02em}.theme p{margin:0;color:var(--soft);line-height:1.6}
.refs{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.ref{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center;width:100%;padding:8px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02);text-align:left}.ref:hover{border-color:rgba(255,95,46,.5);background:rgba(255,95,46,.06)}
.ref img{width:88px;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.ref strong{display:block;font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ref em{font-style:normal;font-size:.75rem;color:var(--accent-text)}
.digest-h2{margin:48px 0 18px;font-size:1.5rem;letter-spacing:-.025em}
.standouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.standout{display:flex;flex-direction:column;gap:10px;padding:0;border:0;background:none;text-align:left}.standout strong{font-size:1rem;line-height:1.35}.standout>span:last-child{font-size:.9rem;color:var(--muted);line-height:1.5}
.standout-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--raised)}.standout-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease-out}.standout:hover .standout-thumb img{transform:scale(1.03)}
.standout-thumb span{position:absolute;right:10px;bottom:10px;padding:4px 10px;border-radius:999px;background:rgba(10,10,11,.8);font-size:.75rem}
.digest-videos{display:flex;flex-direction:column;gap:8px}
.dvideo{background:var(--panel);border:1px solid var(--line);border-radius:18px}
.dvideo summary{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:18px;align-items:center;padding:12px;cursor:pointer;list-style:none}.dvideo summary::-webkit-details-marker{display:none}
.dvideo summary img{width:160px;aspect-ratio:16/9;object-fit:cover;border-radius:10px}
.dv-text{display:flex;flex-direction:column;gap:3px;min-width:0}.dv-text strong{font-size:1rem}.dv-meta{font-size:.78rem;color:var(--faint)}.dv-sum{font-size:.9rem;color:var(--muted);line-height:1.45}
.dv-count{font-size:.78rem;color:var(--accent-text);padding-right:8px;white-space:nowrap}.dvideo[open] .dv-count{color:var(--faint)}
.dvideo .tk-list{margin:0;padding:0 12px 12px}

/* Moment dialog */
.moment-dialog{width:min(1100px,92vw);padding:0;border:1px solid var(--line-strong);border-radius:22px;background:var(--panel);color:var(--ink);overflow:hidden}
.moment-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(6px)}
.moment-frame{aspect-ratio:16/9;background:#000}.moment-frame iframe{width:100%;height:100%;border:0;display:block}
.moment-bar{display:flex;align-items:center;gap:16px;padding:14px 18px}.moment-bar>div{flex:1;min-width:0}.moment-bar strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moment-bar .mono{font-size:.78rem;color:var(--faint)}.moment-bar a{font-size:.85rem;color:var(--accent-text);text-decoration:none;white-space:nowrap}

@media(max-width:860px){.themes,.standouts,.src-videos{grid-template-columns:1fr}.digest-hero{flex-direction:column;align-items:flex-start;padding-top:32px}.digest-hero h1,.mind-intro h1{font-size:2.3rem}.dvideo summary{grid-template-columns:96px minmax(0,1fr)}.dvideo summary img{width:96px}.dv-count{display:none}.msg.user{max-width:92%}.tk-list li{grid-template-columns:26px minmax(0,1fr)}.tk-time{grid-column:2;justify-self:start}.tk-head{flex-direction:column}}

/* Results grouped by video: moment strip, unfolding moment list, sibling marks on the player timeline */
.result-group{border:1px solid transparent;border-radius:16px}
.result-group.on{background:rgba(255,95,46,.08);border-color:rgba(255,95,46,.55)}
.result-group.on .result-row,.result-group.on .result-row:hover{background:transparent}
.result-row .row-meta{display:flex;justify-content:space-between;gap:8px}
.row-count{color:var(--soft);white-space:nowrap}
.moment-strip{position:relative;display:block;height:3px;margin:12px 2px 2px;border-radius:2px;background:rgba(255,255,255,.12)}
.moment-tick{position:absolute;top:-3px;width:2px;height:9px;margin-left:-1px;border-radius:1px;background:rgba(255,255,255,.5)}
.moment-tick.best{background:var(--accent);box-shadow:0 0 6px rgba(255,95,46,.7)}
.moment-tick.now{width:3px;height:12px;top:-4.5px;margin-left:-1.5px;background:var(--accent);box-shadow:0 0 0 1px var(--ink)}
.result-group.open .row-quote{display:none}
.moment-list{display:flex;flex-direction:column;gap:2px;padding:2px 10px 10px}
.moment{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;min-height:36px;padding:0 8px 0 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.8rem;text-align:left}
.moment:hover{background:rgba(255,255,255,.05);color:var(--ink)}
.moment .tc{font-size:.72rem;color:var(--faint)}.moment .mq{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.moment.best .tc{color:var(--accent-text)}.moment.best .tc::after{content:" ●";font-size:.55rem;vertical-align:2px}
.moment[aria-current="true"]{background:rgba(255,95,46,.13);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent)}.moment[aria-current="true"] .tc{color:var(--accent-text)}
.overview-tick{position:absolute;top:-4px;width:2px;height:14px;margin-left:-1px;padding:0;border:0;border-radius:1px;background:rgba(255,95,46,.5);cursor:pointer}
.overview-tick::before{content:"";position:absolute;inset:-10px -7px}
.overview-tick:hover{background:var(--accent);box-shadow:0 0 8px rgba(255,95,46,.8)}
.overview-clip{z-index:1}.playhead{z-index:2}
@media(max-width:860px){.moment{min-height:44px}}
@media(prefers-reduced-motion:no-preference){.result-group.open .moment{animation:arrive .25s ease-out both}}
.result-bar{flex-wrap:wrap;row-gap:4px}#result-title{white-space:nowrap}

/* Where each result came from: icons with short labels under the thumbnail, labelled chips under the player title */
.row-media{display:flex;flex-direction:column;gap:9px;min-width:0}
.src-line{display:flex;flex-wrap:wrap;gap:5px 10px;padding:0 2px}
.src-item{display:inline-flex;align-items:center;gap:5px;max-width:100%;font-size:.7rem;font-weight:550;color:var(--faint);white-space:nowrap}.src-item span{overflow:hidden;text-overflow:ellipsis}
.src-item svg{width:11px;height:11px;flex-shrink:0}
.src-item svg,.src-chip svg{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.src-liked{stroke:#ff7d93}.src-liked path{fill:rgba(255,125,147,.3)}
.src-later{stroke:#ffd166}
.src-history{stroke:#7cc4ff}
.src-playlist,.src-video{stroke:#c7c7cc}
.player-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.player-sources:empty{display:none}
.src-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px 0 9px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);font-size:.76rem;font-weight:550;color:var(--soft)}
.src-chip svg{width:13px;height:13px}
.result-row .row-meta>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Morning recall: today's moment above the digest, and its settings in the Library panel */
.recall{margin-top:40px;padding:26px 28px;scroll-margin-top:16px}.recall .eyebrow{margin-bottom:16px}
.recall-hero{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:28px;align-items:center}
.recall-thumb{position:relative;display:block;padding:0;border:0;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:var(--raised)}.recall-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.recall-thumb span{position:absolute;right:10px;bottom:10px;padding:4px 10px;border-radius:999px;background:rgba(10,10,11,.8);font-size:.75rem;color:var(--accent-text)}
.recall-quote{margin:0;font-size:1.5rem;line-height:1.35;letter-spacing:-.02em;font-weight:620;text-wrap:balance}.recall-point{margin:12px 0 8px;color:var(--soft)}.recall-hero .small{margin:0}
.recall-also{margin:28px 0 12px;font-size:.7rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.recall .refs{margin-top:0}.recall .ref strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.recall-archive{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}.recall-archive summary{cursor:pointer;font-size:.85rem;color:var(--faint)}.recall-archive summary:hover{color:var(--ink)}
.recall-day{display:grid;grid-template-columns:60px minmax(0,1fr);gap:10px;width:100%;padding:8px 6px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:.85rem;text-align:left}.recall-day:hover,.recall-day.on{background:rgba(255,255,255,.05);color:var(--ink)}.recall-day span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.token-row{display:flex;gap:8px}.token-row input{flex:1;font-size:.75rem;text-overflow:ellipsis}
#recall-settings .web-toggle{height:auto;padding:0}#recall-settings select{width:100%}#recall-status{margin-bottom:0}
@media(max-width:860px){.recall{padding:20px}.recall-hero{grid-template-columns:1fr;gap:16px}.recall-quote{font-size:1.25rem}}
/* Items without video (X posts, web pages): a neutral panel and kind glyph replace the thumbnail; the text replaces the player. */
.src-x,.src-web{stroke:#c7c7cc}
.kind-glyph{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:.82rem;color:var(--soft)}.kind-glyph svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}
.thumb.item,.clip-media.item,.item-thumb{background:linear-gradient(135deg,var(--raised),var(--panel));border:1px solid var(--line)}
.item-thumb{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/9;border-radius:10px}.item-thumb .kind-glyph{font-size:1.4rem;color:var(--faint)}.item-thumb .kind-glyph svg{width:24px;height:24px}
.stage.item{aspect-ratio:auto;max-height:62vh;min-height:220px;overflow:auto;background:var(--panel);border:1px solid var(--line);box-shadow:none;padding:28px 32px}.stage.item::after{display:none}
.item-text p{margin:0 0 1em;font-size:1.12rem;line-height:1.65;color:var(--muted)}.item-text p:last-child{margin-bottom:0}
.item-text p.hot{color:var(--ink);background:rgba(255,95,46,.1);box-shadow:inset 3px 0 0 var(--accent);margin-left:-14px;padding:8px 12px 8px 14px;border-radius:0 10px 10px 0}
.player.text-item .range,.player.text-item .download-button,.player.text-item .tk-time,.player.text-item .transcript-head span{display:none}
.line.para{display:block;margin:0;cursor:default}.line.para:hover{background:transparent}
@media(max-width:480px){.stage.item{padding:20px}}

/* Debates: a list of disputed questions, and one debate as a spectrum between its two poles */
.amber{color:#ffd166}
.debate-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.debate-card{display:flex;flex-direction:column;gap:10px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);text-align:left}.debate-card:hover{border-color:var(--line-strong);background:var(--raised)}
.debate-card strong{font-size:1.25rem;letter-spacing:-.02em;line-height:1.3}.debate-q{color:var(--soft);line-height:1.5}
.debate-poles{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--muted)}.debate-line{flex:1;height:1px;background:var(--line-strong)}
.debate-stats{font-size:.82rem;color:var(--faint)}
.debate-empty{padding:28px;max-width:640px}.debate-empty p{margin:.5rem 0 0}
.debate{padding-top:32px}.debate-back{font-size:.9rem;margin-bottom:24px;min-height:32px}.debate h1{font-size:2.6rem;letter-spacing:-.04em;max-width:900px}#debate-meta{color:var(--muted)}
.spectrum-panel{padding:24px 28px;margin-top:24px}
.spectrum{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"a b" "t t";gap:10px 16px}
.pole{font-weight:620;font-size:.95rem;line-height:1.3}.pole-a{grid-area:a}.pole-b{grid-area:b;text-align:right}
.track{grid-area:t;position:relative;margin:0 28px;height:calc(var(--lanes,1)*66px + 14px)}
.track::before{content:"";position:absolute;left:-28px;right:-28px;top:40px;height:1px;background:var(--line-strong)}
.track::after{content:"";position:absolute;left:50%;top:32px;width:1px;height:17px;background:var(--line-strong)}
.creator{position:absolute;z-index:1;left:calc(var(--p)*100%);top:calc(var(--lane)*66px + 40px);width:var(--size);height:var(--size);transform:translate(-50%,-50%);padding:0;border-radius:50%;border:2px solid var(--panel);background:var(--raised);overflow:hidden;box-shadow:0 0 0 1px var(--line-strong)}
.creator:hover,.creator.active{box-shadow:0 0 0 2px var(--accent);z-index:2}
.creator-face{width:100%;height:100%;object-fit:cover}
.initials{display:grid;place-items:center;background:var(--raised);color:var(--soft);font-size:.72rem;font-weight:650;letter-spacing:.02em}
.spread{position:absolute;left:calc(var(--from)*100%);width:calc((var(--to) - var(--from))*100%);top:calc(var(--lane)*66px + 40px);height:1px;background:rgba(255,255,255,.35)}
.debate-when{display:flex;align-items:center;gap:14px;margin-top:18px;font-size:.85rem;color:var(--muted)}.debate-when input{flex:1;padding:0;accent-color:var(--soft);background:none;border:0}.debate-when output{min-width:72px;color:var(--soft)}
.creator-claims{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);min-height:64px}.creator-claims p{margin:0}
.cc-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.cc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.cc-claim{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;width:100%;padding:8px 10px;border:0;border-radius:10px;background:transparent;text-align:left;line-height:1.45}.cc-claim:hover{background:rgba(255,255,255,.05)}
.cc-claim .tc{font-size:.75rem;color:var(--faint);padding-top:2px}.cc-meta{display:block;font-size:.78rem;color:var(--faint);margin-top:2px}
.unplaced{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.unplaced-chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px 0 3px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(255,255,255,.03);font-size:.82rem;color:var(--soft)}.unplaced-chip.active{border-color:var(--accent)}
.chip-face{width:26px;height:26px;border-radius:50%;object-fit:cover}
.sides{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sides .digest-h2{margin-top:40px}
.side-list{display:flex;flex-direction:column;gap:10px}
.side-moment{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:start;width:100%;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--panel);text-align:left}.side-moment:hover{border-color:var(--line-strong);background:var(--raised)}
.side-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:10px;overflow:hidden}.side-thumb img{width:100%;height:100%;object-fit:cover}.side-thumb .mono{position:absolute;left:6px;bottom:6px;padding:2px 6px;border-radius:6px;background:rgba(10,10,11,.8);font-size:.72rem}
.side-text{display:flex;flex-direction:column;gap:4px;line-height:1.45}.side-text strong{font-size:.9rem}.side-quote{font-size:.85rem;color:var(--muted)}
.debate-chip{display:inline-flex;align-items:center;height:26px;margin:-4px 12px 12px 158px;padding:0 11px;border:1px solid rgba(255,95,46,.55);border-radius:999px;background:transparent;color:var(--accent-text);font-size:.75rem;font-weight:560}.debate-chip:hover{background:rgba(255,95,46,.1)}
@media(max-width:1100px){.debate-chip{margin-left:136px}}
#debates-refresh{white-space:nowrap;flex-shrink:0}
/* Six tabs no longer fit a phone's width: the tab bar scrolls sideways instead of squeezing. */
@media(max-width:480px){.topbar nav{overflow-x:auto;scrollbar-width:none;justify-content:flex-start}.topbar nav::-webkit-scrollbar{display:none}.nav{flex:0 0 auto;padding:0 12px;white-space:nowrap}}
@media(prefers-reduced-motion:no-preference){.creator,.spread{transition:left .45s ease,top .45s ease,width .45s ease,height .45s ease,box-shadow .15s ease-out}}
@media(max-width:860px){.debate-list,.sides{grid-template-columns:1fr}.debate h1{font-size:2rem}.debate-chip{margin-left:12px}}
@media(max-width:720px){
  .spectrum-panel{padding:20px 16px;overflow-x:auto}
  .spectrum{grid-template-columns:1fr;grid-template-areas:"a" "t" "b"}.pole-b{text-align:left}
  .track{margin:28px 0;height:480px;width:calc(var(--lanes,1)*66px + 14px)}
  .track::before{left:40px;right:auto;top:-28px;bottom:-28px;width:1px;height:auto}.track::after{left:32px;top:50%;width:17px;height:1px}
  .creator{left:calc(var(--lane)*66px + 40px);top:calc(var(--p)*100%)}
  .spread{left:calc(var(--lane)*66px + 40px);top:calc(var(--from)*100%);height:calc((var(--to) - var(--from))*100%);width:1px}
  .side-moment{grid-template-columns:96px minmax(0,1fr)}
}
/* Topic map */
#map-view{padding-top:28px}
.map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.map-head h1{margin:0}.map-head p{margin:.35rem 0 0}
.map-keys{display:flex;gap:8px;flex-shrink:0}
.map-key{display:inline-flex;align-items:center;gap:9px;height:36px;padding:0 14px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(255,255,255,.04);color:var(--soft);font-size:.85rem;font-weight:560}.map-key:hover{background:rgba(255,255,255,.09)}
.map-key i{width:18px;height:2px;border-radius:2px;background:var(--thread)}.map-key b{font-family:var(--mono);font-size:.76rem;font-weight:500;color:var(--faint)}
.map-key[aria-pressed="false"]{border-color:var(--line);color:var(--faint)}.map-key[aria-pressed="false"] i{background:var(--faint);opacity:.5}
.map-key.agr,.map-pair.agr{--thread:#d6e4ff}.map-key.dis,.map-pair.dis{--thread:var(--accent)}
.map-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin:-4px 0 14px}
.map-themes{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.82rem;color:var(--faint)}
.map-themes button{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:var(--hue);font-size:.82rem;font-weight:560;cursor:default}.map-themes button::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--hue)}
.map-brief{margin-bottom:16px;padding:18px 20px 20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,rgba(255,95,46,.07),rgba(255,255,255,.02) 45%)}
.map-brief .eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:8px;font-size:.7rem}.map-brief h2{font-size:1.45rem;letter-spacing:-.03em;text-wrap:balance}
.map-wait{margin:0;color:var(--muted);font-size:.95rem}
.map-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}
.map-card{display:flex;flex-direction:column;gap:7px;padding:13px 15px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(10,10,11,.45);text-align:left;color:var(--soft);font-size:.92rem;line-height:1.5}.map-card:hover{border-color:var(--line-strong);background:rgba(255,255,255,.05);color:var(--ink)}
.map-card strong{display:flex;align-items:center;gap:7px;font-size:.68rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--tone,var(--faint))}
.map-card em{margin-top:auto;font-style:normal;font-size:.74rem;color:var(--faint)}
.map-card.settled{--tone:#d6e4ff}.map-card.disputed{--tone:var(--accent-text);border-color:rgba(255,95,46,.25)}.map-card.check{--tone:#ffd58a}.map-card.circling{--tone:#c9b8ff}
.map-days{display:flex;align-items:flex-end;gap:5px;height:96px;margin-bottom:6px}
.map-day{flex:1 1 0;max-width:46px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;padding:0;border:0;background:none;color:var(--faint);font-size:.66rem}
.map-day b{font-family:var(--mono);font-weight:500}.map-day i{width:100%;height:calc(var(--h,10%)*.62);min-height:3px;border-radius:5px 5px 2px 2px;background:rgba(255,255,255,.14)}
.map-day:hover i{background:rgba(255,255,255,.3)}.map-day.on{color:var(--ink)}.map-day.on i{background:var(--accent)}
.map-sub{margin:16px 0 -2px;font-size:.68rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
@media(prefers-reduced-motion:no-preference){.map-wait{animation:map-wait 1.4s ease-in-out infinite}@keyframes map-wait{50%{opacity:.45}}}
.map-ask{position:absolute;left:50%;bottom:12px;z-index:1;display:flex;align-items:center;gap:6px;width:min(460px,calc(100% - 260px));padding:4px 4px 4px 18px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(19,19,21,.9);box-shadow:0 14px 40px rgba(0,0,0,.55);transform:translateX(-50%)}
.map-ask:focus-within{border-color:rgba(255,95,46,.6)}.map-ask input{flex:1;min-width:0;height:34px;padding:0;border:0;border-radius:0;background:transparent;font-size:.9rem;outline:none}
.map-ask .primary{min-height:34px;width:34px;padding:0;box-shadow:none;font-size:1rem}
.map-verdict ul{margin:0;padding:0;list-style:none}.map-verdict li{position:relative;padding:0 0 9px 16px;color:var(--ink);font-size:.92rem;line-height:1.45}.map-verdict li::before{content:"";position:absolute;left:1px;top:.55em;width:6px;height:6px;border-radius:50%;background:#d6e4ff}
.map-v{margin:8px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);color:var(--soft);font-size:.87rem;line-height:1.45}
.map-v strong{display:block;margin-bottom:2px;font-size:.66rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.map-v.dis{border-color:rgba(255,95,46,.25)}.map-v.dis strong{color:var(--accent-text)}.map-v.take{background:rgba(255,95,46,.07);border-color:rgba(255,95,46,.2);color:var(--ink)}
.map-steps{margin:16px 0 0;padding:0;list-style:none;color:var(--faint);font-size:.86rem;line-height:1.5}.map-steps li{padding:3px 0}.map-steps li:last-child{color:var(--soft)}
.map-answer{margin-top:14px;color:var(--soft);font-size:.92rem;line-height:1.6}.map-answer p{margin:0 0 .8em}.map-answer ul{margin:0 0 .8em;padding-left:1.1em}.map-answer li{margin-bottom:.35em}.map-answer strong{color:var(--ink);font-weight:620}
.map-cite{margin:0 2px;padding:1px 6px;border:0;border-radius:6px;background:rgba(255,95,46,.14);color:var(--accent-text);font-size:.72rem;white-space:nowrap}.map-cite:hover{background:var(--accent);color:var(--accent-ink)}
.map-time{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(0,1.4fr);align-items:center;gap:18px;margin-bottom:14px}
.map-play{min-width:84px}.map-play[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:transparent}.map-play[aria-pressed="true"]:hover{background:#ff7347}
.map-range input{display:block;width:100%;padding:0;border:0;background:none;accent-color:var(--accent)}
.map-caption{margin:0;min-height:2.6em;display:flex;align-items:center;gap:.6em;color:var(--soft);font-size:.95rem;line-height:1.4}.map-caption strong{color:var(--ink);font-weight:620;white-space:nowrap}
.map-shell{display:grid;grid-template-columns:minmax(0,1fr) 380px;height:min(76vh,900px);min-height:480px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);overflow:hidden}
.map-stage{position:relative;min-width:0;overflow:hidden}
.map-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.map-stage canvas.pointing{cursor:pointer}.map-stage canvas.dragging{cursor:grabbing}
.map-tip{position:absolute;left:0;top:0;z-index:2;width:max-content;max-width:min(300px,calc(100% - 16px));padding:10px 13px;border:1px solid var(--line-strong);border-radius:13px;background:rgba(28,28,31,.96);box-shadow:0 18px 50px rgba(0,0,0,.6);font-size:.84rem;line-height:1.4;pointer-events:none}
.map-tip strong{display:block;font-size:.88rem;font-weight:620}.map-tip strong+strong{margin-top:.3rem;padding-top:.3rem;border-top:1px solid var(--line)}.map-tip p{margin:.3rem 0 0;color:var(--soft)}
.map-tip-meta{display:block;margin-top:.35rem;color:var(--faint);font-size:.76rem}.map-tip-arc{color:var(--accent-text)}
.map-reset{position:absolute;left:14px;bottom:12px;min-height:36px;padding:0 14px;font-size:.82rem;background:rgba(19,19,21,.85)}
.map-empty{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:24px;color:var(--muted);text-align:center}
.map-ico{width:14px;height:14px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.map-pools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;color:var(--faint)}
.map-pool{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px 0 10px;border:1px solid var(--line);border-radius:999px;color:var(--faint);cursor:pointer}.map-pool:hover{border-color:var(--line-strong)}
.map-pool input{width:14px;height:14px;margin:0;padding:0;accent-color:var(--accent)}.map-pool b{font-family:var(--mono);font-size:.74rem;font-weight:500;color:var(--faint)}
.map-pool:has(input:checked){border-color:var(--line-strong);background:rgba(255,255,255,.05);color:var(--ink)}
.map-rail{min-width:0;padding:24px 18px 36px 22px;border-left:1px solid var(--line);background:linear-gradient(180deg,#19191c,var(--panel) 260px);overflow-y:auto;overscroll-behavior:contain;font-size:.9rem}
.map-rail h2{font-size:1.4rem;letter-spacing:-.03em;line-height:1.2;text-wrap:balance}
.map-rail .eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:9px;font-size:.7rem;color:var(--hue,var(--accent-text))}
.map-back{position:sticky;top:-24px;z-index:1;display:block;width:calc(100% + 40px);margin:-24px -18px 12px -22px;padding:14px 22px 10px;background:linear-gradient(#19191c 75%,transparent);font-size:.82rem;text-align:left}
.map-lede{margin:.7rem 0 0;color:var(--soft);font-size:.95rem;line-height:1.5}.map-lede strong{color:var(--ink);font-weight:620}
.map-meta{margin:.55rem 0 0;color:var(--faint);font-size:.8rem;line-height:1.5}
.map-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.map-stats div{padding:11px 12px 10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}
.map-stats b{display:block;font-size:1.35rem;font-weight:620;letter-spacing:-.03em;line-height:1.1}.map-stats span{font-size:.72rem;color:var(--faint)}
.map-stats .agr b{color:#d6e4ff}.map-stats .dis b{color:var(--accent-text)}
.map-share{display:flex;gap:2px;height:6px;margin-top:16px;border-radius:3px;overflow:hidden}.map-share i{flex:1 1 var(--w);background:var(--hue)}
.map-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;font-size:.76rem;line-height:1.3}.map-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--hue)}.map-legend b{font-family:var(--mono);font-weight:500;color:var(--faint)}
.map-sec{margin-top:30px}.map-sec h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:.7rem;font-weight:650;letter-spacing:.11em;text-transform:uppercase;color:var(--faint)}
.map-sec h3::after{content:"";flex:1;height:1px;background:var(--line)}
.map-pair{display:flex;flex-direction:column;margin-top:10px;padding:6px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:0 10px 30px rgba(0,0,0,.25)}
.map-pair.dis{border-color:rgba(255,95,46,.22)}
.map-vs{display:flex;align-items:center;gap:6px;margin:1px 8px 1px 14px;font-size:.64rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--thread)}
.map-vs::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--thread),transparent);opacity:.35}.map-pair.agr .map-vs{color:#aebbd4}
.map-say{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;width:100%;padding:8px;border:0;border-radius:11px;background:transparent;text-align:left;font-size:.87rem;line-height:1.45;color:var(--soft)}.map-say:hover{background:rgba(255,255,255,.06);color:var(--ink)}
.map-face{display:block;width:28px;height:28px;margin-top:2px;border-radius:50%;object-fit:cover;background:var(--raised);box-shadow:0 0 0 1px var(--line-strong)}
.map-say em{display:flex;align-items:center;gap:8px;margin-top:5px;font-style:normal;font-size:.75rem;color:var(--faint)}
.map-say em .mono{padding:1px 6px;border-radius:6px;background:rgba(255,255,255,.06);font-size:.7rem;color:var(--muted)}.map-say:hover em .mono{background:var(--accent);color:var(--accent-ink)}
.map-pair .link-button{align-self:flex-start;margin:2px 8px 6px 46px;text-align:left;line-height:1.4}
.map-about{display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px;margin:0;padding:7px 8px 3px;font-size:.74rem;font-weight:560;line-height:1.3}
.map-about strong{flex-basis:100%;font-size:.88rem;font-weight:620;color:var(--ink)}.map-about span{display:inline-flex;align-items:center;gap:5px;color:var(--hue,var(--muted))}.map-about i{font-style:normal;color:var(--faint)}
.map-about .map-ico{width:12px;height:12px}.map-echo small.map-about{padding:5px 0 0}
.map-insight{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;width:100%;padding:9px 10px;border:0;border-radius:11px;background:transparent;text-align:left;font-size:.86rem;line-height:1.45;color:var(--soft)}
button.map-insight:hover{background:rgba(255,255,255,.06);color:var(--ink)}.map-insight .map-ico{margin-top:3px;color:var(--accent-text)}
.map-insight strong{display:block;font-size:.68rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}
.map-more summary{width:max-content;margin-top:8px;padding:4px 2px;color:var(--accent-text);font-size:.8rem;cursor:pointer}
.map-echo{display:flex;align-items:baseline;justify-content:space-between;gap:14px;width:100%;padding:8px;border:0;border-radius:10px;background:transparent;text-align:left;font-size:.86rem;line-height:1.45;color:var(--soft)}.map-echo:hover{background:rgba(255,255,255,.06);color:var(--ink)}
.map-echo em{flex-shrink:0;font-style:normal;font-family:var(--mono);font-size:.74rem;color:var(--faint)}
.map-theme h4{display:flex;align-items:center;gap:7px;margin:18px 0 6px;font-size:.8rem;font-weight:620;color:var(--hue)}
.map-row{display:block;width:100%;margin-top:2px;padding:7px 10px 8px;border:0;border-radius:9px;background:linear-gradient(90deg,color-mix(in srgb,var(--hue,#8e8e93) 16%,transparent) var(--w,0%),transparent var(--w,0%));text-align:left;font-size:.88rem;line-height:1.35;color:var(--soft)}.map-row:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}
.map-row small{display:block;margin-top:2px;font-size:.75rem;color:var(--faint)}.map-row small b{font-weight:500;color:var(--accent-text)}
.map-video{display:grid;grid-template-columns:76px minmax(0,1fr);gap:11px;align-items:center;width:100%;padding:6px;border:0;border-radius:10px;background:transparent;text-align:left}.map-video:hover{background:rgba(255,255,255,.06)}
.map-video-row{display:flex;align-items:center;gap:4px}.map-video-row .map-video{flex:1;min-width:0}
.map-ignore{flex:none;min-height:30px;padding:0 10px;border:1px solid transparent;border-radius:999px;background:transparent;font-size:.74rem;color:var(--faint)}.map-ignore:hover,.map-ignore[data-armed]{color:var(--accent-text);border-color:rgba(255,95,46,.5)}
@media(hover:hover){.map-video-row .map-ignore{opacity:0}.map-video-row:is(:hover,:focus-within) .map-ignore{opacity:1}}
.map-ignore.all{display:block;margin:10px 0 0 auto;border-color:var(--line-strong)}.map-chips .map-ignore{border-color:var(--line-strong)}
.map-video img,.map-glyph{display:block;width:76px;aspect-ratio:16/9;border-radius:7px;object-fit:cover;background:var(--raised)}
.map-video strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.84rem;font-weight:560;line-height:1.35}.map-video em{display:block;margin-top:2px;font-style:normal;font-size:.74rem;color:var(--faint)}
.map-hero{position:relative;display:block;width:100%;aspect-ratio:16/9;margin-bottom:14px;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--raised)}.map-hero img{display:block;width:100%;height:100%;object-fit:cover}.map-hero:hover{border-color:var(--accent)}
.map-hero .mono{position:absolute;left:10px;bottom:10px;padding:4px 9px;border-radius:8px;background:rgba(10,10,11,.82);font-size:.76rem}
.map-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.map-chip{min-height:28px;padding:3px 11px;border:1px solid color-mix(in srgb,var(--hue,#8e8e93) 45%,transparent);border-radius:999px;background:transparent;color:var(--hue,var(--soft));font-size:.76rem;font-weight:560;text-align:left}.map-chip:hover{background:color-mix(in srgb,var(--hue,#8e8e93) 14%,transparent)}
.map-ends{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.map-ends span{color:var(--faint);font-size:1rem}
.map-end{padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;text-align:left}.map-end:hover{color:var(--accent-text)}
@media(max-width:1100px){.map-shell{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:860px){.map-ask{width:calc(100% - 28px)}.map-reset{bottom:60px}.map-head{flex-direction:column;align-items:flex-start;gap:14px}.map-time{grid-template-columns:auto 1fr;gap:12px}.map-caption{grid-column:1/-1;min-height:0}.map-shell{grid-template-columns:1fr;height:auto;border-radius:16px}.map-stage{height:62vh;min-height:360px}.map-rail{border-left:0;border-top:1px solid var(--line);overflow:visible}}

/* Topbar right: the extension download beside the library status */
.topbar-right{display:flex;align-items:center;gap:10px}
.topbar-link{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px 0 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.82rem;font-weight:560;text-decoration:none;white-space:nowrap}.topbar-link:hover{color:var(--ink);border-color:var(--line-strong)}
.topbar-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1180px){.topbar-link{font-size:0;padding:0 11px}.topbar-link svg{width:16px;height:16px}.nav{padding:0 12px}}

.debate-infographic{margin:22px 0 8px}.debate-infographic a{display:block;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--raised)}
.debate-infographic img{display:block;width:100%;height:auto}.debate-infographic a:hover{border-color:var(--line-strong)}
.debate-infographic.empty{min-height:0}.debate-infographic.empty a{display:none}
.debate-infographic figcaption{margin-top:8px;font-size:.82rem;color:var(--muted)}.debate-infographic figcaption:empty{display:none}

/* Owner sign-in (cloud installs): one card, one field */
.login-page{display:flex;align-items:center;justify-content:center;padding:24px 16px}
.login{width:min(420px,100%);padding:32px 28px 28px}.login .wordmark{margin-bottom:28px}.login h1{margin:0 0 6px;font-size:1.6rem;letter-spacing:-.02em}.login p.muted{margin:0 0 22px;line-height:1.5}
.login .primary{margin-top:6px;width:100%}.login-error{margin:0;color:#ffb3a0;font-size:.9rem}

/* Library → Sources: the companion extension's state */
.extension-status{display:flex;flex-direction:column;gap:6px}.extension-status .state{display:flex;align-items:center;gap:8px;font-weight:560}
.extension-status .dot{width:8px;height:8px;border-radius:50%;background:var(--faint)}.extension-status .dot.live{background:#30d158}.extension-status .dot.warn{background:#ffd166}
.extension-status .problem{color:#ffd58a}

/* What's on screen. One cool tone (--screen) marks everything found by picture; ember stays the selected clip and the primary action. (docs/visual-search-design.md) */
:root{--screen:#8fc4ff;--screen-soft:rgba(143,196,255,.5);--screen-dim:rgba(143,196,255,.12);--screen-line:rgba(143,196,255,.45)}
img.frame{display:block;object-fit:cover;background:var(--raised);border:1px solid var(--line);border-radius:6px;image-rendering:auto}
.kind-icon{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Search capsule: picture button, drag-over hint, the image chip that replaces the query */
.search-box{position:relative}
.pick-image{width:38px;height:38px;flex:none;padding:0;border-radius:50%;border:1px solid var(--line-strong);background:rgba(255,255,255,.04);color:var(--muted);display:grid;place-items:center}
.pick-image svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pick-image:hover{background:rgba(255,255,255,.09);color:var(--ink)}
.drop-hint{position:absolute;inset:0;display:none;align-items:center;justify-content:center;gap:10px;border-radius:inherit;background:#161618;color:var(--accent-text);font-weight:560;font-size:1.05rem;pointer-events:none}
.drop-hint svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.search-box.dropping{border-color:var(--accent);box-shadow:0 0 0 8px rgba(255,95,46,.14),0 40px 100px rgba(0,0,0,.7)}
.search-box.dropping .drop-hint{display:flex}
.image-chip{flex:1;display:flex;align-items:center;gap:12px;min-width:0;height:56px;padding:0 6px}
.image-chip img{width:64px;height:36px;border-radius:8px;border:1px solid var(--line-strong);flex:none;display:block;object-fit:cover;background:var(--raised)}
.image-chip .chip-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.image-chip .chip-text b{font-weight:560;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-chip .chip-text span{font-size:.75rem;color:var(--faint)}
.image-chip .clear{width:30px;height:30px;flex:none;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.06);color:var(--muted);display:grid;place-items:center}.image-chip .clear:hover{background:rgba(255,255,255,.12);color:var(--ink)}
.image-chip .clear svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.search-box.has-image>svg{display:none}
/* The picture button takes room from the query: the scope chip sizes to the chosen option, not its longest one, so the placeholder fits. */
.search-box .chip-select select{field-sizing:content}
.example-queries button .kind-icon{stroke:var(--screen)}

/* Frame proof: a 48×27 frame beside a short label, under a quote or a claim */
.frame-proof{display:inline-flex;align-items:center;gap:8px;margin-top:7px;font-size:.72rem;font-weight:550;color:var(--screen);white-space:nowrap}
.frame-proof img{width:48px;height:27px;border-radius:5px}.frame-proof i{font-style:normal;color:var(--faint);font-weight:500}

/* Results found by picture: a frame in the thumbnail slot; "On screen" strip above the list */
.thumb img.frame{width:100%;height:100%;border:0;border-radius:0}
.thumb.screen::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--screen-line);pointer-events:none}
.row-kind{display:block;margin-top:6px;font-size:.78rem;color:var(--screen);font-weight:550}.row-kind i{font-style:normal;color:var(--faint);font-weight:500}
.result-group.open .frame-proof{display:none}
.moment.has-frame{grid-template-columns:50px 48px minmax(0,1fr);gap:0 10px}.moment.has-frame img{width:48px;height:27px;border-radius:5px}
.onscreen{margin:0 12px 14px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.onscreen-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:9px;font-size:.75rem;color:var(--faint)}.onscreen-head strong{color:var(--screen);font-weight:600;font-size:.8rem}
.onscreen-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.onscreen-tile{display:block;padding:0;border:0;background:none;text-align:left;border-radius:8px;min-width:0}
.onscreen-tile .thumb{display:block;border-radius:8px;border:1px solid var(--line)}
.onscreen-tile .cap{display:block;margin-top:5px;font-size:.7rem;line-height:1.3;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.onscreen-tile .cap i{font-style:normal;color:var(--faint)}
.onscreen-tile:hover .thumb{border-color:var(--screen-line)}.onscreen-tile[aria-current="true"] .thumb{box-shadow:0 0 0 2px var(--accent)}
.onscreen-tile.more .thumb{display:grid;place-items:center;background:rgba(255,255,255,.04);color:var(--soft);font-size:.85rem;font-weight:560}
.onscreen-tile .badge{font-family:var(--mono)}

/* Player: the frame inset on the stage, runs on the full-video timeline, chapter chips, the frame card */
.frame-inset{position:absolute;z-index:1;left:18px;bottom:18px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:10px;overflow:hidden;background:#000;box-shadow:0 10px 30px rgba(0,0,0,.6);text-align:left;cursor:pointer}
.frame-inset img{display:block;width:240px;height:135px;object-fit:cover}
.frame-inset span{position:absolute;left:0;right:0;bottom:0;padding:16px 9px 6px;background:linear-gradient(transparent,rgba(10,10,11,.9));font-size:.72rem;font-weight:550;color:var(--ink)}.frame-inset span i{font-style:normal;color:var(--screen)}
.frame-inset:hover{border-color:var(--screen)}.frame-inset em{font-style:normal}
.overview{overflow:visible}
.overview-run{position:absolute;top:0;height:6px;margin:0;padding:0;border:0;border-radius:3px;background:var(--screen-soft);cursor:pointer}
.overview-run::before{content:"";position:absolute;inset:-10px 0}
.overview-run:hover,.overview-run.lit{background:var(--screen)}
.chapters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px}
.chapters>span:first-child{font-size:.72rem;color:var(--faint);margin-right:6px}
.chapter-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px 0 9px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--soft);font-size:.75rem;font-weight:550}
.chapter-chip .kind-icon{color:var(--screen)}.chapter-chip .mono{color:var(--faint);font-size:.72rem}
.chapter-chip:hover,.chapter-chip.lit{border-color:var(--screen-line);background:var(--screen-dim);color:var(--ink)}
.chapter-chip.more{color:var(--faint)}
.frame-card{position:absolute;z-index:3;bottom:calc(100% + 12px);left:0;width:176px;padding:7px;border:1px solid var(--line-strong);border-radius:12px;background:rgba(28,28,31,.97);box-shadow:0 14px 40px rgba(0,0,0,.55);pointer-events:none}
.frame-card img{width:160px;height:90px;border-radius:7px}.frame-card>span{display:flex;justify-content:space-between;gap:8px;margin:7px 2px 1px;font-size:.72rem;color:var(--soft)}.frame-card span .mono{color:var(--faint)}
.transcript .no-subs{padding:4px 14px 8px;margin:0;color:var(--muted);font-size:.9rem}
.player.no-subs .takeaways,.player.no-subs .transcript-head span{display:none}

/* Library: a video row searchable only by what's on screen; the frame line under indexing progress */
.video-state.no-subtitles.screen::before{background:var(--screen)}.video-state.no-subtitles.screen-pending::before{background:#ffd60a}
.indexing-progress #indexing-visual{margin-top:4px}

/* Digest, recall and debates: the moment's frame in place of the thumbnail, or inset at 1× on a large thumbnail */
.standout-thumb .frame-inset{left:10px;right:auto;bottom:10px;padding:0;border-radius:8px;background:#000;cursor:inherit}.standout-thumb .frame-inset img,.standout:hover .standout-thumb .frame-inset img{width:160px;height:90px;transform:none}
.standout-thumb img.frame-full{display:none}
.on-screen{color:var(--screen);font-weight:550}.on-screen i{font-style:normal;color:var(--faint);font-weight:500}
.cc-claim .frame-proof{display:flex;width:max-content}

@media(max-width:860px){.frame-inset{left:12px;bottom:12px}.frame-inset img{width:160px;height:90px}.image-chip{flex-basis:100%;height:48px}.frame-card{width:auto}}
/* On a phone the stage is about 340 px wide: a 160 px inset would sit under the centred play button, so it steps down to 0.7×. */
@media(max-width:520px){.stage .frame-inset img{width:112px;height:63px}.stage .frame-inset span{padding:12px 7px 4px;font-size:.66rem}.stage .frame-inset em{display:none}.image-chip .chip-text span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:480px){.standout-thumb>img:first-child,.standout-thumb .frame-inset{display:none}.standout-thumb img.frame-full{display:block}}
@media(prefers-reduced-motion:no-preference){.frame-card{animation:arrive .14s ease-out both}.overview-run,.chapter-chip,.frame-inset{transition:background-color .15s ease-out,border-color .15s ease-out}}
