.hk-stage{--hk-green:#48f58a;--hk-dim:#7fae8d;--hk-red:#ff5757;--hk-gold:#ffd24a;border:3px solid var(--ink);min-height:430px;box-shadow:6px 6px 0 var(--ink);color:#d7f7df;-webkit-user-select:none;user-select:none;background:#0b110d;border-radius:20px;flex-direction:column;gap:14px;padding:18px 20px 20px;scroll-margin-top:92px;font-family:ui-monospace,SF Mono,Menlo,Consolas,Liberation Mono,monospace;display:flex;position:relative;overflow:hidden}.hk-stage.shake{animation:.22s hkShake}@keyframes hkShake{25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}.hk-hud{color:var(--hk-dim);flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:14px;display:flex}.hk-target{color:#fff;font-weight:700}.hk-nodes{gap:5px;display:inline-flex}.hk-nodes i{background:#1f2f25;border-radius:3px;width:12px;height:12px;display:block}.hk-nodes i.ok{background:var(--hk-green)}.hk-nodes i.now{background:#fff;animation:1s steps(2,end) infinite hkPulse}@keyframes hkPulse{50%{opacity:.35}}.hk-score{margin-left:auto}.hk-score b{color:#fff;font-size:17px}.hk-combo{color:var(--hk-dim);font-weight:700}.hk-combo.hot{color:var(--hk-gold)}.hk-snd{font:inherit;color:var(--hk-dim);cursor:pointer;background:0 0;border:1.5px solid #2b3f33;border-radius:8px;min-height:32px;padding:6px 10px;font-size:12.5px}.hk-trace{letter-spacing:.08em;text-transform:uppercase;color:var(--hk-dim);align-items:center;gap:10px;font-size:13px;display:flex}.hk-bar{background:#1a261e;border-radius:8px;flex:1;height:14px;overflow:hidden}.hk-bar i{background:linear-gradient(90deg, #ffb347, var(--hk-red));border-radius:8px;width:0;height:100%;display:block}.hk-trace b{text-align:right;color:#fff;min-width:44px}.hk-stage.danger .hk-bar i{animation:.5s steps(2,end) infinite hkPulse}.hk-stage.frozen .hk-bar i{background:linear-gradient(90deg,#7fd6ff,#4aa8ff)}.hk-stage.frozen .hk-trace span:after{content:" frozen";color:#7fd6ff}.hk-screen{flex-direction:column;flex:1;justify-content:flex-end;gap:12px;min-height:230px;display:flex}.hk-log{color:#55755f;flex-direction:column;justify-content:flex-end;gap:4px;min-height:150px;font-size:14px;display:flex}.hk-log .clean{color:var(--hk-dim)}.hk-log .gold{color:var(--hk-gold)}.hk-log .sys{color:#7fb6ff}.hk-cmd{white-space:pre-wrap;word-break:break-word;min-height:1.4em;font-size:clamp(21px,3.6vw,34px);font-weight:700;line-height:1.35}.hk-cmd:before{content:"> ";color:var(--hk-dim)}.hk-cmd .done{color:var(--hk-green)}.hk-cmd .cur{color:#0b110d;background:#d7f7df;border-radius:3px}.hk-cmd .todo{color:#8aa593}.hk-cmd.bonus .todo{color:var(--hk-gold)}.hk-cmd.bonus .cur{background:var(--hk-gold)}.hk-tip{color:var(--hk-dim);min-height:1.5em;margin:0;font-size:13.5px}.hk-input{opacity:0;color:#0000;caret-color:#0000;background:0 0;border:0;width:100%;height:44px;font-size:16px;position:absolute;bottom:0;left:0}.hk-overlay{z-index:3;text-align:center;background:#080d0af0;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:0}.hk-overlay[hidden]{display:none}.hk-overlay h2{color:var(--hk-green);letter-spacing:-.01em;margin:0;font-family:inherit;font-size:clamp(24px,4vw,38px)}.hk-overlay p{color:#b6d8c0;max-width:46ch;margin:0;font-size:15px;line-height:1.55}.hk-btns{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.hk-btn{font:inherit;cursor:pointer;border:2px solid var(--hk-green);background:var(--hk-green);color:#06200f;border-radius:12px;min-height:48px;padding:12px 22px;font-size:16px;font-weight:700}.hk-btn.alt{color:var(--hk-green);background:0 0}.hk-btn:hover{filter:brightness(1.08)}.hk-best{color:var(--hk-dim);font-size:13.5px}.hk-flash{background:#080d0adb}.hk-flash h2{letter-spacing:.04em;font-size:clamp(30px,6vw,56px)}.hk-flash b{color:#fff}.hk-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(460px,100%);margin:4px 0;display:grid}.hk-stats div{background:#14201a;border-radius:12px;padding:12px 8px}.hk-stats b{color:#fff;font-size:24px;display:block}.hk-stats span{color:var(--hk-dim);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.hk-rank{color:var(--hk-gold);font-size:17px;font-weight:700}.hk-copied{color:var(--hk-dim);max-width:44ch;font-size:13.5px}@media (width<=640px){.hk-stage{min-height:400px;padding:14px 14px 16px}.hk-score{margin-left:0}.hk-log{min-height:110px;font-size:12.5px}.hk-stats b{font-size:20px}}
