:root{color-scheme:dark;--bg:#090d0b;--panel:#101612;--ink:#dedfd2;--muted:#9fa99b;--line:#344239;--green:#a1e8a9;--amber:#e4bc76;--danger:#f28183;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono","PingFang SC",monospace;color:var(--ink);background:#050807;font-size:13px;line-height:1.6}
*{box-sizing:border-box}body{margin:0;overflow:hidden}h1,h2,p{margin:0}button,input{font:inherit}button{border:1px solid var(--line);background:#141d17;color:var(--ink);cursor:pointer;padding:11px 16px;min-height:44px;text-align:left;border-radius:0}button:hover{border-color:var(--green);background:#1c2a20;color:#effbe9}button:disabled{opacity:.45;cursor:not-allowed}button.primary{color:var(--green);border-color:#719a73;background:#192a1c}button.primary:hover{color:#080d09;background:var(--green)}:focus-visible{outline:2px solid var(--amber);outline-offset:4px}::selection{background:var(--green);color:#0b140d}input{accent-color:var(--green)}[hidden]{display:none!important}
#game-shell{position:relative;height:calc(100dvh - 24px);width:calc(100vw - 24px);margin:12px;border:1px solid #48584b;overflow:hidden;background:var(--bg)}
.terminal-chrome{position:absolute;inset:0 0 auto;height:36px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);background:#151c17;z-index:8;font-size:10px;color:var(--muted);padding:0 14px}.window-lights{display:flex;gap:5px}.window-lights i{width:6px;height:6px;background:#638268}.window-lights i:nth-child(2){background:#9c8b59}.window-lights i:nth-child(3){background:#985e60}.active-tab{height:36px;display:flex;align-items:center;gap:35px;color:#d1ddc9;border-bottom:2px solid var(--green);padding:0 10px;background:#1b261e}.active-tab b{color:#7e9581;font-weight:400}.terminal-path{flex:1}.local-label{font-size:9px;letter-spacing:.06em}
#arena{position:absolute;inset:36px 0 71px;touch-action:none}#arena canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.scanlines{position:absolute;inset:36px 0 71px;pointer-events:none;z-index:6;opacity:.13;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,#000 3px,#000 4px)}#game-shell:not(.crt-on) .scanlines{display:none}
.hud{position:absolute;top:49px;left:22px;right:22px;z-index:2;display:grid;grid-template-columns:minmax(145px,230px) 1fr minmax(100px,180px);gap:9px 24px;pointer-events:none}.hud-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin-bottom:6px}.hud-label strong{color:var(--green);letter-spacing:.12em}.hud-label b{font-weight:400}.bar{height:7px;background:#253027;overflow:hidden}.bar i{display:block;height:100%;width:100%;background:var(--green)}.health{height:9px;position:relative}.health::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(5% - 2px),var(--bg) calc(5% - 2px),var(--bg) 5%)}.time-system{text-align:center;display:flex;flex-direction:column;align-items:center;line-height:1.3}.timer{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.03em}.time-system>span:last-child{font-size:9px;color:var(--muted);margin-top:3px}.kill-system{display:flex;align-items:center;justify-content:flex-end;gap:16px;font-size:10px}.kill-system b{font-size:18px;color:var(--amber)}.kill-system button{pointer-events:auto;font-size:10px;min-height:36px;padding:6px 10px}.xp-row{grid-column:1/-1;display:flex;align-items:center;gap:12px;font-size:9px;color:var(--muted)}.xp{flex:1;height:3px;background:#18241c}.xp i{background:#82a58a}
.boss-panel{pointer-events:none;position:absolute;top:132px;left:50%;transform:translateX(-50%);width:min(440px,75%);z-index:2}.boss-panel>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:var(--danger);margin-bottom:5px}.boss i{background:var(--danger)}.boss{height:5px}.announcement{position:absolute;top:29%;left:50%;transform:translateX(-50%);width:min(700px,90%);text-align:center;color:var(--amber);font-size:14px;z-index:3;pointer-events:none;background:#090d0b99}.announcement:empty{display:none}
.skill-strip{position:absolute;bottom:92px;left:22px;display:flex;gap:1px;z-index:2;pointer-events:none;border:1px solid var(--line);background:#0e1711dd}.skill-strip>div{display:flex;align-items:center;gap:10px;padding:8px 14px;border-right:1px solid var(--line)}.skill-strip>div:last-child{border-right:0}.skill-index{font-size:10px;color:#68786c}.skill-strip>div>span:last-child{font-size:10px;color:#b1bdaa}.skill-strip b{display:block;font-size:9px;font-weight:400;color:var(--green)}.bottom-hint{position:absolute;bottom:73px;left:22px;color:var(--muted);font-size:9px;pointer-events:none}.foe-key{position:absolute;right:22px;bottom:98px;font-size:9px;display:flex;gap:14px;pointer-events:none;z-index:2}.legend-claude{color:#dba185}.legend-gemini{color:#a6aeef}.legend-deepseek{color:#7eabfa}.legend-copilot{color:#d0cccb}.runtime-log{position:absolute;right:22px;bottom:141px;color:#5b7060;display:flex;flex-direction:column;align-items:end;gap:2px;font-size:9px;pointer-events:none;z-index:1}
.settings{position:absolute;bottom:35px;right:20px;left:20px;z-index:8;display:flex;justify-content:flex-end;gap:17px;background:#0c130ef5;border-top:1px solid #26352a;padding-top:4px;color:var(--muted);font-size:10px}.settings label{display:flex;align-items:center;gap:6px;cursor:pointer;min-height:30px}.settings input{width:12px;height:12px;margin:0}.terminal-status{position:absolute;bottom:0;left:0;right:0;height:28px;border-top:1px solid var(--line);padding:0 14px;display:flex;align-items:center;gap:25px;background:#151e18;color:#a0af9c;font-size:9px;z-index:9}.terminal-status>span{display:flex;align-items:center;gap:7px}.terminal-status b{font-weight:500;color:var(--green)}.status-light{width:5px;height:5px;background:var(--green)}.terminal-status-right{margin-left:auto;color:#6f8675}
.overlay{position:absolute;inset:36px 0 70px;z-index:5;overflow:auto;background:#0a100dee;scrollbar-color:#425c47 #0a100d}.title-screen{display:grid;align-items:center;justify-items:center;padding:32px 30px;background:#0a100dee}.boot-terminal{width:min(820px,100%)}.boot-topline{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #344639;padding-bottom:10px;color:#92a58b;font-size:10px}.boot-terminal h1{font-size:12px;letter-spacing:.09em;font-weight:500;color:var(--muted);display:flex;justify-content:space-between;margin-top:22px}.boot-terminal h1 span{color:#b0bca5;letter-spacing:.12em}.ascii-title{color:var(--green);font-size:clamp(15px,2.2vw,26px);line-height:1.05;font-family:inherit;letter-spacing:0;margin:18px 0 30px;white-space:pre}
.boot-log{margin:0;padding:0;list-style:none;counter-reset:boot;font-size:12px;line-height:2.2;color:#c1cab7}.boot-log li{counter-increment:boot;display:flex;gap:13px}.boot-log li::before{content:counter(boot,decimal-leading-zero);color:#546b58;font-size:10px;width:17px;flex-shrink:0;padding-top:2px}.log-ok{color:var(--green);white-space:nowrap}.log-warn{color:var(--amber);white-space:nowrap}.boot-command{display:flex;align-items:center;gap:15px;margin-top:28px;border-top:1px solid #293b2e;padding-top:20px}.prompt{color:#9fb79d;font-size:12px;white-space:nowrap}.boot-command button{display:flex;align-items:center;justify-content:space-between;gap:30px;flex:1;max-width:415px;font-size:14px;font-weight:600}.boot-command button span{font-size:10px;opacity:.8}.start-help{margin-top:15px;font-size:10px;color:#a1b398}.best-line{margin-top:8px;font-size:10px;color:#859a7e}.boot-footnote{margin-top:30px;display:flex;justify-content:space-between;font-size:9px;color:#889c82;padding-top:12px;border-top:1px dashed #344639}.disclaimer{font-size:9px;color:#7e9278;margin-top:10px;line-height:1.8}
.compact{display:grid;place-items:center;padding:25px}.panel{width:min(530px,100%);border:1px solid #4a6250;background:#101a13;padding:30px}.panel-path{font-size:10px;color:#8daa87;padding-bottom:13px;border-bottom:1px dashed #3e5343;margin-bottom:22px}.panel h2{font-size:23px;font-weight:500;letter-spacing:.02em}.panel p{font-size:12px;color:#a5b79c;margin:15px 0 23px}.panel button{width:100%;margin-top:10px}.panel .quiet{font-size:10px;margin-bottom:0}.end-stats{display:flex;flex-direction:column;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}.end-stats>div{display:flex;justify-content:space-between;align-items:center;flex-direction:row-reverse;padding:6px 0}.end-stats b{font-size:20px;font-weight:500;color:var(--amber)}.end-stats span{font-size:11px;color:var(--muted)}.panel #end-record{font-size:11px;color:var(--green)}
.upgrade-screen{display:grid;place-items:center;padding:30px}.upgrade-content{width:min(850px,100%)}.package-head{display:flex;justify-content:space-between;font-size:10px;color:#9cb491;padding-bottom:12px;border-bottom:1px solid var(--line);gap:15px}.upgrade-content h2{font-size:25px;font-weight:500;letter-spacing:.04em;margin-top:22px}.upgrade-content>p{font-size:11px;color:var(--muted);margin-top:8px}.upgrade-options{display:flex;flex-direction:column;margin:24px 0 17px;border-top:1px solid #5e7960}.upgrade-card{position:relative;display:grid;grid-template-columns:38px 42px 1fr;align-items:center;gap:0 15px;padding:20px 22px;background:#111c14;border:0;border-bottom:1px solid #4a614c;min-height:110px;width:100%}.upgrade-card:hover{background:#203323;box-shadow:inset 0 0 0 1px var(--green)}.choice-key{grid-row:1/3;color:var(--amber);font-size:14px}.choice-key::before{content:"["}.choice-key::after{content:"]"}.choice-icon{grid-row:1/3;font-size:24px;color:var(--green)}.upgrade-card strong{font-size:16px;letter-spacing:.01em;font-weight:500}.upgrade-card p{grid-column:3;margin-top:6px;color:#aabda0;font-size:11px;line-height:1.8}.upgrade-content small{font-size:10px;color:#8da385}
.joystick{display:none;position:absolute;width:104px;height:104px;border:1px dashed #a1e8a970;background:#18261b66;border-radius:50%;z-index:3;pointer-events:none;transform:translate(-50%,-50%)}.joystick span{position:absolute;width:36px;height:36px;left:33px;top:33px;border:1px solid #b5e2ae;background:#94c78b44;border-radius:50%}#error-screen{z-index:20;inset:36px 0 28px}
@media(max-width:900px){.foe-key{bottom:150px;right:auto;left:22px}.runtime-log{display:none}.terminal-path{font-size:9px}.hud{gap:8px 16px}.skill-strip>div{padding:8px 11px}}
@media(max-width:560px){
#game-shell{margin:5px;width:calc(100vw - 10px);height:calc(100dvh - 10px)}.terminal-chrome{padding:0 8px;gap:10px;height:31px}.active-tab{height:31px;padding:0 6px;gap:15px}.terminal-path{font-size:8px}.local-label{display:none}#arena{top:31px;bottom:71px}.scanlines{top:31px;bottom:71px}.hud{top:44px;left:12px;right:12px;grid-template-columns:minmax(95px,1fr) 1fr auto;gap:7px 11px}.hud-label{font-size:8px;gap:5px}.hud-label strong{letter-spacing:0}.hud-label span{font-size:8px}.timer{font-size:21px}.time-system>span:last-child{font-size:8px;max-width:125px}.kill-system{gap:0;flex-direction:column;align-items:end}.kill-system>span{font-size:8px}.kill-system b{font-size:13px}.kill-system button{min-height:32px;padding:3px 5px;font-size:9px}.xp-row{font-size:8px;gap:7px}.boss-panel{top:122px;width:80%}.boss-panel>div:first-child{font-size:8px}.announcement{font-size:11px}
.skill-strip{bottom:92px;left:12px;right:12px;justify-content:space-between}.skill-strip>div{min-width:0;padding:7px 4px;gap:2px;flex:1}.skill-index{display:none}.skill-strip>div>span:last-child{min-width:0;font-size:8px;white-space:nowrap}.skill-strip b{font-size:8px}.bottom-hint{left:12px;right:12px;font-size:8px;bottom:73px}.foe-key{left:12px;bottom:145px;font-size:8px;gap:13px}.settings{left:10px;right:10px;gap:12px;justify-content:space-between;font-size:9px}.settings label{gap:4px}.terminal-status{padding:0 9px;gap:15px;font-size:8px}.terminal-status-right{display:none}.overlay{top:31px;bottom:71px}
.title-screen{padding:20px 17px;align-items:start}.boot-topline{font-size:8px;gap:8px}.boot-topline>span:last-child{font-size:7px}.boot-terminal h1{font-size:9px;letter-spacing:0;margin-top:19px;gap:8px}.boot-terminal h1 span{font-size:8px}.ascii-title{font-size:clamp(12px,3.8vw,20px);margin:18px 0 24px}.boot-log{font-size:10px;line-height:1.9}.boot-log li{gap:7px;margin-bottom:8px;align-items:baseline}.boot-log li::before{width:11px;font-size:8px}.boot-command{flex-direction:column;align-items:stretch;gap:9px;margin-top:17px;padding-top:13px}.prompt{font-size:10px}.boot-command button{font-size:12px;gap:10px;min-height:46px;max-width:none}.boot-command button span{font-size:8px}.start-help{font-size:9px;line-height:1.8}.best-line{font-size:9px}.boot-footnote{margin-top:20px;font-size:8px;gap:15px}.disclaimer{font-size:8px}
.upgrade-screen{padding:20px 14px}.package-head{font-size:8px}.upgrade-content h2{font-size:21px;margin-top:15px}.upgrade-content>p{font-size:10px}.upgrade-options{margin:18px 0 14px}.upgrade-card{padding:15px 10px;grid-template-columns:26px 1fr;gap:0 10px;min-height:110px}.choice-key{font-size:10px}.choice-icon{display:none}.upgrade-card strong{font-size:14px}.upgrade-card p{grid-column:2;font-size:10px}.panel{padding:23px 19px}.panel h2{font-size:21px}}
@media(max-height:700px) and (min-width:561px){.title-screen{padding-top:19px;padding-bottom:19px}.ascii-title{font-size:18px;margin:12px 0 17px}.boot-terminal h1{margin-top:14px}.boot-log{line-height:1.8;font-size:11px}.boot-command{margin-top:17px;padding-top:12px}.boot-footnote{margin-top:16px}.upgrade-card{min-height:90px;padding:15px 20px}}
@media(prefers-reduced-motion:reduce){.scanlines{opacity:.04}}
