/* TGSlots visual upgrade: all dimensions are tied to --symbol-height. */
.slots-shell{max-width:920px;margin:26px auto;text-align:center;font-family:Georgia,serif}
.slots-cabinet{--symbol-height:108px;background:linear-gradient(135deg,#470009,#a90820 18%,#6d0615 65%,#300008);border:10px ridge #e5b85d;border-radius:40px 40px 28px 28px;padding:22px 28px 28px;color:#ffe39b;box-shadow:inset 0 0 0 3px #ffdf89,inset 0 0 35px #210006,0 20px 45px #0007}
.slots-top{font-size:clamp(32px,6vw,62px);font-weight:900;letter-spacing:1px;color:#ffe6a0;text-shadow:0 3px #4b0800,0 0 13px #f7a62d}
.slots-top span{font-size:.6em}.slots-top .cherry-mark{font-size:.8em}.slots-subtitle{font:700 11px system-ui;letter-spacing:3px;margin:0 0 18px;color:#f5d98c}
.slots-glass{position:relative;isolation:isolate;background:linear-gradient(#1b100c,#4b3423 50%,#150c09);padding:13px;border:9px ridge #f2cf80;border-radius:20px;box-shadow:inset 0 0 22px #000,0 4px 18px #230002}
.slots-reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:hidden;border-radius:9px}
.slots-reel{position:relative;overflow:hidden;background:linear-gradient(90deg,#a28d68 0%,#fff4d8 14%,#fffdf2 48%,#fff4d8 84%,#a28d68 100%);box-shadow:inset 7px 0 14px #47351855,inset -7px 0 14px #47351855}
.slots-reel::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#10060077,transparent 23%,transparent 76%,#10060080);z-index:2}
.slots-symbol{height:var(--symbol-height);box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #bba87955;background:linear-gradient(90deg,#d3c09b33,transparent 20%,#fff 49%,transparent 80%,#d3c09b33)}
.slots-symbol img{display:block;width:min(95%,240px);height:94%;object-fit:contain;filter:drop-shadow(1px 2px 1px #25130044);user-select:none;pointer-events:none}
.slots-symbol[data-code="BAR3"] img{height:97%}
.slots-payline{position:absolute;z-index:4;pointer-events:none;top:calc(50% - var(--symbol-height)/2);left:-5px;right:-5px;height:var(--symbol-height);border-top:3px solid #fa3d2b;border-bottom:3px solid #fa3d2b;box-sizing:border-box;filter:drop-shadow(0 0 4px #ff3c23)}
.slots-glass::after{content:"";position:absolute;z-index:5;pointer-events:none;inset:0;border-radius:12px;background:linear-gradient(115deg,#ffffff19,transparent 28%,transparent 72%,#ffffff12)}
.slots-reel.spinning .slots-symbol img{filter:blur(2.5px) drop-shadow(0 3px 1px #38270a55)}
.slots-reel.stopped{animation:reelStop .25s ease-out}.slots-reel.winner .slots-symbol:nth-child(2){background:#fff4b1;box-shadow:inset 0 0 23px #ffc94b}
@keyframes reelStop{0%{transform:translateY(-9px)}65%{transform:translateY(3px)}100%{transform:translateY(0)}}
.slots-message{font:bold 21px system-ui;min-height:47px;padding:14px 0 7px;text-shadow:0 1px #250009}
.slots-meters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slots-meters>div{background:#160b0a;border:2px solid #bd8d38;border-radius:9px;padding:9px;box-shadow:inset 0 3px 8px #000}.slots-meters small{display:block;color:#f5cd73;font:700 11px system-ui;letter-spacing:1px}.slots-meters strong{font:700 clamp(18px,3vw,28px) 'Courier New',monospace;color:#ff3838;text-shadow:0 0 8px #fa0000}
.slots-controls{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:22px;font:bold 15px system-ui}.slots-controls select{padding:10px 16px;background:#fff5d8;border:2px solid #be9b4a;border-radius:8px}.slots-controls button{background:linear-gradient(#ff6b50,#d80a0d 45%,#950000);border:4px solid #eebf6b;border-radius:15px;color:#fff4cf;padding:13px 54px;font:bold 28px system-ui;box-shadow:0 5px #4b0804,0 0 12px #e33b1b77;cursor:pointer;text-shadow:0 2px #520000}.slots-controls button:disabled{opacity:.55;cursor:wait}
.slots-foot{font:700 11px system-ui;letter-spacing:1px;margin-top:20px}.slots-back{margin-top:16px}.slots-back a{color:#7d1a2c}.slots-error{background:#fff;color:#a00;padding:20px}
@media(max-width:560px){.slots-cabinet{--symbol-height:76px;padding:12px 9px;border-width:6px}.slots-glass{padding:5px;border-width:5px}.slots-reels{gap:3px}.slots-controls button{padding:10px 26px;font-size:22px}.slots-message{font-size:16px}.slots-meters small{font-size:9px}.slots-foot{font-size:9px}}
@media(prefers-reduced-motion:reduce){.slots-reel.stopped{animation:none}.slots-reel.spinning .slots-symbol img{filter:none}}

/* Three dedicated wager buttons; existing cabinet and reel styling is unchanged. */
.slots-controls{gap:12px;flex-wrap:wrap}
.slots-controls .slots-spin-button{flex:1 1 145px;max-width:210px;min-width:0;padding:13px 12px;font-size:clamp(17px,2.7vw,24px);white-space:nowrap}
@media(max-width:520px){.slots-controls{gap:7px}.slots-controls .slots-spin-button{flex:1 1 0;padding:12px 4px;font-size:clamp(13px,3.5vw,19px);border-width:3px}}


/* Classic four-column pay glass above the original reel window. */
.slots-awards{margin:4px 0 15px;border:4px solid #d9ae56;border-radius:15px;background:#4b0008;padding:4px;box-shadow:inset 0 0 0 2px #ffe6a0,0 4px 13px #0006;overflow:hidden}
.slots-paytable{width:100%;border-collapse:collapse;table-layout:fixed;font-family:Georgia,serif}
.slots-paytable th:first-child{width:43%}
.slots-paytable th:not(:first-child){width:19%}
.slots-paytable thead th{background:linear-gradient(#67000a,#390007);color:#ffe6a3;font:800 clamp(10px,1.8vw,16px) system-ui;padding:7px 3px;text-shadow:0 1px #000;white-space:nowrap;border:1px solid #bc873a}
.slots-paytable tbody th{background:linear-gradient(100deg,#fff3d2,#f4dfb0);border:1px solid #b48b46;padding:2px 5px}
.slots-paytable tbody td{background:linear-gradient(#75000c,#510009);color:#fff2d2;border:1px solid #bd8a43;text-align:center;font:bold clamp(14px,2.5vw,22px) Georgia,serif;padding:3px 1px;font-variant-numeric:tabular-nums}
.slots-paytable tbody td:last-child{color:#ffdc68}
.slots-paytable-combo{display:flex;align-items:center;justify-content:center;gap:clamp(2px,.9vw,10px);height:clamp(28px,4vw,39px);white-space:nowrap}
.slots-paytable-combo img{display:block;width:clamp(24px,5.6vw,56px);height:clamp(22px,3.8vw,36px);object-fit:contain}
.slots-paytable-detail{font:800 clamp(8px,1.3vw,11px) system-ui;color:#32170b;letter-spacing:.3px}
.slots-awards-note{font:700 9px system-ui;letter-spacing:.8px;color:#f0d390;padding:7px 3px 4px}
@media(max-width:520px){.slots-awards{border-width:3px;padding:2px}.slots-paytable thead th{font-size:9px;padding:5px 1px}.slots-paytable tbody th{padding:1px}.slots-paytable tbody td{font-size:12px}.slots-paytable-combo{gap:1px;height:28px}.slots-paytable-combo img{width:24px;height:25px}.slots-paytable-detail{font-size:7px}.slots-awards-note{font-size:7px;letter-spacing:0}}

/* Phase 8A: standalone, touch-friendly cabinet and free-credit refill. */
html{box-sizing:border-box;min-width:0;background:#160408}*,*:before,*:after{box-sizing:inherit}
body{margin:0;min-width:0;overflow-x:hidden;background:radial-gradient(ellipse at 50% 0%,#55101c 0%,#180307 75%);min-height:100dvh}
.slots-shell{width:100%;max-width:760px;margin:0 auto;padding:env(safe-area-inset-top,0px) max(8px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(8px,env(safe-area-inset-left,0px))}
.slots-cabinet{width:100%;max-width:100%;min-width:0}
.slots-reels,.slots-glass,.slots-awards{min-width:0}
.slots-refill{margin:16px auto 0;padding:13px;border:3px solid #e7bb62;border-radius:12px;background:linear-gradient(#33050b,#5b0711);box-shadow:inset 0 0 0 1px #ffe5a5;color:#ffe7ad}
.slots-refill[hidden]{display:none!important}
.slots-refill-title{font:800 16px system-ui;letter-spacing:1.5px;margin-bottom:8px}
.slots-refill button{background:linear-gradient(#ffec9c,#e8a521);color:#4b0908;border:3px solid #8c550b;border-radius:20px;padding:11px 20px;font:800 clamp(15px,3.6vw,21px) system-ui;cursor:pointer;max-width:100%;touch-action:manipulation}
.slots-refill button:disabled{opacity:.6;cursor:wait}
.slots-refill small{display:block;font:700 9px system-ui;letter-spacing:.5px;margin-top:9px}
.slots-spin-button{touch-action:manipulation}
@media(max-width:420px){.slots-shell{padding-left:4px;padding-right:4px}.slots-cabinet{border-width:5px;padding:10px 5px}.slots-paytable thead th{font-size:8px}.slots-paytable tbody td{font-size:11px}.slots-paytable-combo img{width:clamp(15px,5.4vw,24px)}.slots-paytable-detail{font-size:6px}.slots-top{font-size:clamp(25px,7vw,40px)}.slots-controls{gap:5px}.slots-controls .slots-spin-button{font-size:clamp(12px,3.6vw,17px);padding:12px 2px}}
