@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/bungee-vietnamese-400-normal.B6gKbkHm.woff2)format("woff2"),url(/_astro/bungee-vietnamese-400-normal.CmjDSWyd.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/bungee-latin-ext-400-normal.DWzJMwsA.woff2)format("woff2"),url(/_astro/bungee-latin-ext-400-normal.DXe9_7Rr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/bungee-latin-400-normal.Dfnurram.woff2)format("woff2"),url(/_astro/bungee-latin-400-normal.DA8IEVW_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/vt323-vietnamese-400-normal.D0VnvwZ9.woff2)format("woff2"),url(/_astro/vt323-vietnamese-400-normal.D_5Q7Vcv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/vt323-latin-ext-400-normal.iUdYUaX4.woff2)format("woff2"),url(/_astro/vt323-latin-ext-400-normal.DqOq58ri.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/vt323-latin-400-normal.wDgJuOC9.woff2)format("woff2"),url(/_astro/vt323-latin-400-normal.Dqn9ZSPj.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/space-mono-vietnamese-400-normal.BNOj0Qhp.woff2)format("woff2"),url(/_astro/space-mono-vietnamese-400-normal.B0PMp_xB.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/space-mono-latin-ext-400-normal.DTLbW2xa.woff2)format("woff2"),url(/_astro/space-mono-latin-ext-400-normal.D4cJI_B-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/space-mono-latin-400-normal.Rg4St2Dn.woff2)format("woff2"),url(/_astro/space-mono-latin-400-normal._3DlpgIW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-mono-vietnamese-700-normal.DWQgDHuA.woff2)format("woff2"),url(/_astro/space-mono-vietnamese-700-normal.D-KrLuLr.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-mono-latin-ext-700-normal.B2s3bDs2.woff2)format("woff2"),url(/_astro/space-mono-latin-ext-700-normal.B_E7P90g.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-mono-latin-700-normal.mWgeinG7.woff2)format("woff2"),url(/_astro/space-mono-latin-700-normal.D7A851RN.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--room:#141017;--room-2:#221a24;--red:#b8232f;--red-dark:#7c1420;--red-light:#dc3b44;--cream:#f4ead2;--cream-dark:#d9cba6;--chrome:#c8ccd3;--chrome-dark:#7d838e;--glass:#0f1117;--warm-light:#ffe7a8;--led:#ff5a3c;--led-dim:#4a130c;--ink:#1d1a17;--paper:#fbf7ee;--muted:#8b8091;--font-display:"Bungee", system-ui, sans-serif;--font-led:"VT323", ui-monospace, monospace;--font-mono:"Space Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-mono);color:var(--cream);background:radial-gradient(ellipse 70% 55% at 50% 38%, #ffd28c21, transparent 70%), linear-gradient(180deg, var(--room) 0%, var(--room) 72%, var(--room-2) 72%, #18121a 100%);background-attachment:fixed;margin:0;font-size:15px;line-height:1.6}a{color:inherit}:focus-visible{outline:3px solid var(--warm-light);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1040px;margin:0 auto;padding:20px 16px;display:flex}.topbar .brand{font-family:var(--font-display);color:var(--cream);letter-spacing:.02em;font-size:18px;text-decoration:none}.topbar .brand:hover{color:var(--warm-light)}.topbar nav{flex-wrap:wrap;gap:6px;display:flex}.topbar nav a{font-family:var(--font-led);text-transform:uppercase;color:var(--led);text-shadow:0 0 8px #ff5a3c99;background:#120806;border:1px solid #2c1410;border-radius:6px;padding:7px 12px 6px;font-size:20px;line-height:1;text-decoration:none}.topbar nav a[aria-current=page],.topbar nav a:hover{border-color:var(--led);background:#2a0f0a}.page{max-width:1040px;margin:0 auto;padding:8px 16px 80px}.kicker{font-family:var(--font-led);color:var(--led);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:22px}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;font-weight:400;line-height:1.1}.paper{background:var(--paper);color:var(--ink);border-radius:4px;box-shadow:0 1px #0000001a,0 24px 50px -20px #000000b3}.prose{font-size:15px;line-height:1.75}.prose h2{margin:2em 0 .6em;font-size:20px}.prose a{color:var(--red);text-underline-offset:3px}.prose ul{padding-left:1.2em}.prose li{margin:.3em 0}.prose li::marker{content:"▪  ";color:var(--red)}.prose code{font-family:var(--font-mono);background:#efe6d2;border-radius:3px;padding:1px 5px;font-size:.92em}.btn{font-family:var(--font-display);color:var(--ink);background:var(--cream);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:hover{box-shadow:0 4px 0 var(--ink);transform:translateY(-1px)}.btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:root{--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}body:before{content:"";z-index:100;pointer-events:none;background-image:var(--grain);opacity:.09;mix-blend-mode:overlay;position:fixed;inset:0}body:after{content:"";z-index:100;pointer-events:none;opacity:.35;background:repeating-linear-gradient(#0000 0 2px,#0000001f 2px 3px);position:fixed;inset:0}.secret{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.secret.is-found{cursor:default}.teddy{width:100%;height:auto;display:block}.toast-stack{z-index:120;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;left:16px}.toast{min-width:240px;max-width:calc(100vw - 32px);color:var(--cream);background:linear-gradient(90deg,#0a0806f2,#0a0806cc);border-left:3px solid #e8b84a;align-items:center;gap:12px;padding:10px 16px 10px 12px;animation:.35s cubic-bezier(.2,1.4,.4,1) both toast-in;display:flex;box-shadow:0 10px 30px #00000080}.toast.is-leaving{animation:.3s ease-in both toast-out}.toast__icon{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);background:#e8b84a;flex:none;width:26px;height:26px;animation:1.2s ease-out glint-spin}.toast__kicker{font-family:var(--font-led);color:#e8b84a;text-transform:uppercase;letter-spacing:.06em;font-size:16px;line-height:1;display:block}.toast__text{font-size:13px;line-height:1.35;display:block}@keyframes toast-in{0%{opacity:0;transform:translate(-30px)}}@keyframes toast-out{to{opacity:0;transform:translate(-30px)}}@keyframes glint-spin{0%{transform:rotate(-90deg)scale(.2)}}.flash-115:before{mix-blend-mode:color;opacity:0;background-color:#3cff7a;background-image:none;animation:2.4s ease-out flash-115}@keyframes flash-115{0%{opacity:0}8%{opacity:.55}14%{opacity:.1}20%{opacity:.5}to{opacity:0}}body.golden .topbar .brand,body.golden .r-brand{background:linear-gradient(#fff3b0,#e8b84a 50%,#9c6b12);color:#0000;-webkit-background-clip:text;background-clip:text}.devconsole{z-index:110;height:min(46vh,380px);font-family:var(--font-mono);color:#b9f5c6;backdrop-filter:blur(4px);background:#040805f0;border-top:1px solid #78ffa04d;flex-direction:column;font-size:13px;line-height:1.5;transition:transform .22s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%);box-shadow:0 -20px 40px #00000080}.devconsole.is-open{transform:none}.devconsole__bar{letter-spacing:.12em;text-transform:uppercase;color:#b9f5c68c;border-bottom:1px solid #78ffa01f;justify-content:space-between;padding:6px 16px;font-size:11px;display:flex}.devconsole__log{white-space:pre-wrap;word-break:break-word;flex:1;padding:10px 16px;overflow-y:auto}.devconsole__log .dim{color:#b9f5c680}.devconsole__log .warn{color:#ffd166}.devconsole__log .hot{color:#ff7b5c}.devconsole__row{border-top:1px solid #78ffa01f;gap:8px;padding:8px 16px 12px;display:flex}.devconsole__row span{color:#3cff7a}.devconsole__input{font:inherit;color:inherit;caret-color:#3cff7a;background:0 0;border:0;outline:none;flex:1}.toast__badge{object-fit:contain;width:34px;height:34px;image-rendering:pixelated;flex:none;animation:.9s ease-out glint-spin}.jukebox{z-index:115;max-width:calc(100vw - 32px);color:var(--cream);background:#0e0a08f0;border:1px solid #e8b84a59;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;transition:transform .25s;display:flex;position:fixed;bottom:16px;right:16px;transform:translateY(140%);box-shadow:0 14px 34px #0000008c}.jukebox.is-open{transform:none}.jukebox__art{width:34px;height:34px;image-rendering:pixelated;flex:none}.jukebox.is-playing .jukebox__art{animation:.94s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-3px)rotate(-6deg)}}.jukebox__meta{flex-direction:column;min-width:0;display:flex}.jukebox__kicker{font-family:var(--font-led);color:#e8b84a;text-transform:uppercase;font-size:14px;line-height:1}.jukebox__title{white-space:nowrap;text-overflow:ellipsis;max-width:190px;font-size:12px;overflow:hidden}.jukebox__controls{align-items:center;gap:4px;display:flex}.jukebox__controls button{appearance:none;cursor:pointer;width:30px;height:30px;color:var(--cream);background:#ffffff14;border:0;border-radius:6px;font-size:13px}.jukebox__controls button:hover{background:#ffffff29}.jukebox__vol input{accent-color:#e8b84a;vertical-align:middle;width:90px}.jukebox__pct{font-family:var(--font-led);text-align:right;color:#f4ead2b3;width:36px;font-size:16px}@media (width<=560px){.jukebox{flex-wrap:wrap;left:16px}.jukebox__title{max-width:60vw}.jukebox__vol input{width:70px}}
