:root{color-scheme:light dark;--bg: #f5f5f7;--surface: #ffffff;--text: #1d1d1f;--muted: #6e6e73;--border: #d2d2d7;--accent: #6d28d9}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}nav.topnav{display:flex;align-items:center;gap:1.5rem;padding:.9rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}nav.topnav .brand{font-weight:700;margin-right:auto}nav.topnav a{color:var(--text);text-decoration:none;font-size:.95rem}nav.topnav a:hover{color:var(--accent)}nav.topnav a.active{color:var(--accent);font-weight:600}main{max-width:1100px;margin:0 auto;padding:1.75rem 1.5rem 3rem}.status{background:#ecfdf5;border:1px solid #10b981;color:#065f46;padding:.6rem .9rem;border-radius:8px;margin-bottom:1rem}.errors{background:#fef2f2;border:1px solid #ef4444;color:#991b1b;padding:.6rem .9rem;border-radius:8px;margin-bottom:1rem}input[type=text],input[type=search],textarea{padding:.5rem .7rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem}button,.btn{padding:.5rem 1rem;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;font-size:.9rem;text-decoration:none;display:inline-block}button.secondary,.btn.secondary{background:transparent;color:var(--accent)}.animated-gradient{position:relative}.animated-gradient:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at center,#667eea,#764ba2,#28022c);background-size:200vw 200vh;animation:gradient-aurora 10s ease alternate infinite}@keyframes gradient-aurora{0%{background-position:0% 50%;filter:brightness(100%) saturate(100%)}25%{background-position:50% 0%;filter:brightness(110%) saturate(120%)}50%{background-position:100% 50%;filter:brightness(120%) saturate(140%)}75%{background-position:50% 100%;filter:brightness(110%) saturate(120%)}to{background-position:0% 50%;filter:brightness(100%) saturate(100%)}}@media(prefers-reduced-motion:reduce){.animated-gradient:before{animation:none}}
