:root {
  color-scheme: dark;
  --color-bg: #08110e;
  --color-surface: #10251d;
  --color-green: #00c97b;
  --color-green-bright: #4de5a5;
  --color-yellow: #ffd23f;
  --color-text: #f5faf7;
  --color-muted: #b2c6bb;
  --color-border: rgba(190, 225, 205, .15);
  --font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius-card: 20px;
  --radius-button: 12px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: var(--color-bg); color: var(--color-text); font-family: var(--font-ui); -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; }
button, input { font: inherit; }
a { color: inherit; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--color-yellow); outline-offset: 5px; }
::selection { background: var(--color-green); color: #061b12; }
.p-icon { display: inline-block; width: 22px; height: 22px; flex: 0 0 auto; vertical-align: middle; }
.p-status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--color-green); display: inline-block; flex-shrink: 0; }
.p-btn, .p-plan-btn, .p-btn-gold, .p-btn-sec2 {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; padding: 13px 24px; border: 1px solid transparent;
  border-radius: var(--radius-button); font-family: var(--font-ui); font-size: 15px;
  font-weight: 650; line-height: 1.4; text-decoration: none; cursor: pointer;
  transition: background .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.p-btn-primary { background: var(--color-green); color: #052417; box-shadow: 0 8px 24px rgba(0, 201, 123, .12); }
.p-btn-primary:hover { background: #29dc94; transform: translateY(-2px); }
.p-btn-secondary { background: rgba(255,255,255,.025); border-color: rgba(190,225,205,.3); color: var(--color-text); }
.p-btn-secondary:hover { border-color: var(--color-green); background: rgba(0,201,123,.08); }
.p-btn-arrow::after { content: '→'; font-size: 20px; }
.p-skip-link { position: fixed; top: 10px; left: 16px; z-index: 100; padding: 12px 20px; background: var(--color-yellow); color: #08110e; border-radius: 8px; transform: translateY(-160%); }
.p-skip-link:focus { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
