/* Contents stays a narrow set of section marks until hovered, focused or pinned. */
.reader-toc-dock { position:absolute; z-index:85; left:14px; top:clamp(88px, 25%, 220px); width:34px; max-height:min(35%, 340px); padding:4px; border:1px solid transparent; border-radius:10px; color:var(--genio-muted); transition:width .16s ease, background .16s ease; }
.reader-toc-dock[hidden] { display:none; }
.reader-toc-dock.is-expanded { width:min(280px, calc(100% - 44px)); border-color:var(--genio-line); background:var(--bg-reader-content); box-shadow:var(--genio-shadow-float); }
.reader-toc-dock > .icon-btn { display:none !important; }
.reader-toc-dock .reader-toc-panel { position:static; display:block; width:100%; max-height:min(28vh, 280px); padding:0; overflow:auto; scrollbar-width:none; border:0; border-radius:0; background:transparent; box-shadow:none; }
.reader-toc-dock .reader-toc-panel[hidden] { display:none; }
.reader-toc-dock .reader-toc-item { position:relative; display:flex; align-items:center; gap:12px; width:100%; min-height:28px; padding:3px 5px; border:0; background:transparent; color:var(--genio-muted); text-align:left; font:12px/1.4 var(--font-family-sans); cursor:pointer; }
.reader-toc-dock .reader-toc-item::before { content:""; z-index:1; flex:0 0 7px; width:7px; height:7px; box-sizing:border-box; border:1px solid currentColor; border-radius:50%; background:var(--bg-reader-content); opacity:.65; }
.reader-toc-dock .reader-toc-item::after { content:""; position:absolute; top:0; bottom:0; left:8px; width:1px; background:color-mix(in srgb, var(--genio-muted) 40%, transparent); }
.reader-toc-dock .reader-toc-item:first-child::after { top:50%; }
.reader-toc-dock .reader-toc-item:last-child::after { bottom:50%; }
.reader-toc-dock .reader-toc-item span { display:none; }
.reader-toc-dock.is-expanded .reader-toc-item span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.reader-toc-dock .reader-toc-item.active, .reader-toc-dock .reader-toc-item:hover { color:var(--genio-accent); background:transparent; }
.reader-toc-dock .reader-toc-item.active::before { opacity:1; background:var(--genio-accent); border-color:var(--genio-accent); }
.reader-toc-dock button:focus-visible { outline:2px solid var(--genio-accent); outline-offset:1px; border-radius:4px; }
.reader-toc-dock.reader-toc-inline { position:absolute; top:74px; left:0; width:22px; max-height:min(30vh, 280px); padding:0; border:0; background:color-mix(in srgb, var(--bg-reader-content) 85%, transparent); box-shadow:none; }
.reader-toc-inline.is-expanded { width:min(280px, calc(100% - 24px)); padding:4px; border:1px solid var(--genio-line); background:var(--bg-reader-content); box-shadow:var(--genio-shadow-float); }

/* Generated supplements live outside #articleContent, so source operations exclude them. */
.reader-supplements { margin:26px auto 0; max-width:none; font:14px/1.6 var(--font-family-sans, system-ui); color:var(--genio-ink, var(--reader-text)); }
.reader-supplements[hidden] { display:none; }
.reader-supplements-heading { display:flex; gap:9px; align-items:flex-start; padding:12px 14px; border:1px solid var(--genio-line, var(--reader-border)); border-bottom:0; border-radius:10px 10px 0 0; background:color-mix(in srgb, var(--genio-accent, var(--reader-accent)) 7%, var(--bg-reader-content, var(--reader-bg))); }
.reader-supplements-heading strong { display:block; font-size:12px; font-weight:650; }
.reader-supplements-heading small { display:block; color:var(--genio-muted, var(--reader-muted)); font-size:11px; }
.reader-supplement { margin:0; border:1px solid var(--genio-line, var(--reader-border)); border-bottom:0; background:var(--bg-reader-content, var(--reader-bg)); }
.reader-supplement:last-child { border-bottom:1px solid var(--genio-line, var(--reader-border)); border-radius:0 0 10px 10px; }
.reader-supplement summary { display:flex; align-items:center; gap:8px; padding:12px 14px; cursor:pointer; list-style:none; }
.reader-supplement summary::-webkit-details-marker { display:none; }
.reader-supplement summary::before { content:"›"; font-size:18px; line-height:1; color:var(--genio-muted, var(--reader-muted)); }
.reader-supplement[open] summary::before { transform:rotate(90deg); }
.reader-supplement-title { flex:1; min-width:0; font-size:13px; font-weight:600; }
.reader-supplement-scope { color:var(--genio-muted, var(--reader-muted)); font-size:10px; }
.reader-supplement-delete { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:5px; background:transparent; color:var(--genio-muted, var(--reader-muted)); cursor:pointer; font:18px/1 system-ui; }
.reader-supplement-delete:hover { color:var(--genio-danger, #b3261e); background:color-mix(in srgb, #b3261e 8%, transparent); }
.reader-supplement-body { padding:0 18px 16px; overflow-wrap:anywhere; }
.reader-supplement-body > :first-child { margin-top:0; }
.reader-supplement-body > :last-child { margin-bottom:0; }
.reader-supplement-body h1, .reader-supplement-body h2, .reader-supplement-body h3 { font-size:1.05em; font-weight:650; }
.reader-supplement-body pre { padding:10px; overflow:auto; background:var(--genio-well, var(--reader-alt)); }
.reader-supplement-body a { color:var(--genio-accent, var(--reader-accent)); }
.reader-supplement-status { display:flex; align-items:center; gap:10px; margin:0; padding:14px; border:1px solid var(--genio-line, var(--reader-border)); border-radius:0 0 10px 10px; color:var(--genio-muted, var(--reader-muted)); font-size:12px; }
.reader-supplement-status button { margin-left:auto; padding:4px 8px; border:1px solid var(--genio-line, var(--reader-border)); border-radius:5px; background:transparent; color:inherit; cursor:pointer; }
@media(max-width:760px) { .reader-toc-dock { left:2px; top:100px; width:22px; padding:2px; } .reader-supplements-heading { padding:10px; } .reader-supplement summary { padding:10px; } }
@media(prefers-reduced-motion:reduce) { .reader-toc-dock { transition:none; } }
/* Source citations use the same compact treatment in chat and generated results. */
.genio-citation { font: 600 .76em/1.2 system-ui, sans-serif; padding: .15em .35em; border-radius: .3em; background: color-mix(in srgb, currentColor 9%, transparent); text-decoration: none; white-space: nowrap; }
.genio-citation-sources { margin-top: 1rem; font: .8rem/1.5 system-ui, sans-serif; color: var(--genio-muted, #6c7885); }
.genio-citation-sources > summary { cursor: pointer; width: fit-content; min-height: 32px; align-content: center; }
.genio-citation-sources ol { margin: .5rem 0; padding-left: 1.6rem; }
.genio-citation-sources li { margin: .65rem 0; padding-left: .2rem; }
.genio-citation-sources blockquote { border-left: 2px solid currentColor; margin: .35rem 0; padding: .25rem .7rem; color: var(--genio-ink, inherit); font: inherit; overflow-wrap: anywhere; }
.genio-citation-sources a { color: inherit; overflow-wrap: anywhere; }
.genio-citation-sources small { font-size: .72rem; }
.genio-citation-original { display: block; width: fit-content; margin-top: .3rem; font-size: .75rem; }
::highlight(genio-citation) { background: #ffe082; color: #17202b; }
.citation-passage-focus, .genio-transcript-cue.is-cited { background: color-mix(in srgb, #eeb947 25%, transparent); border-radius: 4px; }
.citation-copy-notice { font: .8rem/1.5 system-ui, sans-serif; color: var(--genio-muted, #6c7885); }
.video-note-composer { display: flex; flex-wrap: wrap; gap: .6rem; padding: .85rem; margin: .65rem 0; background: var(--genio-well, #f5f6f8); border: 1px solid var(--genio-line, #dce1e6); border-radius: 10px; font: .85rem/1.4 system-ui, sans-serif; }
.video-note-composer label { display: flex; align-items: center; gap: .6rem; width: 100%; }
.video-note-composer input { width: 6rem; padding: .5rem; border: 1px solid var(--genio-line, #dce1e6); border-radius: 6px; background: var(--genio-surface, #fff); color: inherit; font: inherit; }
.video-note-composer textarea { flex-basis: 100%; width: 100%; min-height: 96px; resize: vertical; box-sizing: border-box; padding: .65rem; border: 1px solid var(--genio-line, #dce1e6); border-radius: 6px; background: var(--genio-surface, #fff); color: inherit; font: inherit; }
.video-note-composer button { min-height: 40px; padding: .45rem .8rem; border: 1px solid var(--genio-line, #dce1e6); border-radius: 6px; background: var(--genio-surface, #fff); color: inherit; font: inherit; cursor: pointer; }
.video-note-composer button[type="submit"] { background: var(--genio-ink, #17202b); color: var(--genio-surface, #fff); }
.video-note-composer small { flex-basis: 100%; }
.video-note-composer small:empty { display: none; }
.annotation-video-time { font-size: .8rem; color: var(--genio-muted, #6c7885); grid-column: 1 / -1; }
.annotation-video-quote { font-style: italic; }
@media (max-width: 900px) {
  .video-note-composer input, .video-note-composer textarea { font-size: 16px; }
  .video-note-composer button { min-height: 44px; }
}
