/* V3.0 approved stone art. Artwork owns its frame; no old frame/eye stickers. */
.animal-art,.talisman .animal-art,.lore-art .animal-art{position:relative;display:block;isolation:isolate;filter:none!important;background:none!important;aspect-ratio:1;flex:none}
.animal-art::before,.animal-art::after,.talisman::before,.sigil-fx{display:none!important}
.animal-art>.stone-state{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;padding:0;overflow:hidden;filter:none!important;pointer-events:none;transition:opacity .16s ease}
.animal-art>.stone-active{opacity:0}
.animal-art>.stone-dormant{opacity:1}
.is-active>.animal-art>.stone-active,.is-active .animal-art>.stone-active,.eliminating .animal-art>.stone-active,.is-spinning .spin-icon .stone-active{opacity:1}
.is-active>.animal-art>.stone-dormant,.is-active .animal-art>.stone-dormant,.eliminating .animal-art>.stone-dormant,.is-spinning .spin-icon .stone-dormant{opacity:0}
.talisman,.lore-art,.spin-button .spin-icon{background:none!important;border:0!important;clip-path:none!important;box-shadow:none!important;overflow:visible;padding:0}
.talisman>.animal-art,.lore-art>.animal-art,.spin-button .spin-icon>.animal-art{width:108%!important;height:108%!important;top:0;margin:0;align-self:center;justify-self:center}
.talisman{width:var(--stone-size,58px);height:var(--stone-size,58px);aspect-ratio:1}
.reels{--stone-size:58px;gap:5px;padding:7px;background:linear-gradient(180deg,#06161c,#0b2227);border-radius:5px}
.reel{height:calc(var(--stone-size)*5 + 36px);gap:6px;padding:6px 0;justify-content:flex-start;overflow:hidden}
.reel-track{gap:6px;padding:6px 0}
@keyframes reel-scroll{from{transform:translateY(0)}to{transform:translateY(-25%)}}
.spin-button .spin-icon{width:66px;height:66px}
.spin-icon .animal-art{transform-origin:center}
.is-spinning .spin-icon .animal-art{filter:drop-shadow(0 0 10px #8edcff)!important}
.reel-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px;align-items:stretch}
.reel-legend>span{min-height:35px;display:flex;align-items:center;justify-content:center;padding:5px 7px;min-width:0;line-height:1.5}
.reel-legend #jackpot-value{grid-column:1/-1;min-height:48px;color:#ffd18c;background:linear-gradient(100deg,#23130f,#2a2118,#151e22);border-color:#b9864666}
#jackpot-value .animal-art{width:40px;height:40px;margin:-3px 3px -3px 0}
.round-award strong{font-size:17px;color:#fff0c7;padding:0 4px;font-variant-numeric:tabular-nums}
.lore-item{font:inherit;color:inherit;text-align:left;cursor:pointer}
.lore-item:focus-visible{outline:2px solid #e7ce8b;outline-offset:3px}
.lore-art{width:64px!important;height:64px!important;flex:none}
.lore-item:hover .stone-active,.lore-item:focus-visible .stone-active{opacity:1}
.lore-item:hover .stone-dormant,.lore-item:focus-visible .stone-dormant{opacity:0}
.lore-item[aria-pressed=true]{border-color:#cfb274;background-color:#263b36}
.game-tile .animal-art{width:38px;height:38px}
.hero-tags .animal-art{width:30px;height:30px}
/* Same six columns on every screen: only cell pitch and decoration vary. */
@media(min-width:1000px){.reels{--stone-size:64px}.hero{grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);gap:32px}.game-card{padding-inline:24px}.game-head h2{font-size:29px}.hero h1{font-size:42px}.lore-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:601px) and (max-width:999px){.reels{--stone-size:clamp(44px,8vw,64px)}.game-card{max-width:760px;width:100%;margin:auto}}
@media(max-width:600px){
 main{padding:14px 10px 28px}.topbar{height:58px;padding-inline:10px}.brand-mark{width:30px;height:30px}.brand{font-size:13px;gap:6px}.brand small{font-size:7px}.account .button{padding:8px 9px}
 .catalog{margin-bottom:5px;gap:5px}.catalog>div:first-child{display:none}.game-tile{min-width:0;padding:7px 9px;grid-template-columns:30px 1fr;column-gap:6px}.game-tile.planned{display:none}.game-tile .animal-art{width:30px;height:30px}.game-tiles{overflow:visible}.game-tile small{font-size:9px}
 .hero{gap:10px;min-height:0}.hero-copy{min-height:134px;padding:8px 0 5px}.hero-copy .eyebrow{font-size:8px;margin-bottom:7px}.hero h1{font-size:25px;line-height:1.22}.hero-copy .intro{font-size:10px;line-height:1.6;max-width:calc(100% - 105px);margin:8px 0 0}.guardian-portrait{height:143px;width:100px;right:0;bottom:0}.guardian-portrait span{font-size:7px}.hero-tags{display:none}
 .game-card{padding:11px 9px 18px}.machine-crest{height:20px;margin:0 0 7px}.game-head{padding-bottom:13px}.game-head h2{font-size:22px}.game-head .eyebrow{font-size:8px;margin-bottom:5px}.balance strong{font-size:20px}
 .reels{--stone-size:clamp(31px,calc((100vw - 88px)/6),61px);gap:3px;padding:5px;margin:12px 0 9px}.reel{gap:5px;height:calc(var(--stone-size)*5 + 32px);padding:6px 0}.reel-track{gap:5px}.reel-legend{font-size:10px;gap:5px}.reel-legend>span{padding:3px;min-height:29px}.reel-legend #jackpot-value{min-height:39px}#jackpot-value .animal-art{width:34px;height:34px}
 .game-actions{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.7fr);gap:7px;margin-top:10px;padding:12px 5px 5px}.bet-select{min-width:0;padding:13px 6px 8px;font-size:10px}.bet-select select{font-size:15px;width:100%;min-height:40px;padding:6px}.spin-button{min-height:84px;grid-template-columns:44px minmax(0,1fr);column-gap:8px;padding:8px 8px 14px}.spin-button .spin-icon{width:44px;height:44px}.spin-button .spin-label{font-size:14px}.spin-button small{font-size:9px}.game-note{grid-column:1/-1;text-align:center;font-size:9px}.last-result{margin-top:9px;font-size:11px}.round-award strong{font-size:15px}
 .lore-grid{margin-top:22px}.lore-art{width:49px!important;height:49px!important}.lore-item{gap:8px;padding:8px;min-width:0}.lore-copy{display:block}.lore-copy strong{display:block;font-size:12px}.lore-copy small{font-size:10px}.lore-copy p{display:none}.lore-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.stone-state{transition:none!important}.is-spinning .spin-icon .animal-art{filter:none!important}}

/* Compact mobile hierarchy keeps the board and action within a short screen. */
.reel-legend #jackpot-value{order:0}.reel-legend .round-award{order:1}.reel-legend #free-count{order:2}
@media(max-width:600px){
 .game-tile small{display:none}.game-tile{padding-block:4px}.game-tile .animal-art{width:24px;height:24px}
 .hero-copy{min-height:110px}.hero h1{font-size:23px}.hero-copy .intro{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:9px;line-height:1.45;margin-top:6px}.guardian-portrait{height:112px;width:82px}.hero-copy .intro{max-width:calc(100% - 88px)}
 .balance{padding:5px 8px;gap:2px}.game-head{padding-bottom:9px}.game-head h2{font-size:20px}.balance strong{font-size:18px}
 .game-actions{padding:6px 4px 4px;gap:4px 7px;margin-top:8px}.spin-button{min-height:69px;padding-block:5px 10px}.bet-select{padding-top:9px;padding-bottom:4px}.game-note{font-size:8px;line-height:1.3}
}
.reel-legend .round-award{grid-column:auto!important}
@media(min-width:1000px){.reels{--stone-size:76px;max-width:620px;margin-inline:auto}}

.art-state-hint{color:#bbccbf;font-size:12px;line-height:1.6;margin:9px 0 0}
