 
.lever-box{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-height:0;padding:10px;border-radius:6px;background:linear-gradient(160deg,#3b423d,#181b19);border:2px solid #090b0a;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(255,255,255,.03),0 10px 18px rgba(0,0,0,.38)}
.lever-track{position:relative;flex:1;min-height:150px;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.lever-track{--lx:50%}
.lever-track .slot{position:absolute;left:var(--lx);top:0;bottom:0;width:20px;margin-left:-10px;border-radius:10px;background:linear-gradient(90deg,#000,#0c0e0d 40%,#000);box-shadow:inset 0 0 8px #000,0 0 0 3px #2b302c,0 0 0 4px #000}
.detent{position:absolute;left:calc(var(--lx) + 36px);transform:translateY(-50%);display:flex;flex-direction:column;font:700 clamp(8px,.85vw,11px) var(--stencil);letter-spacing:.14em;color:#6f766f;pointer-events:none;line-height:1.3}
.detent i{font-style:normal;font-weight:500;letter-spacing:.06em;font-size:.9em}
.detent.active{color:#e2b062}.detent.active b::before{content:"\25B6 ";color:var(--amber);position:absolute;left:-14px}
.detent::after{content:"";position:absolute;right:calc(100% + 6px);top:50%;width:12px;height:2px;background:#000;box-shadow:0 1px 0 #ffffff22}
.lever-handle{--p:0;position:absolute;left:var(--lx);top:calc(18px + var(--p)*(100% - 36px));transform:translate(-50%,-50%);width:66px;height:52px;transition:top .38s cubic-bezier(.35,1.7,.5,1);z-index:2}
.lever-handle.drag{transition:none}
.lever-handle .shaft{position:absolute;left:50%;top:50%;width:66px;height:26px;transform:translate(-50%,-50%);border-radius:5px;background:linear-gradient(#7d857f,#2e332f 55%,#4a514c);border:1px solid #000;box-shadow:0 4px 5px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.14)}
.lever-handle .knob{position:absolute;left:50%;top:50%;width:46px;height:46px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#4b514c,#131513 70%);border:2px solid #000;box-shadow:0 5px 8px rgba(0,0,0,.6),inset 0 2px 2px rgba(255,255,255,.24),inset 0 -4px 8px rgba(0,0,0,.4)}
.lever-handle .knob::after{content:"";position:absolute;left:12%;right:12%;top:46%;height:8%;background:var(--red);border-radius:2px;opacity:.85}
.lever-handle.drag .knob{filter:brightness(1.15)}

.button-box{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:6px;min-height:0;padding:10px 12px;border-radius:6px;background:linear-gradient(160deg,#3b423d,#181b19);border:2px solid #090b0a;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(255,255,255,.03),0 10px 18px rgba(0,0,0,.38)}
.top-row{display:flex;align-items:center;gap:8px}.top-row .lbl{font:700 9px var(--stencil);letter-spacing:.3em;color:#7b857e}
.led-bar{display:flex;gap:3px;width:80%}
.led-bar i{flex:1;height:9px;background:#141a14;border:1px solid #000;box-shadow:inset 0 1px 2px #000;border-radius:1px}
.led-bar i.on{background:#cfa25a;box-shadow:0 0 8px #c98a2b88}
.led-bar i.cost{outline:2px solid #7d1a12;outline-offset:1px}
.housing{position:relative;flex:1 1 0;min-height:0;width:auto;max-width:100%;aspect-ratio:1/1;align-self:center;display:flex;align-items:center;justify-content:center;perspective:500px;padding:10px}
.housing::before{content:"";position:absolute;inset:12% 10%;border-radius:50%;background:radial-gradient(circle at 30% 25%,#4d564f,#1a201d 48%,#050807 100%);border:2px solid #000;box-shadow:0 12px 18px rgba(0,0,0,.52),inset 0 0 14px #000,inset 0 0 0 8px rgba(255,255,255,.04)}
.housing::after{content:"";position:absolute;inset:18% 15% 14%;border-radius:50%;border:3px solid rgba(255,255,255,.06);box-shadow:inset 0 0 0 3px rgba(0,0,0,.28),inset 0 0 12px rgba(0,0,0,.8)}
.ring{position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7a827c,#252a26 55%,#0d0f0e);border:2px solid #000;box-shadow:0 8px 14px rgba(0,0,0,.5),inset 0 0 0 8px #1c201d,inset 0 0 0 10px #000}
.ring::before{content:"";position:absolute;inset:10%;border-radius:50%;border:2px solid rgba(255,255,255,.06);box-shadow:inset 0 0 10px rgba(0,0,0,.7)}
.ring::after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(#0000 0 22.5deg,#00000044 22.5deg 24deg)}
.cap{position:relative;width:62%;aspect-ratio:1;border-radius:50%;border:3px solid rgba(18,8,7,.9);padding:0;z-index:5;cursor:pointer;pointer-events:auto;
  background:radial-gradient(circle at 34% 28%,#ffb8aa 0,#ff7c63 12%,#cf3427 34%,#8d140d 68%,#4b0906 100%);
  box-shadow:0 6px 12px rgba(0,0,0,.55),inset 0 4px 7px rgba(255,255,255,.18),inset 0 -8px 12px rgba(0,0,0,.45),inset 0 0 0 4px rgba(255,255,255,.08);transition:transform .09s,box-shadow .09s}
.cap::before{content:"";position:absolute;inset:16% 16% 18%;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.36),rgba(255,255,255,0) 52%);opacity:.9}
.cap::after{content:"";position:absolute;inset:18%;border-radius:50%;border:2px solid rgba(60,10,8,.7);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.cap:hover{filter:brightness(1.08)}
.cap.pressed{transform:translateY(4px) scale(.98);box-shadow:0 2px 6px rgba(0,0,0,.45),inset 0 -4px 8px rgba(0,0,0,.45),inset 0 0 0 4px rgba(255,255,255,.06)}
.cap.ready{animation:capGlow 2.4s ease-in-out infinite}
@keyframes capGlow{50%{filter:brightness(1.18) saturate(1.1)}}
.guard{position:absolute;inset:7% 11% 9%;z-index:3;border-radius:24px 24px 18px 18px;background:linear-gradient(145deg,rgba(235,244,248,.35),rgba(108,139,151,.15) 26%,rgba(24,32,39,.46) 72%,rgba(8,11,15,.72));border:3px solid rgba(224,239,244,.58);border-bottom:8px solid rgba(30,39,46,.92);border-left-width:5px;border-right-width:5px;box-shadow:0 25px 34px rgba(0,0,0,.86),0 0 0 1px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.48),inset 0 -18px 26px rgba(0,0,0,.48),inset 12px 0 18px rgba(220,244,255,.08),inset -12px 0 18px rgba(0,0,0,.25);backdrop-filter:blur(1.8px) saturate(1.3);transform-origin:50% 6%;transform-style:preserve-3d;transition:transform .95s cubic-bezier(.12,.82,.16,.98),opacity .4s,box-shadow .8s ease;display:flex;align-items:flex-end;justify-content:center;padding:0 0 7%;overflow:visible;}
.guard::before{content:"";position:absolute;left:7%;right:7%;top:7%;bottom:10%;border-radius:16px 16px 13px 13px;background:linear-gradient(180deg,rgba(8,16,23,.3),rgba(15,24,30,.08) 28%,rgba(1,5,8,.54));border:1px solid rgba(241,250,255,.28);box-shadow:inset 0 0 30px rgba(0,0,0,.42),inset 0 0 0 2px rgba(255,255,255,.06),0 0 0 1px rgba(0,0,0,.32);transform:translateZ(-2px);}
.guard::after{content:"";position:absolute;left:16%;right:16%;top:-8%;height:18px;border-radius:999px;background:linear-gradient(90deg,#111820,#d6e4e5 18%,#596b73 50%,#e7f1f0 82%,#111820);border:2px solid #080c10;box-shadow:0 4px 7px #000b,0 0 0 1px #ffffff2b;transform:translateZ(12px);}
.guard .mount{position:absolute;top:-13%;width:24px;height:28px;border-radius:999px;background:linear-gradient(145deg,#f4fafb,#71828b 42%,#10161b 76%);border:3px solid rgba(8,10,11,.9);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 5px 10px rgba(0,0,0,.65);transform:translateZ(16px);}
.guard .mount.left{left:8%;}.guard .mount.right{right:8%;}
.guard .mount::before,.guard .mount::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#89949a 28%,#10151a 72%);box-shadow:0 0 0 1px rgba(0,0,0,.5),0 2px 4px rgba(0,0,0,.45);}
.guard .mount::before{top:7px;}.guard .mount::after{display:none;}
.guard .hinge{position:absolute;top:-12%;width:26px;height:30px;border-radius:999px;background:linear-gradient(145deg,#e4eff1,#687a82 40%,#11171b 100%);border:3px solid rgba(7,10,12,.9);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 7px 12px rgba(0,0,0,.62);transform:translateZ(18px);}
.guard .hinge.left{left:23%;}.guard .hinge.right{right:23%;}
.guard .hinge::before,.guard .hinge::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#747d81 28%,#171b1e 72%);box-shadow:0 0 0 1px rgba(0,0,0,.45);}
.guard .hinge::before{top:7px;}.guard .hinge::after{display:none;}
.guard .side{position:absolute;top:11%;bottom:14%;width:9%;background:linear-gradient(180deg,rgba(216,232,236,.6),rgba(73,91,100,.94) 36%,rgba(9,14,18,.98));border:2px solid rgba(8,12,15,.9);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),inset 0 0 14px rgba(0,0,0,.55);transform:translateZ(6px);}
.guard .side.left{left:3%;border-radius:15px 0 0 15px;}.guard .side.right{right:3%;border-radius:0 15px 15px 0;}
.guard .glass{position:absolute;left:13%;right:13%;top:10%;bottom:14%;border-radius:13px 13px 17px 17px;background:linear-gradient(135deg,rgba(242,252,255,.58),rgba(168,215,235,.16) 28%,rgba(78,126,146,.18) 56%,rgba(7,16,24,.46) 100%);border:2px solid rgba(224,246,255,.6);box-shadow:inset 0 0 28px rgba(255,255,255,.18),inset 0 0 0 1px rgba(255,255,255,.25),0 0 22px rgba(83,182,229,.2),0 18px 24px rgba(20,30,40,.28);overflow:hidden;transform:translateZ(8px);}
.guard .glass::before{content:"";position:absolute;left:8%;right:34%;top:5%;bottom:28%;border-radius:8px;background:linear-gradient(120deg,rgba(255,255,255,.98),rgba(255,255,255,.25),rgba(255,255,255,0));transform:skewX(-22deg);opacity:.95;}
.guard .glass::after{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(0deg,#0000 0 7px,#ffffff0d 7px 8px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),inset 0 0 24px rgba(23,28,32,.36);}
.guard .label{position:relative;z-index:1;font:700 9px var(--stencil);letter-spacing:.3em;color:#ffddd5;background:linear-gradient(180deg,rgba(114,25,17,.96),rgba(47,7,6,.96));padding:4px 12px;border:1px solid rgba(255,255,255,.24);box-shadow:inset 0 0 0 1px rgba(0,0,0,.36),0 0 12px rgba(255,90,60,.26);transform:translateZ(24px);}
.guard.open{transform:perspective(900px) rotateX(68deg) translateY(-46px) translateZ(46px) scaleX(1.03);opacity:.94;box-shadow:0 10px 22px rgba(0,0,0,.35),inset 0 0 10px rgba(255,255,255,.16);pointer-events:none;}
.guard.open::before{background:linear-gradient(180deg,rgba(228,245,252,.22),rgba(15,24,30,.08) 34%,rgba(7,8,9,.26) 100%);}
.guard.open::after{box-shadow:0 0 0 1px rgba(0,0,0,.32),0 0 16px rgba(175,224,245,.2),0 8px 20px rgba(0,0,0,.24);}
.guard.open .glass{box-shadow:inset 0 0 20px rgba(255,255,255,.22),0 0 24px rgba(120,210,255,.17),0 20px 28px rgba(18,26,36,.18);}.plate.exec{color:var(--red-h);border-color:#5c0f0a;letter-spacing:.42em;font-size:clamp(11px,1.2vw,15px)}
.target-plate{font:600 10px var(--mono);color:var(--amber);background:#0a0c0a;border:1px solid #000;padding:3px 8px;letter-spacing:.06em;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

 
.button-box::after{content:"";position:absolute;inset:auto 0 -2px;height:0;pointer-events:none}
.button-box{position:relative;overflow:hidden}
.button-box.denied{animation:boxDeny .42s steps(2)}
@keyframes boxDeny{0%,100%{transform:none}25%{transform:translateX(-2px)}50%{transform:translateX(2px)}75%{transform:translateX(-1px)}}
.lever-box.nudged{animation:boxNudge 1s ease-in-out}
@keyframes boxNudge{0%,100%{transform:none}40%{transform:translateY(-2px) rotate(-.3deg)}70%{transform:translateY(1px)}}

 
.gauge-panel.tremor{animation:gaugeTremor .5s steps(3)}
@keyframes gaugeTremor{0%,100%{transform:translateX(-50%)}30%{transform:translateX(calc(-50% + 1.6px))}60%{transform:translateX(calc(-50% - 1.4px))}}
.gauge .needle.hit{animation:needleKick .5s cubic-bezier(.3,1.6,.4,1)}
@keyframes needleKick{0%{filter:none}40%{filter:brightness(1.3) drop-shadow(0 0 4px rgba(211,154,65,.5))}100%{filter:none}}

.desk-strip{grid-column:1/4;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.key{min-height:38px;padding:8px 16px;background:linear-gradient(#3d443f,#232824);border:1px solid #0a0c0b;border-bottom:4px solid #0a0c0b;border-radius:4px;font:700 clamp(9px,.9vw,11px) var(--stencil);letter-spacing:.22em;color:#c3bfad;box-shadow:inset 0 1px 0 #ffffff22,0 3px 5px #000a}
.key:hover{color:#fff;background:linear-gradient(#4a524c,#2a302b)}
.key:active{transform:translateY(2px);border-bottom-width:2px}
.key.wide{min-width:min(280px,46%)}
.key.tiny{min-height:22px;padding:2px 10px;font-size:9px;display:none}
