@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Oswald:wght@500;600;700&display=swap";:root{color:#e7e4d7;font-synthesis:none;--acid:#d8ff52;--rust:#e65d36;--paper:#e7e4d7;--muted:#85897a;--panel:#20231c;--line:#3a3e32;background:#171913;font-family:IBM Plex Mono,monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(circle at 74% 25%,#2c3023 0,#0000 28%),#171913;min-width:320px;margin:0}body:before{content:"";pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");position:fixed;inset:0}button,a{font:inherit}main{grid-template-rows:auto minmax(0,1fr) auto;gap:16px;width:min(1320px,100% - 48px);height:100dvh;margin:auto;display:grid}.masthead{border-bottom:1px solid var(--line);letter-spacing:.14em;align-items:center;gap:24px;height:54px;font-size:11px;display:flex}.brand{color:var(--paper);flex-shrink:0;align-items:center;gap:12px;font-family:Oswald,sans-serif;font-size:18px;font-weight:600;text-decoration:none;display:flex}.brand-mark{color:#171913;background:var(--acid);place-items:center;width:31px;height:31px;font-size:14px;display:grid;transform:skew(-5deg)}.eyebrow{color:var(--acid);letter-spacing:.2em;white-space:nowrap;font-size:10px}.specs-inline{flex-shrink:0;align-items:baseline;gap:20px;margin-left:auto;display:flex}.specs-inline div{align-items:baseline;gap:6px;display:flex}.specs-inline dt{color:var(--muted)}.specs-inline dd{color:#b9bcad;margin:0;font-size:10px}.terminal-card{border:1px solid var(--line);color:var(--acid);align-self:start;padding:32px}.terminal-card.error{color:var(--rust)}.deck{grid-template-columns:minmax(0,1fr) minmax(230px,.5fr);gap:16px;min-height:0;display:grid}.deck>*{min-width:0;min-height:0}.challenge-card,.leaderboard{background:color-mix(in srgb, var(--panel) 94%, transparent);border:1px solid var(--line)}.challenge-card{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.card-topline,.section-heading{border-bottom:1px solid var(--line);color:#9b9f90;letter-spacing:.14em;justify-content:space-between;align-items:center;min-height:46px;padding:0 18px;font-size:10px;display:flex}.status{text-transform:uppercase;padding-left:16px;position:relative}.status:before{content:"";background:var(--rust);width:7px;height:7px;box-shadow:0 0 12px var(--rust);border-radius:50%;position:absolute;top:3px;left:0}.status.ready:before{background:var(--acid);box-shadow:0 0 12px var(--acid)}.engine-state{color:var(--muted);text-transform:uppercase}.engine-state.ready{color:var(--acid)}.engine-state.error{color:var(--rust)}.stage{background:linear-gradient(135deg,#282b22 25%,#1b1e18 25% 50%,#24271f 50% 75%,#1a1c17 75%) 0 0/40px 40px;place-items:center;padding:14px;display:grid;position:relative;container-type:size}.stage-box{aspect-ratio:16/10;border:1px solid var(--line);background:#10120d;place-items:center;width:min(100%,160cqh - 44.8px);display:grid;position:relative;overflow:hidden}.seed-map{filter:drop-shadow(0 0 7px #10120d);width:120%;height:120%;position:absolute;inset:-10%;transform:rotate(-4deg)}.seed-map-corridors,.seed-map-rooms{fill:none;stroke:#596044;stroke-width:5px;stroke-linejoin:bevel}.seed-map-rooms{fill:#24291d;stroke:#737b57;stroke-width:2px}.seed-map-rooms rect:nth-child(3n){fill:#303522;stroke:#8a945f}.map-visual span{z-index:1;background:var(--acid);color:#171913;text-align:center;text-transform:uppercase;max-width:80%;padding:8px 12px;font-family:Oswald,sans-serif;font-weight:700;transform:rotate(-3deg)}.game-frame{background:#000;border:0;width:100%;height:100%;position:absolute;inset:0}.mission{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;display:flex}.mission-meta{align-items:center;gap:34px;min-width:0;display:flex}.label,dt{color:var(--muted);letter-spacing:.16em;font-size:9px}.mission h2{text-transform:uppercase;white-space:nowrap;margin:6px 0 0;font:600 21px/1 Oswald,sans-serif}.mission dl{gap:26px;margin:0;display:flex}.mission dd{color:var(--paper);margin:7px 0 0;font-size:11px}.mission-actions{flex-shrink:0;gap:10px;display:flex}.play{background:var(--acid);color:#171913;letter-spacing:.08em;cursor:pointer;border:0;align-items:center;gap:22px;padding:14px 18px;font-weight:600;display:flex}.play:disabled{cursor:not-allowed;color:#8f9382;background:#4b4f40}.ghost{color:var(--paper);cursor:pointer;letter-spacing:.1em;background:0 0;border:1px solid #565b49;padding:13px 15px;font-size:9px}.ghost:hover{color:#171913;background:var(--acid);border-color:var(--acid)}.pending-note{color:#7f8374;margin:0;padding:0 18px 16px;font-size:10px;line-height:1.6}.leaderboard{grid-template-rows:auto minmax(0,1fr);display:grid}.section-heading small{color:var(--acid);font-size:8px}.leaderboard ol{margin:0;padding:0;list-style:none;overflow-y:auto}.leaderboard li{border-bottom:1px solid var(--line);grid-template-columns:32px 1fr auto;gap:6px;padding:14px 16px;font-size:11px;display:grid}.leaderboard li>span{color:var(--muted)}.leaderboard li>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard time{color:var(--acid)}.empty-board{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;height:100%;padding:28px;display:flex}.empty-board strong{color:#8a8e7e;font:600 20px Oswald,sans-serif}.empty-board span{color:var(--muted);max-width:230px;font-size:10px;line-height:1.7}.completion-screen{text-align:center;background:radial-gradient(circle,#252b1c 0,#090a08 62%);place-content:center;justify-items:center;gap:9px;width:100%;height:100%;padding:20px;display:grid;overflow:auto}.completion-screen>span,.completion-screen p{color:var(--muted);letter-spacing:.2em;margin:0;font-size:10px}.completion-screen h2{text-transform:uppercase;letter-spacing:-.05em;margin:2px 0 8px;font-family:Oswald,sans-serif;font-size:clamp(30px,6cqh,62px);line-height:.8}.completion-screen h2 em{color:var(--acid);font-style:normal}.completion-screen>strong{color:var(--paper);letter-spacing:.08em;font-size:clamp(22px,5cqh,40px);font-weight:400}.run-submission{text-align:left;width:min(430px,84cqw);margin-top:8px}.run-submission label{color:var(--muted);letter-spacing:.16em;margin-bottom:6px;font-size:9px;display:block}.run-submission>div{grid-template-columns:1fr auto;display:grid}.run-submission input{min-width:0;color:var(--paper);font:inherit;text-transform:uppercase;background:#11130f;border:1px solid #565b49;border-right:0;padding:11px;font-size:11px}.run-submission button{border:1px solid var(--acid);color:#171913;background:var(--acid);cursor:pointer;letter-spacing:.1em;padding:11px;font-size:9px}.run-submission button:disabled{cursor:wait;opacity:.55}.submission-message{color:var(--muted);letter-spacing:.12em;margin:8px 0 0;font-size:9px}.submission-message.success{color:var(--acid)}.submission-message.error{color:var(--rust)}.completion-actions{gap:10px;margin-top:14px;display:flex}.completion-actions button{border:1px solid var(--acid);color:#171913;background:var(--acid);cursor:pointer;letter-spacing:.12em;min-width:120px;padding:11px 14px;font-size:9px}.completion-actions button:last-child{color:var(--paper);background:0 0;border-color:#565b49}footer{border-top:1px solid var(--line);color:#65695d;letter-spacing:.08em;justify-content:space-between;align-items:center;height:44px;font-size:9px;display:flex}@media (width<=980px){main{width:min(100% - 28px,1320px);height:auto;min-height:100dvh}.deck{grid-template-columns:1fr}.masthead{flex-wrap:wrap;row-gap:8px;height:auto;padding:10px 0}.specs-inline{flex-wrap:wrap;gap:10px 20px}.stage{container-type:normal}.stage-box{width:100%}.completion-screen h2{font-size:clamp(30px,9vw,54px)}.completion-screen>strong{font-size:clamp(22px,6vw,36px)}.run-submission{width:min(430px,100%)}.mission{flex-wrap:wrap}.mission-meta{flex-wrap:wrap;gap:18px}.leaderboard ol{max-height:420px}.empty-board{min-height:220px}footer{flex-direction:column;align-items:flex-start;gap:10px;height:auto;padding:16px 0}}
