:root{--walnut:#4a2a17;--walnut2:#6b3d20;--cream:#f3e6c4;--tomato:#d8321f;--mustard:#e0a526;--olive:#6f7d2c;--chrome:#c9ccd1;--bake:#2a1a10}
*{box-sizing:border-box}
body{margin:0;background:#1a0f08 radial-gradient(circle at 50% 0,#3a2213,#120a05 70%);font-family:'Special Elite',monospace;color:var(--bake);min-height:100vh}
.cabinet{max-width:1100px;margin:0 auto;padding:14px;background:repeating-linear-gradient(92deg,#4a2a17 0 7px,#55301b 7px 11px,#44261500 11px 19px),linear-gradient(#5a331c,#3b2111);border-radius:18px;box-shadow:0 30px 60px #000a, inset 0 0 0 4px #2a170c, inset 0 0 30px #0008}
.marquee{position:relative;background:radial-gradient(ellipse at center,#ffe9a8,#f0b73a 55%,#b86a14);border-radius:12px;padding:18px 10px 12px;text-align:center;border:6px solid #9aa0a8;box-shadow:inset 0 0 25px #fff8,0 0 40px #f0a52688}
.marquee h1{font-family:'Bungee Inline',cursive;font-size:clamp(2.2rem,7vw,4.6rem);color:var(--tomato);margin:0;line-height:1;text-shadow:3px 3px 0 #5a1208,0 0 18px #fff6}
.marquee .tag{font-family:'Bungee',cursive;color:#3b1a07;letter-spacing:.15em;font-size:clamp(.7rem,2vw,1rem)}
.chasers{display:flex;justify-content:space-between;position:absolute;left:8px;right:8px}
.chasers.top{top:4px}.chasers.bot{bottom:3px}
.bulb{width:9px;height:9px;border-radius:50%;background:#7a4a10;transition:all .25s}
.bulb.on{background:#fff6c8;box-shadow:0 0 8px 3px #ffd35a}
.panel{background:linear-gradient(#f6ead0,#e6d3a8);border-radius:10px;border:3px solid #a9adb3;box-shadow:inset 0 2px 0 #fff, inset 0 -3px 6px #0003,0 4px 0 #2a170c;position:relative;padding:10px}
.panel::before,.panel::after{content:'';position:absolute;top:5px;width:8px;height:8px;border-radius:50%;background:radial-gradient(#eee,#777);box-shadow:inset 0 0 0 1px #555}
.panel::before{left:5px}.panel::after{right:5px}
.dymo{display:inline-block;background:#1b1b1b;color:#f2f2f2;font-family:'Share Tech Mono',monospace;letter-spacing:.12em;font-size:.72rem;padding:2px 7px;border-radius:2px;box-shadow:inset 0 1px 0 #555,0 1px 1px #0008;text-transform:uppercase}
.dymo.red{background:#8e1a10}
.drumwin{background:#111;border:4px solid #b9bdc3;border-radius:6px;padding:4px;box-shadow:inset 0 0 12px #000}
.drum{background:linear-gradient(#777,#f5f0e0 30%,#fffdf5 50%,#f5f0e0 70%,#777);color:#1a1a1a;font-family:'Bungee',cursive;font-size:.78rem;text-align:center;padding:7px 2px;border-radius:3px;min-height:34px;overflow:hidden;white-space:nowrap}
.drum.spin{filter:blur(1.2px);animation:jit .08s infinite}
@keyframes jit{0%{transform:translateY(-2px)}100%{transform:translateY(2px)}}
.drum.shut{background:repeating-linear-gradient(0deg,#555 0 4px,#333 4px 8px);color:transparent}
.lamp{width:18px;height:18px;border-radius:50%;display:inline-block;flex:none;transition:background .35s,box-shadow .35s;border:2px solid #777;background:radial-gradient(circle at 35% 30%,#fff3,#0000 40%),var(--off,#3a2a20)}
.lamp.red{--off:#4a1510}.lamp.red.on{background:radial-gradient(circle at 35% 30%,#fff,#ff5a3a 40%,#b0180a);box-shadow:0 0 12px 4px #ff3a1a99}
.lamp.green{--off:#1d3312}.lamp.green.on{background:radial-gradient(circle at 35% 30%,#fff,#8cff5a 40%,#2c8a10);box-shadow:0 0 12px 4px #7aff3a88}
.lamp.amber{--off:#4a3510}.lamp.amber.on{background:radial-gradient(circle at 35% 30%,#fff,#ffc23a 40%,#b8700a);box-shadow:0 0 12px 4px #ffb02a99}
.lamp.blue{--off:#101d4a}.lamp.blue.on{background:radial-gradient(circle at 35% 30%,#fff,#5ab0ff 40%,#0a48b0);box-shadow:0 0 12px 4px #3a8aff88}
.lamp.flash.on{animation:fl .4s infinite alternate}
@keyframes fl{to{opacity:.35}}
.btn{font-family:'Bungee',cursive;border:none;cursor:pointer;border-radius:8px;padding:10px 12px;min-height:48px;color:#fff;background:linear-gradient(#e2432e,#a81d0f);box-shadow:0 5px 0 #5c0d05,0 7px 10px #0006;transition:transform .05s,box-shadow .05s;user-select:none;-webkit-user-select:none;touch-action:manipulation;font-size:.8rem}
.btn:active,.btn.down{transform:translateY(4px);box-shadow:0 1px 0 #5c0d05,0 2px 4px #0006}
.btn:disabled{filter:grayscale(.8) brightness(.8);cursor:not-allowed}
.btn.mustard{background:linear-gradient(#f1bd3e,#bf8410);box-shadow:0 5px 0 #6b4604,0 7px 10px #0006;color:#3b1a07}
.btn.olive{background:linear-gradient(#8d9c3b,#56621c);box-shadow:0 5px 0 #2d340b,0 7px 10px #0006}
.btn.bake{background:linear-gradient(#5a3a28,#2a1a10);box-shadow:0 5px 0 #0d0703,0 7px 10px #0006}
.btn.chrome{background:linear-gradient(#f2f3f5,#9ea3aa);color:#222;box-shadow:0 5px 0 #555,0 7px 10px #0006}
.dome{width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff8a6a,#d8321f 45%,#7a1206);box-shadow:0 8px 0 #4a0a03,0 10px 18px #0008,inset 0 -6px 10px #0005;font-size:.85rem}
.dome.down{transform:translateY(6px);box-shadow:0 2px 0 #4a0a03}
.bell{border-radius:50% 50% 12px 12px;background:radial-gradient(circle at 40% 25%,#fff7c8,#e8b52e 45%,#8a5a06);color:#3b1a07;box-shadow:0 6px 0 #5a3a04,0 8px 14px #0007}
.lever{width:44px;height:110px;position:relative;cursor:pointer;touch-action:manipulation;flex:none}
.lever .slot{position:absolute;left:18px;top:8px;width:8px;height:94px;background:#222;border-radius:4px;box-shadow:inset 0 0 4px #000}
.lever .arm{position:absolute;left:16px;width:12px;height:12px;transition:top .25s cubic-bezier(.5,1.8,.5,1)}
.lever .knob{position:absolute;left:-10px;top:-10px;width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff9a7a,#c8200f 50%,#6a0a03);box-shadow:0 3px 6px #0008}
.tile{position:relative}
.tile.active{outline:3px solid #ffb02a;box-shadow:0 0 18px #ffb02a99;outline-offset:2px}
.meter{height:18px;background:#222;border-radius:9px;position:relative;overflow:hidden;border:2px solid #999}
.meter .zone{position:absolute;top:0;bottom:0;opacity:.55}
.meter .needle{position:absolute;top:-2px;bottom:-2px;width:4px;background:#fff;box-shadow:0 0 4px #000;transition:left .05s}
.odo{font-family:'Share Tech Mono',monospace;background:#111;color:#fff;padding:2px 5px;border-radius:3px;letter-spacing:.2em;border:2px solid #aaa}
.scoredigit{display:inline-block;width:34px;height:48px;overflow:hidden;background:linear-gradient(#444,#f6f1e0 25%,#fff 50%,#f6f1e0 75%,#444);margin:0 2px;border-radius:3px;position:relative}
.scoredigit .col{position:absolute;left:0;right:0;transition:top .12s steps(1)}
.scoredigit .col div{height:48px;line-height:48px;text-align:center;font-family:'Bungee',cursive;font-size:1.6rem;color:#111}
.topwin{width:48px;height:48px;border-radius:50%;border:3px solid #aaa;overflow:hidden;background:#222;display:flex;align-items:center;justify-content:center}
.spinfast{animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.stamp{font-family:'Bungee',cursive;color:var(--tomato);border:4px solid var(--tomato);padding:4px 10px;transform:rotate(-8deg);display:inline-block;background:#fff8;border-radius:6px}
.brass{background:linear-gradient(#e8c870,#a8801e);color:#3b2604;border-radius:6px;padding:8px;text-align:center;font-size:.8rem;box-shadow:inset 0 1px 0 #fff8,0 3px 0 #2a170c}
.brass a{color:#5a1208;font-weight:bold;text-decoration:underline}
.clockface{background:radial-gradient(#fffdf2,#e9dcb8);border-radius:50%;border:6px solid #b9bdc3;box-shadow:inset 0 0 10px #0004,0 3px 6px #0006}
.overlay{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}
input.initials{font-family:'Bungee',cursive;font-size:2rem;width:140px;text-align:center;letter-spacing:.3em;background:#111;color:#ffd35a;border:4px solid #aaa;border-radius:6px;text-transform:uppercase}