@font-face{font-family:DeskSans;src:url('assets/display.woff2') format('woff2');font-display:swap}
:root{--paper:#edf2f3;--sheet:#fffdfa;--ink:#203344;--deep:#142b41;--accent:#b4814e;--line:#ccd7db;--muted:#607584;--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:DeskSans,'Segoe UI',sans-serif}
button,input,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
a{color:inherit}
.app-shell{max-width:1700px;margin:auto}
.topbar{height:66px;background:var(--deep);color:#f5f3e9;display:flex;align-items:center;gap:24px;padding:0 clamp(20px,3vw,45px)}
.identity{text-decoration:none;display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;letter-spacing:-.025em}
.identity img{width:35px;height:35px;border-radius:7px;background:#fff}
.edition{margin-left:auto;font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.72}
.icon-button{width:38px;height:38px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit}
.menu-button{display:none}
.desk-layout{display:grid;grid-template-columns:246px minmax(0,1fr);align-items:stretch;min-height:100vh}
.desk-rail{background:var(--deep);color:#f4f4ee;display:flex;flex-direction:column;min-width:0;padding:44px 22px 32px;gap:25px}
.desk-mark{width:80px;height:80px;border:1px solid #b6c6ce77;display:grid;place-items:center;position:relative;font-size:26px;font-weight:800;letter-spacing:-.09em}
.desk-mark i{position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;background:var(--accent)}
.desk-index span{display:block;font-size:10px;letter-spacing:.2em;color:#b6c6ce}.desk-index strong{display:block;font-size:14px;margin-top:8px;line-height:1.35;font-weight:500}
.rail{display:flex;flex-direction:column;gap:4px;margin-top:12px}
.rail button{border:0;border-left:2px solid transparent;background:none;color:inherit;text-align:left;padding:11px 8px;font-size:13px;display:flex;align-items:center;gap:13px;white-space:nowrap}
.rail button span{color:#b4c8d4;font-size:10px;letter-spacing:.12em}
.rail button:hover,.rail button:focus-visible{border-left-color:var(--accent);background:#ffffff13}
.archive-note{margin-top:auto;padding:17px 0 0;border-top:1px solid #ffffff35;color:#d7e4e8}
.archive-heading{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#e4bf86}
.archive-note p{font:12px/1.55 Georgia,serif;margin:9px 0 0}
.desk-main{min-width:0}
.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(245px,.65fr);min-height:410px;border-bottom:1px solid var(--line);background:#f7faf9}
.hero-copy{padding:clamp(34px,5vw,78px) clamp(24px,5vw,82px)}
.eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.hero h1{font:400 clamp(44px,4.4vw,75px)/1.03 Georgia,serif;letter-spacing:-.055em;max-width:770px;margin:20px 0 11px}
.author{font:16px Georgia,serif;color:var(--muted);margin:0}.author:before{content:'BY ';font:700 9px DeskSans,sans-serif;letter-spacing:.15em;color:var(--accent)}
.deck{font:15px/1.55 DeskSans,sans-serif;max-width:565px;margin:24px 0 28px;color:#3c5667}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.hero-actions button{min-height:45px;border:1px solid var(--deep);padding:10px 16px;font-size:12px;font-weight:700;letter-spacing:.02em}
.hero-actions .primary{background:var(--deep);color:#fff}.hero-actions .primary span{margin-left:18px}.hero-actions .secondary{background:transparent;color:var(--deep)}
.hero-actions button:hover{transform:translateY(-2px)}
.hero-meta{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:24px}
.hero-art{background:#e1e8e8;display:grid;place-items:center;padding:35px;border-left:1px solid var(--line);overflow:hidden}
.ledger-illustration{width:min(100%,290px);height:310px;background:#fffdf7;box-shadow:14px 15px 0 #93a8b2,0 18px 35px #142b4120;padding:24px 25px;transform:rotate(3deg);border-top:8px solid var(--deep)}
.ledger-head{font-size:9px;letter-spacing:.2em;color:var(--accent)}.ledger-illustration i{display:block;height:25px;border-bottom:1px solid #c7d1d2;position:relative}.ledger-illustration i:before{content:'';position:absolute;left:55%;top:8px;width:11px;height:11px;border:1px solid #b3c0c4}.ledger-illustration strong{font-size:29px;letter-spacing:-.08em;line-height:.91;display:block;margin-top:31px;color:var(--deep)}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:0}
.reader-area{min-width:0;padding:38px clamp(24px,4vw,70px) 70px;scroll-margin-top:16px}
.reader-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.section-label{color:var(--accent);max-width:75%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-counter{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.progress-track{height:3px;background:#ccd7db;margin:15px 0 29px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--accent);width:0;transition:width .2s}
.reading-sheet{background:var(--sheet);border:1px solid #d4ddde;border-left:6px solid var(--deep);padding:clamp(24px,3.4vw,50px);min-height:430px;max-width:800px;margin:auto;box-shadow:7px 7px 0 #dbe4e5}
.reading-sheet h2{font:400 clamp(28px,2.6vw,39px)/1.17 Georgia,serif;letter-spacing:-.035em;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.1em;white-space:pre-wrap}.page-text h3{font:700 1.07em/1.3 Georgia,serif;margin:1.6em 0 .6em}.page-text .editorial{font-size:.82em;color:var(--muted);border-left:2px solid var(--accent);padding-left:13px}
.page-actions{max-width:800px;margin:21px auto 0;display:flex;gap:8px;justify-content:space-between}.page-actions button,.jump-row button{background:var(--sheet);color:var(--deep);border:1px solid var(--line);padding:10px 13px;font-size:12px;font-weight:700}.page-actions button:hover,.jump-row button:hover{border-color:var(--deep)}.page-actions button:disabled{opacity:.35;cursor:default}
.jump-row{max-width:800px;margin:14px auto 0;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.jump-row input{width:67px;padding:8px;border:1px solid var(--line);background:var(--sheet);color:var(--ink)}.jump-row #savedStatus{margin-left:auto;font-size:11px}
.ledger-preview{align-self:stretch;background:#e6edee;border-left:1px solid var(--line);padding:39px 24px 35px;min-height:650px}
.ledger-preview-head{display:flex;justify-content:space-between;gap:6px;font-size:9px;letter-spacing:.12em;color:var(--muted)}.ledger-preview-head strong{color:var(--accent);font-weight:800;white-space:nowrap}
.ledger-preview h2{font:400 29px/1.12 Georgia,serif;margin:27px 0 11px;letter-spacing:-.035em}.ledger-preview p{font:13px/1.5 DeskSans,sans-serif;color:var(--muted);margin:0 0 22px}
.ledger-mini{border-top:1px solid var(--line)}.ledger-mini button{width:100%;display:flex;gap:9px;align-items:flex-start;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:12px 0;color:var(--ink);font:12px/1.3 DeskSans,sans-serif}.ledger-mini button:hover{color:var(--accent)}.ledger-mini button b{width:13px;height:13px;border:1px solid var(--accent);border-radius:2px;flex:none;margin-top:1px}.ledger-mini button.done b{background:var(--accent)}
#ledgerOpenBtn{margin-top:22px;width:100%;border:1px solid var(--deep);background:transparent;color:var(--deep);padding:11px;font-size:11px;font-weight:800;text-align:left}#ledgerOpenBtn span{float:right}
footer{background:var(--deep);color:#d6e2e7;padding:18px 35px;display:flex;justify-content:space-between;gap:12px;font-size:11px}footer strong{color:#fff}
.scrim{position:fixed;inset:0;background:#0b1b2ccc;z-index:19}.scrim[hidden],.drawer[hidden]{display:none}
.drawer{position:fixed;z-index:20;inset:0 0 0 auto;width:min(480px,100vw);background:var(--sheet);box-shadow:-20px 0 50px #0003;display:flex;flex-direction:column}
.drawer-head{padding:25px 25px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.drawer-head h2{font:400 37px Georgia,serif;margin:8px 0 0}.drawer-head .icon-button{color:var(--ink)}.drawer-body{padding:22px 25px 50px;overflow:auto;flex:1}.drawer-body p{line-height:1.5}
.panel-list{display:flex;flex-direction:column;gap:7px}.panel-list button{display:flex;gap:13px;align-items:start;text-align:left;width:100%;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:#f6f0e6}.panel-list .num{min-width:35px;font-size:11px;color:var(--accent)}.panel-list .title{line-height:1.35}.result-snippet{display:block;font-size:11px;color:var(--muted);margin-top:5px}.panel-note{font-size:12px;color:var(--muted)}
.panel-field{display:flex;flex-direction:column;gap:7px;margin:17px 0}.panel-field input,.panel-field textarea{border:1px solid var(--line);padding:12px;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{border:1px solid var(--deep);padding:10px 13px;background:var(--deep);color:#fff;font-size:12px}.panel-actions .secondary-action{background:transparent;color:var(--deep)}.feature-stat{font:400 40px Georgia,serif;color:var(--accent);margin:17px 0}.check-row{display:flex;gap:10px;border-bottom:1px solid var(--line);padding:11px 0;font:13px/1.35 DeskSans,sans-serif}.check-row input{accent-color:var(--accent)}.feature-card{padding:16px;border:1px solid var(--line);margin:12px 0}.feature-card blockquote{margin:0;font:italic 18px/1.5 Georgia,serif}.feature-card small{display:block;margin-top:9px;color:var(--muted)}
#exitFocus{display:none}.focus #exitFocus,.quiet #exitFocus{display:block;position:fixed;z-index:10;top:14px;right:15px;background:var(--deep);color:#fff;border:0;padding:10px 14px;font-size:12px}.focus .topbar,.focus .desk-rail,.focus .hero,.focus .ledger-preview,.focus footer,.quiet .topbar,.quiet .desk-rail,.quiet .hero,.quiet .ledger-preview,.quiet footer{display:none}.focus .desk-layout,.quiet .desk-layout,.focus .workspace,.quiet .workspace{display:block}.focus .reader-top,.focus .progress-track,.quiet .reader-top,.quiet .progress-track,.quiet .reading-sheet h2{display:none}.focus .reader-area,.quiet .reader-area{max-width:850px;margin:auto;padding-top:70px}.focus .reading-sheet,.quiet .reading-sheet{border:0;box-shadow:none;background:transparent}.compact .reading-sheet{padding:17px}.compact .page-text{line-height:1.35}
body.alternate{--paper:#13232d;--sheet:#20313b;--ink:#f1eee4;--deep:#0b1821;--line:#49606a;--muted:#bfd0d2;--accent:#e1b984}body.alternate .hero{background:#1e303a}body.alternate .hero-art,body.alternate .ledger-preview{background:#243942}body.alternate .ledger-illustration{background:#e3decf;color:#203344}body.alternate .reading-sheet{box-shadow:7px 7px 0 #0d1b23}body.alternate .page-actions button,body.alternate .jump-row button,body.alternate .jump-row input{background:var(--sheet);color:var(--ink)}
@media(max-width:1280px){.workspace{grid-template-columns:minmax(0,1fr) 245px}.ledger-preview{padding:30px 18px}.desk-layout{grid-template-columns:215px minmax(0,1fr)}.hero-art{padding:18px}}
@media(max-width:980px){.workspace{display:block}.ledger-preview{min-height:0;border-left:0;border-top:1px solid var(--line);padding:28px clamp(24px,4vw,70px)}.ledger-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.desk-layout{grid-template-columns:190px minmax(0,1fr)}.hero{grid-template-columns:1fr 30%}.hero-art .ledger-illustration{height:250px}.hero-copy{padding:38px 35px}}
@media(max-width:700px){.topbar{height:60px;padding:0 16px}.edition{display:none}.menu-button{display:block;margin-left:auto}.desk-layout{display:block}.desk-rail{padding:0;display:block}.desk-mark,.desk-index,.desk-rail .archive-note{display:none}.rail{display:flex;flex-direction:row;overflow:auto;gap:0;margin:0;padding:5px 9px;scrollbar-width:thin}.rail button{border-left:0;flex:none;padding:9px 11px;font-size:11px}.rail button span{display:none}.hero{display:block;min-height:0}.hero-copy{padding:35px 22px 30px}.hero h1{font-size:clamp(38px,10vw,58px);margin:17px 0 10px}.hero-art{display:none}.hero-meta{margin-top:23px}.reader-area{padding:24px 14px 48px}.reading-sheet{padding:23px 18px;min-height:320px;box-shadow:4px 4px 0 #dbe4e5}.reading-sheet h2{font-size:28px}.page-text{font-size:var(--reading-size)}.jump-row{flex-wrap:wrap}.jump-row #savedStatus{width:100%;margin-left:0}.ledger-preview{padding:27px 20px}.ledger-mini{display:block}footer{padding:17px 20px;flex-direction:column}}
