@font-face{font-family:Courier Prime;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/CourierPrime-ext.woff2)format("woff2");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:Courier Prime;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/CourierPrime.woff2)format("woff2");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-weight:400;font-display:swap;src:url(/fonts/VT323-ext.woff2)format("woff2");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-weight:400;font-display:swap;src:url(/fonts/VT323.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-ext.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrains-ext.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrains.woff2)format("woff2");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:Oxanium;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Oxanium-ext.woff2)format("woff2");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:Oxanium;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Oxanium.woff2)format("woff2");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:Silkscreen;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Silkscreen-ext.woff2)format("woff2");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:Silkscreen;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Silkscreen.woff2)format("woff2");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{--bg:#241c13;--bg-deep:#1a140d;--fg:#ffb454;--fg-bright:#ffd493;--fg-dim:#a97a3f;--glow:#ffb45466;--img-filter:grayscale(1) sepia(1) saturate(2.4) hue-rotate(-8deg) brightness(.95) contrast(1.05);--font-terminal:"Courier Prime", monospace}:root[data-theme=green] body{--bg:#0c1710;--bg-deep:#07100a;--fg:#4af66c;--fg-bright:#a8ffbb;--fg-dim:#2c9447;--glow:#4af66c59;--img-filter:grayscale(1) sepia(1) saturate(2.4) hue-rotate(65deg) brightness(.9) contrast(1.05);--font-terminal:"VT323", monospace}:root[data-theme=cyan] body{--bg:#071519;--bg-deep:#040d10;--fg:#38e8ff;--fg-bright:#b5f8ff;--fg-dim:#238c9b;--glow:#38e8ff59;--img-filter:grayscale(1) sepia(1) saturate(2.2) hue-rotate(145deg) brightness(.9) contrast(1.05);--font-terminal:"IBM Plex Mono", monospace}:root[data-theme=mono] body{--bg:#111;--bg-deep:#080808;--fg:#eee;--fg-bright:#fff;--fg-dim:#888;--glow:none;--img-filter:grayscale(1) brightness(.9) contrast(1.05);--font-terminal:"JetBrains Mono", monospace}:root[data-theme=blue] body{--bg:#07111f;--bg-deep:#040a12;--fg:#4da6ff;--fg-bright:#b8dcff;--fg-dim:#2d679d;--glow:#4da6ff59;--img-filter:grayscale(1) sepia(1) saturate(2) hue-rotate(175deg) brightness(.9) contrast(1.05);--font-terminal:"Share Tech Mono", monospace}:root[data-theme=purple] body{--bg:#130b18;--bg-deep:#0a060d;--fg:#d06cff;--fg-bright:#edc2ff;--fg-dim:#81459b;--glow:#d06cff4d;--img-filter:grayscale(1) sepia(1) saturate(2.5) hue-rotate(260deg) brightness(.9) contrast(1.05);--font-terminal:"Silkscreen", monospace}:root[data-theme=red] body{--bg:#180808;--bg-deep:#0d0404;--fg:#ff4545;--fg-bright:#ffb0b0;--fg-dim:#a32e2e;--glow:#ff45454d;--img-filter:grayscale(1) sepia(1) saturate(3) hue-rotate(325deg) brightness(.9) contrast(1.05);--font-terminal:"Oxanium", monospace}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg-deep)}body{font-family:var(--font-terminal);letter-spacing:.05em;background:var(--bg);background-image:radial-gradient(ellipse 120% 90% at 50% 10%, color-mix(in srgb, var(--fg) 4%, var(--bg)) 0%, var(--bg) 70%);color:var(--fg);text-shadow:0 0 6px var(--glow);min-height:100dvh;font-size:1rem;line-height:1.5}body:before{content:"";z-index:100;pointer-events:none;background:repeating-linear-gradient(0deg,#00000038 0 1px,#0000 1px 3px);position:fixed;inset:0}body:after{content:"";z-index:101;pointer-events:none;background:radial-gradient(100% 100%,#0000 55%,#0000006b 100%);position:fixed;inset:0}.crt{animation:4s infinite flicker}@keyframes flicker{0%,to{opacity:1}3%{opacity:.96}4%{opacity:1}38%{opacity:1}39%{opacity:.97}40%{opacity:1}71%{opacity:1}72%{opacity:.95}73%{opacity:1}}@media (prefers-reduced-motion:reduce){.crt{animation:none}*{animation-duration:.01ms!important}}::selection{background:var(--fg);color:var(--bg);text-shadow:none}:focus-visible{outline:2px solid var(--fg-bright);outline-offset:2px}.container{max-width:1080px;margin:0 auto;padding:24px 20px 40px}main{margin-top:32px}a{color:var(--fg);text-decoration:none}a:hover{color:var(--fg-bright)}button{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;text-shadow:inherit;background:0 0;border:none}.t-header{align-items:stretch;gap:24px;display:flex}.logo{border:2px solid var(--fg);box-shadow:inset 0 0 0 2px var(--bg), inset 0 0 0 3px var(--fg);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;min-width:110px;padding:10px 16px;display:flex}.logo:hover{background:var(--fg);color:var(--bg);text-shadow:none}.logo-glyph{font-size:2em;line-height:1}.logo-name{letter-spacing:.15em;font-size:.7em}.h-info{flex-direction:column;flex:auto;justify-content:space-between;min-width:0;display:flex}.h-line{white-space:nowrap;text-overflow:ellipsis;padding:4px 2px;overflow:hidden}.h-line-top{border-bottom:2px solid var(--fg)}.h-line-bottom{border-bottom:2px solid var(--fg);color:var(--fg);justify-content:space-between;gap:16px;display:flex}.h-nav{flex-wrap:wrap;gap:4px 24px;padding:6px 2px 0;display:flex}.h-nav a,.h-nav .nav-theme{white-space:nowrap}.toggles{gap:16px;display:flex}.toggles--header{margin-left:auto}.toggles--footer{display:none}.nav-sound{white-space:nowrap}.nav-sound[aria-pressed=false]{color:var(--fg-dim)}.h-nav a:hover,.nav-theme:hover,.nav-sound:hover,.h-nav a[aria-current=page]{background:var(--fg);color:var(--bg);text-shadow:none}@media (width<=640px){.t-header{flex-direction:column;gap:16px}.logo{flex-direction:row;gap:12px;padding:8px 12px}.logo-glyph{font-size:1.4em}.h-line-bottom span:first-child{text-overflow:ellipsis;overflow:hidden}}.frame{border:2px solid var(--fg);margin:40px 0;padding:5px;position:relative;box-shadow:0 0 18px #00000059}.frame-body{border:1px solid var(--fg);padding:20px 24px}.frame-title{background:var(--bg);letter-spacing:.15em;white-space:nowrap;text-overflow:ellipsis;max-width:90%;padding:0 16px;font-size:1em;font-weight:400;position:absolute;top:-.75em;left:50%;overflow:hidden;transform:translate(-50%)}.menu-list{flex-direction:column;gap:8px;display:flex}.menu-item{border:1px solid #0000;align-items:baseline;gap:14px;padding:10px 14px;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--fg);color:var(--bg);text-shadow:none;outline:none}.mi-marker{flex:none}.mi-title{min-width:0}.mi-date{color:var(--fg-dim);flex:none;margin-left:auto}.menu-item:hover .mi-date,.menu-item:focus-visible .mi-date{color:var(--bg)}.mi-arrow{flex:none}.year-sep{color:var(--fg-dim);margin:24px 0 10px}.year-sep:first-child{margin-top:0}@media (width<=640px){.menu-item{flex-wrap:wrap;align-items:flex-start;gap:0 10px}.mi-marker{flex:none}.mi-title{flex:1 1 0}.mi-date{order:3;width:100%;margin:2px 0 0 34px}.mi-arrow{display:none}}.boot{margin-bottom:48px}.boot-line{opacity:0;animation:10ms step-end forwards boot-in;animation-delay:calc(var(--i) * .18s);white-space:pre-wrap}@keyframes boot-in{to{opacity:1}}@media (prefers-reduced-motion:reduce){.boot-line{opacity:1;animation:none}}.cursor:after{content:"█";margin-left:2px;animation:1.1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.post-title{text-transform:uppercase;color:var(--fg-bright);margin-bottom:12px;font-size:1.6em;line-height:1.25}.post-meta{color:var(--fg-dim);border-bottom:1px solid var(--fg-dim);margin-bottom:24px;padding-bottom:14px}.post-meta a:hover{background:var(--fg);color:var(--bg);text-shadow:none}.post-hero{width:100%;height:auto;margin-bottom:28px;display:block}.post-nav{margin-top:32px}.prose>*+*{margin-top:1.1em}.prose h2,.prose h3,.prose h4{color:var(--fg-bright);text-transform:uppercase;margin-top:1.8em;font-weight:400}.prose h2{font-size:1.3em}.prose h3{font-size:1.1em}.prose h4{font-size:1em}.prose h2:before{content:"== ";color:var(--fg-dim)}.prose h2:after{content:" ==";color:var(--fg-dim)}.prose h3:before{content:"-- ";color:var(--fg-dim)}.prose a{color:var(--fg-bright);text-underline-offset:3px;text-decoration:underline}.prose a:hover{background:var(--fg);color:var(--bg);text-shadow:none}.prose ul,.prose ol{padding-left:0;list-style:none}.prose ul li,.prose ol li{margin-top:.4em;padding-left:28px;position:relative}.prose ul li:before{content:"▸";color:var(--fg-dim);position:absolute;left:4px}.prose ol{counter-reset:item}.prose ol li:before{counter-increment:item;content:counter(item, decimal-leading-zero) ".";color:var(--fg-dim);position:absolute;left:0}.prose ol li{padding-left:44px}.prose blockquote{border-left:3px double var(--fg);color:var(--fg-bright);background:var(--bg-deep);padding:8px 20px}.prose code{background:var(--bg-deep);border:1px solid var(--fg-dim);overflow-wrap:anywhere;padding:1px 6px}.prose pre{background:var(--bg-deep);border:1px solid var(--fg);padding:16px 20px;overflow-x:auto}.prose pre code{background:0 0;border:none;padding:0}.prose hr{border:none;border-top:1px dashed var(--fg-dim);margin:2em 0}.prose img{border:1px solid var(--fg);max-width:100%;height:auto;filter:var(--img-filter);padding:4px;display:block}.prose table{border-collapse:collapse;width:100%}.prose th,.prose td{border:1px solid var(--fg-dim);text-align:left;padding:6px 12px}.prose th{color:var(--fg-bright);text-transform:uppercase}.post-hero,.about-photo{filter:var(--img-filter);border:1px solid var(--fg);padding:4px}.records{grid-template-columns:max-content 1fr;gap:6px 24px;display:grid}.records dt{color:var(--fg-dim)}.records dt:after{content:":"}.t-footer{align-items:center;gap:20px;margin-top:64px;display:flex}.t-footer:before,.t-footer:after{content:"";border-top:2px solid var(--fg);flex:40px}.t-colophon{text-align:center;color:var(--fg-dim);flex:none;font-size:.8em}.error-code{color:var(--fg-bright);text-align:center;margin:24px 0 8px;font-size:5em;line-height:1}.error-text{text-align:center;margin-bottom:24px}.crt-boot{z-index:900;background:var(--bg-deep);color:var(--fg);text-shadow:0 0 6px var(--glow);cursor:pointer;transition:opacity .35s ease-out;position:fixed;inset:0;overflow:hidden}.crt-boot--off{display:none}.crt-boot--done{opacity:0;pointer-events:none}.crt-boot__screen{transform-origin:50%;max-width:1080px;margin:0 auto;padding:24px 20px 40px;animation:.5s ease-out both crt-power-on}@keyframes crt-power-on{0%{filter:brightness(4);opacity:.85;transform:scaleY(.004)}55%{filter:brightness(3);transform:scaleY(.02)}to{filter:brightness();opacity:1;transform:scaleY(1)}}.crt-boot__lines{white-space:pre-wrap;opacity:0;font-size:clamp(.7rem,2.6vw,1rem);animation:10ms step-end .5s forwards boot-in}.crt-boot__lines .boot-line{animation-delay:calc(.5s + var(--i) * 90ms)}.crt-boot__skip{text-align:right;color:var(--fg-dim);opacity:0;margin-top:24px;font-size:.8em;animation:10ms step-end 1.4s forwards boot-in}@media (prefers-reduced-motion:reduce){.crt-boot{display:none}}.hack{font-size:clamp(.95rem,3.2vw,1.2rem);line-height:1.5}.hack__head{margin-bottom:16px}.hack__head p{margin:0}.hack__attempts{color:var(--fg-bright);letter-spacing:.2em}.hack__attempts .used{color:var(--fg-dim);opacity:.5}.hack__status{min-height:1.5em;margin-top:4px}.hack__status.granted{color:var(--fg-bright)}.hack__status.denied{color:var(--fg)}.hack__status .hack__cursor:after{content:"█";animation:1.1s step-end infinite blink}.hack__grid{grid-template-columns:max-content max-content;justify-content:start;gap:0 clamp(16px,3vw,32px);margin-top:8px;display:grid}.hack__col{flex-direction:column;display:flex}.hack__row{white-space:pre;gap:12px;display:flex}.hack__addr{color:var(--fg-dim);user-select:none}.hack__stream{letter-spacing:.05em}.hack__char:hover{background:var(--fg);color:var(--bg);text-shadow:none}.hack__word{cursor:pointer}.hack__word:hover,.hack__word.is-active{background:var(--fg);color:var(--bg);text-shadow:none}.hack__word.is-dud{color:var(--fg-dim);cursor:default;pointer-events:none;text-decoration:line-through}.hack__retry{color:var(--fg-bright);text-underline-offset:3px;text-decoration:underline}.hack__retry:hover{background:var(--fg);color:var(--bg);text-shadow:none}.hack__exits{border-top:1px dashed var(--fg-dim);margin-top:24px;padding-top:16px}.hack-gate{z-index:800;background:var(--bg);background-image:radial-gradient(ellipse 120% 90% at 50% 10%, color-mix(in srgb, var(--fg) 4%, var(--bg)) 0%, var(--bg) 70%);transition:opacity .5s ease-out;position:fixed;inset:0;overflow-y:auto}.hack-gate--done{opacity:0;pointer-events:none}.hack-gate__inner{max-width:1080px;margin:0 auto;padding:24px 20px 40px}@media (width<=640px){.hack__grid{gap:0 12px}}.hack__list{border:1px solid var(--fg-dim);flex-direction:column;margin-top:16px;display:flex}.hack__word--row{width:100%;min-height:48px;font:inherit;color:inherit;text-align:left;border:0;border-bottom:1px solid var(--fg-dim);text-shadow:inherit;background:0 0;align-items:center;gap:16px;padding:0 14px;display:flex}.hack__word--row:last-child{border-bottom:0}.hack__word--row .hack__word-label{letter-spacing:.15em}.hack__word--row:active,.hack__word--row:focus-visible{background:var(--fg);color:var(--bg);text-shadow:none;outline:none}.hack__word--row:active .hack__addr,.hack__word--row:focus-visible .hack__addr{color:var(--bg)}.hack__word--row.is-dud{color:var(--fg-dim);pointer-events:none;text-decoration:line-through}@media (width<=640px){.crt{animation:none}body:before,body:after{display:none}body{text-shadow:none;letter-spacing:.02em}.frame{border-width:1px;margin:20px 0;padding:0}.frame-body{border:0;padding:16px 14px}.h-line-bottom{display:none}.h-nav{gap:4px 10px}.h-nav a,.h-nav button{align-items:center;min-height:44px;display:inline-flex}.toggles--header{display:none}.toggles--footer{gap:20px;margin-top:12px;display:flex}.toggles--footer button{align-items:center;min-height:44px;display:inline-flex}.menu-item{min-height:48px;padding:10px 12px}.container{padding-left:14px;padding-right:14px}.prose table{white-space:nowrap;display:block;overflow-x:auto}.prose th,.prose td{padding:6px 10px}.h-line-top{white-space:normal;text-overflow:clip;overflow:visible}.t-footer{flex-direction:column;align-items:flex-start;gap:0}.t-footer:before,.t-footer:after{display:none}.t-colophon{text-align:left;border-top:1px solid var(--fg-dim);flex:auto;min-width:0;padding-top:12px}}
