:root{--ground:#eceef1;--surface:#f7f8fa;--ink:#15191e;--muted:#58626d;--rule:#c9ced5;--accent:#7a1f2b;--accent-ink:#fff;--tint:#e0e4e9;--night:#14181d;--night-ink:#e7e9ec;--night-muted:#9aa3ad;--night-rule:#2c333b;--night-accent:#d9727f;--display:"Gloock", "Bodoni 72", Didot, Georgia, serif;--body:"Literata", Georgia, "Times New Roman", serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--gutter:clamp(24px, 5vw, 48px);--title:clamp(30px, 3.6vw, 44px);--sec:clamp(32px, 4vw, 48px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--ground);color:var(--ink);font-family:var(--body);padding-inline:var(--gutter);margin:0;font-size:17px;line-height:1.6}img{max-width:100%}a{color:inherit}p{margin:0}h1,h2,h3,h4{font-family:var(--display);text-wrap:balance;margin:0;font-weight:400;line-height:1.08}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:1120px;margin-inline:auto}.label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:12px}.skip{position:absolute;left:-9999px}.skip:focus{left:var(--gutter);background:var(--surface);z-index:10;padding:8px 12px;top:8px}.btn{background:var(--accent);color:var(--accent-ink);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:0;border-radius:2px;align-items:center;gap:8px;padding:12px 18px;font-size:13px;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.12)}.textlink{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--accent);padding-bottom:2px;font-size:13px;text-decoration:none}header.site{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:22px;display:flex}.wordmark{font-family:var(--display);font-size:32px;text-decoration:none}nav.main{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:22px;font-size:13px;display:flex}nav.main a{color:var(--muted);text-decoration:none}nav.main a:hover{color:var(--ink)}section.block{padding-block:var(--sec)}section.block.ruled{border-top:1px solid var(--rule)}.eyebrow{margin-bottom:clamp(18px,2.4vw,28px)}.hero{gap:14px;display:grid}.hero h1{letter-spacing:-.01em;margin-bottom:8px;font-size:clamp(30px,4.7vw,60px)}.hero h1 em{color:var(--accent);font-style:normal}.hero .lede{color:var(--muted);font-size:clamp(16px,1.4vw,18px)}.hero .lede strong{color:var(--ink);font-weight:600}.novel{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,64px);display:grid}.cover{width:auto;max-width:100%;height:540px;box-shadow:14px 14px 0 var(--tint), 0 30px 60px -30px #00000073;display:block}.novel-copy{gap:18px;max-width:60ch;display:grid}.novel-copy h2{font-size:var(--title)}.prose{gap:18px;display:grid}.closing{border-left:2px solid var(--accent);padding-left:18px;font-style:italic}.coexist{gap:16px;margin-bottom:clamp(24px,3vw,32px);display:grid}.coexist h2{font-size:var(--title)}.series-list{gap:clamp(20px,3vw,28px);display:grid}.series{background:var(--surface);border:1px solid var(--rule);gap:clamp(20px,3vw,28px);padding:clamp(20px,3vw,32px);display:grid}.series-head{gap:12px;max-width:62ch;display:grid}.series-head h3{font-size:var(--title)}.series-head .sub{color:var(--muted);font-size:19px}.posts{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3.4vw,44px) clamp(20px,3vw,36px);display:grid}.post{align-content:start;gap:10px;min-width:0;text-decoration:none;display:grid}.post .thumb{aspect-ratio:16/9;object-fit:cover;background:var(--tint);border:1px solid var(--rule);width:100%;max-width:100%;height:auto;display:block}.post .num{font-family:var(--mono);color:var(--accent);letter-spacing:.1em;font-size:12px}.post h4{font-size:clamp(21px,2vw,25px);line-height:1.18}.post p{color:var(--muted);font-size:15px}.post .go{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-top:2px;font-size:12px}.post:hover h4{text-underline-offset:4px;text-decoration:underline 1px}.series-foot{border-top:1px solid var(--rule);justify-content:flex-end;padding-top:18px;display:flex}.about{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:stretch;gap:clamp(24px,5vw,56px);display:grid}.about h2{font-size:var(--title)}.about .copy{align-content:start;gap:16px;max-width:62ch;display:grid}.portrait-wrap{min-height:300px;position:relative}.portrait{object-fit:cover;object-position:50% 20%;width:100%;height:100%;position:absolute;inset:0}.highlight{font-family:var(--display);border-left:2px solid var(--accent);padding-left:18px;font-size:clamp(22px,2.4vw,28px);line-height:1.25}.foot-rule{border:0;border-top:1px solid var(--rule);margin:0 0 var(--sec)}footer.site{background:var(--night);color:var(--night-ink);margin-inline:calc(-1 * var(--gutter));padding:clamp(28px, 3.5vw, 40px) var(--gutter) 22px}footer .inner{gap:22px;max-width:1120px;margin-inline:auto;display:grid}.foot-top{justify-items:start;gap:14px;display:grid}.foot-top h2{font-size:var(--title)}.foot-top p{color:var(--night-muted)}footer .btn{background:var(--night-accent);color:#111418}.foot-links{border-top:1px solid var(--night-rule);flex-wrap:wrap;gap:10px 44px;padding-top:16px;font-size:15px;display:flex}.foot-links>div{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.foot-links h3{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--night-muted);font-size:11px}.foot-links ul{flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;display:flex}.foot-links a,.foot-links button{color:var(--night-ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.foot-links a:hover,.foot-links button:hover{text-decoration:underline}.legal{font-family:var(--mono);color:var(--night-muted);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;display:flex}dialog{background:var(--surface);color:var(--ink);border:0;border-radius:2px;width:min(680px,100vw - 32px);max-height:calc(100dvh - 32px);padding:clamp(28px,5vw,56px) clamp(22px,5vw,64px) clamp(28px,4vw,48px);overflow:auto;box-shadow:0 40px 80px -30px #0009}dialog::backdrop{background:#0b0d108c}dialog h2{margin:0 0 clamp(20px,3vw,32px);padding-right:48px;font-size:clamp(38px,5vw,56px)}.x{cursor:pointer;width:40px;height:40px;color:var(--ink);background:0 0;border:0;position:absolute;top:clamp(16px,3vw,28px);right:clamp(16px,3vw,28px)}.x:before,.x:after{content:"";background:currentColor;width:46px;height:1.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.x:after{transform:translate(-50%,-50%)rotate(-45deg)}.contact-form{gap:clamp(18px,2.6vw,28px);display:grid}.contact-form .row{grid-template-columns:1fr 1fr;gap:clamp(18px,4vw,56px);display:grid}.contact-form input,.contact-form textarea{font:inherit;color:var(--ink);border:0;border-bottom:1.5px solid var(--ink);background:0 0;border-radius:0;width:100%;padding:12px 18px;font-size:17px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:1}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--accent);outline:none}.contact-form [aria-invalid=true]{border-bottom-color:var(--accent)}.contact-form textarea{resize:vertical;min-height:140px}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.submit-row{flex-wrap:wrap;align-items:center;gap:18px;margin-top:6px;display:flex}.submit{font:inherit;color:var(--ink);border:1.5px solid var(--ink);cursor:pointer;background:0 0;border-radius:0;width:min(260px,100%);padding:14px 0;font-size:18px}.submit:hover{background:var(--ink);color:var(--surface)}.submit[disabled]{opacity:.6;cursor:wait}.form-status{font-family:var(--mono);color:var(--accent);font-size:13px}.terms h2{margin-bottom:8px;font-size:clamp(28px,3.6vw,40px)}.terms-body{gap:12px;margin-top:22px;font-size:16px;display:grid}.terms-body h3{font-family:var(--body);margin-top:10px;font-size:17px;font-weight:600}.terms-body p{color:var(--muted)}@media (width<=860px){.novel,.about{grid-template-columns:1fr}.cover{justify-self:center;width:100%;max-width:300px;height:auto}.portrait-wrap{justify-self:center;width:100%;max-width:340px;min-height:0}.portrait{aspect-ratio:4/5;height:auto;display:block;position:static}}@media (width<=520px){.posts,.contact-form .row{grid-template-columns:1fr}nav.main{gap:14px}}
