@font-face{font-family:"Share Tech Mono";src:url("/fonts/share-tech-mono.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#0a0b0b;--fg:#e9e7e1;--dim:#727570;--red:#ff4a1c;--font:"Share Tech Mono",ui-monospace,monospace}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--fg);font:400 13px/1.5 var(--font);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:10;background:repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55))}
main{min-height:100svh;display:grid;place-items:center;padding:80px 24px}
h1{display:flex;align-items:center;justify-content:center;gap:18px;margin:0;font-size:clamp(19px,2vw,25px);font-weight:400;line-height:1.4;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}
.title-text{display:inline-block}
.cursor{flex:none;width:.62em;height:1.15em;background:var(--red);animation:blink 1.06s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
footer{position:fixed;left:24px;right:24px;bottom:24px;display:flex;justify-content:center}
footer a{display:block;padding:10px 12px;color:var(--dim);font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:color .2s;animation:appear .5s ease-out .35s both}
footer a:hover{color:var(--fg)}
a:focus-visible{outline:1px solid var(--dim);outline-offset:4px}
.sound-toggle{position:fixed;left:16px;bottom:20px;display:grid;place-items:center;width:44px;height:44px;border:0;padding:12px;background:none;color:var(--dim);cursor:pointer;transition:color .2s}
.sound-toggle:hover{color:var(--fg)}
.sound-toggle:focus-visible{outline:1px solid var(--dim);outline-offset:-4px}
.sound-toggle[data-muted="true"] .sound-waves,.sound-toggle[data-muted="false"] .sound-off{display:none}
.sound-toggle:disabled{cursor:default;opacity:.5}
@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
::selection{background:var(--red);color:var(--bg)}
@media(max-width:520px){main{padding:64px 24px}h1{gap:11px;font-size:clamp(16px,4.4vw,21px);letter-spacing:.16em}footer{bottom:max(16px,env(safe-area-inset-bottom))}.sound-toggle{left:8px;bottom:max(12px,calc(env(safe-area-inset-bottom) - 4px))}}
@media(prefers-reduced-motion:reduce){*,*::before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
