:root{color-scheme:dark;--bg: #07140a;--bg-2: #0c1f12;--panel: #0a1a10;--panel-2: #102416;--border: #1f5a32;--text: #7cff9a;--muted: #3d8f55;--accent: #b6ff6a;--accent-2: #ffe08a;--warn: #ffb000;--err: #ff6a3d;--glow: 0 0 8px rgba(124, 255, 154, .35);--mono: "VT323", "Share Tech Mono", "Courier New", monospace;--sans: "Share Tech Mono", "VT323", "Courier New", monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 700px at 50% 40%,rgba(40,90,50,.18),transparent 70%),var(--bg);color:var(--text);font-family:var(--sans);font-size:18px;letter-spacing:.03em}.app{display:flex;flex-direction:column;height:100%;position:relative;text-shadow:0 0 2px rgba(124,255,154,.45)}.app:after{content:"";pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.18) 0px,rgba(0,0,0,.18) 1px,transparent 2px,transparent 3px);z-index:5}.topbar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:2px solid var(--border);background:var(--panel);flex-wrap:wrap}.brand{font-family:var(--mono);font-size:28px;font-weight:400;letter-spacing:.16em;color:var(--accent);margin-right:8px;text-shadow:var(--glow)}.topbar .sp{flex:1}.status{font-family:var(--mono);font-size:20px;color:var(--muted)}.status.running{color:var(--accent)}.status.waiting{color:var(--warn)}.status.halted{color:var(--err)}button,select,input[type=text],input[type=number]{background:#05150c;color:var(--text);border:2px solid var(--border);border-radius:0;padding:4px 10px;font-family:var(--mono);font-size:18px;letter-spacing:.04em;box-shadow:inset 0 0 8px #00000073}button{cursor:pointer;text-transform:uppercase}button:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--glow)}button.primary{background:#12351c;border-color:#3d8f55;color:var(--accent)}button.danger{border-color:#8a3a22;color:var(--err)}input[type=file]{font-size:16px;color:var(--muted)}a{color:var(--accent-2)}.layout{flex:1;display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(280px,1fr) minmax(280px,.9fr);grid-template-rows:minmax(0,1fr) minmax(140px,30vh);min-height:0}.col{min-height:0;border-right:2px solid var(--border);display:flex;flex-direction:column;background:var(--bg-2)}.col:last-child{border-right:none}.panel-h{padding:6px 12px;font-size:18px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent-2);border-bottom:2px solid var(--border);display:flex;align-items:center;gap:8px;background:#08180e;flex-wrap:wrap}.panel-h .sp{flex:1}.editor{flex:1;width:100%;resize:none;border:0;background:#031108;color:var(--text);font-family:var(--mono);font-size:20px;line-height:1.2;padding:10px 12px;outline:none;caret-color:var(--accent)}.diags{max-height:120px;overflow:auto;background:#2a120c;color:var(--err);font-family:var(--mono);font-size:18px;padding:8px 12px}.okmsg{color:var(--accent);padding:8px 12px;font-size:18px}.hex,.mono{font-family:var(--mono);font-size:18px}.regs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px}.reg{background:#05150c;border:2px solid var(--border);border-radius:0;padding:6px 8px}.reg label{display:block;color:var(--muted);font-size:14px;letter-spacing:.12em}.reg b{font-family:var(--mono);font-size:22px;color:var(--accent)}.flags{display:flex;gap:6px;padding:0 10px 10px}.flag{width:40px;text-align:center;padding:4px 0;border:2px solid var(--border);color:var(--muted);background:#05150c}.flag.on{background:#164422;color:var(--accent);border-color:var(--accent);box-shadow:var(--glow)}.chk{text-transform:none;letter-spacing:.04em;color:var(--muted);font-size:16px;display:flex;align-items:center;gap:6px}.chk input{width:16px;height:16px}.panel-h .chk{text-transform:none;letter-spacing:.04em;color:var(--muted);font-size:16px;display:flex;align-items:center;gap:6px}.panel-h .chk input{width:16px;height:16px}.list{flex:1;min-height:0;overflow:auto;padding:6px 0}.row{display:grid;grid-template-columns:64px 90px 1fr;gap:8px;padding:1px 12px;font-family:var(--mono);font-size:18px}.row.cur{background:#164422;color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}.row.bp{box-shadow:inset 4px 0 0 var(--err)}.row:hover{background:#102416;cursor:pointer}.mem{flex:1;min-height:0;font-family:var(--mono);font-size:16px;padding:8px 12px;overflow:auto;white-space:pre;color:var(--muted)}.mem-line.cur{background:#164422;color:var(--accent)}.io{grid-column:1 / -1;border-top:2px solid var(--border);display:grid;grid-template-columns:1fr 1fr 1fr;min-height:0;overflow:hidden;background:var(--panel)}.io-panel{border-right:2px solid var(--border);display:flex;flex-direction:column;min-height:0;overflow:hidden}.io-panel:last-child{border-right:none}.io-body{padding:10px 12px;overflow:auto;min-height:0;flex:1;display:flex;flex-direction:column;gap:8px}.kbd{min-height:72px;border:2px dashed var(--border);border-radius:0;display:flex;align-items:center;justify-content:center;color:var(--muted);outline:none;text-transform:uppercase}.kbd:focus{border-color:var(--accent);color:var(--accent);background:#0d2818;box-shadow:var(--glow)}.led{width:10px;height:10px;border-radius:0;background:#1a2a1c;border:1px solid var(--border);display:inline-block}.led.on{background:var(--accent);box-shadow:var(--glow)}.outbox{background:#031108;border:2px solid var(--border);border-radius:0;min-height:64px;max-height:10rem;overflow:auto;padding:8px;font-family:var(--mono);font-size:18px;white-space:pre-wrap;word-break:break-all}.row2{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted);font-size:16px}.error{color:var(--err);font-size:16px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#031108}::-webkit-scrollbar-thumb{background:#1f5a32}
