:root{--bg: #0d0a08;--panel: #16110d;--border: #3a2a1a;--ember: #ff7a2e;--ember-hot: #ffc23c;--paper: #f0e8dc;--green: #6fe08f;--red: #ff5c4a;--blue: #6fc3ff}*{box-sizing:border-box;margin:0;padding:0;font-variant-ligatures:none!important;font-feature-settings:"liga" 0,"calt" 0,"dlig" 0!important}html,body{height:100%;background:var(--bg);color:var(--paper);font-family:Inter,Segoe UI,sans-serif;overflow:hidden}#app{display:flex;height:100vh}#furnace-side{width:min(470px,42vw);flex-shrink:0;position:relative;background:#0a0705;border-right:3px solid var(--border)}#furnace{width:100%;height:100%;display:block;cursor:pointer}#code-side{flex:1;display:flex;flex-direction:column;padding:10px 14px;gap:8px;min-width:0}#hud{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}.hud-chip{background:var(--panel);border:1.5px solid var(--border);border-radius:8px;padding:4px 12px;display:flex;flex-direction:column;align-items:center;min-width:78px}.hud-chip span{font-size:.62rem;letter-spacing:2px;opacity:.55}.hud-chip b{font-family:Rubik Mono One,monospace;font-size:1.05rem;color:var(--ember-hot)}.power-btn{font-family:Inter,sans-serif;font-weight:800;font-size:.8rem;background:#6fc3ff14;color:var(--blue);border:1.5px solid rgba(111,195,255,.4);border-radius:8px;padding:4px 12px;cursor:pointer}.power-btn:disabled{opacity:.3;cursor:not-allowed}.power-btn.quit{background:#ff5c4a14;color:var(--red);border-color:#ff5c4a66}.power-btn.quit:hover{background:#ff5c4a33}.power-btn:not(:disabled):hover{background:#6fc3ff33}.power-btn b{margin-left:4px}#spawn-bar{position:relative;height:16px;background:var(--panel);border:1.5px solid var(--border);border-radius:8px;overflow:hidden}#spawn-fill{height:100%;width:0%;background:linear-gradient(90deg,#7a3a12,var(--ember))}#spawn-bar.frozen #spawn-fill{background:linear-gradient(90deg,#1a4a6a,var(--blue))}#spawn-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.62rem;letter-spacing:2px;opacity:.7}#prompt-card{background:var(--panel);border:1.5px solid var(--border);border-left:4px solid var(--ember);border-radius:8px;padding:10px 14px;display:flex;flex-direction:column;gap:6px;max-height:27vh;overflow-y:auto}#prompt-head{display:flex;align-items:center;justify-content:space-between;gap:8px}#prompt-title{font-family:Rubik Mono One,monospace;font-size:1rem;color:var(--ember-hot)}.cheat-btn{font-family:Inter,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:1px;white-space:nowrap;background:#6fc3ff14;color:var(--blue);border:1.5px solid rgba(111,195,255,.4);border-radius:6px;padding:3px 10px;cursor:pointer}.cheat-btn:hover{background:#6fc3ff33}#cheatsheet{border-left:3px solid var(--blue);background:#6fc3ff0d;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:6px}#cheat-concept{font-size:.82rem;line-height:1.5;color:#cfe6f7}#cheat-code{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--blue);white-space:pre-wrap;word-break:break-word}#prompt-text{font-size:.92rem;line-height:1.45}#prompt-example{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--green);background:#0006;border-radius:6px;padding:8px 10px;white-space:pre-wrap;word-break:break-all}#prompt-example:empty{display:none}#editor{flex:1;min-height:120px;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;background:#100c09}#editor .cm-editor{height:100%;font-size:15px}#editor .cm-editor.cm-focused{outline:none;border-color:var(--ember)}#editor .cm-scroller{font-family:JetBrains Mono,monospace}#run-row{display:flex;align-items:center;gap:12px}.run-btn{font-family:Rubik Mono One,monospace;font-size:1rem;background:linear-gradient(180deg,var(--ember-hot),var(--ember) 55%,#b8481a);color:#1a0d04;border:2px solid #ffd98a;border-radius:9px;padding:10px 22px;cursor:pointer;box-shadow:0 4px #6a2a0c;transition:transform .07s}.run-btn:active{transform:scale(.97)}.run-btn:disabled{filter:grayscale(.8);opacity:.5;cursor:wait}#py-status{font-size:.75rem;opacity:.55;font-family:JetBrains Mono,monospace}#output{font-family:JetBrains Mono,monospace;font-size:.78rem;min-height:62px;max-height:120px;overflow-y:auto;background:#00000073;border:1.5px solid var(--border);border-radius:8px;padding:8px 10px;white-space:pre-wrap;word-break:break-all;color:#c9bfae}#output.ok{color:var(--green);border-color:#6fe08f80}#output.err{color:var(--red);border-color:#ff5c4a80}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#080503eb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;padding:20px}.hidden{display:none!important}.logo{font-family:Rubik Mono One,monospace;font-size:4.6rem;line-height:.95;color:var(--ember-hot);text-shadow:0 0 40px rgba(255,122,46,.5),0 6px 0 #6a2a0c}.logo.small{font-size:3.2rem;color:var(--red);text-shadow:0 0 40px rgba(255,92,74,.5),0 5px 0 #5a140c}.logo.small.win{color:var(--green);text-shadow:0 0 40px rgba(111,224,143,.55),0 5px 0 #1c5a34}.menu-sub{max-width:560px;line-height:1.6;opacity:.85}.menu-how{display:flex;flex-direction:column;gap:8px;font-size:.95rem;opacity:.75}.start-btn{font-family:Rubik Mono One,monospace;font-size:1.3rem;background:linear-gradient(180deg,var(--ember-hot),var(--ember) 55%,#b8481a);color:#1a0d04;border:2px solid #ffd98a;border-radius:12px;padding:16px 38px;cursor:pointer;box-shadow:0 5px #6a2a0c,0 10px 30px #0009}.start-btn:disabled{filter:grayscale(.9);opacity:.5;cursor:wait}.menu-best{opacity:.6;font-size:.9rem}.go-stats{font-size:1.1rem;line-height:2}.go-stats b{color:var(--ember-hot);font-family:Rubik Mono One,monospace}#topnav{position:fixed;top:8px;right:10px;z-index:40;display:flex;gap:6px}#topnav button{background:var(--panel);border:1.5px solid var(--border);border-radius:999px;color:var(--paper);font-weight:800;font-size:.72rem;letter-spacing:.5px;padding:6px 12px;cursor:pointer}#topnav button:hover{border-color:var(--ember)}#topnav em{font-style:normal;opacity:.9;margin-left:4px}.box{position:relative;background:var(--panel);border:2px solid var(--border);border-radius:14px;padding:26px 30px;width:min(430px,92vw);display:flex;flex-direction:column;gap:12px;align-items:center;box-shadow:0 20px 60px #000000b3;text-align:center}.box-close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--paper);opacity:.5;font-size:1rem;cursor:pointer}.box-close:hover{opacity:1}.box-title{font-family:Rubik Mono One,monospace;font-size:1.3rem;color:var(--ember-hot)}.tab-row{display:flex;gap:8px}.box-input{width:100%;background:#100c09;border:1.5px solid var(--border);border-radius:8px;color:var(--paper);font:inherit;padding:10px 12px;outline:none}.box-input:focus{border-color:var(--ember)}.box-error{color:var(--red);font-size:.85rem;min-height:1.2em}.prof-name{font-size:1.4rem;font-weight:800}.prof-level{font-family:Rubik Mono One,monospace;font-size:1.05rem}.prof-bar{width:100%;height:12px;background:#100c09;border:1.5px solid var(--border);border-radius:999px;overflow:hidden}#prof-fill{height:100%;width:0%;transition:width .4s}.prof-stats{display:flex;gap:18px;justify-content:center}.prof-stats div{display:flex;flex-direction:column;align-items:center}.prof-stats b{font-family:Rubik Mono One,monospace;font-size:1.2rem;color:var(--ember-hot)}.prof-stats span{font-size:.65rem;letter-spacing:1px;opacity:.55}.board-list{width:100%;display:flex;flex-direction:column;gap:5px;max-height:50vh;overflow-y:auto}.board-row{display:flex;align-items:center;gap:10px;background:#100c09;border:1.5px solid var(--border);border-radius:8px;padding:8px 12px;font-size:.9rem}.board-row:first-child{border-color:var(--ember-hot)}.board-rank{font-family:Rubik Mono One,monospace;color:var(--ember-hot);min-width:38px}.board-name{flex:1;text-align:left;font-weight:700}.board-lvl{font-size:.7rem;font-weight:800;letter-spacing:.5px}.board-score{font-family:Rubik Mono One,monospace;color:var(--green)}#battle-card{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.b-head{font-weight:800;color:var(--ember-hot);font-size:.95rem}.b-stmt{font-size:.82rem;line-height:1.5;opacity:.85;white-space:pre-wrap;background:var(--panel);border:1.5px solid var(--border);border-left:4px solid var(--ember);border-radius:8px;padding:8px 12px}#b-code{background:#100c09;border:1.5px solid var(--border);border-radius:8px;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.45;overflow-x:auto;max-height:30vh}#b-options{display:flex;flex-direction:column;gap:5px}#b-type{width:100%;background:#100c09;border:2px solid var(--ember);border-radius:8px;color:var(--paper);padding:10px 12px;outline:none;font-family:JetBrains Mono,monospace;font-size:.9rem}#b-type.good{border-color:var(--green);box-shadow:0 0 14px #6fe08f4d}.start-btn.alt{font-size:.95rem;padding:10px 24px;background:var(--panel);color:var(--blue);border:2px solid rgba(111,195,255,.5);box-shadow:0 4px #12283a,0 8px 24px #00000080}.start-btn.mini{font-size:.85rem;padding:8px 20px}#leetlab{justify-content:flex-start;gap:12px;overflow:hidden}.lab-head{display:flex;flex-direction:column;align-items:center;gap:10px}.lab-head .logo{font-size:2.4rem;color:var(--blue);text-shadow:0 0 30px rgba(111,195,255,.4),0 4px 0 #12283a}.lab-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center}#lab-search{background:var(--panel);border:1.5px solid var(--border);border-radius:8px;color:var(--paper);font:inherit;padding:8px 12px;width:min(320px,70vw);outline:none}#lab-search:focus{border-color:var(--blue)}.lab-chip{background:var(--panel);border:1.5px solid var(--border);border-radius:999px;color:var(--paper);font-weight:800;font-size:.75rem;letter-spacing:1px;padding:6px 14px;cursor:pointer;opacity:.7}.lab-chip.on,.lab-chip:hover{opacity:1;border-color:var(--blue);color:var(--blue)}#lab-list{width:min(760px,94vw);flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding-bottom:8px}.lab-row{display:flex;align-items:center;gap:10px;text-align:left;background:var(--panel);border:1.5px solid var(--border);border-radius:8px;color:var(--paper);font:inherit;padding:8px 12px;cursor:pointer}.lab-row:hover{border-color:var(--ember)}.lab-row.done{opacity:.55}.lab-n{font-family:JetBrains Mono,monospace;color:var(--ember-hot);min-width:56px}.lab-t{flex:1;font-weight:600}.lab-d{font-size:.68rem;font-weight:800;letter-spacing:1px;padding:2px 8px;border-radius:999px}.lab-d.easy{background:#6fe08f26;color:var(--green)}.lab-d.med{background:#ffc23c26;color:var(--ember-hot)}.lab-d.hard{background:#ff5c4a26;color:var(--red)}.lab-d.unk{background:#ffffff0f;color:#9a8f80}.lab-check{color:var(--green);min-width:18px}.lab-loading{opacity:.6;padding:18px}#leetplay{justify-content:flex-start;gap:10px;text-align:left}.play-head{width:min(1000px,96vw);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.play-title{font-family:Rubik Mono One,monospace;font-size:1.15rem;color:var(--ember-hot)}.play-src{font-size:.7rem;opacity:.5;margin-left:8px}.play-meters{display:flex;align-items:center;gap:14px}#play-lives{color:var(--red);letter-spacing:2px}#play-progress{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--ember-hot)}.play-body{width:min(1000px,96vw);flex:1;min-height:0;display:flex;gap:12px}#play-statement{flex:1;min-width:0;overflow-y:auto;white-space:pre-wrap;background:var(--panel);border:1.5px solid var(--border);border-left:4px solid var(--ember);border-radius:8px;padding:12px 14px;font-size:.85rem;line-height:1.55}#play-code{flex:1.2;min-width:0;overflow:auto;background:#100c09;border:1.5px solid var(--border);border-radius:8px;padding:12px 14px;font-family:JetBrains Mono,monospace;font-size:.82rem;line-height:1.5}.pl-line{white-space:pre}.pl-line.filled{color:var(--green)}.pl-line.current{color:var(--ember-hot);background:#ff7a2e1f;border-radius:4px}.pl-line.future{opacity:.45}.pl-line.revealed{color:var(--blue)}#play-options{width:min(1000px,96vw);display:flex;flex-direction:column;gap:6px}.lab-opt{display:flex;align-items:center;gap:10px;text-align:left;background:var(--panel);border:1.5px solid var(--border);border-radius:8px;color:var(--paper);padding:9px 12px;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.82rem}.lab-opt b{color:var(--ember-hot)}.lab-opt code{white-space:pre-wrap;word-break:break-all}.lab-opt:hover{border-color:var(--ember)}.lab-opt.picked{border-color:var(--ember-hot);background:#ffc23c1a}.lab-opt.burned{opacity:.35;text-decoration:line-through;cursor:not-allowed}#play-type-wrap{width:min(1000px,96vw);padding-bottom:10px}#play-type{width:100%;background:#100c09;border:2px solid var(--ember);border-radius:8px;color:var(--paper);padding:12px 14px;outline:none;font-family:JetBrains Mono,monospace;font-size:.95rem}#play-type.good{border-color:var(--green);box-shadow:0 0 14px #6fe08f4d}#play-type.shake{animation:shake .3s;border-color:var(--red)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.lab-banner{font-family:Rubik Mono One,monospace;font-size:1.1rem;text-align:center;padding:12px;border-radius:8px}.lab-banner.won{color:var(--green);background:#6fe08f1a}.lab-banner.lost{color:var(--red);background:#ff5c4a1a}@media(max-width:900px){#app{flex-direction:column}#furnace-side{width:100%;height:34vh;border-right:none;border-bottom:3px solid var(--border)}.play-body{flex-direction:column}}
