:root{--bg-void: #020810;--bg-nebula: #060d1f;--bg-panel: #0a1628;--bg-panel-hover: #0f1e36;--border: #122a4a;--border-glow: #0ea5e9;--teal: #2dd4bf;--teal-dim: #115e59;--blue: #0ea5e9;--blue-bright: #38bdf8;--indigo: #6366f1;--indigo-bright: #a5b4fc;--cyan: #22d3ee;--orange: #f97316;--pink: #ec4899;--text: #cbd5e1;--text-bright: #e2e8f0;--text-dim: #475569;--success: #2dd4bf;--error: #f43f5e;--gold: #fbbf24;--font-body: "Rajdhani", sans-serif;--font-display: "Orbitron", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg-void);color:var(--text);font-family:var(--font-body)}body{display:flex;flex-direction:column}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(1px 1px at 10% 15%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 45% 10%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 75% 25%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 60% 70%,rgba(255,255,255,.35),transparent),radial-gradient(1px 1px at 90% 55%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 35% 60%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 5% 50%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 80% 85%,rgba(255,255,255,.25),transparent)}#scanlines{display:none}header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:linear-gradient(180deg,#0a1628f2,#020810e6);border-bottom:1px solid var(--border);position:relative;z-index:10;flex-shrink:0;flex-wrap:nowrap;gap:12px;overflow:hidden}header:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-glow),transparent)}.title{font-family:var(--font-display);font-size:26px;font-weight:900;letter-spacing:12px;flex-shrink:0;background:linear-gradient(135deg,#0ff,#38bdf8,#a5b4fc 60%,#2dd4bf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;padding:2px 4px}.header-level{display:flex;align-items:center;gap:10px;flex:1;min-width:0;justify-content:center}#level-title{font-size:13px;font-weight:600;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-btn{padding:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}#menu-panel{z-index:200;justify-content:flex-start;align-items:flex-start}.menu-content{background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;padding:6px 0;margin:50px 0 0 16px;min-width:200px;box-shadow:0 4px 24px #0000004d;transform:translateY(-8px);transition:transform .15s ease}#menu-panel:not(.hidden) .menu-content{transform:translateY(0)}.menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 20px;background:none;border:none;color:var(--text);font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;transition:background .1s;text-align:left}.menu-item:hover{background:#0ea5e914}.menu-icon{width:20px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:16px;flex-shrink:0}.menu-divider{height:1px;background:var(--border);margin:6px 0}.level-label{font-family:var(--font-display);font-size:11px;letter-spacing:3px;color:var(--blue)}.level-name{font-family:var(--font-display);font-size:12px;letter-spacing:2px;color:var(--teal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-btn{background:#0ea5e90f;border:1px solid var(--border);color:var(--blue-bright);font-family:var(--font-body);font-size:18px;padding:8px 16px;cursor:pointer;transition:all .15s}.nav-btn:hover{background:#0ea5e91f;border-color:var(--border-glow);box-shadow:0 0 10px #0ea5e933}.lang-btn{font-size:16px;padding:6px 10px;line-height:1}.action-btn{font-family:var(--font-display);font-size:13px;letter-spacing:2px;padding:10px 28px;border:1px solid rgba(45,212,191,.3);background:#2dd4bf14;color:var(--teal);cursor:pointer;transition:all .15s}.action-btn:hover{background:#2dd4bf2e;border-color:var(--teal);box-shadow:0 0 12px #2dd4bf33}#level-description{font-size:12px;color:var(--text-dim);letter-spacing:.5px}.instructions-available{font-size:10px;color:var(--text-dim);letter-spacing:1px;white-space:nowrap}.help-content{background:var(--bg-panel);border:1px solid var(--border-glow);border-radius:4px;padding:32px 40px;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 24px #0ea5e926;transform:translateY(-8px);transition:transform .2s ease}.overlay:not(.hidden) .help-content,.overlay:not(.hidden) .overlay-content,.overlay:not(.hidden) .menu-content,.overlay:not(.hidden) .level-select-content{transform:translateY(0)}.help-content h2{font-family:var(--font-display);font-size:24px;letter-spacing:6px;color:var(--blue-bright);margin-bottom:20px;text-align:center}.help-content h3{font-family:var(--font-display);font-size:11px;letter-spacing:3px;color:var(--teal);margin:20px 0 10px;padding-top:16px;border-top:1px solid var(--border)}.help-body p{font-size:13px;line-height:1.7;color:var(--text);margin-bottom:8px}.help-body .hl{color:var(--teal);background:#2dd4bf14;padding:1px 6px;border-radius:2px}.help-table{width:100%;border-collapse:collapse}.help-table td{padding:4px 8px;font-size:12px;border-bottom:1px solid rgba(18,42,74,.5)}.help-table td:first-child{white-space:nowrap;width:120px}.help-table td:last-child{color:var(--text-dim)}.help-content .action-btn{display:block;margin:24px auto 0}main#pipeline{display:flex;flex-direction:column;align-items:center;padding:4px 20px;flex:1;min-height:0;position:relative;overflow-y:auto;overflow-x:hidden}#vfx-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.box{background:linear-gradient(180deg,#0a1628e6,#060d1ff2);border:1px solid var(--border);border-radius:4px;display:flex;flex-direction:column;position:relative;z-index:2;transition:border-color .3s}.box-header{font-family:var(--font-display);font-size:10px;letter-spacing:3px;color:var(--text-dim);padding:5px 12px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(14,165,233,.06) 0%,transparent 100%);text-align:center}.input-box{width:100%;max-width:700px;border-color:#0ea5e959;flex-shrink:0}.input-box .box-header{color:var(--blue-bright)}#input-rows .stack-display+.stack-display,#output-rows .stack-display+.stack-display,#expected-rows .stack-display+.stack-display{border-top:1px solid var(--border)}.stack-display.tc-active{background:#0ea5e90a}.output-box{border-color:#6366f159}.output-box .box-header{color:var(--indigo-bright)}.expected-box{border-color:#2dd4bf59}.expected-box .box-header{color:var(--teal)}.code-box{width:100%;max-width:700px;flex:1 0 auto;min-height:200px;display:flex;flex-direction:column;background:linear-gradient(180deg,#0a1628fa,#060d1f)}.fn-signature{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text-dim);padding:6px 10px 4px;letter-spacing:2px;-webkit-user-select:none;user-select:none}.sig-kw{color:var(--pink)!important}.sig-fn{color:var(--blue-bright)!important}.sig-type{color:var(--teal)!important}.sig-op{color:var(--orange)!important}.fn-brace{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text-dim);padding:2px 10px 6px;line-height:1;-webkit-user-select:none;user-select:none;flex-shrink:0}.program-display{flex:1;min-height:30px;padding:2px 0;display:flex;flex-direction:column;gap:0;overflow-y:auto}.program-line{display:flex;gap:8px;padding:1px 10px 1px 28px;line-height:1.6;align-items:center}.program-line.easy-line{padding-left:12px;gap:16px;border-bottom:1px solid rgba(0,0,0,.03)}.program-line-stack{display:flex;gap:4px;flex:1;overflow-x:auto;padding:2px 0;opacity:.5}.program-line-stack .stack-item{font-size:11px;padding:2px 6px;min-width:32px;border-radius:4px}body.mode-easy .program-line-stack .stack-item{border-radius:6px;border-width:1px}.program-token{font-family:var(--font-body);font-size:16px;font-weight:600;color:var(--indigo-bright);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;border-radius:2px;padding:0 2px}.program-token:hover{color:var(--error);background:#f43f5e14;text-decoration:line-through}.program-token.number{color:var(--blue-bright)}.program-token.highlight{color:var(--teal);background:#2dd4bf1f;border-radius:3px;padding:1px 6px;margin:-1px -2px}.program-empty{font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--text-dim);opacity:.3}.input-panel{border-top:1px solid var(--border);padding:8px 10px;flex-shrink:0;display:flex;flex-direction:column;gap:6px}.panel-row{display:flex;gap:8px;align-items:flex-start}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:156px;flex-shrink:0}.numpad-display{grid-column:1 / -1;background:#020810cc;border:1px solid var(--border);color:var(--blue-bright);font-family:var(--font-body);font-size:14px;font-weight:600;padding:4px 6px;border-radius:2px;text-align:right;height:28px}.numpad-btn{font-family:var(--font-body);font-size:16px;font-weight:600;min-width:46px;min-height:46px;border:1px solid rgba(14,165,233,.2);border-radius:2px;background:#0ea5e90d;color:var(--blue-bright);cursor:pointer;transition:all .15s}.numpad-btn:hover{background:#0ea5e926;border-color:var(--blue);box-shadow:0 0 8px #0ea5e926}.numpad-push{background:#2dd4bf0f;color:var(--teal);border-color:#2dd4bf40}.numpad-push:hover{background:#2dd4bf26;border-color:var(--teal);box-shadow:0 0 8px #2dd4bf26}.numpad-neg{color:var(--indigo-bright);border-color:#6366f140;background:#6366f10d}.numpad-neg:hover{background:#6366f126;border-color:var(--indigo)}.instruction-buttons{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0;align-content:flex-start}.instr-btn{text-align:center;white-space:nowrap}.panel-btn{font-family:var(--font-body);font-size:14px;font-weight:600;padding:8px 14px;border:1px solid var(--border);border-radius:2px;cursor:pointer;transition:all .15s;letter-spacing:.5px}.instr-btn{background:#6366f10f;color:var(--indigo-bright);border-color:#6366f140;padding:6px 10px;min-height:46px;min-width:46px;display:flex;align-items:center;justify-content:center}.instr-btn:hover{background:#6366f126;border-color:var(--indigo);box-shadow:0 0 8px #6366f126}.push-num-btn{background:#0ea5e90f;color:var(--blue-bright);border-color:#0ea5e94d}.push-num-btn:hover{background:#0ea5e926;border-color:var(--blue);box-shadow:0 0 8px #0ea5e926}.panel-actions{display:flex;flex-direction:row;gap:4px;flex-shrink:0;justify-content:flex-end;padding-top:6px;border-top:1px solid var(--border)}.panel-actions .panel-btn{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0}.run-btn{background:#2dd4bf14;color:var(--teal);border-color:#2dd4bf4d}.run-btn:hover:not(:disabled){background:#2dd4bf2e;border-color:var(--teal);box-shadow:0 0 12px #2dd4bf33}.run-btn:disabled,.step-btn:disabled{opacity:.3;cursor:not-allowed}.step-btn{background:#0ea5e914;color:var(--blue-bright);border-color:#0ea5e94d}.step-btn:hover:not(:disabled){background:#0ea5e92e;border-color:var(--blue)}.reset-btn{background:#f973160f;color:var(--orange);border-color:#f9731640}.reset-btn:hover{background:#f973161f;border-color:var(--orange);box-shadow:0 0 12px #f9731626}.undo-btn{background:#6366f10f;color:var(--indigo-bright);border-color:#6366f140}.undo-btn:hover{background:#6366f11f;border-color:var(--indigo)}.clear-btn{background:#f43f5e0f;color:var(--error);border-color:#f43f5e40}.clear-btn:hover{background:#f43f5e1f;border-color:var(--error)}.stack-display.horizontal{display:flex;flex-direction:row;flex-wrap:nowrap;padding:6px 10px;gap:6px;justify-content:flex-start;min-height:36px;max-height:70px;align-items:center;overflow-x:auto;overflow-y:hidden}.connector.vertical{width:2px;height:6px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;flex-shrink:0}.connector.vertical:before{content:"";width:2px;height:100%;background:linear-gradient(180deg,var(--border),var(--border-glow),var(--border));opacity:.3}.result-column{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;max-width:700px;z-index:2;flex-shrink:0}.result-column .output-box,.result-column .expected-box{width:100%}#output-rows .stack-display{min-height:44px}.result-connector{height:12px}.result-match{font-family:var(--font-display);font-size:14px;color:var(--text-dim);-webkit-user-select:none;user-select:none;z-index:2}.result-match.match{color:var(--success)}.result-match.mismatch{color:var(--error)}.stack-item{font-size:15px;padding:6px 12px;border-radius:2px;text-align:center;white-space:nowrap;flex-shrink:0;transition:all .2s;min-width:44px}.stack-item.int{background:#0ea5e91f;border:1px solid rgba(14,165,233,.3);color:var(--blue-bright)}.stack-item.float{background:#6366f11f;border:1px solid rgba(99,102,241,.3);color:var(--indigo-bright)}.stack-item.string{background:#2dd4bf1a;border:1px solid rgba(45,212,191,.25);color:var(--teal)}.stack-item.match{border-color:var(--success);box-shadow:0 0 8px #2dd4bf4d}.stack-item.mismatch{border-color:var(--error);box-shadow:0 0 8px #f43f5e4d}.stack-item.pop-animate{animation:stackPop .3s ease-out forwards}.stack-item.push-animate{animation:stackPush .3s ease-out forwards}@keyframes stackPush{0%{opacity:0;transform:translateY(-8px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes stackPop{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5) translateY(8px)}}.box.active{border-color:var(--teal)!important}.box.error{border-color:var(--error)!important;animation:errorShake .3s ease-out}@keyframes errorShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}footer{display:flex;align-items:center;justify-content:space-between;padding:6px 20px;border-top:1px solid var(--border);position:relative;z-index:10;flex-shrink:0}footer:before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-glow),transparent)}.stars{display:flex;gap:8px}.star{width:18px;height:18px;color:var(--text-dim);opacity:.3;transition:all .3s;fill:currentColor;stroke:currentColor;stroke-width:.5}.star.earned{color:var(--gold);opacity:1}.test-case-indicator{display:flex;gap:6px;align-items:center;font-family:var(--font-display);font-size:10px;letter-spacing:1px;color:var(--text-dim)}.test-case-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--text-dim);background:transparent;transition:all .3s}.test-case-dot.active{border-color:var(--blue);box-shadow:0 0 6px #0ea5e966}.test-case-dot.pass{background:var(--success);border-color:var(--success);box-shadow:0 0 6px #2dd4bf66}.test-case-dot.fail{background:var(--error);border-color:var(--error);box-shadow:0 0 6px #f43f5e66}.step-indicator{font-family:var(--font-body);font-size:11px;color:var(--text-dim);letter-spacing:1px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020810b3;display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s ease}.overlay:not(.hidden){opacity:1;pointer-events:auto}.overlay-content{text-align:center}.overlay-content h2{font-family:var(--font-display);font-size:32px;letter-spacing:8px;background:linear-gradient(135deg,var(--teal),var(--blue-bright),var(--indigo-bright));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:24px}#complete-message{font-size:14px;color:var(--text-dim);margin-bottom:24px;line-height:1.6}.complete-actions{display:flex;gap:12px;justify-content:center}.stars-result{display:flex;justify-content:center;gap:16px;margin-bottom:32px}.stars-result .star{width:36px;height:36px}@keyframes overlayIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.level-select-content{background:var(--bg-panel);border:1px solid var(--border-glow);border-radius:4px;padding:24px 32px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 4px 24px #0ea5e926;transform:translateY(-8px);transition:transform .2s ease}.level-select-content h2{font-family:var(--font-display);font-size:18px;letter-spacing:4px;color:var(--blue-bright);margin-bottom:16px;text-align:center}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-bottom:20px}.level-card{background:#0ea5e90a;border:1px solid var(--border);border-radius:4px;padding:10px;cursor:pointer;transition:all .15s;text-align:center}.level-card:hover{border-color:var(--border-glow);background:#0ea5e914;box-shadow:0 0 10px #0ea5e91a}.level-card.locked{opacity:.3;cursor:not-allowed}.level-card.current{border-color:var(--teal);background:#2dd4bf14}.level-card-num{font-family:var(--font-display);font-size:11px;letter-spacing:2px;color:var(--blue);margin-bottom:4px}.level-card-name{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}.level-card-stars{display:flex;justify-content:center;gap:4px}.level-card-stars .star{width:14px;height:14px}.level-select-actions{display:flex;justify-content:center;gap:12px;margin-top:16px}.reset-progress-btn{background:#f43f5e0f;border-color:#f43f5e4d;color:var(--error);font-size:11px}.reset-progress-btn:hover{background:#f43f5e1f;border-color:var(--error)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--border-glow)}#game-container.hidden{display:none}#game-container{display:flex;flex-direction:column;width:100%;height:100%}.mode-select-content{text-align:center}.mode-title{font-family:var(--font-display);font-size:72px;font-weight:900;letter-spacing:16px;background:linear-gradient(135deg,#0ff,#38bdf8,#a5b4fc,#2dd4bf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 30px rgba(0,255,255,.4));margin-bottom:8px}.mode-subtitle{font-family:var(--font-display);font-size:12px;letter-spacing:4px;color:var(--text-dim);margin-bottom:48px}.mode-buttons{display:flex;gap:24px;justify-content:center}.mode-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 40px;border:1px solid var(--border);border-radius:6px;background:#0ea5e90a;cursor:pointer;transition:all .2s;min-width:180px}.mode-btn:hover{border-color:var(--border-glow);background:#0ea5e91a;box-shadow:0 0 30px #0ea5e926;transform:translateY(-2px)}.mode-btn-label{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:6px}.mode-btn-desc{font-family:var(--font-body);font-size:12px;color:var(--text-dim);letter-spacing:.5px}.mode-progress{width:100%;height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:10px}.mode-progress-bar{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--teal),var(--blue-bright));transition:width .4s ease;width:0%}.mode-progress-text{font-family:var(--font-display);font-size:14px;letter-spacing:1px;color:var(--text-dim);margin-top:4px}.level-select-progress{margin-bottom:12px}.level-select-progress .mode-progress-text{display:block;text-align:center;margin-top:6px}.mode-btn-easy .mode-progress-bar{background:linear-gradient(90deg,#e07098,#e8984c,#3aaa80)}.mode-btn-easy .mode-btn-label{background:linear-gradient(135deg,#e07098,#e8984c,#3aaa80,#8870d0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mode-btn-easy:hover{border-color:#b8a0e0;box-shadow:0 0 30px #8870d033}.mode-btn-hard .mode-btn-label{color:var(--indigo-bright)}.mode-btn-hard:hover{border-color:var(--indigo);box-shadow:0 0 30px #6366f133}body.mode-easy{--bg-void: #f8f4ff;--bg-nebula: #f0eaff;--bg-panel: #ffffff;--bg-panel-hover: #faf6ff;--border: #ddd0ee;--border-glow: #b498e0;--teal: #3aaa80;--teal-dim: #88d8b8;--blue: #5898dc;--blue-bright: #4080c8;--indigo: #8870d0;--indigo-bright: #6c50b8;--cyan: #48a8c8;--orange: #e8984c;--pink: #e07098;--text: #2c2040;--text-bright: #1c1030;--text-dim: #9888a8;--success: #3aaa80;--error: #d85858;--gold: #e8b030;--font-body: "Nunito", "Rajdhani", sans-serif;--font-display: "Nunito", "Orbitron", sans-serif}body.mode-easy:before{background:radial-gradient(circle at 12% 25%,rgba(224,112,152,.07),transparent 40%),radial-gradient(circle at 88% 20%,rgba(136,112,208,.06),transparent 40%),radial-gradient(circle at 50% 85%,rgba(88,152,220,.05),transparent 40%)}body.mode-easy #scanlines{display:none}body.mode-easy header{background:linear-gradient(180deg,#fff,#f8f4ff);border-bottom:2px solid #ddd0ee}body.mode-easy header:after{background:none;box-shadow:none}body.mode-easy .title{background:linear-gradient(135deg,#e07098,#e8984c,#3aaa80,#5898dc,#8870d0);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:none;font-size:28px;letter-spacing:6px;animation:rainbowShift 5s ease infinite}@keyframes rainbowShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}body.mode-easy .title:after{display:none}body.mode-easy .box{background:#fff;border-radius:14px;border:2px solid #ddd0ee;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 2px #0000000a}body.mode-easy .input-box{border-color:#88b8e8;background:linear-gradient(180deg,#f4f8ff,#fff)}body.mode-easy .output-box{border-color:#b8a0e0;background:linear-gradient(180deg,#f8f4ff,#fff)}body.mode-easy .expected-box{border-color:#80cca8;background:linear-gradient(180deg,#f2fcf6,#fff)}body.mode-easy .code-box{border-color:#e8b888;background:linear-gradient(180deg,#fef8f2,#fff)}body.mode-easy .box-header{border-radius:12px 12px 0 0;font-size:13px;font-weight:700;padding:5px 12px;border-bottom:1px solid rgba(0,0,0,.05);letter-spacing:.5px}body.mode-easy .input-box .box-header{background:#f0f6ff;color:#4080c8}body.mode-easy .output-box .box-header{background:#f4f0ff;color:#6c50b8}body.mode-easy .expected-box .box-header{background:#eefcf4;color:#3aaa80}body.mode-easy .stack-item{border-radius:10px;font-size:15px;font-weight:800;padding:5px 14px}body.mode-easy .stack-item.int{background:#eef4ff;border:2px solid #88b8e8;color:#4080c8}body.mode-easy .stack-item.match{border-color:#80cca8;background:#eefcf4}body.mode-easy .stack-item.mismatch{border-color:#e89090;background:#fff0f0}body.mode-easy .instr-btn{border-radius:10px;font-size:14px;font-weight:800;padding:10px 8px;border:2px solid;transition:all .15s}body.mode-easy .instr-btn:nth-child(5n+1){background:#fef2f6;border-color:#e8a0b8;color:#c06888}body.mode-easy .instr-btn:nth-child(5n+2){background:#fef6f0;border-color:#e8b888;color:#c88848}body.mode-easy .instr-btn:nth-child(5n+3){background:#f2fcf6;border-color:#80cca8;color:#308868}body.mode-easy .instr-btn:nth-child(5n+4){background:#f0f6ff;border-color:#88b8e8;color:#4080c8}body.mode-easy .instr-btn:nth-child(5n+5){background:#f4f0ff;border-color:#b8a0e0;color:#7860c0}body.mode-easy .instr-btn:hover{transform:scale(1.06);box-shadow:0 2px #00000014}body.mode-easy .numpad-btn{border-radius:10px;font-size:17px;font-weight:800;min-height:44px;border:2px solid #88b8e8;background:#f4f8ff;color:#4080c8}body.mode-easy .numpad-btn:hover{background:#e8f0ff;transform:scale(1.04)}body.mode-easy .numpad-push{border-color:#80cca8;background:#f2fcf6;color:#308868}body.mode-easy .numpad-neg{border-color:#b8a0e0;background:#f4f0ff;color:#7860c0}body.mode-easy .numpad-display{border-radius:8px;border:2px solid #ddd0ee;font-size:17px;font-weight:800;background:#faf6ff}body.mode-easy .panel-btn{border-radius:10px;border-width:2px}body.mode-easy .panel-actions{flex-direction:row}body.mode-easy .panel-actions .panel-btn{width:auto;height:auto;min-width:64px;padding:10px 8px;font-size:14px;font-weight:800;border:2px solid;border-radius:10px}body.mode-easy .run-btn{background:#eefcf4;border-color:#80cca8;color:#308868}body.mode-easy .run-btn:hover{background:#e0f8ec;transform:scale(1.06)}body.mode-easy .reset-btn{background:#fff2f2;border-color:#e89090;color:#c05050}body.mode-easy .reset-btn:hover{background:#ffe8e8;transform:scale(1.06)}body.mode-easy .run-btn svg,body.mode-easy .reset-btn svg{width:20px;height:20px}body.mode-easy .nav-btn{border-radius:10px;border:2px solid #b8a0e0;background:#f8f4ff;color:#7860c0}body.mode-easy .nav-btn:hover{background:#f0eaff;transform:scale(1.04)}body.mode-easy .action-btn{border-radius:10px;border:2px solid #80cca8;background:#eefcf4;color:#308868;font-weight:800}body.mode-easy .action-btn:hover{background:#e0f8ec}body.mode-easy .program-line{padding-left:20px}body.mode-easy .program-token{font-size:18px;font-weight:800;color:#6c50b8}body.mode-easy .program-token.number{color:#4080c8}body.mode-easy .program-token.highlight{color:#308868;background:#eefcf4;border-radius:6px;padding:0 4px}body.mode-easy .program-token:hover{color:#d85858}body.mode-easy .program-empty{font-size:16px;color:#b8a8c8}body.mode-easy .fn-brace{color:#c88848}body.mode-easy #level-description{font-size:14px;font-weight:600;color:var(--text)}body.mode-easy .connector.vertical:before{background:linear-gradient(180deg,#e8b888,#b8a0e0);opacity:.4;width:2px}body.mode-easy .result-match{font-size:20px;font-weight:800}body.mode-easy .result-match.match{color:#3aaa80;filter:none}body.mode-easy .result-match.mismatch{color:#d85858;filter:none}body.mode-easy .overlay{background:#281e3c80}body.mode-easy .overlay-content h2,body.mode-easy .level-select-content h2{background:linear-gradient(135deg,#e07098,#e8984c,#3aaa80,#5898dc,#8870d0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:none;font-size:24px;letter-spacing:1px}body.mode-easy .level-select-content,body.mode-easy .help-content{background:#fff;border:2px solid #ddd0ee;border-radius:14px;box-shadow:0 4px 24px #8870d01a}body.mode-easy .level-card{border:2px solid #ddd0ee;border-radius:12px;padding:12px;background:#faf6ff}body.mode-easy .level-card:nth-child(5n+1){border-color:#e8a0b8;background:#fef4f8}body.mode-easy .level-card:nth-child(5n+2){border-color:#e8b888;background:#fef8f2}body.mode-easy .level-card:nth-child(5n+3){border-color:#80cca8;background:#f2fcf6}body.mode-easy .level-card:nth-child(5n+4){border-color:#88b8e8;background:#f4f8ff}body.mode-easy .level-card:nth-child(5n+5){border-color:#b8a0e0;background:#f6f2ff}body.mode-easy .level-card:hover{transform:translateY(-2px);box-shadow:0 3px #0000000f}body.mode-easy .level-card.current{border-color:#80cca8;background:#eefcf4;box-shadow:0 0 0 2px #3aaa8026}body.mode-easy .level-card.locked{opacity:.35;filter:grayscale(.5)}body.mode-easy .level-card-name{font-weight:800}body.mode-easy .star.earned{color:#e8b030;filter:drop-shadow(0 1px 2px rgba(232,176,48,.35))}body.mode-easy footer{border-top:2px solid #ddd0ee;background:linear-gradient(180deg,#fff,#faf6ff)}body.mode-easy footer:before{display:none}body.mode-easy .connector.vertical:before{background:linear-gradient(180deg,var(--border),var(--border-glow),var(--border));opacity:.5}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:auto}.tutorial-overlay.pass-through{pointer-events:none}.tutorial-highlight{position:fixed;z-index:201;border-radius:10px;border:2px solid var(--border-glow);box-shadow:0 0 0 9999px #000000a6,0 0 16px #0ea5e966,0 0 40px #0ea5e926;pointer-events:none;animation:tutorial-pulse 1.5s ease-in-out infinite;transition:top .3s ease,left .3s ease,width .3s ease,height .3s ease}body.mode-easy .tutorial-highlight{border-color:#80cca8;box-shadow:0 0 0 9999px #281e3c99,0 0 16px #3aaa8066,0 0 40px #3aaa8026}@keyframes tutorial-pulse{0%,to{opacity:1}50%{opacity:.5}}.tutorial-dialog{position:fixed;z-index:202;background:var(--bg-panel);border:2px solid var(--border-glow);border-radius:12px;padding:16px 20px;color:var(--text-bright);font-size:16px;font-weight:600;max-width:300px;line-height:1.5;box-shadow:0 4px 24px #00000080;pointer-events:auto;animation:tutorial-dialog-in .3s ease-out}body.mode-easy .tutorial-dialog{background:#fff;border:2px solid #80cca8;color:#3a3060;border-radius:14px;box-shadow:0 4px 24px #8870d026;font-family:Nunito,sans-serif}@keyframes tutorial-dialog-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tutorial-dialog-arrow{position:absolute;width:12px;height:12px;background:inherit;border:inherit;border-radius:2px;transform:rotate(45deg);pointer-events:none}.tutorial-dialog-arrow.arrow-up{top:-7px;left:24px;border-bottom:none;border-right:none}.tutorial-dialog-arrow.arrow-down{bottom:-7px;left:24px;border-top:none;border-left:none}.tutorial-dialog-arrow.arrow-left{left:-7px;top:20px;border-top:none;border-right:none}.tutorial-dialog-text{margin-bottom:12px}.tutorial-dialog-btn{display:inline-block;padding:6px 16px;border:1px solid var(--border-glow);border-radius:6px;background:#0ea5e91a;color:var(--blue-bright);font-family:var(--font-body);font-size:14px;font-weight:700;cursor:pointer;transition:all .15s;letter-spacing:.5px}.tutorial-dialog-btn:hover{background:#0ea5e933}body.mode-easy .tutorial-dialog-btn{border:2px solid #80cca8;background:#eefcf4;color:#308868;border-radius:8px;font-family:Nunito,sans-serif}body.mode-easy .tutorial-dialog-btn:hover{background:#e0f8ec}@media(max-width:640px){header{padding:6px 10px;gap:8px}.title{font-size:18px;letter-spacing:4px}.level-label,.level-name{font-size:10px}main#pipeline{padding:8px 12px}.input-box,.code-box,.result-row{max-width:100%}.fn-signature{font-size:14px}.panel-row{flex-wrap:wrap}.panel-actions{flex-direction:row}.help-content{padding:20px;margin:12px}.mode-buttons{flex-direction:column;gap:16px}.mode-btn{min-width:0;padding:24px 32px}.mode-title{font-size:32px;letter-spacing:10px}}@media(min-width:641px)and (max-width:1023px){.instruction-buttons{gap:5px}.instr-btn{padding:10px 6px;font-size:15px}.numpad{width:168px;gap:5px}.numpad-btn{font-size:18px;min-height:50px}.numpad-display{font-size:18px;height:34px}.panel-actions .panel-btn{width:50px;height:50px}.panel-btn{font-size:15px}.stack-item{font-size:16px;padding:7px 14px}.stack-display.horizontal{padding:8px 12px;gap:8px;min-height:42px}.box-header{font-size:11px;padding:6px 14px}.fn-brace{font-size:16px}.program-token{font-size:18px}.result-match{font-size:22px;min-height:24px}.panel-row{gap:10px}.input-panel{padding:10px 12px}}@media(min-width:1024px){.title{font-size:30px}.level-label{font-size:13px}.level-name{font-size:14px}.nav-btn{font-size:20px;padding:10px 18px}#level-description{font-size:14px}.instructions-available{font-size:12px}.fn-brace{font-size:16px}.program-token{font-size:18px}.program-line{padding:2px 10px 2px 32px;gap:10px}.panel-btn{font-size:15px;padding:8px 14px}.instr-btn{padding:8px 6px}.instruction-buttons{gap:4px}.numpad{width:156px;gap:4px}.numpad-btn{font-size:16px;min-height:46px}.numpad-display{font-size:16px;height:32px}.panel-actions .panel-btn{width:46px;height:46px}.stack-item{font-size:15px;padding:5px 12px}.box-header{font-size:10px;padding:5px 14px}.result-match{font-size:22px}.step-indicator{font-size:13px}.star{width:22px;height:22px}}@media(min-width:1440px){.title{font-size:34px}.fn-signature{font-size:14px}.fn-brace{font-size:18px}.program-token{font-size:20px}.panel-btn{font-size:16px;padding:10px 16px}.instruction-buttons{gap:5px}.numpad{width:180px;gap:5px}.numpad-btn{font-size:18px;min-height:52px}.numpad-display{font-size:18px;height:36px}.panel-actions .panel-btn{width:52px;height:52px}.stack-item{font-size:16px;padding:6px 14px}.result-match{font-size:24px}}
