@import url("https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap");:root{--bg:oklch(0.985 0.004 95);--surface:#ffffff;--surface-2:oklch(0.975 0.005 286);--surface-3:oklch(0.955 0.007 286);--ink:oklch(0.24 0.018 285);--ink-2:oklch(0.46 0.02 285);--ink-3:oklch(0.62 0.018 285);--line:oklch(0.915 0.007 285);--line-2:oklch(0.88 0.008 285);--accent:oklch(0.55 0.19 283);--accent-2:oklch(0.62 0.18 283);--accent-soft:oklch(0.955 0.03 285);--accent-ink:#fff;--success:oklch(0.62 0.14 152);--success-soft:oklch(0.95 0.04 152);--danger:oklch(0.585 0.19 26);--danger-soft:oklch(0.955 0.03 26);--warn:oklch(0.74 0.14 72);--warn-soft:oklch(0.96 0.05 80);--wa:oklch(0.72 0.17 152);--sidebar:oklch(0.205 0.018 285);--sidebar-2:oklch(0.255 0.02 285);--sidebar-ink:oklch(0.97 0.008 285);--sidebar-ink-2:oklch(0.68 0.015 285);--shadow-sm:0 1px 2px oklch(0.2 0.02 285/0.06),0 1px 3px oklch(0.2 0.02 285/0.04);--shadow-md:0 4px 16px oklch(0.2 0.02 285/0.08),0 1px 3px oklch(0.2 0.02 285/0.05);--shadow-lg:0 16px 48px oklch(0.2 0.02 285/0.16),0 4px 12px oklch(0.2 0.02 285/0.08);--r-sm:8px;--r:12px;--r-lg:16px;--r-xl:22px;--font:"Hanken Grotesk",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace}*{box-sizing:border-box}body,html{margin:0;height:100%}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}#root{height:100vh;overflow:hidden}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font-family:inherit;color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:oklch(.85 .01 285);border-radius:99px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:oklch(.78 .012 285);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.mono{font-family:var(--mono);font-feature-settings:"tnum"}.clip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::selection{background:oklch(.55 .19 283/.2)}.fade-in{animation:fadeIn .35s ease}@keyframes fadeIn{0%{transform:translateY(7px)}to{transform:none}}.pop-in{animation:popIn .28s cubic-bezier(.2,.9,.3,1.2)}@keyframes popIn{0%{transform:scale(.97)}to{transform:none}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes drawerIn{0%{transform:translateX(100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important}}