*{box-sizing:border-box}:root{--navy:#12203c;--navy-2:#1c2f56;--muted:#5a6478;--paper:#f7f2ea;--line:#e4dccf;--gold:#9a7440}html,body{margin:0}body{background:var(--paper);min-height:100dvh;color:var(--navy);-webkit-text-size-adjust:100%;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}body.reading{overflow:hidden}svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}#book{max-width:980px;padding:0 20px max(32px, env(safe-area-inset-bottom));margin:0 auto}#hero{min-height:100svh;padding:max(20px, env(safe-area-inset-top)) 0 32px;flex-direction:column;display:flex}#hero #home{align-self:flex-start}#funding{border:1px solid var(--line);text-align:center;background:#fff;border-radius:12px;max-width:640px;margin:0 auto;padding:28px}#funding h2{margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:24px;line-height:1.2}#funding p{color:var(--muted);margin:0}#funding img{width:min(260px,100%);height:auto;margin:20px auto 0;display:block}#rights{max-width:640px;color:var(--muted);text-align:center;margin:32px auto 0;font-size:13px;line-height:1.5}#rights a{color:inherit}#home{color:var(--navy);align-items:center;gap:10px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}#home img{width:36px;height:auto}#book-card{grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:center;gap:48px;margin:auto 0;padding-top:24px;display:grid}#cover{border-radius:4px;line-height:0;transition:transform .2s,box-shadow .2s;display:block;box-shadow:0 1px 2px #12203c1f,0 18px 40px -12px #12203c59}#cover:hover{transform:translateY(-3px);box-shadow:0 1px 2px #12203c1f,0 26px 48px -14px #12203c66}#cover{aspect-ratio:900/1278;background:linear-gradient(135deg,#ecdcbc,#dcc494)}#cover img{opacity:0;border-radius:4px;width:100%;height:auto;transition:opacity .4s}#cover img.loaded{opacity:1}#hero>*{animation:.45s both book-in}#hero #book-card{animation-delay:50ms}@keyframes book-in{0%{transform:translateY(8px)}to{transform:none}}@media (prefers-reduced-motion:reduce){#hero>*,#cover img{transition:none;animation:none}}.eyebrow{color:var(--gold);letter-spacing:.12em;margin:0 0 8px;font-size:14px;font-weight:600}#book-info h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,5vw,48px);font-weight:700;line-height:1.1}.subtitle{color:var(--muted);max-width:30ch;margin:12px 0 0;font-family:Georgia,Times New Roman,serif;font-size:19px}.author{margin:16px 0 0;font-weight:600}.meta{color:var(--muted);margin:20px 0 0;font-size:14px}#actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.btn{min-height:48px;font:inherit;color:var(--navy);border:1px solid var(--line);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-weight:600;text-decoration:none;display:inline-flex}.btn small{color:var(--muted);font-weight:400}.btn:hover{border-color:var(--navy)}.btn.primary{color:#fff;background:var(--navy);border-color:var(--navy)}.btn.primary:hover,.btn.primary:active{background:var(--navy-2)}.btn:focus-visible,#cover:focus-visible,#home:focus-visible{outline:2px solid var(--navy);outline-offset:3px}@media (width<=720px){#book-card{text-align:center;grid-template-columns:1fr;gap:28px;margin:0;padding-top:24px}#cover{width:min(300px,78vw);margin:0 auto}.subtitle{margin-inline:auto}#actions{flex-direction:column}.btn{width:100%}}#reader{z-index:100;background:#3b3f46;flex-direction:column;display:flex;position:fixed;inset:0}#reader.loading{color:#fff;justify-content:center;align-items:center}#toolbar,#searchbar{padding:6px max(8px, env(safe-area-inset-right)) 6px max(8px, env(safe-area-inset-left));background:var(--navy);color:#fff;align-items:center;gap:4px;display:flex}#toolbar{padding-top:max(6px, env(safe-area-inset-top))}#searchbar{background:var(--navy-2);gap:6px}#toolbar .spacer{flex:1}#toolbar .group{display:flex}.icon{width:44px;height:44px;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon:hover{background:#ffffff1a}.icon:disabled{opacity:.35;cursor:default;background:0 0}.icon:focus-visible{outline-offset:-2px;outline:2px solid #fff}#pager{white-space:nowrap;align-items:center;gap:6px;font-size:14px;display:flex}#pager input,#searchbar input{font:inherit;color:#fff;background:#ffffff1f;border:1px solid #fff3;border-radius:6px}#pager input{text-align:center;width:3.4em;height:34px;font-size:16px}#searchbar input{flex:1;min-width:0;height:38px;padding:0 10px;font-size:16px}#searchbar input::placeholder{color:#ffffff8c}#pager input:focus,#searchbar input:focus{border-color:#fff;outline:none}#searchbar .count{white-space:nowrap;opacity:.8;font-size:13px}#searchbar .count.none{color:#ffb4b4;opacity:1}#viewer-container{-webkit-overflow-scrolling:touch;position:absolute;inset:0;overflow:auto}#viewer-wrap{flex:1;min-height:0;position:relative}#viewer-container .pdfViewer{padding:12px 0 88px}#viewer-container .pdfViewer .page{box-shadow:0 2px 10px #00000059}#reader-status{text-align:center;width:min(320px,100% - 40px);color:var(--navy);background:#fff;border-radius:12px;padding:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #0000004d}#reader-status p{margin:0 0 12px;font-weight:600}#reader-status .bar{background:var(--line);border-radius:3px;height:6px;overflow:hidden}#reader-status .bar span{background:var(--navy);height:100%;transition:width .2s;display:block}#page-nav{left:50%;bottom:max(16px, env(safe-area-inset-bottom));background:#12203ce0;border-radius:999px;gap:2px;padding:4px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 4px 14px #0000004d}#page-nav button{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:48px;height:44px;display:inline-flex}#page-nav button:disabled{opacity:.35;cursor:default}#page-nav button:not(:disabled):hover{background:#ffffff1f}@media (width<=420px){.wide-only{display:none}}#order-area{min-height:100svh;padding-top:16px}.btn.accent{color:#fff;background:var(--gold);border-color:var(--gold);margin-top:12px;box-shadow:0 6px 16px -6px #9a744099}.btn.accent:hover,.btn.accent:active{background:#86633a;border-color:#86633a}html{scroll-behavior:smooth}.order{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:640px;margin:0 auto;padding:28px;scroll-margin-top:16px}.order h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:24px;line-height:1.2}.order .lead{color:var(--muted);margin:8px 0 20px}.order .row{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.order label{color:var(--muted);margin-bottom:14px;font-size:13px;display:block}.order input:not([type=checkbox]){width:100%;min-height:48px;font:inherit;color:var(--navy);appearance:none;background:#fff;border:1px solid #d3d8e2;border-radius:8px;margin-top:6px;padding:12px;font-size:16px;display:block}.order input:focus{border-color:var(--navy);outline:none}.order input:user-invalid{border-color:#c24141}.order .qty input{max-width:120px}.order .hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.order .consent{cursor:pointer;align-items:flex-start;gap:10px;margin:6px 0 18px;font-size:13px;line-height:1.45;display:flex}.order .consent input{width:20px;height:20px;accent-color:var(--navy);flex:none;margin:1px 0 0}.order button[type=submit]{width:100%}.order button:disabled{opacity:.7;cursor:default}.order-error{color:#8f1d1d;background:#fdecec;border:1px solid #f3c9c9;border-radius:8px;margin:0 0 14px;padding:10px 12px;font-size:14px}.order-done{text-align:center}.order-done svg{color:#fff;stroke-width:2.5px;background:#2f7d4f;border-radius:50%;width:44px;height:44px;padding:10px}.order-done h2{margin-top:14px}.order-done p{color:var(--muted);margin:8px 0 20px}@media (width<=720px){.order{text-align:left;margin-top:0;padding:20px}.order .row{grid-template-columns:1fr}}.order .consent a{color:var(--navy)}
