:root {
  --background: 38 55% 96%;
  --foreground: 224 39% 12%;
  --primary: 264 82% 55%;
  --primary-foreground: 0 0% 100%;
  --secondary: 31 93% 58%;
  --secondary-foreground: 224 39% 12%;
  --muted: 251 24% 90%;
  --muted-foreground: 230 12% 42%;
  --destructive: 0 78% 56%;
  --destructive-foreground: 0 0% 100%;
  --border: 250 22% 83%;
  --card: 0 0% 100%;
  --card-foreground: 224 39% 12%;
  --accent: 174 76% 42%;
  --radius-sm: 0.75rem;
  --radius-md: 1.15rem;
  --radius-lg: 1.75rem;
  --shadow-sm: 0 10px 24px hsl(264 82% 55% / 0.10);
  --shadow-md: 0 18px 45px hsl(224 39% 12% / 0.14);
  --shadow-lg: 0 28px 80px hsl(264 82% 55% / 0.22);
  --transition-fast: 160ms ease;
  --transition-smooth: 280ms cubic-bezier(.2,.8,.2,1);
}
.dark {
  --background: 230 38% 8%;
  --foreground: 38 55% 96%;
  --primary: 266 95% 68%;
  --primary-foreground: 230 38% 8%;
  --secondary: 31 96% 62%;
  --secondary-foreground: 230 38% 8%;
  --muted: 231 25% 17%;
  --muted-foreground: 235 14% 72%;
  --destructive: 0 84% 64%;
  --destructive-foreground: 0 0% 100%;
  --border: 232 22% 24%;
  --card: 230 31% 12%;
  --card-foreground: 38 55% 96%;
  --accent: 174 76% 48%;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at top right, hsl(var(--primary) / 0.16), transparent 34rem),
    radial-gradient(circle at 15% 20%, hsl(var(--secondary) / 0.16), transparent 30rem),
    hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: Tahoma, Arial, sans-serif;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
input, textarea, select { font-size: max(16px, 1rem); }
button { min-height: 44px; }
.glass {
  background: hsl(var(--card) / 0.76);
  border: 1px solid hsl(var(--border) / 0.8);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(18px);
}
.ai-orb {
  position: relative;
  overflow: hidden;
}
.ai-orb::before {
  content: '';
  position: absolute;
  inset: -40%;
  background: conic-gradient(from 180deg, hsl(var(--primary)), hsl(var(--secondary)), hsl(var(--accent)), hsl(var(--primary)));
  animation: spin 8s linear infinite;
  opacity: .22;
}
.ai-orb > * { position: relative; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.floaty { animation: floaty 4s ease-in-out infinite; }
.safe-bottom { padding-bottom: calc(0.85rem + env(safe-area-inset-bottom)); }
.safe-top { padding-top: calc(0.85rem + env(safe-area-inset-top)); }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-thumb { background: hsl(var(--primary) / .35); border-radius: 999px; }
