:root{--primary:#1e40af;--primary-light:#3b82f6;--secondary:#475569;--accent:#f59e0b;--background:#f9fafb;--text:#111827;--text-light:#6b7280;--card:#fff;--border:#e5e7eb;--success:#10b981;--error:#ef4444;--warning:#f59e0b;--shadow:0 4px 16px #00000014;--shadow-lg:0 20px 40px #0000001a;--radius:12px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px}[data-theme=dark]{--primary:#3b82f6;--secondary:#94a3b8;--background:#0f172a;--text:#f1f5f9;--card:#1e293b;--border:#334155;--shadow:0 2px 8px #0000004d}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth}html,body{background:var(--background);max-width:100vw;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{appearance:none;font-family:inherit}img{max-width:100%;height:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--secondary)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@media (max-width:640px){:root{--radius:10px}html{font-size:15px}}@media (min-width:1024px){html{font-size:16px}}::selection{background:var(--primary);color:#fff}input:-webkit-autofill{-webkit-box-shadow:0 0 0px 1000px var(--card) inset;-webkit-text-fill-color:var(--text)}input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0px 1000px var(--card) inset;-webkit-text-fill-color:var(--text)}input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px var(--card) inset;-webkit-text-fill-color:var(--text)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
