:root {
  --background: 218 48% 97%;
  --foreground: 218 48% 12%;
  --primary: 215 76% 16%;
  --primary-foreground: 0 0% 100%;
  --secondary: 41 64% 55%;
  --secondary-foreground: 218 48% 12%;
  --muted: 216 24% 91%;
  --muted-foreground: 216 15% 39%;
  --destructive: 355 74% 47%;
  --destructive-foreground: 0 0% 100%;
  --border: 216 25% 84%;
  --card: 0 0% 100%;
  --shadow-sm: 0 6px 18px rgba(7, 26, 51, .08);
  --shadow-md: 0 16px 40px rgba(7, 26, 51, .13);
  --shadow-lg: 0 28px 70px rgba(7, 26, 51, .20);
  --transition-fast: 160ms ease;
  --transition-smooth: 280ms cubic-bezier(.2,.8,.2,1);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 30px;
}
.dark {
  --background: 218 48% 8%;
  --foreground: 0 0% 98%;
  --primary: 41 64% 55%;
  --primary-foreground: 218 48% 10%;
  --secondary: 214 62% 20%;
  --secondary-foreground: 0 0% 100%;
  --muted: 218 32% 16%;
  --muted-foreground: 216 18% 74%;
  --destructive: 355 72% 55%;
  --destructive-foreground: 0 0% 100%;
  --border: 218 32% 22%;
  --card: 218 42% 12%;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; font-family: Tahoma, Arial, sans-serif; background: hsl(var(--background)); color: hsl(var(--foreground)); }
button, input, select, textarea { font: inherit; }
input, select, textarea { font-size: max(16px, 1rem); }
button, a { -webkit-tap-highlight-color: transparent; }
.glass { background: linear-gradient(135deg, rgba(255,255,255,.84), rgba(255,255,255,.62)); backdrop-filter: blur(18px); }
.dark .glass { background: linear-gradient(135deg, rgba(20,34,56,.86), rgba(13,28,49,.62)); }
.gold-text { background: linear-gradient(135deg, hsl(var(--secondary)), #f6df9e); -webkit-background-clip: text; color: transparent; }
.safe-bottom { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
.focus-ring:focus { outline: 3px solid hsl(var(--secondary) / .45); outline-offset: 2px; }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-thumb { background: hsl(var(--primary) / .35); border-radius: 999px; }
@media (display-mode: standalone) { body { overscroll-behavior-y: contain; } }