@font-face{font-family:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/press-start-2p-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/press-start-2p-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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}*,:after,:before{box-sizing:border-box;margin:0}html{color-scheme:dark;scroll-behavior:smooth;--ink-950:#0a0a0a;--ink-900:#121212;--ink-800:#1c1c1c;--ink-700:#282828;--ink-600:#3a3a3a;--accent-500:#6b7280;--accent-400:#9ca3af;--accent-300:#d1d5db;--accent-muted:#a8a8a8;--mist:#f1f1f1;--accent-danger:#ef5350;--grin:#fff;--spark:#d4d4d4;--ok:#6ee7a0;--glow:rgba(156,163,175,.4);--ink-950-rgb:10,10,10;--ink-900-rgb:18,18,18;--ink-800-rgb:28,28,28;--ink-700-rgb:40,40,40;--ink-600-rgb:58,58,58;--accent-500-rgb:107,114,128;--accent-400-rgb:156,163,175;--accent-300-rgb:209,213,219;--accent-muted-rgb:168,168,168;--mist-rgb:241,241,241;--accent-danger-rgb:239,83,80;--grin-rgb:255,255,255;--spark-rgb:212,212,212;--ok-rgb:110,231,160}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--mist);background:radial-gradient(1200px 700px at 80% -10%,rgba(var(--accent-500-rgb),.18),transparent 60%),radial-gradient(900px 600px at 10% 110%,rgba(var(--accent-danger-rgb),.07),transparent 55%),var(--ink-950);min-height:100vh;line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--accent-300);text-decoration:none}a:hover{color:var(--grin)}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}:focus-visible{outline:2px solid var(--accent-400);outline-offset:3px}::-moz-selection{background:var(--accent-500);color:var(--grin)}::selection{background:var(--accent-500);color:var(--grin)}h1,h2{text-shadow:3px 3px 0 rgba(var(--ink-950-rgb),.9)}h1,h2,h3{font-family:Press Start\ 2P,Trebuchet MS,Verdana,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.6;letter-spacing:0}h3{text-shadow:2px 2px 0 rgba(var(--ink-950-rgb),.9)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1em 1.4em .9em;border-radius:8px;font-family:Press Start\ 2P,Trebuchet MS,Verdana,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.6;letter-spacing:0;font-size:.68rem;line-height:1.4;background:var(--ink-700);color:var(--mist);border:2px solid var(--ink-600);box-shadow:0 4px rgba(var(--ink-950-rgb),.9);transition:transform .08s ease,box-shadow .08s ease,background .15s ease,border-color .15s ease}.btn:hover{border-color:var(--accent-400);transform:translateY(-1px);box-shadow:0 5px rgba(var(--ink-950-rgb),.9)}.btn:active{transform:translateY(3px);box-shadow:0 1px rgba(var(--ink-950-rgb),.9)}.btn:disabled{opacity:.45;cursor:default;transform:none;box-shadow:0 4px rgba(var(--ink-950-rgb),.9);border-color:var(--ink-600)}.btn--primary{background:linear-gradient(180deg,var(--accent-400),var(--accent-500));border-color:var(--accent-500);color:var(--grin)}.btn--primary:hover{border-color:var(--accent-300);background:linear-gradient(180deg,var(--accent-300),var(--accent-500))}.btn--ghost{background:transparent}.btn--danger{border-color:rgba(var(--accent-danger-rgb),.4);color:var(--accent-danger)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--ink-950)}::-webkit-scrollbar-thumb{background:var(--ink-600);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--accent-500)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes materialize{0%{filter:grayscale(1) brightness(.6);transform:scale(.96)}60%{filter:grayscale(0) brightness(1.35) drop-shadow(0 0 18px var(--glow));transform:scale(1.05)}to{filter:none;transform:scale(1)}}
