/* Puzzly Duo website. Tokens: the glass-glow house set (glass-glow-ui/assets/tokens.css, as in the app). */
:root {
  --bg: #FFF5E2;
  --ink: #0F172A;
  --dim: #56606E;
  --on-selected: #FFFFFF;
  --card: rgba(255, 255, 255, 0.50);
  --card-border: rgba(255, 255, 255, 0.90);
  --card-hover: rgba(255, 255, 255, 0.82);
  --card-shadow: 0 8px 24px rgba(120, 90, 40, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.95);
  --line: rgba(120, 90, 40, 0.14);
  --track: rgba(120, 90, 40, 0.16);
  --nav: rgba(255, 255, 255, 0.58);
  --accent: #DB2777;
  --accent-text: #DB2777;
  --sheet: #FFF8EA;
  --scrim: rgba(40, 28, 8, 0.40);
  --ok-bg: #D8F3E7;
  --ok: #0B6B4F;
  --up: #0B6B4F;
  --down: #B42318;
  --gold-bg: #FDE9B8;
  --gold-text: #8A4B00;
  --tag-bg: #FCE7F3;
  --tag-text: #9D174D;
  --flame: #B45309;
  --bronze: #C77B3A;
  --silver: #7D8597;
  --gold: #D99A00;
  --bg-image:
    radial-gradient(64% 34% at 8% 2%, #F5C255, transparent 72%),
    radial-gradient(56% 30% at 104% 26%, rgba(247, 196, 96, 0.62), transparent 72%),
    radial-gradient(72% 34% at -6% 66%, rgba(248, 205, 120, 0.78), transparent 72%),
    radial-gradient(64% 30% at 102% 98%, rgba(245, 190, 90, 0.66), transparent 72%);

  /* Same in both themes */
  --gradient: linear-gradient(90deg, #DB2777 0%, #D9480F 100%);
  --font: 'Manrope', system-ui, sans-serif;
  --radius-card: 20px;
  --radius-tabbar: 28px;
  --radius-sheet: 28px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --touch: 44px;
}

:root[data-theme="dark"] {
  --bg: #15110A;
  --ink: #FBF5EA;
  --dim: #D2C7B4;
  --on-selected: #15110A;
  --card: rgba(255, 255, 255, 0.08);
  --card-border: rgba(255, 255, 255, 0.16);
  --card-hover: rgba(255, 255, 255, 0.16);
  --card-shadow: 0 8px 24px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.14);
  --line: rgba(255, 255, 255, 0.12);
  --track: rgba(255, 255, 255, 0.16);
  --nav: rgba(34, 27, 16, 0.74);
  --accent-text: #F9A8D4;
  --sheet: #241C10;
  --scrim: rgba(0, 0, 0, 0.55);
  --ok-bg: rgba(134, 227, 188, 0.18);
  --ok: #86E3BC;
  --up: #86E3BC;
  --down: #FFB0A6;
  --gold-bg: rgba(245, 176, 66, 0.26);
  --gold-text: #F7CF8A;
  --tag-bg: rgba(219, 39, 119, 0.30);
  --tag-text: #FBCFE8;
  --flame: #F5B042;
  --silver: #D4D4D8;
  --gold: #F5C451;
  --bg-image:
    radial-gradient(64% 34% at 8% 2%, rgba(214, 150, 40, 0.62), transparent 72%),
    radial-gradient(56% 30% at 104% 26%, rgba(190, 125, 30, 0.42), transparent 72%),
    radial-gradient(72% 34% at -6% 66%, rgba(170, 105, 25, 0.44), transparent 72%),
    radial-gradient(64% 30% at 102% 98%, rgba(214, 150, 40, 0.46), transparent 72%);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) {
    --bg: #15110A;
    --ink: #FBF5EA;
    --dim: #D2C7B4;
    --on-selected: #15110A;
    --card: rgba(255, 255, 255, 0.08);
    --card-border: rgba(255, 255, 255, 0.16);
    --card-hover: rgba(255, 255, 255, 0.16);
    --card-shadow: 0 8px 24px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.14);
    --line: rgba(255, 255, 255, 0.12);
    --track: rgba(255, 255, 255, 0.16);
    --nav: rgba(34, 27, 16, 0.74);
    --accent-text: #F9A8D4;
    --sheet: #241C10;
    --scrim: rgba(0, 0, 0, 0.55);
    --ok-bg: rgba(134, 227, 188, 0.18);
    --ok: #86E3BC;
    --up: #86E3BC;
    --down: #FFB0A6;
    --gold-bg: rgba(245, 176, 66, 0.26);
    --gold-text: #F7CF8A;
    --tag-bg: rgba(219, 39, 119, 0.30);
    --tag-text: #FBCFE8;
    --flame: #F5B042;
    --silver: #D4D4D8;
    --gold: #F5C451;
    --bg-image:
      radial-gradient(64% 34% at 8% 2%, rgba(214, 150, 40, 0.62), transparent 72%),
      radial-gradient(56% 30% at 104% 26%, rgba(190, 125, 30, 0.42), transparent 72%),
      radial-gradient(72% 34% at -6% 66%, rgba(170, 105, 25, 0.44), transparent 72%),
      radial-gradient(64% 30% at 102% 98%, rgba(214, 150, 40, 0.46), transparent 72%);
  }
}


*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:var(--bg-image),var(--bg);background-attachment:fixed;
  font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.glass{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-card);box-shadow:var(--card-shadow)}
.dim{color:var(--dim)}
.num{font-variant-numeric:tabular-nums}
svg.i{width:24px;height:24px;fill:currentColor;flex:0 0 auto}

/* nav */
nav{position:sticky;top:0;z-index:20;background:var(--nav);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;line-height:24px}
.brand img{width:36px;height:36px;border-radius:8px;display:block}
.navlinks{display:flex;align-items:center;gap:8px}
.navlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:999px;font-weight:500;font-size:14px;color:var(--dim);transition:color .15s,background .15s}
.navlink:hover{color:var(--ink);background:var(--card)}
.navlink svg.i{width:20px;height:20px}

/* buttons and pills */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;
  background:var(--gradient);color:#fff;font:inherit;font-weight:600;font-size:16px;white-space:nowrap;border:0;cursor:pointer;
  box-shadow:0 8px 20px rgba(219,39,119,.28);transition:filter .15s,transform .15s}
.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn:active{filter:brightness(.93);transform:none}
.btn.small{min-height:44px;padding:0 16px;font-size:14px}
.btn.ghost{background:var(--card);color:var(--ink);border:1px solid var(--card-border);box-shadow:var(--card-shadow)}
.btn.ghost:hover{background:var(--card-hover)}
.store{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 20px 0 16px;border-radius:999px;
  background:var(--card);border:1px solid var(--card-border);box-shadow:var(--card-shadow);color:var(--ink)}
.store span{display:flex;flex-direction:column;line-height:16px}
.store b{font-weight:600;font-size:14px;line-height:20px}
.store small{font-size:12px;color:var(--dim)}
.soon{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;background:var(--gold-bg);color:var(--gold-text);font-size:12px;line-height:16px;font-weight:500;white-space:nowrap}
.pill{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;background:var(--card);border:1px solid var(--card-border);font-size:14px;font-weight:500;color:var(--dim)}
.pill svg.i{width:18px;height:18px;fill:var(--accent-text)}

/* sections */
section{padding:72px 0}
h2{font-size:32px;line-height:40px;font-weight:700;letter-spacing:-.4px;text-align:center;text-wrap:balance}
.lead{max-width:640px;margin:12px auto 0;text-align:center;color:var(--dim);font-size:18px;line-height:28px;text-wrap:pretty}

/* game tiles */
.tile{width:100%;aspect-ratio:1;border-radius:22%;overflow:hidden;display:block}
.tile svg{display:block;width:100%;height:100%}

footer{border-top:1px solid var(--line);padding:32px 0 40px;text-align:center;color:var(--dim);font-size:14px;line-height:20px}
footer nav,footer .links{position:static;background:none;border:0;backdrop-filter:none}
footer .links{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 16px;margin-top:8px}
footer .links a{font-weight:600;color:var(--ink);min-height:44px;display:inline-flex;align-items:center}
footer .links a:hover{color:var(--accent-text)}

@media(max-width:600px){h2{font-size:28px;line-height:36px}section{padding:56px 0}.navlink span{display:none}.lead{font-size:16px;line-height:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
