:root{--bg-dark:#090a10;--panel-bg:#131724;--panel-border:#28304d;--panel-header:#1b2136;--pixel-yellow:#fc0;--pixel-green:#0f6;--pixel-cyan:#00e5ff;--pixel-red:#f36;--pixel-magenta:#ff2a8d;--pixel-purple:#9d4edd;--text-main:#f0f4f8;--text-dim:#8c9ba5;--font-arcade:"Press Start 2P", monospace;--font-pixel:"Pixelify Sans", monospace;--font-crt:"VT323", monospace}*{box-sizing:border-box;image-rendering:pixelated;image-rendering:crisp-edges;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-pixel);background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:24px 24px;min-height:100vh;padding:24px 16px;font-size:18px;line-height:1.5}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0b0d14}::-webkit-scrollbar-thumb{background:var(--panel-border);border:2px solid #0b0d14}::-webkit-scrollbar-thumb:hover{background:var(--pixel-cyan)}.app-container{flex-direction:column;gap:24px;max-width:1080px;margin:0 auto;display:flex}.arcade-header{text-align:center;background:var(--panel-bg);border:4px solid #000;padding:20px 16px;position:relative;overflow:hidden;box-shadow:6px 6px #000,inset -4px -4px #090c14,inset 4px 4px #2a3352}.arcade-title{font-family:var(--font-arcade);color:var(--pixel-yellow);text-shadow:3px 3px #000,0 0 10px #ffcc0080;letter-spacing:2px;margin-bottom:8px;font-size:2.2rem}.arcade-subtitle{font-family:var(--font-pixel);color:var(--pixel-cyan);text-shadow:1px 1px #000;font-size:1.25rem}.coin-badge{color:#fff;font-family:var(--font-pixel);letter-spacing:1px;background:#f05;border:2px solid #000;margin-top:10px;padding:4px 14px;font-size:.95rem;font-weight:700;animation:1.5s infinite alternate blinkCoin;display:inline-block;box-shadow:2px 2px #000}@keyframes blinkCoin{0%{opacity:.7}to{opacity:1;transform:scale(1.03)}}.pixel-card{background:var(--panel-bg);border:4px solid #000;padding:20px;box-shadow:5px 5px #000,inset -3px -3px #0a0d17,inset 3px 3px #242c47}.form-card{flex-direction:column;gap:16px;display:flex}.input-group{flex-wrap:wrap;gap:12px;display:flex}.pixel-input{color:#fff;min-width:280px;font-family:var(--font-pixel);background:#090c14;border:3px solid #000;outline:none;flex:1;padding:12px 16px;font-size:1.2rem;transition:border-color .15s;box-shadow:inset 3px 3px #000,inset -1px -1px #222940}.pixel-input:focus{border-color:var(--pixel-cyan);box-shadow:inset 3px 3px #000,0 0 8px #00e5ff66}.pixel-input::placeholder{color:#526075}.pixel-btn{font-family:var(--font-pixel);letter-spacing:.5px;color:#000;background:var(--pixel-yellow);cursor:pointer;-webkit-user-select:none;user-select:none;border:3px solid #000;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:1.15rem;font-weight:700;transition:all 80ms;display:inline-flex;box-shadow:4px 4px #000,inset -3px -3px #b38f00,inset 3px 3px #fff2a3}.pixel-btn:hover:not(:disabled){background:#ffe033;transform:translate(-1px,-1px);box-shadow:5px 5px #000,inset -3px -3px #b38f00,inset 3px 3px #fff2a3}.pixel-btn:active:not(:disabled){transform:translate(3px,3px);box-shadow:1px 1px #000,inset -3px -3px #b38f00,inset 3px 3px #fff2a3}.pixel-btn:disabled{color:#8c9ba5;cursor:not-allowed;opacity:.8;background:#464f61;box-shadow:2px 2px #000}.pixel-btn-cyan{background:var(--pixel-cyan);box-shadow:4px 4px #000,inset -3px -3px #0099ab,inset 3px 3px #99f2ff}.pixel-btn-cyan:hover:not(:disabled){background:#33ecff}.pixel-btn-red{background:var(--pixel-red);color:#fff;box-shadow:4px 4px #000,inset -3px -3px #b3143c,inset 3px 3px #ff85a3}.pixel-btn-small{padding:6px 14px;font-size:.95rem}.env-accordion{background:#0d101a;border:3px solid #000;box-shadow:inset 2px 2px #000}.env-accordion-header{cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-pixel);color:var(--pixel-cyan);background:#181d2e;border-bottom:2px solid #000;justify-content:space-between;align-items:center;padding:10px 14px;font-size:1.1rem;font-weight:700;display:flex}.env-accordion-header:hover{background:#20273d}.env-tag-badge{font-family:var(--font-pixel);color:var(--text-dim);background:#0a0c14;border:1px solid #28304d;padding:2px 8px;font-size:.85rem}.env-content{flex-direction:column;gap:12px;padding:14px;display:flex}.env-notice{color:var(--pixel-yellow);border:1px dashed var(--pixel-yellow);background:#ffcc0014;padding:6px 10px;font-size:.95rem}.env-row{align-items:center;gap:8px;display:flex}.env-row .pixel-input{min-width:0;padding:8px 12px;font-size:1.05rem}.steps-arcade{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.step-item{text-align:center;min-width:150px;font-family:var(--font-pixel);color:#556275;background:#0c0e17;border:3px solid #000;flex:1;padding:10px;font-size:1.05rem;font-weight:700;position:relative}.step-item.pending{border-color:#1a2030}.step-item.active{border-color:var(--pixel-yellow);color:var(--pixel-yellow);background:#192036;animation:1s infinite alternate pulseStep;box-shadow:0 0 10px #ffcc004d}@keyframes pulseStep{0%{transform:scale(1)}to{transform:scale(1.02)}}.step-item.done{border-color:var(--pixel-green);color:var(--pixel-green);background:#0f241a}.crt-container{background:#05070a;border:4px solid #000;position:relative;overflow:hidden;box-shadow:6px 6px #000,inset 0 0 20px #000000e6}.crt-header{background:#111522;border-bottom:3px solid #000;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.crt-title{font-family:var(--font-pixel);color:var(--pixel-green);align-items:center;gap:8px;font-size:1.1rem;font-weight:700;display:flex}.crt-led{background:var(--pixel-green);width:10px;height:10px;box-shadow:0 0 8px var(--pixel-green);border-radius:50%;animation:1s infinite alternate blinkLed}.crt-led.running{background:var(--pixel-yellow);box-shadow:0 0 8px var(--pixel-yellow)}@keyframes blinkLed{0%{opacity:.4}to{opacity:1}}.crt-controls{gap:8px;display:flex}.crt-body{font-family:var(--font-crt);color:#3f6;background:#05070a;flex-direction:column;gap:4px;height:340px;padding:14px;font-size:1.25rem;display:flex;position:relative;overflow-y:auto}.crt-body:after{content:"";pointer-events:none;opacity:.6;background:linear-gradient(#12101000 50%,#00000040 50%) 0 0/100% 4px;position:absolute;inset:0}.log-line{word-break:break-all;align-items:flex-start;gap:8px;display:flex}.log-time{color:#51657a;-webkit-user-select:none;user-select:none;font-size:1.05rem}.log-source{font-family:var(--font-crt);color:#3f6;border:1px solid #3f6;border-radius:2px;padding:0 4px;font-size:1.1rem;font-weight:700}.log-line.info .log-message{color:#d0e6ff}.log-line.stdout .log-message{color:#3f6}.log-line.stderr .log-message{color:#f9a}.log-line.success .log-message{color:var(--pixel-green);font-weight:700}.log-line.warning .log-message{color:var(--pixel-yellow)}.log-line.error .log-message{color:var(--pixel-red);font-weight:700}.verdict-box{background:var(--panel-bg);border:4px solid #000;flex-direction:column;gap:12px;padding:20px;display:flex;box-shadow:6px 6px #000}.verdict-header-row{align-items:center;gap:16px;display:flex}.verdict-badge-large{font-family:var(--font-pixel);text-shadow:none;border:3px solid #000;padding:8px 18px;font-size:1.6rem;font-weight:800;display:inline-block;box-shadow:4px 4px #000}.verdict-badge-large.PASS{background:var(--pixel-green);color:#000}.verdict-badge-large.CONCERNS{background:var(--pixel-yellow);color:#000}.verdict-badge-large.FAIL{background:var(--pixel-red);color:#fff}.verdict-explanation{color:var(--text-main);background:#0b0d17;border:2px solid #222a42;padding:12px 16px;font-size:1.15rem;line-height:1.6}.tab-row{border-bottom:3px solid #000;gap:6px;display:flex}.tab-btn{font-family:var(--font-pixel);color:var(--text-dim);cursor:pointer;background:#111524;border:2px solid #000;border-bottom:none;padding:8px 16px;font-size:1.05rem;font-weight:700}.tab-btn.active{background:var(--panel-bg);color:var(--pixel-yellow);box-shadow:inset 0 2px 0 var(--pixel-yellow)}.tab-content{font-family:var(--font-crt);background:#090c14;border:3px solid #000;max-height:400px;padding:16px;font-size:1.2rem;overflow-y:auto}pre.retro-code{color:#00e5ff;white-space:pre-wrap;word-break:break-all;font-family:var(--font-crt);background:#05060b;border:1px solid #1a2238;padding:12px;font-size:1.2rem}.cmd-row{background:#111626;border:1px solid #222b47;justify-content:space-between;align-items:center;margin-bottom:6px;padding:6px 10px;display:flex}.exit-pass{color:var(--pixel-green);font-family:var(--font-pixel);font-size:1rem;font-weight:700}.exit-fail{color:var(--pixel-red);font-family:var(--font-pixel);font-size:1rem;font-weight:700}
