:root{--paper:#faf7f2;--paper-2:#f3eee5;--surface:#fff;--surface-sunk:#f7f3ec;--ink:#211d18;--ink-2:#4a443b;--muted:#8c8478;--muted-2:#ada493;--line:#ebe4d8;--line-2:#e0d8c9;--line-strong:#d3c9b6;--accent:#7c5cdb;--accent-press:#6347c700;--accent-deep:#6347c7;--accent-soft:#ece6fb;--accent-soft2:#e0d5f9;--accent-ink:#4f37a0;--green:#1f9d55;--green-soft:#e2f3e8;--green-ink:#0f6a38;--blue:#2d6be0;--blue-soft:#e5edfb;--blue-ink:#1b4699;--amber:#d68a07;--amber-soft:#fbeed1;--amber-ink:#8a5a05;--red:#db4437;--red-soft:#fbe2df;--red-ink:#9b2c22;--slate:#6b7280;--slate-soft:#edeef0;--slate-ink:#3f454e;--violet:#7c5cdb;--violet-soft:#ece6fb;--violet-ink:#4f37a0;--r-xs:8px;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-2xl:32px;--r-pill:999px;--sh-xs:0 1px 2px #211d180d;--sh-sm:0 1px 2px #211d180d, 0 4px 10px -6px #211d181f;--sh-md:0 2px 4px #211d180a, 0 10px 26px -14px #211d1833;--sh-lg:0 6px 14px -8px #211d1829, 0 26px 50px -24px #211d184d;--sh-pop:0 10px 30px -10px #211d1847, 0 2px 6px #211d1814;--font:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--z-nav:40;--z-pop:80;--z-modal:100;--z-toast:120}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.45}::selection{background:var(--accent-soft2);color:var(--accent-ink)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--line-2);background-clip:padding-box;border:3px solid #0000;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--line-strong);background-clip:padding-box;border:3px solid #0000;border-radius:99px}::-webkit-scrollbar-track{background:0 0}.mono{font-family:var(--mono);font-feature-settings:"tnum"}.tnum{font-variant-numeric:tabular-nums}.h1{letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1.1}.h2{letter-spacing:-.015em;font-size:22px;font-weight:750;line-height:1.15}.h3{letter-spacing:-.01em;font-size:17px;font-weight:700}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:11.5px;font-weight:700}.muted{color:var(--muted)}.dim{color:var(--ink-2)}.i{justify-content:center;align-items:center;line-height:0;display:inline-flex}.ms{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 1, "wght" 500, "opsz" 24, "GRAD" 0;-webkit-user-select:none;user-select:none;vertical-align:middle;direction:ltr;font-family:Material Symbols Rounded;font-style:normal;font-weight:400;line-height:1}.btn{border-radius:var(--r-sm);letter-spacing:-.01em;height:40px;color:var(--ink);white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:650;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform 60ms;display:inline-flex}.btn:active{transform:translateY(.5px)scale(.992)}.btn .i{font-size:18px}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--sh-sm), inset 0 1px 0 #ffffff2e}.btn-primary:hover{background:var(--accent-deep)}.btn-secondary{background:var(--surface);border-color:var(--line-2);color:var(--ink);box-shadow:var(--sh-xs)}.btn-secondary:hover{border-color:var(--line-strong);background:#fff}.btn-ghost{color:var(--ink-2);background:0 0}.btn-ghost:hover{background:var(--paper-2);color:var(--ink)}.btn-soft{background:var(--accent-soft);color:var(--accent-ink)}.btn-soft:hover{background:var(--accent-soft2)}.btn-danger{background:var(--red-soft);color:var(--red-ink)}.btn-danger:hover{background:#f7d4cf}.btn-dangerSolid{background:var(--red);color:#fff}.btn-dangerSolid:hover{background:var(--red-ink)}.btn-sm{border-radius:var(--r-xs);height:32px;padding:0 12px;font-size:13px}.btn-sm .i{font-size:16px}.btn-lg{border-radius:var(--r-md);height:48px;padding:0 22px;font-size:15.5px}.btn-icon{width:40px;padding:0}.btn-icon.btn-sm{width:32px}.btn-block{width:100%}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;pointer-events:none}.pill{border-radius:var(--r-pill);letter-spacing:.005em;white-space:nowrap;align-items:center;gap:6px;height:24px;padding:0 10px 0 8px;font-size:12px;font-weight:700;display:inline-flex}.pill .dot{background:currentColor;border-radius:99px;flex:none;width:7px;height:7px}.pill .i{margin-left:-1px;font-size:13px}.pill-lg{height:30px;padding:0 13px 0 11px;font-size:13px}.pill--green{background:var(--green-soft);color:var(--green-ink)}.pill--blue{background:var(--blue-soft);color:var(--blue-ink)}.pill--amber{background:var(--amber-soft);color:var(--amber-ink)}.pill--red{background:var(--red-soft);color:var(--red-ink)}.pill--slate{background:var(--slate-soft);color:var(--slate-ink)}.pill--violet{background:var(--violet-soft);color:var(--violet-ink)}.pill--accent{background:var(--accent-soft);color:var(--accent-ink)}.chip{border-radius:var(--r-pill);background:var(--surface-sunk);height:26px;color:var(--ink-2);border:1px solid var(--line);align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:600;display:inline-flex}.chip .i{color:var(--muted);font-size:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.card-pad{padding:20px}.card-hd{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 20px;display:flex}.card-hd .grow{flex:1}.field{flex-direction:column;gap:6px;display:flex}.field>label{color:var(--ink-2);letter-spacing:-.005em;font-size:12.5px;font-weight:650}.field .hint{color:var(--muted);font-size:11.5px}.input,.select,.textarea{border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface);height:42px;color:var(--ink);width:100%;padding:0 13px;font-size:14px;font-weight:500;transition:border-color .15s,box-shadow .15s,background .15s}.textarea{resize:vertical;height:auto;min-height:80px;padding:11px 13px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--muted-2)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3.5px var(--accent-soft);outline:none}.input-icon{position:relative}.input-icon>.i{color:var(--muted);pointer-events:none;font-size:18px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-icon>.input{padding-left:38px}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%238C8478' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.seg{background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--r-sm);gap:2px;padding:3px;display:inline-flex}.seg button{height:30px;color:var(--muted);background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:650;transition:all .14s;display:inline-flex}.seg button .i{font-size:16px}.seg button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-xs)}.seg button:hover:not([aria-selected=true]){color:var(--ink-2)}.switch{background:var(--line-strong);border:none;border-radius:99px;flex:none;width:42px;height:25px;padding:0;transition:background .18s;position:relative}.switch:after{content:"";width:19px;height:19px;box-shadow:var(--sh-sm);background:#fff;border-radius:99px;transition:left .18s;position:absolute;top:3px;left:3px}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{left:20px}.tbl{border-collapse:collapse;width:100%}.tbl th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 16px;font-size:11.5px;font-weight:700}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 16px;font-size:14px}.tbl tbody tr{transition:background .12s}.tbl tbody tr:hover{background:var(--surface-sunk)}.tbl tbody tr:last-child td{border-bottom:none}.tbl .row-click{cursor:pointer}.avatar{color:#fff;letter-spacing:-.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:750;display:inline-flex}.avatar-sm{width:30px;height:30px;font-size:12px}.avatar-lg{width:52px;height:52px;font-size:19px}.meter{background:var(--surface-sunk);height:9px;box-shadow:inset 0 0 0 1px var(--line);border-radius:99px;position:relative;overflow:hidden}.meter>span{background:var(--accent);border-radius:99px;transition:width .4s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;bottom:0;left:0}.meter.warn>span{background:var(--amber)}.meter.over>span{background:var(--red)}.divider{background:var(--line);border:none;height:1px;margin:0}.kbd{font-family:var(--mono);background:var(--surface-sunk);border:1px solid var(--line-2);color:var(--ink-2);border-bottom-width:2px;border-radius:6px;padding:1px 5px;font-size:11px}.dotsep:before{content:"·";color:var(--muted-2);margin:0 8px}.scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal);background:#211d1857;position:fixed;inset:0}.fade-in{animation:.22s both fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pop-in{animation:.24s cubic-bezier(.2,.9,.3,1.1) both popIn}@keyframes popIn{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}.slide-up{animation:.3s cubic-bezier(.2,.85,.25,1) both slideUp}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:none}}.empty{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:56px 24px;display:flex}.empty .bubble{background:var(--surface-sunk);width:64px;height:64px;color:var(--muted-2);border:1px solid var(--line);border-radius:20px;place-items:center;font-size:30px;display:grid}@keyframes spin{to{transform:translateY(-50%)rotate(360deg)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.05ms!important;animation-duration:.01ms!important}}
