:root{--bg:#f4f6fa;--panel:#fff;--panel2:#eef1f6;--line:#e3e7ee;--line2:#ccd2de;--fg:#0e121b;--mut:#525866;--dim:#5f6675;--accent:#335cff;--accent-t:#0029cc;--accent2:#0029cc;--accent-soft:#eaefff;--ok:#158f43;--warn:#d18300;--bad:#d31f2c;--info:#0284c7;--ok-t:#05663c;--warn-t:#7a4f00;--bad-t:#c31826;--info-t:#0369a1;--bad-ink:#fff;--bad-hover:color-mix(in srgb, var(--bad) 86%, #000);--shadow-key:16, 24, 40;--shadow-strength:1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=midnight]{--bg:#0b0d11;--panel:#12151b;--panel2:#171b22;--line:#232833;--line2:#2e3542;--fg:#e7eaf0;--mut:#8a92a3;--dim:#7e8698;--accent:#5b7dff;--accent-t:#6895ff;--accent2:#335cff;--accent-soft:#182642;--ok:#34d399;--bad:#fb3748;--warn:#fbbf24;--info:#38bdf8;--ok-t:var(--ok);--warn-t:var(--warn);--bad-t:var(--bad);--info-t:var(--info);--bad-ink:#3a0d16;--bad-hover:color-mix(in srgb, var(--bad) 86%, #fff);--shadow-key:0, 0, 0;--shadow-strength:4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=slate]{--bg:#161922;--panel:#1c2029;--panel2:#232834;--line:#313846;--line2:#3d4556;--fg:#eef1f6;--mut:#9aa4b6;--dim:#8a94a8;--accent:#6b8bff;--accent-t:#7fa3ff;--accent2:#335cff;--accent-soft:#223054;--ok:#34d399;--bad:#ff6070;--warn:#fbbf24;--info:#38bdf8;--ok-t:var(--ok);--warn-t:var(--warn);--bad-t:var(--bad);--info-t:var(--info);--bad-ink:#3a0d16;--bad-hover:color-mix(in srgb, var(--bad) 86%, #fff);--shadow-key:0, 0, 0;--shadow-strength:4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=overcast]{--bg:#2e3342;--panel:#383e4d;--panel2:#434c60;--line:#5b667d;--line2:#6f7c98;--fg:#f2f5fa;--mut:#c6d2e9;--dim:#b2bed7;--accent:#779bff;--accent-t:#96c0ff;--accent2:#335cff;--accent-soft:#425995;--ok:#35d69b;--bad:#ffa4b9;--bad-ink:#3a0d16;--bad-hover:color-mix(in srgb, var(--bad) 86%, #fff);--warn:#fbbf24;--info:#3dccff;--ok-t:var(--ok);--warn-t:var(--warn);--bad-t:var(--bad);--info-t:var(--info);--shadow-key:0, 0, 0;--shadow-strength:4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-theme=system]{--bg:#0b0d11;--panel:#12151b;--panel2:#171b22;--line:#232833;--line2:#2e3542;--fg:#e7eaf0;--mut:#8a92a3;--dim:#7e8698;--accent:#5b7dff;--accent-t:#6895ff;--accent2:#335cff;--accent-soft:#182642;--ok:#34d399;--bad:#fb3748;--warn:#fbbf24;--info:#38bdf8;--ok-t:var(--ok);--warn-t:var(--warn);--bad-t:var(--bad);--info-t:var(--info);--shadow-key:0, 0, 0;--shadow-strength:4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root{--font-sans:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-xs:.6875rem;--text-sm:.75rem;--text-base:.8125rem;--text-md:.9375rem;--text-lg:1.125rem;--text-xl:1.3125rem;--text-2xl:1.75rem;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:680;--leading-tight:1.25;--leading-normal:1.55;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-sm:5px;--radius-md:7px;--radius-lg:11px;--radius-xl:14px;--radius-full:999px;--border-width:1px;--dur-fast:.11s;--dur-base:.18s;--dur-slow:.32s;--ease-out:cubic-bezier(.32, .72, 0, 1);--ease-spring:cubic-bezier(.22, 1, .36, 1);--bg-app:var(--bg);--bg-surface:var(--panel);--bg-raised:var(--panel);--bg-sunken:var(--panel2);--bg-hover:color-mix(in srgb, var(--fg) 5%, transparent);--bg-active:color-mix(in srgb, var(--fg) 9%, transparent);--bg-selected:color-mix(in srgb, var(--accent) 12%, transparent);--bg-sidebar:var(--panel);--text-primary:var(--fg);--text-secondary:var(--mut);--text-tertiary:var(--dim);--text-inverse:#fff;--text-link:var(--accent-t);--border-subtle:var(--line);--border-strong:var(--line2);--border-focus:var(--accent);--shadow-sm:0 1px 2px rgba(var(--shadow-key), calc(.06 * var(--shadow-strength)));--shadow-md:0 1px 2px rgba(var(--shadow-key), calc(.05 * var(--shadow-strength))), 0 4px 12px rgba(var(--shadow-key), calc(.06 * var(--shadow-strength)));--shadow-lg:0 2px 6px rgba(var(--shadow-key), calc(.06 * var(--shadow-strength))), 0 18px 48px rgba(var(--shadow-key), calc(.14 * var(--shadow-strength)));--ring-accent:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);--state-active-bg:color-mix(in srgb, var(--ok) 13%, var(--panel));--state-active-fg:var(--ok-t);--state-degraded-bg:color-mix(in srgb, var(--warn) 15%, var(--panel));--state-degraded-fg:var(--warn-t);--state-limited-bg:var(--state-degraded-bg);--state-limited-fg:var(--warn-t);--state-error-bg:color-mix(in srgb, var(--bad) 12%, var(--panel));--state-error-fg:var(--bad-t);--state-unknown-bg:var(--panel2);--state-unknown-fg:var(--mut);--state-off-bg:var(--panel2);--state-off-fg:var(--dim);--state-info-bg:color-mix(in srgb, var(--accent) 12%, var(--panel));--state-info-fg:var(--accent-t);--severity-info:var(--accent-t);--severity-warning:var(--warn-t);--severity-critical:var(--bad-t);--chart-primary:var(--accent);--chart-danger:var(--bad);--chart-grid:var(--line);--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--z-sticky:10;--z-drawer:60;--z-overlay:100;--z-toast:200;--sidebar-width:236px;--content-max:1440px;--topbar-height:56px}:root[data-theme=midnight],:root[data-theme=slate]{--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767}@media (prefers-color-scheme:dark){:root[data-theme=system]{--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767}}*,:before,:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background-color var(--dur-slow) var(--ease-out), color var(--dur-slow) var(--ease-out)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}a{color:var(--text-link);transition:color var(--dur-fast) var(--ease-out);text-decoration:none}a:hover{text-decoration:underline}code,pre,.mono{font-family:var(--font-mono);font-size:.92em}h1,h2,h3,h4{line-height:var(--leading-tight);font-weight:var(--weight-semibold);letter-spacing:-.011em}*{scrollbar-width:thin;scrollbar-color:var(--line2) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line2);border-radius:var(--radius-full);background-clip:content-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--dim);background-clip:content-box}::selection{background:color-mix(in srgb, var(--accent) 26%, transparent)}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack-sm{gap:var(--space-2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.grid-2{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.grid-4{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.muted{color:var(--text-secondary)}.dim{color:var(--text-tertiary)}.small{font-size:var(--text-sm)}.xs{font-size:var(--text-xs)}.numeric{font-variant-numeric:tabular-nums}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.shell{grid-template-columns:var(--sidebar-width) 1fr;height:100%;display:grid}.sidebar{background:var(--bg-sidebar);border-right:var(--border-width) solid var(--border-subtle);color:var(--text-secondary);gap:var(--space-4);padding-bottom:var(--space-3);flex-direction:column;display:flex;overflow-y:auto}.sidebar-brand{padding:var(--space-4);border-bottom:var(--border-width) solid var(--border-subtle);display:block}.sidebar-brand:hover{text-decoration:none}.sidebar-mark{background:linear-gradient(135deg, var(--accent), var(--accent2));width:28px;height:28px;box-shadow:0 1px 2px rgba(var(--shadow-key), .25);border-radius:8px;flex:none;place-items:center;display:grid}.sidebar-mark svg{width:17px;height:17px}.sidebar-nav{gap:var(--space-4);padding:0 var(--space-3);flex-direction:column;display:flex}.nav-group-label{padding:0 var(--space-2) var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.09em;font-weight:var(--weight-semibold);color:var(--text-tertiary)}.nav-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-base);cursor:pointer;text-align:left;width:100%;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;display:flex;position:relative}.nav-item svg{opacity:.75;width:16px;height:16px;transition:opacity var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);flex:none}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.nav-item:hover svg{opacity:1}.nav-item[aria-current=page]{background:var(--bg-selected);color:var(--accent-t);font-weight:var(--weight-medium)}.nav-item[aria-current=page] svg{opacity:1;color:var(--accent)}.nav-item:before{content:"";left:calc(var(--space-3) * -1);border-radius:0 var(--radius-full) var(--radius-full) 0;background:var(--accent);width:3px;height:18px;transition:transform var(--dur-base) var(--ease-spring);position:absolute;top:50%;transform:translateY(-50%)scaleY(0)}.nav-item[aria-current=page]:before{transform:translateY(-50%)scaleY(1)}.nav-label{flex:1;min-width:0}.nav-count{font-size:var(--text-xs);padding:1px var(--space-2);border-radius:var(--radius-full);background:var(--bad);color:var(--bad-ink);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);line-height:1.5}.sidebar-footer{padding:var(--space-3) var(--space-3) 0;border-top:var(--border-width) solid var(--border-subtle);gap:var(--space-2);flex-direction:column;margin-top:auto;display:flex}.identity{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);min-width:0;display:flex}.avatar{border-radius:var(--radius-full);background:var(--bg-selected);width:26px;height:26px;color:var(--accent-t);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;flex:none;place-items:center;display:grid}.project-btn{align-items:center;gap:var(--space-2);background:var(--bg-sunken);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);width:100%;padding:var(--space-2);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);text-decoration:none;display:flex}.project-btn:hover{border-color:var(--accent)}.project-btn>svg{width:15px;height:15px;color:var(--accent);flex:none}.project-btn .pname{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.project-btn .chev{opacity:.55;transition:transform var(--dur-base) var(--ease-out)}.project-btn[aria-expanded=true] .chev{transform:rotate(180deg)}.project-menu-foot{margin-top:var(--space-1);padding-top:var(--space-1);border-top:var(--border-width) solid var(--border-subtle);flex-direction:column;gap:1px;display:flex}.project-menu-foot>a{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-xs);text-decoration:none;display:flex}.project-menu-foot>a:hover{background:var(--bg-sunken);color:var(--accent)}.project-menu-foot>button{color:var(--text-secondary);font-size:var(--text-xs)}.theme-btn{align-items:center;gap:var(--space-2);background:var(--bg-sunken);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);width:100%;padding:var(--space-2) var(--space-2);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);display:flex}.theme-btn:hover{border-color:var(--accent)}.theme-btn>svg{width:14px;height:14px;color:var(--accent);flex:none}.theme-btn .tname{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.theme-btn .chev{opacity:.55;transition:transform var(--dur-base) var(--ease-out)}.theme-btn[aria-expanded=true] .chev{transform:rotate(180deg)}.theme-menu{z-index:var(--z-overlay);min-width:190px;padding:var(--space-1);background:var(--bg-surface);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:pop-in var(--dur-base) var(--ease-spring);transform-origin:0 100%;flex-direction:column;gap:1px;display:flex;position:absolute}.tuner{gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2);border-top:var(--border-width) solid var(--border-subtle);flex-direction:column;margin-top:1px;display:flex}.tuner-row{gap:var(--space-1);cursor:pointer;flex-direction:column;display:flex}.tuner-label{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);display:flex}.tuner-readout{color:var(--text-tertiary);font-variant-numeric:tabular-nums}.tuner input[type=range]{appearance:none;border-radius:var(--radius-full);background:var(--bg-sunken);border:var(--border-width) solid var(--border-subtle);cursor:pointer;width:100%;height:4px}.tuner input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent2);border:2px solid var(--bg-surface);width:13px;height:13px;box-shadow:0 1px 2px rgba(var(--shadow-key), calc(.2 * var(--shadow-strength)));transition:transform var(--dur-fast) var(--ease-out);border-radius:50%}.tuner input[type=range]::-moz-range-thumb{background:var(--accent2);border:2px solid var(--bg-surface);border-radius:50%;width:13px;height:13px}.tuner input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}.tuner-swatches{gap:2px;height:8px;display:flex}.tuner-swatches span{border-radius:2px;flex:1}.tuner-actions{align-items:center;gap:var(--space-2);display:flex}.tuner-note{font-size:var(--text-xs);color:var(--text-tertiary);flex:1}.tuner-reset,.tuner-save{align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);border:var(--border-width) solid var(--border-subtle);background:var(--bg-sunken);color:var(--text-secondary);font-size:var(--text-xs);padding:3px var(--space-2);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);display:inline-flex}.tuner-reset{padding:3px var(--space-1)}.tuner-reset:hover,.tuner-save:not(:disabled):hover{border-color:var(--accent);color:var(--text-primary)}.tuner-save{background:var(--accent2);border-color:var(--accent2);color:#fff;font-weight:var(--weight-medium)}.tuner-save:disabled{background:var(--bg-sunken);border-color:var(--border-subtle);color:var(--text-tertiary);cursor:default}.theme-menu button{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);color:var(--text-primary);text-align:left;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;display:flex}.theme-menu button:hover{background:var(--bg-hover)}.theme-menu button svg{opacity:.8;flex:none;width:14px;height:14px}.theme-menu .check{color:var(--accent);margin-left:auto}.swatch{border:1px solid #80808059;border-radius:4px;flex:none;width:13px;height:13px}.main{scroll-behavior:smooth;flex-direction:column;display:flex;overflow-y:auto}.topbar{z-index:var(--z-sticky);background:color-mix(in srgb, var(--bg-app) 80%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.4);border-bottom:var(--border-width) solid transparent;padding:var(--space-4) var(--space-5);transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);position:sticky;top:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.topbar{background:var(--bg-app)}}.topbar.scrolled{border-bottom-color:var(--border-subtle);box-shadow:0 1px 3px rgba(var(--shadow-key), calc(.05 * var(--shadow-strength)))}.topbar-inner{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;margin:0 auto;display:flex}.content{padding:var(--space-5);flex-direction:column;flex:1;width:100%;display:flex}.page-body{flex:1}.page-title{font-size:var(--text-xl);letter-spacing:-.02em}.page-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin-top:2px}.breadcrumbs{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-1);display:flex}.breadcrumbs a{color:var(--text-secondary)}.breadcrumbs a:hover{color:var(--text-primary);text-decoration:none}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translate(16px)scale(.97)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translate(16px)scale(.97)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes soft-pulse{50%{opacity:.45}}@keyframes grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.page-enter,.stagger>*{animation:fade-up var(--dur-base) var(--ease-out) backwards}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:24ms}.stagger>:nth-child(3){animation-delay:48ms}.stagger>:nth-child(4){animation-delay:72ms}.stagger>:nth-child(5){animation-delay:96ms}.stagger>:nth-child(6){animation-delay:.12s}.stagger>:nth-child(7){animation-delay:.144s}.stagger>:nth-child(n+8){animation-delay:.168s}.card{background:var(--bg-surface);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out)}.card-header{padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.card-title{font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:-.01em}.card-toggle{align-items:center;gap:var(--space-2);min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;margin:0;padding:0;display:flex}.card-toggle:hover .card-title{color:var(--text-link)}.card-chevron{color:var(--text-secondary);transition:transform var(--dur-base) var(--ease-out);flex:none;transform:rotate(-90deg)}.card-chevron.is-open{transform:rotate(0)}.card-body{padding:var(--space-4)}.card-body-flush{padding:0}.stat{padding:var(--space-4);gap:var(--space-1);flex-direction:column;display:flex;position:relative;overflow:hidden}.stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--weight-semibold);color:var(--text-tertiary)}.stat-value{font-size:var(--text-2xl);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.025em;line-height:1.15}.stat-hint{font-size:var(--text-sm);color:var(--text-secondary)}.prose{line-height:var(--leading-normal);color:var(--text-primary)}.prose>*{margin:0}.prose>*+*{margin-top:var(--space-4)}.prose h2{font-size:var(--text-lg);margin-top:var(--space-7);scroll-margin-top:var(--space-7)}.prose h2:first-child{margin-top:0}.prose h3,.prose h4{font-size:var(--text-md);margin-top:var(--space-6);scroll-margin-top:var(--space-7)}.prose ul,.prose ol{padding-left:var(--space-6)}.prose li+li{margin-top:var(--space-2)}.prose code{background:var(--bg-sunken);border-radius:var(--radius-sm);overflow-wrap:anywhere;padding:.1em .35em}.prose pre{background:var(--bg-sunken);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose .table-scroll{border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md)}.table-scroll{overscroll-behavior-x:contain;overflow-x:auto}table.table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-base)}.table th{text-align:left;font-weight:var(--weight-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);padding:var(--space-2) var(--space-4);border-bottom:var(--border-width) solid var(--border-subtle);white-space:nowrap;z-index:1;background:var(--bg-surface);background-clip:padding-box;position:sticky;top:0}.table td{padding:var(--space-2) var(--space-4);border-bottom:var(--border-width) solid var(--border-subtle);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color var(--dur-fast) var(--ease-out)}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:var(--bg-hover)}.table tbody tr.clickable:active{background:var(--bg-active)}.table td.numeric,.table th.numeric{text-align:right;font-variant-numeric:tabular-nums}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;background:var(--state-unknown-bg);color:var(--state-unknown-fg);border:var(--border-width) solid transparent;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge-active{background:var(--state-active-bg);color:var(--state-active-fg);border-color:color-mix(in srgb, var(--ok) 26%, transparent)}.badge-active .badge-dot{box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 22%, transparent)}.badge-degraded,.badge-limited{background:var(--state-degraded-bg);color:var(--state-degraded-fg);border-color:color-mix(in srgb, var(--warn) 28%, transparent)}.badge-error{background:var(--state-error-bg);color:var(--state-error-fg);border-color:color-mix(in srgb, var(--bad) 26%, transparent)}.badge-off{background:var(--state-off-bg);color:var(--state-off-fg);border-color:var(--border-subtle)}.badge-neutral{background:var(--bg-sunken);color:var(--text-secondary);border-color:var(--border-subtle)}.tag{padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--bg-sunken);color:var(--text-secondary);font-size:var(--text-xs);border:var(--border-width) solid var(--border-subtle);display:inline-flex}kbd{font-family:var(--font-sans);font-size:var(--text-xs);padding:1px var(--space-1);border-radius:var(--radius-sm);background:var(--bg-sunken);border:var(--border-width) solid var(--border-subtle);min-width:18px;color:var(--text-secondary);border-bottom-width:2px;justify-content:center;align-items:center;line-height:1.5;display:inline-flex}.code-block{padding:var(--space-3);background:var(--bg-sunken);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);line-height:var(--leading-normal);tab-size:2;margin:0;overflow-x:auto}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:var(--border-width) solid transparent;font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);display:inline-flex;position:relative}.btn svg{flex:none}.btn:not(:disabled):active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent2);color:#fff;box-shadow:0 1px 2px rgba(var(--shadow-key), calc(.16 * var(--shadow-strength)))}.btn-primary:not(:disabled):hover{background:color-mix(in srgb, var(--accent2) 88%, var(--fg));box-shadow:var(--ring-accent)}.btn-secondary{background:var(--bg-surface);border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:not(:disabled):hover{background:var(--bg-hover);border-color:var(--accent)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:not(:disabled):hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--bad);color:var(--bad-ink)}.btn-danger:not(:disabled):hover{background:var(--bad-hover)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.icon-btn{border-radius:var(--radius-md);border:var(--border-width) solid var(--border-subtle);background:var(--bg-sunken);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex:none;place-items:center;padding:0;display:grid}.icon-btn:hover{color:var(--text-primary);border-color:var(--accent)}.icon-btn:active{transform:scale(.94)}.field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.field-label{font-size:var(--text-sm);font-weight:var(--weight-medium)}.field-hint{font-size:var(--text-sm);color:var(--text-secondary)}.field-error{font-size:var(--text-sm);color:var(--state-error-fg);animation:fade-up var(--dur-fast) var(--ease-out)}.input,.select,.textarea{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:var(--border-width) solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out)}.input::placeholder,.textarea::placeholder{color:var(--text-tertiary)}.input:hover:not(:disabled),.select:hover:not(:disabled),.textarea:hover:not(:disabled){border-color:var(--dim)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:var(--ring-accent);outline:none}.input:disabled,.select:disabled{background:var(--bg-sunken);color:var(--text-tertiary);cursor:not-allowed}.select{appearance:none;padding-right:var(--space-6);color-scheme:inherit;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 15px) calc(50% + 1px),calc(100% - 11px) calc(50% + 1px);background-repeat:no-repeat;background-size:4px 4px,4px 4px}.textarea{resize:vertical;min-height:90px;font-family:var(--font-mono);font-size:var(--text-sm)}.toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.toolbar .input,.toolbar .select{width:auto;min-width:150px}.toolbar .field{flex:none}.toolbar .grow{flex:1;min-width:180px}.toolbar .grow .input{width:100%}.search{flex:0 auto;align-items:center;width:268px;min-width:0;display:flex;position:relative}@media (width<=700px){.search{width:100%}}.search svg{left:var(--space-3);width:14px;height:14px;color:var(--text-tertiary);pointer-events:none;position:absolute}.search .input{padding-left:var(--space-6)}.checkbox-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);display:flex}.checkbox-row:hover{background:var(--bg-hover);border-color:var(--border-strong)}.checkbox-row.selected{border-color:var(--accent);background:var(--bg-selected)}.checkbox-row input{accent-color:var(--accent);margin-top:3px}.overlay{-webkit-backdrop-filter:blur(3px);padding:var(--space-6) var(--space-4);z-index:var(--z-overlay);animation:fade-in var(--dur-base) var(--ease-out);background:#05070c8c;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--bg-surface);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:620px;max-height:100%;animation:sheet-in var(--dur-slow) var(--ease-spring);flex-direction:column;display:flex}.modal-wide{max-width:880px}.modal-header{padding:var(--space-4) var(--space-5);border-bottom:var(--border-width) solid var(--border-subtle);flex:none}.modal-body{padding:var(--space-5);overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.modal-footer{padding:var(--space-4) var(--space-5);border-top:var(--border-width) solid var(--border-subtle);justify-content:space-between;gap:var(--space-3);background:var(--bg-sunken);border-radius:0 0 var(--radius-xl) var(--radius-xl);flex:none;display:flex}.toast-stack{bottom:var(--space-5);right:var(--space-5);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;max-width:420px;display:flex;position:fixed}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:var(--bg-surface);border:var(--border-width) solid var(--border-subtle);border-left:3px solid var(--dim);color:var(--text-primary);font-size:var(--text-base);align-items:flex-start;gap:var(--space-3);pointer-events:auto;animation:toast-in var(--dur-slow) var(--ease-spring);display:flex}.toast.leaving{animation:toast-out var(--dur-base) var(--ease-out) forwards}.toast-error{border-left-color:var(--bad)}.toast-success{border-left-color:var(--ok)}.toast-icon{flex:none;margin-top:1px}.toast-error .toast-icon{color:var(--bad-t)}.toast-success .toast-icon{color:var(--ok-t)}.palette-overlay{-webkit-backdrop-filter:blur(4px);z-index:var(--z-overlay);padding:12vh var(--space-4) var(--space-4);animation:fade-in var(--dur-fast) var(--ease-out);background:#05070c80;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.palette{background:var(--bg-surface);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:560px;box-shadow:var(--shadow-lg);max-height:62vh;animation:sheet-in var(--dur-base) var(--ease-spring);flex-direction:column;display:flex;overflow:hidden}.palette-input-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--border-subtle);flex:none;display:flex}.palette-input-row svg{color:var(--text-tertiary);flex:none}.palette-input{font-size:var(--text-md);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0}.palette-input::placeholder{color:var(--text-tertiary)}.palette-results{padding:var(--space-2);overscroll-behavior:contain;overflow-y:auto}.palette-group{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.09em;font-weight:var(--weight-semibold);color:var(--text-tertiary);padding:var(--space-3) var(--space-2) var(--space-1)}.palette-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--text-primary);font-size:var(--text-base);scroll-margin:var(--space-4);background:0 0;border:none;display:flex}.palette-item svg{width:15px;height:15px;color:var(--text-tertiary);flex:none}.palette-item.active{background:var(--bg-selected);color:var(--accent-t)}.palette-item.active svg{color:var(--accent)}.palette-item .sub{font-size:var(--text-xs);color:var(--text-tertiary);flex:none;margin-left:auto}.palette-footer{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:var(--border-width) solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-tertiary);background:var(--bg-sunken);flex:none;display:flex}.palette-footer span{align-items:center;gap:var(--space-1);display:flex}.cmdk-hint{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);border-radius:var(--radius-md);border:var(--border-width) solid var(--border-subtle);background:var(--bg-sunken);color:var(--text-tertiary);font-size:var(--text-sm);cursor:pointer;width:100%;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);display:flex}.cmdk-hint:hover{border-color:var(--accent);color:var(--text-secondary)}.cmdk-hint svg{flex:none;width:14px;height:14px}.cmdk-hint .sp{text-align:left;flex:1}.empty{padding:var(--space-7) var(--space-5);text-align:center;color:var(--text-secondary);align-items:center;gap:var(--space-3);animation:fade-up var(--dur-base) var(--ease-out);flex-direction:column;display:flex}.empty-icon{border-radius:var(--radius-lg);background:var(--bg-sunken);border:var(--border-width) solid var(--border-subtle);width:40px;height:40px;color:var(--text-tertiary);margin-bottom:var(--space-1);place-items:center;display:grid}.empty-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary)}.breadcrumb-sep{color:var(--text-tertiary);opacity:.7}.callout{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:var(--border-width) solid var(--border-subtle);background:var(--bg-sunken);font-size:var(--text-base);gap:var(--space-3);display:flex}.callout-icon{height:calc(var(--text-base) * 1.5);opacity:.9;flex:none;place-items:center;display:grid}.callout-warning{background:var(--state-degraded-bg);color:var(--state-degraded-fg);border-color:color-mix(in srgb, var(--warn) 30%, transparent)}.callout-danger{background:var(--state-error-bg);color:var(--state-error-fg);border-color:color-mix(in srgb, var(--bad) 28%, transparent)}.callout-info{background:var(--state-info-bg);color:var(--text-primary);border-color:color-mix(in srgb, var(--accent) 26%, transparent)}.skeleton{background:var(--bg-sunken);border-radius:var(--radius-sm);height:1em;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--fg) 7%, transparent), transparent);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.steps{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-bottom:var(--border-width) solid var(--border-subtle);scrollbar-width:none;min-height:22px;display:flex;overflow:auto hidden}.steps::-webkit-scrollbar{display:none}.step{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-tertiary);white-space:nowrap;transition:color var(--dur-base) var(--ease-out);display:flex}.step+.step:before{content:"";background:var(--border-strong);width:16px;height:1px;margin-right:var(--space-2)}.step-number{width:20px;height:20px;font-size:var(--text-xs);background:var(--bg-sunken);color:var(--text-tertiary);transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-spring);border-radius:50%;flex:none;place-items:center;display:grid}.step.current{color:var(--text-primary);font-weight:var(--weight-medium)}.step.current .step-number{background:var(--accent2);color:#fff;transform:scale(1.1)}.step.done .step-number{background:var(--ok);color:#fff}.tabs{gap:var(--space-1);border-bottom:var(--border-width) solid var(--border-subtle);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--text-secondary);padding:var(--space-2) var(--space-3);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-base) var(--ease-out);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;display:inline-flex}.tabs button:hover{color:var(--text-primary)}.tabs button[aria-selected=true]{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:var(--weight-medium)}.tab-count{font-size:var(--text-xs);padding:0 var(--space-1);text-align:center;border-radius:var(--radius-full);background:var(--bg-sunken);min-width:18px;color:var(--text-tertiary)}.tabs button[aria-selected=true] .tab-count{background:var(--bg-selected);color:var(--accent-t)}.chart{width:100%;display:block;overflow:visible}.chart-axis{fill:var(--text-tertiary);font-size:10px}.chart-frame{padding-left:34px;position:relative}.chart-yaxis{width:30px;font-size:var(--text-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums;pointer-events:none;z-index:1;flex-direction:column;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;top:0;left:0}.chart-yaxis span{line-height:1.2;transform:translateY(-50%)}.chart-yaxis span:last-child{transform:translateY(-50%)}@media (width<=600px){.chart-frame{padding-left:28px}.chart-yaxis{width:24px}}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-bar{transform-box:fill-box;transform-origin:bottom;animation:grow-y var(--dur-slow) var(--ease-out) backwards;transition:opacity var(--dur-fast) var(--ease-out)}.chart-col:hover .chart-bar{opacity:.78}.chart-tooltip{pointer-events:none;background:var(--bg-surface);border:var(--border-width) solid var(--border-subtle);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);white-space:nowrap;box-shadow:var(--shadow-lg);z-index:var(--z-sticky);animation:pop-in var(--dur-fast) var(--ease-out);position:absolute}.chart-plot{width:100%;position:relative}.chart-line{animation:draw-in var(--dur-slow) var(--ease-out) backwards;stroke-dasharray:1;stroke-dashoffset:0}@keyframes draw-in{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.chart-line{animation:none}}.chart-crosshair{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:3 3;pointer-events:none}.chart-legend{gap:var(--space-1) var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.chart-legend-item{min-width:0;max-width:220px;padding:2px var(--space-2);border:var(--border-width) solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;align-items:center;gap:5px;font-family:inherit;display:inline-flex}.chart-legend-item:hover{background:var(--bg-hover);color:var(--text-primary)}.chart-legend-item.is-dimmed{opacity:.42}.chart-legend-item.is-isolated{border-color:var(--border-strong);background:var(--bg-selected);color:var(--text-primary)}.chart-legend-swatch{border-radius:2px;flex:none;width:9px;height:9px}.timeline{gap:var(--space-2);flex-direction:column;display:flex}.timeline-row{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,9rem) minmax(0,1fr) auto;display:grid}.timeline-name{font-size:var(--text-sm)}.timeline-track{gap:2px;height:20px;display:flex}.timeline-track.is-dense{gap:0}.timeline-cell{min-width:0;transition:opacity var(--dur-fast) var(--ease-out);border-radius:2px;flex:1 1 0}.timeline-track.is-dense .timeline-cell{border-radius:0}.timeline-cell:hover{opacity:.75}.timeline-cell.is-pass{background:var(--ok)}.timeline-cell.is-partial{background:var(--warn)}.timeline-cell.is-fail{background:var(--bad)}.timeline-cell.is-stalled{background:repeating-linear-gradient(-45deg, var(--text-tertiary) 0 2px, var(--bg-sunken) 2px 5px)}.timeline-cell.is-absent{background:var(--bg-sunken);border:var(--border-width) dashed var(--border-subtle);box-sizing:border-box}.timeline-trailing{font-size:var(--text-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.timeline-swatch{flex:none;width:9px;height:9px;display:inline-block}.timeline-axis{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=700px){.timeline-row{grid-template-columns:minmax(0,1fr) auto}.timeline-name{grid-column:1/-1}.timeline-trailing{grid-column:2}}.allowance-accounts{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=1024px){.allowance-accounts{grid-template-columns:minmax(0,1fr)}}.allowance-account{border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.allowance-account-link{color:inherit;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);display:block}.allowance-account-link:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-1px)}.allowance-account-link:active{box-shadow:none;transform:none}.allowance-account-link:hover .allowance-account-header{background:var(--bg-hover)}.allowance-account-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-sunken);border-bottom:var(--border-width) solid var(--border-subtle);flex-wrap:wrap;display:flex}.allowance-account-header>.row{flex-wrap:wrap;min-width:0}.allowance-account-header strong{overflow-wrap:anywhere}.allowance-account-body{gap:var(--space-3);padding:var(--space-3);flex-direction:column;display:flex}.allowance-account-dot{border-radius:var(--radius-full);flex:none;width:8px;height:8px}.usage-keys{gap:var(--space-3);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}@media (width<=1280px){.usage-keys{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1024px){.usage-keys{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.usage-keys{grid-template-columns:repeat(2,minmax(0,1fr))}}.usage-key{gap:var(--space-2);padding:var(--space-3);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;min-width:0;display:flex}.usage-key-link{color:inherit;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}.usage-key-link:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-1px)}.usage-key-link:active{box-shadow:none;transform:none}.usage-key-head{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.usage-key-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.usage-key-head .badge{flex:none}.usage-key-value{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.15}.usage-key-foot{justify-content:space-between;align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.usage-key-idle{background:0 0;border-style:dashed}.usage-key-idle-track{border:var(--border-width) dashed var(--border-subtle);border-radius:3px;min-width:60px;height:6px}.usage-group{gap:var(--space-3);flex-direction:column;display:flex}.usage-group-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:var(--border-width) solid var(--border-subtle);display:flex}.usage-group-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-manager{gap:var(--space-4);grid-template-columns:minmax(160px,220px) minmax(0,1fr);align-items:start;display:grid}@media (width<=720px){.group-manager{grid-template-columns:minmax(0,1fr)}}.group-list{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.group-list-item{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border:var(--border-width) solid transparent;border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;min-width:0;display:flex}.group-list-item:hover{background:var(--bg-hover)}.group-list-item.is-selected{background:var(--bg-selected);border-color:var(--border-strong)}.group-editor{min-width:0}.group-key-list{max-height:280px;padding:var(--space-1);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-sunken);flex-direction:column;gap:2px;display:flex;overflow-y:auto}.group-key{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;min-width:0;display:flex}.group-key:hover{background:var(--bg-hover)}.group-key.is-selected{background:var(--bg-selected)}.group-key input{flex:none}.chain{gap:var(--space-2);flex-direction:column;display:flex}.chain-item{align-items:center;gap:var(--space-3);padding:var(--space-3);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-spring);display:flex}.chain-item:hover{border-color:var(--border-strong)}.chain-item.dragging{opacity:.4;transform:scale(.99)}.chain-item.drop-target{border-color:var(--accent);box-shadow:var(--ring-accent);border-style:dashed}.chain-rank{border-radius:var(--radius-sm);background:var(--bg-sunken);width:24px;height:24px;font-size:var(--text-xs);font-weight:var(--weight-semibold);flex:none;place-items:center;display:grid}.chain-handle{cursor:grab;color:var(--text-tertiary);padding:var(--space-1);transition:color var(--dur-fast) var(--ease-out);background:0 0;border:none}.chain-handle:hover{color:var(--text-primary)}.chain-handle:active{cursor:grabbing}.chain-arrow{justify-content:center;align-items:center;gap:var(--space-2);color:var(--text-tertiary);font-size:var(--text-xs);padding:var(--space-1) 0;display:flex}.chain-foot{margin-top:var(--space-4);padding-top:var(--space-3);border-top:var(--border-width) solid var(--border-subtle)}.login-page{min-height:100%;padding:var(--space-5);background:var(--bg-app);background-image:radial-gradient(ellipse 70% 50% at 50% -10%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%);place-items:center;display:grid}.login-card{width:100%;max-width:400px;animation:sheet-in var(--dur-slow) var(--ease-spring)}.login-brand{justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.02em;display:flex}.btn.google-signin{justify-content:center;gap:var(--space-3);width:100%;padding-block:var(--space-3);font-weight:var(--weight-medium)}.hamburger{top:var(--space-3);left:var(--space-3);z-index:calc(var(--z-drawer) + 10);border-radius:var(--radius-md);border:var(--border-width) solid var(--border-strong);background:var(--bg-surface);width:36px;height:36px;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-md);place-items:center;display:none;position:fixed}.scrim{display:none}@media (width<=900px){.hamburger{display:grid}.shell{grid-template-columns:1fr}.sidebar{width:260px;z-index:var(--z-drawer);transition:transform var(--dur-slow) var(--ease-out);box-shadow:var(--shadow-lg);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}body.nav-open .sidebar{transform:none}.sidebar-brand{padding-left:calc(var(--space-6) + var(--space-4))}body.nav-open .scrim{z-index:calc(var(--z-drawer) - 1);animation:fade-in var(--dur-base) var(--ease-out);background:#05070c73;display:block;position:fixed;inset:0}.topbar{padding-left:calc(var(--space-6) + var(--space-4) + var(--space-3))}.content{padding:var(--space-4)}}.mp-frame{border-top:var(--border-width) solid var(--border-subtle);background:var(--bg-app);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;height:clamp(420px,66vh,640px);position:relative;overflow:hidden}.mp-frame.dragging{cursor:grabbing}.mp-grid{pointer-events:none;background-image:radial-gradient(var(--border-strong) 1px, transparent 1px);opacity:.45;position:absolute;inset:0}.mp-canvas{transform-origin:0 0;transition:opacity var(--dur-base) var(--ease-out);position:absolute;top:0;left:0}.mp-wires{pointer-events:none;position:absolute;overflow:visible}.mp-wires path{fill:none;stroke:var(--border-strong);stroke-width:1.8px;transition:stroke var(--dur-base) var(--ease-out), opacity var(--dur-base)}.mp-wires path.off{stroke-dasharray:3 5;opacity:.45}.mp-wires path.on{stroke:var(--tone,var(--accent));stroke-width:2.4px}@keyframes mp-flow{to{stroke-dashoffset:-40px}}.mp-wires path.on.live{stroke-dasharray:6 8;animation:1s linear infinite mp-flow}.mp-canvas.faded .mp-wires path:not(.on){opacity:.25}.mp-canvas.faded .mp-node:not(.sel):not(.lit){opacity:.42}.mp-node{background:var(--bg-sunken);border:var(--border-width) solid var(--border-strong);border-left:3px solid var(--tone,var(--border-strong));border-radius:var(--radius-md);cursor:grab;width:250px;transition:opacity var(--dur-base) var(--ease-out), border-color var(--dur-base), box-shadow var(--dur-base);position:absolute}.mp-node:hover{border-color:color-mix(in srgb, var(--tone,var(--accent)) 55%, var(--border-strong))}.mp-node.sel{border-color:var(--tone,var(--accent));box-shadow:0 0 0 3px color-mix(in srgb, var(--tone,var(--accent)) 22%, transparent)}.mp-node.big{background:var(--bg-surface);width:274px}.mp-node.ghost{background:0 0;border-style:dashed}.mp-h{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);display:flex}.mp-ic{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--tone,var(--accent)) 16%, transparent);width:26px;height:26px;color:color-mix(in srgb, var(--tone,var(--accent)) 82%, var(--fg));flex:none;place-items:center;display:grid}.mp-t{min-width:0;font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-tight);-webkit-line-clamp:2;overflow-wrap:break-word;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.mp-h .badge{flex:none}.mp-b{padding:0 var(--space-3) var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-normal);-webkit-line-clamp:3;overflow-wrap:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.mp-node.big .mp-b{-webkit-line-clamp:4}.mp-b code,.mp-f code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-primary);overflow-wrap:break-word}.mp-f{padding:var(--space-2) var(--space-3);border-top:var(--border-width) solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.mp-port{border-radius:var(--radius-full);background:var(--bg-app);border:2px solid var(--border-strong);width:8px;height:8px;position:absolute;top:calc(50% - 4px)}.mp-port.in{left:-6px}.mp-port.out{right:-5px}.mp-node.sel .mp-port,.mp-node.lit .mp-port{border-color:var(--tone,var(--accent))}.mp-lane{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-weight:var(--weight-semibold);pointer-events:none;position:absolute}.mp-elabel{font-size:var(--text-xs);padding:1px var(--space-2);border-radius:var(--radius-full);background:var(--bg-surface);border:var(--border-width) solid var(--border-subtle);color:var(--text-tertiary);white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;position:absolute}.mp-elabel.l{transform:translateY(-50%)}.mp-elabel.r{transform:translate(-100%,-50%)}.mp-tools{left:var(--space-3);bottom:var(--space-3);gap:var(--space-1);z-index:2;display:flex;position:absolute}.mp-tools .btn{min-width:30px;padding:var(--space-1) var(--space-2);justify-content:center}.mp-tools .btn.wide{font-variant-numeric:tabular-nums}.mp-hint{right:var(--space-3);bottom:var(--space-3);z-index:1;font-size:var(--text-xs);color:var(--text-tertiary);background:color-mix(in srgb, var(--bg-app) 82%, transparent);padding:2px var(--space-2);border-radius:var(--radius-sm);pointer-events:none;position:absolute}.mp-side{top:var(--space-3);right:var(--space-3);bottom:var(--space-3);z-index:3;background:color-mix(in srgb, var(--bg-surface) 94%, transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-lg);width:290px;box-shadow:var(--shadow-md);-webkit-user-select:text;user-select:text;animation:map-inspector var(--dur-base) var(--ease-spring);flex-direction:column;display:flex;position:absolute}@keyframes map-inspector{0%{opacity:0;transform:translate(6px)}}.mp-side .sh{align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:var(--border-width) solid var(--border-subtle);display:flex}.mp-side .sb{padding:var(--space-1) var(--space-3);flex:1;overflow:auto}.mp-side .sr{gap:var(--space-3);padding:var(--space-2) 0;border-top:var(--border-width) solid var(--border-subtle);font-size:var(--text-base);display:flex}.mp-side .sr:first-child{border-top:none}.mp-side .sr .k{color:var(--text-secondary);flex:none;width:86px}.mp-side .sr .v{word-break:break-word;flex:1;min-width:0}.mp-side .sa{padding:var(--space-3);border-top:var(--border-width) solid var(--border-subtle)}.mp-side .sa .btn:hover{text-decoration:none}@media (width<=760px){.mp-side{top:auto;left:var(--space-3);width:auto;max-height:55%}.mp-hint{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skeleton:after{animation:none}.skeleton{animation:1.8s ease-in-out infinite soft-pulse!important}}.factor{align-items:center;gap:var(--space-2);min-width:92px;display:flex}.factor-track{background:var(--bg-sunken);border-radius:3px;flex:1;min-width:34px;height:5px;overflow:hidden}.factor-fill{height:100%;transition:width var(--dur-base) var(--ease-out);border-radius:3px}.factor-value{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);text-align:right;min-width:34px}.factor-sub{color:var(--text-tertiary)}.share-track{background:var(--bg-sunken);border-radius:3px;flex:none;width:68px;height:6px;display:inline-block;overflow:hidden}.share-fill{height:100%;transition:width var(--dur-base) var(--ease-out);border-radius:3px;display:block}.ss-brand{width:100%;height:auto;display:block}.ss-word{fill:var(--text-primary);font-family:inherit;font-weight:var(--weight-semibold);letter-spacing:.8px;font-size:12px}.ss-hill{fill:var(--border-strong);opacity:.2}.ss-ground{stroke:var(--border-strong);stroke-width:1px;opacity:.35}.ss-pole{stroke:var(--border-strong);stroke-width:1px;stroke-linecap:round;opacity:.45}.ss-rail{stroke:var(--border-strong);stroke-width:1.1px;stroke-linecap:round}.ss-car-body{fill:color-mix(in srgb, var(--accent) 13%, var(--bg-sidebar));stroke:var(--accent);stroke-width:.9px}.ss-car-plate{fill:var(--accent);opacity:.7}.ss-wheel{fill:var(--bg-sidebar);stroke:var(--accent);stroke-width:.9px;opacity:.8}.ss-stop-a{stop-color:var(--accent)}.ss-stop-b{stop-color:var(--accent2)}.ss-tile-mark path{stroke:#fff;stroke-width:1.9px;stroke-linejoin:round;stroke-linecap:round}.ss-car{opacity:.45;animation:8s linear infinite ss-arrive}.ss-car:first-child{--rest:150px;animation-delay:0s}.ss-car:nth-child(2){--rest:60px;animation-delay:-4s}@keyframes ss-arrive{0%{transform:translate(224px)}30%{transform:translate(132px)}60%{transform:translate(66px)}85%{transform:translate(24px)}to{transform:translate(8px)}}@media (prefers-reduced-motion:reduce){.ss-car{transform:translateX(var(--rest));animation:none!important}}.range-btn{align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-2);border-radius:var(--radius-md);border:var(--border-width) solid var(--border-subtle);background:var(--bg-sunken);color:var(--text-secondary);font:inherit;font-size:var(--text-xs);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);flex:none;display:inline-flex}.range-btn:hover,.range-btn[aria-expanded=true]{color:var(--text-primary);border-color:var(--accent)}.range-btn>svg:first-child{color:var(--accent)}.range-btn .rname{font-variant-numeric:tabular-nums;text-align:left;min-width:3.5ch}.range-btn .chev{opacity:.55;transition:transform var(--dur-base) var(--ease-out)}.range-btn[aria-expanded=true] .chev{transform:rotate(180deg)}.range-menu:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.range-menu{z-index:var(--z-overlay);min-width:232px;padding:var(--space-1);background:var(--bg-surface);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:pop-in var(--dur-base) var(--ease-spring);transform-origin:100% 0;flex-direction:column;gap:1px;display:flex;position:fixed}.range-presets{flex-direction:column;gap:1px;display:flex}.range-presets>button{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;display:flex}.range-presets>button:hover{background:var(--bg-hover)}.range-presets .check{color:var(--accent);margin-left:auto}.range-custom{gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2);margin-top:var(--space-1);border-top:var(--border-width) solid var(--border-subtle);flex-direction:column;display:flex}.range-custom-title{font-size:var(--text-xs);color:var(--text-secondary)}.range-field{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary);display:flex}.range-field>span{flex:none;width:3.2rem}.range-field input{min-width:0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:var(--border-width) solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:var(--text-xs);color-scheme:inherit;flex:1}.range-custom-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-1);display:flex}.range-note{font-size:var(--text-xs);color:var(--text-tertiary);flex:1}.action-menu{z-index:var(--z-overlay);min-width:210px;padding:var(--space-1);background:var(--bg-surface);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:pop-in var(--dur-base) var(--ease-spring);transform-origin:100% 0;flex-direction:column;gap:1px;display:flex;position:fixed}.action-menu button{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;display:flex}.action-menu button:hover:not(:disabled){background:var(--bg-hover)}.action-menu button:disabled{color:var(--text-tertiary);cursor:not-allowed}.action-menu button svg{color:var(--text-tertiary);flex:none}.action-menu button.is-danger{color:var(--state-error-fg);margin-top:var(--space-1);border-top:var(--border-width) solid var(--border-subtle);border-radius:0 0 var(--radius-md) var(--radius-md);padding-top:calc(var(--space-2) + var(--space-1))}.action-menu button.is-danger svg{color:inherit}.action-menu button.is-danger:hover:not(:disabled){background:var(--state-error-bg)}.copyable{align-items:center;gap:var(--space-2);max-width:100%;padding:2px var(--space-2);margin:-2px calc(var(--space-2) * -1);border:var(--border-width) solid transparent;border-radius:var(--radius-md);color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;display:inline-flex}.copyable:hover{background:var(--bg-sunken);border-color:var(--border-subtle);color:var(--text-primary)}.copyable .copyable-mark{opacity:0;transition:opacity var(--dur-fast) var(--ease-out);flex:none}.copyable:hover .copyable-mark,.copyable:focus-visible .copyable-mark{opacity:1}.table td.right,.table th.right{text-align:right}.table tbody tr.subrow td{background:var(--bg-sunken);border-bottom-color:#0000}.table tbody tr.subrow:last-child td{border-bottom:var(--border-width) solid var(--border-subtle)}.row-chevron{color:var(--text-tertiary);transition:transform var(--dur-base) var(--ease-out)}.row-chevron.is-open{transform:rotate(180deg)}.link-button{color:var(--text-link);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.link-button:hover{text-decoration:underline}.table td.nowrap,.table th.nowrap{white-space:nowrap}.save-bar{bottom:var(--space-4);z-index:var(--z-sticky);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:rise-in var(--dur-base) var(--ease-out);flex-wrap:wrap;display:flex;position:sticky}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=600px){.save-bar{padding:var(--space-3)}.save-bar .btn{flex:1;justify-content:center}}@media (width<=700px){.grid-4,.grid-3{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:var(--space-3)}.stat-value{font-size:var(--text-xl)}.stat-hint{font-size:var(--text-xs)}}@media (width<=380px){.grid-4,.grid-3{grid-template-columns:minmax(0,1fr)}}
