@font-face{font-family:MoreDisplay;src:url('assets/display.woff2') format('woff2');font-display:swap}
:root{--paper:#fff8f5;--ink:#452638;--hero:#532238;--accent:#ed6f78;--soft:#fbe5e4;--line:#e7c8c8;--reading-size:19px;--reading-line:1.75}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:300px;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #f4ab6b;outline-offset:3px}
.app-shell{max-width:1600px;margin:auto}.topbar{height:68px;display:flex;align-items:center;gap:20px;padding:0 clamp(18px,5vw,72px);background:#fff5f1}.identity{display:flex;align-items:center;gap:11px;text-decoration:none;font:700 20px MoreDisplay,Arial,sans-serif;letter-spacing:-.04em}.identity img{width:36px;height:36px;border-radius:50%;background:#fff}.edition{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;opacity:.65}.icon-button{border:1px solid currentColor;color:inherit;background:none;border-radius:50%;width:39px;height:39px}.menu-button{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);position:relative;background:var(--hero);color:#fff8f1;min-height:490px;overflow:hidden}.hero-copy{padding:clamp(40px,6vw,80px) clamp(24px,6vw,90px) 105px;position:relative;z-index:1}.eyebrow{color:#ffadb0;font:800 10px/1.4 Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase}.hero h1{font:400 clamp(50px,5.8vw,93px)/.95 MoreDisplay,Arial,sans-serif;letter-spacing:-.075em;max-width:840px;margin:22px 0 12px}.author{margin:0;color:#f7c7c2;font:italic 18px Georgia,serif}.deck{max-width:540px;font:17px/1.5 Georgia,serif;margin:27px 0 30px;color:#fff3e9}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions button{border-radius:40px;padding:13px 21px;font-size:12px;font-weight:800;min-height:45px}.hero-actions .primary{background:#f7a98d;color:#3b2132;border:1px solid #f7a98d}.hero-actions .primary span{margin-left:18px}.hero-actions .secondary{background:transparent;color:#fff;border:1px solid #e4b9bb}.hero-actions button:hover{transform:translateY(-2px)}.hero-meta{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#e4c5c8;margin-top:27px}
.hero-art{position:relative;border-left:1px solid #ffffff27;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:40px 5%}.hero-art:before{content:'';position:absolute;width:500px;height:500px;border:1px solid #ffffff3b;border-radius:50%;left:-130px;top:50%;transform:translateY(-50%);box-shadow:0 0 0 65px #ffffff08,0 0 0 130px #ffffff08}.poster-number{font:400 clamp(70px,11vw,165px)/1 MoreDisplay,Arial,sans-serif;letter-spacing:-.12em;color:#f29d85;position:relative;z-index:1}.poster-rule{width:70%;height:2px;background:#f29d85;margin:20px 0;position:relative;z-index:1}.hero-art strong{font:400 clamp(34px,5vw,74px)/.98 MoreDisplay,Arial,sans-serif;letter-spacing:-.07em;position:relative;z-index:1}.hero-art i{width:20px;height:20px;border-radius:50%;background:#f7b590;position:absolute;right:16%;bottom:25%}.hero-ticker{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:baseline;gap:13px;padding:15px clamp(24px,6vw,90px);background:#39192b;border-top:1px solid #ffffff22;font-size:11px;letter-spacing:.02em}.hero-ticker strong{color:#ffc49d;font:400 22px MoreDisplay,Arial,sans-serif}.ticker-divider{height:23px;border-left:1px solid #ffffff48;margin:0 8px}
.rail{display:flex;gap:9px;align-items:center;justify-content:center;background:#fae9e6;border-bottom:1px solid var(--line);padding:12px 18px;overflow:auto;white-space:nowrap}.rail button{border:1px solid #dbb6b5;background:#fff7f4;border-radius:999px;color:var(--ink);padding:9px 15px;font-size:11px;font-weight:800}.rail button:hover{background:var(--hero);color:#fff;border-color:var(--hero)}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:start}.reader-area{min-width:0;padding:43px clamp(22px,6vw,95px) 73px;scroll-margin-top:12px}.reader-top{max-width:750px;margin:auto;display:flex;justify-content:space-between;gap:14px;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.section-label{color:#b54867;max-width:75%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-counter{color:#9b7180;white-space:nowrap;font-variant-numeric:tabular-nums}.progress-track{height:2px;max-width:750px;margin:15px auto 30px;background:#e8c9cc}.progress-track span{display:block;height:100%;background:var(--accent);width:0;transition:width .2s}
.reading-sheet{max-width:750px;margin:auto;min-height:400px;background:#fffdfa;padding:clamp(29px,5vw,65px);border:1px solid #e8d1cc;border-radius:26px 26px 6px 6px;box-shadow:8px 9px 0 #f0d8d4}.reading-sheet h2{font:400 clamp(30px,3vw,45px)/1.13 MoreDisplay,Arial,sans-serif;letter-spacing:-.055em;margin:0 0 30px;overflow-wrap:anywhere}.page-text{font:var(--reading-size)/var(--reading-line) Georgia,serif;overflow-wrap:anywhere}.page-text p{margin:0 0 1.15em;white-space:pre-wrap}.page-text h3{font:700 1.08em/1.4 Georgia,serif;margin:1.6em 0 .6em}.page-text .editorial{font-size:.83em;opacity:.7;border-left:2px solid var(--accent);padding-left:13px}
.page-actions{max-width:750px;margin:24px auto 0;display:flex;gap:9px;justify-content:space-between}.page-actions button,.jump-row button{border:1px solid #d7aeb5;background:transparent;color:var(--ink);border-radius:99px;padding:10px 15px;font-size:12px;font-weight:700}.page-actions #nextBtn{background:var(--hero);color:#fff;border-color:var(--hero)}.page-actions button:hover,.jump-row button:hover{transform:translateY(-2px)}.page-actions button:disabled{opacity:.35;cursor:default;transform:none}.jump-row{max-width:750px;margin:17px auto 0;display:flex;align-items:center;gap:9px;font-size:12px;color:#896570}.jump-row input{width:65px;border:1px solid var(--line);border-radius:6px;padding:7px;background:#fff}.jump-row #savedStatus{margin-left:auto;font-size:11px}
.rhythm-panel{min-height:650px;align-self:stretch;border-left:1px solid #e7c8c8;padding:47px 24px;background:#fff0eb;position:relative}.rhythm-panel h2{font:400 33px/1.05 MoreDisplay,Arial,sans-serif;letter-spacing:-.055em;margin:17px 0 14px}.rhythm-panel p{font:14px/1.5 Georgia,serif;color:#795763;margin:0 0 24px}.week-dots{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;border-block:1px solid var(--line);padding:18px 0}.week-day{text-align:center;font:800 9px Arial,sans-serif;color:#a37b87}.week-day b{display:block;width:22px;height:22px;border:1px solid #ceadb1;border-radius:50%;margin:0 auto 7px}.week-day.active b{background:var(--accent);border-color:var(--accent)}.week-day.today b{box-shadow:0 0 0 3px #efb7b5}.rhythm-panel button{width:100%;background:var(--hero);color:#fff;border:0;border-radius:3px;margin-top:25px;padding:13px;text-align:left;font-size:11px;font-weight:800}.rhythm-panel button span{float:right}.aside-foot{margin-top:70px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:5px}.aside-foot span{font-size:9px;font-weight:800;letter-spacing:.15em;color:#b54867}.aside-foot strong{font:400 27px MoreDisplay,Arial,sans-serif}.aside-foot small{font:13px Georgia,serif;color:#795763}
footer{background:#f5e3df;border-top:1px solid var(--line);padding:25px clamp(18px,5vw,72px);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-identity{display:grid;gap:5px;font-size:11px}.footer-identity strong{font:400 19px MoreDisplay,Arial,sans-serif}.archive-note{max-width:540px;border-left:3px solid var(--accent);padding-left:17px;font-size:12px;line-height:1.45}.archive-heading{text-transform:uppercase;letter-spacing:.14em;color:#b54867;font-weight:800;font-size:10px}.archive-note p{margin:7px 0 0}
.scrim{position:fixed;inset:0;background:#23101dc9;z-index:19}.scrim[hidden],.drawer[hidden]{display:none}.drawer{position:fixed;z-index:20;inset:0 0 0 auto;width:min(460px,100vw);background:#fff9f5;color:var(--ink);box-shadow:-15px 0 50px #0005;display:flex;flex-direction:column}.drawer-head{padding:27px 25px 19px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.drawer-head h2{font:400 37px MoreDisplay,Arial,sans-serif;margin:7px 0 0;letter-spacing:-.05em}.drawer-body{overflow:auto;flex:1;padding:24px 25px 50px}.drawer-body p{line-height:1.5}.panel-note{font-size:12px;color:#866c75}.panel-list{display:flex;flex-direction:column;gap:7px}.panel-list button{width:100%;text-align:left;display:flex;gap:14px;border:1px solid var(--line);background:#fff;padding:12px;color:var(--ink)}.panel-list button:hover,.panel-list button.active{border-color:var(--accent);background:#fff0eb}.panel-list .num{min-width:35px;font-size:11px;color:#b54867}.panel-list .title{line-height:1.3}.result-snippet{display:block;font-size:11px;opacity:.75;margin-top:5px}.panel-field{display:grid;gap:6px;margin:16px 0}.panel-field input,.panel-field textarea{width:100%;border:1px solid var(--line);padding:11px;background:#fff;color:var(--ink)}.panel-field textarea{min-height:140px}.panel-actions{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.panel-actions button{background:var(--hero);color:#fff;border:1px solid var(--hero);padding:10px 12px;font-size:12px}.panel-actions .secondary-action{background:transparent;color:var(--hero)}.feature-stat{font:400 50px MoreDisplay,Arial,sans-serif;color:#b54867;margin:18px 0}.feature-card{border:1px solid var(--line);padding:16px;margin:10px 0}.feature-card blockquote{font:italic 18px/1.5 Georgia,serif;margin:0}.feature-card small{display:block;margin-top:10px;opacity:.7}
#exitFocus{display:none}.focus #exitFocus,.quiet #exitFocus{display:block;position:fixed;z-index:10;right:15px;top:15px;background:var(--hero);color:#fff;border:0;padding:11px 15px;font-size:12px}.focus .topbar,.focus .hero,.focus .rail,.focus .rhythm-panel,.focus footer,.quiet .topbar,.quiet .hero,.quiet .rail,.quiet .rhythm-panel,.quiet footer{display:none}.focus .workspace,.quiet .workspace{display:block}.focus .reader-area,.quiet .reader-area{max-width:850px;margin:auto;padding-top:70px}.focus .reader-top,.focus .progress-track,.quiet .reader-top,.quiet .progress-track,.quiet .reading-sheet h2{display:none}.focus .reading-sheet,.quiet .reading-sheet{background:transparent;border:0;box-shadow:none}.compact .reading-sheet{padding:19px}.compact .page-text{line-height:1.35}
body.alternate{--paper:#241c26;--ink:#f5e8df;--hero:#381625;--line:#73525d;--accent:#f29c8d}body.alternate .topbar,body.alternate .rail,body.alternate .rhythm-panel,body.alternate footer{background:#32212c;color:var(--ink)}body.alternate .reading-sheet,body.alternate .drawer{background:#382833;color:var(--ink)}body.alternate .rail button,body.alternate .page-actions button,body.alternate .jump-row button{color:var(--ink);background:#45313b}body.alternate .page-actions #nextBtn{background:#f29c8d;color:#2b1826}
@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1fr) 230px}.rhythm-panel{padding:38px 17px}.hero-art{padding:25px}.hero-copy{padding:45px 35px 95px}}
@media(max-width:800px){.workspace{display:block}.rhythm-panel{min-height:0;border-left:0;border-top:1px solid var(--line);padding:28px clamp(22px,5vw,60px)}.aside-foot{display:none}.hero-art{display:none}.hero{display:block}.hero-copy{padding-bottom:105px}.rail{justify-content:flex-start}}
@media(max-width:600px){.topbar{height:59px;padding:0 17px}.edition{display:none}.menu-button{display:block;margin-left:auto}.hero-copy{padding:37px 20px 114px}.hero h1{font-size:clamp(48px,12vw,72px)}.deck{font-size:15px}.hero-ticker{padding:14px 20px;gap:6px;flex-wrap:wrap;font-size:10px}.hero-ticker strong{font-size:19px}.ticker-divider{margin:0 6px}.rail{padding:9px 12px;gap:6px;scrollbar-width:thin}.rail button{font-size:10px;padding:8px 11px}.reader-area{padding:28px 12px 55px}.reading-sheet{border-radius:20px 20px 5px 5px;padding:26px 18px;box-shadow:4px 5px 0 #f0d8d4}.reading-sheet h2{font-size:30px}.page-actions button{font-size:11px;padding:9px}.jump-row{flex-wrap:wrap}.jump-row #savedStatus{width:100%;margin-left:0}.rhythm-panel{padding:26px 20px}footer{padding:22px 20px}}
