:root {
  --background: 0 0% 0%;
  --foreground: 0 0% 94%;
  --primary: 0 0% 100%;
  --primary-foreground: 0 0% 0%;
  --secondary: 0 0% 9%;
  --secondary-foreground: 0 0% 92%;
  --muted: 0 0% 48%;
  --muted-foreground: 0 0% 72%;
  --destructive: 0 0% 86%;
  --destructive-foreground: 0 0% 0%;
  --border: 0 0% 18%;
  --card: 0 0% 6%;
  --shadow-sm: 0 10px 30px rgba(255,255,255,.035);
  --shadow-md: 0 24px 70px rgba(0,0,0,.68), inset 0 1px 0 rgba(255,255,255,.07);
  --shadow-lg: 0 42px 120px rgba(0,0,0,.88), 0 0 70px rgba(255,255,255,.045);
  --transition-fast: 160ms cubic-bezier(.2,.9,.2,1);
  --transition-smooth: 520ms cubic-bezier(.16,1,.3,1);
  --radius-sm: 14px;
  --radius-md: 22px;
  --radius-lg: 34px;
}
.dark {
  --background: 0 0% 0%;
  --foreground: 0 0% 96%;
  --primary: 0 0% 100%;
  --primary-foreground: 0 0% 0%;
  --secondary: 0 0% 8%;
  --secondary-foreground: 0 0% 94%;
  --muted: 0 0% 43%;
  --muted-foreground: 0 0% 69%;
  --destructive: 0 0% 82%;
  --destructive-foreground: 0 0% 0%;
  --border: 0 0% 16%;
  --card: 0 0% 5%;
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body, #root { min-height: 100%; margin: 0; background: #000; color: hsl(var(--foreground)); }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif; overflow-x: hidden; }
button, input, textarea, select { font: inherit; }
::selection { background: rgba(255,255,255,.92); color: #000; }
::-webkit-scrollbar { width: 0; height: 0; }
.app-shell { min-height: 100svh; background: radial-gradient(circle at 50% -20%, rgba(255,255,255,.16), transparent 32%), radial-gradient(circle at 12% 18%, rgba(255,255,255,.055), transparent 28%), hsl(var(--background)); position: relative; overflow: hidden; }
.app-shell::before { content: ''; pointer-events: none; position: fixed; inset: -40%; z-index: 0; opacity: .105; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E"); animation: grain 8s steps(10) infinite; }
.glass { background: linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.035)); border: 1px solid rgba(255,255,255,.12); box-shadow: var(--shadow-md); backdrop-filter: blur(26px) saturate(150%); -webkit-backdrop-filter: blur(26px) saturate(150%); }
.hairline { border-color: rgba(255,255,255,.105); }
.premium-button { transition: transform var(--transition-fast), opacity var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast); will-change: transform; }
.premium-button:active { transform: scale(.965); }
.markdown p { margin: 0 0 .85rem; color: rgba(255,255,255,.82); line-height: 1.65; }
.markdown p:last-child { margin-bottom: 0; }
.markdown strong { color: white; font-weight: 650; }
.markdown code { border: 1px solid rgba(255,255,255,.13); background: rgba(0,0,0,.46); color: white; padding: .15rem .35rem; border-radius: 8px; font-size: .86em; }
.code-block { border-radius: 20px; border: 1px solid rgba(255,255,255,.12); background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); overflow: hidden; box-shadow: var(--shadow-sm); }
.wave-bar { width: 3px; border-radius: 999px; background: rgba(255,255,255,.88); animation: wave 1s ease-in-out infinite; }
.wave-bar:nth-child(2) { animation-delay: .08s; }
.wave-bar:nth-child(3) { animation-delay: .16s; }
.wave-bar:nth-child(4) { animation-delay: .24s; }
.wave-bar:nth-child(5) { animation-delay: .32s; }
@keyframes wave { 0%,100% { height: 9px; opacity: .45; } 50% { height: 28px; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }