*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:oklch(0.10 0.02 285);--bg-elevated:oklch(0.14 0.025 285);--bg-card:oklch(0.16 0.03 285/0.6);--bg-card-hover:oklch(0.20 0.035 285/0.7);--accent:oklch(0.65 0.27 290);--accent-hover:oklch(0.58 0.29 290);--accent-glow:oklch(0.65 0.27 290/0.35);--accent-subtle:oklch(0.65 0.27 290/0.12);--teal:oklch(0.72 0.15 195);--teal-glow:oklch(0.72 0.15 195/0.3);--text-heading:oklch(0.95 0.01 85);--text:oklch(0.82 0.01 85);--text-muted:oklch(0.58 0.02 285);--border:oklch(1 0 0/0.07);--border-accent:oklch(0.65 0.27 290/0.25);--success:oklch(0.68 0.17 155);--error:oklch(0.60 0.2 25);--gold:oklch(0.78 0.15 85);--max-width:1100px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}img{max-width:100%;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:oklch(1 0 0);box-shadow:0 0 0 0 var(--accent-glow)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 30px var(--accent-glow)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}footer{text-align:center;padding:48px 24px;font-size:.875rem;border-top:1px solid var(--border)}footer,footer a{color:var(--text-muted)}footer a{text-decoration:underline;text-underline-offset:3px}footer a:hover{color:var(--text)}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.95)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes borderRotate{to{--angle:360deg}}@media (max-width:768px){.container{padding:0 16px}.btn{padding:12px 24px;font-size:.9375rem}}