:root{
  --pv-w:100vw;--pv-h:100dvh;--pv-left:0px;--pv-top:0px;--pv-keyboard:0px;
  --bg:#0b0d12;--surface:#121722;--surface-2:#171d29;--line:rgba(255,255,255,.11);
  --text:#f3f5f8;--muted:#9aa6b6;--accent:#b9d7ff;--accent-2:#7eaef0;
  --reader-font:19px;--reader-line:1.7;--reader-width:760px;
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{position:fixed;inset:0}
button,input,select{font:inherit}
button{cursor:pointer}
.prime-viewport{position:fixed;left:var(--pv-left);top:var(--pv-top);width:var(--pv-w);height:var(--pv-h);min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(circle at 50% -20%,#1a2840 0,transparent 44%),var(--bg);contain:layout paint;isolation:isolate}
.prime-top-shell{position:relative;z-index:30;padding-top:env(safe-area-inset-top);background:rgba(10,13,18,.86);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--line)}
.reader-header{min-height:62px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:10px clamp(12px,3vw,28px)}
.brand-button{border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:10px;font-size:.84rem;letter-spacing:.08em;padding:6px;border-radius:12px}.brand-button:focus-visible,.icon-button:focus-visible,.prime-command-pill button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.brand-logo-shell{position:relative;display:grid;place-items:center;width:48px;height:38px;overflow:hidden;filter:drop-shadow(0 6px 14px rgba(0,0,0,.28))}
.brand-logo{display:block;max-width:46px;max-height:36px;object-fit:contain}
.brand-shine{position:absolute;inset:-25% -75%;pointer-events:none;background:linear-gradient(105deg,transparent 43%,rgba(255,255,255,.12) 47%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.16) 53%,transparent 57%);transform:translateX(-70%) skewX(-12deg);mix-blend-mode:screen;animation:primeBrandShine 3.1s cubic-bezier(.2,.7,.2,1) infinite}
@keyframes primeBrandShine{0%,57%{transform:translateX(-72%) skewX(-12deg);opacity:0}62%{opacity:1}78%{transform:translateX(72%) skewX(-12deg);opacity:1}84%,100%{transform:translateX(72%) skewX(-12deg);opacity:0}}
.brand-title{white-space:nowrap}
.document-meta{min-width:0;display:grid;gap:2px;text-align:center}.document-meta strong{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-meta span{font-size:.68rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-actions{display:flex;align-items:center;gap:10px}.visit-badge{display:inline-flex;align-items:center;gap:.34rem;padding:.28rem .58rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.68rem;letter-spacing:.08em;font-variant-numeric:tabular-nums;background:rgba(255,255,255,.035)}.visit-badge span{color:var(--accent)}.visit-badge b{color:var(--text);font-weight:800}.progress-label{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.icon-button,.secondary-button,.close-button{border:1px solid var(--line);background:rgba(255,255,255,.055);color:var(--text);border-radius:12px;padding:8px 11px}
.progress-track{height:2px;background:rgba(255,255,255,.04);overflow:hidden}.progress-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent-2),var(--accent));transition:width .12s linear}
.prime-scroll{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-gutter:stable;scroll-behavior:smooth}
.prime-page{min-height:100%;padding:clamp(22px,5vw,64px) clamp(14px,4vw,48px) 120px}
.empty-state{width:min(720px,100%);min-height:calc(var(--pv-h) - 210px);margin:auto;display:grid;place-items:center;align-content:center;text-align:center;gap:14px;padding:30px}
.empty-glyph{width:74px;height:74px;display:grid;place-items:center;border:1px solid rgba(185,215,255,.34);border-radius:24px;font-size:2rem;color:var(--accent);box-shadow:inset 0 0 50px rgba(126,174,240,.12),0 28px 70px rgba(0,0,0,.26)}
.eyebrow{margin:0;color:var(--accent);font-weight:800;font-size:.66rem;letter-spacing:.17em}.empty-state h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(2.35rem,7vw,5rem);line-height:.98}.empty-state>p:not(.eyebrow){max-width:620px;margin:0;color:var(--muted);line-height:1.6}.empty-state small{color:var(--muted)}
.primary-button{border:0;background:var(--text);color:#0b0d12;border-radius:999px;padding:13px 20px;font-weight:850}
.reader-document{width:min(var(--reader-width),100%);margin:0 auto;font-family:Georgia,"Times New Roman",serif;font-size:var(--reader-font);line-height:var(--reader-line);letter-spacing:.004em}
.reader-document h1,.reader-document h2,.reader-document h3,.reader-document h4{font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.15;scroll-margin-top:100px}.reader-document h1{font-size:2.4em;margin:1.2em 0 .55em}.reader-document h2{font-size:1.55em;margin:1.8em 0 .6em}.reader-document h3{font-size:1.15em;margin:1.6em 0 .5em}.reader-document p{margin:0 0 1.05em;text-wrap:pretty}.reader-document blockquote{border-left:2px solid var(--accent-2);margin:1.4em 0;padding:.1em 0 .1em 1.1em;color:var(--muted)}.reader-document img{max-width:100%;height:auto;border-radius:12px}.reader-document a{color:var(--accent)}
.reader-section{padding:0 0 1.5rem;margin:0 0 1.5rem;border-bottom:1px solid rgba(255,255,255,.055);scroll-margin-top:88px}.reader-section:last-child{border-bottom:0}.pdf-page-label{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--muted);font-size:.66rem;letter-spacing:.13em;font-weight:800;margin-bottom:18px}.reader-block{scroll-margin-top:96px;transition:background .2s,border-color .2s,box-shadow .2s}.reader-block[data-speaking="true"]{background:rgba(126,174,240,.09);box-shadow:0 0 0 7px rgba(126,174,240,.09);border-radius:4px}.reader-block .reader-word[data-active="true"]{background:var(--accent);color:#07101d;border-radius:4px;padding:0 .05em}
.prime-command-pill{position:relative;z-index:35;justify-self:center;align-self:end;display:flex;gap:4px;width:min(96vw,620px);margin:7px auto max(8px,env(safe-area-inset-bottom));padding:6px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(12,15,21,.94);box-shadow:0 18px 55px rgba(0,0,0,.34);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.prime-command-pill button{min-width:0;min-height:48px;display:grid;grid-template-rows:auto auto;place-items:center;gap:2px;flex:1;border:0;border-radius:999px;background:transparent;color:var(--muted);padding:6px 8px}.prime-command-pill button span{font-size:1rem;color:var(--text)}.prime-command-pill button small{font-size:.64rem;font-weight:800}.prime-command-pill button:hover,.prime-command-pill button[aria-pressed="true"]{background:rgba(255,255,255,.09);color:var(--text)}
.narrator-dock{position:absolute;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:34;width:min(94vw,620px);display:flex;align-items:center;gap:10px;padding:9px 10px 9px 14px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(17,22,31,.95);backdrop-filter:blur(22px);box-shadow:0 18px 50px rgba(0,0,0,.3)}.narrator-state{min-width:0;flex:1;display:flex;align-items:center;gap:10px}.narrator-state div{min-width:0;display:grid}.narrator-state strong{font-size:.78rem}.narrator-state small{color:var(--muted);font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neural-dot{width:9px;height:9px;border-radius:50%;background:#7ee3a8;box-shadow:0 0 12px rgba(126,227,168,.75)}.narrator-dock button{border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--text);padding:7px 10px;font-size:.72rem;font-weight:750}
.prime-overlay{position:absolute;inset:0;z-index:80;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,min(540px,100%));overflow:hidden}.prime-overlay[hidden],.pdf-overlay[hidden],.narrator-dock[hidden]{display:none!important}.overlay-scrim{grid-column:1/-1;grid-row:1;width:100%;height:100%;border:0;background:rgba(0,0,0,.56);backdrop-filter:blur(5px)}.side-drawer{position:relative;z-index:2;grid-column:2;grid-row:1;height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);background:#0f131b;border-left:1px solid var(--line);box-shadow:-24px 0 70px rgba(0,0,0,.42);padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))}
.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.drawer-header h2{margin:4px 0 0;font-size:1.45rem}.close-button{font-size:1.25rem;width:38px;height:38px;padding:0}.drawer-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:16px 0;padding:4px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.drawer-tabs button{border:0;border-radius:10px;background:transparent;color:var(--muted);padding:9px 6px;font-weight:800;font-size:.72rem}.drawer-tabs button.active{background:var(--text);color:#0b0d12}.drawer-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:3px}.drawer-panel{display:none}.drawer-panel.active{display:block}.nav-list{display:grid;gap:7px}.nav-item{width:100%;text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text);border-radius:14px;padding:11px 12px}.nav-item strong{display:block;font-size:.8rem}.nav-item small{display:block;color:var(--muted);margin-top:4px;line-height:1.4}.nav-empty{color:var(--muted);font-size:.8rem;padding:12px 2px}.search-box,.setting{display:grid;gap:8px}.search-box span,.setting>span,.setting legend{font-size:.72rem;font-weight:800;color:var(--muted)}.search-box input,.setting select{width:100%;border:1px solid var(--line);border-radius:12px;background:#161c27;color:var(--text);padding:11px}.search-box{margin-bottom:12px}
.settings-stack{display:grid;gap:18px}.setting{border:0;margin:0;padding:0}.setting>span{display:flex;justify-content:space-between;gap:12px}.setting input[type="range"]{width:100%;accent-color:var(--accent-2)}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.segmented button{border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.03);color:var(--text);padding:9px}.segmented button.active{background:var(--text);color:#0b0d12}.toggle-setting{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:14px;padding:12px}.toggle-setting span{display:grid;gap:3px}.toggle-setting small{color:var(--muted)}.toggle-setting input{width:20px;height:20px;accent-color:var(--accent-2)}.secondary-button{width:100%;padding:11px}.privacy-note{border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:.76rem}.privacy-note strong{color:var(--text)}.privacy-note p{margin:5px 0 0;line-height:1.5}
.pdf-overlay{position:absolute;inset:0;z-index:100;background:#090b10;display:grid;grid-template-rows:auto minmax(0,1fr)}.pdf-overlay header{padding:max(10px,env(safe-area-inset-top)) 12px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.pdf-overlay header button{border:1px solid var(--line);border-radius:10px;background:#141923;color:var(--text);padding:8px 11px}.pdf-overlay iframe{width:100%;height:100%;border:0;background:#fff}
.toast{position:absolute;z-index:120;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%,18px);opacity:0;pointer-events:none;max-width:min(88vw,520px);padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#f4f7fb;color:#0b0d12;font-size:.76rem;font-weight:800;box-shadow:0 12px 40px rgba(0,0,0,.28);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
html[data-reader-theme="paper"]{--bg:#e9e3d7;--surface:#f7f1e7;--surface-2:#efe7da;--line:rgba(66,51,33,.18);--text:#2d261e;--muted:#756858;--accent:#725a3c;--accent-2:#8f6a3f}html[data-reader-theme="paper"] .prime-viewport{background:#e9e3d7}html[data-reader-theme="paper"] .prime-top-shell,html[data-reader-theme="paper"] .prime-command-pill,html[data-reader-theme="paper"] .narrator-dock{background:rgba(239,231,218,.94)}html[data-reader-theme="paper"] .prime-command-pill button span{color:var(--text)}html[data-reader-theme="paper"] .side-drawer{background:#f0e9de}html[data-reader-theme="paper"] .search-box input,html[data-reader-theme="paper"] .setting select{background:#f8f2e8;color:var(--text)}
html[data-reader-theme="light"]{--bg:#f7f9fc;--surface:#fff;--surface-2:#eef2f7;--line:rgba(18,28,42,.14);--text:#152033;--muted:#667386;--accent:#255f9f;--accent-2:#367ec9}html[data-reader-theme="light"] .prime-viewport{background:#f7f9fc}html[data-reader-theme="light"] .prime-top-shell,html[data-reader-theme="light"] .prime-command-pill,html[data-reader-theme="light"] .narrator-dock{background:rgba(248,250,253,.95)}html[data-reader-theme="light"] .side-drawer{background:#fff}html[data-reader-theme="light"] .search-box input,html[data-reader-theme="light"] .setting select{background:#f5f7fa;color:var(--text)}
.prime-viewport[data-pressure="compact"] .reader-header{min-height:54px;padding-top:6px;padding-bottom:6px}.prime-viewport[data-pressure="compact"] .prime-page{padding-top:28px}.prime-viewport[data-pressure="tight"] .reader-header{grid-template-columns:auto minmax(0,1fr);gap:8px}.prime-viewport[data-pressure="tight"] .header-actions{display:none}.prime-viewport[data-pressure="tight"] .document-meta{text-align:right}.prime-viewport[data-pressure="tight"] .document-meta span{display:none}.prime-viewport[data-pressure="tight"] .brand-title{display:none}.prime-viewport[data-pressure="tight"] .brand-logo-shell{width:40px;height:32px}.prime-viewport[data-pressure="tight"] .brand-logo{max-width:38px;max-height:30px}.prime-viewport[data-pressure="tight"] .prime-command-pill{width:calc(100% - 12px);margin-bottom:max(5px,env(safe-area-inset-bottom));padding:4px}.prime-viewport[data-pressure="tight"] .prime-command-pill button{min-height:42px;padding:4px}.prime-viewport[data-pressure="tight"] .prime-command-pill button small{font-size:.58rem}.prime-viewport[data-keyboard="open"] .prime-command-pill{display:none}.prime-viewport[data-keyboard="open"] .narrator-dock{display:none!important}
@media(max-width:620px){.prime-overlay{grid-template-columns:1fr}.side-drawer{grid-column:1}.reader-document{font-size:calc(var(--reader-font) - 1px)}}
@media(prefers-reduced-motion:reduce){.prime-scroll{scroll-behavior:auto}.reader-block,.toast{transition:none}}

@media(prefers-reduced-motion:reduce){.brand-shine{animation:none;opacity:.18;transform:translateX(0) skewX(-12deg)}}

/* R3AD3R // 2100 : Screen FX + Ambient */
:root{--reader-ambient-alpha:.174;--reader-ambient-glow:164px}
.prime-viewport{
  background:
    radial-gradient(circle at 50% -12%,rgba(112,166,242,var(--reader-ambient-alpha)) 0,transparent 46%),
    radial-gradient(circle at 50% 112%,rgba(70,108,168,calc(var(--reader-ambient-alpha) * .55)) 0,transparent 44%),
    var(--bg)!important;
  box-shadow:inset 0 0 var(--reader-ambient-glow) rgba(86,132,198,calc(var(--reader-ambient-alpha) * .42));
}
body.reader-screen-fx .prime-viewport::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:9999;
  background:
    repeating-linear-gradient(to bottom,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,rgba(0,0,0,.018) 2px,rgba(0,0,0,.018) 4px),
    radial-gradient(ellipse at center,transparent 54%,rgba(0,0,0,.17) 100%);
  mix-blend-mode:soft-light;opacity:.72;animation:r3ad3rScreenPulse 7s ease-in-out infinite;
}
body.reader-screen-fx .prime-top-shell,body.reader-screen-fx .prime-command-pill{text-shadow:0 0 12px rgba(176,211,255,.08)}
.reader-display-group{display:grid;gap:14px;padding-top:4px}
.reader-display-heading{margin:0;font-size:.66rem;letter-spacing:.18em;color:var(--muted)}
@keyframes r3ad3rScreenPulse{0%,100%{opacity:.66}50%{opacity:.76}}
@media (prefers-reduced-motion:reduce){body.reader-screen-fx .prime-viewport::after{animation:none}}

/* R3AD3R_CRT_BOOT_V1 */
html.reader-crt-boot .prime-viewport::before{content:"";position:absolute;inset:0;z-index:10020;pointer-events:none;background:radial-gradient(ellipse at center,rgba(235,244,255,.98) 0 1.2%,rgba(141,184,240,.9) 3.5%,rgba(41,64,94,.72) 8%,rgba(3,5,8,.98) 34%,#000 72%);transform-origin:50% 50%;animation:r3ad3rCrtPowerOn 1.08s cubic-bezier(.2,.82,.2,1) forwards;will-change:transform,opacity,filter}@keyframes r3ad3rCrtPowerOn{0%{transform:scaleX(.22) scaleY(.001);opacity:1;filter:brightness(5) blur(1.4px)}10%{transform:scaleX(.9) scaleY(.002);opacity:1;filter:brightness(6) blur(1px)}20%{transform:scaleX(1) scaleY(.012);opacity:1;filter:brightness(3.5) blur(.5px)}42%{transform:scaleX(1) scaleY(.22);opacity:1;filter:brightness(1.7)}66%{transform:scaleX(1) scaleY(1.045);opacity:.97;filter:brightness(1.12)}78%{transform:scaleX(1) scaleY(.97);opacity:.78;filter:brightness(1.05)}90%{transform:scaleX(1) scaleY(1);opacity:.28;filter:none}100%{transform:scaleX(1) scaleY(1);opacity:0;visibility:hidden;filter:none}}@media(prefers-reduced-motion:reduce){html.reader-crt-boot .prime-viewport::before{animation:r3ad3rCrtReduced .18s ease-out forwards}}@keyframes r3ad3rCrtReduced{from{opacity:1}to{opacity:0;visibility:hidden}}
