#game-shell{max-width:1440px;margin:auto;padding:24px}#hud{background:#142129;border:1px solid #30404a;border-bottom:2px solid #90e840;align-items:center;gap:20px;min-height:70px;padding:12px 18px;display:flex}.hud-brand{font-size:30px;font-weight:700}#hud small{color:#90e840;letter-spacing:1px;margin-bottom:5px;font-size:9px;display:block}#hud strong{font-size:13px}#hud #stats{color:#c6d6d8;margin-left:auto;font-size:13px}#hud button{font-size:11px}#game{aspect-ratio:16/9;background:#101820;width:100%;max-height:calc(100vh - 180px)}#game canvas{image-rendering:pixelated;margin:auto;display:block}.game-help{text-align:center;color:#92a3aa;padding:16px;font-size:10px;line-height:1.8}.game-help span{color:#90e840;margin:0 12px}#connection-status{text-align:center;color:#90e840;min-height:18px;font-size:12px}@media (width<=680px){#game-shell{padding:6px}#hud{gap:10px;padding:8px}#stats{font-size:10px!important}#hud button{padding:8px}.game-help{font-size:9px}.hud-brand{display:none}}details{border-top:1px solid var(--line);margin-top:16px;padding:16px 0}summary{cursor:pointer;color:var(--green);font-size:12px}#multiplayer-menu label,#lobby label{margin:14px 0 7px;font-size:12px;display:block}#multiplayer-menu input:not([type=checkbox]),#multiplayer-menu select,#lobby input:not([type=checkbox]),#lobby select{border:1px solid var(--line);width:100%;color:var(--silver);font:inherit;background:#0c141a;padding:11px}#multiplayer-menu button{margin:8px 5px 0 0}#room-list button{text-align:left;width:100%;display:block}#lobby{background:var(--panel);border:1px solid var(--line);max-width:1000px;margin:40px auto;padding:28px}#lobby-players{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:24px 0;display:grid}.member{border:1px solid var(--line);background:#101820;padding:18px}.member .portrait{margin:0 auto 12px}.member strong,.member small{text-align:center;overflow-wrap:anywhere;display:block}.member small{color:var(--green);margin-top:8px;font-size:11px}.lobby-settings{grid-template-columns:1fr 2fr;align-items:center;gap:8px;display:grid}.lobby-settings label{margin:0!important}.lobby-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.lobby-actions .play{width:auto}#lobby-notice{min-height:20px;color:var(--green)}#chat-log{border:1px solid var(--line);overflow-wrap:anywhere;height:150px;padding:12px;font-size:12px;line-height:1.6;overflow:auto}#chat-form{gap:8px;margin-top:8px;display:flex}#other-players{text-align:center;color:var(--green);white-space:pre-wrap;padding:10px;font-size:11px}#invite{font-size:12px!important}#lobby-status{color:var(--muted)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101820;--panel:#141f27;--line:#30404a;--green:#90e840;--silver:#e0e0e0;--muted:#92a3aa;color:var(--silver);background:#0b1117;font-family:Consolas,Courier New,monospace}*{box-sizing:border-box}body{background:radial-gradient(at 30% 35%,#172a26 0,#0000 55%),linear-gradient(#10182088 1px,#0000 1px) 0 0/36px 36px,linear-gradient(90deg,#10182088 1px,#0000 1px) 0 0/36px 36px;margin:0}button,input{font:inherit}button,a,input{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green)}button{cursor:pointer;border:1px solid var(--line);color:var(--silver);background:#1b2932;padding:12px 16px}button:hover{border-color:var(--green);color:var(--green)}button:disabled{opacity:.6;cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}#menu{max-width:1340px;margin:auto;padding:0 48px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:92px;display:flex}.brand{letter-spacing:-2px;font-size:28px;font-weight:700}.brand span,.hud-brand span{color:var(--green)}.brand small{letter-spacing:2px;vertical-align:middle;color:var(--muted);margin-left:16px;font-size:9px;font-weight:400}.status{letter-spacing:1px;color:#aebcbf;font-size:10px}.status i{background:var(--green);width:6px;height:6px;margin-right:8px;display:inline-block;box-shadow:0 0 12px #90e84088}.hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:72px;min-height:calc(100vh - 168px);padding:36px 0;display:grid}.eyebrow{letter-spacing:2px;color:var(--green);margin:0 0 16px;font-size:10px}.intro #logo{object-fit:contain;width:100%;height:auto;max-height:320px;margin:-18px 0 -14px;display:block}.claim{color:#b4c3c5;text-align:center;font-size:12px}.intro-line{background:var(--green);width:42px;height:2px;margin:30px 0 24px}h1{letter-spacing:-1.5px;margin:0 0 16px;font-size:clamp(25px,2.8vw,38px);line-height:1.25}h1 em{color:var(--green);font-style:normal}.description{color:var(--muted);font-family:Arial,sans-serif;font-size:14px;line-height:1.8}.chips{flex-wrap:wrap;gap:8px;margin-top:26px;display:flex}.chips span{letter-spacing:.6px;border:1px solid var(--line);color:var(--muted);padding:8px;font-size:9px}.terminal{background:#141f27e8;border:1px solid #3a4c53;position:relative;box-shadow:8px 8px #050b1080}.terminal:before{content:"";background:var(--green);width:30px;height:3px;position:absolute;top:-1px;right:-1px}.terminal-bar{border-bottom:1px solid var(--line);height:40px;color:var(--muted);background:#1b2830;justify-content:space-between;align-items:center;padding:0 16px;font-size:10px;display:flex}.terminal-bar b{background:#60717a;width:6px;height:6px;margin-right:5px;display:inline-block}.terminal-bar b:first-child{background:var(--green)}.terminal-content{padding:30px}h2{letter-spacing:-1px;margin:0 0 12px;font-size:23px}.muted{color:var(--muted);margin-bottom:28px;font:12px Arial,sans-serif}form label,legend{color:var(--green);letter-spacing:1px;font-size:10px}form label span,legend span{color:#bdcace;margin-left:6px}.name-row{gap:8px;margin-top:12px;display:flex}.name-row input{color:#e0e0e0;background:#0c141a;border:1px solid #35454e;border-radius:0;width:100%;min-width:0;padding:13px;font-size:14px}.name-row button{padding:5px 14px;font-size:22px}.field-note{color:#748991;margin:10px 0 24px;font-size:9px}fieldset{border:0;margin:0;padding:0}.characters{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 24px;display:grid}.character{text-align:center;border:1px solid var(--line);cursor:pointer;letter-spacing:0;background:#101a22;flex-direction:column;align-items:center;padding:14px 5px 13px;display:flex;position:relative}.character:has(input:checked){border-color:var(--green);background:#1b3026}.character input{accent-color:var(--green);position:absolute;top:6px;right:6px}.character strong{color:#dce6e5;letter-spacing:0;margin:8px 0;font-size:11px}.character small{color:var(--muted);font-size:8px}.portrait{width:80px;height:80px;image-rendering:pixelated;background-repeat:no-repeat;background-size:auto 80px;animation:2s step-end infinite idle;display:block}.portrait.kernel{background-image:url(/art/kernel.png)}.portrait.patch{background-image:url(/art/patch.png)}@keyframes idle{0%,92%{background-position:0 0}94%{background-position:-80px 0}}.play{background:var(--green);border:1px solid var(--green);color:#0b1910;letter-spacing:1px;width:100%;padding:16px;font-size:13px;font-weight:700;box-shadow:0 4px #4b8128}.play:hover{color:#0b1910;background:#b4fa76}.play span{float:right}#message{color:var(--muted);min-height:30px;margin:14px 0;font-size:10px;line-height:1.5}.controls{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding-top:16px;font-size:9px;display:flex}kbd{color:#d3dfdf;border:1px solid #4b5d65;margin-right:3px;padding:3px 5px;font-family:inherit;font-size:9px;display:inline-block}footer{border-top:1px solid var(--line);letter-spacing:1px;min-height:76px;color:var(--muted);justify-content:space-between;align-items:center;font-size:9px;display:flex}footer button{color:var(--muted);background:0 0;border:0;font-size:10px}dialog{color:var(--silver);border:1px solid var(--green);background:#17252c;max-width:560px;padding:32px;box-shadow:8px 8px #070d12}dialog::backdrop{background:#03090dd9}dialog p{color:#bacbcd;font:14px/1.7 Arial,sans-serif}dialog .eyebrow{color:var(--green);font:10px Consolas,monospace}dialog button{margin-top:16px}#result h2{color:var(--green);font-size:42px}#result-text{white-space:pre-line}@media (width<=900px){#menu{padding:0 24px}.hero{gap:24px}.terminal-content{padding:22px}.brand small{display:none}.status{font-size:8px}.intro #logo{margin:0}.hero{grid-template-columns:1fr 1fr}}@media (width<=680px){#menu{padding:0 18px}.topbar{height:68px}.hero{grid-template-columns:1fr;gap:30px;padding:24px 0}.intro #logo{max-height:230px}.intro .eyebrow,.intro-line,.description,.chips{display:none}h1{margin-top:24px;font-size:26px}.claim{font-size:10px}footer{flex-wrap:wrap;gap:10px;padding:16px 0}footer>span:last-child{display:none}}.brand,.hud-brand{align-items:center;gap:18px;display:inline-flex}.brand-mark{width:88px;height:40px;image-rendering:pixelated;display:block}.portrait.root{background-image:url(/art/root.png)}.portrait.byte{background-image:url(/art/byte.png)}.portrait.vlan{background-image:url(/art/vlan.png)}.portrait.ping{background-image:url(/art/ping.png)}.characters{grid-template-columns:repeat(3,minmax(0,1fr))}dialog#result,dialog#highscores{width:min(760px,94vw);max-height:90vh;overflow-y:auto}#highscores h2{color:var(--green);margin-bottom:0;font-size:32px}.highscores-button{border-color:#568c3b;justify-content:space-between;align-items:center;width:100%;margin-top:12px;font-size:13px;display:flex}.highscores-button span{color:var(--green);font-size:11px}.leaderboard{text-align:left;border-top:1px solid var(--line);margin:24px 0;padding-top:12px}.leaderboard select{min-width:140px;color:var(--silver);background:var(--bg);border:1px solid var(--line);font:inherit;margin:0 0 8px 12px;padding:10px 14px}.ranking-scroll{max-height:320px;overflow-x:auto}.leaderboard table{border-collapse:collapse;width:100%;font-size:12px}.leaderboard th,.leaderboard td{border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere;padding:9px 7px}.leaderboard th{color:var(--green);background:#101820;position:sticky;top:0}@media (width<=420px){.characters{grid-template-columns:1fr 1fr}}.terminal{box-shadow:0 24px 70px #0005}.terminal-content h2{letter-spacing:-1px;margin-bottom:10px;font-size:25px}.terminal-content>.muted{font-family:system-ui,sans-serif;font-size:14px;line-height:1.5}.selection-hint{color:var(--muted);margin:8px 0 0;font-family:system-ui,sans-serif;font-size:12px}.character{background:linear-gradient(155deg,#1c2a33,#101820);padding:13px 4px 14px;transition:background .15s,border-color .15s,transform .15s}.character:hover{border-color:#7ca85a;transform:translateY(-2px)}.character:has(input:checked){box-shadow:inset 0 -3px var(--green);background:radial-gradient(at 50% 30%,#3e643a80,#0000 70%),#192c23}.character:has(input:checked):after{content:"✓";color:var(--green);font-size:18px;position:absolute;top:5px;right:8px}.character input{opacity:0;width:1px;height:1px}.character:has(input:focus-visible){outline:2px solid var(--green);outline-offset:3px}.character strong{margin:8px 0 6px;font-size:12px}.character small{color:#adbdc4;font-family:system-ui,sans-serif;font-size:11px;line-height:1.4}.field-note{font-family:system-ui,sans-serif;font-size:12px}#message{font-size:12px;line-height:1.5}#play{letter-spacing:1px;justify-content:space-between;align-items:center;min-height:56px;font-size:14px;display:flex}#multiplayer-menu{border:1px solid var(--line);background:#0e171e;margin-top:22px;padding:0}#multiplayer-menu summary{padding:17px 15px;font-size:13px;font-weight:700}#multiplayer-menu summary span{color:var(--muted);letter-spacing:1px;margin:8px 0 0 15px;font-size:10px;display:block}.online-panels{gap:20px;padding:0 15px 16px;display:grid}.online-panel+.online-panel{border-top:1px solid var(--line);padding-top:8px}.online-panel h3{margin:14px 0 6px;font-size:15px}.online-panel h3 span{color:var(--green);margin-right:8px;font-size:11px}.online-panel p{color:var(--muted);font-family:system-ui,sans-serif;font-size:13px;line-height:1.5}#multiplayer-menu label{font-family:system-ui,sans-serif;font-size:13px}#multiplayer-menu input:not([type=checkbox]),#multiplayer-menu select{padding:12px;font-size:14px}#multiplayer-menu button{font-size:13px}#room-create,#room-join{background:#233a29;border-color:#568c3b;width:100%;margin-right:0}#room-refresh{width:100%;margin-right:0}
