:root{--night: #131824;--night-2: #1c2434;--gold: #d4af6a;--gold-dim: #9c8354;--gold-bright: #e5c584;--mist: #c8cfdd;--parchment: #f5ecdb;--parchment-deep: #ecdfc6;--ink: #3a2f22;--ink-soft: #6b5b44;--board: #23180f;--serif-body: "EB Garamond", Georgia, serif;--serif-display: "Cormorant Garamond", Georgia, serif;--serif-caps: "Cinzel", "Cormorant Garamond", serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--serif-body)}body[data-view=cover],body[data-view=comic]{background:var(--night)}body[data-view=tale]{background:radial-gradient(ellipse at 50% 0%,#fffcf0b3,#f5ecdb00 60%),radial-gradient(ellipse at 50% 120%,#c8aa7838,#f5ecdb00 70%),var(--parchment)}.btn{font-family:var(--serif-caps);font-size:14.5px;letter-spacing:.18em;text-transform:uppercase;padding:15px 34px;text-decoration:none;display:inline-block;transition:all .2s ease}.btn-primary{color:var(--night);background:linear-gradient(180deg,var(--gold-bright),var(--gold));box-shadow:0 8px 28px -10px #d4af6a99}.btn-primary:hover{filter:brightness(1.07)}.btn-ghost{color:var(--gold);border:1px solid var(--gold-dim)}.btn-ghost:hover{border-color:var(--gold);background:#d4af6a14}.btn-parchment{color:var(--ink);border:1px solid rgba(122,90,44,.55)}.btn-parchment:hover{background:#a67c3d1a}.quiet-link{color:inherit;opacity:.75;text-decoration:none;font-size:15px}.quiet-link:hover{opacity:1}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}body[data-view=tale] :focus-visible{outline-color:var(--ink)}.cover{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--mist);padding:48px 24px 64px;background:radial-gradient(ellipse 120% 90% at 50% -10%,var(--night-2),var(--night) 70%)}.stars{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(1px 1px at 12% 22%,#ffffff73 50%,#13182400 51%),radial-gradient(1px 1px at 78% 12%,#ffffff59 50%,#13182400 51%),radial-gradient(1.5px 1.5px at 60% 30%,#ffffff4d 50%,#13182400 51%),radial-gradient(1px 1px at 30% 8%,#fff6 50%,#13182400 51%),radial-gradient(1px 1px at 90% 40%,#ffffff40 50%,#13182400 51%)}.cover-art img{display:block;width:min(340px,74vw);height:auto;border-radius:3px;box-shadow:0 0 0 1px #d4af6a59,0 0 90px -10px #d4af6a47,0 34px 70px -30px #000}.cover h1{font-family:var(--serif-caps);font-weight:600;font-size:clamp(31px,4.4vw,42px);letter-spacing:.04em;color:var(--gold);max-width:18ch;line-height:1.25;margin:44px 0 12px}.cover-sub{font-style:italic;font-size:18px;color:var(--mist);margin-bottom:44px}.cover-actions{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.resume{margin-top:30px;color:var(--gold);font-style:italic;font-size:15.5px;text-decoration:none;border-bottom:1px dotted var(--gold-dim)}.resume:hover{border-bottom-style:solid}.cover-footer{margin-top:56px;font-style:italic;font-size:14px;color:#9aa4b8}.tale{max-width:46rem;margin:0 auto;padding:36px 28px 96px;color:var(--ink)}.tale-top{margin-bottom:44px}.tale-header{text-align:center;margin-bottom:24px}.dedication{font-style:italic;font-size:17px;color:#5a4b36;margin-bottom:18px}.tale-header h1{font-family:var(--serif-display);font-weight:700;font-size:clamp(32px,5vw,46px);line-height:1.12}.ornament{color:#a67c3d;font-size:22px;text-align:center;margin:34px 0;display:flex;align-items:center;justify-content:center;gap:16px}.ornament:before,.ornament:after{content:"";width:80px;height:1px;background:linear-gradient(90deg,transparent,#a67c3d)}.ornament:after{transform:scaleX(-1)}.ornament.small{font-size:17px;margin:40px 0 8px}.ornament.small:before,.ornament.small:after{width:46px}.chapter h2{font-family:var(--serif-display);font-weight:600;font-size:27px;margin:42px 0 20px}.chapter-num{color:#a67c3d;font-size:19px;letter-spacing:.12em;margin-right:14px}.chapter p{font-size:19px;line-height:1.72;margin-bottom:17px;text-wrap:pretty}.chapter p.drop:first-letter{font-family:var(--serif-display);font-weight:700;font-size:58px;float:left;line-height:.83;padding:7px 9px 0 0;color:#a67c3d}.tale-end{text-align:center}.tale-end p{font-style:italic;color:var(--ink-soft);margin-bottom:22px;font-size:17px}.comic{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;color:var(--mist);padding:18px 14px 30px;background:radial-gradient(ellipse 120% 90% at 50% -10%,var(--night-2),var(--night) 70%)}.comic-bar{width:100%;max-width:900px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;font-size:15px}.page-indicator{font-family:var(--serif-caps);font-size:13px;letter-spacing:.2em;color:var(--gold)}.comic-hint{opacity:.5;font-style:italic;font-size:13.5px}@media (max-width: 700px){.comic-hint{display:none}}.book{flex:1;display:flex;align-items:center;gap:10px;width:100%;justify-content:center}.book-page{position:relative;height:min(82vh,1000px);max-width:min(96vw - 96px,700px);background:var(--parchment-deep);padding:clamp(8px,1.2vw,14px);border-radius:2px 8px 8px 2px;box-shadow:-6px 0 0 -2px #d9c9a8,-11px 0 0 -4px #cbb989,0 0 0 10px #1a120b,-16px 0 0 6px #16100a,0 44px 80px -30px #000}.book-page .blur,.book-page .page-img{position:absolute;inset:clamp(8px,1.2vw,14px);width:calc(100% - (2*clamp(8px,1.2vw,14px)));height:calc(100% - (2*clamp(8px,1.2vw,14px)));object-fit:contain}.book-page .blur{filter:blur(14px);transform:scale(1.02);transition:opacity .4s ease}.book-page:has(.page-img.loaded) .blur{opacity:0}.book-page .page-img{opacity:0;transition:opacity .28s ease}.book-page .page-img.loaded{opacity:1}.edge{font-size:34px;line-height:1;color:var(--gold);background:none;border:1px solid transparent;border-radius:50%;width:52px;height:52px;cursor:pointer;flex:none;transition:all .18s ease}.edge:hover:not(:disabled){border-color:var(--gold-dim);background:#d4af6a14}.edge:disabled{opacity:.22;cursor:default}.the-end{margin-top:20px;font-style:italic;font-size:17px;color:var(--gold);text-decoration:none;border-bottom:1px dotted var(--gold-dim)}.the-end:hover{border-bottom-style:solid}@media (max-width: 700px){.comic{padding:12px 10px 72px}.book{position:relative;gap:0}.book-page{width:94vw;height:auto;max-width:none;max-height:calc(100dvh - 156px)}.edge{position:fixed;bottom:14px;top:auto;transform:none;z-index:2;width:64px;height:46px;font-size:26px;border-radius:23px;background:#1c2434d9;border:1px solid rgba(212,175,106,.35)}.edge:disabled{opacity:0;pointer-events:none}.edge-left{left:14px}.edge-right{right:14px}}
