/* DIGITAL LAB / PLAY — ultimate editorial game index
   No card wall. No cartoon skin. Blue/white system, responsive and theme-native. */
:root{color-scheme:dark}
html[data-theme="light"]{color-scheme:light}
.play-page{--hub-bg:#070812;--hub-bg2:#0b0f1d;--hub-surface:#101629;--hub-surface2:#151c31;--hub-text:#f5f7ff;--hub-muted:#8794ad;--hub-dim:#5f6b82;--hub-blue:#62e9ff;--hub-deep:#315cff;--hub-line:rgba(166,185,230,.15);--hub-line2:rgba(166,185,230,.28);--hub-glow:rgba(98,233,255,.14);background:var(--hub-bg)!important;color:var(--hub-text)!important}
html[data-theme="light"] .play-page{--hub-bg:#f5f7fb;--hub-bg2:#eaf0fa;--hub-surface:#ffffff;--hub-surface2:#edf2f9;--hub-text:#0a1020;--hub-muted:#66728a;--hub-dim:#7c879c;--hub-blue:#315cff;--hub-deep:#2546d6;--hub-line:rgba(24,36,64,.12);--hub-line2:rgba(24,36,64,.24);--hub-glow:rgba(49,92,255,.11)}
.playstore-lab{width:min(1380px,calc(100% - 48px));padding-bottom:100px;color:var(--hub-text)!important;background:var(--hub-bg)!important}
.playstore-lab:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 12%,var(--hub-glow),transparent 27%),linear-gradient(transparent 96%,var(--hub-line));background-size:auto,100% 8px;opacity:.28;z-index:-1}
.store-nav{height:76px;border-color:var(--hub-line)!important;background:color-mix(in srgb,var(--hub-bg) 90%,transparent)!important}
.store-brand,.store-nav-right a,.store-theme,.store-hamburger{color:var(--hub-text)!important}
.store-brand-icon{border-radius:0!important;background:var(--hub-blue)!important;color:var(--hub-bg)!important;border-color:var(--hub-blue)!important}
.store-theme,.store-hamburger{border-color:var(--hub-line2)!important;background:transparent!important}
.store-theme:hover,.store-hamburger:hover{color:var(--hub-blue)!important;border-color:var(--hub-blue)!important}
.store-online{color:var(--hub-muted)!important}
.store-hero{min-height:clamp(640px,88svh,900px);grid-template-columns:1.05fr .95fr;gap:clamp(35px,8vw,120px);padding:clamp(80px,10vw,150px) 0 100px;border-bottom:1px solid var(--hub-line);position:relative}
.store-hero:after{content:"30";font-size:clamp(280px,40vw,650px);color:var(--hub-blue);opacity:.035;right:-.02em;bottom:-.08em}
.store-eyebrow,.store-section-line,.store-game-meta,.store-footer{color:var(--hub-muted)!important}
.store-eyebrow{font-size:9px!important;letter-spacing:.18em}
.store-hero h1{color:var(--hub-text)!important;font-size:clamp(78px,10.5vw,160px)!important;line-height:.75!important;letter-spacing:-.095em!important}
.store-hero h1 em,.store-library-head h2 em{color:transparent!important;-webkit-text-stroke:1px var(--hub-blue)!important}
.store-hero p,.store-library-head p{color:var(--hub-muted)!important;max-width:58ch;line-height:1.8}
.store-hero-stats{gap:0!important;margin-top:44px!important;border-top:1px solid var(--hub-line);border-bottom:1px solid var(--hub-line);width:min(680px,100%)}
.store-hero-stats span{border:0!important;border-right:1px solid var(--hub-line)!important;border-radius:0!important;background:transparent!important;padding:15px 18px!important;color:var(--hub-muted)!important}
.store-hero-stats span:last-child{border-right:0!important}.store-hero-stats b{color:var(--hub-text)!important;font-size:17px!important}
/* replace app-card hero with an instrument-like composition */
.store-hero-art{min-height:540px!important}
.hero-app-window{width:min(500px,86%)!important;border:0!important;border-top:1px solid var(--hub-line2)!important;border-bottom:1px solid var(--hub-line2)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;padding:0!important}
.store-hero-art:hover .hero-app-window{transform:none!important}
.hero-window-top{border-bottom:1px solid var(--hub-line)!important;padding:14px 0!important}.hero-window-bottom{border-top:1px solid var(--hub-line)!important;padding:16px 0 4px!important}
.hero-board{padding:30px 0!important;gap:1px!important;background:var(--hub-line)!important;grid-template-columns:repeat(4,1fr)!important}
.hero-board b{background:var(--hub-surface)!important;color:var(--hub-text)!important;border:0!important;border-radius:0!important;font-size:clamp(24px,4vw,48px)!important;position:relative}
.hero-board b:after{content:"";position:absolute;inset:10px;border:1px solid var(--hub-line);opacity:.8}.hero-board b:nth-child(3n){color:var(--hub-blue)!important}
.hero-float{border:1px solid var(--hub-line2)!important;border-radius:0!important;background:var(--hub-surface)!important;color:var(--hub-blue)!important;box-shadow:0 20px 70px color-mix(in srgb,var(--hub-bg) 30%,transparent)!important}
/* Featured becomes a journal entry, not a card */
.store-featured{border-color:var(--hub-line)!important;padding:70px 0 95px!important}
.store-section-line{border-bottom:1px solid var(--hub-line)!important;padding-bottom:15px!important}.store-section-line span,.store-section-line b{color:var(--hub-blue)!important}
.featured-app{margin-top:0!important;display:grid!important;grid-template-columns:120px 1fr auto 190px!important;gap:32px!important;padding:35px 0!important;border:0!important;border-bottom:1px solid var(--hub-line)!important;border-radius:0!important;background:transparent!important}
.featured-icon{width:105px!important;height:105px!important;border-radius:0!important;background:var(--hub-blue)!important;color:var(--hub-bg)!important;border:0!important;box-shadow:none!important}
.featured-copy>span,.featured-copy h2{color:var(--hub-text)!important}.featured-copy>span{color:var(--hub-blue)!important}.featured-copy h2{font-size:clamp(48px,6vw,78px)!important}.featured-copy p{color:var(--hub-muted)!important}
.featured-chips span{border:0!important;border-top:1px solid var(--hub-line2)!important;border-radius:0!important;color:var(--hub-muted)!important;padding:7px 10px 7px 0!important}
.featured-board{border:1px solid var(--hub-line)!important;border-radius:0!important;background:var(--hub-surface)!important;padding:8px!important}.featured-board b{background:var(--hub-surface2)!important;color:var(--hub-text)!important;border-radius:0!important}.featured-board b:nth-child(5){background:var(--hub-blue)!important;color:var(--hub-bg)!important}
.store-primary{border-radius:0!important;background:var(--hub-blue)!important;color:var(--hub-bg)!important;padding:16px 20px!important}
/* The catalogue is one continuous editorial index */
.store-library{padding-top:100px!important}.store-library-head{display:flex!important;align-items:end!important;border-bottom:1px solid var(--hub-line);padding-bottom:35px;margin-bottom:0!important}.store-library-head h2{color:var(--hub-text)!important;font-size:clamp(70px,10vw,140px)!important}
.store-filters{position:sticky!important;top:0!important;z-index:20!important;padding:18px 0!important;gap:0!important;flex-wrap:nowrap!important;overflow-x:auto!important;border-bottom:1px solid var(--hub-line)!important;background:color-mix(in srgb,var(--hub-bg) 94%,transparent)!important;backdrop-filter:blur(18px)}
.store-filter{border:0!important;border-right:1px solid var(--hub-line)!important;border-radius:0!important;background:transparent!important;color:var(--hub-muted)!important;padding:12px 15px!important}.store-filter:first-child{border-left:1px solid var(--hub-line)!important}.store-filter.active,.store-filter:hover{background:var(--hub-blue)!important;color:var(--hub-bg)!important;border-color:var(--hub-blue)!important;transform:none!important}
/* no cards: each game is a numbered editorial row */
.store-grid{display:block!important;border-top:0!important}
.store-game{display:grid!important;grid-template-columns:clamp(70px,9vw,130px) minmax(180px,.8fr) minmax(260px,1.6fr) 44px!important;align-items:center!important;gap:clamp(16px,3vw,42px)!important;min-height:132px!important;padding:20px 0!important;border:0!important;border-bottom:1px solid var(--hub-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--hub-text)!important;position:relative!important;overflow:visible!important;transform:none!important}
.store-game:before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(90deg,color-mix(in srgb,var(--hub-blue) 6%,transparent),transparent 70%);opacity:0;transform:scaleX(.25);transform-origin:left;transition:opacity .45s,transform .65s cubic-bezier(.16,1,.3,1);pointer-events:none}
.store-game:hover{padding-left:24px!important;padding-right:24px!important;background:transparent!important;transform:none!important;border-color:var(--hub-line2)!important;box-shadow:none!important}
.store-game:hover:before{opacity:1;transform:scaleX(1)}
.store-game-cover{width:auto!important;height:86px!important;min-height:0!important;border:1px solid var(--hub-line2)!important;border-radius:0!important;background:var(--hub-surface)!important;display:grid!important;place-items:center!important;overflow:hidden!important;position:relative!important}
.store-game-cover:after{width:150px!important;height:150px!important;border-color:var(--hub-blue)!important;opacity:.22!important;border-radius:50%!important}
.store-game-coverbar{inset:8px!important;color:var(--hub-muted)!important}.store-game-coverbar b{color:var(--hub-blue)!important}
.store-mini-board{position:relative!important;left:auto!important;top:auto!important;width:74px!important;height:74px!important;transform:rotate(-8deg)!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:2px!important;padding:3px!important;border:1px solid var(--hub-line2)!important;border-radius:0!important;background:var(--hub-surface2)!important;box-shadow:none!important}
.store-game:hover .store-mini-board{transform:rotate(0)!important}.store-mini-board span{width:auto!important;height:auto!important;border:1px solid var(--hub-line)!important;border-radius:0!important;background:var(--hub-surface)!important;color:var(--hub-text)!important;font-size:8px!important}.store-mini-board span:nth-child(2n){background:var(--hub-surface2)!important}.store-mini-board span:nth-child(5){background:var(--hub-blue)!important;color:var(--hub-bg)!important}
.store-game-info{display:contents!important}.store-game-icon{display:none!important}
.store-game-copy h3{color:var(--hub-text)!important;font:700 clamp(24px,3vw,39px)/1 "Space Grotesk",sans-serif!important;letter-spacing:-.055em!important;margin:0!important;position:relative;z-index:2}
.store-game-copy p{color:var(--hub-muted)!important;font-size:12px!important;line-height:1.65!important;margin:0!important;position:relative;z-index:2}
.store-game-meta{color:var(--hub-blue)!important;font-size:7px!important;letter-spacing:.13em!important}
.store-arrow{width:34px!important;height:34px!important;border:1px solid var(--hub-line2)!important;border-radius:50%!important;color:var(--hub-muted)!important;background:transparent!important;position:relative;z-index:3}.store-game:hover .store-arrow{background:var(--hub-blue)!important;color:var(--hub-bg)!important;border-color:var(--hub-blue)!important}
.store-game[hidden]{display:none!important}
.store-footer{border-color:var(--hub-line)!important;color:var(--hub-muted)!important;padding:28px 0!important}.store-footer a{color:var(--hub-blue)!important}
/* detail view */
.game-detail-modal{background:color-mix(in srgb,var(--hub-bg) 78%,transparent)!important}.game-detail-panel{border:1px solid var(--hub-line2)!important;border-radius:0!important;background:var(--hub-surface)!important;color:var(--hub-text)!important;box-shadow:0 50px 160px color-mix(in srgb,var(--hub-bg) 60%,transparent)!important}
.game-detail-kicker{color:var(--hub-blue)!important}.game-detail-panel h2{color:var(--hub-text)!important}.game-detail-panel h2 em{color:transparent!important;-webkit-text-stroke:1px var(--hub-blue)!important}.game-detail-desc{color:var(--hub-muted)!important}.game-how{background:var(--hub-line)!important}.game-how div{background:var(--hub-surface2)!important}.game-how span{color:var(--hub-blue)!important}.game-how strong{color:var(--hub-text)!important}.game-detail-actions a{background:var(--hub-blue)!important;color:var(--hub-bg)!important}.game-detail-actions button,.game-detail-close{background:transparent!important;color:var(--hub-text)!important;border-color:var(--hub-line2)!important}
@media(max-width:900px){.store-hero{grid-template-columns:1fr}.store-hero-art{min-height:420px!important}.featured-app{grid-template-columns:95px 1fr!important}.featured-board{grid-column:1/-1;max-width:260px}.store-primary{justify-self:start}.store-game{grid-template-columns:72px 1fr 34px!important}.store-game-copy p{margin-top:6px!important}.store-game-copy .store-game-meta{display:block;margin-top:7px}}
@media(max-width:620px){.playstore-lab{width:min(100% - 28px,1380px)}.store-nav{height:68px}.store-hero{min-height:auto;padding:75px 0 65px}.store-hero h1{font-size:21vw!important}.store-hero-stats{display:grid!important;grid-template-columns:1fr 1fr}.store-hero-stats span{border-right:0!important;border-bottom:1px solid var(--hub-line)!important}.store-hero-stats span:nth-child(odd){border-right:1px solid var(--hub-line)!important}.store-hero-art{min-height:310px!important}.hero-float{display:none}.store-featured{padding:60px 0 70px!important}.featured-app{grid-template-columns:1fr!important;gap:22px!important}.featured-icon{width:72px!important;height:72px!important}.featured-board{grid-column:auto!important}.store-library{padding-top:65px!important}.store-library-head{display:block!important}.store-library-head h2{font-size:20vw!important}.store-library-head p{margin-top:25px}.store-filters{top:0}.store-filter{font-size:7px!important;padding:11px 12px!important}.store-game{grid-template-columns:52px 1fr 28px!important;min-height:112px!important;gap:13px!important;padding:16px 0!important}.store-game:hover{padding-left:10px!important;padding-right:10px!important}.store-game-cover{height:52px!important}.store-mini-board{width:44px!important;height:44px!important}.store-mini-board span{font-size:6px!important}.store-game-copy h3{font-size:23px!important}.store-game-copy p{font-size:10px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.store-game-meta{font-size:5px!important}.store-arrow{width:28px!important;height:28px!important}.store-footer{display:grid!important}.game-detail-panel{padding:30px 22px!important}.game-detail-panel h2{font-size:17vw!important}.game-how{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.store-game:before,.store-game,.store-primary{transition:none!important}.store-game:hover{padding-left:0!important;padding-right:0!important}}
/* Editorial entrance motion — quiet, smooth, non-cartoon */
.store-game{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1),padding .45s,border-color .35s!important}
.store-game.is-visible{opacity:1;transform:translateY(0)}
.store-game:nth-child(3n+1){transition-delay:40ms}.store-game:nth-child(3n+2){transition-delay:80ms}.store-game:nth-child(3n){transition-delay:120ms}
@media(prefers-reduced-motion:reduce){.store-game,.store-game.is-visible{opacity:1;transform:none!important;transition:none!important}}

/* FINAL MOBILE NAV: full-width, full-height viewport panel rather than a half-width dropdown. */
@media(max-width:800px){
  .play-page{overflow-x:hidden!important}
  .playstore-lab{width:100%!important;padding:0 16px 90px!important}
  .store-nav{position:relative!important;height:68px!important;width:100vw!important;margin-left:calc(50% - 50vw)!important;padding:0 16px!important;z-index:120!important}
  .store-mobile-menu,
  .store-mobile-menu.is-open{position:fixed!important;top:68px!important;left:0!important;right:0!important;width:100vw!important;min-height:calc(100svh - 68px)!important;max-height:calc(100svh - 68px)!important;overflow:auto!important;padding:24px 20px 36px!important;background:var(--hub-bg)!important;border-top:1px solid var(--hub-line)!important;border-bottom:0!important;box-shadow:0 30px 90px rgba(0,0,0,.25)!important;z-index:119!important}
  .store-mobile-menu:not(.is-open){display:none!important}
  .store-mobile-menu.is-open{display:grid!important;align-content:start!important;gap:0!important}
  .store-mobile-menu a,.store-mobile-menu button{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:58px!important;padding:16px 4px!important;border:0!important;border-bottom:1px solid var(--hub-line)!important;background:transparent!important;color:var(--hub-text)!important;font:700 10px "DM Mono",monospace!important;letter-spacing:.1em!important;text-align:left!important}
  .store-mobile-menu a:first-child{border-top:1px solid var(--hub-line)!important}
  .store-mobile-menu a:hover,.store-mobile-menu button:hover{color:var(--hub-blue)!important}
  .store-hamburger{position:relative!important;z-index:130!important}
  body.menu-open{overflow:hidden!important}
}
