@import "https://fonts.googleapis.com/css2?family=Monoton&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg:#0a0e1a;--bg-2:#0d1220;--surface:#121a2e;--surface-2:#1a2340;--line:#ffffff14;--ink:#e2e8f0;--ink-dim:#94a3b8;--accent:#38bdf8;--accent-hot:#f472b6;--accent-warm:#fbbf24;--danger:#ef4444;--win:#4ade80;--menu-glow-1:#38bdf81f;--menu-glow-2:#f472b614;--menu-title-grad:linear-gradient(180deg, #f0f9ff 0%, #38bdf8 55%, #0ea5e9 100%);--menu-title-shadow:0 0 40px #38bdf859;--font-display:"Monoton", "JetBrains Mono", ui-monospace, monospace;--font-mono:"JetBrains Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f1f5f9;--bg-2:#e6ebf2;--surface:#fff;--surface-2:#f8fafc;--line:#0f172a1a;--ink:#0f172a;--ink-dim:#64748b;--accent:#0284c7;--accent-hot:#db2777;--accent-warm:#d97706;--danger:#dc2626;--win:#16a34a;--menu-glow-1:#0284c71a;--menu-glow-2:#db27770f;--menu-title-grad:linear-gradient(180deg, #0f172a 0%, #0284c7 65%, #075985 100%);--menu-title-shadow:0 0 30px #0284c726;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font-mono);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none;touch-action:none;margin:0;padding:0;transition:background-color .2s;overflow:hidden}button{color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}.menu-root{padding:max(32px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));background:radial-gradient(ellipse 80% 40% at 50% 0%, var(--menu-glow-1), transparent 70%), radial-gradient(ellipse 60% 30% at 50% 100%, var(--menu-glow-2), transparent 70%), var(--bg);flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0}.menu-corner{top:max(18px, env(safe-area-inset-top));z-index:2;gap:8px;display:flex;position:absolute;right:18px}.menu-marquee{text-align:center;margin-top:6vh}.menu-title{font-family:var(--font-display);letter-spacing:.04em;background:var(--menu-title-grad);color:#0000;text-shadow:var(--menu-title-shadow);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(56px,18vw,120px);line-height:.9}.menu-subtitle{letter-spacing:.4em;color:var(--ink-dim);text-transform:uppercase;margin-top:8px;font-size:11px}.menu-panel{flex-direction:column;gap:16px;width:100%;max-width:420px;display:flex}.menu-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;border-radius:2px;justify-content:space-between;align-items:center;padding:18px 20px;transition:transform 80ms,border-color .15s,background .15s;display:flex}.menu-btn:active{transform:scale(.98)}.menu-btn:hover{border-color:color-mix(in srgb, var(--ink) 25%, transparent)}.menu-btn-primary{background:linear-gradient(135deg, var(--surface-2) 0%, var(--surface) 100%);border-color:color-mix(in srgb, var(--accent) 50%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 15%, transparent), 0 8px 30px color-mix(in srgb, var(--accent) 12%, transparent)}.menu-btn-primary .menu-btn-title{color:var(--ink)}.menu-btn-title{letter-spacing:.18em;font-size:15px;font-weight:600}.menu-btn-sub{letter-spacing:.25em;text-transform:uppercase;color:var(--ink-dim);font-size:10px}.menu-divider{color:var(--ink-dim);letter-spacing:.4em;align-items:center;gap:12px;margin-top:4px;font-size:10px;display:flex}.menu-divider:before,.menu-divider:after{content:"";background:var(--line);flex:1;height:1px}.menu-levels{grid-template-columns:1fr 1fr;gap:10px;display:grid}.menu-btn-level{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:6px;min-height:72px;padding:14px 16px}.menu-btn-num{font-family:var(--font-display);color:var(--accent);font-size:22px;line-height:1}.menu-btn-level .menu-btn-title{letter-spacing:.15em;font-size:13px}.menu-foot{letter-spacing:.25em;text-transform:uppercase;color:var(--ink-dim);text-align:center;padding-bottom:8px;font-size:10px}.game-root{background:var(--bg);padding-top:max(0px, env(safe-area-inset-top));padding-bottom:max(0px, env(safe-area-inset-bottom));flex-direction:column;display:flex;position:fixed;inset:0}.hud{border-bottom:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 55%, transparent), transparent);justify-content:space-between;align-items:center;gap:14px;padding:10px 14px 8px;display:flex}.hud-left{align-items:center;gap:8px;display:flex}.hud-exit{letter-spacing:.25em;color:var(--ink-dim);border:1px solid var(--line);border-radius:2px;padding:6px 10px;font-size:11px;transition:color .15s,border-color .15s}.hud-exit:hover,.hud-exit:active{color:var(--ink);border-color:color-mix(in srgb, var(--ink) 30%, transparent)}.hud-stats{gap:18px;display:flex}.hud-stat{text-align:right}.hud-stat-label{letter-spacing:.3em;color:var(--ink-dim);font-size:9px}.hud-stat-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600;line-height:1.1}.hud-stat-caption{letter-spacing:.1em;color:var(--ink-dim);font-variant-numeric:tabular-nums;margin-top:2px;font-size:9px;line-height:1.2}.canvas-frame{flex:1;justify-content:center;align-items:stretch;min-height:0;padding:8px;display:flex}.game-canvas{touch-action:none;background:var(--bg-2);border:1px solid var(--line);border-radius:2px;width:100%;max-width:520px;height:100%;display:block}.theme-toggle{border:1px solid var(--line);width:32px;height:32px;color:var(--ink-dim);background:0 0;border-radius:2px;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s,transform 80ms;display:inline-flex}.theme-toggle:hover{color:var(--ink);border-color:color-mix(in srgb, var(--ink) 30%, transparent)}.theme-toggle:active{transform:scale(.94)}.theme-toggle svg{display:block}.editor-root{background:var(--bg);padding-top:max(0px, env(safe-area-inset-top));padding-bottom:max(0px, env(safe-area-inset-bottom));flex-direction:column;display:flex;position:fixed;inset:0}.editor-head{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:10px 14px 8px;display:flex}.editor-title{letter-spacing:.2em;color:var(--ink);font-size:13px;font-weight:600}.editor-dev{letter-spacing:.25em;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:2px;margin-left:8px;padding:2px 6px;font-size:9px;display:inline-block}.editor-main{flex:1;gap:12px;min-height:0;padding:12px;display:flex}.editor-canvas-wrap{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.editor-canvas{background:var(--bg-2);border:1px solid var(--line);touch-action:none;cursor:crosshair;border-radius:2px;flex:1;width:100%;min-height:0}.editor-legend{letter-spacing:.1em;color:var(--ink-dim);text-transform:uppercase;justify-content:space-between;font-size:10px;display:flex}.editor-sidebar{flex-direction:column;gap:14px;width:260px;padding-right:4px;display:flex;overflow-y:auto}.editor-sidebar section{flex-direction:column;gap:6px;display:flex}.editor-label{letter-spacing:.25em;color:var(--ink-dim);text-transform:uppercase;font-size:10px}.editor-input{background:var(--surface);border:1px solid var(--line);color:var(--ink);font-family:var(--font-mono);border-radius:2px;outline:none;padding:8px 10px;font-size:13px;transition:border-color .15s}.editor-input:focus{border-color:color-mix(in srgb, var(--accent) 60%, transparent)}.editor-tools{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.editor-tool{background:var(--surface);border:1px solid var(--line);color:var(--ink-dim);font-family:var(--font-mono);letter-spacing:.05em;border-radius:2px;padding:8px 6px;font-size:11px;transition:color .12s,border-color .12s,background .12s}.editor-tool:hover{color:var(--ink);border-color:color-mix(in srgb, var(--ink) 25%, transparent)}.editor-tool.active{color:var(--ink);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.editor-stats{color:var(--ink-dim);background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-direction:column;gap:2px;padding:10px;font-size:11px;display:flex}.editor-stats strong{color:var(--ink);font-variant-numeric:tabular-nums}.editor-actions{flex-direction:column;gap:6px;display:flex}.editor-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink);font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;border-radius:2px;padding:10px 12px;font-size:12px;transition:border-color .15s,background .15s}.editor-btn:hover{border-color:color-mix(in srgb, var(--ink) 30%, transparent)}.editor-btn-primary{border-color:color-mix(in srgb, var(--accent) 60%, transparent);color:var(--accent)}.editor-btn-primary:hover{background:color-mix(in srgb, var(--accent) 10%, var(--surface))}.menu-btn-dev{border-style:dashed;border-color:color-mix(in srgb, var(--accent-warm) 40%, transparent);margin-top:10px}.menu-btn-dev .menu-btn-title{color:var(--accent-warm)}@media (width<=720px){.editor-main{flex-direction:column}.editor-sidebar{width:100%;max-height:40vh}}.editor-head-spacer{flex:1}.editor-head-btn{letter-spacing:.25em;color:var(--ink-dim);border:1px solid var(--line);font-size:10px;font-family:var(--font-mono);background:0 0;border-radius:2px;padding:6px 10px;transition:color .15s,border-color .15s}.editor-head-btn:hover{color:var(--ink);border-color:color-mix(in srgb, var(--ink) 30%, transparent)}.editor-head-select{letter-spacing:.1em;color:var(--ink);background:var(--surface);border:1px solid var(--line);font-size:11px;font-family:var(--font-mono);cursor:pointer;border-radius:2px;outline:none;min-width:140px;padding:6px 10px;transition:border-color .15s}.editor-head-select:hover,.editor-head-select:focus{border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.menu-btn-locked{opacity:.45;cursor:not-allowed;border-style:dashed}.menu-btn-locked:hover{border-color:var(--line);transform:none}.menu-btn-locked:active{transform:none}.menu-btn-locked .menu-btn-num{color:var(--ink-dim);align-items:center;display:inline-flex}.menu-btn-completed{border-color:color-mix(in srgb, var(--win) 45%, transparent)}.menu-btn-completed .menu-btn-num{color:var(--win)}.menu-completed-mark{color:var(--win);margin-left:6px;font-weight:700}
