:root{--bg: #080808;--ink: #38ff14;--ink-dim: #1f8c0c;--ink-glow: rgba(56, 255, 20, .45);--font-heading: "Audiowide", system-ui, sans-serif;--font-body: "VT323", ui-monospace, monospace;--font-button: "Xanh Mono", ui-monospace, monospace;--font-meta: "Inter", system-ui, sans-serif;--maxw: 1100px;--gap: clamp(1rem, 3vw, 2rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:22px;line-height:1.45;letter-spacing:.3px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,#0000 0px 2px,#0000002e 3px,#0000 4px);opacity:.5;mix-blend-mode:multiply}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:400;line-height:1.1;text-transform:none;margin:0 0 .6em;text-shadow:0 0 12px var(--ink-glow)}h1{font-size:clamp(2rem,6vw,4rem)}h2{font-size:clamp(1.6rem,4vw,2.6rem)}h3{font-size:clamp(1.3rem,3vw,1.9rem)}h4{font-size:clamp(1.05rem,2.2vw,1.3rem)}p{margin:0 0 1rem}a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink-dim);transition:text-shadow .15s ease,border-color .15s ease}a:hover{text-shadow:0 0 10px var(--ink-glow);border-color:var(--ink)}img{max-width:100%;height:auto;display:block}.container{width:min(100% - 2rem,var(--maxw));margin-inline:auto}.btn{display:inline-block;font-family:var(--font-button);font-size:1.05rem;letter-spacing:1px;text-transform:uppercase;color:var(--ink);background:var(--bg);border:1px solid var(--ink);padding:.7em 1.6em;cursor:pointer;text-decoration:none;box-shadow:0 0 0 var(--ink-glow);transition:box-shadow .2s ease,background .2s ease}.btn:hover{box-shadow:0 0 18px var(--ink-glow);background:#0d130b}.meta{font-family:var(--font-meta);font-size:.8rem;letter-spacing:.5px;color:var(--ink-dim)}section{padding-block:clamp(3rem,8vw,6rem)}.section-title{margin-bottom:1.5rem}.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--bg);padding:.5rem 1rem;z-index:10000}.skip-link:focus{left:0}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important}}.crt-flash{position:fixed;inset:0;z-index:10000;pointer-events:none;background:var(--ink);opacity:0}:root.booted .crt-flash{animation:crtOn .6s ease-out forwards}@keyframes crtOn{0%{opacity:0;transform:scaleY(.002);background:#eafff0}8%{opacity:.9;transform:scaleY(.004)}18%{opacity:.6;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}:root:not(.reduce-fx) body:before{background:repeating-linear-gradient(0deg,#0000 0px 2px,#0003 3px,#0000 4px);box-shadow:inset 0 0 200px #38ff140d}:root:not(.reduce-fx) body:after{content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;background:radial-gradient(circle 320px at var(--mx, 50%) var(--my, 50%),rgba(56,255,20,.08),rgba(56,255,20,0) 70%);transition:background .15s ease-out}.glitch{position:relative;display:inline-block}:root:not(.reduce-fx) .glitch:hover:before,:root:not(.reduce-fx) .glitch:hover:after{content:attr(data-text);position:absolute;inset:0;pointer-events:none}:root:not(.reduce-fx) .glitch:hover:before{color:#ff2e88;left:2px;text-shadow:-1px 0 #ff2e88;clip-path:inset(0 0 55% 0);animation:glitchTop .4s steps(2) infinite}:root:not(.reduce-fx) .glitch:hover:after{color:#2effe7;left:-2px;text-shadow:1px 0 #2effe7;clip-path:inset(55% 0 0 0);animation:glitchBot .4s steps(2) infinite}@keyframes glitchTop{0%,to{transform:translate(0)}50%{transform:translate(-2px)}}@keyframes glitchBot{0%,to{transform:translate(0)}50%{transform:translate(2px)}}:root.booting .crt-flash{display:none}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;background:#080808d9;backdrop-filter:blur(6px);border-bottom:1px solid var(--ink-dim)}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;padding-block:.9rem;gap:1rem}.logo[data-astro-cid-3ef6ksr2]{font-family:var(--font-body);font-size:1.9rem;letter-spacing:2px;color:var(--ink);border-bottom:none;text-shadow:0 0 12px var(--ink-glow)}.site-nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:clamp(.8rem,2.5vw,2rem)}.nav-link[data-astro-cid-3ef6ksr2]{font-family:var(--font-body);font-size:1.3rem;letter-spacing:1px;color:var(--ink);border-bottom:1px solid transparent;padding-bottom:2px}.nav-link[data-astro-cid-3ef6ksr2].active{border-color:var(--ink)}.nav-external[data-astro-cid-3ef6ksr2]{font-size:1.4rem}.nav-toggle[data-astro-cid-3ef6ksr2],.nav-burger[data-astro-cid-3ef6ksr2]{display:none}@media (max-width: 720px){.nav-burger[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:6px}.nav-burger[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{width:26px;height:2px;background:var(--ink);box-shadow:0 0 6px var(--ink-glow)}.site-nav[data-astro-cid-3ef6ksr2]{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--bg);border-bottom:1px solid var(--ink-dim);max-height:0;overflow:hidden;transition:max-height .25s ease}.nav-toggle[data-astro-cid-3ef6ksr2]:checked~.site-nav[data-astro-cid-3ef6ksr2]{max-height:320px}.site-nav[data-astro-cid-3ef6ksr2] .nav-link[data-astro-cid-3ef6ksr2]{width:100%;padding:.9rem 1.5rem;font-size:1.5rem}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--ink-dim);padding-block:2.5rem;margin-top:2rem}.footer-inner[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.logo-sm[data-astro-cid-sz7xmlte]{font-family:var(--font-body);font-size:1.6rem;letter-spacing:2px;text-shadow:0 0 10px var(--ink-glow)}.footer-nav[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-family:var(--font-body);font-size:1.15rem;border-bottom:none}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{text-shadow:0 0 10px var(--ink-glow)}.egg-hint[data-astro-cid-sz7xmlte]{opacity:.4;font-style:italic;cursor:help}.egg-hint[data-astro-cid-sz7xmlte]:hover{opacity:.8}.boot[data-astro-cid-qozdfemc]{position:fixed;inset:0;z-index:10001;background:#050505;display:none;align-items:center;justify-content:center;padding:2rem;cursor:pointer}.boot[data-astro-cid-qozdfemc].active{display:flex}.boot-screen[data-astro-cid-qozdfemc]{font-family:var(--font-body);font-size:clamp(1rem,2.4vw,1.5rem);color:var(--ink);text-shadow:0 0 8px var(--ink-glow);line-height:1.6;margin:0;white-space:pre-wrap;max-width:680px;width:100%}.boot-screen[data-astro-cid-qozdfemc]:after{content:"█";animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.boot-skip[data-astro-cid-qozdfemc]{position:absolute;bottom:2rem;right:2rem;font-family:var(--font-button);font-size:.9rem;letter-spacing:1px;background:transparent;color:var(--ink-dim);border:1px solid var(--ink-dim);padding:.4rem .9rem;cursor:pointer}.boot-skip[data-astro-cid-qozdfemc]:hover{color:var(--ink);border-color:var(--ink)}.boot[data-astro-cid-qozdfemc].active .boot-screen[data-astro-cid-qozdfemc]{animation:bootflicker 3s infinite}@keyframes bootflicker{0%,95%,to{opacity:1}96%{opacity:.85}98%{opacity:.95}}html.retro{--bg: #1a1033;--ink: #ff5bd1;--ink-dim: #7a2e9e;--ink-glow: rgba(255, 91, 209, .5)}html.retro body{image-rendering:pixelated;font-family:VT323,monospace}html.retro h1,html.retro h2,html.retro h3,html.retro h4{font-family:VT323,monospace;letter-spacing:2px}html.retro img{image-rendering:pixelated;filter:contrast(1.15) saturate(1.4)}html.retro body:before{background:repeating-linear-gradient(0deg,#0000 0 3px,#00000040 4px 6px)!important}html.retro .btn{border-width:2px}.retro-banner{position:fixed;bottom:0;left:0;right:0;z-index:10003;display:none;text-align:center;padding:.5rem;font-family:VT323,monospace;font-size:1.1rem;letter-spacing:1px;background:#1a1033;color:#ff5bd1;border-top:2px solid #ff5bd1;box-shadow:0 0 20px #ff5bd199;animation:retroPulse 1.2s ease-in-out infinite}html.retro .retro-banner{display:block}@keyframes retroPulse{50%{opacity:.6}}
