/* Shared visual foundation. Only scoped game surfaces are affected. */
:where([data-jasoto-games],[data-game-world],.illustrated-reels) {
  --jasoto-gold:#ffdf87; --jasoto-aqua:#93fff0; --jasoto-ink:#081c31;
  --jasoto-panel:linear-gradient(145deg,#113954f2,#132645f5);
}
.jasoto-presentation-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px max(16px,calc((100vw - 1240px)/2)); color:#f2faff; background:#08192b; border-bottom:1px solid #64e6da38; font:800 13px system-ui,sans-serif; }
.jasoto-presentation-bar>a {display:flex;align-items:center;gap:12px;color:#ffdf87;text-decoration:none;font-size:24px;}
.jasoto-presentation-bar>a span{font-size:10px;letter-spacing:2px;color:#d2f9f7}
.jasoto-motion { border:1px solid #95dfdd66!important; border-radius:999px!important; background:#102e46!important; color:#e4fbff!important; padding:9px 14px!important; min-height:40px!important; font:700 11px system-ui,sans-serif!important; cursor:pointer; white-space:nowrap; }
.jasoto-motion[aria-pressed=false]{border-color:#f2d79f!important;color:#ffe8b7!important}
:where([data-jasoto-games],[data-game-world],.illustrated-reels) :where(button,a,summary):focus-visible{outline:3px solid #ffdf87!important;outline-offset:4px}
:where([data-jasoto-games],[data-game-world]) dialog{max-height:90svh;overflow-y:auto}
.jasoto-world-art{position:relative;isolation:isolate;min-height:280px;height:100%;overflow:hidden;background:#12364a}
.jasoto-world-art img{object-fit:cover;transition:transform .6s ease;}
.jasoto-world-art:hover img{transform:scale(1.035)}
.jasoto-world-glints{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#081c3166,transparent 55%)}
.jasoto-world-glints i{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff7c0;box-shadow:0 0 14px 4px #fff2aa77;left:18%;top:64%;animation:jasoto-mote 6s ease-in-out infinite}
.jasoto-world-glints i:nth-child(2){left:43%;top:43%;animation-delay:-2s}.jasoto-world-glints i:nth-child(3){left:73%;top:72%;animation-delay:-4s}.jasoto-world-glints i:nth-child(4){left:88%;top:32%;animation-delay:-1s}
@keyframes jasoto-mote{0%,100%{transform:translateY(8px);opacity:.2}50%{transform:translateY(-12px);opacity:.9}}

/* Rich scenery behind the existing game UI, with solid contrast at controls. */
[data-game-world=fishing]{background:linear-gradient(#071d3380,#081f32 950px),url('/games/art/fishing-world.webp') center top/cover fixed}
[data-game-world=fishing] .intro{position:relative;overflow:hidden;border:1px solid #ffe39888;border-radius:24px;background:linear-gradient(90deg,#071e35f5 15%,#092d469c 70%,#092d4650),url('/games/art/fishing-world.webp') center 48%/cover;padding:26px 30px;margin:16px 0}
[data-game-world=fishing] .intro h1{font-family:system-ui,sans-serif;font-weight:950;font-style:italic;font-size:clamp(40px,6vw,72px);letter-spacing:-3px;line-height:.95;color:#fff4bb;text-shadow:0 4px #0f5163}
[data-game-world=fishing] .intro .sub{max-width:550px;color:#e0f7f8}
[data-game-world=fishing] .scene-wrap{border:2px solid #dfb36c;box-shadow:0 0 0 2px #ffefac55,0 20px 60px #031020a0}
[data-game-world=fishing] .action{background:linear-gradient(#ffefad,#ffb540)!important;color:#392703!important;border:2px solid #fff4c2!important;box-shadow:inset 0 -4px #b67c25,0 0 24px #ffd25c50}
[data-game-world=fishing] .scene-caption{background:linear-gradient(90deg,#071b31c0,transparent);border-radius:12px;padding:10px 16px}
[data-game-world=fishing] .fish-card,[data-game-world=fishing] .rod-card{border-color:#84dcd655;background:var(--jasoto-panel)}
[data-game-world=racing] .intro{background:linear-gradient(90deg,#092644ea,#10284965),url('/games/art/racing-world.webp') 62% center/cover!important;min-height:310px}
[data-game-world=racing] .intro::after{display:none}
[data-game-world=racing] .intro h1{max-width:360px;font-size:clamp(54px,6vw,90px)}
[data-game-world=racing] .intro .strap{max-width:280px;text-shadow:0 2px 8px #061628}
[data-game-world=racing] .kart-list{gap:14px}
[data-game-world=racing] .kart{position:relative;overflow:hidden}
[data-game-world=racing] .kart::before{content:'';display:block;height:75px;background:url('/games/art/racing-world.webp') 83% 70%/cover;border-radius:10px;margin-bottom:8px}
[data-game-world=blast]{background:linear-gradient(#081d34c0,#081d34 1100px),url('/games/art/blast-world.webp') center top/cover fixed}
[data-game-world=blast] h1{font-family:system-ui,sans-serif;font-weight:950;color:#ffed9f;text-shadow:0 4px #5d472b}
[data-game-world=kingdoms]{background:linear-gradient(#091e2f55,#091c32 950px),url('/games/art/kingdoms-world.webp') center top/cover!important}
[data-game-world=kingdoms]>header{background:linear-gradient(90deg,#071c2fed,#092a4090),url('/games/art/kingdoms-world.webp') center 44%/cover!important;min-height:170px;border:1px solid #ffdc8490;border-radius:24px;padding:26px!important}
[data-game-world=kingdoms] h1{font-size:clamp(34px,5vw,64px)!important;max-width:650px;color:#fff2b0;line-height:1.03!important}
[data-game-world=kingdoms] [data-battle-art]{background:#183542}
[data-game-world=strike]{background:linear-gradient(#07132a77,#07132a 900px),url('/games/art/strike-world.webp') center top/cover!important}
[data-game-world=strike] [data-strike-header]{background:linear-gradient(90deg,#07152fec,#0b264478),url('/games/art/strike-world.webp') center 58%/cover!important;min-height:170px}
[data-game-world=strike] [data-strike-stage]{position:relative}
[data-game-world=strike] [data-touch-controls]{position:sticky;bottom:8px;z-index:8;background:#0b213af5;border:1px solid #7cffe69c;border-radius:20px;box-shadow:0 8px 28px #020916aa;padding:10px}
[data-game-world=strike] [data-touch-controls] button{min-height:44px}
[data-game-world=starquest] [aria-labelledby=level-title]{background:linear-gradient(#142947f0,#192346ed)!important}
[data-game-world=starquest] [data-gem-art]{width:80%;height:80%;object-fit:contain;pointer-events:none;user-select:none;filter:drop-shadow(0 3px 5px #0007)}

/* Reels: one world selector, live controls above long bonus/collection details. */
.illustrated-reels .theme-chooser{display:none!important}
.illustrated-reels .game-heading{padding:0!important}
.illustrated-reels .mast,.illustrated-reels .topbar{padding-block:12px}
.illustrated-reels .reel-illustrated-hero{height:180px}
.illustrated-reels .painted-title{object-fit:contain!important}
.illustrated-reels .reel-character{width:70px!important;height:70px!important;right:14px!important;bottom:12px!important;object-fit:contain}
.illustrated-reels .reels,.illustrated-reels .board{--cell:clamp(82px,8.3vw,112px)}
.illustrated-reels .result-strip,.illustrated-reels .result-panel{min-height:66px;padding:10px 12px;margin-top:8px}
.illustrated-reels .control-desk,.illustrated-reels .control-deck{padding-block:16px;min-height:128px}
.illustrated-reels .spin,.illustrated-reels .spin-button{width:108px;height:108px;min-height:108px}
.illustrated-reels .machine{box-shadow:0 0 0 1px #fff3ab88,0 22px 65px #001a3d99}
.illustrated-reels[data-visual-theme=prism] .reel-illustrated-hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 15%,#74f9df24 25%,#ad7bff33 39%,#ffa7df22 51%,transparent 66%);mix-blend-mode:screen;animation:jasoto-aurora 10s ease-in-out infinite alternate}
.illustrated-reels[data-visual-theme=prism] .ambient-art i{border-radius:2px;transform:rotate(45deg);border-color:#ddd0ff;background:#e0b4ff44}
@keyframes jasoto-aurora{from{opacity:.35;transform:translateX(-10%)}to{opacity:.85;transform:translateX(10%)}}
@media(max-width:800px){
  .jasoto-world-art{min-height:220px}
  [data-game-world=fishing] .intro{padding:20px}.illustrated-reels .reel-illustrated-hero{height:140px}
}
@media(max-width:560px){
  .jasoto-presentation-bar{padding:5px 12px}.jasoto-presentation-bar>a span{font-size:8px}
  .jasoto-motion{padding:8px 10px!important;min-height:40px!important;font-size:10px!important}
  [data-game-world=fishing] .intro{margin:8px 0;padding:15px;gap:12px}.intro .career{gap:10px}
  [data-game-world=fishing] .intro h1{font-size:39px;letter-spacing:-2px}
  [data-game-world=fishing] .intro .sub{display:none}
  [data-game-world=fishing] .tools{gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:180px}
  [data-game-world=fishing] .tools button{padding:7px;min-height:40px;font-size:10px}
  [data-game-world=fishing] .scene-wrap{min-height:520px}
  [data-game-world=fishing] .venue-bar{align-items:flex-start}
  [data-game-world=fishing] .action-controls{gap:6px;bottom:15px}
  [data-game-world=fishing] .action{min-width:150px;font-size:16px}
  [data-game-world=kingdoms]>header{min-height:130px;padding:16px!important}
  [data-game-world=kingdoms] h1{font-size:32px!important}
  [data-game-world=strike] [data-strike-header]{min-height:125px;padding:16px!important}
  [data-game-world=strike] [data-strike-header] h1{font-size:42px!important}
  [data-game-world=strike] [data-strike-stage] canvas{height:46svh!important;min-height:260px!important}
  [data-game-world=starquest] [aria-label^='Gem board']{gap:3px!important;padding:5px!important}
  [data-game-world=starquest] button[id^=star-gem-]{border-radius:10px!important;border-width:1px!important}
  [data-game-world=starquest] [aria-labelledby=level-title]{padding:8px!important}
  .illustrated-reels main{padding-top:5px!important}
  .illustrated-reels .mast,.illustrated-reels .topbar{padding:7px 12px!important}
  .illustrated-reels .mast .brand b{width:29px;height:32px;font-size:23px}
  .illustrated-reels .mast-note{font-size:7px;letter-spacing:.4px;gap:5px}
  .illustrated-worlds{padding:4px 0 6px!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:thin}
  .illustrated-worlds a{flex:0 0 auto;padding:9px!important;min-height:36px!important;font-size:9px!important}
  .illustrated-reels .topline{margin:2px 0 7px!important;gap:4px!important}
  .illustrated-reels .topline>p{display:none}
  .illustrated-reels .topline>div{width:100%;justify-content:space-between;gap:3px}
  .illustrated-reels .topline button{font-size:9px;padding:6px 7px;min-height:36px}
  .illustrated-reels .reel-illustrated-hero,.illustrated-reels[data-visual-theme=lagoon] .reel-illustrated-hero{height:82px!important}
  .illustrated-reels .reel-character{display:none}
  .illustrated-reels .machine-top{padding:5px 10px!important;min-height:32px}
  .illustrated-reels .machine-top button{min-height:28px!important}
  .illustrated-reels .reels,.illustrated-reels .board{--cell:clamp(53px,16.3vw,77px)!important}
  .illustrated-reels .board-shell,.illustrated-reels .reel-surround{margin-top:6px!important}
  .illustrated-reels .result-strip,.illustrated-reels .result-panel{min-height:58px!important;padding:7px!important;margin-top:5px!important}
  .illustrated-reels .result-strip strong{font-size:16px!important;margin:4px 0!important}
  .illustrated-reels .control-desk,.illustrated-reels .control-deck{min-height:108px!important;padding:10px 13px!important;grid-template-columns:1fr 84px 1fr!important}
  .illustrated-reels .spin,.illustrated-reels .spin-button{height:82px!important;width:82px!important;min-height:82px!important}
  .illustrated-reels .spin>span,.illustrated-reels .spin-button>span{font-size:18px!important}
  .illustrated-reels .spin small{font-size:6px!important}
  .illustrated-reels .manual-note{font-size:7px!important;margin-top:5px!important}
  .illustrated-reels .save-line{padding:5px 10px!important;gap:6px;flex-wrap:wrap}
  .illustrated-reels .save-line>span{flex-basis:100%;font-size:8px!important}
  .illustrated-reels .save-line button{min-height:32px}
  .illustrated-reels .boundary{font-size:9px;line-height:1.5;margin:12px 5px}
  .illustrated-reels .reel-extras>summary{min-height:40px;padding:10px}
}

/* Stop decoration, never hide earned results or stop the essential game clock. */
html[data-game-motion=off] :is([data-jasoto-games],[data-game-world],.illustrated-reels) *,
html[data-game-motion=off] :is([data-jasoto-games],[data-game-world],.illustrated-reels) *::before,
html[data-game-motion=off] :is([data-jasoto-games],[data-game-world],.illustrated-reels) *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-game-motion=off] .jasoto-world-glints,
html[data-game-motion=off] :is(.wow-racing-atmosphere,.wow-result-burst,.ambient-art,.celebration-confetti,.reel-burst){display:none!important}
html.jasoto-effects-paused :is([data-jasoto-games],[data-game-world],.illustrated-reels) *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
  :is([data-jasoto-games],[data-game-world],.illustrated-reels) *,
  :is([data-jasoto-games],[data-game-world],.illustrated-reels) *::before,
  :is([data-jasoto-games],[data-game-world],.illustrated-reels) *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .jasoto-world-glints{display:none}
}

/* Fit the complete reel machine into ordinary laptop and phone viewports. */
@media(min-width:561px) and (max-height:900px){
 .illustrated-reels main{padding-top:4px!important}
 .illustrated-reels .mast,.illustrated-reels .topbar{padding-block:7px!important}
 .illustrated-worlds{padding:5px 0 8px!important}
 .illustrated-reels .topline{margin:0 0 7px!important}
 .illustrated-reels .game-layout{max-width:1120px;margin-inline:auto;grid-template-columns:minmax(0,1fr) 225px!important}
 .illustrated-reels .reel-illustrated-hero{height:84px!important}
 .illustrated-reels .machine-top{padding:6px 14px!important;min-height:34px}
 .illustrated-reels .reels,.illustrated-reels .board{--cell:clamp(46px,calc((100svh - 448px)/3),115px)!important}
 .illustrated-reels .board-shell,.illustrated-reels .reel-surround{margin-top:6px!important}
 .illustrated-reels .result-strip,.illustrated-reels .result-panel{min-height:53px!important;padding:6px 10px!important;margin-top:5px!important}
 .illustrated-reels .result-strip strong{font-size:19px!important;margin:3px 0!important}
 .illustrated-reels .control-desk,.illustrated-reels .control-deck{min-height:99px!important;padding-block:10px!important;grid-template-columns:1fr 90px 1fr!important}
 .illustrated-reels .spin,.illustrated-reels .spin-button{width:84px!important;height:84px!important;min-height:84px!important;padding:6px!important}
 .illustrated-reels .spin>span,.illustrated-reels .spin-button>span{font-size:20px!important}
 .illustrated-reels .spin>small{font-size:7px!important;margin-top:3px!important}
 .illustrated-reels .save-line{padding:5px 12px!important}
 .illustrated-reels .manual-note{font-size:7px;margin-top:5px}
}
@media(max-width:560px){
 .illustrated-reels .reel-illustrated-hero,.illustrated-reels[data-visual-theme=lagoon] .reel-illustrated-hero{height:58px!important}
 .illustrated-reels .reels,.illustrated-reels .board{--cell:clamp(42px,calc((100svh - 476px)/3),72px)!important}
 .illustrated-reels .painted-title{width:auto!important;height:100%!important;max-width:100%!important;object-fit:contain!important}
 .illustrated-reels .mast .exit{font-size:9px}
 .illustrated-reels .balance strong,.illustrated-reels .returned strong{font-size:23px!important}
}
.jasoto-static-settings{display:flex;justify-content:flex-end;padding:8px 16px}
@media(min-width:561px){.illustrated-reels .reel-extras>summary{display:block!important}}
/* Active play uses the viewport; menus and maps can still scroll naturally. */
[data-game-world=starquest][data-playing=true]{padding-top:0!important}
[data-game-world=starquest][data-playing=true] [aria-labelledby=level-title]{margin-top:8px!important;width:min(96vw,calc(100svh - 270px))!important;min-width:290px;max-width:610px!important}
[data-game-world=starquest][data-playing=true] header{min-height:52px!important;padding-block:6px!important}
[data-game-world=starquest][data-playing=true] [aria-label^='Gem board']{padding:5px!important;gap:4px!important}
[data-game-world=starquest][data-playing=true] [aria-labelledby=level-title]>div:has([aria-label^='Gem board']){padding:4px!important}
[data-game-world=starquest][data-playing=true] [aria-labelledby=level-title] h1{font-size:24px!important}
[data-game-world=starquest][data-playing=true] [aria-labelledby=level-title]>p{margin:4px 0!important;font-size:10px!important;line-height:1.35}
[data-game-world=kingdoms][data-playing=true]>header{display:none}
[data-game-world=kingdoms][data-playing=true]>div:first-child{display:none}
[data-game-world=kingdoms][data-playing=true]>p{margin:3px 0;padding:5px 10px;font-size:10px;line-height:1.4}
[data-game-world=kingdoms][data-playing=true] aside{display:none}
[data-game-world=kingdoms][data-playing=true]>div:has(>section){display:block!important;max-width:1000px;margin-inline:auto}
[data-game-world=kingdoms][data-playing=true] [data-battle-heading]{padding:8px 12px!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-heading] h2{font-size:18px}
[data-game-world=kingdoms][data-playing=true] [data-battle-health]{padding:8px 12px!important;gap:10px}
[data-game-world=kingdoms][data-playing=true] [data-battle-art]{height:clamp(90px,calc(100svh - 380px),300px)!important;min-height:0!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-log]{padding:6px 12px!important;min-height:36px;font-size:12px;line-height:1.35}
[data-game-world=kingdoms][data-playing=true] [data-battle-intent]{padding:8px 12px!important;font-size:12px;line-height:1.35}
[data-game-world=kingdoms][data-playing=true] [data-battle-actions]{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;padding:8px!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-actions] button{padding:6px!important;min-height:59px!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-actions] button>span{font-size:18px!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-actions] button>b{font-size:12px}
[data-game-world=kingdoms][data-playing=true] [data-battle-actions] button>small{font-size:9px;line-height:1.3}
[data-game-world=strike][data-running=true] [data-strike-header]{display:none}
[data-game-world=strike][data-running=true]>section{padding-top:8px!important}
[data-game-world=strike][data-running=true] [data-strike-stage] canvas{height:calc(100svh - 220px)!important;min-height:220px!important;max-height:680px}
[data-game-world=strike] [data-strike-stage] canvas+div{font-size:12px!important;padding:8px!important}
[data-game-world=strike][data-running=true] [data-strike-stage]>div:first-child>div{padding-block:7px!important}
[data-game-world=strike] [data-touch-controls]{grid-column:1;grid-row:2}
@media(min-width:1024px){[data-game-world=strike] aside{grid-column:2;grid-row:1 / span 2}}
@media(max-width:1023px){
 [data-game-world=strike][data-running=true] aside{display:none}
 [data-game-world=strike][data-running=true] [data-strike-stage] canvas{height:calc(100svh - 282px)!important;max-height:600px}
 [data-game-world=strike][data-running=true] [data-touch-controls]{margin-top:0!important}
 [data-game-world=strike][data-running=true] [data-touch-controls] .grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px}
 [data-game-world=strike][data-running=true] [data-touch-controls] .grid>div{display:none}
 [data-game-world=strike][data-running=true] [data-touch-controls] button{padding:8px 2px!important}
}
/* Fishing keeps its complete water scene and cast/reel controls in one view. */
[data-game-world=fishing] .scene-wrap{height:clamp(320px,calc(100svh - 245px),650px)!important;min-height:0!important}
[data-game-world=fishing] .intro{padding:14px 22px!important;margin:8px 0!important}
[data-game-world=fishing] .intro h1{font-size:42px!important}
[data-game-world=fishing] .intro .sub{display:none}
[data-game-world=fishing] .mast{padding-block:9px!important}
[data-game-world=fishing] .save-status{margin:4px 0!important;font-size:10px}
[data-game-world=fishing] .tabs{margin-block:8px!important}
[data-game-world=fishing] .scene-caption{top:26%;bottom:auto!important}
[data-game-world=fishing] .scene-caption strong{font-size:clamp(17px,2vw,27px)!important}
[data-game-world=fishing] .scene-wrap canvas{height:100%!important;min-height:0!important}
[data-game-world=fishing] .action-controls{bottom:10px!important}
[data-game-world=fishing] .meter-block{bottom:105px!important}
[data-game-world=fishing] .fight-meters{bottom:105px!important}
[data-game-world=blast] .arena{height:clamp(200px,calc(100svh - 300px),620px)!important;min-height:0!important}
[data-game-world=blast] .game-shell{padding-top:8px!important}
[data-game-world=blast] .stage-heading{padding-block:8px!important}
[data-game-world=blast] .header-actions{flex-wrap:wrap}
[data-game-world=blast] footer p{font-size:10px;line-height:1.4;margin:4px 0}
@media(max-width:560px){
 [data-game-world=fishing] main{padding-top:2px!important}
 [data-game-world=fishing] .intro{padding:8px 12px!important}
 [data-game-world=fishing] .intro h1{font-size:29px!important}
 [data-game-world=fishing] .intro .eyebrow{display:none}
 [data-game-world=fishing] .career{padding:6px!important;font-size:10px!important}
 [data-game-world=fishing] .career b{font-size:12px!important}
 [data-game-world=fishing] .scene-wrap{height:calc(100svh - 215px)!important;min-height:300px!important}
 [data-game-world=fishing] .scene-caption{top:25%;padding:6px 9px;left:10px!important}
 [data-game-world=fishing] .scene-badge{top:110px!important}
 [data-game-world=fishing] .location-chip{padding:7px!important}
 [data-game-world=fishing] .location-chip h2{font-size:14px!important}
 [data-game-world=fishing] .location-chip .eyebrow{font-size:6px!important;letter-spacing:.6px}
 [data-game-world=fishing] .venue-bar{left:8px!important;right:8px!important;top:8px!important;gap:5px}
 [data-game-world=fishing] .tools{max-width:142px!important}
 [data-game-world=fishing] .tools button{min-height:34px!important;padding:5px!important}
 [data-game-world=fishing] .action-controls{left:8px!important;right:8px!important}
 [data-game-world=fishing] .action{min-height:60px!important;min-width:128px!important;font-size:14px!important}
 [data-game-world=fishing] .lean{min-width:55px!important;min-height:50px!important}
 [data-game-world=fishing] .meter-block,[data-game-world=fishing] .fight-meters{bottom:84px!important}
 [data-game-world=kingdoms][data-playing=true]{padding:5px!important}
 [data-game-world=kingdoms][data-playing=true] [data-battle-art]{height:clamp(85px,calc(100svh - 420px),200px)!important}
 [data-game-world=kingdoms][data-playing=true] [data-battle-heading] h2{font-size:15px}
 [data-game-world=kingdoms][data-playing=true] [data-battle-intent]{padding:5px 9px!important;font-size:10px}
 [data-game-world=starquest][data-playing=true] [aria-labelledby=level-title]{width:min(96vw,calc(100svh - 370px))!important;min-width:260px}
 [data-game-world=starquest][data-playing=true] header{min-height:45px!important}
 [data-game-world=starquest][data-playing=true] nav{margin-block:5px!important;gap:4px}
 [data-game-world=starquest][data-playing=true] nav button{padding:7px!important;min-height:34px!important;font-size:10px!important}
 [data-game-world=starquest][data-playing=true] [aria-labelledby=level-title]>div:first-child{padding:6px 9px!important}
 [data-game-world=starquest][data-playing=true] [aria-labelledby=level-title] button{min-height:30px}
 [data-game-world=blast] .game-shell{padding:6px 8px!important}
 [data-game-world=blast] header{padding-bottom:6px!important;gap:6px}
 [data-game-world=blast] .brand{font-size:10px}
 [data-game-world=blast] .brand-mark{width:30px;height:30px}
 [data-game-world=blast] .header-actions{gap:3px;font-size:9px;justify-content:flex-end}
 [data-game-world=blast] .header-actions button{padding:5px 6px!important;font-size:9px!important;min-height:32px!important}
 [data-game-world=blast] .arena{height:calc(100svh - 306px)!important;min-height:190px!important}
 [data-game-world=blast] .cores{gap:4px;padding:6px!important}
 [data-game-world=blast] .cores button{padding:6px!important;min-height:44px!important;font-size:10px}
 [data-game-world=blast] .aim-controls{padding:6px!important;gap:8px!important}
 [data-game-world=blast] footer{padding:6px 0!important}
}
[data-quick-game]{background:radial-gradient(ellipse at top,#174c67,#151f47 45%,#091327)!important;padding:12px!important}
[data-quick-game]>section{padding:16px!important;border-radius:24px!important;border-color:#7cebd666!important;max-width:1100px!important;background:linear-gradient(145deg,#153b59f5,#192547f5)!important}
[data-quick-game] h1{color:#fff0b0;text-shadow:0 3px #475580;font-size:clamp(25px,4vw,42px)!important}
[data-quick-game]>section>div:first-child p:last-child{font-size:12px;line-height:1.5;max-width:600px}
[data-quick-game]>section>div[aria-label]{margin-top:12px!important}
[data-quick-game]>section>div.grid:not([data-memory-board]){margin-top:12px!important;padding:10px!important}
[data-quick-game]>section>p[aria-live]{margin-top:8px!important;font-size:12px}
[data-memory-board]{width:min(100%,calc((100svh - 350px)*var(--memory-columns)/var(--memory-rows)));gap:5px!important;margin-top:8px!important}
[data-memory-board] button{min-height:0!important;border-radius:12px!important;background:radial-gradient(circle at 30% 20%,#275f7b,#202d58)!important;box-shadow:inset 0 2px #95eff455,0 3px #061733;font-size:clamp(15px,3.4vh,30px)!important}
@media(max-width:560px){[data-quick-game]>section{padding:10px!important}[data-quick-game]>section>div:first-child{gap:8px!important}[data-quick-game]>section>div:first-child p:last-child{display:none}[data-quick-game] h1{font-size:25px!important}[data-quick-game]>section>div.grid:not([data-memory-board]){gap:4px!important;padding:8px!important}[data-quick-game]>section>div.grid:not([data-memory-board]) strong{font-size:18px!important}[data-quick-game]>section>div.grid:not([data-memory-board]) small{font-size:9px!important}[data-quick-game]>section>div[aria-label]{margin-top:8px!important}[data-quick-game]>section>div[aria-label] button{min-height:36px!important;padding:5px!important;min-width:56px!important;font-size:11px!important}}

.compact-game-title{display:none;font:950 italic clamp(24px,5vw,47px)/1 system-ui,sans-serif;letter-spacing:-1.5px;background:linear-gradient(#fff8d4,#ffe176 45%,#faad3c);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:.6px #a66b20;filter:drop-shadow(0 3px #083960);z-index:3;text-align:center}
[data-visual-theme=prism] .compact-game-title{background-image:linear-gradient(#fff,#cdf7ff 35%,#bda2ff 75%,#fca6ec);-webkit-text-stroke:.5px #5a5a9e}
@media(max-height:900px),(max-width:560px){.illustrated-reels .compact-game-title{display:block}.illustrated-reels .painted-title{display:none!important}.illustrated-reels .reel-illustrated-hero{height:60px!important}.illustrated-reels .machine-top>button{min-height:28px!important;padding:4px 8px!important}.illustrated-reels .control-desk{margin-top:5px!important}.illustrated-reels .save-line button{min-height:30px!important}.illustrated-reels .save-line{flex-wrap:wrap}.illustrated-reels .save-line>span{flex:1;font-size:8px!important}.illustrated-reels .spin .spin-cost{font-size:7px}.illustrated-reels .reel-character{display:none!important}.illustrated-reels .result-strip strong{line-height:1.05!important}.illustrated-reels .result-strip small{line-height:1.4!important}}

[data-game-world=fishing] .action-controls{left:12px!important;right:12px!important;transform:none!important;width:auto!important;display:grid!important;grid-template-columns:64px minmax(0,220px) 64px!important;justify-content:center!important}
[data-game-world=fishing] .action-controls .action{min-width:0!important;width:100%!important}
[data-game-world=fishing] #scene{object-fit:fill!important}
[data-game-world=fishing] .scene-wrap{background:#17455a}
@media(max-width:560px){[data-game-world=fishing] .action-controls{left:8px!important;right:8px!important;grid-template-columns:55px minmax(0,1fr) 55px!important}}

body:has([data-jasoto-games]) [data-site-help]{display:none}
[data-game-world=starquest][data-playing=true] header{display:none!important}
[data-game-world=starquest][data-playing=true] [data-quest-leveltitle]{margin-bottom:6px!important;padding:5px 9px!important;min-height:50px!important}
[data-game-world=starquest][data-playing=true] [data-quest-leveltitle] .eyebrow{font-size:9px!important}
[data-game-world=starquest][data-playing=true] [data-quest-leveltitle]>div:last-child{min-width:58px;padding:2px 6px!important}
[data-game-world=starquest][data-playing=true] [data-quest-leveltitle]>div:last-child strong{font-size:25px!important}
[data-game-world=starquest][data-playing=true] [data-quest-goals]{margin-bottom:4px!important;gap:4px!important}
[data-game-world=starquest][data-playing=true] [data-quest-goals]>div{padding:5px 7px!important}
[data-game-world=starquest][data-playing=true] [data-quest-goals] span,[data-game-world=starquest][data-playing=true] [data-quest-goals] small{font-size:9px!important}
[data-game-world=starquest][data-playing=true] [data-quest-goals] strong{font-size:12px!important;margin:1px 0!important}
[data-game-world=starquest][data-playing=true] [data-quest-goals]>div>small{display:none}
[data-game-world=starquest][data-playing=true] [data-quest-boardcaption]{height:auto!important;min-height:20px!important;padding:3px!important;font-size:10px!important}
[data-game-world=starquest][data-playing=true] [data-quest-playactions]{margin:3px 0!important}
[data-game-world=starquest][data-playing=true] [aria-labelledby=level-title]{width:min(94vw,calc(100svh - 325px))!important;min-width:240px;margin-top:4px!important;padding:6px!important}
.jasoto-booster-details{border:1px solid #8ae9e340;border-radius:10px;margin:4px 0;background:#102e46}
.jasoto-booster-details>summary{padding:7px 10px;min-height:32px;cursor:pointer;font:700 11px system-ui;color:#c9e7ec}
.jasoto-combat-controls{display:flex;justify-content:center;gap:10px;background:#0e2944;padding:6px}
.jasoto-combat-controls button{min-height:36px;border:1px solid #6de2d577;border-radius:10px;padding:6px 16px;color:#d9fff7;font-size:12px}
[data-game-world=strike][data-running=true] [data-strike-stage] canvas{height:calc(100svh - 290px)!important}
@media(max-width:1023px){[data-game-world=strike][data-running=true] [data-strike-stage] canvas{height:calc(100svh - 286px)!important;min-height:160px!important}}

[data-game-world=starquest][data-playing=true] [aria-labelledby=level-title]{width:min(94vw,calc(100svh - 400px))!important;min-width:220px}
[data-game-world=starquest][data-playing=true] [data-quest-leveltitle] h2{font-size:22px!important;line-height:1.1!important;margin:2px 0!important}

@media(max-width:1023px){[data-game-world=strike][data-running=true] [data-strike-stage] canvas{height:calc(100svh - 365px)!important}}

/* Keep title text wide while sizing only the seven-row board to screen height. */
[data-game-world=starquest][data-playing=true] [aria-labelledby=level-title]{width:min(94vw,560px)!important}
[data-game-world=starquest][data-playing=true] [aria-labelledby=level-title]>div:has([aria-label^='Gem board']){width:min(100%,calc(100svh - 390px));margin-inline:auto}
[data-game-world=starquest][data-playing=true] [data-quest-leveltitle] p{font-size:9px!important;line-height:1.2!important;letter-spacing:.6px!important}
[data-game-world=starquest][data-playing=true] [data-quest-leveltitle] h1{font-size:22px!important;line-height:1.1!important;margin:2px 0!important}
[data-game-world=starquest][data-playing=true] [data-quest-goals] span,[data-game-world=starquest][data-playing=true] [data-quest-goals] strong{line-height:1.2!important}
[data-game-world=starquest][data-playing=true] [aria-label^='Gem board'] button{min-height:0!important}
[data-game-world=starquest] [aria-label^='Gem board'] button>span{display:grid;place-items:center;width:100%;height:100%;min-height:0}
[data-game-world=strike][data-running=true]{overflow-anchor:none}

[data-game-world=starquest][data-playing=true] [aria-labelledby=level-title]>div:has([aria-label^='Gem board']){width:min(100%,calc(100svh - 410px))}

/* Keep battle decisions readable while collapsing campaign-only spacing. */
[data-game-world=kingdoms][data-playing=true] nav{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:4px!important;margin:0 0 5px!important;padding:5px!important}
[data-game-world=kingdoms][data-playing=true] nav button{white-space:nowrap;padding:6px!important;min-height:34px;font-size:10px}
[data-game-world=kingdoms][data-playing=true] [data-battle-heading]{padding:6px 10px!important;gap:8px}
[data-game-world=kingdoms][data-playing=true] [data-battle-heading] p{font-size:9px!important;margin:0 0 5px!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-heading] h2{font-size:15px!important;margin:0!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-health]{padding:6px 10px!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-art]{height:clamp(75px,calc(100svh - 520px),260px)!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-log]{margin:0!important;padding:6px 10px!important;font-size:11px!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-intent]{margin:4px 8px!important;padding:6px!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-intent] p{margin:3px 0!important;font-size:10px!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-actions] button{display:grid;grid-template-columns:18px 1fr;gap:3px!important;min-height:56px!important;align-content:center;padding:5px!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-actions] button small{grid-column:1/-1;font-size:9px!important}
[data-game-world=kingdoms][data-playing=true] [data-battle-actions] button b{font-size:11px!important}
[data-game-world=blast] .arena{background:linear-gradient(#0e294955,#12354a88),url('/games/art/blast-world.webp') center/cover}

@media(max-width:560px){[data-quick-game]>section>div.grid:has(>div>small+strong){grid-template-columns:repeat(5,minmax(0,1fr))!important}}

[data-memory-board]{width:min(100%,calc((100svh - 470px)*var(--memory-columns)/var(--memory-rows)));min-width:160px}

[data-game-world=kingdoms] [data-battle-art]{width:100%!important;aspect-ratio:auto!important}

/* Original lounge: reserve room for all three symbol rows and the controls. */
@media (max-height:900px), (max-width:560px) {
  .illustrated-reels:has(.lounge-layout) .page-heading {align-items:center!important;gap:8px!important;margin:0!important}
  .illustrated-reels:has(.lounge-layout) .page-heading .eyebrow,
  .illustrated-reels:has(.lounge-layout) .page-heading .intro {display:none!important}
  .illustrated-reels:has(.lounge-layout) .page-heading h1 {font-size:20px!important;line-height:1.05!important;margin:0!important}
  .illustrated-reels:has(.lounge-layout) .balance-card {margin:0!important;padding:4px 8px!important}
  .illustrated-reels:has(.lounge-layout) .balance-card strong {font-size:24px!important}
  .illustrated-reels:has(.lounge-layout) .save-note {font-size:8px!important;line-height:1.25!important;margin:4px 0 7px!important}
  .illustrated-reels:has(.lounge-layout) .reel-illustrated-hero {height:48px!important}
  .illustrated-reels:has(.lounge-layout) .machine-top p {display:none!important}
  .illustrated-reels:has(.lounge-layout) .machine-top h2 {font-size:14px!important;line-height:1.1!important;margin:0!important}
  .illustrated-reels:has(.lounge-layout) .machine-top {min-height:0!important;padding:4px 10px!important}
  .illustrated-reels:has(.lounge-layout) .feature-strip {margin-top:4px!important;padding:4px!important}
  .illustrated-reels:has(.lounge-layout) .control-deck {min-height:0!important;padding:8px 10px!important;gap:6px!important}
  .illustrated-reels:has(.lounge-layout) .bottom-note {display:grid!important;grid-template-columns:1fr 1fr auto auto;gap:4px!important;padding:4px 8px!important}
  .illustrated-reels:has(.lounge-layout) .bottom-note button {min-height:32px!important;padding:5px!important;font-size:8px!important}
}

@media (max-width:560px) {
  .illustrated-reels:has(.lounge-layout) .reel-illustrated-hero {height:36px!important}
  .illustrated-reels:has(.lounge-layout) .illustrated-worlds {padding-block:2px!important}
  .illustrated-reels:has(.lounge-layout) .result-panel {min-height:0!important;padding:5px!important}
  .illustrated-reels:has(.lounge-layout) #result-title {margin:1px 0!important;font-size:17px!important;line-height:1.15!important}
  .illustrated-reels:has(.lounge-layout) #result-detail {margin:3px 0!important;font-size:8px!important;line-height:1.35!important}
}
