@charset "UTF-8";:root{--paper: #f5f6f8;--paper-raised: #ffffff;--grid-line: transparent;--ink: #0f172a;--ink-soft: #5b6477;--hairline: #e3e6ec;--blueprint: #4f46e5;--blueprint-soft: rgba(79, 70, 229, .1);--signal: #dc3545;--signal-soft: rgba(220, 53, 69, .1);--ok: #138a4b;--ok-soft: rgba(19, 138, 75, .1);--warn: #b45309;--warn-soft: rgba(180, 83, 9, .11);--sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: var(--sans);--display: var(--sans);--code: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--text-xs: 11.5px;--text-sm: 12.5px;--text-base: 14px;--text-md: 15px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-display: 36px;--tint-weak: rgba(15, 23, 42, .03);--tint: rgba(15, 23, 42, .05);--tint-strong: rgba(15, 23, 42, .28);--tint-fill: rgba(15, 23, 42, .45);--input-bg: #ffffff;--wash: transparent;--radius-s: 8px;--radius-m: 12px;--radius-l: 16px;--sidebar-w: 232px;--shadow-1: 0 1px 2px rgba(15, 23, 42, .05);--shadow-2: 0 1px 2px rgba(15, 23, 42, .05), 0 4px 12px -2px rgba(15, 23, 42, .08);--shadow-3: 0 2px 4px rgba(15, 23, 42, .06), 0 16px 36px -8px rgba(15, 23, 42, .2);--speed: .14s;--bp-tablet: 900px;--bp-mobile: 640px}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.scroll-x>table{min-width:max-content}:root[data-theme=dark]{--paper: #0b0e14;--paper-raised: #131822;--grid-line: transparent;--ink: #e8ebf2;--ink-soft: #96a0b5;--hairline: #232b3b;--blueprint: #8b93ff;--blueprint-soft: rgba(139, 147, 255, .16);--signal: #ff7b85;--signal-soft: rgba(255, 123, 133, .14);--ok: #4fd18b;--ok-soft: rgba(79, 209, 139, .14);--warn: #f0b255;--warn-soft: rgba(240, 178, 85, .16);--tint-weak: rgba(200, 214, 245, .04);--tint: rgba(200, 214, 245, .06);--tint-strong: rgba(200, 214, 245, .28);--tint-fill: rgba(200, 214, 245, .4);--input-bg: #0e131c;--wash: transparent;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 14px -2px rgba(0, 0, 0, .5);--shadow-3: 0 2px 6px rgba(0, 0, 0, .45), 0 18px 38px -8px rgba(0, 0, 0, .65)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #0b0e14;--paper-raised: #131822;--grid-line: transparent;--ink: #e8ebf2;--ink-soft: #96a0b5;--hairline: #232b3b;--blueprint: #8b93ff;--blueprint-soft: rgba(139, 147, 255, .16);--signal: #ff7b85;--signal-soft: rgba(255, 123, 133, .14);--ok: #4fd18b;--ok-soft: rgba(79, 209, 139, .14);--warn: #f0b255;--warn-soft: rgba(240, 178, 85, .16);--tint-weak: rgba(200, 214, 245, .04);--tint: rgba(200, 214, 245, .06);--tint-strong: rgba(200, 214, 245, .28);--tint-fill: rgba(200, 214, 245, .4);--input-bg: #0e131c;--wash: transparent;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 14px -2px rgba(0, 0, 0, .5);--shadow-3: 0 2px 6px rgba(0, 0, 0, .45), 0 18px 38px -8px rgba(0, 0, 0, .65)}}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--sans);font-size:var(--text-base);line-height:1.5;color:var(--ink);background-color:var(--paper);font-feature-settings:"cv11","ss01";font-variant-numeric:tabular-nums;transition:background-color var(--speed) ease;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--display);font-weight:650;letter-spacing:-.015em;margin:0;text-wrap:balance}button{font-family:var(--sans);border-radius:var(--radius-s);transition:color var(--speed) ease,background-color var(--speed) ease,border-color var(--speed) ease,box-shadow var(--speed) ease,transform var(--speed) ease}button:not(:disabled){cursor:pointer}button:active:not(:disabled){transform:translateY(1px)}input,select,textarea{font-family:var(--sans);font-size:var(--text-base);color:var(--ink);border-radius:var(--radius-s);transition:border-color var(--speed) ease,background-color var(--speed) ease}table{box-shadow:var(--shadow-1)}a{transition:color var(--speed) ease,background-color var(--speed) ease,border-color var(--speed) ease,box-shadow var(--speed) ease,transform var(--speed) ease}:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px;border-radius:3px}::selection{background:var(--blueprint-soft)}*{scrollbar-width:thin;scrollbar-color:rgba(92,101,121,.35) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#5c65794d;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#5c657980}::-webkit-scrollbar-track{background:transparent}router-outlet+*{display:block;animation:page-in .28s cubic-bezier(.22,.8,.3,1) backwards}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border:1px solid var(--hairline);background:var(--paper-raised);color:var(--ink);font-size:var(--text-base);font-weight:550;border-radius:var(--radius-s);white-space:nowrap;text-decoration:none;box-shadow:var(--shadow-1)}.btn:hover:not(:disabled){border-color:var(--tint-strong)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--blueprint);border-color:var(--blueprint);color:#fff}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--ink-soft)}.btn.ghost:hover:not(:disabled){background:var(--tint);color:var(--ink)}.btn.sm{height:28px;padding:0 10px;font-size:var(--text-sm)}.field{display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm);font-weight:550;color:var(--ink-soft)}.field input,.field select,.input{height:36px;padding:0 12px;border:1px solid var(--hairline);background:var(--input-bg);color:var(--ink);font-weight:400;border-radius:var(--radius-s);outline:none;width:100%}.field input[type=checkbox],.field input[type=radio]{width:auto;height:auto;padding:0;border:revert;background:revert;box-shadow:none;flex:none}.field input:focus,.field select:focus,.input:focus{border-color:var(--blueprint);box-shadow:0 0 0 3px var(--blueprint-soft)}.card{background:var(--paper-raised);border:1px solid var(--hairline);border-radius:var(--radius-m);box-shadow:var(--shadow-1)}.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:999px;font-size:var(--text-xs);font-weight:600;background:var(--tint);color:var(--ink-soft);white-space:nowrap}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.info{background:var(--blueprint-soft);color:var(--blueprint)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--signal-soft);color:var(--signal)}.chip.plain:before{display:none}kbd{font-family:var(--code);font-size:11px;padding:1px 6px;border:1px solid var(--hairline);border-bottom-width:2px;border-radius:5px;background:var(--paper-raised);color:var(--ink-soft)}.skeleton{border-radius:var(--radius-s);background:linear-gradient(90deg,var(--tint) 25%,var(--tint-weak) 37%,var(--tint) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.empty-state{display:grid;justify-items:center;gap:8px;text-align:center;padding:56px 24px;color:var(--ink-soft)}.empty-state h3{color:var(--ink);font-size:var(--text-lg)}.empty-state p{margin:0;max-width:42ch}.scrim{position:fixed;inset:0;z-index:60;background:#0a0e1673;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:start center;padding:12vh 16px 16px}.dialog{width:min(520px,100%);background:var(--paper-raised);border:1px solid var(--hairline);border-radius:var(--radius-l);box-shadow:var(--shadow-3);padding:22px;animation:page-in .18s ease both;max-height:calc(100dvh - 12vh - 32px);overflow-y:auto;overscroll-behavior:contain}.dialog .dfoot{position:sticky;bottom:-22px;margin-bottom:-22px;padding:12px 0 22px;background:var(--paper-raised);border-top:1px solid var(--hairline);z-index:1}.page-wrap{max-width:1180px;margin:0 auto;padding:36px 28px 72px}@media(max-width:640px){.page-wrap{padding:20px 16px 56px}}.table{width:100%;border-collapse:collapse;box-shadow:none}.table th{text-align:left;font-size:var(--text-xs);font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);padding:10px 14px;border-bottom:1px solid var(--hairline);white-space:nowrap}.table td{padding:11px 14px;border-bottom:1px solid var(--hairline)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--tint-weak)}.table .num{text-align:right;font-variant-numeric:tabular-nums}button.add,button.setbase{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--radius-s);border:1px solid var(--hairline);background:var(--paper-raised);color:var(--ink);font-size:var(--text-sm);font-weight:550;box-shadow:var(--shadow-1);white-space:nowrap}button.add{background:var(--blueprint);border-color:var(--blueprint);color:#fff}button.add:hover:not(:disabled){filter:brightness(1.08)}button.setbase:hover:not(:disabled){border-color:var(--blueprint);color:var(--blueprint)}button.add:disabled,button.setbase:disabled{opacity:.5;cursor:default}button.setbase.alert{color:var(--signal);border-color:var(--signal)}
