/* Tonight: install page (store-style). Same night palette as the app; nothing else from
   app.css is needed here, so this page stays tiny. */

@font-face { font-family: 'Bricolage Grotesque'; src: url(../vendor/fonts/bricolage-grotesque-latin-wght-normal.woff2) format('woff2'); font-weight: 200 800; font-display: swap; }
@font-face { font-family: 'Figtree'; src: url(../vendor/fonts/figtree-latin-wght-normal.woff2) format('woff2'); font-weight: 300 900; font-display: swap; }

:root {
  --ink: #ffffff;
  --ink-soft: rgba(255, 255, 255, .68);
  --night: #1b1442;
  --night-deep: #120c2c;
  --glow: #ffb84d;
  --glow-2: #ff8a4c;
  --on-glow: #26134a;
  --card: rgba(255, 255, 255, .07);
  --line: rgba(255, 255, 255, .13);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background: radial-gradient(900px 500px at 10% 110%, rgba(255, 138, 76, .26), transparent 60%), linear-gradient(160deg, #2b2063 0%, var(--night) 55%, var(--night-deep) 100%) fixed;
  font-family: 'Figtree', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--glow); }

.gp-wrap { max-width: 520px; margin: 0 auto; padding: 0 18px 56px; }

/* top bar */
.gp-topbar { display: flex; align-items: center; gap: 12px; padding: calc(16px + env(safe-area-inset-top, 0px)) 0 8px; }
.gp-back {
  display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%;
  color: #fff; text-decoration: none; background: rgba(255, 255, 255, .12);
}
.gp-back:hover { background: rgba(255, 255, 255, .2); }
.gp-topbar-title { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; letter-spacing: -.02em; }

/* app head */
.gp-app-head { display: flex; align-items: center; gap: 16px; margin: 14px 0 20px; }
.gp-icon { width: 84px; height: 84px; border-radius: 20px; box-shadow: 0 10px 26px rgba(0, 0, 0, .4); }
.gp-app-name { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.9rem; font-weight: 800; letter-spacing: -.03em; margin: 0; }
.gp-tagline-sm { margin: 2px 0 0; color: var(--ink-soft); font-size: .98rem; }

/* stats */
.gp-stats {
  display: flex; align-items: center; justify-content: space-around;
  background: var(--card); border: 1px solid var(--line); border-radius: 18px;
  padding: 14px 8px; margin-bottom: 16px;
}
.gp-stat { text-align: center; min-width: 84px; }
.gp-stat strong { display: flex; align-items: center; justify-content: center; height: 30px; font-size: 1.1rem; }
.gp-stat > span { display: block; margin-top: 2px; color: var(--ink-soft); font-size: .78rem; }
.gp-stat-18 {
  display: inline-flex; align-items: center; justify-content: center; height: 26px; padding: 0 7px;
  border: 2px solid #fff; border-radius: 7px; font-size: .88rem; font-weight: 800; line-height: 1;
}
.gp-stat-div { width: 1px; align-self: stretch; background: var(--line); }

/* CTA */
.gp-cta { margin-bottom: 22px; }
.gp-install-btn {
  width: 100%; padding: 16px 18px; border: 0; border-radius: 999px;
  background: linear-gradient(135deg, var(--glow), var(--glow-2)); color: var(--on-glow);
  font: inherit; font-size: 1.08rem; font-weight: 700; cursor: pointer;
  box-shadow: 0 8px 22px rgba(255, 138, 76, .35);
  transition: filter .15s ease, transform .05s ease;
}
.gp-install-btn:hover { filter: brightness(1.06); }
.gp-install-btn:active { transform: translateY(1px); }
.gp-install-btn.is-open { background: rgba(255, 255, 255, .16); color: #fff; box-shadow: none; }
.gp-install-btn:disabled { opacity: .7; }
.gp-hint { margin: 10px 2px 0; color: var(--ink-soft); font-size: .88rem; text-align: center; }
.gp-open { display: block; text-align: center; margin-top: 12px; font-weight: 650; }

/* blocks */
.gp-block {
  background: var(--card); border: 1px solid var(--line); border-radius: 18px;
  padding: 18px 18px 20px; margin-bottom: 14px;
}
.gp-block-title { font-family: 'Bricolage Grotesque', sans-serif; margin: 0 0 10px; font-size: 1.1rem; font-weight: 800; letter-spacing: -.02em; }
.gp-block p { margin: 0 0 10px; font-size: .95rem; }
.gp-block p:last-child { margin-bottom: 0; }
.gp-note { color: var(--ink-soft); font-size: .85rem !important; }
.gp-points { list-style: none; padding: 0; margin: 0; display: grid; gap: .7rem; }
.gp-points li { display: flex; gap: .75rem; align-items: flex-start; font-size: .95rem; }
.gp-points .ico { flex: none; width: 34px; height: 34px; border-radius: 11px; background: rgba(255, 255, 255, .1); color: var(--glow); display: grid; place-items: center; }
.gp-points svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.gp-points strong { display: block; }
.gp-points span.t { color: var(--ink-soft); }

/* FAQ */
.gp-faq-item { border-top: 1px solid var(--line); padding: 12px 0; }
.gp-faq-item:first-of-type { border-top: 0; }
.gp-faq-item summary { font-weight: 650; cursor: pointer; list-style: none; }
.gp-faq-item summary::-webkit-details-marker { display: none; }
.gp-faq-item summary::after { content: '+'; float: right; color: var(--ink-soft); }
.gp-faq-item[open] summary::after { content: '–'; }
.gp-faq-item p { margin: 8px 0 0; color: var(--ink-soft); }

/* iOS panel */
.gp-ios-steps {
  background: rgba(255, 184, 77, .14); border: 1px solid rgba(255, 184, 77, .35); color: #fff; border-radius: 16px;
  padding: 16px 18px; margin-bottom: 14px; font-size: .95rem;
}
.gp-ios-steps p { margin: 0; }

.gp-foot { text-align: center; color: var(--ink-soft); font-size: .82rem; padding-top: 10px; }
.gp-foot a { color: inherit; }
