/* ═══ TOKENS — default: Calm Mint ══════════════════════════════ */
:root {
  --bg:             #eef5f1;
  --surface:        #ffffff;
  --surface-strong: #dff3ed;
  --text:           #1d2a24;
  --muted:          #5f7068;
  --border:         #d6e6dd;
  --accent:         #2f8f6b;
  --accent-strong:  #1f6b4f;
  --accent-soft:    #c5ece2;
  --good:           #2f9d6e;
  --bad:            #d4604f;
  --warn:           #cf9534;
  --shadow:         0 8px 24px rgba(12,54,44,.10);
  --radius:         8px;
  --t:              .15s;
}

[data-theme="lavender"] {
  --bg:#f3eef8; --surface:#fff; --surface-strong:#ece2fb;
  --text:#271f33; --muted:#6c6177; --border:#e2d8ee;
  --accent:#7a5cc4; --accent-strong:#5a3d9a; --accent-soft:#e5d8fb;
  --shadow:0 8px 24px rgba(55,36,92,.10);
}
[data-theme="dark"] {
  --bg:#14161b; --surface:#1e222b; --surface-strong:#252a34;
  --text:#eef1f5; --muted:#9aa4b2; --border:#2d323d;
  --accent:#5cc4a8; --accent-strong:#8ef0d8; --accent-soft:#183c34;
  --shadow:0 8px 24px rgba(0,0,0,.30);
}
[data-theme="sunny"] {
  --bg:#f7f1e4; --surface:#fffdf8; --surface-strong:#f2e4c0;
  --text:#2e2718; --muted:#71684f; --border:#e8dcc4;
  --accent:#d2862b; --accent-strong:#a86018; --accent-soft:#f6e4a8;
  --shadow:0 8px 24px rgba(87,60,13,.10);
}
[data-theme="ocean"] {
  --bg:#eaf1f8; --surface:#fff; --surface-strong:#d4e7f4;
  --text:#162635; --muted:#5a6b7a; --border:#cfe0ee;
  --accent:#2f7fc4; --accent-strong:#1f5f9a; --accent-soft:#c8e8f5;
  --shadow:0 8px 24px rgba(13,74,104,.10);
}
[data-theme="rose"] {
  --bg:#fdf2f5; --surface:#fff; --surface-strong:#fce0e8;
  --text:#2e1520; --muted:#8a5f6b; --border:#f0c0cc;
  --accent:#c23d6a; --accent-strong:#9a2150; --accent-soft:#fad4df;
  --shadow:0 8px 24px rgba(120,30,60,.10);
}
[data-theme="forest"] {
  --bg:#eef5ed; --surface:#fff; --surface-strong:#d6edd8;
  --text:#0d2010; --muted:#4f6b52; --border:#b4d8b8;
  --accent:#297a35; --accent-strong:#1b5524; --accent-soft:#bfe4c4;
  --shadow:0 8px 24px rgba(8,50,12,.10);
}
[data-theme="ember"] {
  --bg:#fdf4ee; --surface:#fff; --surface-strong:#fadcc8;
  --text:#2b1208; --muted:#80553c; --border:#f0c0a0;
  --accent:#c8501e; --accent-strong:#9a3510; --accent-soft:#fad4b8;
  --shadow:0 8px 24px rgba(100,40,10,.10);
}
[data-theme="dusk"] {
  --bg:#f2eefb; --surface:#fff; --surface-strong:#e2d8f8;
  --text:#1a1030; --muted:#70639a; --border:#d0c4ec;
  --accent:#7c4fc0; --accent-strong:#5a3490; --accent-soft:#e4d8f8;
  --shadow:0 8px 24px rgba(60,30,120,.10);
}
[data-theme="slate"] {
  --bg:#f2f4f7; --surface:#fff; --surface-strong:#e2e8f0;
  --text:#1a2335; --muted:#64748b; --border:#cbd5e1;
  --accent:#3b5bdb; --accent-strong:#2a3fa8; --accent-soft:#d0d9f5;
  --shadow:0 8px 24px rgba(20,40,90,.10);
}
[data-theme="graphite"] {
  --bg:#f4f4f5; --surface:#fff; --surface-strong:#e8e8ea;
  --text:#1a1a20; --muted:#78788c; --border:#d0d0d8;
  --accent:#505070; --accent-strong:#34344e; --accent-soft:#d8d8e8;
  --shadow:0 8px 24px rgba(20,20,40,.10);
}

/* ═══ BASE ══════════════════════════════════════════════════════ */
*                { box-sizing:border-box; }
html             { scroll-behavior:smooth; }
body             { margin:0; background:var(--bg); color:var(--text);
                   font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
                   line-height:1.5; min-height:100vh; }
button,select    { font:inherit; }
a                { color:inherit; }
h1,h2,h3,p      { margin-top:0; }

.sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0); }

/* ═══ SHELL ═════════════════════════════════════════════════════ */
.app-shell {
  width:100%; max-width:600px; min-height:100vh;
  margin:0 auto; display:flex; flex-direction:column; background:var(--bg);
}

/* ═══ TOPBAR ════════════════════════════════════════════════════ */
.topbar {
  position:sticky; top:0; z-index:20;
  background:var(--surface); border-bottom:1px solid var(--border);
  padding:12px 18px; display:flex; align-items:center;
  justify-content:space-between; gap:10px;
}
.brand {
  display:flex; flex-direction:column; align-items:flex-start; gap:2px;
  background:none; border:none; padding:0; cursor:pointer;
  text-align:left; min-width:0; flex:1;
}
.brand-name {
  font-family:'Space Grotesk',sans-serif; font-weight:700;
  font-size:17px; color:var(--text); line-height:1.15; letter-spacing:-.01em;
}
.brand-accent { color:var(--accent); }
.brand-sub {
  font-size:10px; font-weight:700; letter-spacing:.06em;
  color:var(--muted); text-transform:uppercase;
}
.theme-select {
  appearance:none; -webkit-appearance:none;
  background:var(--bg); color:var(--text);
  border:1px solid var(--border); border-radius:6px;
  padding:7px 26px 7px 11px; font-size:12px; font-weight:700; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),
                   linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;
  background-size:5px 5px,5px 5px; background-repeat:no-repeat;
}

/* ═══ MAIN / VIEW SECTIONS ══════════════════════════════════════ */
main              { flex:1; display:flex; flex-direction:column; min-height:0; }
.view-section     { padding:18px 18px 28px; display:flex; flex-direction:column; gap:16px; flex:1; }
.view-section.is-hidden { display:none; }

/* ═══ BOTTOM NAV ════════════════════════════════════════════════ */
.bottom-nav {
  position:sticky; bottom:0; z-index:20;
  background:var(--surface); border-top:1px solid var(--border);
  display:flex; padding:6px 8px;
}
.nav-btn {
  flex:1; display:flex; flex-direction:column; align-items:center; gap:3px;
  background:none; border:none; padding:7px 0; cursor:pointer;
  font-size:11px; font-weight:700; color:var(--muted); transition:color var(--t);
}
.nav-btn.is-active { color:var(--accent); }
.nav-icon { font-size:17px; line-height:1; }

/* ═══ FOOTER ════════════════════════════════════════════════════ */
.footer {
  background:var(--surface); border-top:1px solid var(--border);
  padding:14px 18px; text-align:center;
  font-size:11px; font-weight:600; color:var(--muted);
  display:flex; flex-direction:column; align-items:center; gap:7px;
}
.refresh-badge {
  display:inline-flex; align-items:center; gap:5px;
  font-size:10px; font-weight:700; letter-spacing:.04em;
  color:var(--accent,#2f8f6b);
  background:color-mix(in srgb,var(--accent,#2f8f6b) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--accent,#2f8f6b) 30%,transparent);
  border-radius:20px; padding:3px 10px;
  animation:refresh-pulse 3s ease-in-out infinite;
}
@keyframes refresh-pulse {
  0%,100% { opacity:1; }
  50%      { opacity:.6; }
}

/* ═══ TYPOGRAPHY ════════════════════════════════════════════════ */
.page-title {
  font-family:'Space Grotesk',sans-serif; font-size:22px; font-weight:700;
  color:var(--text); letter-spacing:-.01em; margin:0;
}
.page-sub { margin:0; font-size:13px; color:var(--muted); font-weight:500; }

/* ═══ CAT TABS ══════════════════════════════════════════════════ */
.cat-tabs {
  display:flex; gap:8px; background:var(--surface);
  border:1px solid var(--border); border-radius:8px; padding:4px;
}
.cat-tab {
  flex:1; text-align:center; padding:9px 0; border-radius:6px;
  border:none; cursor:pointer; font-size:13px; font-weight:700;
  background:transparent; color:var(--muted); transition:all var(--t);
}
.cat-tab.is-active { background:var(--accent); color:#fff; }

/* ═══ FILTER CHIPS ══════════════════════════════════════════════ */
.chip-row { display:flex; gap:7px; flex-wrap:wrap; }
.chip {
  background:var(--surface); color:var(--muted);
  border:1px solid var(--border); border-radius:999px;
  font-size:12px; font-weight:700; padding:6px 13px;
  cursor:pointer; transition:all var(--t);
}
.chip.is-active { background:var(--text); color:var(--surface); border-color:var(--text); }

/* ═══ AD SLOT ═══════════════════════════════════════════════════ */
.ad-slot {
  border:1px dashed var(--border); border-radius:8px; background:var(--bg);
  padding:14px; display:flex; align-items:center; justify-content:center;
  gap:10px; min-height:76px;
}
.ad-badge {
  font-size:9px; font-weight:800; letter-spacing:.1em; color:var(--muted);
  border:1px solid var(--border); border-radius:4px; padding:2px 6px;
  text-transform:uppercase;
}
.ad-label-text { font-size:12px; font-weight:600; color:var(--muted); }

/* ═══ GAMES GRID ════════════════════════════════════════════════ */
.games-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(158px,1fr)); gap:12px;
}
.game-card {
  background:var(--surface); border:1px solid var(--border);
  border-radius:8px; padding:14px; text-align:left; cursor:pointer;
  display:flex; flex-direction:column; gap:7px; min-height:164px;
  transition:transform var(--t),box-shadow var(--t),border-color var(--t);
  color:var(--text); position:relative;
}
.game-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--ga,var(--accent)); }
/* Kids: accent on top */
.game-card.is-kids { border-top:3px solid var(--ga); }
/* Pro: accent on left, slightly sharper */
.game-card.is-pro  { border-left:3px solid var(--ga); border-radius:4px; }

.card-glyph {
  width:40px; height:40px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
  font-size:21px; background:var(--glyph-bg); color:var(--ga);
}
.game-card.is-pro .card-glyph {
  width:34px; height:34px; border-radius:6px; font-size:17px;
  background:transparent; border:1.5px solid var(--ga); opacity:.8;
}
.card-name  { font-weight:700; font-size:15px; color:var(--text); line-height:1.15; }
.card-skill { font-size:11px; font-weight:800; color:var(--ga); letter-spacing:.01em; }
.game-card.is-pro .card-skill {
  color:var(--muted); letter-spacing:.09em; text-transform:uppercase; font-size:10px;
}
.card-desc  { font-size:11.5px; color:var(--muted); line-height:1.35; font-weight:500; flex:1; }
.card-play  { margin-top:2px; color:var(--ga); font-size:12px; font-weight:800; align-self:flex-start; }
.game-card.is-kids .card-play {
  background:var(--glyph-bg); padding:5px 11px; border-radius:6px;
}

/* ═══ PLAY SCREEN ═══════════════════════════════════════════════ */
.play-wrap  { display:flex; flex-direction:column; flex:1; padding:0; gap:0; }
.play-inner { padding:16px 18px; display:flex; flex-direction:column; gap:14px; flex:1; }

.play-header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.play-title  { display:flex; align-items:center; gap:10px; min-width:0; }
.play-glyph  {
  width:34px; height:34px; border-radius:7px; flex:none;
  display:flex; align-items:center; justify-content:center;
  font-size:18px; background:var(--ga); color:#fff;
}
.play-name   { font-weight:700; font-size:16px; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.quit-btn {
  background:var(--bg); border:1px solid var(--border); color:var(--muted);
  border-radius:6px; font-size:12px; font-weight:700; padding:7px 11px;
  cursor:pointer; flex:none;
}

.stat-bar {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:9px 13px;
}
.stat-label { font-size:12px; font-weight:700; color:var(--muted); }
.stat-timer { font-family:'Space Grotesk',sans-serif; font-size:14px; font-weight:600; color:var(--text); }
.stat-score { font-family:'Space Grotesk',sans-serif; font-size:14px; font-weight:600; color:var(--ga); }

/* Prompt panel */
.prompt-panel {
  background:var(--surface); border:1px solid var(--border);
  border-radius:10px; padding:18px;
  display:flex; flex-direction:column; gap:16px; flex:1;
}
.prompt-text { margin:0; font-size:16px; font-weight:600; color:var(--text); line-height:1.4; }

/* Sequence strip */
.strip-row  { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.strip-tile {
  min-width:48px; height:48px; padding:0 10px;
  display:flex; align-items:center; justify-content:center;
  background:var(--bg); border:1px solid var(--border); border-radius:8px;
  font-size:22px; font-weight:700; color:var(--text);
  font-family:'Space Grotesk',sans-serif;
}
.strip-blank {
  min-width:48px; height:48px;
  display:flex; align-items:center; justify-content:center;
  border:2px dashed var(--ga); border-radius:8px;
  font-size:22px; font-weight:800; color:var(--ga);
}

/* Options */
.options-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.option-btn {
  display:flex; align-items:center; justify-content:space-between; gap:4px;
  background:var(--bg); border:1.5px solid var(--border); border-radius:8px;
  padding:13px 14px; cursor:pointer; font-size:14px; font-weight:700;
  color:var(--text); min-height:54px; text-align:left; line-height:1.25;
  transition:all var(--t);
}
.option-btn:hover:not(:disabled) { border-color:var(--accent); }
.option-btn.is-correct   { background:rgba(47,157,110,.14); border-color:#2f9d6e; }
.option-btn.is-wrong     { background:rgba(212,96,79,.14);  border-color:#d4604f; }
.option-btn.show-correct { border-color:#2f9d6e; }
.option-btn.is-dimmed    { color:var(--muted); }
.option-mark             { font-weight:800; font-size:15px; margin-left:6px; flex:none; }

/* Memory */
.memory-hint { margin:0; font-size:13px; font-weight:700; color:var(--ga); }
.memory-grid-wrap { display:flex; flex-direction:column; gap:12px; align-items:center; }
.memory-grid { display:grid; gap:8px; width:100%; }
.memory-cell {
  aspect-ratio:1; border:1.5px solid var(--border); border-radius:8px;
  background:var(--surface); cursor:pointer; color:var(--ga);
  font-weight:800; font-size:18px;
  display:flex; align-items:center; justify-content:center;
  transition:background var(--t),border-color var(--t);
}
.memory-cell.is-lit     { background:var(--ga); border-color:var(--ga); }
.memory-cell.is-correct { background:rgba(47,157,110,.18); border-color:#2f9d6e; color:#2f9d6e; }
.memory-cell.is-wrong   { background:rgba(212,96,79,.16);  border-color:#d4604f; color:#d4604f; }

/* Tap grid */
.tap-info { margin:0; font-size:13px; font-weight:700; color:var(--ga); }
.tap-grid-wrap { display:flex; flex-direction:column; gap:12px; align-items:center; }
.tap-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; width:100%; }
.tap-item {
  aspect-ratio:1; border:1.5px solid var(--border); border-radius:10px;
  background:var(--surface); cursor:pointer; color:var(--text);
  font-weight:800; font-size:26px;
  display:flex; align-items:center; justify-content:center;
  transition:all var(--t);
}
.tap-item.is-found { background:rgba(47,157,110,.16); border-color:#2f9d6e; color:#2f9d6e; }
.tap-item.is-wrong { background:rgba(212,96,79,.14);  border-color:#d4604f; color:#d4604f; }

/* Status */
.play-status { margin:0; text-align:center; font-size:14px; font-weight:800; min-height:18px; }
.play-status.is-good { color:var(--good); }
.play-status.is-bad  { color:var(--bad); }
.play-status.is-warn { color:var(--warn); }
.play-status.is-muted{ color:var(--muted); }

/* Level picker */
.level-picker { display:flex; flex-direction:column; gap:10px; }
.level-card {
  all:unset; background:var(--surface); border:1.5px solid var(--border);
  border-radius:8px; padding:14px 16px; cursor:pointer;
  display:flex; flex-direction:column; gap:4px;
  transition:border-color var(--t),box-shadow var(--t);
}
.level-card:hover,:focus-visible { border-color:var(--accent); box-shadow:var(--shadow); outline:none; }
.level-name   { font-family:'Space Grotesk',sans-serif; font-size:15px; font-weight:700; color:var(--accent); }
.level-rounds { font-size:12px; font-weight:600; color:var(--muted); }
.level-desc   { font-size:13px; color:var(--text); line-height:1.4; margin-top:2px; }

/* Level badge */
.level-badge {
  border:1px solid var(--border); border-radius:999px; color:var(--muted);
  display:inline-block; font-size:10px; font-weight:700; letter-spacing:.05em;
  margin-left:8px; padding:2px 7px; text-transform:uppercase; vertical-align:middle;
}

/* Feedback with justification */
.feedback-block { border-radius:8px; padding:12px 14px; display:flex; flex-direction:column; gap:6px; }
.feedback-block.is-correct { background:rgba(47,157,110,.10); border:1px solid #2f9d6e; }
.feedback-block.is-wrong   { background:rgba(212,96,79,.10);  border:1px solid #d4604f; }
.feedback-verdict           { font-size:13px; font-weight:700; }
.feedback-block.is-correct .feedback-verdict { color:var(--good); }
.feedback-block.is-wrong   .feedback-verdict { color:var(--bad); }
.feedback-answer      { font-size:13px; font-weight:600; color:var(--text); }
.feedback-justification {
  font-size:13px; color:var(--muted); line-height:1.5;
  border-top:1px solid var(--border); padding-top:6px; margin-top:2px;
}

/* ═══ RESULT ════════════════════════════════════════════════════ */
.result-wrap { padding:24px 18px 28px; display:flex; flex-direction:column; gap:16px; }
.result-head { display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; }
.result-glyph {
  width:54px; height:54px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-size:28px; background:var(--ga,var(--accent)); color:#fff;
}
.result-headline {
  font-family:'Space Grotesk',sans-serif; font-size:24px; font-weight:700;
  color:var(--text); margin:6px 0 0;
}
.result-game-name { font-size:14px; color:var(--muted); font-weight:600; margin:0; }

.result-stats { display:flex; gap:12px; }
.result-stat  {
  flex:1; background:var(--surface); border:1px solid var(--border);
  border-radius:10px; padding:16px; text-align:center;
}
.result-stat-label {
  font-size:10px; font-weight:800; letter-spacing:.08em;
  color:var(--muted); text-transform:uppercase;
}
.result-stat-val {
  font-family:'Space Grotesk',sans-serif; font-size:34px; font-weight:700; line-height:1.1;
}
.result-stat.is-score .result-stat-val { color:var(--ga,var(--accent)); }
.result-stat.is-time  .result-stat-val { color:var(--text); }

.result-saved {
  border-radius:8px; padding:11px 14px; font-size:12.5px; font-weight:700; text-align:center;
}
.result-saved.is-on  { background:rgba(47,157,110,.12); border:1px solid #2f9d6e; color:#1f7a52; }
.result-saved.is-off { background:var(--bg); border:1px dashed var(--border); color:var(--muted); }

.result-actions { display:flex; gap:10px; }

/* ── Social share (pro results) ── */
.share-block {
  background:var(--surface); border:1px solid var(--border); border-radius:8px;
  padding:14px; display:flex; flex-direction:column; gap:10px;
}
.share-title { margin:0; font-size:13px; font-weight:700; color:var(--text); }
.share-row { display:flex; gap:8px; flex-wrap:wrap; }
.share-btn {
  flex:1; min-width:44px; height:40px; border:1px solid var(--border); border-radius:8px;
  background:var(--bg); color:var(--text); font-size:15px; font-weight:700;
  cursor:pointer; display:flex; align-items:center; justify-content:center; gap:6px;
  transition:transform .1s ease, border-color .15s ease;
}
.share-btn:hover { border-color:var(--accent); transform:translateY(-1px); }
.share-btn:active { transform:translateY(0); }
.share-native { flex:2; background:var(--accent); color:#fff; border-color:var(--accent); }
.share-x  { font-family:'Space Grotesk',sans-serif; }
.share-li { color:#0a66c2; }
.share-fb { color:#1877f2; }
.share-copy { font-size:13px; }
.share-hint { margin:0; font-size:11px; color:var(--muted); }

.result-ad {
  border:1px dashed var(--border); border-radius:8px; background:var(--surface);
  padding:18px; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:6px; min-height:96px;
}

/* ═══ SCORES ════════════════════════════════════════════════════ */
.info-strip {
  display:flex; gap:10px; align-items:flex-start;
  background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:12px 14px;
}
.info-strip p { margin:0; font-size:12px; font-weight:600; color:var(--text); line-height:1.4; }

.saving-row {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:12px 14px;
}
.saving-text  { display:flex; flex-direction:column; gap:2px; }
.saving-title { font-size:13px; font-weight:700; color:var(--text); }
.saving-sub   { font-size:11px; color:var(--muted); font-weight:500; }

.toggle-switch {
  width:46px; height:26px; border-radius:999px;
  border:1px solid var(--border); background:var(--bg);
  position:relative; cursor:pointer; flex:none;
  transition:background var(--t),border-color var(--t); padding:0;
}
.toggle-switch.is-on { background:var(--accent); border-color:var(--accent); }
.toggle-knob {
  position:absolute; top:2px; left:2px; width:20px; height:20px;
  border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.3);
  transition:left var(--t);
}
.toggle-switch.is-on .toggle-knob { left:22px; }

.score-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.score-row  {
  display:flex; align-items:center; gap:12px;
  background:var(--surface); border:1px solid var(--border);
  border-left:3px solid var(--sa,var(--accent)); border-radius:8px; padding:11px 14px;
}
.score-dot  {
  width:34px; height:34px; border-radius:7px; flex:none;
  display:flex; align-items:center; justify-content:center;
  font-size:17px; background:var(--dot-bg); color:var(--sa,var(--accent));
}
.score-info { flex:1; min-width:0; }
.score-name { font-size:13px; font-weight:700; color:var(--text); }
.score-meta { font-size:11px; color:var(--muted); font-weight:500; }
.score-val  { font-family:'Space Grotesk',sans-serif; font-size:18px; font-weight:700; color:var(--text); }

.empty-state {
  border:1px dashed var(--border); border-radius:8px; padding:28px;
  text-align:center; color:var(--muted); font-size:13px; font-weight:600;
}
.danger-btn {
  align-self:flex-start; background:var(--surface);
  border:1px solid var(--bad); color:var(--bad);
  border-radius:7px; font-size:13px; font-weight:700; padding:10px 16px; cursor:pointer;
}
.scores-note { margin:4px 0 0; font-size:11.5px; color:var(--muted); font-weight:500; line-height:1.5; }

/* ═══ PRIVACY ═══════════════════════════════════════════════════ */
.priv-card {
  background:var(--surface); border:1px solid var(--border);
  border-radius:10px; padding:16px; display:flex; flex-direction:column; gap:10px;
}
.priv-card h2 { font-size:14px; font-weight:700; color:var(--text); margin:0; }
.priv-card p  { margin:0; font-size:12.5px; color:var(--muted); line-height:1.55; font-weight:500; }
.priv-highlight {
  border-left:3px solid var(--accent); background:var(--bg); border-radius:4px; padding:11px 13px;
}
.priv-highlight p { color:var(--text); font-weight:600; }
.priv-footer {
  text-align:center; font-size:11px; font-weight:700; letter-spacing:.05em;
  color:var(--muted); text-transform:uppercase; margin:6px 0 0;
}

/* ═══ BUTTONS ═══════════════════════════════════════════════════ */
.btn {
  border:none; border-radius:8px;
  font-size:14px; font-weight:700; padding:13px; cursor:pointer; text-align:center;
  text-decoration:none; display:inline-block;
}
.btn-primary  { background:var(--ga,var(--accent)); color:#fff; flex:1; }
.btn-secondary{ background:var(--surface); color:var(--text); border:1px solid var(--border); flex:1; }
.btn-accent   { background:var(--accent); color:#fff; }
.btn-danger   { background:var(--bad); color:#fff; flex:1; }
.btn-full     { width:100%; }

/* ═══ MODALS ════════════════════════════════════════════════════ */
.modal-overlay {
  position:fixed; inset:0; z-index:40; background:rgba(0,0,0,.45);
  display:flex; align-items:center; justify-content:center; padding:24px;
}
.modal-overlay.is-hidden { display:none; }
.modal-box {
  background:var(--surface); border:1px solid var(--border); border-radius:12px;
  padding:22px; max-width:340px; width:100%;
  display:flex; flex-direction:column; gap:14px;
  box-shadow:0 20px 50px rgba(0,0,0,.3);
}
.modal-title  { font-family:'Space Grotesk',sans-serif; margin:0; font-size:17px; font-weight:700; color:var(--text); }
.modal-body   { margin:0; font-size:13px; }
.danger-text  { color:var(--bad); font-weight:700; line-height:1.5; }
.modal-actions{ display:flex; gap:10px; }

.ad-label-row { display:flex; align-items:center; justify-content:center; gap:8px; }
.ad-inter-slot {
  border:1px dashed var(--border); border-radius:8px; background:var(--bg);
  min-height:150px; display:flex; align-items:center; justify-content:center;
  color:var(--muted); font-size:12px; font-weight:600;
}
