/* polish pass (Claude, 2026-11-03) */
/* 3D dice layers follow the art's own motion transform */
.scene{position:relative}
.dice3d-wrap{position:absolute;pointer-events:none;transform-origin:50% 50%;z-index:2}
.dice3d-stage{position:absolute}
.dice3d-stage canvas,.die3d canvas{display:block;width:100%!important;height:100%!important}
.die3d{width:100%;height:100%}
.flight-object.die{filter:none}
/* House: winning markets light on the felt after each roll */
.house-zones{position:absolute;inset:0;pointer-events:none}
.house-zones i{position:absolute;inset:0;background:radial-gradient(closest-side,rgba(255,226,60,.55),rgba(255,214,10,.18));mix-blend-mode:screen;opacity:0;transition:opacity .35s ease}
.house-zones i.win{opacity:1;animation:zonepulse 1.1s ease-out 1}
@keyframes zonepulse{0%{opacity:0}35%{opacity:1}60%{opacity:.75}100%{opacity:1}}
.house-zones i[data-z=even]{clip-path:polygon(28.8% 24.3%,49.4% 24.3%,49.6% 35.5%,27.6% 35.5%)}
.house-zones i[data-z=odd]{clip-path:polygon(50.8% 24.3%,71.5% 24.3%,72.6% 35.5%,50.8% 35.5%)}
.house-zones i[data-z=double]{clip-path:polygon(26.9% 37.2%,49.6% 37.2%,49.7% 50.4%,24.8% 50.4%)}
.house-zones i[data-z=snake]{clip-path:polygon(51.0% 37.2%,74.1% 37.2%,76.6% 50.4%,51.0% 50.4%)}
.house-roll-label{position:absolute;left:50%;top:56.5%;transform:translate(-50%,6px);font:400 clamp(14px,1.5vw,22px)/1 Anton,'Bebas Neue',sans-serif;letter-spacing:.04em;color:#FFDC00;background:#070b20e6;border:1px solid #ffdc0066;padding:6px 12px;border-radius:999px;opacity:0;transition:opacity .3s,transform .3s;white-space:nowrap}
.house-roll-label.on{opacity:1;transform:translate(-50%,0)}
/* community: the globe no longer sits on the first talking point */
.community-story>img{margin-bottom:8px!important}
.community-points{position:relative;z-index:2}
/* the motion toggle never covers the footer copy */
.site-footer{padding-bottom:78px}
/* rendered card + chip replace the CSS-drawn ones */
.flight-object .flight-img{display:block;width:100%;height:auto}
.flight-object.chip,.flight-object.card{filter:drop-shadow(0 18px 14px #0006)}
.hero-die{display:none!important}
@media(max-width:760px){.hero-die{--size:58px}}
.tournament-thumb{background-color:#0d1333;background-origin:content-box;padding:6%}
.arena-scene,.house-scene{overflow:visible!important}
.dice3d-wrap{overflow:visible}
/* chapter flying objects stay on the right edge, clear of the headlines */
.chapter-flight .flight-object,.chapter:nth-child(even) .chapter-flight .flight-object{left:auto!important;right:-16px!important;top:5%!important;--size:78px}
@media(max-width:760px){.chapter-flight .flight-object,.chapter:nth-child(even) .chapter-flight .flight-object{--size:54px;right:-10px!important;top:2%!important}}
.release-badge{position:static;display:inline-block;margin-top:10px;font:700 11px/1 'DM Sans',sans-serif;letter-spacing:.04em;color:#070b20;background:#ffdc00;border-radius:999px;padding:7px 10px;box-shadow:0 6px 14px #0005}
.game-card{position:relative}
/* Mobile first: rendered yellow phone + cabinet with the real game behind the glass */
.device-scene.dev3d{align-items:flex-end;gap:2%;perspective:none}
.dev{position:relative;margin:0;flex:0 0 auto}
.dev--phone{width:34%;transform:translateY(-6%)}
.dev--cabinet{width:46%}
.dev-body{position:relative;z-index:2;display:block;width:100%;height:auto;filter:drop-shadow(0 26px 26px rgba(90,60,0,.35))}
.dev-screen{position:absolute;left:0;top:0;z-index:1;transform-origin:0 0;overflow:hidden;background:#070b20}
.dev-screen img{display:block;width:100%;height:100%;object-fit:cover}
.dev-screen::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.16),rgba(255,255,255,0) 38%)}
/* back office explorer: eight areas, dense three-column lists */
.admin-feature-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px 26px!important}
.admin-feature-list>div{padding-top:14px}
.admin-feature-list h4{font-size:15px!important}
.admin-feature-list p{font-size:13px!important;line-height:1.45}
.admin-count{display:inline-block;margin-left:10px;font:700 12px/1 'DM Sans',sans-serif;color:#070b20;background:#ffdc00;border-radius:999px;padding:6px 10px;vertical-align:middle}
.admin-tabs button{padding-top:14px!important;padding-bottom:14px!important}
@media(max-width:1100px){.admin-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.admin-feature-list{grid-template-columns:minmax(0,1fr)!important}}
/* phones: no side gutter for the drifting chapter objects, they crossed the headlines */
@media(max-width:760px){.chapter-flight{display:none!important}}
/* one card format for every game: landscape key art, hero + logo */
.game-thumb{aspect-ratio:1.47!important}
/* Race to the Top callout in the tournaments chapter */
.race-callout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center;margin:22px 0 6px;padding:10px;border-radius:16px;background:#ffdc0012;border:1px solid #ffdc0055;color:inherit;text-decoration:none;max-width:560px;transition:border-color .25s,transform .25s}
.race-callout:hover,.race-callout:focus-visible{border-color:#ffdc00;transform:translateY(-2px)}
.race-callout img{width:100%;height:auto;border-radius:10px;display:block}
.race-callout__txt em{display:block;font:700 10px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:#ffdc00}
.race-callout__txt b{display:block;font:400 26px/1 var(--display,Anton);margin:6px 0 4px;color:#f4f1e9}
.race-callout__txt span{display:block;font-size:13px;line-height:1.45;color:#c9cde0}
@media(max-width:560px){.race-callout{grid-template-columns:110px minmax(0,1fr);gap:12px}.race-callout__txt b{font-size:22px}}
.release-badge.demo-badge{background:#070b20;color:#ffdc00;margin-left:6px}
.pv-demo-note{font-size:12px;color:#a4a9bc;margin:10px 0 0}
/* logo PNG has 60/1536 transparent padding on the left: pull it to the content edge */ .brand img{left:-3.9%}
/* section headings: the intro paragraph can never squeeze the heading to one word per line */ @media(min-width:761px){.section-heading>div{flex:1 1 auto;min-width:0}.section-heading .lead{flex:0 1 430px;max-width:430px}}
