/* PlayMini — Gold iOS theme. Dependency-free, system fonts only. */
:root{
  --bg:#0b0b10; --bg2:#14141c; --panel:rgba(255,255,255,.055); --panel-solid:#1c1c26;
  --text:#f7f3e8; --muted:#b9b3a4; --faint:#8d877a;
  --gold:#d4af37; --gold-light:#f5d67b; --gold-pale:#f9e9a8; --gold-deep:#8a6d1b; --gold-ink:#1a1400;
  --hairline:rgba(212,175,55,.28); --hairline-soft:rgba(255,255,255,.09);
  --good:#5fd68a; --bad:#ff7a7a; --radius:22px; --radius-sm:16px;
  --shadow:0 18px 40px rgba(0,0,0,.45); --shadow-sm:0 8px 24px rgba(0,0,0,.35);
  --gold-gradient:linear-gradient(135deg,#f9e9a8 0%,#f5d67b 28%,#d4af37 58%,#b8962e 82%,#e8c96a 100%);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--text);line-height:1.6;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:radial-gradient(900px 420px at 50% -120px,rgba(212,175,55,.22),transparent 65%),
    radial-gradient(700px 360px at 88% 10%,rgba(212,175,55,.08),transparent 60%),
    linear-gradient(180deg,#12121a 0%,var(--bg) 42%);
  background-attachment:fixed}
a{color:var(--gold-light)}
header,main,footer{max-width:1120px;margin:0 auto;padding:0 20px}
/* ---- Frosted site header ---- */
.site-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  position:sticky;top:0;z-index:20;padding:14px 20px;margin:0 auto;
  background:rgba(14,14,20,.72);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);
  border-bottom:1px solid var(--hairline-soft)}
.logo{font-size:26px;font-weight:800;letter-spacing:-.4px;text-decoration:none;color:var(--text)}
.logo span{background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.tag{color:var(--muted);margin:0;font-size:14px}
/* ---- Grand homepage hero ---- */
.hero{padding:64px 20px 8px;text-align:left}
.hero-eyebrow{margin:0 0 18px;font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.hero h1{font-size:clamp(40px,6.5vw,72px);line-height:1.04;letter-spacing:-.02em;margin:0 0 18px;font-weight:800;max-width:820px}
.hero h1 .gold{background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.hero p{color:var(--muted);font-size:clamp(17px,2vw,20px);max-width:680px;margin:0}
.hero-stats{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 8px}
.stat{flex:1;min-width:140px;background:var(--panel);border:1px solid var(--hairline-soft);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm)}
.stat b{display:block;font-size:28px;line-height:1.1;color:var(--gold-pale)}
.stat span{color:var(--muted);font-size:14px}
.controls-row{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0;padding:14px;background:var(--panel);border:1px solid var(--hairline-soft);border-radius:22px}
input[type=search],select{flex:1;min-width:210px;padding:14px 18px;border-radius:999px;border:1px solid var(--hairline-soft);background:rgba(255,255,255,.06);color:var(--text);font-size:16px;outline:none}
input[type=search]:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(212,175,55,.18)}
select option{color:#111}
/* ---- Cards ---- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;padding:22px 0 48px}
.card{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid var(--hairline-soft);border-radius:24px;padding:24px;text-decoration:none;color:var(--text);display:block;box-shadow:var(--shadow-sm);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.card:hover{transform:translateY(-4px);border-color:var(--hairline);box-shadow:var(--shadow)}
.card h3{margin:14px 0 6px;font-size:22px;letter-spacing:-.2px}
.card p{color:var(--muted);margin:0 0 16px}
.meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pill{background:rgba(255,255,255,.07);border:1px solid var(--hairline-soft);border-radius:999px;padding:5px 12px;font-size:13px;color:var(--muted)}
.badge{background:var(--gold-gradient);color:var(--gold-ink);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:800}
.play{font-weight:800;color:var(--gold-light)}
.play::after{content:"";display:block;height:1px;margin-top:14px;background:linear-gradient(90deg,var(--gold),transparent)}
/* ---- iOS-style game pages ---- */
.game-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;
  max-width:1120px;margin:0 auto;padding:13px 20px;
  background:rgba(14,14,20,.72);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);
  border-bottom:1px solid var(--hairline-soft)}
.game-header-title{font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.back{display:inline-flex;align-items:center;min-height:44px;padding:6px 14px;border-radius:999px;text-decoration:none;color:var(--gold-light);background:rgba(212,175,55,.12);border:1px solid var(--hairline);font-weight:700}
.game-page{padding:28px 20px 48px}
.game-page h1{font-size:clamp(32px,5vw,46px);letter-spacing:-.02em;line-height:1.1;margin:18px 0 6px}
.game-page h1+p{color:var(--muted);max-width:680px}
.game-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:var(--panel);border:1px solid var(--hairline-soft);border-radius:var(--radius);padding:14px;margin:20px 0;box-shadow:var(--shadow-sm)}
button,.btn{appearance:none;border:0;background:var(--gold-gradient);color:var(--gold-ink);font-weight:800;font-size:16px;padding:14px 22px;border-radius:999px;cursor:pointer;min-height:52px;min-width:52px;box-shadow:0 10px 24px rgba(212,175,55,.28);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
button:hover{filter:brightness(1.06)}
button:active{transform:scale(.97);box-shadow:0 4px 12px rgba(212,175,55,.2)}
button.secondary{background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--hairline-soft);box-shadow:none}
#score{font-weight:800;background:rgba(212,175,55,.14);border:1px solid var(--hairline);color:var(--gold-pale);border-radius:999px;padding:8px 14px}
#status{color:var(--muted);font-weight:600}
.game-area{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid var(--hairline-soft);border-radius:24px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:16px;touch-action:none;box-shadow:var(--shadow-sm)}
canvas{max-width:100%;height:auto;background:#0d0d14;border:1px solid var(--hairline-soft);border-radius:18px;display:block}
.board{display:grid;gap:8px;width:100%;max-width:420px;margin:0 auto}
.cell,.tile,.mole,.pad{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border-radius:16px;font-size:24px;font-weight:800;cursor:pointer;user-select:none;min-height:56px;border:1px solid var(--hairline-soft);transition:transform .12s ease,border-color .12s ease}
.cell:hover,.tile:hover{border-color:var(--gold)}
.cell:active,.tile:active,.mole:active,.pad:active{transform:scale(.96)}
.dpad{display:grid;grid-template-columns:repeat(3,64px);gap:8px;justify-content:center}
.dpad button{width:64px;height:56px;padding:0}
.dpad .spacer{background:transparent;box-shadow:none}
.keys{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.hint{color:var(--muted);text-align:center}
.letters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:520px}
.letters button{min-width:46px;padding:12px}
.word{font-size:clamp(28px,6vw,44px);letter-spacing:.3em;text-align:center}
/* iOS segmented control: use on any .segmented group of buttons */
.segmented{display:inline-flex;background:rgba(255,255,255,.07);border:1px solid var(--hairline-soft);border-radius:999px;padding:4px;gap:4px}
.segmented button{background:transparent;color:var(--muted);box-shadow:none;min-height:44px}
.segmented button.active,.segmented button[aria-pressed="true"]{background:var(--gold-gradient);color:var(--gold-ink)}
footer{padding:32px 20px 44px;color:var(--muted);border-top:1px solid var(--hairline-soft)}
footer::before{content:"";display:block;height:1px;margin-bottom:24px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
@media(max-width:560px){
  .hero{padding:44px 20px 8px}
  .stat{padding:14px 16px}.stat b{font-size:24px}
  .game-area{padding:14px}.cell,.tile{font-size:20px}
  .game-header{padding:11px 16px}.game-header-title{display:none}
  .game-page{padding-top:20px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
