:root{--term-fg: #9fe8ff;--term-dim: #4d7a8a;--term-warn: #ffb24d;--term-bad: #ff5d5d;--term-good: #7dffa8;--bg: #04070c;--mono: ui-monospace, "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, monospace}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);font-family:var(--mono);color:var(--term-fg);-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none}#game{position:fixed;inset:0;width:100%;height:100%;display:block}#scanlines{position:fixed;inset:0;pointer-events:none;z-index:40;background:repeating-linear-gradient(to bottom,#0000 0px 2px,#0000001a 3px);mix-blend-mode:multiply;opacity:.55}#vignette{position:fixed;inset:0;pointer-events:none;z-index:41;background:radial-gradient(ellipse at center,#0000 58%,#0000006b)}#touch-ui{position:fixed;inset:0;pointer-events:none;z-index:30;display:none}#touch-ui.visible{display:block}.touch-cluster{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom));display:flex;gap:14px;align-items:flex-end;pointer-events:none}.touch-left{left:calc(18px + env(safe-area-inset-left))}.touch-right{right:calc(18px + env(safe-area-inset-right))}.touch-col{display:flex;flex-direction:column-reverse;gap:12px;align-items:center;pointer-events:none}.touch-btn.touch-pause{position:absolute;top:calc(10px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));width:44px;height:44px;font-size:20px;border-radius:10px;opacity:.8}.touch-btn{pointer-events:auto;width:72px;height:72px;border-radius:50%;border:1px solid rgba(159,232,255,.45);background:#14283459;color:var(--term-fg);font-size:26px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px);-webkit-tap-highlight-color:transparent}.touch-btn.touch-big{width:92px;height:92px;font-size:34px}.touch-btn.touch-small{width:58px;height:58px;font-size:18px;opacity:.85}.touch-btn.held{background:#5ec5e973;border-color:#c8f5ffe6}#overlay{position:fixed;inset:0;z-index:50;pointer-events:none}.screen{position:absolute;inset:0;pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#03060bd1;animation:screen-in .24s ease-out}.screen.transparent{background:#03060b8c}@keyframes screen-in{0%{opacity:0;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}.panel{width:min(680px,94vw);max-height:90vh;overflow-y:auto;border:1px solid rgba(159,232,255,.35);background:#060e14eb;box-shadow:0 0 42px #3ca0c81f,inset 0 0 60px #143c501a;padding:26px 30px}.panel h1{font-size:clamp(26px,6vw,44px);letter-spacing:.14em;font-weight:600;color:var(--term-fg);text-shadow:0 0 18px rgba(120,220,255,.5)}.panel h2{font-size:15px;letter-spacing:.3em;color:var(--term-dim);margin-bottom:14px;font-weight:400}.term-text{white-space:pre-wrap;font-size:15px;line-height:1.65;color:var(--term-fg);min-height:5em}.term-text .dim{color:var(--term-dim)}.term-text .warn{color:var(--term-warn)}.term-text .bad{color:var(--term-bad)}.term-text .good{color:var(--term-good)}.cursor:after{content:"▋";animation:blink .9s steps(1) infinite;color:var(--term-fg)}@keyframes blink{50%{opacity:0}}.btn-row{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap;justify-content:center}button.term-btn{font-family:var(--mono);font-size:15px;letter-spacing:.12em;color:var(--term-fg);background:#142c388c;border:1px solid rgba(159,232,255,.5);padding:12px 26px;cursor:pointer;transition:background .12s,box-shadow .12s;-webkit-tap-highlight-color:transparent}button.term-btn:hover,button.term-btn:focus-visible{background:#4696b980;box-shadow:0 0 16px #78dcff59;outline:none}button.term-btn.primary{background:#3c8caf8c;border-color:#c8f5ffcc}button.term-btn.danger{color:var(--term-bad);border-color:#ff5d5d8c;background:#46121266}button.term-btn:disabled{opacity:.35;cursor:default;box-shadow:none}.menu-sub{margin-top:10px;color:var(--term-dim);font-size:13px;letter-spacing:.2em}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:18px}.level-cell{font-family:var(--mono);font-size:16px;padding:14px 0;text-align:center;border:1px solid rgba(159,232,255,.4);color:var(--term-fg);background:#142c3873;cursor:pointer}.level-cell .stars{display:block;font-size:10px;color:var(--term-warn);margin-top:3px;letter-spacing:.2em}.level-cell.locked{color:#4d7a8a80;border-color:#4d7a8a40;background:#0a121866;cursor:default}.level-cell:not(.locked):hover{background:#4696b980}.stat-table{width:100%;margin-top:14px;border-collapse:collapse;font-size:14px}.stat-table td{padding:6px 4px;border-bottom:1px dashed rgba(77,122,138,.35)}.stat-table td:last-child{text-align:right;color:var(--term-fg)}.stat-table td:first-child{color:var(--term-dim);letter-spacing:.1em}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;border-bottom:1px dashed rgba(77,122,138,.35);font-size:14px}.setting-row .label{color:var(--term-dim);letter-spacing:.08em}.logpanel{position:absolute;top:70px;left:16px;width:min(340px,78vw);pointer-events:none;border:1px solid rgba(255,178,77,.5);background:#0a0c08d1;padding:12px 14px;animation:screen-in .2s ease-out}.logpanel-title{color:var(--term-warn);font-size:12px;letter-spacing:.1em;margin-bottom:8px}.logpanel-body{white-space:pre-wrap;color:var(--term-fg);font-size:12.5px;line-height:1.55;min-height:3em}.logpanel-foot{margin-top:8px;color:var(--term-dim);font-size:11px;letter-spacing:.2em}.glitch{position:relative}.glitch.active{animation:glitch-skew .7s steps(2) infinite}@keyframes glitch-skew{0%{transform:none;filter:none}20%{transform:translate(0)}21%{transform:translate(2px) skew(.6deg);filter:hue-rotate(25deg)}23%{transform:none;filter:none}62%{transform:translate(-2px);filter:brightness(1.4)}64%{transform:none;filter:none}}.fade-out{animation:fade-out .6s forwards}@keyframes fade-out{to{opacity:0}}@media(max-width:560px){.panel{padding:18px 16px}.term-text{font-size:13.5px}.level-grid{grid-template-columns:repeat(5,1fr);gap:7px}}
