:root{--bg:#f8f8f7;--ink:#111;--ink-2:#1111119e;--ink-3:#11111161;--rule:#11111117;--accent:#0b7285;--accent-faint:#0b728559;--glow:#0b72856b;--glow-size:30px;--maxw:580px;--pad:24px;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",ui-sans-serif,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:40px;--s6:64px;--s7:96px}:root[data-mode=sunset]{--bg:#16110f;--ink:#f0e6df;--ink-2:#f0e6df9e;--ink-3:#f0e6df61;--rule:#f0e6df1f;--accent:#ff8c42;--accent-faint:#ff8c4266;--glow:#ff8a4275}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.55;transition:background-color .6s,color .6s}a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent-faint);text-decoration-color:var(--accent-faint);text-underline-offset:3px;transition:text-decoration-color .12s}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}h1,h2,h3{font-size:inherit;font-weight:600;line-height:1.3}img,video{max-width:100%;height:auto;display:block}.modeToggle{top:var(--s4);right:var(--s4);z-index:2;appearance:none;cursor:pointer;color:var(--ink-3);padding:var(--s2);background:0 0;border:0;align-items:center;line-height:0;transition:color .16s;display:flex;position:fixed}.modeToggle:hover{color:var(--accent)}.modeToggle [data-when=sunset]{display:none}:root[data-mode=sunset] .modeToggle [data-when=sunset]{display:block}:root[data-mode=sunset] .modeToggle [data-when=daylight]{display:none}.modeToggle:focus-visible{outline:1px solid var(--accent);outline-offset:2px}@media (max-width:820px){.modeToggle{position:absolute}}.wrap{max-width:var(--maxw);padding:var(--s7) var(--pad) var(--s6);z-index:1;margin:0 auto;position:relative}body:before{content:"";z-index:0;pointer-events:none;opacity:0;background:radial-gradient(var(--glow-size) circle at var(--mx,50%) var(--my,50%), var(--glow), transparent 70%);transition:opacity .5s;position:fixed;inset:0}:root[data-pointer=on] body:before{opacity:1}.label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:11px}@media (max-width:600px){.wrap{padding-top:var(--s6)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
