*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{color:#3bff5e;text-transform:uppercase;-webkit-font-smoothing:antialiased;background:#000;margin:0;padding:0;font-family:VT323,ui-monospace,Cascadia Mono,Courier New,monospace;font-size:16px;overflow:hidden}::selection{color:#02120a;background:#3bff5e}a{color:inherit}#crt,.loader{--phos:#3bff5e;--phos-dim:#0f8f34;--phos-bright:#dcffe4;--phos-amber:#ffb000;--crt-case:radial-gradient(circle at 50% 42%, #0a1410 0%, #050806 55%, #000 100%);--crt-glass:radial-gradient(125% 105% at 50% 38%, #06210f 0%, #04160a 52%, #010703 100%)}.crt{background:var(--crt-case);justify-content:center;align-items:center;padding:clamp(6px,2.2vmin,30px);display:flex;position:fixed;inset:0;overflow:hidden}.crt-defs{width:0;height:0;position:absolute;overflow:hidden}.crt-tube{background:var(--crt-glass);clip-path:url(#crt-shape);isolation:isolate;will-change:transform;width:100%;max-width:1680px;height:100%;animation:7.5s ease-in-out 1.1s infinite crt-hum;position:relative;overflow:hidden}.crt-tube:after{content:"";z-index:40;pointer-events:none;background:linear-gradient(to bottom, transparent 0%, var(--phos) 46%, var(--phos-bright) 50%, var(--phos) 54%, transparent 100%);transform-origin:50%;animation:1s cubic-bezier(.22,1,.36,1) both crt-power;position:absolute;inset:0}.crt-content{z-index:5;scrollbar-width:thin;scrollbar-color:var(--phos-dim) transparent;height:100%;padding:clamp(18px,4.2vmin,60px);animation:.9s ease-out .55s both crt-boot-fade;position:relative;overflow:hidden auto}.crt-content::-webkit-scrollbar{width:8px}.crt-content::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--phos) 40%, transparent)}.crt-overlay{z-index:11;pointer-events:none;position:absolute;inset:0}.crt-glow{background:radial-gradient(115% 92% at 50% 42%, color-mix(in srgb, var(--phos) 11%, transparent) 0%, transparent 68%);mix-blend-mode:screen}.crt-scanlines{background:repeating-linear-gradient(#00000057 0 1px,#0000 1px 3px);animation:6.5s linear infinite crt-scan-drift;inset:-4px 0}.crt-roll{background:linear-gradient(#dcffe400 0%,#dcffe40a 42%,#dcffe417 50%,#dcffe40a 58%,#dcffe400 100%);height:22%;animation:9s linear infinite crt-roll;inset:0 0 auto}.crt-vignette{z-index:14;background:radial-gradient(125% 125%,#0000 50%,#00000073 78%,#000000e0 100%)}.crt-glare{z-index:15;mix-blend-mode:screen;background:linear-gradient(135deg,#ffffff1c 0%,#ffffff08 17%,#0000 36%),radial-gradient(58% 38% at 76% 10%,#ffffff12,#0000 72%)}.crt-flicker{z-index:16;background:var(--phos-bright);mix-blend-mode:overlay;animation:4.2s steps(2,end) infinite crt-flicker}.screen{width:100%;max-width:1080px;color:var(--phos);text-shadow:0 0 .5em color-mix(in srgb, var(--phos) 32%, transparent);margin:0 auto;font-size:clamp(15px,2.1vmin,22px);line-height:1.45}.screen a{color:var(--phos-bright);border-bottom:1px solid color-mix(in srgb, var(--phos) 55%, transparent);text-decoration:none}.screen a:hover,.screen a:focus-visible{background:color-mix(in srgb, var(--phos) 24%, transparent);text-shadow:0 0 .8em var(--phos)}.rule{border:0;border-top:1px dashed color-mix(in srgb, var(--phos) 40%, transparent);margin:1.2em 0}.dim{color:var(--phos-dim)}.bright{color:var(--phos-bright)}.wordmark{white-space:pre;width:fit-content;max-width:100%;color:var(--phos-bright);text-shadow:0 0 .3em var(--phos), 0 0 1.1em color-mix(in srgb, var(--phos) 60%, transparent);margin:0 auto 1.4em;font-size:clamp(4.5px,2.15vw,16px);line-height:1.06;animation:1.1s ease-out both crt-wordmark-in;display:block}.caret{vertical-align:-.16em;width:.62em;height:1.02em;box-shadow:0 0 .55em color-mix(in srgb, var(--phos) 80%, transparent);background:currentColor;margin-left:.08em;animation:1.05s step-end infinite crt-blink;display:inline-block}.boot{flex-direction:column;justify-content:center;max-width:780px;min-height:100%;margin:0 auto;display:flex}.boot-banner{white-space:pre;color:var(--phos-bright);text-shadow:0 0 .55em color-mix(in srgb, var(--phos) 65%, transparent);margin:0 0 1.4em;font-size:clamp(8px,1.5vw,15px);line-height:1.25}.boot-line{white-space:pre-wrap;margin:.15em 0}.boot-progress{color:var(--phos-bright);white-space:pre;margin-top:1em}.terminal{display:none}.terminal[data-ready=true]{animation:.7s ease-out both crt-boot-fade;display:block}.output{white-space:pre-wrap;overflow-wrap:anywhere}.output .line{margin:0}.output .echo{color:var(--phos-bright)}.output .error{color:var(--phos-amber);text-shadow:0 0 .6em color-mix(in srgb, var(--phos-amber) 60%, transparent)}.prompt{align-items:baseline;margin-top:.15em;display:flex}.prompt-sym{color:var(--phos-bright);margin-right:.6ch}.prompt-echo{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--phos-bright)}.stdin{opacity:0;border:0;width:1px;height:1px;padding:0;position:fixed;top:50%;left:50%}.terminal[data-focus=true] .caret{animation-duration:.85s}.mail-slot,.game-slot{margin-top:1.2em}.slot-head{margin:0 0 .9em}.screen--terminal{flex-direction:column;min-height:100%;display:flex}.screen--terminal[data-overlay=true]{height:100%}.terminal[data-ready=true][data-mode]{flex-direction:column;flex:auto;min-height:0;display:flex}.terminal[data-mode] .output,.terminal[data-mode] .prompt,.terminal[data-mode]>form[data-stdin-form]{display:none}.terminal[data-mode]>.mail-slot,.terminal[data-mode]>.game-slot{scrollbar-width:thin;scrollbar-color:var(--phos-dim) transparent;flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.terminal[data-mode=mail] .mail-slot .contact-form{flex-direction:column;flex:auto;max-width:none;min-height:0;display:flex}.terminal[data-mode=mail] .mail-slot .contact-form .field--message{flex:auto;grid-template-rows:auto 1fr;min-height:0}.terminal[data-mode=mail] .mail-slot .contact-form textarea{min-height:5em}.terminal[data-mode=mail] .mail-slot .contact-form button,.terminal[data-mode=mail] .mail-slot .contact-form .form-status{align-self:flex-start}.blog-fallback{max-width:78ch}.blog-fallback article{margin-bottom:1.8em}.blog-fallback article p:first-child{color:var(--phos-bright)}.contact-form{border:1px solid color-mix(in srgb, var(--phos) 45%, transparent);background:color-mix(in srgb, var(--phos) 4%, transparent);max-width:64ch;box-shadow:inset 0 0 1.2em color-mix(in srgb, var(--phos) 8%, transparent), 0 0 1.2em color-mix(in srgb, var(--phos) 12%, transparent);gap:.95em;margin:.4em 0 0;padding:1.2em;display:grid}.field{gap:.3em;display:grid}.contact-form label{color:var(--phos-dim);letter-spacing:.09em;font-size:.85em}.contact-form input,.contact-form textarea{border:1px solid color-mix(in srgb, var(--phos) 38%, transparent);background:color-mix(in srgb, var(--phos) 3%, transparent);width:100%;color:var(--phos-bright);font:inherit;text-transform:uppercase;letter-spacing:.04em;caret-color:var(--phos);outline:none;padding:.45em .65em}.contact-form textarea{resize:vertical;min-height:8.5em}.contact-form input::placeholder,.contact-form textarea::placeholder{color:color-mix(in srgb, var(--phos-dim) 80%, transparent)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--phos);box-shadow:0 0 .7em color-mix(in srgb, var(--phos) 45%, transparent), inset 0 0 .7em color-mix(in srgb, var(--phos) 18%, transparent)}.contact-form button{border:1px solid var(--phos);color:var(--phos-bright);font:inherit;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;background:0 0;justify-self:start;padding:.5em 1.6em;transition:background .12s linear,box-shadow .12s linear}.contact-form button:hover,.contact-form button:focus-visible{background:color-mix(in srgb, var(--phos) 22%, transparent);box-shadow:0 0 1em color-mix(in srgb, var(--phos) 55%, transparent)}.contact-form button:disabled{opacity:.45;cursor:progress}.form-status{min-height:1.25em;color:var(--phos);margin:0}.form-status[data-state=error]{color:var(--phos-amber);text-shadow:0 0 .7em color-mix(in srgb, var(--phos-amber) 60%, transparent)}.form-status[data-state=ok]{color:var(--phos-bright);text-shadow:0 0 .7em color-mix(in srgb, var(--phos) 60%, transparent)}.honeypot{opacity:0;width:1px;height:1px;overflow:hidden;position:absolute!important;left:-9999px!important}.loader{z-index:9999;color:var(--phos);text-shadow:0 0 .5em color-mix(in srgb, var(--phos) 35%, transparent);background:radial-gradient(circle at 50% 42%,#0a1410 0%,#050806 55%,#000 100%);place-items:center;padding:clamp(20px,5vmin,64px);transition:opacity .34s,transform .34s;display:grid;position:fixed;inset:0}.loader:after{content:"";pointer-events:none;background:repeating-linear-gradient(#00000057 0 1px,#0000 1px 3px);position:absolute;inset:0}.loader[data-done=true]{opacity:0;pointer-events:none;transform:scale(1.015)}.loader-inner{width:min(560px,100%)}.loader-banner{white-space:pre;color:var(--phos-bright);text-shadow:0 0 .5em color-mix(in srgb, var(--phos) 65%, transparent);margin:0 0 1.2em;font-size:clamp(9px,2.1vw,16px);line-height:1.2}.loader-log{min-height:8.4em;font-size:clamp(13px,2.2vmin,19px);line-height:1.5}.loader-log p{margin:0}.loader-bar{white-space:pre;color:var(--phos-bright);margin:.6em 0 0;font-size:clamp(13px,2.2vmin,19px)}.loader-hint{letter-spacing:.1em;color:var(--phos-dim);margin:1.2em 0 0;font-size:.82em}@keyframes crt-power{0%{opacity:1;filter:brightness(2.4);transform:scaleY(.002)}32%{opacity:1;filter:brightness(1.6);transform:scaleY(1)}to{opacity:0;filter:brightness();transform:scaleY(1)}}@keyframes crt-boot-fade{0%{opacity:0}to{opacity:1}}@keyframes crt-wordmark-in{0%{opacity:0;filter:brightness(2.4)blur(2px)}to{opacity:1;filter:brightness()blur()}}@keyframes crt-hum{0%,to{transform:scale(1)translate(0,0)}25%{transform:scale(1.0007)translate(.3px,-.25px)}50%{transform:scale(1.0013)translate(-.25px,.3px)}75%{transform:scale(1.0006)translate(.2px,.25px)}}@keyframes crt-scan-drift{0%{transform:translateY(0)}to{transform:translateY(3px)}}@keyframes crt-roll{0%{opacity:0;transform:translateY(-120%)}12%{opacity:1}88%{opacity:1}to{opacity:0;transform:translateY(560%)}}@keyframes crt-flicker{0%,to{opacity:.016}7%{opacity:.03}8%{opacity:.012}31%{opacity:.026}32%{opacity:.015}64%{opacity:.028}65%{opacity:.014}86%{opacity:.024}}@keyframes crt-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.crt-tube,.crt-tube:after,.crt-content,.crt-scanlines,.crt-roll,.crt-flicker,.caret,.wordmark,.terminal[data-ready=true]{animation:none!important}.crt-tube:after{display:none}.crt-roll,.crt-flicker{opacity:.02}.loader{transition:none!important}}
