dialog.slots-dialog { width:min(880px,calc(100vw - 28px)); max-width:880px; padding:27px 30px 23px; }
.sl-heading { display:flex; align-items:center; justify-content:space-between; padding-right:23px; }
.sl-heading h2 { font-size:36px; margin:7px 0 21px; }
.sl-heading h2 span,.sl-heading-mark { color:#d7b3cc; }
.sl-heading-mark { font-size:40px; }
.sl-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:26px; }
.sl-cabinet { padding:19px 10px 10px; border:2px solid #b59d7d; border-radius:19px 19px 9px 9px; background:linear-gradient(145deg,#6b4a64,#3b2e43 70%); box-shadow:inset 0 0 0 4px #26272d,0 8px 20px #07150d55; }
.sl-marquee { display:flex; align-items:center; justify-content:space-evenly; gap:10px; text-align:center; color:#efd8b8; padding:0 12px 16px; }
.sl-marquee > span { color:#d6a8c7; font-size:25px; }
.sl-marquee strong { font:26px Georgia,serif; letter-spacing:2px; }
.sl-marquee small { display:block; font-size:7px; letter-spacing:1.7px; margin-top:5px; color:#c8b1b9; }
.sl-reel-frame { display:grid; grid-template-columns:10px 1fr 10px; align-items:center; gap:3px; }
.sl-line-pointer { color:#f3cf92; font-size:19px; }
.sl-reels { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; background:#25232a; border:1px solid #d7ba86; border-radius:9px; padding:8px; }
.sl-reel { height:132px; border-radius:4px; overflow:hidden; background:linear-gradient(#bbb6a1,#f9f0d4 26%,#fff8de 58%,#c3bba3); border:1px solid #decfa9; box-shadow:inset 0 7px 12px #54413844,inset 0 -7px 12px #54413833; display:flex; align-items:center; justify-content:center; position:relative; }
.sl-reel > .sl-symbol { font-size:54px; line-height:1; }
.sl-reel > .sl-seven { font:bold italic 89px Georgia,serif; color:#9b4d6a; text-shadow:2px 2px #f9df99,3px 3px #624756; }
.sl-bar { font:bold 20px Georgia,serif; letter-spacing:-1px; color:#efe5c7; background:#363337; padding:4px 3px; border-top:2px solid #9a8467; border-bottom:2px solid #9a8467; }
.sl-reel > .sl-bar { font-size:30px; }
.sl-machine-strip { display:flex; justify-content:space-between; gap:8px; padding:10px 12px 1px; color:#cdb7ba; font-size:7px; letter-spacing:.9px; }
#sl-timer { color:#ead1ab; font-variant-numeric:tabular-nums; }
.sl-symbol-track { position:absolute; top:0; width:100%; animation:sl-reel-spin .7s linear infinite; }
.sl-symbol-track > .sl-symbol { display:flex; align-items:center; justify-content:center; height:132px; font-size:54px; background:none; border:0; }
.sl-symbol-track .sl-bar { color:#4c3946; font-size:34px; }
.sl-symbol-track .sl-seven { color:#9b4d6a; font:bold italic 87px Georgia,serif; }
.sl-reel:nth-child(2) .sl-symbol-track { animation-duration:.62s; }
.sl-reel:nth-child(3) .sl-symbol-track { animation-duration:.54s; }
.sl-motion-fallback { display:none; color:#8b5c78; letter-spacing:5px; }
@keyframes sl-reel-spin { to { transform:translateY(-50%); } }
.sl-result { min-height:69px; padding:15px 2px 11px; display:flex; flex-direction:column; gap:4px; }
.sl-result strong { font:21px Georgia,serif; color:#e1e6ce; }
.sl-result span { color:#a9b59e; font-size:11px; }
.sl-win strong { color:#e3c3da; }
.sl-totals { display:grid; grid-template-columns:1fr 1fr 1.3fr; border-top:1px solid #82906b33; border-bottom:1px solid #82906b33; padding:12px 0; }
.sl-totals > div { display:flex; flex-direction:column; gap:6px; }
.sl-totals > div:last-child { text-align:right; }
.sl-totals small { font-size:8px; letter-spacing:.9px; color:#9cab91; }
.sl-totals strong { font:23px Georgia,serif; color:#e2cfad; font-variant-numeric:tabular-nums; }
.sl-controls { display:grid; grid-template-columns:110px 1fr; align-items:end; gap:12px; margin-top:15px; }
.sl-controls label { margin:0; font-size:11px; color:#b7c0aa; }
.sl-controls input { margin-top:6px; padding:10px; height:41px; }
.sl-controls .primary-button { margin:0; padding:11px 15px; height:41px; font-size:13px; background:#d4b3c8; color:#2d2230; }
.sl-controls .primary-button:hover:not(:disabled) { background:#e5c5db; }
.sl-presets { display:flex; gap:5px; align-items:center; margin-top:10px; }
.sl-presets button { border:1px solid #6b7e6055; color:#c8d4b9; background:#25372a; padding:4px 9px; border-radius:4px; font-size:11px; }
.sl-presets span { margin-left:auto; color:#8c9c83; font-size:9px; }
.sl-connection { margin:12px 0 0; min-height:18px; font-size:10px!important; color:#94a18a!important; }
.sl-paytable { border-left:1px solid #84906c33; padding-left:23px; }
.sl-paytable-heading h3 { font:24px Georgia,serif; margin:0 0 5px; color:#e3ddc3; }
.sl-paytable-heading > span { font-size:7px; letter-spacing:1px; color:#9cab90; }
.sl-paytable-key { display:flex; justify-content:space-between; gap:10px; margin:20px 0 5px; font-size:7px; letter-spacing:.5px; color:#8a9b81; }
.sl-pay-row { display:flex; justify-content:space-between; align-items:center; padding:7px 0; border-bottom:1px solid #83966c22; gap:10px; }
.sl-pay-row > div { min-width:0; }
.sl-pay-symbols { display:flex; align-items:center; gap:4px; height:25px; }
.sl-pay-symbols .sl-symbol { font-size:19px; line-height:1; }
.sl-pay-symbols .sl-seven { font:bold italic 25px Georgia,serif; color:#db9eb9; }
.sl-pay-symbols .sl-bar { font-size:12px; padding:2px; border-width:1px; }
.sl-pay-symbols > small { font-size:7px; color:#a5b596; }
.sl-pay-label { display:block; font-size:9px; line-height:1.25; color:#a9b79b; margin-top:2px; }
.sl-pay-row > strong { color:#d8b9d0; font:21px Georgia,serif; text-align:right; white-space:nowrap; }
.sl-pay-row > strong small { display:block; font:9px 'Segoe UI',sans-serif; color:#9fac91; margin-top:3px; }
.sl-pay-row.sl-pay-hit { background:#d5b1c51a; box-shadow:0 0 0 5px #d5b1c51a; }
.sl-return-note { font-size:10px!important; line-height:1.65!important; margin:13px 0; }
.sl-rtp { display:flex; align-items:center; gap:10px; border-top:1px solid #83966c33; padding-top:10px; }
.sl-rtp strong { font:23px Georgia,serif; color:#d3d9be; }
.sl-rtp span { font-size:8px; color:#9eac90; line-height:1.6; }
.sl-rules { border-top:1px solid #83966c33; margin-top:19px; padding-top:12px; font-size:11px; color:#a9b59d; }
.sl-rules summary { cursor:pointer; }
.sl-rules p { font-size:11px; }
@media(max-height:800px) and (min-width:701px) {
  dialog.slots-dialog { padding:21px 28px 18px; }
  .sl-heading h2 { font-size:30px; margin:5px 0 16px; }
  .sl-reel { height:115px; }
  .sl-cabinet { padding-top:16px; }
  .sl-pay-row { padding:5px 0; }
  .sl-paytable-key { margin-top:14px; }
  .sl-rules { margin-top:13px; padding-top:10px; }
}
@media(max-width:700px) {
  dialog.slots-dialog { padding:24px 18px; }
  .sl-heading h2 { font-size:29px; }
  .sl-heading .eyebrow { font-size:7px; letter-spacing:1px; }
  .sl-heading-mark { display:none; }
  .sl-layout { grid-template-columns:1fr; gap:22px; }
  .sl-paytable { border-left:0; padding-left:0; }
  .sl-reel { height:115px; }
  .sl-marquee strong { font-size:23px; }
  .sl-reel > .sl-symbol { font-size:43px; }
  .sl-reel > .sl-seven { font-size:74px; }
  .sl-reel > .sl-bar { font-size:24px; }
}
@media(prefers-reduced-motion:reduce) { .sl-symbol-track { display:none; animation:none; } .sl-motion-fallback { display:block; } }
