@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");:root{--mono:"JetBrains Mono",ui-monospace,monospace;--font-heading:"Inter",system-ui,-apple-system,sans-serif;--font-heading-weight:500;--font-body:"Inter",system-ui,-apple-system,sans-serif;--color-bg:#161826;--color-surface:#232532;--color-text:#e9e9ed;--color-accent:#9184d9;--color-divider:color-mix(in srgb,#e9e9ed 16%,transparent);--color-neutral-100:#f3f5fe;--color-neutral-200:#e4e7f5;--color-neutral-300:#cfd3e5;--color-neutral-400:#b2b6ca;--color-neutral-500:#9397ab;--color-neutral-600:#75798c;--color-neutral-700:#595d6c;--color-neutral-800:#3f424d;--color-neutral-900:#292b31;--color-accent-100:#f5f4ff;--color-accent-200:#e7e5fe;--color-accent-300:#d2cefd;--color-accent-400:#b5abfc;--color-accent-500:#968ae0;--color-accent-600:#796cbf;--color-accent-700:#5d5294;--color-accent-800:#423a6a;--color-accent-900:#2b2741;--logo-ink:#F4F6FB;--needle:#2E6BFF;--side:#131420;--sunken:#1b1d2a;--ok:#6fd3a2;--ok-bg:#1b2e29;--work:#b5abfc;--work-bg:#2b2741;--need:#eeb966;--need-bg:#352a19;--fail:#f2857c;--fail-bg:#3b2327;--away:#b2b6ca;--away-bg:#292b31;--p1:#62c6dd;--p2:#ea8bb6;--p3:#d1b98c;--p4:#8fa6ff;--p5:#b9d46c;--shadow-sm:0 0 0 1px #3f424d;--shadow-md:0 0 0 1px #595d6c,0 6px 18px rgba(0,0,0,0.55);--shadow-lg:0 0 0 1px #9397ab,0 16px 40px rgba(0,0,0,0.65);--radius-sm:4px;--radius-md:8px;--radius-lg:14px}[data-theme=light]{--color-bg:#eceef5;--color-surface:#f8f9fc;--color-text:#1c1e29;--color-accent:#5b4fa3;--color-divider:color-mix(in srgb,#1c1e29 13%,transparent);--color-neutral-100:#1f2129;--color-neutral-200:#2f323c;--color-neutral-300:#3f424d;--color-neutral-400:#525667;--color-neutral-500:#666a7d;--color-neutral-600:#8b8fa3;--color-neutral-700:#b2b6ca;--color-neutral-800:#dcdfeb;--color-neutral-900:#e6e8f1;--color-accent-100:#2b2741;--color-accent-200:#3a335e;--color-accent-300:#4b4183;--color-accent-400:#5b4fa3;--color-accent-500:#6f62b8;--color-accent-600:#8478c8;--color-accent-700:#b5abfc;--color-accent-800:#e3dffb;--color-accent-900:#efedfc;--shadow-sm:0 0 0 1px #dcdfeb;--shadow-md:0 0 0 1px #d2d5e3,0 6px 18px rgba(20,24,50,.08);--shadow-lg:0 0 0 1px #c4c8d8,0 16px 40px rgba(20,24,50,.14);--logo-ink:#0B1630;--side:#e4e7f0;--sunken:#e6e8f1;--ok:#1d7a50;--ok-bg:#d9efe4;--work:#5b4fa3;--work-bg:#e8e5fb;--need:#8a5800;--need-bg:#f6e8cc;--fail:#b3261e;--fail-bg:#f8dedb;--away:#525667;--away-bg:#e2e5ee;--p1:#0e7c93;--p2:#b23d76;--p3:#87692c;--p4:#3d5bd1;--p5:#5b7a10}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}a{color:var(--color-accent-300);text-underline-offset:3px;transition:color .15s ease}a:hover{color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@keyframes livepulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.75)}}@keyframes shimmer{0%{opacity:.55}50%{opacity:1}to{opacity:.55}}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*{animation:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:8px 16px;border-radius:var(--radius-md);transition:all .15s ease}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:var(--color-accent-300);border-color:var(--color-accent);background:transparent}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-text)}.btn-primary:active:not(:disabled){background:color-mix(in srgb,var(--color-accent) 22%,transparent)}.btn-secondary{border-color:var(--color-divider);color:var(--color-text);background:transparent}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 7%,transparent)}.btn-secondary:active:not(:disabled){background:color-mix(in srgb,var(--color-text) 14%,transparent)}.btn-ghost{color:var(--color-accent);padding-inline:4px}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-icon{width:36px;height:36px;padding:0;border-radius:8px}.btn-block,.input{width:100%}.input{min-height:44px;padding:8px 12px;font:inherit;font-size:14px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}.input:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent);outline:none}.seg{overflow:hidden;border:1px solid var(--color-divider);border-radius:var(--radius-md);background:transparent}.seg,.seg-opt{display:inline-flex}.seg-opt{align-items:center;gap:6px;padding:7px 12px;font-size:13px;cursor:pointer;position:relative;transition:background .15s ease,color .15s ease}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){color:var(--color-accent-300);background:var(--color-accent-900)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.seg-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:calc(var(--radius-md) * .75)}.tag-accent{background:var(--color-accent-800);color:var(--color-accent-100)}.hr{height:1px;border:0;margin:16px 0;background:linear-gradient(to right,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent)}@media (max-width:768px){.hidden-on-mobile,.hidden.md\:block,.hidden.md\:flex,.hidden.md\:grid{display:none!important}}@media (min-width:769px){.block.md\:hidden,.flex.md\:hidden,.hidden-on-desktop{display:none!important}}