/* Shared cabinet typography. Game palettes and layout remain renderer-owned. */
.rail-feature-money > small {
  display: block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: normal;
  line-height: 1.25;
}
.stage-result-plaque > small {
  display: block;
  max-width: 100%;
  white-space: normal;
  line-height: 1.3;
}
.stage-result-plaque,.show-payout-plaque { container-type:inline-size; --amount-font-max:65px; }
.show-payout-plaque { width:min(680px,100%); --amount-font-max:100px; }
.stage-result-plaque>#countFeature,.show-payout-plaque>#countWin { font-size:clamp(18px,calc(145cqw / var(--amount-chars,12)),var(--amount-font-max)); }
@media(max-width:600px) and (orientation:portrait) { .stage-result-plaque { --amount-font-max:45px; } .show-payout-plaque { --amount-font-max:54px; } }
@media(max-width:600px) and (orientation:portrait) and (max-height:650px) { .stage-result-plaque { --amount-font-max:30px; } }
@media(orientation:landscape) and (max-height:500px) { .stage-result-plaque { --amount-font-max:34px; } .show-payout-plaque { --amount-font-max:42px; } }

/* Original themed ornaments sit on dimensional surfaces; no floating dashboard cards. */
#game.premium-world .cabinet { grid-template-columns:clamp(174px,14vw,228px) minmax(0,1fr); }
#game.premium-world .rail { padding:38px 9px 14px; gap:16px; border:0; box-shadow:none; background:none; }
#game.premium-world #buy, #stage.premium-world #buy {
  position:relative; isolation:isolate; overflow:visible;
  border:0; border-radius:18px; border-image:none;
  padding:43px 15px 16px; gap:6px;
  background:radial-gradient(ellipse at 50% 0%,#fff5d685,transparent 68%),linear-gradient(145deg,var(--cabinet-base),color-mix(in srgb,var(--cabinet-base),#291529 35%));
  box-shadow:inset 0 2px #fff1cb85,inset 0 -4px #32162266,0 5px 0 #60402e,0 12px 26px #28112855;
  color:#fff4d6; text-shadow:0 2px 2px #48212e;
}
#game.premium-world #buy:after,#stage.premium-world #buy:after {
  content:''; display:block; position:absolute; inset:0; z-index:-1; pointer-events:none;
  border:12px solid transparent; border-image:var(--cabinet-frame) 256 / 12px / 0 stretch;
}
.premium-world .cabinet-crown { position:absolute; width:160px; height:104px; top:-58px; left:50%; transform:translateX(-50%); object-fit:contain; pointer-events:none; filter:drop-shadow(0 6px 8px #29132260); }
#game.premium-world #buy .rail-emblem { display:none; }
#game.premium-world #buy>strong,#stage.premium-world #buy>span { font-size:26px; line-height:1.04; color:#fff5dc; }
#game.premium-world #buy .rail-kicker,#stage.premium-world #buy>.shop-kicker { display:block; color:#fff4cc; font-size:9px; letter-spacing:2px; }
#game.premium-world #buy .rail-price,#stage.premium-world #buy>#buyPrice { font-size:28px; line-height:1.2; color:#fff2b8; font-variant-numeric:tabular-nums; }
#game.premium-world #buy .rail-options { font-size:8px; color:#fff2dd; }
.rail-products { display:grid; width:100%; margin-top:6px; padding-top:8px; border-top:1px solid #ffe3aa66; gap:6px; }
.rail-products>span { display:flex; justify-content:space-between; align-items:center; gap:4px; }
.rail-products small { font-size:8px; letter-spacing:0; text-align:left; }
.rail-products b { font-size:12px; white-space:nowrap; }
#game.premium-world #mode.rail-ante,#stage.premium-world #ante {
  position:relative; border:1px solid #ffe2ae85; border-radius:15px;
  background:radial-gradient(ellipse at 50% 0%,#ffeac14d,transparent 80%),linear-gradient(150deg,color-mix(in srgb,var(--cabinet-base),#d49a62 30%),var(--cabinet-base));
  box-shadow:inset 0 2px #ffefc244,inset 0 -3px #42243555,0 5px 14px #32152833;
  min-height:110px; padding:13px 8px; gap:5px;
}
#game.premium-world #mode[aria-pressed=true],#stage.premium-world #ante[aria-pressed=true] { box-shadow:inset 0 2px #ffefc288,0 0 25px color-mix(in srgb,var(--cabinet-glow),transparent 55%); }
#game.premium-world .rail-toggle { padding:5px 9px; border-radius:20px; background:#29122b38; }
#game.premium-world .mechanics,#game.premium-world .history,#stage.premium-world #history {
  position:relative; border:1px solid #fff0c55e; border-radius:16px; box-shadow:inset 0 1px #fff2cb55,0 5px 18px #34172b35;
  background:radial-gradient(ellipse at top,#fff2be2e,transparent 65%),linear-gradient(145deg,color-mix(in srgb,var(--cabinet-base),#815742 22%),color-mix(in srgb,var(--cabinet-base),#321923 30%));
  padding:12px 10px; text-shadow:0 2px 3px #32182a;
}
#game.premium-world .history>small { display:block; border-bottom:1px solid #ffe4ac55; padding-bottom:8px; }
#game.premium-world .mechanics:before,#game.premium-world .history:before,#stage.premium-world #ante:after,#stage.premium-world #history:after { content:''; position:absolute; inset:0; border:8px solid transparent; border-image:var(--cabinet-frame) 256 / 8px / 0 stretch; pointer-events:none; border-radius:inherit; }
#stage.premium-world #history:empty { flex:0; min-height:7cqw; }
#stage.premium-world #history:empty:after { content:'Kazanan semboller burada listelenir.'; border:0; position:static; }
#game.premium-world .rail-feature,#stage.premium-world #featureMeter,#stage.premium-world #freeMeter {
  border:1px solid #ffedbe; border-radius:18px;
  background:radial-gradient(ellipse at top,color-mix(in srgb,var(--cabinet-glow),transparent 45%),transparent 75%),linear-gradient(145deg,var(--cabinet-base),#44263b);
  box-shadow:inset 0 2px #fff2ce66,0 0 30px color-mix(in srgb,var(--cabinet-glow),transparent 80%);
}
#game.premium-world .hud,#stage.premium-world #hud {
  border-radius:22px 22px 12px 12px; border:1px solid #ffe5b282;
  background:linear-gradient(180deg,#fff1c34a,transparent 26%),linear-gradient(110deg,color-mix(in srgb,var(--cabinet-base),transparent 12%),color-mix(in srgb,var(--cabinet-base),#8e6539 30%));
  box-shadow:inset 0 3px #fff2c477,inset 0 -3px #47263455,0 -5px 24px #ffe3a917;
}
#game.premium-world .round-win>strong { color:#fff0b9; }
#game.premium-world .spin,#stage.premium-world #spin { background:radial-gradient(circle at 30% 20%,#ffffff7a,transparent 58%),linear-gradient(145deg,var(--cabinet-glow),var(--cabinet-base)); border:2px solid #ffecc4; box-shadow:0 3px 0 #775332,inset 0 2px #ffefbc66,0 0 22px #ffe6ab44; }
#game.premium-world #auto,#game.premium-world #sound,#stage.premium-world #auto { background:#ffe8b41f; border-color:#ffdeb777; }
dialog.purchase-dialog { background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--cabinet-glow),transparent 38%),transparent 75%),linear-gradient(140deg,var(--cabinet-base),color-mix(in srgb,var(--cabinet-base),#2b1425 25%)); }
.purchase-crown { display:block; width:172px; height:105px; object-fit:contain; margin:-14px auto -12px; filter:drop-shadow(0 5px 7px #2b152b55); }
dialog.purchase-dialog .feature-product { background:radial-gradient(ellipse at top,#fff0bd50,transparent 80%),linear-gradient(145deg,color-mix(in srgb,var(--cabinet-base),#e3a454 28%),var(--cabinet-base)); }
dialog.purchase-dialog .feature-product.selected { background:radial-gradient(ellipse at top,#fff3cf85,transparent 85%),linear-gradient(145deg,color-mix(in srgb,var(--cabinet-base),#ffdba2 32%),var(--cabinet-base)); }
dialog.purchase-dialog .purchase-heading h2 { margin-bottom:12px; }
#stage.premium-world .lobby-return { position:absolute; top:2%; left:1%; z-index:5; color:#fff2d7; text-decoration:none; font-size:30px; }
@media(min-aspect-ratio:1/1) {
  #stage.premium-world #board { left:21%; width:61%; }
  #stage.premium-world #headline { left:21%; width:61%; }
  #stage.premium-world #brand { left:83%; top:14%; width:16%; }
  #stage.premium-world #brand span { font-size:.5cqw; letter-spacing:.05cqw; }
  #stage.premium-world #brand h1 img { width:100%; max-height:12cqw; }
  #stage.premium-world .cell .symbol { width:89%; height:89%; clip-path:none; }
  #stage.premium-world #left { left:3%; width:15%; top:16%; padding:0; border:0; box-shadow:none; background:none; }
  #stage.premium-world #buy { min-height:12cqw; }
  #stage.premium-world #buy>.shop-kicker { font-size:.6cqw; }
  #stage.premium-world #buy>span { font-size:1.55cqw; }
  #stage.premium-world #buy>#buyPrice { font-size:1.9cqw; }
  #stage.premium-world #buy>small { font-size:.55cqw; }
  #stage.premium-world .cabinet-crown { width:12cqw; height:8cqw; top:-4.6cqw; }
}
@media(max-width:900px) and (orientation:portrait) {
  #game.premium-world .cabinet,#game.premium-world .rail,#game.premium-world .hud { display:contents; }
  #game.premium-world #buy,#stage.premium-world #buy { padding:6px 8px 5px 37px; border-radius:12px; min-height:0; gap:1px; overflow:hidden; }
  .premium-world .cabinet-crown { width:60px; height:60px; top:50%; left:-8px; transform:translateY(-50%); }
  #game.premium-world #buy>strong,#stage.premium-world #buy>span { font-size:14px; }
  #game.premium-world #buy>strong br,#stage.premium-world #buy>span br { display:none; }
  #game.premium-world #buy .rail-price,#stage.premium-world #buy>#buyPrice { font-size:18px; }
  #game.premium-world #buy .rail-kicker,#stage.premium-world #buy>.shop-kicker { display:none; }
  #game.premium-world #buy .rail-options,#stage.premium-world #buy>small { font-size:6px; letter-spacing:0; }
  .rail-products { display:none; }
  #game.premium-world #mode.rail-ante,#stage.premium-world #ante { min-height:0; padding:4px; gap:1px; border-radius:12px; }
  #game.premium-world .rail-toggle { padding:1px 4px; }
  #game.premium-world .mechanics,#game.premium-world .history,#stage.premium-world #history { padding:5px 7px; border-radius:12px; }
  #game.premium-world .mechanics .mechanic-value { display:block; font-size:22px; line-height:1.05; margin:2px 0 0; }
  #game.premium-world .mechanics small { display:block; line-height:1.2; }
  #game.premium-world .history>small { padding-bottom:1px; }
  #game.premium-world .mechanics:before,#game.premium-world .history:before,#stage.premium-world #ante:after,#stage.premium-world #history:after { border-image-width:5px; }
  #game.premium-world .rail-feature { border-radius:12px; }
  #stage.premium-world #hud { display:contents; }
  #stage.premium-world #brand h1 img { max-height:48px; }
  #stage.premium-world #funds { background:linear-gradient(180deg,#ffe0a544,transparent); border-radius:10px; }
  .purchase-crown { width:115px; height:65px; margin:-8px auto -5px; }
}
@media(orientation:landscape) and (max-height:600px) {
  #game.premium-world .cabinet { grid-template-columns:145px minmax(0,1fr); }
  #game.premium-world .rail { padding:18px 5px 5px; gap:9px; }
  #game.premium-world #buy { min-height:0; padding:23px 7px 7px; gap:2px; }
  #game.premium-world #buy>strong { font-size:17px; }
  #game.premium-world #buy .rail-price { font-size:19px; }
  #game.premium-world #buy .rail-kicker { display:none; }
  #game.premium-world .cabinet-crown { width:100px; height:60px; top:-33px; }
  .rail-products { display:none; }
  #game.premium-world #mode.rail-ante,#stage.premium-world #ante { min-height:0; padding:5px; gap:2px; }
  #game.premium-world .mechanics,#game.premium-world .history { padding:5px; }
  #game.premium-world .hud,#stage.premium-world #hud { border-radius:14px; }
  #stage.premium-world #buy { padding:22px 6px 6px; min-height:0; }
  #stage.premium-world #buy>span { font-size:12px; }
  #stage.premium-world #buy>#buyPrice { font-size:19px; }
  #stage.premium-world #buy>.shop-kicker { display:none; }
  .purchase-crown { width:100px; height:58px; margin:-8px auto -8px; }
}
dialog.world-opening {
  position:fixed; isolation:isolate; width:min(890px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow:auto;
  border:2px solid #ffebbd; border-radius:28px; padding:22px 28px; color:#fff4d4;
  background:radial-gradient(ellipse at top,color-mix(in srgb,var(--cabinet-glow),transparent 25%),transparent 75%),linear-gradient(145deg,var(--cabinet-base),#492635);
  box-shadow:inset 0 3px #fff7de66,0 24px 90px #221421aa;
}
dialog.world-opening::backdrop { background:#261a329e; backdrop-filter:blur(8px); }
.intro-language { position:absolute; top:14px; right:16px; border:1px solid #ffecc999; background:#ffe5b522; color:#fff6dc; border-radius:20px; padding:8px 12px; cursor:pointer; }
.intro-logo { display:block; width:300px; height:124px; object-fit:contain; margin:auto; }
.intro-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); align-items:center; gap:20px; }
.intro-art img { display:block; width:100%; height:240px; object-fit:contain; filter:drop-shadow(0 12px 16px #381d3288); }
.intro-copy small { font-size:9px; letter-spacing:2px; }
dialog.world-opening .intro-copy h2 { font-size:32px; line-height:1.08; margin:8px 0 18px; color:#fff2b4; }
.intro-copy ul { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.intro-copy li { display:flex; align-items:center; gap:10px; font-size:12px; font-weight:800; }
.intro-copy li i { display:grid; place-items:center; border:1px solid #ffedb8; border-radius:50%; width:29px; height:29px; flex:none; font-style:normal; background:#fff3c12b; }
.intro-copy p { font-size:12px; color:#fbe7cc; }
.intro-copy p b { color:#fff1a9; font-size:23px; }
.intro-play { display:block; width:min(290px,100%); margin:20px auto 10px; min-height:54px; border:1px solid #fff5ce; border-radius:16px; background:linear-gradient(145deg,#fff5c4,#f0c377,#d58e50); box-shadow:inset 0 2px #fffbe2,0 4px #805734; color:#583130; font-size:24px; font-weight:900; cursor:pointer; }
.intro-preference { display:flex; justify-content:center; gap:8px; align-items:center; font-size:11px; }
.intro-test { display:block; text-align:center; font-size:9px; margin-top:12px; color:#f4dfcb; }
.intro-light { position:absolute; inset:0; overflow:hidden; z-index:-1; pointer-events:none; border-radius:inherit; background:conic-gradient(from 30deg at 30% 50%,transparent,#ffedc51a,transparent,#ffedc524,transparent); animation:intro-light 5s ease-in-out infinite; }
@keyframes intro-light { 0%,100%{opacity:.25}50%{opacity:1} }
@media(max-width:600px) {
  dialog.world-opening { padding:16px; border-radius:20px; }
  .intro-logo { width:220px; height:96px; }
  .intro-layout { grid-template-columns:minmax(0,1fr); gap:4px; }
  .intro-art img { height:116px; }
  .intro-copy { text-align:center; }
  dialog.world-opening .intro-copy h2 { font-size:24px; margin:6px 0 12px; }
  .intro-copy ul { gap:8px; }
  .intro-copy li { font-size:10px; text-align:left; }
  .intro-play { margin-top:12px; }
}
@media(max-height:650px) {
  .intro-logo { height:75px; }
  .intro-art img { height:90px; }
  dialog.world-opening .intro-copy h2 { font-size:22px; margin-bottom:9px; }
  .intro-copy ul { gap:5px; }
  .intro-copy li { font-size:10px; }
  .intro-copy p { margin:6px 0; }
  .intro-play { margin-top:10px; min-height:42px; font-size:20px; }
}
@media(orientation:landscape) and (max-height:450px) {
  dialog.world-opening { padding:12px 20px; }
  .intro-logo { height:65px; }
  .intro-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
  .intro-art img { height:130px; }
  .intro-test { margin-top:6px; }
}
@media(prefers-reduced-motion:reduce) { .intro-light { animation:none; opacity:.4; } }
#stage.premium-world #celebration { overflow:hidden; }
#stage.premium-world #celebration:before { width:72%; height:83%; border:1px solid #fff0ba80; border-radius:28px; background:radial-gradient(ellipse at top,#cfb2ef80,transparent 70%),linear-gradient(150deg,#725081e8,#462642e8); box-shadow:inset 0 2px #ffe8c85c,0 20px 60px #29192b88; }
#stage.premium-world #celebration .winEmblem { width:22cqw; height:14cqw; margin:0 0 -1cqw; }
#stage.premium-world #celebration .olympus-win-title { display:block; width:43cqw; height:11cqw; object-fit:contain; }
#stage.premium-world #celebration .celebrationCaption { position:relative; font-size:.8cqw; letter-spacing:.08cqw; color:#fff2bf; text-align:center; margin:.7cqw 0; }
#stage.premium-world #celebrationAmount { max-width:67%; font-size:clamp(24px,5.7cqw,84px); white-space:nowrap; font-variant-numeric:tabular-nums; }
#stage.premium-world #celebration:before { width:90%; height:90%; border:0; border-radius:50%; background:radial-gradient(ellipse,#e6c3ff40,#ad659c22 48%,transparent 70%); box-shadow:none; }
#stage.premium-world #celebration .rays { opacity:.4; }
#stage.premium-world #celebration .winOrbit { opacity:.8; }
#stage.premium-world #celebrationAmount { display:block; min-width:33%; padding:.9cqw 2.5cqw; border:2px solid #ffefb5; border-radius:2cqw; background:radial-gradient(ellipse at top,#fff2bc44,transparent 85%),linear-gradient(145deg,#955ea1,#603354); box-shadow:inset 0 2px #fff2c388,inset 0 -5px #42264099,0 5px 0 #8a603a,0 0 32px #e9b4f63a; }
#stage.premium-world #celebration[data-phase=entry] #celebrationAmount,#stage.premium-world #celebration[data-phase=award] #celebrationAmount { min-width:18%; font-size:7cqw; line-height:1.1; color:#fff0a0; }
#stage.premium-world #celebration[data-phase=award] .winEmblem { filter:drop-shadow(0 0 20px #ffd57680); }
#stage.premium-world #celebration[data-phase=recap] .rays { opacity:.55; }
#stage.premium-world #celebrationDetail { max-width:65%; text-align:center; line-height:1.3; }
.cabinet-test { position:fixed; z-index:100; top:4px; left:4px; display:flex; flex-wrap:wrap; max-width:480px; gap:3px; padding:5px; background:#362334e8; border:1px solid #e5ca93; border-radius:8px; }
.cabinet-test small,.cabinet-test output { flex-basis:100%; font:9px Arial; color:#fff1ba; }
.cabinet-test button { font:10px Arial; padding:5px; border:1px solid #e5ca9399; border-radius:5px; color:#ffefcb; background:#855e7344; }
#stage.premium-world~#layoutReport { position:fixed; bottom:0; left:0; z-index:110; font:7px monospace; background:#221c25aa; color:#fff; pointer-events:none; }
@media(max-aspect-ratio:1/1) {
 #stage.premium-world #celebration:before { width:94%; height:74%; }
 #stage.premium-world #celebration .winEmblem { width:64cqw; height:35cqw; }
 #stage.premium-world #celebration .olympus-win-title { width:88cqw; height:28cqw; }
 #stage.premium-world #celebration .celebrationCaption { font-size:2.2cqw; margin:2cqw 0; }
 #stage.premium-world #celebrationAmount { max-width:88%; font-size:7.5cqw; }
 #stage.premium-world #celebrationAmount { min-width:75%; padding:3cqw 4cqw; border-radius:5cqw; }
 #stage.premium-world #celebration[data-phase=entry] #celebrationAmount,#stage.premium-world #celebration[data-phase=award] #celebrationAmount { min-width:44%; font-size:17cqw; }
 #stage.premium-world #celebrationDetail { max-width:86%; font-size:3cqw; }
 #stage.premium-world #celebration h2 { font-size:5.5cqw; text-align:center; }
}
@media(min-aspect-ratio:1/1) and (max-height:480px) {
 #stage.premium-world #celebration .winEmblem { width:15cqw; height:8cqw; }
 #stage.premium-world #celebration .olympus-win-title { height:8cqw; }
 #stage.premium-world #celebration h2 { font-size:2cqw; }
 #stage.premium-world #celebrationAmount { font-size:4.5cqw; }
}

/* Rejected card stack replaced first in SweetRotto, not cloned to other games. */
#game.fruit-cabinet .rail { padding:8px 0; gap:20px; align-items:center; }
#game.fruit-cabinet #buy { width:100%; aspect-ratio:2/3; min-height:0; padding:30% 18% 24%; border:0; border-radius:0; background:url('/assets/sweetrotto-purchase-plaque-v2.webp') center/100% 100% no-repeat; box-shadow:none; gap:5px; filter:drop-shadow(0 8px 9px #220b2866); }
#game.fruit-cabinet #buy:after,#game.fruit-cabinet .cabinet-crown,#game.fruit-cabinet #railProducts { display:none; }
#game.fruit-cabinet #buy>strong { font-size:clamp(20px,1.6vw,30px); }
#game.fruit-cabinet #buy .rail-price { font-size:clamp(19px,1.5vw,28px); }
#game.fruit-cabinet #buy .rail-options { font-size:8px; line-height:1.4; }
#game.fruit-cabinet #mode.rail-ante { width:96%; min-height:118px; padding:16px 12px; border:3px solid #e8b766; border-radius:50%; background:radial-gradient(ellipse at 50% 15%,#ffad6390,transparent 65%),linear-gradient(#931f35,#601f37); box-shadow:inset 0 2px #fff5ae,inset 0 -4px #39132c,0 3px #683529,0 5px 0 2px #bc934f,0 8px 18px #20091f80; }
#game.fruit-cabinet #mode:before,#game.fruit-cabinet #mode:after { display:none; }
#game.fruit-cabinet #mode>strong { color:#fff0b1; font-size:24px; }
#game.fruit-cabinet .history { width:100%; min-height:58px; border:0; border-radius:0; padding:8px 4px; background:linear-gradient(90deg,transparent,#371126bf,transparent); box-shadow:none; }
#game.fruit-cabinet .history:after,#game.fruit-cabinet .history:before { display:none; }
#game.fruit-cabinet .history>small { text-align:center; border-bottom:1px solid #f5c77190; padding-bottom:6px; }
#game.fruit-cabinet .board-wrap { position:relative; }
#game.fruit-cabinet .caption { padding-right:110px; }
#game.fruit-cabinet #mechanics { position:absolute; right:0; bottom:0; width:105px; height:36px; min-height:0; max-height:none; overflow:visible; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
#game.fruit-cabinet #mechanics:before,#game.fruit-cabinet #mechanics:after,#game.fruit-cabinet #mechanics .hint { display:none; }
#game.fruit-cabinet #mechanics>div { display:flex; align-items:center; gap:5px; height:100%; }
#game.fruit-cabinet #mechanics small { font-size:7px; letter-spacing:0; }
#game.fruit-cabinet #mechanics strong { font-size:25px; margin:0; line-height:1; }
@media(max-width:900px) and (orientation:portrait) {
 #game.fruit-cabinet .spin-group { grid-column:1/-1; }
 #game.fruit-cabinet #buy { aspect-ratio:auto; width:100%; height:100%; padding:4px 8px; background:linear-gradient(160deg,#c92756,#77193c); border:2px solid #f7ce87; border-radius:50% 50% 26% 26% / 28% 28% 20% 20%; filter:none; box-shadow:inset 0 2px #fff4ae80,0 2px #724529; gap:1px; }
 #game.fruit-cabinet #buy>strong { font-size:13px; }
 #game.fruit-cabinet #buy .rail-price { font-size:18px; }
 #game.fruit-cabinet #buy .rail-kicker,#game.fruit-cabinet #buy .rail-options { display:none; }
 #game.fruit-cabinet #mode.rail-ante { width:100%; height:100%; min-height:0; padding:4px 7px; border-width:2px; box-shadow:inset 0 2px #fff3b077,0 2px #865537; gap:1px; }
 #game.fruit-cabinet #mode>strong { font-size:17px; }
 #game.fruit-cabinet #mode #modeDetail { display:none; }
 #game.fruit-cabinet .history { height:100%; min-height:0; padding:2px 4px; }
 #game.fruit-cabinet .history>small { padding-bottom:0; }
}
@media(orientation:landscape) and (max-height:600px) {
 #game.fruit-cabinet .rail { padding:0; gap:8px; }
 #game.fruit-cabinet #buy { aspect-ratio:auto; height:142px; padding:39px 24px 25px; }
 #game.fruit-cabinet #buy>strong { font-size:14px; }
 #game.fruit-cabinet #buy .rail-price { font-size:16px; }
 #game.fruit-cabinet #buy .rail-kicker { display:none; }
 #game.fruit-cabinet #buy .rail-options { font-size:6px; }
 #game.fruit-cabinet #mode.rail-ante { min-height:78px; padding:6px; gap:1px; }
 #game.fruit-cabinet #mode>strong { font-size:17px; }
 #game.fruit-cabinet #mode #modeDetail { display:none; }
 #game.fruit-cabinet .history { min-height:35px; padding:3px; }
}

/* Opening is a full game scene, never a rectangular information window. */
dialog.world-opening.scene-opening { position:fixed; inset:0; margin:0; width:100vw; height:100dvh; max-width:none; max-height:none; padding:22px max(24px,env(safe-area-inset-right)); border:0; border-radius:0; box-shadow:none; overflow:hidden; color:#fff8dc; background:linear-gradient(#25122760,#32132185),var(--intro-environment) center/cover; isolation:isolate; }
dialog.scene-opening[open] { display:grid; grid-template-rows:minmax(90px,26%) 28px minmax(0,1fr) minmax(145px,26%); gap:8px; align-items:center; }
dialog.scene-opening:before { display:none; }
dialog.scene-opening::backdrop { background:#2e1724; backdrop-filter:none; }
dialog.scene-opening .intro-language { z-index:4; }
dialog.scene-opening .intro-masthead { height:100%; min-height:0; text-align:center; }
dialog.scene-opening .intro-masthead>small { position:absolute; top:12px; left:20px; font-size:9px; letter-spacing:2px; }
dialog.scene-opening .intro-logo { width:min(600px,70vw); height:100%; max-height:260px; filter:drop-shadow(0 10px 12px #1b0d3480); }
dialog.scene-opening .intro-art { position:absolute; inset:20% 30% 15%; z-index:-1; pointer-events:none; opacity:.18; }
dialog.scene-opening .intro-art img { width:100%; height:100%; filter:blur(1px); }
dialog.scene-opening .intro-copy h2 { text-align:center; font-size:16px; letter-spacing:4px; margin:0; color:#fff3ca; }
dialog.scene-opening .intro-demonstrations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; width:min(1240px,100%); margin:auto; height:100%; align-items:center; }
dialog.scene-opening .intro-demonstration { min-width:0; text-align:center; border:0; background:none; }
dialog.scene-opening .intro-demonstration-art { position:relative; height:clamp(90px,24vh,225px); display:grid; place-items:center; filter:drop-shadow(0 6px 5px #270d2f70); }
dialog.scene-opening .intro-demonstration h3 { font-size:clamp(15px,2vw,25px); line-height:1.1; color:#fff5cd; text-shadow:0 2px #742644,0 0 8px #1c0d28; margin:12px 0 0; font-family:'Barlow Condensed',Arial,sans-serif; font-weight:900; }
dialog.scene-opening .intro-match { display:grid; grid-template-columns:repeat(4,1fr); width:100%; height:100%; gap:5px; max-width:340px; }
dialog.scene-opening .intro-match>span { display:block; min-width:0; min-height:0; animation:intro-match 4.8s calc(var(--demo-index)*.04s) ease-in-out infinite; }
dialog.scene-opening .symbol-art { position:relative; inset:auto; display:block; width:100%; height:100%; margin:0; }
dialog.scene-opening .intro-demo-badge { position:absolute; bottom:-4px; right:4%; font-size:48px; color:#fff1b4; text-shadow:0 3px #6b2442; }
dialog.scene-opening .intro-charge { position:relative; width:75%; height:100%; max-width:250px; }
dialog.scene-opening .intro-charge .symbol-art { filter:drop-shadow(0 0 12px #ffc390); animation:intro-charge 4.8s ease-in-out infinite; }
dialog.scene-opening .intro-charge>b { position:absolute; inset:auto -20% 12%; color:#fff5c4; font-size:clamp(22px,3vw,46px); text-shadow:0 3px #5d1737,0 0 10px #52172a; }
dialog.scene-opening .intro-cells { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:85%; height:100%; gap:7px; }
dialog.scene-opening .intro-cells>span { position:relative; min-width:0; min-height:0; background:radial-gradient(#ffdfa267,#e7976144); border:1px solid #ffecb055; border-radius:15px; }
dialog.scene-opening .intro-cells b { position:absolute; bottom:0; right:2px; font-size:clamp(16px,2vw,28px); color:#fff1b4; text-shadow:0 2px #7c233b; }
dialog.scene-opening .intro-scatter { display:flex; width:100%; height:100%; align-items:center; }
dialog.scene-opening .intro-scatter>.symbol-art { width:25%; height:85%; }
dialog.scene-opening .intro-scatter>.symbol-art:nth-child(2) { height:100%; filter:drop-shadow(0 0 14px #fff0ab); animation:intro-scatter 4.8s ease-in-out infinite; }
dialog.scene-opening .intro-reels { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); width:100%; height:100%; }
dialog.scene-opening .intro-reels>span { min-width:0; min-height:0; }
dialog.scene-opening .intro-reels>i { position:absolute; left:0; right:0; top:50%; height:3px; background:#fff1ab; box-shadow:0 0 14px #fff; animation:intro-charge 4.8s ease-in-out infinite; }
dialog.scene-opening .intro-levels,dialog.scene-opening .intro-seals { display:flex; align-items:center; width:100%; height:100%; }
dialog.scene-opening .intro-levels>span { position:relative; width:33.33%; height:100%; }
dialog.scene-opening .intro-levels b { position:absolute; bottom:0; right:0; color:#fff3b5; font-size:28px; text-shadow:0 2px #37172b; }
dialog.scene-opening .intro-seals>.symbol-art { width:20%; height:90%; }
dialog.scene-opening .intro-cells+.intro-demo-badge { font-size:clamp(13px,2vw,22px); }
dialog.scene-opening .intro-footer { display:flex; align-items:center; flex-direction:column; justify-content:center; min-height:0; gap:7px; }
dialog.scene-opening .intro-cap { margin:0; font-size:10px; }
dialog.scene-opening .intro-cap b { font-size:20px; color:#ffe39d; }
dialog.scene-opening .intro-play { width:90px; min-height:90px; height:90px; margin:3px auto 0; border:4px solid #fff0b6; border-radius:50%; padding:9px; background:radial-gradient(ellipse at 40% 20%,#ffaf72,#d3425d 55%,#81233f); box-shadow:inset 0 3px #fff0c090,inset 0 -5px #711630,0 0 0 3px #b8864d,0 8px 24px #34112890; color:#fff4c9; position:relative; }
dialog.scene-opening .intro-play svg { width:100%; height:100%; fill:currentColor; filter:drop-shadow(0 3px #8b2841); }
dialog.scene-opening .intro-play span { position:absolute; left:50%; top:100%; transform:translateX(-50%); font-size:12px; white-space:nowrap; margin-top:6px; }
dialog.scene-opening .intro-preference { margin-top:22px; font-size:10px; }
dialog.scene-opening .intro-test { margin:0; font-size:8px; }
dialog.scene-opening .intro-light { inset:-50%; background:conic-gradient(from 30deg,transparent,#ffe8b526,transparent,#ffccd530,transparent); border-radius:50%; animation:intro-scene-light 16s linear infinite; opacity:.55; }
@keyframes intro-match { 0%,22%,75%,100%{transform:none;opacity:1;filter:brightness(1)} 35%{transform:scale(1.1);filter:brightness(1.4)} 48%{transform:scale(.1);opacity:0} 52%{transform:translateY(-35px);opacity:0} 65%{transform:none;opacity:1} }
@keyframes intro-charge { 0%,100%{filter:drop-shadow(0 0 4px #ffc390)}45%,60%{filter:brightness(1.35) drop-shadow(0 0 22px #ffdc9e)} }
@keyframes intro-scatter { 0%,100%{transform:scale(1)}50%{transform:scale(1.08)} }
@keyframes intro-scene-light { to{transform:rotate(360deg)} }
@media(max-width:600px) and (orientation:portrait) {
 dialog.world-opening.scene-opening { padding:12px 16px; }
 dialog.scene-opening[open] { grid-template-rows:22% 20px minmax(0,1fr) 175px; gap:5px; }
 dialog.scene-opening .intro-logo { width:85vw; max-height:none; }
 dialog.scene-opening .intro-copy h2 { font-size:12px; letter-spacing:2px; }
 dialog.scene-opening .intro-demonstrations { grid-template-columns:1fr; grid-template-rows:repeat(3,minmax(0,1fr)); gap:8px; }
 dialog.scene-opening .intro-demonstration { display:grid; grid-template-columns:43% minmax(0,1fr); align-items:center; gap:14px; height:100%; }
 dialog.scene-opening .intro-demonstration-art { height:100%; min-height:0; max-height:125px; }
 dialog.scene-opening .intro-demonstration h3 { font-size:20px; text-align:left; margin:0; }
 dialog.scene-opening .intro-match { gap:1px; }
 dialog.scene-opening .intro-demo-badge { font-size:29px; bottom:0; }
 dialog.scene-opening .intro-charge>b { font-size:25px; }
 dialog.scene-opening .intro-cap b { font-size:16px; }
 dialog.scene-opening .intro-play { width:74px; height:74px; min-height:74px; }
 dialog.scene-opening .intro-art { inset:20% 10% 20%; }
}
@media(max-height:650px) and (orientation:portrait) {
 dialog.scene-opening[open] { grid-template-rows:20% 18px minmax(0,1fr) 148px; }
 dialog.scene-opening .intro-demonstration h3 { font-size:16px; }
 dialog.scene-opening .intro-play { width:62px; height:62px; min-height:62px; border-width:3px; }
 dialog.scene-opening .intro-demonstration-art { max-height:88px; }
}
@media(max-height:500px) and (orientation:landscape) {
 dialog.world-opening.scene-opening { padding:8px 24px; }
 dialog.scene-opening[open] { grid-template-rows:22% 14px minmax(0,1fr) 110px; gap:3px; }
 dialog.scene-opening .intro-logo { width:300px; }
 dialog.scene-opening .intro-copy h2 { font-size:10px; }
 dialog.scene-opening .intro-demonstrations { gap:22px; }
 dialog.scene-opening .intro-demonstration-art { height:90px; }
 dialog.scene-opening .intro-demonstration h3 { font-size:14px; margin-top:5px; }
 dialog.scene-opening .intro-demo-badge { font-size:27px; }
 dialog.scene-opening .intro-charge>b { font-size:24px; }
 dialog.scene-opening .intro-footer { gap:3px; }
 dialog.scene-opening .intro-cap { display:none; }
 dialog.scene-opening .intro-play { width:56px; height:56px; min-height:56px; border-width:3px; padding:5px; }
 dialog.scene-opening .intro-preference { margin-top:19px; font-size:9px; }
 dialog.scene-opening .intro-test { font-size:7px; }
}
@media(prefers-reduced-motion:reduce) { dialog.scene-opening .intro-light,dialog.scene-opening .intro-match>span,dialog.scene-opening .intro-charge .symbol-art,dialog.scene-opening .intro-scatter>.symbol-art { animation:none; } }
