:root{
  --paper:#f5f5f0;
  --paper-deep:#ecece5;
  --ink:#090b0a;
  --body:#454a46;
  --muted:#6f756f;
  --green:#00e676;
  --white:#fff;
  --gold:#fbbf24;
  --line:rgba(9,11,10,.12);
  --line-strong:rgba(9,11,10,.28);
  --physical-shadow:6px 6px 0 #090b0a
}
html{overflow-x:clip;background:var(--paper)}
body{background:radial-gradient(circle at 70% 8%,rgba(0,230,118,.19),transparent 35rem),var(--paper);color:var(--ink)}
body::before{background:radial-gradient(circle at 82% 9%,rgba(0,230,118,.16),transparent 31rem),var(--paper)}
body::after{opacity:.4;background-image:linear-gradient(rgba(9,11,10,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(9,11,10,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 72%)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:4px solid var(--green);outline-offset:4px}

/* Navigation */
.nav{background:rgba(245,245,240,.92);border-bottom:1px solid var(--line);padding-inline:20px;backdrop-filter:blur(18px)}
.nav-inner{height:66px;max-width:1440px}
.nav-logo{color:var(--ink);gap:12px}.nav-logo img{width:46px;height:46px;object-fit:contain;border:2px solid var(--ink);border-radius:0;background:var(--paper);box-shadow:4px 4px 0 var(--ink)}.nav-logo span{font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.nav-search input{background:rgba(255,255,255,.58);border:1px solid var(--line-strong);color:var(--ink);padding-block:11px;border-radius:0}.nav-search input:focus{border-color:var(--ink);background:var(--white);box-shadow:3px 3px 0 var(--green)}.nav-search input::placeholder{color:var(--muted)}.nav-search .clear{color:var(--ink)}
.nav-right{color:var(--body);font-weight:900}.xp-bar{height:7px;background:var(--paper-deep);border:1px solid var(--ink);border-radius:0}.xp-bar .fill{background:var(--green);border-radius:0}
.cat-bar{top:66px;background:rgba(245,245,240,.94);border-bottom:1px solid var(--line);padding-block:10px;backdrop-filter:blur(16px)}.cat-inner{max-width:1440px;gap:9px}.cat-btn{min-height:39px;padding:7px 13px;border:1px solid var(--line-strong);border-radius:0;background:rgba(255,255,255,.42);color:var(--body);font-weight:900;letter-spacing:.025em}.cat-btn:hover{background:var(--paper-deep);border-color:var(--ink);color:var(--ink)}.cat-btn.active{background:var(--green);border:2px solid var(--ink);color:var(--ink);box-shadow:4px 4px 0 var(--ink)}.cat-count{border-radius:0;background:var(--paper-deep);color:var(--ink)}.cat-btn.active .cat-count{background:var(--ink);color:var(--paper)}

/* Main composition */
.main{max-width:1440px;padding:132px 20px 70px}.section{margin-bottom:44px}.section-header{align-items:end;margin-bottom:18px;padding:0}.section-title{color:var(--ink);font-size:clamp(22px,2.2vw,34px);line-height:.95;letter-spacing:-.055em;font-weight:900}.section-title .emoji{display:inline-grid;place-items:center;min-width:34px;height:28px;padding-inline:7px;background:var(--green);border:2px solid var(--ink);color:var(--ink);font-size:11px;font-style:normal}.section-meta{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.14em}.see-all{color:var(--ink);border-bottom:4px solid var(--green)}

/* Hero */
.launchpad{grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);gap:18px;margin-bottom:24px}.launch-copy{min-height:276px;border:2px solid var(--ink);border-radius:0;padding:26px 32px;background:radial-gradient(circle at 76% 18%,rgba(0,230,118,.28),transparent 34%),rgba(255,255,255,.45);box-shadow:8px 8px 0 var(--ink)}.launch-copy::after{display:none}.launch-inner{max-width:850px}.launch-logo{display:block;width:72px;height:72px;object-fit:contain;margin-bottom:10px;filter:drop-shadow(0 12px 18px rgba(9,11,10,.18));animation:signalFloat 2.8s ease-in-out infinite}.eyebrow{color:var(--muted);font-size:10px;letter-spacing:.22em;margin-bottom:10px}.launch-title{max-width:860px;color:var(--ink);font-size:clamp(34px,4.7vw,64px);line-height:.9;letter-spacing:-.065em;text-shadow:none;margin-bottom:14px}.launch-title span{color:var(--green);text-shadow:2px 2px 0 var(--ink)}.launch-subtitle{color:var(--body);font-size:14px;line-height:1.55;text-shadow:none;max-width:720px;margin-bottom:14px}.launch-actions{gap:12px}.launch-btn{min-height:46px;border:2px solid var(--ink);border-radius:0;background:var(--green);color:var(--ink);box-shadow:5px 5px 0 var(--ink);padding:0 16px;font-weight:900;letter-spacing:.03em;transition:transform 160ms ease,box-shadow 160ms ease}.launch-btn:hover{background:var(--green);transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.launch-btn.secondary{background:var(--paper);color:var(--ink);border-color:var(--ink)}.launch-btn.secondary:hover{background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 var(--green)}
.stat-stack{gap:0;border:1px solid var(--line)}.stat-card{min-height:0;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:18px;background:rgba(255,255,255,.34);box-shadow:none}.stat-card:last-child{border-bottom:0}.stat-value{color:var(--green);font-size:30px;letter-spacing:-.06em;text-shadow:1px 1px 0 var(--ink)}.stat-label{color:var(--muted);font-size:10px;letter-spacing:.12em}
.learning-strip{display:none}

/* Signal game cards and standardized thumbnails */
.carousel{gap:22px;padding:8px 8px 18px 0}.game-card{width:244px;color:var(--ink);transition:transform 160ms ease}.game-card:hover{transform:translateY(-4px)}.game-card:hover .game-title{color:var(--ink)}.game-card:hover .game-thumb{border-color:var(--ink);box-shadow:3px 3px 0 var(--ink);transform:translate(3px,3px)}.game-thumb{width:244px;height:137px;border:2px solid var(--ink);border-radius:0;background:var(--paper);box-shadow:6px 6px 0 var(--ink);transition:transform 160ms ease,box-shadow 160ms ease}.game-thumb::before{content:"PLAY";align-items:flex-end;justify-content:flex-end;padding:12px;background:linear-gradient(135deg,transparent 45%,rgba(9,11,10,.82));color:var(--green);font-size:10px;font-weight:900;letter-spacing:.16em;text-shadow:none}.game-thumb::after{display:none}.game-thumb img{object-fit:cover}.game-thumb .diff,.status-badge{display:none}.favorite-btn{top:8px;right:8px;width:36px;height:36px;border:2px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);font-weight:900}.favorite-btn:hover,.favorite-btn[aria-pressed="true"]{background:var(--green);border-color:var(--ink);color:var(--ink);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.game-info{padding:13px 2px 0}.game-title{color:var(--ink);font-size:14px;font-weight:900;letter-spacing:-.02em}.game-meta{color:var(--muted);font-size:9px;letter-spacing:.08em}.topic-label{color:var(--body)}.game-objective{color:var(--body);font-size:11px;line-height:1.5}.fallback-thumb{background:radial-gradient(circle at 70% 20%,rgba(0,230,118,.24),transparent 42%),var(--paper);color:var(--ink);font-size:34px}
.carousel-arrow{width:42px;height:42px;border:2px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 var(--ink)}.carousel-arrow:hover{background:var(--green);color:var(--ink);transform:translateY(-50%) translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}

/* Featured row */
.hero{gap:22px;padding:8px 8px 18px 0;margin-bottom:48px}.hero-card{width:360px;height:203px;border:2px solid var(--ink);border-radius:0;color:var(--ink);background:var(--paper);box-shadow:8px 8px 0 var(--ink);transition:transform 160ms ease,box-shadow 160ms ease}.hero-card:hover{transform:translate(4px,4px);border-color:var(--ink);box-shadow:4px 4px 0 var(--ink)}.hero-card .overlay{background:linear-gradient(to top,rgba(245,245,240,.98),rgba(245,245,240,.72) 46%,transparent 70%);padding:18px}.hero-card .title{color:var(--ink);font-size:18px;font-weight:900}.hero-card .tag{color:var(--body);font-size:9px;font-weight:900;letter-spacing:.08em}

/* Search, release hold, footer, and dialog */
body.release-gated .cat-bar,body.release-gated .learning-strip{display:none}body.release-gated .main{padding-top:96px}body.release-gated .launchpad{grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr)}body.release-gated .hero{overflow:visible}
.release-hold{width:100%;min-height:250px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(24px,5vw,52px);border:2px solid var(--ink);background:rgba(255,255,255,.48);box-shadow:8px 8px 0 var(--ink)}.release-hold span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.release-hold strong{max-width:850px;margin:10px 0;font-size:clamp(30px,5vw,64px);line-height:.92;letter-spacing:-.055em}.release-hold p{max-width:760px;color:var(--body);line-height:1.6}.release-hold .launch-btn{margin-top:10px}
.search-grid{grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:26px}.search-grid .game-card{width:100%}.search-grid .game-thumb{width:100%;aspect-ratio:16/9;height:auto}.no-results{border:2px dashed var(--line-strong);border-radius:0;background:rgba(255,255,255,.35);color:var(--body)}.footer{color:var(--muted);border-top:1px solid var(--line);background:rgba(255,255,255,.26)}.footer a{color:var(--ink);font-weight:900}.footer a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:3px}.footer-copy{color:var(--muted)}
body .mb-popup-overlay{background:rgba(9,11,10,.78)!important}body .mb-popup-content{border:2px solid var(--ink)!important;border-radius:0!important;background:var(--paper)!important;box-shadow:10px 10px 0 var(--green)!important;color:var(--ink)!important}body .mb-popup-grid{background-image:linear-gradient(rgba(9,11,10,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(9,11,10,.05) 1px,transparent 1px)!important}body .mb-popup-icon{width:96px;height:96px;margin:0 auto 14px;background:url('assets/moneybot-logo.png') center/contain no-repeat;font-size:0!important}body .mb-popup-title{color:var(--ink)!important;font-size:28px!important;letter-spacing:-.05em!important}body .mb-popup-text{color:var(--body)!important}body .mb-popup-btn{border:2px solid var(--ink)!important;border-radius:0!important;background:var(--green)!important;box-shadow:5px 5px 0 var(--ink)!important;color:var(--ink)!important}body .mb-popup-close{color:var(--ink)!important}

@keyframes signalFloat{50%{transform:translateY(-8px)}}
@media(max-width:768px){
  body.release-gated .main{padding:150px 18px 52px}body.release-gated .launchpad{grid-template-columns:1fr}
  .nav-inner{padding-block:10px}.nav-search{margin-top:8px}.cat-bar{top:122px}.main{padding:178px 14px 52px}.launchpad{grid-template-columns:1fr}.launch-copy{min-height:0;padding:22px}.launch-logo{width:62px;height:62px}.launch-title{font-size:clamp(34px,11vw,50px)}.launch-subtitle{font-size:14px}.stat-stack{grid-template-columns:repeat(3,1fr)}.stat-card{padding:14px;border-bottom:0;border-right:1px solid var(--line)}.stat-card:last-child{border-right:0}.stat-value{font-size:26px}.game-card{width:214px}.game-thumb{width:214px;height:120px}.hero-card{width:310px;height:174px}.carousel-arrow{display:none}
}
@media(max-width:520px){
  .nav-logo span{font-size:12px}.nav-logo img{width:42px;height:42px}.cat-bar{top:120px}.main{padding-top:176px}.launchpad{display:none}.section{margin-bottom:42px}.section-title{font-size:22px}.game-card{width:202px}.game-thumb{width:202px;height:114px}.hero-card{width:286px;height:161px}
}
@media(prefers-reduced-motion:reduce){.launch-logo{animation:none}}

/* Player theme toggle */
.theme-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);background:rgba(255,255,255,.42);color:var(--ink);min-height:34px;padding:5px 8px;cursor:pointer;font:inherit;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.theme-toggle-track{position:relative;width:34px;height:18px;border:1px solid var(--ink);background:var(--paper-deep);display:inline-flex;align-items:center;padding:2px}
.theme-toggle-thumb{width:12px;height:12px;background:var(--ink);display:block;transition:transform 160ms ease,background 160ms ease}
.theme-toggle[aria-pressed="true"] .theme-toggle-thumb{transform:translateX(16px);background:var(--green)}
@media(max-width:520px){.nav-right{display:flex}.nav-progress{display:none!important}.theme-toggle-label{display:none}.theme-toggle{min-height:34px;padding:5px}}

body.theme-dark{
  color-scheme:dark;
  --paper:#050806;
  --paper-deep:#0a1410;
  --ink:#f3fff8;
  --body:#c2d6cb;
  --muted:#84a394;
  --white:#102019;
  --line:rgba(105,240,174,.18);
  --line-strong:rgba(105,240,174,.34);
  --physical-shadow:6px 6px 0 rgba(0,230,118,.42)
}
body.theme-dark{background:radial-gradient(circle at 70% 8%,rgba(0,230,118,.12),transparent 35rem),var(--paper);color:var(--ink)}
body.theme-dark::before{background:radial-gradient(circle at 82% 9%,rgba(0,230,118,.10),transparent 31rem),var(--paper)}
body.theme-dark::after{background-image:linear-gradient(rgba(105,240,174,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(105,240,174,.045) 1px,transparent 1px)}
body.theme-dark .nav{background:rgba(4,8,6,.88)}
body.theme-dark .nav-logo img{border-color:var(--line-strong);background:var(--paper-deep);box-shadow:4px 4px 0 rgba(0,230,118,.38)}
body.theme-dark .nav-search input{background:rgba(255,255,255,.065);border-color:var(--line);color:var(--ink)}
body.theme-dark .nav-search input:focus{border-color:var(--green);background:rgba(255,255,255,.09);box-shadow:3px 3px 0 rgba(0,230,118,.32)}
body.theme-dark .cat-bar{background:rgba(4,8,6,.9)}
body.theme-dark .cat-btn{background:rgba(255,255,255,.055);border-color:var(--line);color:var(--body)}
body.theme-dark .cat-btn:hover{background:rgba(105,240,174,.09);border-color:var(--line-strong);color:var(--ink)}
body.theme-dark .cat-btn.active{border-color:#07110d;color:#07110d;box-shadow:4px 4px 0 rgba(105,240,174,.24)}
body.theme-dark .cat-count{background:rgba(105,240,174,.10);color:var(--ink)}
body.theme-dark .cat-btn.active .cat-count{background:#07110d;color:#dfffea}
body.theme-dark .theme-toggle{background:rgba(255,255,255,.055);border-color:var(--line-strong);color:var(--ink)}
body.theme-dark .theme-toggle-track{border-color:var(--line-strong);background:#07100c}
body.theme-dark .launch-copy{border-color:var(--line-strong);background:radial-gradient(circle at 76% 18%,rgba(0,230,118,.20),transparent 34%),rgba(255,255,255,.045);box-shadow:10px 10px 0 rgba(0,230,118,.30)}
body.theme-dark .launch-title span{text-shadow:0 0 24px rgba(0,230,118,.35)}
body.theme-dark .launch-subtitle{color:#d4eadf}
body.theme-dark .launch-btn{border-color:var(--green);color:#051009;box-shadow:6px 6px 0 rgba(0,230,118,.22)}
body.theme-dark .launch-btn.secondary{background:rgba(255,255,255,.055);color:var(--ink);border-color:var(--line-strong)}
body.theme-dark .stat-stack{background:rgba(255,255,255,.025)}
body.theme-dark .stat-card,body.theme-dark .learning-chip{background:rgba(255,255,255,.045)}
body.theme-dark .learning-chip:hover,body.theme-dark .learning-chip:focus-visible{background:rgba(0,230,118,.08)}
body.theme-dark .game-thumb,body.theme-dark .hero-card{border-color:var(--line-strong);background:#0b1510;box-shadow:6px 6px 0 rgba(0,230,118,.22)}
body.theme-dark .game-card:hover .game-thumb,body.theme-dark .hero-card:hover{border-color:var(--green)}
body.theme-dark .game-thumb::before{background:linear-gradient(135deg,transparent 45%,rgba(0,230,118,.82));color:#051009}
body.theme-dark .favorite-btn{border-color:var(--line-strong);background:rgba(5,8,6,.86);color:var(--ink)}
body.theme-dark .topic-label,body.theme-dark .hero-card .tag{color:var(--green)}
body.theme-dark .hero-card .overlay{background:linear-gradient(to top,rgba(5,8,6,.96),rgba(5,8,6,.68) 46%,transparent 70%)}
body.theme-dark .carousel-arrow{border-color:var(--line-strong);background:rgba(5,8,6,.95);color:var(--green);box-shadow:4px 4px 0 rgba(0,230,118,.18)}
body.theme-dark .release-hold,body.theme-dark .no-results{border-color:var(--line-strong);background:rgba(255,255,255,.045)}
body.theme-dark .footer{background:rgba(255,255,255,.035)}
body.theme-dark .mb-popup-content{background:var(--paper)!important}
