:root{--ink:#f4f0ea;--ink-dim:#f4f0ea9e;--ink-faint:#f4f0ea57;--edge:#f4f0ea24;--serif:"Times New Roman",Times,"Iowan Old Style",Georgia,serif;--mono:"Berkeley Mono",ui-monospace,"SF Mono",Menlo,monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{color:var(--ink);font-family:var(--serif);overflow:hidden;-webkit-font-smoothing:antialiased;background:#05060a;height:100%}#stage{position:fixed;display:block;z-index:0;width:100vw;height:100vh;inset:0}.ui{position:fixed;z-index:1;display:grid;pointer-events:none;overflow-y:auto;overscroll-behavior:contain;inset:0}.ui>*{pointer-events:auto}.masthead{position:sticky;display:flex;mix-blend-mode:difference;justify-content:space-between;align-items:baseline;padding:clamp(1.2rem,4vw,3rem);top:0}.masthead__name{letter-spacing:-.04em;font-size:clamp(2.4rem,9vw,7rem);font-weight:400;line-height:.84}.masthead__name em{opacity:.7;font-style:italic}.masthead__meta{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;text-align:right;color:var(--ink-dim);font-size:.72rem;line-height:1.7}.series{align-self: end;max-width:64ch;margin:clamp(2rem,8vh,8rem) clamp(1.2rem,4vw,3rem)}.series__kicker{font-family:var(--mono);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1.4rem;font-size:.7rem}.entry{display:block;text-decoration:none;color:inherit;border-top:1px solid var(--edge);padding:1.1rem 0;transition:padding-left .5s cubic-bezier(.16,1,.3,1),color .4s}.entry:hover{color:#fff;padding-left:1.4rem}.entry__index{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.1em;font-size:.7rem}.entry__title{letter-spacing:-.02em;margin:.3rem 0 .5rem;font-size:clamp(1.5rem,4vw,2.4rem);font-weight:400;line-height:1.05}.entry__dek{color:var(--ink-dim);max-width:44ch;font-size:.95rem;font-style:italic}.reader{position:fixed;z-index:2;display:grid;overflow-y:auto;backdrop-filter:blur(6px)saturate(120%);opacity:0;visibility:hidden;background:radial-gradient(120% 90% at 50% -10%,#05060a33,#05060adb 70%);place-items: start center;padding:clamp(2rem,10vh,9rem) clamp(1.2rem,5vw,4rem);transition:opacity .6s,visibility .6s;inset:0}.reader[data-open=true]{opacity:1;visibility:visible}.reader__article{max-width:62ch;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.7}.reader__article h1{letter-spacing:-.03em;margin-bottom:.6rem;font-size:clamp(2rem,6vw,3.6rem);font-weight:400;line-height:1}.reader__article h2{letter-spacing:-.01em;margin:2.4rem 0 .8rem;font-size:1.5rem;font-weight:400}.reader__article p{color:var(--ink);margin:1.1rem 0}.reader__article a{color:inherit;text-decoration-color:var(--ink-faint);text-underline-offset:3px}.reader__article em{color:var(--ink-dim);font-style:italic}.reader__article code{font-family:var(--mono);background:#f4f0ea14;border-radius:3px;padding:.1em .4em;font-size:.85em}.reader__article pre{font-family:var(--mono);border:1px solid var(--edge);overflow-x:auto;background:#f4f0ea0d;border-radius:8px;margin:1.4rem 0;padding:1.1rem 1.2rem;font-size:.82rem;line-height:1.6}.reader__article pre code{background:0 0;padding:0}.reader__meta{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:2.2rem;font-size:.7rem}.reader__close{position:fixed;z-index:3;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);border:1px solid var(--edge);cursor:pointer;background:0 0;border-radius:999px;padding:.5rem 1rem;transition:color .3s,border-color .3s;font-size:.72rem;top:clamp(1.2rem,4vw,2.4rem);right:clamp(1.2rem,4vw,2.4rem)}.reader__close:hover{color:#fff;border-color:var(--ink-dim)}.boot{position:fixed;z-index:9;display:grid;font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim);background:#05060a;place-content: center;justify-items:center;gap:1rem;transition:opacity .8s;font-size:.72rem;inset:0}.boot[data-done=true]{opacity:0;pointer-events:none}.boot__mark{animation:spin 3.4s linear infinite;font-size:2rem}.boot[data-fatal=true]{color:#ff8a7a;text-transform:none;letter-spacing:.04em;text-align:center;padding:2rem;font-size:.9rem}.boot[data-fatal=true] .boot__mark{animation:none}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.boot__mark{animation:none}}
