.case-machine{--case-tone:#e9ae65;position:relative;isolation:isolate;margin:20px auto 28px;width:calc(100% - 70px);max-width:1060px;perspective:1100px;filter:drop-shadow(0 24px 25px #0005)}
.machine-halo{position:absolute;inset:15% -5% -10%;background:radial-gradient(ellipse,color-mix(in srgb,var(--case-tone) 14%,transparent),transparent 70%);z-index:-1;pointer-events:none}.machine-lid{position:relative;margin:0 16px;height:120px;padding:13px 20px 0;border:3px solid #5b6575;border-bottom:0;border-radius:25px 25px 4px 4px;background:linear-gradient(145deg,#384352,#161e2a 45%,#2d3643);box-shadow:inset 0 3px #a1adbb25,inset 0 0 0 5px #141a25,0 0 0 1px #070c14;transform-origin:50% 100%;transform:rotateX(-8deg)}
.lid-trim{height:88px;display:flex;align-items:center;gap:18px;padding:12px 22px;border:1px solid color-mix(in srgb,var(--case-tone) 35%,#303848);border-radius:14px;background:repeating-linear-gradient(135deg,#ffffff02 0 2px,transparent 2px 7px),radial-gradient(ellipse at center,color-mix(in srgb,var(--case-tone) 12%,transparent),transparent),#111925;box-shadow:inset 0 5px 20px #0006}.lid-mark{font-size:43px;color:var(--case-tone);text-shadow:0 0 25px var(--case-tone)}.lid-trim small{display:block;color:#8997ac;font-size:9px;letter-spacing:4px;margin-bottom:6px}.lid-trim b{font:700 21px 'Roboto Condensed',Arial,sans-serif;text-transform:uppercase;color:#e0e7f0;letter-spacing:1px}.lid-serial{margin-left:auto;letter-spacing:8px;font-size:10px;color:var(--case-tone)}.lid-hinge{position:absolute;bottom:-5px;left:13%;right:13%;height:10px;background:repeating-linear-gradient(90deg,#080e17 0 14%,#7c8795 14% 15%,#303c4c 15% 22%,#0d1420 22% 35%);border-radius:4px;z-index:2}
.machine-cavity{padding:20px 22px;position:relative;background:linear-gradient(90deg,#43505d,#151e2b 4%,#222e3d 50%,#151e2b 96%,#43505d);border:2px solid #68717e;border-radius:14px 14px 0 0;box-shadow:inset 0 2px #c5ced633,inset 0 0 0 6px #141c29}.machine-cavity .roulette{margin:0;border:2px solid #070d17;border-radius:8px;height:220px;background:radial-gradient(ellipse at 50% 85%,color-mix(in srgb,var(--case-tone) 10%,#0b111a),#0b111a);box-shadow:0 0 0 1px #68738344,inset 0 0 40px #0008;overflow:hidden}.machine-cavity .reel-card{height:185px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--tone) 14%,transparent),transparent 75%),#161f2b;border-color:var(--tone);border-radius:7px}.machine-cavity .reel-card img{height:125px}.machine-cavity .pointer{background:var(--case-tone);box-shadow:0 0 13px var(--case-tone)}.machine-cavity .pointer:before{border-top-color:var(--case-tone)}.machine-bolt{position:absolute;top:50%;width:9px;height:9px;border:2px solid #66717f;border-radius:50%;background:#121924;box-shadow:0 1px 2px #000;z-index:4}.bolt-left{left:7px}.bolt-right{right:7px}
.machine-front{position:relative;height:69px;padding:10px 10%;display:flex;align-items:flex-start;justify-content:space-between;border:2px solid #545e6b;border-top:0;border-radius:0 0 20px 20px;background:linear-gradient(#344151 0 3px,#1a2431 4px,#2c3745 40%,#141d28);box-shadow:inset 0 -6px #0a101c,inset 0 -8px #3b465366}.machine-latch{height:32px;width:34px;border:2px solid #78808a;border-radius:5px;background:linear-gradient(90deg,#303c4a,#697481 45%,#273240);box-shadow:0 3px 7px #0007;position:relative;transform-origin:50% 0}.machine-latch:before{content:'';position:absolute;inset:8px 6px;border:2px solid #111925;border-radius:2px}.machine-status{font-size:9px;letter-spacing:2px;color:#a7b5c7;margin-top:1px;text-align:center}.machine-handle{position:absolute;bottom:-13px;left:calc(50% - 70px);width:140px;height:29px;border:7px solid #3a4654;border-top-width:4px;border-radius:7px 7px 12px 12px;background:#101722;box-shadow:0 3px 0 #080d16,inset 0 1px #76849755}
.case-unlocking .machine-latch{animation:latch-unlock .65s ease}.case-unlocking .machine-lid{animation:lid-open .65s cubic-bezier(.2,.8,.3,1)}.case-running .lid-mark{animation:reactor-pulse 1.1s ease-in-out infinite}.case-running .machine-status{color:var(--case-tone)}.case-running .machine-cavity{border-color:var(--case-tone);box-shadow:inset 0 0 0 6px #141c29,0 0 25px color-mix(in srgb,var(--case-tone) 18%,transparent)}.case-running .machine-halo{animation:reactor-pulse 1.5s ease-in-out infinite}.case-awarded .machine-status{color:#ffdc9f}.case-awarded .machine-cavity{border-color:#e7ba73;box-shadow:0 0 30px #ffc36a22}.case-awarded .reel-card:not(.winner){opacity:.35;transition:opacity .4s}.case-awarded .reel-card.winner{box-shadow:inset 0 0 35px color-mix(in srgb,var(--tone) 30%,transparent),0 0 18px color-mix(in srgb,var(--tone) 30%,transparent)}
.upgrade-arena{position:relative;isolation:isolate;overflow:hidden}.upgrade-energy{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.energy-beam{position:absolute;height:2px;background:linear-gradient(90deg,transparent,#f3d77870,transparent);transform-origin:0 50%;box-shadow:0 0 10px #ffe58a44;animation:beam-appear .3s ease}.energy-beam i{position:absolute;top:-2px;left:0;width:10px;height:5px;border-radius:50%;background:#fff0b3;box-shadow:0 0 10px #ffd34d,0 0 20px #ffce6688;animation:beam-travel .8s linear infinite}.energy-beam i:nth-child(2){animation-delay:-.25s}.energy-beam i:nth-child(3){animation-delay:-.5s}.energy-skin{position:absolute;object-fit:contain;filter:drop-shadow(0 0 12px #ffdd8577);z-index:2}.source-draining .preview-stack{animation:source-dim .8s ease forwards}.energy-charged .dial-column{filter:drop-shadow(0 0 18px #ffd55c33)}.energy-active .upgrade-dial:after{content:'';position:absolute;inset:-30px;border:1px dashed #d8b94b44;border-radius:50%;pointer-events:none;animation:reactor-spin 12s linear infinite}.energy-active .double-chevron{animation:reactor-pulse .7s ease-in-out infinite}.energy-success #upgrade-target-preview{box-shadow:inset 0 0 60px #ffd27235,0 0 35px #ffca6633}.energy-failed .upgrade-dial{filter:saturate(.4);transition:filter .3s}.energy-charged .dial-ticks{filter:drop-shadow(0 0 3px #ffd15c)}
@keyframes latch-unlock{40%{transform:rotateX(65deg) translateY(-5px)}100%{transform:none}}@keyframes lid-open{0%{transform:rotateX(-8deg)}35%{transform:rotateX(-32deg)}100%{transform:rotateX(-8deg)}}@keyframes reactor-pulse{50%{filter:brightness(1.45);opacity:.7}}@keyframes reactor-spin{to{transform:rotate(360deg)}}@keyframes beam-travel{from{left:0;opacity:0}15%{opacity:1}85%{opacity:1}to{left:100%;opacity:0}}@keyframes beam-appear{from{opacity:0}to{opacity:1}}@keyframes source-dim{to{opacity:.35;filter:grayscale(.5)}}
@media(max-width:720px){.case-machine{width:calc(100% - 24px);margin:20px auto 30px}.machine-lid{height:95px;margin:0 8px;padding:10px 10px 0;border-radius:17px 17px 3px 3px}.lid-trim{height:68px;padding:8px 12px;gap:10px}.lid-mark{font-size:29px}.lid-trim b{font-size:16px}.lid-trim small{font-size:8px;letter-spacing:2px}.lid-serial{display:none}.machine-cavity{padding:14px 12px}.machine-cavity .roulette{height:205px}.machine-bolt{width:6px;height:6px;border-width:1px}.bolt-left{left:3px}.bolt-right{right:3px}.machine-front{height:58px;padding:9px 8%}.machine-latch{width:25px;height:27px}.machine-status{font-size:7px;letter-spacing:1px}.machine-handle{width:95px;left:calc(50% - 47px);height:24px;border-width:5px}.machine-front{border-radius:0 0 14px 14px}.energy-active .upgrade-dial:after{inset:-22px}}
@media(prefers-reduced-motion:reduce){.case-machine *,.energy-active *{animation:none!important}.upgrade-energy{display:none}}
.case-running .machine-cavity:after{content:"";position:absolute;inset:20px 22px;pointer-events:none;border-radius:8px;background:linear-gradient(110deg,transparent 38%,#ffffff08 48%,transparent 58%);background-size:220% 100%;animation:cavity-sweep 2s linear infinite}.case-awarded .lid-mark{color:#ffd398;text-shadow:0 0 25px #ffc36a77}@keyframes cavity-sweep{from{background-position:160% 0}to{background-position:-60% 0}}@media(prefers-reduced-motion:reduce){.case-running .machine-cavity:after{animation:none;display:none}}
