@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500&family=IBM+Plex+Mono:wght@400;500&display=swap");@import url("https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@2.44.0/tabler-icons.min.css");:root{--bg:#f4f3f0;--surface:#fff;--s2:#f4f3f0;--s3:#eceae6;--ink:#1c1b18;--ink2:#5a5954;--ink3:#9a9893;--b:rgba(0,0,0,.07);--b2:rgba(0,0,0,.13);--b3:rgba(0,0,0,.2);--ac:#1a6ef5;--acl:rgba(26,110,245,.09);--acl2:rgba(26,110,245,.15);--acb:rgba(26,110,245,.18);--ok:#15803d;--okb:rgba(21,128,61,.1);--okl:rgba(21,128,61,.08);--warn:#b45309;--warnb:rgba(180,83,9,.1);--warnl:rgba(180,83,9,.08);--danger:#b91c1c;--dangerb:rgba(185,28,28,.1);--dangerl:rgba(185,28,28,.08);--purple:#6d28d9;--purpleb:rgba(109,40,217,.09);--purplel:rgba(109,40,217,.06);--teal:#0d7a6b;--tealb:rgba(13,122,107,.09);--teall:rgba(13,122,107,.06);--r:7px;--rl:12px;--shadow-sm:0 1px 3px rgba(0,0,0,.07),0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.05);--shadow-lg:0 8px 32px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.06);--sidebar-w:196px;--context-w:260px;--topbar-h:52px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:IBM Plex Sans,sans-serif;font-size:13px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--b2);border-radius:2px}.mono,code,pre{font-family:IBM Plex Mono,monospace}.ti{font-size:inherit;line-height:1}:focus-visible{outline:2px solid var(--ac);outline-offset:2px;border-radius:var(--r)}:focus:not(:focus-visible){outline:none}a{color:inherit;text-decoration:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}