:root{
  --beige:#d8cdb0; --beige-dark:#b7ac8e; --plastic:#c8bd9e;
  --panel:#151a17; --panel2:#1e2620; --ink:#e8f0e4;
  --green:#33ff66; --amber:#ffb000;
}
*{box-sizing:border-box;}
html,body{margin:0;height:100%;background:#0a0d0a;color:var(--ink);
  font-family:'JetBrains Mono',monospace;}
.wrap{max-width:1200px;margin:0 auto;padding:14px;min-height:100%;
  display:flex;flex-direction:column;}
/* header */
.hdr{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:linear-gradient(180deg,var(--beige),var(--beige-dark));
  border:3px solid #8f8568;border-radius:14px;padding:12px 18px;
  box-shadow:inset 0 2px 0 #f0e8cf, 0 6px 18px rgba(0,0,0,.5);color:#2a2513;}
.hdr h1{font-family:'VT323',monospace;font-size:34px;margin:0;letter-spacing:1px;
  font-weight:400;text-shadow:1px 1px 0 #f2ecd6;}
.hdr-sub{margin-left:auto;font-size:12px;opacity:.7;font-family:'VT323';font-size:18px;}
.led{width:14px;height:14px;border-radius:50%;background:#5a1010;
  box-shadow:inset 0 0 3px #000;transition:.3s;}
.led.on{background:#ff2a2a;box-shadow:0 0 12px #ff2a2a,0 0 4px #fff;animation:pulse 1.2s infinite;}
@keyframes pulse{50%{opacity:.55;}}
/* main layout */
.main{display:flex;gap:16px;margin-top:16px;flex:1;}
@media(max-width:860px){.main{flex-direction:column;}}
.machine{flex:1;min-width:0;}
.bezel{background:linear-gradient(160deg,#3a3a34,#1a1a16);
  border-radius:20px;padding:22px;border:3px solid #0c0c0a;
  box-shadow:inset 0 0 30px #000, 0 10px 30px rgba(0,0,0,.6);}
.screen{background:#020402;border-radius:10px;padding:10px;overflow:hidden;
  position:relative;box-shadow:inset 0 0 40px rgba(0,0,0,.9);}
.screen.green{box-shadow:inset 0 0 60px rgba(51,255,102,.15),inset 0 0 30px #000;}
.screen.amber{box-shadow:inset 0 0 60px rgba(255,176,0,.15),inset 0 0 30px #000;}
.crt{width:100%;image-rendering:pixelated;display:block;
  filter:drop-shadow(0 0 3px currentColor);}
.screen.green .crt{filter:drop-shadow(0 0 3px #33ff66);}
.screen.amber .crt{filter:drop-shadow(0 0 3px #ffb000);}
.screen.scan::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0,rgba(0,0,0,.35) 1px,transparent 1px,transparent 3px);
  border-radius:10px;}
.screen::before{content:'';position:absolute;inset:0;border-radius:10px;pointer-events:none;
  box-shadow:inset 0 0 90px rgba(0,0,0,.7);}
/* transport */
.transport{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap;}
.tbtn{font-family:'JetBrains Mono';font-weight:700;font-size:14px;
  background:linear-gradient(180deg,#e2d8bb,#b6ab8d);color:#2a2513;
  border:2px solid #7d7458;border-radius:8px;padding:9px 14px;cursor:pointer;
  box-shadow:0 3px 0 #7d7458,inset 0 1px 0 #f4eed6;transition:.08s;}
.tbtn:hover{filter:brightness(1.05);}
.tbtn:active{transform:translateY(3px);box-shadow:0 0 0 #7d7458;}
.tbtn.active{background:linear-gradient(180deg,#ff8a5c,#e05a2a);color:#fff;border-color:#a03812;box-shadow:0 3px 0 #a03812;}
.tbtn:disabled{opacity:.4;cursor:not-allowed;}
.speed{margin-left:auto;display:flex;gap:6px;align-items:center;font-size:12px;color:var(--beige);}
.speed select,.field select,.memnav input,.field input[type=file]{
  background:#0c110d;color:var(--ink);border:1px solid #33452f;border-radius:6px;padding:5px 7px;font-family:inherit;font-size:12px;}
/* panel */
.panel{width:400px;flex-shrink:0;background:var(--panel);border:1px solid #2a352a;
  border-radius:14px;overflow:hidden;display:flex;flex-direction:column;}
@media(max-width:860px){.panel{width:100%;}}
.tabs{display:flex;background:var(--panel2);border-bottom:1px solid #2a352a;}
.tab{flex:1;background:none;border:none;color:#8aa080;padding:11px;cursor:pointer;
  font-family:'JetBrains Mono';font-weight:700;font-size:12px;letter-spacing:1px;}
.tab.sel{color:var(--green);background:var(--panel);box-shadow:inset 0 -2px 0 var(--green);}
.tabbody{padding:16px;overflow:auto;}
.mono{font-family:'JetBrains Mono';}
.field{margin-bottom:16px;}
.field.row{display:flex;align-items:center;gap:10px;}
.field.row label{font-size:12px;color:#a8bca0;width:80px;}
.lbl{font-size:13px;font-weight:700;color:var(--green);margin-bottom:6px;}
.note{font-size:11px;color:#6f8268;margin-top:5px;line-height:1.4;}
.fname{font-size:11px;color:#c8d8c0;margin-top:5px;word-break:break-all;background:#0c110d;padding:4px 6px;border-radius:5px;}
/* registers */
.reggrid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.regcell{display:flex;justify-content:space-between;background:#0c110d;border:1px solid #263424;
  border-radius:6px;padding:6px 10px;font-size:14px;}
.regcell.pc{border-color:var(--green);box-shadow:0 0 8px rgba(51,255,102,.3);}
.rk{color:#7fae74;}.rv{color:var(--green);font-weight:700;}
.flags{display:flex;gap:6px;margin:14px 0;}
.flag{flex:1;text-align:center;padding:8px 0;border-radius:6px;background:#0c110d;
  border:1px solid #263424;color:#4a5a44;font-weight:700;}
.flag.lit{background:#123a1a;color:var(--green);border-color:var(--green);box-shadow:0 0 6px rgba(51,255,102,.4);}
.stats{font-size:12px;line-height:1.9;color:#b0c4a8;}
.stats .ips{color:var(--amber);font-weight:700;}
/* memory */
.memnav{display:flex;align-items:center;gap:6px;margin-bottom:12px;font-size:13px;}
.memnav input{width:60px;text-transform:uppercase;text-align:center;}
.jbtn{background:#1a2418;color:#8fb884;border:1px solid #33452f;border-radius:5px;
  padding:4px 7px;cursor:pointer;font-family:inherit;font-size:11px;}
.jbtn:hover{background:#25341f;color:var(--green);}
.hexdump{font-size:11px;line-height:1.5;}
.hexrow{display:flex;gap:10px;white-space:pre;}
.ha{color:var(--amber);}.hb{color:#b8ccae;}.hc{color:#6f8268;}
/* status + footer */
.statusbar{margin-top:14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  font-size:11px;color:#8aa080;background:var(--panel);border:1px solid #2a352a;
  border-radius:8px;padding:8px 12px;}
.st-dot{width:9px;height:9px;border-radius:50%;background:#5a1010;}
.st-dot.run{background:var(--green);box-shadow:0 0 8px var(--green);}
.sep{opacity:.4;}
.foot{margin-top:12px;display:flex;justify-content:space-between;gap:12px;
  flex-wrap:wrap;font-size:11px;color:#5a6a54;font-family:'VT323';font-size:15px;}
.foot a{color:var(--green);text-decoration:none;border-bottom:1px dotted var(--green);}
.foot a:hover{color:var(--amber);border-color:var(--amber);}
</parameter>