/* PRISMA concept-art pass. Stills only; motion clips remain animator-owned. */
.game{position:relative;isolation:isolate;overflow:hidden;background:#080b10}
.world-backdrop{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.world-grey,.world-color{position:absolute;inset:0;background-image:url('./assets/world.png');background-size:cover;background-position:center;opacity:.48}
.world-grey{filter:grayscale(1);opacity:.52}
.world-backdrop:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#060a1040 15%,#070b1130 50%,#080b10b5 100%),linear-gradient(0deg,#080b10 0%,transparent 22%,transparent 85%,#080b1099)}
.world-color{opacity:0}
.world-WR{clip-path:polygon(0 0,50% 0,50% 50%,0 50%)}
.world-WY{clip-path:polygon(0 50%,50% 50%,50% 100%,0 100%)}
.world-WB{clip-path:polygon(50% 0,100% 0,100% 50%,50% 50%)}
.world-WP{clip-path:polygon(50% 50%,100% 50%,100% 100%,50% 100%)}
body[data-world=fracture] .world-color{opacity:.16}
body[data-world=bloom].world-unlocked-WR .world-WR,body[data-world=bloom].world-unlocked-WY .world-WY,body[data-world=bloom].world-unlocked-WB .world-WB,body[data-world=bloom].world-unlocked-WP .world-WP,body[data-world=god_prism] .world-color{opacity:.7}
.game-heading{position:relative;z-index:1}
.game-heading h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:.19em;background:linear-gradient(#fbfdff 0%,#bdc9d0 37%,#738590 48%,#e0e6e9 55%,#a4b3bd 80%,#dce4e8);background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px 2px #0008);padding-left:.19em}
.game-subtitle{letter-spacing:.35em;color:#a5b1b9}.game-heading .eyebrow{color:#aab3ba}
.board-top{color:#9da9b4}.board-top #world-label{letter-spacing:.18em}
.board-shell{padding:6px;border:1px solid #74818c7a;border-radius:5px;background:linear-gradient(135deg,#a9bac42e,#10151c 25%,#82929a25 60%,#12191f);box-shadow:0 0 0 4px #080c10b3,0 0 0 5px #94a4af18,0 18px 48px #000b,inset 0 0 0 1px #c2d2dc15}
#board{gap:1px;background:#b3c4d60b;border-radius:0;overflow:hidden}
.board-shell{min-height:0}#board{min-height:0;contain:size}.reel{min-height:0;grid-template-rows:repeat(5,minmax(0,1fr))}
.reel,.reel.home{background:linear-gradient(90deg,#0c121cd9,#27344075 35%,#18212d8c 65%,#0a1019e6);border-top:0}
.reel:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(115deg,transparent 20%,#dbe7ed04 21%,#dbe7ed04 22%,transparent 23%,transparent 65%,#dbe7ed05 66%,transparent 67%)}
.cell{border:0;background:none;isolation:isolate;overflow:hidden}
.symbol-art{display:block;position:relative;flex-shrink:0;width:95%;aspect-ratio:1;background-image:url('./assets/symbols.png');background-size:400% 400%;background-position:var(--sx) var(--sy);background-repeat:no-repeat;pointer-events:none}
.grey-symbol .symbol-art{filter:grayscale(1)}
.cell[data-symbol=Compass] .symbol-art,.cell[data-symbol=Hex] .symbol-art,.cell[data-symbol=S] .symbol-art{clip-path:inset(0 0 8% 0)}
.cell.wild .symbol-art{width:100%;max-height:100%}
.cell.scatter .symbol-art{width:102%;filter:grayscale(1)}
.cell.scatter:after{font-size:clamp(6px,.7vw,10px);bottom:4%;color:#dbe4e7;letter-spacing:2px;text-shadow:0 1px 3px #000}
.cell .multi{bottom:3%;right:7%;font-size:clamp(12px,1.6vw,23px);font-family:Fredoka;color:#fff6de;-webkit-text-stroke:2px #25262a;paint-order:stroke fill;text-shadow:0 2px 0 #0008}
.cell.paying{background:radial-gradient(ellipse,#ebf4fa12,transparent 72%);outline:0}
.reel.unlocked{border:0;box-shadow:inset 2px 0 0 color-mix(in srgb,var(--c) 70%,transparent),inset -2px 0 0 color-mix(in srgb,var(--c) 70%,transparent)}
.reel.unlocked:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 22%,transparent),transparent 15%,transparent 85%,color-mix(in srgb,var(--c) 22%,transparent))}
.pane{inset:0 -1px;background:transparent url('./assets/panes.png') var(--pane-x) center /400% 100% no-repeat;border:0;clip-path:none;overflow:visible}
.pane:before,.pane:after{display:none}
.pane .pane-gem{width:94%;position:absolute;top:36%;left:3%;aspect-ratio:1}
.pane strong{bottom:7%;font-size:clamp(23px,3vw,43px);font-weight:400;color:#fff3ce;-webkit-text-stroke:3px #292631;paint-order:stroke fill;text-shadow:0 3px 1px #15131a}
#paylines{z-index:0;opacity:.8}
#paylines polyline{stroke:#f4f6f0;stroke-width:.8;opacity:.4}
.cell{z-index:1}.pane{z-index:2}.under-board{color:#bec9d1;text-shadow:0 1px 3px #000}
.reel.searching{outline:1px solid #e4d4a2;outline-offset:-2px}
#banner{position:fixed;inset:0;z-index:100;background:#060a0d;text-align:center;border-radius:0;isolation:isolate}
#banner:before{content:'';position:absolute;z-index:-1;width:min(560px,85vw);height:min(420px,70vh);border:1px solid #d4e2e254;background:linear-gradient(135deg,#c9d4d210,#161d26ed 38%,#101720ed);box-shadow:0 0 0 7px #0d13177d,0 0 0 8px #c7d6dd18;clip-path:polygon(5% 0,95% 0,100% 7%,100% 93%,95% 100%,5% 100%,0 93%,0 7%)}
#banner strong{max-width:80vw;font-size:clamp(30px,6vw,78px);text-shadow:2px 2px 0 #080b12,0 4px 0 #080b1280;line-height:1.1}
#banner small{font-family:Fredoka;color:#e5e8ed;text-shadow:1px 2px #000;letter-spacing:3px}
#banner-detail{max-width:360px;font-size:13px;line-height:1.8;color:#c3cdd4}
#banner button{font-family:Fredoka;background:#1c1c1c;color:#fff;border:2px solid #fff;border-radius:10px;padding:12px 35px;box-shadow:0 4px #0006}
dialog{background:linear-gradient(#0a1016d9,#101821f5),url('./assets/world.png') center/cover}
.mode-art{width:100px;aspect-ratio:1;margin:2px 0 8px}.mode-art .symbol-art{width:100%}
.mode-card{background-color:#1c1c1c;background-image:radial-gradient(#ffffff12 1px,transparent 1.2px);background-size:8px 8px}
.mode-card h3{min-height:24px}.mode-card p{margin-top:3px}.mode-card strong{margin:8px 0}
@media(min-width:801px){.game{padding-top:10px;padding-bottom:10px}.game-heading{margin-bottom:10px}.game-heading h1{font-size:clamp(40px,4.2vw,65px);line-height:1;margin:4px 0 6px}.game-heading .eyebrow{display:none}.game-subtitle{font-size:7px}.board-shell{width:min(90%,800px,calc((100svh - 332px)*1.2))}.board-top{width:min(90%,800px,calc((100svh - 332px)*1.2));margin-bottom:9px}.under-board{width:min(90%,800px,calc((100svh - 332px)*1.2));font-size:9px;margin:10px 0 17px}.hud-wrap{height:94px}.world-grey{opacity:.58}}
@media(min-width:801px) and (max-height:760px){.board-shell,.board-top,.under-board{width:min(90%,800px,calc((100svh - 330px)*1.2))}.game-heading h1{font-size:42px}.game-heading{margin-bottom:9px}.under-board{margin-bottom:15px}.hud-wrap{height:90px}}
@media(max-width:800px){.world-backdrop{background-position:center}.world-grey{opacity:.53}.game-heading h1{font-size:52px;letter-spacing:.16em}.game-heading .eyebrow{font-size:7px}.symbol-art{width:100%}.cell .multi{font-size:clamp(13px,3vw,20px)}.pane strong{font-size:clamp(26px,5vw,40px)}.board-shell{padding:4px}#paylines{inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}.under-board{font-size:9px}.cell.scatter:after{font-size:7px}.mode-art{width:95px}.game-heading{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.spin img{transition:none}}
@media(min-width:801px){
  .game{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:60px 20px minmax(0,1fr) 22px 100px 23px;gap:6px;justify-items:center;justify-content:stretch;align-content:stretch;padding:12px 30px}
  .game-heading{height:60px;margin:0;align-self:center}.game-heading h1{font-size:42px}
  .board-shell{height:100%;width:auto;max-width:90%;aspect-ratio:6/5;align-self:center}
  .board-top,.under-board{width:min(90%,720px);margin:0;align-self:center}
  .hud-wrap{height:100px;align-self:start}footer{margin:0;align-self:center}
}
