@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/chakra-petch-latin-400-normal.SafcrIr2.woff2)format("woff2"),url(/_astro/chakra-petch-latin-400-normal.D7EtbySE.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/chakra-petch-latin-500-normal.BR1ody1F.woff2)format("woff2"),url(/_astro/chakra-petch-latin-500-normal.CnUQnZ4D.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/chakra-petch-latin-ext-400-normal.C8u6EFkq.woff2)format("woff2"),url(/_astro/chakra-petch-latin-ext-400-normal.MNNNbyh_.woff)format("woff")}:root{--color-bg:#181818;--color-surface:#0e0e0e;--color-text:#e6e6e6;--color-muted:#868b88;--color-accent:#8ae46e;--color-accent-2:#ff79f9;--color-border:#2b2e2c;--font-display:"Chakra Petch", "Arial Narrow", system-ui, sans-serif;--font-body:"Chakra Petch", system-ui, sans-serif;--font-mono:"Share Tech Mono", ui-monospace, "Roboto Mono", monospace;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.5rem;--space-6:4rem;--side:clamp(16px, 2.8vw, 40px);--air:clamp(56px, 6.5vw, 96px);--header-h:110px;--text-h:clamp(30px, 3.3vw, 48px);--text-s:12px;--text-m:clamp(15px, 1.25vw, 18px);--content-width:90rem;--text-width:42rem;--radius:0;color-scheme:dark}@media (width<=860px){:root{--header-h:84px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font:var(--text-m) / 1.55 var(--font-body);margin:0}[hidden]{display:none!important}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent)}:focus-visible{outline:1px solid var(--color-accent);outline-offset:3px}h1,h2,h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;text-wrap:balance;font-weight:600;line-height:1.05}h1{font-size:var(--text-h)}h2{font-size:clamp(22px,2.2vw,32px)}h3{font-size:clamp(17px,1.4vw,21px)}.container{width:100%;max-width:var(--content-width);padding-left:max(var(--side), env(safe-area-inset-left,0px));padding-right:max(var(--side), env(safe-area-inset-right,0px));margin-inline:auto}.prose{max-width:var(--text-width)}.muted{color:var(--color-muted)}.label{font-family:var(--font-mono);font-size:var(--text-s);text-transform:uppercase;letter-spacing:.05em;font-weight:400;line-height:1.35}.label--dot:before{content:"■ ";color:var(--color-accent);vertical-align:2px;font-size:9px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bn img,img.bn{filter:grayscale()contrast(1.08)}.grid{gap:var(--space-5) var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));padding:0;list-style:none;display:grid}.card{color:inherit;text-decoration:none;display:block}.card img{filter:grayscale()contrast(1.08);transition:filter .3s}.card:hover img,.card:focus-visible img{filter:none}.card:hover h2,.card:hover h3,.card:focus-visible h2,.card:focus-visible h3{color:var(--color-accent)}.button{background:var(--color-accent);color:var(--color-bg);font-family:var(--font-mono);font-size:var(--text-s);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:0;padding:10px 14px;text-decoration:none;display:inline-block}.button:hover{background:var(--color-text)}.button--ghost{color:var(--color-text);background:0 0;border:1px solid #3a3a3a}.button--ghost:hover{border-color:var(--color-text);background:0 0}.link-arrow{font-family:var(--font-mono);font-size:var(--text-s);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);text-decoration:none}.link-arrow:after{content:" ↘"}.link-arrow:hover{color:var(--color-accent)}.embed{max-width:var(--text-width);margin-block:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-3);position:relative}.embed__thumb{aspect-ratio:16/9;object-fit:cover;width:100%;margin-bottom:var(--space-3)}.embed__play{font-family:var(--font-mono);font-size:var(--text-s);text-transform:uppercase;letter-spacing:.05em;background:var(--color-accent);color:var(--color-bg);cursor:pointer;border:0;padding:10px 14px}.embed__note{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:.875rem}.embed iframe{border:0;width:100%;display:block}.win{z-index:40;right:calc(var(--side) + env(safe-area-inset-right,0px));bottom:calc(40px + env(safe-area-inset-bottom,0px));background:var(--color-surface);border:1px solid var(--color-accent);width:260px;position:fixed}.win__bar{background:var(--color-accent);color:var(--color-bg);cursor:grab;user-select:none;touch-action:none;align-items:center;gap:4px;padding:3px 3px 3px 8px;display:flex}.win__bar.drag{cursor:grabbing}.win__ttl{flex:1}.win__bar button{background:var(--color-bg);color:var(--color-accent);width:22px;height:18px;font:12px var(--font-mono);cursor:pointer;border:0;padding:0}.win__body{padding:4px 10px 10px}.win a{color:var(--color-text);text-decoration:none}.win a:hover{color:var(--color-accent)}.win__foot{justify-content:flex-end;padding-top:8px;display:flex}.win__foot a{color:var(--color-accent)}.win.min .win__body{display:none}.win{transition:opacity .35s,translate .35s}.win.away{opacity:0;pointer-events:none;visibility:hidden;translate:0 24px}.win__reopen{z-index:40;right:calc(var(--side) + env(safe-area-inset-right,0px));bottom:calc(40px + env(safe-area-inset-bottom,0px));position:fixed}@media (width<=760px){.win{width:auto;padding-bottom:env(safe-area-inset-bottom,0px);border-width:1px 0 0;bottom:0;left:0;right:0}.win__bar{cursor:pointer;padding:8px max(var(--side), env(safe-area-inset-right,0px)) 8px max(var(--side), env(safe-area-inset-left,0px))}.win__bar [data-act=move]{display:none}.win__body{padding-left:max(var(--side), env(safe-area-inset-left,0px));padding-right:max(var(--side), env(safe-area-inset-right,0px))}.win__reopen{bottom:calc(16px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
