.cabinet{display:flex;align-items:center;justify-content:center;padding-inline:7px}
.reels{width:min(100%,calc((100dvh - 218px)*5/3));height:auto;aspect-ratio:5/3;grid-template-columns:repeat(5,minmax(0,1fr))}
.reel{min-width:0;grid-template-rows:repeat(3,minmax(0,1fr))}
.symbol{min-width:0;aspect-ratio:1;overflow:visible}
.symbol img{width:100%;height:100%;object-fit:contain;transform:none;border-radius:8px}
.symbol.wild img{border-radius:50%;padding:4%;background:#080000}
.symbol.win{z-index:5;animation:winning-symbol 2s ease-in-out both;box-shadow:inset 0 0 18px #ffeb3b,0 0 12px #ffd000}
.reel.spin{display:block;overflow:hidden}
.reel.spin .reel-track{height:200%;display:grid;grid-template-rows:repeat(6,minmax(0,1fr));gap:4px;animation:reel-track-scroll .24s linear infinite}
.reel.spin .symbol{overflow:hidden;animation:none;box-shadow:none}
.reel.spin .symbol img{filter:blur(1px)}
@keyframes reel-track-scroll{from{transform:translateY(-50%)}to{transform:translateY(0)}}
@keyframes winning-symbol{0%,100%{transform:scale(1);filter:brightness(1.25)}20%,75%{transform:scale(1.09);filter:brightness(1.7)}}
@media(max-height:620px){.reels{width:min(100%,calc((100dvh - 174px)*5/3))}}
@media(orientation:landscape){
  .machine{max-width:none;width:100vw;grid-template-rows:38px 34px minmax(0,1fr) 18px 40px;gap:3px;padding:3px max(6px,env(safe-area-inset-right)) 3px max(6px,env(safe-area-inset-left))}
  header{height:38px;padding:1px 8px}header button{width:32px;height:32px;font-size:16px}header span{display:none}h1{font-size:18px}
  .meters{gap:5px}.meters div{padding:1px 5px;display:flex;justify-content:center;align-items:center;gap:10px}.meters small{font-size:9px}.meters strong{font-size:14px}
  .cabinet{padding:3px 7px;border-width:3px}.reels{width:min(100%,calc((100dvh - 139px)*5/3));height:100%;max-height:100%;aspect-ratio:5/3;gap:3px;padding:3px}.reel{gap:3px}
  .message{min-height:18px;font-size:12px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  footer{grid-template-columns:1.1fr .75fr 1.2fr .75fr;gap:4px}footer label{font-size:8px}select,footer button{min-height:38px;height:38px;font-size:13px}
}
.bonus-screen{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:12px;background:radial-gradient(circle,#720d0d,#090000 68%)}
.bonus-screen[hidden]{display:none}.bonus-panel{width:min(96vw,760px);padding:18px;border:4px ridge #ffd663;border-radius:22px;text-align:center;background:linear-gradient(#4d0909,#140000);box-shadow:0 0 35px #ffb000}.bonus-panel>span{color:#e9b53e;letter-spacing:6px}.bonus-panel h2{margin:5px 0;color:#ffe68b;font:900 clamp(24px,7vw,45px) Georgia}.bonus-panel p{min-height:45px}.bonus-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:16px 0}.bonus-card{padding:0;aspect-ratio:2/3;border:2px solid #e7c45c;border-radius:10px;overflow:hidden;background:#160600;transition:transform .3s,filter .3s}.bonus-card img{width:100%;height:100%;object-fit:cover}.bonus-card.revealed{z-index:3;transform:scale(1.17);filter:brightness(1.35);box-shadow:0 0 25px #ffe85b}.bonus-card.negative{box-shadow:0 0 25px #f22}.bonus-cards.locked .bonus-card{pointer-events:none}.bonus-actions{display:flex;align-items:center;justify-content:center;gap:15px}.bonus-actions button{min-height:46px;padding:0 24px;border-radius:12px}.bonus-actions strong{color:#ffe087}
@media(orientation:landscape){.bonus-panel{padding:8px 15px}.bonus-panel h2{font-size:24px}.bonus-panel p{min-height:24px;margin:4px}.bonus-cards{width:min(65vw,620px);margin:7px auto;gap:5px}.bonus-actions button{min-height:36px}}
