
:root {
  --bg: #140c12;
  --ink: #f7efe8;
  --mute: #b9a294;
  --card: rgba(28,18,24,.92);
  --line: rgba(246,235,227,.14);
  --accent: #e8a45a;
  --accent-2: #ff5c7a;
  --ok: #5ecf9a;
  --font-d: "Syne", system-ui, sans-serif;
  --font-b: "Outfit", system-ui, sans-serif;
  --max: 920px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; min-height:100vh; font-family:var(--font-b); color:var(--ink); line-height:1.55;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(232,164,90,.2), transparent 45%),
    radial-gradient(ellipse at 85% 5%, rgba(255,92,122,.14), transparent 40%),
    linear-gradient(180deg, rgba(20,12,18,.72), rgba(20,12,18,.94)),
    url("/images/hero.jpg") center top / cover fixed;
}
a{color:var(--accent); text-decoration:none}
a:hover{color:var(--accent-2)}
.wrap{width:min(var(--max), calc(100% - 2rem)); margin:0 auto}
.site-main{
  display:flex; flex-direction:column; align-items:center;
  width:100%; padding:0 0 2rem;
}
.site-main > .wrap{width:min(var(--max), calc(100% - 2rem))}
.age-bar{
  text-align:center; background:#090507; color:var(--ink);
  padding:.55rem 1rem; font-size:.88rem; border-bottom:1px solid var(--line);
}
.site-header{
  position:sticky; top:0; z-index:40;
  background:rgba(20,12,18,.88); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line); width:100%;
}
.header-row{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 0}
.brand{display:flex; align-items:center; gap:.75rem; color:var(--ink)}
.brand img{width:48px; height:48px; border-radius:12px; border:1px solid var(--line); object-fit:cover}
.brand strong{display:block; font-family:var(--font-d); font-size:1.2rem}
.brand span span{display:block; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--mute)}
.nav{display:flex; gap:.8rem; flex-wrap:wrap; align-items:center; justify-content:flex-end}
.nav a{color:var(--mute); font-weight:700; font-size:.9rem}
.nav a[aria-current="page"], .nav a:hover{color:var(--ink)}
.nav-cta{background:linear-gradient(120deg,var(--accent),var(--accent-2)); color:#1a0f14!important; padding:.5rem .9rem; border-radius:999px; font-weight:800}
.menu-btn{display:none; border:1px solid var(--line); background:var(--card); color:var(--ink); padding:.4rem .7rem; font:inherit; border-radius:.6rem}
.panel{
  background:var(--card); border:1px solid var(--line); border-radius:1.35rem;
  padding:1.4rem 1.5rem; margin:1rem auto; width:100%;
  backdrop-filter:blur(10px); box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.page-hero{padding-top:1.6rem; text-align:center}
.page-hero h1, .hero-title{
  font-family:var(--font-d); font-size:clamp(2.1rem,5.2vw,3.2rem);
  line-height:1.05; margin:0 auto .85rem; letter-spacing:-.02em; max-width:16ch;
}
.lead{color:var(--mute); max-width:46ch; font-size:1.05rem; margin:0 auto}
.hero-actions{display:flex; gap:.7rem; flex-wrap:wrap; margin-top:1.15rem; justify-content:center}
.chips{display:flex; flex-wrap:wrap; gap:.45rem; margin:.9rem auto 0; justify-content:center}
.chips span{border:1px solid var(--line); border-radius:999px; padding:.28rem .65rem; font-size:.78rem; color:var(--mute); font-weight:700}
.btn{display:inline-flex; align-items:center; justify-content:center; padding:.75rem 1.15rem; border-radius:999px; font-weight:800; border:1px solid transparent}
.btn-primary{background:var(--accent); color:#1a0f14}
.btn-ghost{background:transparent; border-color:var(--line); color:var(--ink)}
.btn-locked{background:#2a1c22; color:var(--mute); cursor:not-allowed; opacity:.7}
.section{padding:.2rem 0 .4rem; width:100%}
.section-head{text-align:center; margin-bottom:.6rem}
.section-head h2{font-family:var(--font-d); margin:0 0 .35rem; font-size:clamp(1.35rem,3vw,1.85rem)}
.section-head p{margin:0; color:var(--mute)}
.list-row{
  display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:center;
  padding:1rem 0; border-top:1px solid var(--line); text-align:left;
}
.list-row:first-of-type{border-top:0}
.rank{width:2.5rem; height:2.5rem; border-radius:.75rem; display:grid; place-items:center; background:rgba(232,164,90,.14); color:var(--accent); font-weight:800; font-size:.85rem}
.list-row h3{margin:0 0 .2rem; font-family:var(--font-d); font-size:1.15rem}
.list-row p{margin:0; color:var(--mute); font-size:.95rem}
.meta-tag{display:inline-block; margin-top:.35rem; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-2); border:1px solid rgba(255,92,122,.35); padding:.15rem .45rem; border-radius:999px}
.product-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; margin-top:1rem}
.product-card{background:rgba(28,18,24,.95); border:1px solid var(--line); border-radius:1.1rem; overflow:hidden; text-align:left}
.product-card img.cover{width:100%; aspect-ratio:16/10; object-fit:cover; display:block; background:#2a1c22}
.product-card img.badge{width:96px; height:96px; object-fit:cover; border-radius:50%; margin:.2rem 0 .5rem; border:1px solid var(--line)}
.product-card .pad{padding:.9rem 1rem 1.1rem}
.product-card .meta{color:var(--mute); font-size:.78rem; margin:0 0 .35rem; text-transform:uppercase; letter-spacing:.06em}
.product-card h2{font-family:var(--font-d); font-size:1.2rem; margin:0 0 .4rem}
.product-card h2 a{color:var(--ink)}
.product-card .deck{color:var(--mute); font-size:.92rem; margin:0 0 .8rem}
.card-hero{
  display:grid; grid-template-columns:140px 1fr; gap:1.2rem; align-items:center; text-align:left;
}
.card-hero img.badge{width:140px; height:140px; border-radius:50%; object-fit:cover; border:1px solid var(--line)}
.site-footer{margin-top:2rem; background:#090507; color:var(--mute); padding:2rem 0 1.2rem; border-top:1px solid var(--line); width:100%}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:1.2rem; text-align:left}
.site-footer h3{font-family:var(--font-d); color:var(--ink); margin:0 0 .55rem}
.site-footer a{color:var(--accent)}
.site-footer nav{display:grid; gap:.28rem}
.legal-nav{margin-top:.75rem}
.legal-line{border-top:1px solid var(--line); margin-top:1.2rem; padding-top:.9rem; font-size:.85rem; text-align:center}
.credit-bar,.demo-panel{background:rgba(28,18,24,.96); border:1px solid var(--line); border-radius:1.1rem; padding:1rem; margin:0 auto 1rem; width:100%; max-width:640px}
.credit-bar{display:flex; justify-content:space-between; gap:.7rem; flex-wrap:wrap; align-items:center}
.game-stage{width:100%; display:flex; flex-direction:column; align-items:center}
.game-controls{display:flex; flex-wrap:wrap; gap:.6rem; align-items:end; margin-top:1rem; justify-content:center}
.game-controls label{display:grid; gap:.25rem; font-size:.9rem; color:var(--mute)}
.game-controls select{font:inherit; padding:.45rem .65rem; border-radius:.55rem; border:1px solid var(--line); background:#2a1c22; color:var(--ink)}
.game-msg{min-height:1.4em; color:var(--mute); text-align:center}
.reel-row{display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; margin:1rem 0}
.reel-cell{aspect-ratio:1; border-radius:1rem; border:1px solid var(--line); display:grid; place-items:center; font-size:2.4rem; background:#2a1c22; font-weight:800}
.orb-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem}
.orb-card{aspect-ratio:1; border-radius:.85rem; border:1px solid var(--line); background:#2a1c22; font-size:1.35rem; font-weight:800; cursor:pointer; color:var(--mute)}
.orb-card.open,.orb-card.done{background:linear-gradient(145deg,var(--accent),var(--accent-2)); color:#1a0f14}
.line-board{display:grid; gap:.55rem; margin:1rem 0}
.line-btn{text-align:left; padding:.85rem 1rem; border-radius:.9rem; border:1px solid var(--line); background:#2a1c22; color:var(--ink); font:inherit; font-weight:700; cursor:pointer}
.line-btn.active{border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent)}
.line-btn.hit{background:rgba(94,207,154,.18); border-color:var(--ok)}
.line-btn.miss{opacity:.55}
.fruit-row{display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; margin:1rem 0}
.fruit-cell{aspect-ratio:1; border-radius:1rem; border:1px solid var(--line); display:grid; place-items:center; font-size:2.6rem; background:#2a1c22}
.lattice{display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem; margin:1rem auto; max-width:280px}
.lat-node{aspect-ratio:1; border-radius:1rem; border:1px dashed var(--line); background:#2a1c22; cursor:pointer; font-size:1.4rem; font-weight:800; color:var(--mute)}
.lat-node.on{background:linear-gradient(145deg,#5b8cff,var(--accent-2)); color:#fff; border-style:solid}
.faq details{background:rgba(28,18,24,.9); border:1px solid var(--line); border-radius:.9rem; padding:.85rem 1rem; margin:.55rem 0; text-align:left}
.faq summary{font-weight:800; cursor:pointer}
.faq{max-width:640px; margin:0 auto}
ul.center-list{max-width:520px; margin:0 auto; text-align:left; color:var(--mute)}
@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr}
  .menu-btn{display:inline-flex}
  .nav{display:none; position:absolute; right:1rem; top:100%; flex-direction:column; background:#1c1218; border:1px solid var(--line); padding:.8rem; border-radius:.9rem; min-width:12rem}
  .nav.open{display:flex}
  .header-row{position:relative}
  .list-row{grid-template-columns:auto 1fr}
  .list-row .btn,.list-row .btn-locked{grid-column:2; justify-self:start}
  .card-hero{grid-template-columns:1fr; justify-items:center; text-align:center}
}

.prose{text-align:left; max-width:720px; margin:0 auto; color:var(--mute)}
.prose h2{font-family:var(--font-d); color:var(--ink); font-size:1.35rem; margin:1.4rem 0 .5rem}
.prose h3{font-family:var(--font-d); color:var(--ink); font-size:1.1rem; margin:1.1rem 0 .4rem}
.prose p,.prose li{margin:0 0 .75rem}
.prose ul{padding-left:1.2rem}
.card-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.85rem; margin-top:1rem; text-align:left}
.card-grid article{background:rgba(42,28,34,.7); border:1px solid var(--line); border-radius:1rem; padding:1rem}
.card-grid h3{font-family:var(--font-d); margin:0 0 .4rem; color:var(--ink); font-size:1.05rem}
.card-grid p{margin:0; color:var(--mute); font-size:.92rem}
.form{display:grid; gap:.75rem; text-align:left; max-width:440px}
.form label{display:grid; gap:.3rem; font-size:.9rem; color:var(--mute); font-weight:700}
.form input,.form textarea,.form select{
  font:inherit; padding:.7rem .8rem; border-radius:.7rem; border:1px solid var(--line);
  background:#2a1c22; color:var(--ink);
}
.split-form{display:grid; grid-template-columns:1.1fr .9fr; gap:1.2rem; align-items:start; text-align:left}
.method-list{list-style:none; padding:0; margin:1rem auto 0; max-width:640px; text-align:left}
.method-list li{padding:.75rem 0; border-top:1px solid var(--line); color:var(--mute)}
.method-list li strong{display:block; color:var(--ink); font-family:var(--font-d); margin-bottom:.2rem}
.stat-row{display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin:1rem 0 0}
.stat-pill{border:1px solid var(--line); border-radius:999px; padding:.4rem .8rem; font-size:.8rem; font-weight:700; color:var(--accent)}
.hold-btn.active{border-color:var(--accent); background:rgba(232,164,90,.2)}
.meter{height:10px; border-radius:999px; background:#2a1c22; border:1px solid var(--line); overflow:hidden; margin:0.8rem 0}
.meter > span{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--accent),var(--accent-2)); transition:width .2s}
.game-meta{display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin:.5rem 0; color:var(--mute); font-size:.88rem}
.top10-band{padding-top:.4rem; padding-bottom:.4rem}
.top10-band-inner{
  display:grid; grid-template-columns:160px 1fr; gap:1.25rem; align-items:center;
  text-align:left; max-width:720px; margin:0 auto;
}
.top10-seal{
  width:160px; height:160px; border-radius:50%; object-fit:cover;
  border:1px solid var(--line); box-shadow:0 12px 36px rgba(0,0,0,.35);
}
.top10-kicker{
  margin:0 0 .35rem; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--accent); font-weight:800;
}
.top10-copy h2{
  font-family:var(--font-d); margin:0 0 .45rem; font-size:clamp(1.35rem,3vw,1.75rem); color:var(--ink);
}
.top10-copy p{margin:0 0 .9rem; color:var(--mute); max-width:42ch}
@media(max-width:900px){
  .split-form{grid-template-columns:1fr}
  .top10-band-inner{grid-template-columns:1fr; justify-items:center; text-align:center}
  .top10-copy p{margin-left:auto; margin-right:auto}
}
