@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=DM+Mono:wght@400;500&display=swap";:root{--crimson:#c5224a;--crimson-hover:#a81d3f;--crimson-deep:#8b1633;--crimson-light:#fce8ed;--crimson-mid:#f4c0ce;--navy:#0f2240;--navy-mid:#162d55;--navy-light:#1e3d70;--nav-accent:#3b82f6;--blue:#c5224a;--blue-light:#d4365a;--blue-dim:#fce8ed;--green:#059669;--green-dim:#d1fae5;--amber:#d97706;--amber-dim:#fef3c7;--red:#e11d48;--red-dim:#ffe4e6;--gray-50:#f7f6f4;--gray-100:#f0efed;--gray-200:#e4e2de;--gray-300:#cccac6;--gray-400:#9e9b96;--gray-500:#6e6b65;--gray-600:#514e49;--gray-700:#3a3835;--gray-800:#2c2a27;--gray-900:#1a1917;--white:#fff;--dark:#2c2728;--warm-gray:#c7c5bf;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--shadow-sm:0 1px 3px #2c272812, 0 1px 2px #2c27280a;--shadow:0 4px 12px #2c272817, 0 1px 3px #2c27280d;--shadow-lg:0 10px 30px #2c272821, 0 4px 8px #2c27280f;--sidebar-w:240px;--font:"Plus Jakarta Sans", system-ui, sans-serif;--font-mono:"DM Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px}body{font-family:var(--font);background:var(--gray-50);color:var(--gray-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01";line-height:1.5}#root{text-align:left;border:none;width:100%;max-width:100%;min-height:100svh;margin:0;display:block}h1,h2,h3,h4{font-family:var(--font);color:var(--gray-900);font-weight:600;line-height:1.3}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font);cursor:pointer}input,select,textarea{font-family:var(--font)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-in{animation:.2s both fadeIn}
