:root{--bg:#1b1a18;--beige:#d9cfb6;--beige2:#c4b896;--dark:#2b2925;--amber:#ffb000;--green:#39ff7a;--red:#e8452c}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:22px 22px;color:#eee;font-family:'IBM Plex Mono',monospace}
.lcdfont{font-family:'VT323',monospace}
.panel{background:linear-gradient(#ddd3ba,#cbbf9f);border:2px solid #f2ead6;border-right-color:#8d8264;border-bottom-color:#8d8264;border-radius:6px;color:#2b2925;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.screen{background:#0d120e;border:3px solid #3a362e;border-top-color:#1a1814;border-left-color:#1a1814;border-radius:4px;position:relative;overflow:hidden}
.screen::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.25) 0 1px,transparent 1px 3px)}
.btn{background:linear-gradient(#eee6d2,#c9bd9c);border:2px solid #f8f2e2;border-right-color:#7d7358;border-bottom-color:#7d7358;border-radius:4px;color:#2b2925;font-family:'VT323',monospace;font-size:20px;padding:2px 12px;cursor:pointer;user-select:none}
.btn:active,.btn.on{border-color:#7d7358;border-right-color:#f8f2e2;border-bottom-color:#f8f2e2;background:linear-gradient(#bfb393,#d8cfb6);transform:translateY(1px)}
.btn.on{color:#a33a00}
.glow{color:var(--amber);text-shadow:0 0 8px rgba(255,176,0,.7),0 0 20px rgba(255,120,0,.4)}
.lcd{background:#14200f;color:var(--green);text-shadow:0 0 6px rgba(57,255,122,.6);font-family:'VT323',monospace;border:2px inset #333;padding:0 8px;border-radius:3px}
.blink{animation:blink 1.2s steps(2) infinite}
@keyframes blink{50%{opacity:.2}}
.floppy{background:linear-gradient(#e4dcc6,#cfc4a6);border:3px dashed #6d6450;border-radius:6px;position:relative;cursor:pointer;color:#2b2925;transition:.15s}
.floppy.drag{background:#f0e1a8;border-color:#a33a00}
.floppy::before{content:"";position:absolute;top:0;left:30%;width:40%;height:28%;background:#9aa0a6;border:2px solid #555;border-top:none}
input[type=range]{accent-color:#a33a00}
.led{width:10px;height:10px;border-radius:50%;background:#3b1410;border:1px solid #111}
.led.lit{background:#ff4a2a;box-shadow:0 0 8px #ff4a2a}
.strip{min-width:92px}
select{background:#efe7d3;border:1px solid #7d7358;font-size:11px;border-radius:3px}
.rise{animation:rise .6s both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
.toast{animation:toast 2.6s both}
@keyframes toast{0%{opacity:0;transform:translate(-50%,20px)}10%,85%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
a{color:var(--amber)}