@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0a0a;--bg-card: #141414;--bg-subtle: #1a1a1a;--bg-hover: #1f1f1f;--text: #f5f5f5;--text-secondary: #a1a1aa;--text-muted: #52525b;--border: #27272a;--border-light: #1e1e1e;--accent: #ffffff;--accent-bg: #fff;--accent-text: #0a0a0a;--green: #22c55e;--green-bg: rgba(34,197,94,.12);--green-border: rgba(34,197,94,.25);--red: #f87171;--red-bg: rgba(248,113,113,.12);--red-border: rgba(248,113,113,.25);--radius: 12px;--font: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--mono: "JetBrains Mono", monospace;--shadow: 0 2px 12px rgba(0,0,0,.4);--toggle-bg: #27272a}[data-theme=light]{--bg: #fafafa;--bg-card: #ffffff;--bg-subtle: #f4f4f5;--bg-hover: #ececed;--text: #18181b;--text-secondary: #71717a;--text-muted: #a1a1aa;--border: #e4e4e7;--border-light: #f0f0f2;--accent: #18181b;--accent-bg: #18181b;--accent-text: #fff;--green: #16a34a;--green-bg: rgba(22,163,74,.08);--green-border: rgba(22,163,74,.2);--red: #dc2626;--red-bg: rgba(220,38,38,.08);--red-border: rgba(220,38,38,.2);--shadow: 0 2px 12px rgba(0,0,0,.06);--toggle-bg: #e4e4e7}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}#root{min-height:100vh;display:flex;flex-direction:column}input:focus{outline:none;border-color:var(--text)!important;box-shadow:0 0 0 3px #8080801a}button{cursor:pointer;transition:all .15s ease;font-family:var(--font)}button:active{transform:scale(.97)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@keyframes slideDown{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes countIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}
