:root{--font-heading: "SUIT Variable", SUIT, "Pretendard Variable", Pretendard, -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;--font-body: var(--font-heading);--font-mono: var(--font-heading);--text-2xs: 11px;--leading-2xs: 16px;--text-xs: 12px;--leading-xs: 18px;--text-sm: 13px;--leading-sm: 20px;--text-md: 14px;--leading-md: 22px;--text-lg: 16px;--leading-lg: 24px;--text-xl: 20px;--leading-xl: 28px;--text-2xl: 28px;--leading-2xl: 36px;--tracking-caps: .04em;--tracking-tight: -.02em;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 12px;--space-6: 16px;--space-7: 20px;--space-8: 24px;--space-9: 32px;--space-10: 40px;--space-11: 48px;--space-12: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 999px;--size-header: 48px;--size-sidebar: 240px;--size-sidebar-collapsed: 56px;--size-row: 36px;--size-subrow: 30px;--size-input: 36px;--size-input-sm: 32px;--size-rail: 48px;--size-inspector: 280px;--size-strip: 72px;--size-thumb: 64px;--ease: cubic-bezier(.2, 0, 0, 1);--dur-fast: .12s;--dur-panel: .18s;--dur-modal: .24s;--dur-pulse: 1.6s;--color-neutral-100: #f7f7fa;--color-neutral-200: #efeff4;--color-neutral-300: #e2e3ea;--color-neutral-400: #c9cbd6;--color-neutral-500: #9ca0ac;--color-neutral-600: #6e7280;--color-neutral-700: #4a4d59;--color-neutral-800: #2e3038;--color-neutral-900: #17181d;--color-accent-100: #e7f4f0;--color-accent-200: #cde8e2;--color-accent-300: #9bd2c6;--color-accent-400: #47a894;--color-accent-500: #0f766e;--color-accent-600: #0c605a;--color-accent-700: #0a4f4a;--color-accent-800: #073d3a;--color-accent-900: #052e2c;--color-bg: #ffffff;--color-surface: #f5f4ee;--color-surface-2: #edebe2;--color-divider: #e8e6dc;--color-divider-strong: #d7d4c7;--color-text: var(--color-neutral-900);--color-muted: var(--color-neutral-600);--color-faint: var(--color-neutral-500);--color-stage: #16181f;--color-accent: var(--color-accent-500);--color-accent-hover: var(--color-accent-400);--color-accent-press: var(--color-accent-600);--color-on-accent: #ffffff;--color-accent-weak: rgba(15, 118, 110, .1);--color-focus: rgba(15, 118, 110, .45);--color-ok: #059669;--color-ok-weak: rgba(5, 150, 105, .1);--color-warn: #b45309;--color-warn-weak: rgba(180, 83, 9, .1);--color-danger: #dc2626;--color-danger-weak: rgba(220, 38, 38, .1);--color-info: #0e7490;--color-info-weak: rgba(14, 116, 144, .1);--color-class-0: #ef4444;--color-class-1: #f59e0b;--color-class-2: #22c55e;--color-class-3: #3b82f6;--color-class-4: #8b5cf6;--color-class-5: #ec4899;--color-class-6: #06b6d4;--color-class-7: #84cc16;--shadow-sm: 0 1px 2px rgba(23, 24, 29, .06);--shadow-md: 0 8px 24px rgba(23, 24, 29, .1);--shadow-lg: 0 12px 32px rgba(23, 24, 29, .14);--color-backdrop: rgba(23, 24, 29, .4)}[data-theme=dark]{color-scheme:dark;--color-neutral-100: #1a1e28;--color-neutral-200: #222735;--color-neutral-300: #2c3242;--color-neutral-400: #3a4154;--color-neutral-500: #6b7186;--color-neutral-600: #9aa1b5;--color-neutral-700: #c3c8d6;--color-neutral-800: #dde0ea;--color-neutral-900: #e8eaf2;--color-bg: #10131a;--color-surface: #171b24;--color-surface-2: #1f2430;--color-divider: #2a3040;--color-divider-strong: #3a4154;--color-text: var(--color-neutral-900);--color-muted: var(--color-neutral-600);--color-faint: var(--color-neutral-500);--color-stage: #0b0d12;--color-accent: #33bfa6;--color-accent-hover: #4fd0b8;--color-accent-press: #29a891;--color-on-accent: #0f1117;--color-accent-weak: rgba(51, 191, 166, .16);--color-focus: rgba(51, 191, 166, .55);--color-ok: #34d399;--color-ok-weak: rgba(52, 211, 153, .16);--color-warn: #f59e0b;--color-warn-weak: rgba(245, 158, 11, .16);--color-danger: #f87171;--color-danger-weak: rgba(248, 113, 113, .16);--color-info: #38bdf8;--color-info-weak: rgba(56, 189, 248, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);--color-backdrop: rgba(0, 0, 0, .6)}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur-panel: 0ms;--dur-modal: 0ms;--dur-pulse: 0ms}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-md)}html{scrollbar-gutter:stable}body{min-width:1440px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-press);text-decoration:underline}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-heading)}code,kbd,pre,samp,.mono,[data-numeric]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}:where(a,button,input,select,textarea,[tabindex]):focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-focus);outline-offset:1px}::selection{background:var(--color-accent-weak)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hr{margin:var(--space-6) 0;border:0;border-top:1px solid var(--color-divider)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);height:var(--size-input);padding:0 var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);font:500 var(--text-sm)/1 var(--font-body);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn-sm{height:var(--size-input-sm);padding:0 var(--space-4);font-size:var(--text-xs)}.btn-primary{color:var(--color-on-accent);background:var(--color-accent)}.btn-primary:hover{color:var(--color-on-accent);background:var(--color-accent-hover)}.btn-primary:active{background:var(--color-accent-press)}.btn-secondary{color:var(--color-text);background:var(--color-bg);border-color:var(--color-divider-strong)}[data-theme=dark] .btn-secondary{background:var(--color-surface)}.btn-secondary:hover{color:var(--color-text);background:var(--color-surface-2)}.btn-ghost{color:var(--color-muted);background:transparent}.btn-ghost:hover{color:var(--color-text);background:var(--color-surface-2)}.btn-danger{color:var(--color-danger);background:var(--color-danger-weak)}.btn-danger:hover{color:#fff;background:var(--color-danger)}.btn:disabled{cursor:not-allowed;opacity:.45}.icon-button{width:var(--size-input-sm);padding:0}.tag{display:inline-flex;align-items:center;gap:var(--space-2);height:20px;padding:0 var(--space-3);border-radius:var(--radius-full);font-size:var(--text-2xs);white-space:nowrap}.tag .dot{width:6px;height:6px;flex:none;background:currentColor;border-radius:50%}.tag .dot-pulse{animation:ds-pulse var(--dur-pulse) ease-in-out infinite}.tag-accent{color:var(--color-accent);background:var(--color-accent-weak)}.tag-ok{color:var(--color-ok);background:var(--color-ok-weak)}.tag-warn{color:var(--color-warn);background:var(--color-warn-weak)}.tag-danger{color:var(--color-danger);background:var(--color-danger-weak)}.tag-info{color:var(--color-info);background:var(--color-info-weak)}.tag-neutral{color:var(--color-muted);background:var(--color-surface-2)}@keyframes ds-pulse{0%,to{opacity:1}50%{opacity:.35}}.field{margin-bottom:var(--space-5)}.field>label,.field-label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:500}.field .hint,.hint{margin-top:var(--space-2);color:var(--color-faint);font-size:var(--text-xs)}.field .error-text,.error-text{margin-top:var(--space-2);color:var(--color-danger);font-size:var(--text-xs)}.input,.select{width:100%;height:var(--size-input);padding:0 var(--space-4);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-divider-strong);border-radius:var(--radius-sm);font:400 var(--text-md)/1 var(--font-body)}[data-theme=dark] .input,[data-theme=dark] .select{background:var(--color-surface)}.input::placeholder{color:var(--color-faint)}.input:hover,.select:hover{border-color:var(--color-faint)}.input:focus,.select:focus{border-color:var(--color-accent);outline:2px solid var(--color-focus);outline-offset:1px}.input.is-error{border-color:var(--color-danger)}.input:disabled,.select:disabled{background:var(--color-surface-2);cursor:not-allowed;opacity:.6}.banner-danger,.banner-info{padding:var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm)}.banner-danger{color:var(--color-danger);background:var(--color-danger-weak)}.banner-info{color:var(--color-info);background:var(--color-info-weak)}.seg{display:inline-flex;overflow:hidden;border:1px solid var(--color-divider-strong);border-radius:var(--radius-md)}.seg-opt{height:var(--size-input-sm);padding:0 var(--space-5);color:var(--color-muted);background:var(--color-bg);border:0;font:500 var(--text-xs)/1 var(--font-body);cursor:pointer}[data-theme=dark] .seg-opt{background:var(--color-surface)}.seg-opt[aria-pressed=true]{color:var(--color-on-accent);background:var(--color-accent)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--size-input-sm);padding:0 var(--space-4);color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-divider-strong);border-radius:var(--radius-full);font-size:var(--text-xs);cursor:pointer}[data-theme=dark] .chip{background:var(--color-surface)}.chip[aria-pressed=true]{color:var(--color-accent);background:var(--color-accent-weak);border-color:var(--color-accent)}.chip b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:400}.checkbox{position:relative;display:inline-flex;width:14px;height:14px;align-items:center;justify-content:center;vertical-align:middle;border:1.5px solid var(--color-divider-strong);border-radius:3px}.checkbox svg{stroke-width:2.5}button.checkbox{padding:0;background:transparent;cursor:pointer}.checkbox.is-on{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.card{padding:var(--space-6);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}[data-theme=dark] .card{background:var(--color-surface)}.card-title{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:600}.card-meta{color:var(--color-muted);font-size:var(--text-sm)}.table{width:100%;overflow:hidden;background:var(--color-bg);border:1px solid var(--color-divider);border-collapse:collapse;border-radius:var(--radius-lg)}[data-theme=dark] .table{background:var(--color-surface)}.table th{padding:var(--space-3) var(--space-5);color:var(--color-muted);font-size:var(--text-2xs);font-weight:500;letter-spacing:var(--tracking-caps);text-align:left;text-transform:uppercase;white-space:nowrap;background:var(--color-surface);border-bottom:1px solid var(--color-divider)}.table td{height:var(--size-row);padding:0 var(--space-5);font-size:var(--text-sm);white-space:nowrap;border-bottom:1px solid var(--color-divider)}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:var(--color-surface)}.table tbody tr[aria-selected=true] td{background:var(--color-accent-weak)}.table tbody tr[aria-selected=true] td:first-child{box-shadow:inset 2px 0 0 var(--color-accent)}.table .num{color:var(--color-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.table .subrow{background:var(--color-surface)}.table .subrow td{height:var(--size-subrow);color:var(--color-muted);font-size:var(--text-xs)}.bar{display:inline-block;width:88px;height:6px;overflow:hidden;vertical-align:middle;background:var(--color-surface-2);border-radius:var(--radius-full)}.bar>i{display:block;height:100%;background:var(--color-accent)}.pagi{display:flex;justify-content:center;gap:var(--space-3)}.pagi button{min-width:30px;height:28px;color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-divider-strong);border-radius:var(--radius-sm);font:500 var(--text-xs)/1 var(--font-body);cursor:pointer}[data-theme=dark] .pagi button{background:var(--color-surface)}.pagi button[aria-current=page]{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.dialog-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--color-backdrop)}.dialog{width:560px;max-width:calc(100vw - 48px);padding:var(--space-8);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}[data-theme=dark] .dialog{background:var(--color-surface)}.dialog-title{margin:0 0 var(--space-6);font-size:var(--text-lg);font-weight:600}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-4);padding-top:var(--space-6);margin-top:var(--space-6);border-top:1px solid var(--color-divider)}.console{padding:var(--space-4);overflow-x:auto;color:#9aa3b2;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.7;background:var(--color-stage);border:1px solid var(--color-divider);border-radius:var(--radius-lg)}.console .ts{margin-right:var(--space-4);color:#6b7280}.console .line-error{padding:0 var(--space-4);margin:0 calc(var(--space-4) * -1);color:#f87171;background:#f8717124}.empty{padding:var(--space-10) var(--space-6);text-align:center;background:var(--color-surface);border:1px dashed var(--color-divider-strong);border-radius:var(--radius-lg)}@media(prefers-reduced-motion:reduce){.tag .dot-pulse{animation:none}}.brand{display:inline-flex;align-items:center;gap:.375em;color:var(--color-text);font-size:24px;font-weight:800;letter-spacing:var(--tracking-tight);line-height:1}.brand-mark{width:1.15em;height:1.15em;flex:none}.brand-mark-dark,[data-theme=dark] .brand-mark-light,.brand-inverse .brand-mark-light{display:none}[data-theme=dark] .brand-mark-dark,.brand-inverse .brand-mark-dark{display:block}.brand-word span{color:var(--color-muted);font-weight:500}.brand.brand-inverse{color:#fff}.brand.brand-inverse .brand-word span{color:#ffffffbf}.app-shell{display:flex;min-width:1440px;min-height:100vh;color:var(--color-text);background:var(--color-surface)}[data-theme=dark] .app-shell{background:var(--color-bg)}.sidebar{display:flex;width:242px;flex:none;flex-direction:column;gap:var(--space-3);padding:var(--space-8) var(--space-6);background:var(--color-accent-800)}[data-theme=dark] .sidebar{background:var(--color-surface);border-right:1px solid var(--color-divider)}.sidebar-brand{display:block;width:max-content;margin-bottom:var(--space-9)}.sidebar-brand:hover{text-decoration:none}.sidebar-kicker{padding:0 var(--space-5) var(--space-2);color:#ffffff73;font-size:var(--text-2xs);font-weight:500;letter-spacing:var(--tracking-caps);text-transform:uppercase}[data-theme=dark] .sidebar-kicker{color:var(--color-faint)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-2)}.sidebar-link{display:flex;align-items:center;gap:var(--space-4);height:40px;padding:0 var(--space-5);color:#ffffffb3;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500}.sidebar-link:hover{color:#fff;text-decoration:none;background:#ffffff12}.sidebar-link[aria-current=page]{color:#fff;font-weight:600;background:#ffffff1f}[data-theme=dark] .sidebar-link{color:var(--color-muted)}[data-theme=dark] .sidebar-link:hover{color:var(--color-text);background:var(--color-surface-2)}[data-theme=dark] .sidebar-link[aria-current=page]{color:var(--color-accent);background:var(--color-accent-weak)}.sidebar-count{margin-left:auto;color:#fffc;font-size:var(--text-xs)}[data-theme=dark] .sidebar-count{color:var(--color-muted)}.sidebar-running{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:auto;color:var(--color-accent-300);font-size:var(--text-xs)}.sidebar-running>span,.running-dot{width:6px;height:6px;background:currentColor;border-radius:50%;animation:ds-pulse var(--dur-pulse) ease-in-out infinite}.sidebar-storage{padding:var(--space-6) var(--space-2) 0;margin-top:auto;border-top:1px solid rgba(255,255,255,.12)}[data-theme=dark] .sidebar-storage{border-color:var(--color-divider)}.sidebar-storage-label{display:flex;flex-direction:column;gap:var(--space-2);color:#ffffffa6;font-size:var(--text-2xs)}.sidebar-storage-label>strong{font-weight:500}.sidebar-storage-label>span{display:flex;justify-content:space-between;gap:var(--space-3)}.sidebar-storage-label small,.storage-pill-values small{color:inherit;font:inherit}[data-theme=dark] .sidebar-storage-label{color:var(--color-muted)}.shell-content{display:flex;min-width:0;flex:1;flex-direction:column}.shell-header{display:flex;height:var(--size-header);flex:none;align-items:center;gap:var(--space-6);padding:0 var(--space-10);background:transparent;border-bottom:1px solid var(--color-divider)}.breadcrumbs{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text);font-size:var(--text-sm)}.breadcrumbs a{color:var(--color-muted)}.breadcrumbs>span{color:var(--color-divider-strong)}.breadcrumbs strong{font-weight:500}.header-actions{display:flex;align-items:center;gap:var(--space-6);margin-left:auto}.storage-pill{display:flex;align-items:center;gap:var(--space-4);height:28px;padding:0 var(--space-5);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-full)}.storage-pill .mono{color:var(--color-muted);font-size:var(--text-2xs)}.storage-pill-values{display:inline-flex;align-items:center;gap:var(--space-4)}.storage-pill-values>span{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-2xs)}.account-menu{position:relative}.user-chip{display:flex;align-items:center;gap:var(--space-3);padding:0;background:transparent;border:0;color:var(--color-text);font-size:var(--text-sm);font-weight:500;cursor:pointer}.user-chip:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}.user-chip:disabled{cursor:wait;opacity:.65}.account-menu-chevron{display:inline-flex;color:var(--color-faint);transition:transform var(--dur-fast) ease}.account-menu-chevron.is-open{transform:rotate(180deg)}.account-menu-popover{position:absolute;z-index:30;top:calc(100% + var(--space-4));right:0;min-width:152px;padding:var(--space-2);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.account-menu-item{display:flex;width:100%;height:36px;align-items:center;padding:0 var(--space-5);color:var(--color-danger);background:transparent;border:0;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;text-align:left;cursor:pointer}.account-menu-item:hover,.account-menu-item:focus-visible{background:var(--color-danger-weak);outline:0}.account-menu-item:disabled{cursor:wait;opacity:.65}.avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--color-accent-700);background:var(--color-accent-100);border-radius:50%;font-size:11px;font-weight:600}[data-theme=dark] .avatar{color:var(--color-accent);background:var(--color-accent-weak)}.shell-main{flex:1;padding:var(--space-9) var(--space-10)}.page-title,.page-heading-row h1,.run-title-row h1{margin:0;font-size:var(--text-2xl);font-weight:700;letter-spacing:var(--tracking-tight);line-height:var(--leading-2xl)}.page-title{margin-bottom:var(--space-9)}.page-heading-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-8)}.page-heading-row p{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--text-sm)}.not-found{display:grid;min-width:1440px;min-height:100vh;place-content:center;text-align:center}.login-screen{display:flex;min-width:1440px;height:100vh;min-height:800px;background:var(--color-bg)}.login-hero{position:relative;width:60%;height:100%;min-height:800px;overflow:hidden;background:var(--color-surface-2)}.login-hero>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.login-hero-fade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(255,255,255,0) 55%,var(--color-bg) 98%);pointer-events:none}[data-theme=dark] .login-hero-fade{background:linear-gradient(90deg,rgba(16,19,26,0) 55%,var(--color-bg) 98%)}.login-hero-copy{position:absolute;bottom:var(--space-10);left:var(--space-10)}.login-hero-copy p{margin:var(--space-3) 0 0;color:#ffffffd9;font-size:var(--text-sm);text-shadow:0 1px 6px rgba(0,0,0,.35)}.login-hero-copy .brand{text-shadow:0 1px 8px rgba(0,0,0,.35)}.auth-pane{position:relative;display:flex;min-width:440px;flex:1;align-items:center;justify-content:center}.auth-form-wrap{width:380px}.auth-card>.brand{margin-bottom:var(--space-2);font-size:28px}.auth-card h1{margin:0 0 var(--space-8);color:var(--color-muted);font-size:var(--text-sm);font-weight:400;letter-spacing:0}.auth-form-wrap>.brand{margin-bottom:var(--space-2);font-size:28px}.auth-form-wrap h1{margin:0 0 var(--space-9);color:var(--color-muted);font-size:var(--text-sm);font-weight:400;letter-spacing:0}.oauth-stack{display:flex;flex-direction:column;gap:var(--space-4)}.oauth-button{position:relative;width:100%}.oauth-button>svg{position:absolute;left:var(--space-5)}.or-divider{display:flex;align-items:center;gap:var(--space-5);margin:var(--space-7) 0;color:var(--color-faint);font-size:var(--text-xs)}.or-divider:before,.or-divider:after{height:1px;flex:1;background:var(--color-divider);content:""}.auth-submit{width:100%}.auth-banner{margin-top:var(--space-5)}.auth-links{display:flex;align-items:center;flex-direction:column;gap:var(--space-4);margin-top:var(--space-8);color:var(--color-muted);font-size:var(--text-sm);text-align:center}.auth-card-screen{position:relative;display:grid;min-width:1440px;min-height:max(100vh,760px);padding:var(--space-10);place-items:center;background:var(--color-surface)}[data-theme=dark] .auth-card-screen{background:var(--color-bg)}.auth-card{width:380px;padding:var(--space-10)}.auth-card-link{margin:var(--space-6) 0 0;color:var(--color-muted);font-size:var(--text-sm);text-align:center}.auth-step-label,.summary-kicker{margin-bottom:var(--space-5);color:var(--color-muted);font-size:var(--text-2xs);font-weight:500;letter-spacing:var(--tracking-caps);text-transform:uppercase}.auth-dashed-divider{margin:var(--space-8) 0;border-top:1px dashed var(--color-divider-strong)}.project-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}.stat-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-5);min-height:80px;padding-inline:var(--space-7)}.stat-card>svg,.stat-symbol{color:var(--color-muted)}.stat-card>span:not(.stat-symbol){color:var(--color-muted);font-size:var(--text-sm)}.stat-card strong{font-size:var(--text-xl);font-weight:600}.project-list-card{padding:0;overflow:visible}.runs-card{padding:0;overflow:hidden}.admin-users-header{display:flex;min-height:var(--size-input-sm);align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.admin-users-header .card-title{margin:0}.admin-users-header .btn{margin-left:auto}.admin-user-select-column{width:56px}.admin-user-select-cell{text-align:center!important}.admin-user-select-cell>.checkbox{display:flex;margin:0 auto}.admin-users-card>.error-text{margin:0 0 var(--space-5)}.admin-user-quota{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;white-space:nowrap}.quota-limit-dialog{max-width:480px}.quota-limit-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.quota-limit-input>span{color:var(--color-muted);font-size:var(--text-sm);font-weight:600}.quota-limit-summary{display:grid;gap:var(--space-2);margin:0 0 var(--space-4)}.quota-limit-summary>div{display:flex;justify-content:space-between;gap:var(--space-4)}.quota-limit-summary dt{color:var(--color-muted)}.quota-limit-summary dd{margin:0;font-family:var(--font-mono)}.quota-limit-warning{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);color:var(--color-warn);background:var(--color-warn-weak);border-radius:var(--radius-sm);font-size:var(--text-sm)}.project-toolbar{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-6);border-bottom:1px solid var(--color-divider)}.search-field,.log-search{position:relative;display:flex;align-items:center}.search-field{width:280px}.search-field>svg,.log-search>svg{position:absolute;z-index:1;left:var(--space-4);color:var(--color-muted)}.search-field input{width:100%;height:var(--size-input-sm);padding:0 var(--space-4) 0 34px;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-divider-strong);border-radius:var(--radius-sm);outline:0}[data-theme=dark] .search-field input{background:var(--color-surface)}.project-toolbar .is-active{color:var(--color-accent);border-color:var(--color-accent)}.project-toolbar .sort-select{width:142px;flex:0 0 142px;height:var(--size-input-sm);margin-left:auto;font-size:var(--text-xs)}.project-toolbar-end{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.project-toolbar-end .sort-select{margin-left:0}.runs-table{border:0;border-radius:0}.project-card-list{display:grid;gap:0;padding:0}.project-empty-state,.project-loading-state,.project-load-error-state{display:flex;min-height:220px;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-3);color:var(--color-muted);text-align:center}.project-empty-state strong{color:var(--color-text);font-size:var(--text-sm)}.project-empty-state span,.project-loading-state,.project-load-error-state span{font-size:var(--text-xs)}.project-load-error-state strong{color:var(--color-text);font-size:var(--text-sm)}.project-load-error-state>svg{color:var(--color-danger)}.project-search-empty{display:grid;min-height:120px;place-items:center;color:var(--color-muted);text-align:center}.project-card{position:relative;background:var(--color-bg);border:0;border-bottom:1px solid var(--color-divider);border-radius:0;box-shadow:none;overflow:visible}.project-card:last-child{border-bottom:0}[data-theme=dark] .project-card{background:var(--color-surface)}.project-card.is-expanded{box-shadow:inset 4px 0 0 var(--color-accent)}.project-card-header{display:flex;min-height:104px;align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-7);background:var(--color-bg);border-bottom:1px solid transparent;border-radius:0}[data-theme=dark] .project-card-header{background:var(--color-surface)}.project-card.is-selected>.project-card-header{background:var(--color-accent-weak)}.project-card.is-expanded>.project-card-header{background:var(--color-accent-weak);border-bottom:1px solid var(--color-divider);border-radius:0}.project-title-lockup{display:flex;min-width:0;align-items:center;gap:var(--space-6);flex:1 1 auto}.project-select-checkbox{flex:none;margin-right:calc(var(--space-3) * -1)}.project-card-title{margin:0;overflow:hidden;font-size:var(--text-lg);font-weight:400;line-height:var(--leading-lg);text-overflow:ellipsis;white-space:nowrap}.project-expand{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;padding:0;flex:none;color:var(--color-text);background:transparent;border:0;cursor:pointer}.project-folder-icon{flex:none;color:var(--color-accent)}.project-folder-tile{display:grid;width:56px;height:56px;flex:none;color:var(--color-accent);background:var(--color-accent-weak);border-radius:var(--radius-md);place-items:center}.project-card-identity{min-width:0}.project-card-meta{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap}.project-card-header .dataset-actions{flex:none;margin-left:auto}.project-card-body{padding:var(--space-4) var(--space-5) var(--space-5) calc(var(--space-7) + 28px + var(--space-6));background:var(--color-bg);border-radius:0}[data-theme=dark] .project-card-body{background:var(--color-surface)}.project-chip-strip{padding:var(--space-2) 0 var(--space-4);background:var(--color-bg)}[data-theme=dark] .project-chip-strip{background:var(--color-surface)}.project-chip-strip:empty{display:none}.project-row-menu{position:relative;display:inline-flex}.project-row-menu-popover{position:absolute;z-index:30;top:50%;right:calc(100% + var(--space-2));min-width:132px;padding:var(--space-2);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transform:translateY(-50%)}[data-theme=dark] .project-row-menu-popover{background:var(--color-surface)}.project-row-menu-item{display:flex;width:100%;height:34px;align-items:center;padding:0 var(--space-4);color:var(--color-text);background:transparent;border:0;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;text-align:left;cursor:pointer}.project-row-menu-item:hover,.project-row-menu-item:focus-visible{background:var(--color-surface-2);outline:0}.project-row-menu-item.is-danger{color:var(--color-danger)}.project-row-menu-item.is-danger:hover,.project-row-menu-item.is-danger:focus-visible{background:var(--color-danger-weak)}.select-menu{position:relative;width:100%;min-width:0}.select-menu-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);text-align:left;cursor:pointer}.select-menu-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-menu-trigger>svg{flex:none}.select-menu-popover{position:absolute;z-index:30;top:calc(100% + var(--space-2));left:0;width:100%;max-height:320px;padding:var(--space-2);overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}[data-theme=dark] .select-menu-popover{background:var(--color-surface)}.select-menu-option{display:flex;width:100%;min-height:38px;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) var(--space-4);color:var(--color-text);background:transparent;border:0;border-radius:var(--radius-sm);font:500 var(--text-sm)/1.35 var(--font-body);text-align:left;cursor:pointer}.select-menu-option:hover,.select-menu-option:focus-visible,.select-menu-option.is-selected{background:var(--color-surface-2);outline:0}.select-menu-option.is-selected{color:var(--color-accent)}.run-expand{display:inline-flex;align-items:center;gap:var(--space-3);padding:0;color:inherit;background:none;border:0;cursor:pointer}.project-class-image-content{min-width:0}.project-class-image-message{padding:var(--space-4) 0;color:var(--color-muted);font-size:var(--text-xs)}.project-class-image-message.is-error{color:var(--color-danger)}.project-empty-child{display:flex;align-items:center;padding:var(--space-5) var(--space-7);color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);font-size:var(--text-sm)}.dataset-actions{display:inline-flex;gap:var(--space-4)}.dataset-actions a:hover{text-decoration:none}.project-dataset-table{width:100%;table-layout:fixed;background:var(--color-bg);border:1px solid var(--color-divider);border-spacing:0;border-collapse:separate;border-radius:var(--radius-md)}.project-dataset-table th{height:44px;padding:0 var(--space-5);color:var(--color-muted);background:var(--color-surface);border-bottom:1px solid var(--color-divider);font-size:var(--text-xs);font-weight:500;text-align:left}.project-dataset-table th:first-child{border-radius:var(--radius-md) 0 0 0}.project-dataset-table th:last-child{border-radius:0 var(--radius-md) 0 0}.dataset-select-column{width:64px}.project-dataset-table th:nth-child(2){padding-left:calc(var(--space-5) + 28px + var(--space-7))}.dataset-storage-column{width:16%}.dataset-progress-column{width:234px}.dataset-menu-column{width:56px}.dataset-row>td{height:84px;padding:var(--space-4) var(--space-5);background:var(--color-bg);border-bottom:1px solid var(--color-divider);vertical-align:middle}.dataset-row:last-child>td{border-bottom:0}.dataset-row:hover>td{background:var(--color-surface)}[data-theme=dark] .project-dataset-table,[data-theme=dark] .dataset-row>td{background:var(--color-surface)}.dataset-select-cell{text-align:center!important}.dataset-select-cell .dataset-selection-control{display:flex;align-items:center;justify-content:center}.dataset-select-cell>.checkbox{display:flex;margin:0 auto}.dataset-selection-control{display:inline-flex;align-items:center;justify-content:center}.dataset-identity{display:flex;min-width:0;align-items:center;gap:var(--space-7)}.merged-dataset-toggle-spacer{display:inline-flex;width:28px;flex:none;align-items:center;justify-content:center;color:var(--color-muted)}.merged-dataset-toggle{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;padding:0;flex:none;color:var(--color-text);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.merged-dataset-toggle:hover,.merged-dataset-toggle:focus-visible{background:var(--color-surface-2)}.dataset-name .merged-dataset-badge{display:inline-flex;min-height:22px;align-items:center;margin-left:var(--space-3);padding:0 var(--space-3);color:var(--color-accent);background:var(--color-accent-weak);border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:500;vertical-align:middle}.merged-source-row>td{padding:0;background:var(--color-bg);border-bottom:1px solid var(--color-divider)}.merged-source-row:last-child>td{border-bottom:0}.merged-source-table{width:100%;table-layout:fixed;background:var(--color-bg);border:0;border-spacing:0;border-collapse:separate}.merged-source-select-column{width:calc(64px + var(--space-5) + 28px + var(--space-7) + 14px + var(--space-6))}.merged-source-table td{height:64px;padding:0 var(--space-4);border-bottom:1px solid var(--color-divider);font-size:var(--text-xs);text-align:left;vertical-align:middle}.merged-source-table td.merged-source-select-cell{padding:0 0 0 calc(64px + var(--space-5) + 28px + var(--space-7));text-align:left!important}.merged-source-table td.merged-source-select-cell .dataset-selection-control{display:flex;align-items:center;justify-content:flex-start;transform:translateY(-1px)}.merged-source-table tbody tr:last-child td{border-bottom:0}.merged-source-name{display:inline-flex;min-width:0;align-items:baseline;gap:var(--space-5);color:var(--color-text);transform:translateY(-2px)}.merged-source-name:hover{color:var(--color-text);text-decoration:none}.merged-source-name strong{overflow:hidden;font-size:var(--text-xs);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.merged-source-name span{overflow:hidden;color:var(--color-muted);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .merged-source-row>td,[data-theme=dark] .merged-source-table{background:var(--color-surface)}.dataset-thumb{position:relative;width:132px;height:68px;flex:none;overflow:hidden;background:var(--color-stage);border-radius:var(--radius-sm)}.dataset-thumb img{display:block;width:100%;height:100%;object-fit:cover}.dataset-name{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:var(--space-2);color:var(--color-text)}.dataset-name:hover{color:var(--color-text);text-decoration:none}.dataset-name strong{overflow:hidden;font-size:var(--text-sm);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.dataset-name span,.dataset-work{color:var(--color-muted);font-size:var(--text-xs)}.dataset-work{display:inline-block}.dataset-storage-usage{display:inline-flex;flex-direction:column;gap:var(--space-2)}.dataset-storage-usage>span{display:grid;grid-template-columns:48px auto;align-items:baseline;gap:var(--space-2)}.dataset-storage-usage small{color:var(--color-muted);font-size:var(--text-2xs)}.dataset-storage-usage strong{color:var(--color-text);font-size:var(--text-xs);font-weight:500}.dataset-progress{display:inline-flex;align-items:center;gap:var(--space-5);transform:translateY(-6px)}.dataset-progress .bar{width:96px;height:8px}.dataset-progress-track{position:relative;display:inline-flex}.dataset-progress-fraction{position:absolute;top:100%;left:0;margin-top:var(--space-2);color:var(--color-muted);font-size:var(--text-2xs);white-space:nowrap}.dataset-menu-cell{text-align:center}.dataset-row-menu{flex:none;margin-left:auto}.table-footer{position:relative;display:flex;min-height:56px;align-items:center;padding:0 var(--space-5);color:var(--color-muted);border-top:1px solid var(--color-divider);font-size:var(--text-xs)}.table-footer .pagi{position:absolute;left:50%;transform:translate(-50%)}.modal-background{filter:blur(3px)}.created-toast,.run-notice{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);margin:calc(var(--space-4) * -1) 0 var(--space-5);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-size:var(--text-sm)}.new-project-dialog{position:relative}.new-project-dialog .field>label{margin-bottom:var(--space-5)}.project-action-dialog{position:relative}.merge-datasets-dialog,.class-extraction-dialog{width:620px}.project-merge-dialog{width:min(760px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow-y:auto}.project-merge-warning{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-5);color:var(--color-text);background:var(--color-warn-weak);border:1px solid var(--color-warn);border-radius:var(--radius-sm);font-size:var(--text-sm)}.project-merge-warning>svg{flex:none;color:var(--color-warn)}.project-merge-warning p{margin:var(--space-1) 0 0;color:var(--color-muted);line-height:1.5}.project-merge-source-list{display:grid;max-height:140px;gap:var(--space-2);padding:var(--space-4);margin:0 0 var(--space-6);overflow-y:auto;list-style:none;background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:var(--radius-sm)}.project-merge-source-list li{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm)}.project-merge-source-list li>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-merge-source-list .mono{flex:none;color:var(--color-muted);font-size:var(--text-xs)}.project-merge-name-field{margin-bottom:var(--space-6)}.project-merge-policy{padding:0;margin:0 0 var(--space-6);border:0}.project-merge-policy legend{margin-bottom:var(--space-3);font-size:var(--text-sm);font-weight:600}.project-merge-policy-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.project-merge-policy-options .class-input-option{min-height:86px;align-items:flex-start;padding:var(--space-4)}.project-merge-policy-options .class-input-option>span{display:grid;gap:var(--space-1)}.project-merge-policy-options small{color:var(--color-muted);font-size:var(--text-xs);font-weight:400;line-height:1.45}.project-merge-policy-summary{display:block;margin-top:var(--space-3);color:var(--color-muted);font-size:var(--text-xs)}.project-merge-class-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3);font-size:var(--text-sm)}.project-merge-class-heading span{color:var(--color-muted);font-size:var(--text-xs)}.project-merge-class-list{max-height:330px;padding:var(--space-2);overflow-y:auto;background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:var(--radius-sm)}.project-merge-class-row{align-items:start;background:var(--color-bg);border:1px solid transparent}[data-theme=dark] .project-merge-class-row{background:var(--color-surface)}.project-merge-class-row .class-order-index,.project-merge-class-row .class-color-cell,.project-merge-class-row .class-reorder-handle{margin-top:7px}.project-merge-class-content{display:grid;min-width:0;gap:var(--space-2)}.project-merge-class-sources{display:flex;min-width:0;flex-wrap:wrap;gap:var(--space-1)}.project-merge-class-sources>span{max-width:100%;padding:2px var(--space-2);overflow:hidden;color:var(--color-muted);background:var(--color-surface-2);border-radius:var(--radius-full);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.project-merge-empty-classes{padding:var(--space-6);color:var(--color-muted);background:var(--color-surface-2);border:1px dashed var(--color-divider-strong);border-radius:var(--radius-sm);font-size:var(--text-sm);text-align:center}.class-extraction-dialog{max-height:calc(100vh - 48px);overflow-y:auto}.merge-dataset-copy{margin:0 0 var(--space-5);color:var(--color-muted);font-size:var(--text-sm);line-height:1.6}.merge-dataset-list,.class-extraction-source-list{display:grid;max-height:180px;gap:var(--space-3);padding:var(--space-4);margin:0 0 var(--space-6);overflow-y:auto;list-style:none;background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:var(--radius-sm)}.merge-dataset-list li,.class-extraction-source-list li{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-5);font-size:var(--text-sm)}.merge-dataset-list li>span:first-child,.class-extraction-source-list li>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merge-dataset-list .mono,.class-extraction-source-list .mono{flex:none;color:var(--color-muted);font-size:var(--text-xs)}.merge-name-field{margin-bottom:0}.class-extraction-name-field{margin-bottom:var(--space-6)}.class-extraction-fieldset{min-width:0;padding:0;margin:0;border:0}.class-extraction-fieldset legend{margin-bottom:var(--space-3);color:var(--color-text);font-size:var(--text-sm);font-weight:600}.class-extraction-class-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:240px;gap:var(--space-3);padding:2px;overflow-y:auto}.class-extraction-class-option{min-width:0}.class-extraction-class-option>i{width:10px;height:10px;flex:none;border-radius:50%}.class-extraction-class-option>.class-extraction-class-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-extraction-class-image-count{flex:none;margin-left:auto;color:var(--color-muted);font-size:var(--text-xs);font-weight:500;white-space:nowrap}.class-extraction-fieldset:disabled .class-extraction-class-option{cursor:not-allowed;opacity:.6}.class-extraction-count{display:block;margin-top:var(--space-3);color:var(--color-muted);font-size:var(--text-xs)}.merge-target-copy{padding:var(--space-4);margin:0;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:var(--radius-sm);font-size:var(--text-sm)}.merge-target-fieldset{padding:0;margin:0;border:0}.merge-target-fieldset legend{margin-bottom:var(--space-3);color:var(--color-text);font-size:var(--text-sm);font-weight:600}.merge-target-options{display:grid;gap:var(--space-3)}.merge-target-option{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-sm);cursor:pointer}.merge-target-option:has(input:checked){border-color:var(--color-accent)}.merge-target-option>span{display:flex;min-width:0;flex:1;align-items:center;justify-content:space-between;gap:var(--space-4)}.merge-target-option small,.merge-target-warning{color:var(--color-muted);font-size:var(--text-xs)}.merge-target-warning{margin:var(--space-3) 0 0}.merge-conflict-notice{padding:var(--space-4);margin-top:var(--space-5);color:var(--color-warn);background:var(--color-warn-weak);border:1px solid var(--color-warn);border-radius:var(--radius-sm)}.merge-conflict-notice>strong{display:block;font-size:var(--text-sm)}.merge-conflict-notice p{margin:var(--space-3) 0;color:var(--color-text);font-size:var(--text-xs);line-height:1.55}.merge-conflict-notice dl{display:grid;gap:var(--space-2);margin:0}.merge-conflict-notice dl>div{display:grid;grid-template-columns:108px minmax(0,1fr);gap:var(--space-3);font-size:var(--text-xs)}.merge-conflict-notice dt{color:var(--color-muted)}.merge-conflict-notice dd{min-width:0;margin:0;color:var(--color-text);overflow-wrap:anywhere}.project-delete-warning{display:flex;gap:var(--space-4);padding:var(--space-4);color:var(--color-danger);background:var(--color-danger-weak);border-radius:var(--radius-sm)}.project-delete-warning>svg{flex:none;margin-top:1px}.project-delete-warning strong{display:block;font-size:var(--text-sm)}.project-delete-warning p{margin:var(--space-2) 0 0;font-size:var(--text-xs)}.project-delete-copy{margin:var(--space-5) 0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.6}.project-delete-copy strong{color:var(--color-text)}.project-delete-list{max-height:180px;padding:var(--space-4);overflow-y:auto;background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:var(--radius-sm);font-size:var(--text-sm)}.project-delete-list>strong{font-size:var(--text-xs)}.project-delete-list ul{padding-left:var(--space-6);margin:var(--space-3) 0 0}.project-delete-list li+li{margin-top:var(--space-2)}.project-dialog-error{margin-top:var(--space-4)}.dialog-close{position:absolute;top:var(--space-5);right:var(--space-5)}.class-field{margin-top:var(--space-8)}.class-input-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.class-input-option{display:flex;min-height:var(--size-input);align-items:center;gap:var(--space-3);padding:0 var(--space-4);color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-divider-strong);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer}[data-theme=dark] .class-input-option{background:var(--color-surface)}.class-input-option:has(input:checked){color:var(--color-accent);background:var(--color-accent-weak);border-color:var(--color-accent)}.class-input-option input{margin:0;accent-color:var(--color-accent)}.class-editor-list{display:flex;flex-direction:column;gap:var(--space-5)}.class-editor-row{display:grid;grid-template-columns:28px 24px minmax(0,1fr) 36px;align-items:center;gap:var(--space-3);padding:var(--space-1);border-radius:var(--radius-sm);transition:background-color .12s ease,box-shadow .12s ease}.class-editor-row.is-drag-over{background:var(--color-accent-weak);box-shadow:inset 0 0 0 1px var(--color-accent)}.class-order-index{color:var(--color-muted);font-size:var(--text-sm);text-align:center}.class-reorder-handle{width:36px;padding:0;color:var(--color-muted);cursor:grab}.class-reorder-handle:active{cursor:grabbing}.class-color-cell{position:relative;width:24px;height:24px}.class-swatch{width:24px;height:24px;padding:0;border:2px solid var(--color-bg);border-radius:var(--radius-sm);box-shadow:0 0 0 1px var(--color-divider-strong);cursor:pointer}.class-remove{width:32px;padding:0}.add-class-button{margin-top:var(--space-6)}.class-field>.hint{margin-top:var(--space-5)}.class-source-panel .field-label{margin-bottom:var(--space-4)}.class-source-panel .hint{margin-top:var(--space-4)}.class-source-guidance{line-height:1.5}.class-source-preview,.project-class-image-list{display:flex;max-height:112px;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3);margin-top:var(--space-5);overflow-y:auto;background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:var(--radius-sm)}.class-source-chip,.class-image-count{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-full);font-size:var(--text-xs)}.class-source-chip i,.class-image-count i{width:10px;height:10px;border-radius:50%}.project-class-image-list{flex:1;gap:var(--space-3);padding:var(--space-4);margin-top:0}.project-chip-strip .project-class-image-list{max-height:none;padding:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;background:transparent;border:0;border-radius:0}.class-image-count{gap:var(--space-3);padding:var(--space-3) var(--space-4)}.class-image-count strong{margin-left:var(--space-2);color:var(--color-text);font-weight:600}.class-source-empty{padding:var(--space-4);color:var(--color-muted);background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:var(--radius-sm);font-size:var(--text-xs);line-height:1.6}.upload-source-card,.upload-result-card{width:760px;padding:var(--space-8)}.upload-result-card{margin-top:var(--space-6)}.two-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.upload-partition-hint{display:block;margin-top:var(--space-2);line-height:1.55}.upload-merge-target-fieldset{padding:0;margin:var(--space-6) 0 0;border:0}.upload-merge-target-fieldset legend{margin-bottom:var(--space-2);color:var(--color-text);font-size:var(--text-sm);font-weight:600}.upload-merge-target-copy{margin:0 0 var(--space-4);color:var(--color-muted);font-size:var(--text-xs)}.upload-merge-target-options{display:grid;max-height:180px;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);overflow-y:auto}.upload-merge-target-option{display:flex;min-width:0;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-sm);cursor:pointer}.upload-merge-target-option:has(input:checked){border-color:var(--color-accent)}.upload-merge-target-option:has(input:disabled){cursor:default}.upload-merge-target-option>span{display:grid;min-width:0;gap:var(--space-1)}.upload-merge-target-option strong,.upload-merge-target-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-merge-target-option strong{color:var(--color-text);font-size:var(--text-sm);font-weight:600}.upload-merge-target-option small{color:var(--color-muted);font-size:var(--text-xs)}.drop-zone{margin-top:var(--space-6);display:flex;height:200px;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-3);color:var(--color-muted);background:var(--color-surface);border:1px dashed var(--color-divider-strong);border-radius:var(--radius-lg);transition:border-color var(--dur-fast),background var(--dur-fast)}[data-theme=dark] .drop-zone{background:var(--color-bg)}.drop-zone.is-dragging{color:var(--color-accent);background:var(--color-accent-weak);border-color:var(--color-accent)}.drop-zone.is-collecting,.drop-zone.is-progressing{height:260px}.drop-zone strong{color:var(--color-text);font-size:var(--text-md);font-weight:600}.drop-zone>span{font-size:var(--text-xs)}.drop-live-progress{display:flex;width:min(640px,calc(100% - var(--space-10)));flex-direction:column;gap:var(--space-2)}.drop-progress-stage{display:flex;flex-direction:column;gap:var(--space-1)}.drop-live-progress-copy{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-4);color:var(--color-muted);font-size:var(--text-xs)}.drop-live-progress-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop-live-progress-copy>strong{flex:none;color:var(--color-text);font-size:var(--text-xs)}.drop-live-progress .bar{width:100%;height:8px}.drop-live-progress .bar>i,.tray-total .bar>i{transition:width .5s linear}.upload-progress-detail{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);color:var(--color-muted);font-size:var(--text-xs)}.upload-progress-detail>span,.upload-progress-detail>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-progress-detail>strong{flex:none;color:var(--color-text);font-size:var(--text-xs);font-weight:600}.drop-live-progress-current{overflow:hidden;color:var(--color-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.drop-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.upload-stats{display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-divider)}.upload-stats>div{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-2);border-right:1px solid var(--color-divider)}.upload-stats>div:last-child{border-right:0}.upload-stats span{color:var(--color-muted);font-size:var(--text-xs)}.upload-stats strong{font-size:var(--text-xl);font-weight:600}.upload-stats .issue-total{color:var(--color-warn)}.class-resolution-panel{margin-top:var(--space-6);padding:var(--space-6);background:var(--color-warn-weak);border:1px solid var(--color-divider-strong);border-radius:var(--radius-lg)}.class-resolution-heading{display:flex;align-items:flex-start;gap:var(--space-4);color:var(--color-warn)}.class-resolution-heading>svg{flex:none;margin-top:var(--space-1)}.class-resolution-heading h3{margin:0;color:var(--color-text);font-size:var(--text-md);font-weight:650}.class-resolution-heading h3:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.class-resolution-heading p{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--text-xs);line-height:1.6}.class-conflict-list{display:grid;gap:var(--space-5);margin-top:var(--space-5)}.class-conflict-item{min-width:0;padding:var(--space-5);margin:0;background:var(--color-bg);border:1px solid var(--color-divider-strong);border-radius:var(--radius-md)}[data-theme=dark] .class-conflict-item{background:var(--color-surface)}.class-conflict-item legend{padding:0 var(--space-2);color:var(--color-text);font-size:var(--text-sm);font-weight:600}.class-conflict-source{margin:0 0 var(--space-4);color:var(--color-muted);font-size:var(--text-xs)}.class-conflict-source span{margin-left:var(--space-2);color:var(--color-text);overflow-wrap:anywhere}.class-conflict-comparison{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-sm)}[data-theme=dark] .class-conflict-comparison{background:var(--color-bg)}.class-conflict-comparison>div{display:flex;min-width:0;flex-direction:column;gap:var(--space-2)}.class-conflict-comparison>div:last-child{text-align:right}.class-conflict-comparison span{color:var(--color-muted);font-size:var(--text-2xs)}.class-conflict-comparison strong{color:var(--color-text);font-size:var(--text-sm);overflow-wrap:anywhere}.class-conflict-comparison>svg{color:var(--color-muted)}.class-resolution-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-4)}.class-resolution-option{display:flex;min-height:112px;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-divider-strong);border-radius:var(--radius-sm);cursor:pointer}[data-theme=dark] .class-resolution-option{background:var(--color-surface)}.class-resolution-option:has(input:checked){color:var(--color-accent);background:var(--color-accent-weak);border-color:var(--color-accent)}.class-resolution-option:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:1px}.class-resolution-option:has(input:disabled){cursor:wait;opacity:.65}.class-resolution-option input{flex:none;margin:var(--space-1) 0 0;accent-color:var(--color-accent)}.class-resolution-option>span{display:flex;min-width:0;flex-direction:column;gap:var(--space-2)}.class-resolution-option strong{color:inherit;font-size:var(--text-sm);font-weight:600}.class-resolution-option small{color:var(--color-muted);font-size:var(--text-xs);line-height:1.5}.class-resolution-option small b{display:block;margin-top:var(--space-1);color:var(--color-text);font-weight:600;overflow-wrap:anywhere}.class-resolution-warning{color:var(--color-warn);font-size:var(--text-2xs);font-style:normal;line-height:1.5}.class-resolution-error{margin:var(--space-4) 0 0;color:var(--color-danger);font-size:var(--text-xs)}.class-resolution-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-divider-strong)}.class-resolution-actions>span{color:var(--color-muted);font-size:var(--text-xs);line-height:1.5}.class-resolution-actions .btn{flex:none}.issue-list{padding-top:var(--space-3)}.issue-group{border-bottom:1px solid var(--color-divider)}.issue-group:last-child{border-bottom:0}.issue-row{display:grid;width:100%;min-height:36px;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-5);padding:0 var(--space-3);color:var(--color-text);text-align:left;background:transparent;border:0;cursor:pointer}.issue-row:not(:disabled):hover,.issue-group.is-expanded .issue-row{background:var(--color-surface)}.issue-row:disabled{cursor:default}.issue-row:disabled svg{opacity:.35}.issue-row .mono{color:var(--color-warn)}.issue-row svg{color:var(--color-muted)}.issue-details{max-height:280px;overflow-y:auto;padding:var(--space-5) var(--space-6);background:var(--color-surface);border-top:1px solid var(--color-divider)}.issue-details[hidden]{display:none}.issue-detail-group{display:grid;gap:var(--space-4)}.issue-detail-group+.issue-detail-group{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-divider)}.issue-detail-heading{display:flex;min-width:0;align-items:center;gap:var(--space-4);flex-wrap:wrap}.issue-detail-heading .tag{max-width:100%;overflow:hidden;text-overflow:ellipsis}.issue-detail-caption{flex:none;color:var(--color-muted);font-size:var(--text-xs)}.issue-detail-path{min-width:0;color:var(--color-text);font-size:var(--text-sm);overflow-wrap:anywhere}.issue-detail-reasons{display:grid;gap:var(--space-2);margin:0;padding-left:var(--space-7);color:var(--color-muted);font-size:var(--text-xs);line-height:1.55}.upload-tray{position:fixed;z-index:20;right:var(--space-9);bottom:var(--space-9);width:320px;padding:var(--space-5);box-shadow:var(--shadow-lg)}.upload-tray.is-collapsed{padding-bottom:var(--space-5)}.upload-tray-head{display:flex;width:100%;align-items:center;justify-content:space-between;padding:0;background:transparent;border:0;cursor:pointer}.upload-tray-head strong{margin-right:var(--space-2)}.tray-total{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0}.tray-total .bar{flex:1;width:auto}.tray-progress-detail{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:calc(var(--space-3) * -1) 0 var(--space-5);color:var(--color-muted);font-size:var(--text-xs)}.tray-progress-detail strong{color:var(--color-text);font-size:var(--text-xs);font-weight:600}.tray-files{display:flex;flex-direction:column;gap:var(--space-4)}.tray-files>div{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs)}.tray-file-progress{display:flex;align-items:center;gap:var(--space-2)}.tray-file-progress .bar{width:56px}.upload-result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-divider)}.upload-result-actions .btn{justify-content:center}.viewer-screen{display:flex;min-width:1440px;min-height:760px;height:100vh;flex-direction:column;overflow:hidden;color:var(--color-text);background:var(--color-bg)}.viewer-header{display:flex;height:var(--size-header);flex:none;align-items:center;gap:var(--space-6);padding:0 var(--space-5);background:var(--color-bg);border-bottom:1px solid var(--color-divider)}.viewer-brand{display:flex;align-items:center;padding-right:var(--space-6);border-right:1px solid var(--color-divider)}.viewer-brand .brand{font-size:var(--text-lg)}.viewer-brand:hover{text-decoration:none}.viewer-filters{display:flex;gap:var(--space-3);margin-left:auto}.viewer-body{display:flex;min-height:0;flex:1}.tool-rail{display:flex;width:var(--size-rail);flex:none;align-items:center;flex-direction:column;gap:var(--space-2);padding:var(--space-4) 0;background:var(--color-surface);border-right:1px solid var(--color-divider)}.rail-button{display:grid;width:36px;height:36px;padding:0;place-items:center;color:var(--color-muted);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer}.rail-button:hover{color:var(--color-text);background:var(--color-surface-2)}.rail-button[aria-pressed=true]{color:var(--color-accent);background:var(--color-accent-weak)}.rail-delete{margin-top:auto;color:var(--color-danger)}.viewer-stage{position:relative;display:flex;min-width:0;min-height:0;flex:1;align-items:center;justify-content:center;overflow:hidden;background:var(--color-stage);outline:none;touch-action:none;-webkit-user-select:none;user-select:none}.viewer-stage.is-drawing,.viewer-stage.is-drawing .image-frame{cursor:crosshair}.viewer-stage.is-pan-ready,.viewer-stage.is-pan-ready .image-frame,.viewer-stage.is-pan-ready .editor-box{cursor:grab}.viewer-stage.is-panning,.viewer-stage.is-panning .image-frame,.viewer-stage.is-panning .editor-box{cursor:grabbing}.image-frame{position:relative;flex:none;overflow:hidden;background:#0b0d12;box-shadow:0 12px 34px #00000073;touch-action:none;transform-origin:center;will-change:transform}.image-frame>img{display:block;width:100%;height:100%;object-fit:fill;opacity:.9;pointer-events:none}.editor-box{position:absolute;padding:0;color:var(--color-class-0);background:#00000008;border:2px solid currentColor;cursor:move;touch-action:none}.editor-box:hover,.editor-box.is-selected{background:color-mix(in srgb,currentColor 30%,transparent)}.editor-box:focus-visible{outline-color:#fff}.editor-box.is-selected{z-index:2}.box-label{position:absolute;top:-2px;left:100%;display:none;min-width:max-content;margin-left:var(--space-2);padding:1px var(--space-2);color:#fff;background:currentColor;font-size:10px;line-height:15px;pointer-events:none}.editor-box:hover>.box-label,.editor-box.is-selected>.box-label{display:block}.box-label:first-line{color:#fff}.resize-handle{position:absolute;z-index:3;width:8px;height:8px;background:#fff;border:1px solid currentColor;touch-action:none}.handle-nw{top:-5px;left:-5px;cursor:nwse-resize}.handle-n{top:-5px;left:calc(50% - 4px);cursor:ns-resize}.handle-ne{top:-5px;right:-5px;cursor:nesw-resize}.handle-e{top:calc(50% - 4px);right:-5px;cursor:ew-resize}.handle-se{right:-5px;bottom:-5px;cursor:nwse-resize}.handle-s{bottom:-5px;left:calc(50% - 4px);cursor:ns-resize}.handle-sw{bottom:-5px;left:-5px;cursor:nesw-resize}.handle-w{top:calc(50% - 4px);left:-5px;cursor:ew-resize}.draft-box{pointer-events:none;border-style:dashed;cursor:crosshair}.zoom-pill{position:absolute;bottom:var(--space-5);left:50%;display:flex;height:32px;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:#c7cbd4;background:#0b0d12e0;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-full);box-shadow:0 4px 14px #00000052;font-size:var(--text-2xs);transform:translate(-50%)}.zoom-pill button{display:inline-flex;height:24px;align-items:center;padding:0 var(--space-2)}.zoom-pill button:last-child{padding-right:0;margin-right:var(--space-2);color:inherit;background:transparent;border:0;cursor:pointer}.zoom-pill kbd,.shortcut-list kbd{padding:1px 4px;background:var(--color-surface-2);border:1px solid var(--color-divider-strong);border-radius:3px;box-shadow:inset 0 -1px 0 var(--color-divider-strong);font-size:10px}.zoom-pill kbd{color:#d7dbe4;background:#252a35;border-color:#3d4350;box-shadow:none}.zoom-divider{width:1px;height:16px;margin:0 var(--space-2);background:#ffffff24}.inspector{display:flex;width:var(--size-inspector);flex:none;flex-direction:column;overflow-y:auto;background:var(--color-bg);border-left:1px solid var(--color-divider)}.inspector>section{padding:var(--space-6);border-bottom:1px solid var(--color-divider)}.inspector h2{margin:0 0 var(--space-5);color:var(--color-muted);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase}.inspector-class-list{position:relative;display:flex;flex-direction:column;gap:var(--space-2)}.inspector-class{position:relative;display:grid;width:100%;height:34px;grid-template-columns:24px 1fr auto;align-items:center;gap:var(--space-3);padding:0 var(--space-3);color:var(--color-text);text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer}.inspector-class:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.inspector-class:hover{background:var(--color-surface)}.inspector-class[aria-pressed=true]{background:var(--color-accent-weak);border-color:var(--color-accent)}.class-index{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;color:#fff;border-radius:var(--radius-sm);font-size:10px;font-weight:600}.class-color-trigger{padding:0;border:0;cursor:pointer}.class-rename-trigger{position:absolute;right:32px;display:grid;width:22px;height:22px;padding:0;place-items:center;color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-sm);cursor:pointer;opacity:0}.inspector-class:hover .class-rename-trigger,.class-rename-trigger:focus-visible{opacity:1}.inspector-class.is-renaming{grid-template-columns:24px minmax(0,1fr) 24px 24px;cursor:default}.inspector-class.is-renaming input{min-width:0;height:24px;padding:0 var(--space-2);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-sm);font:inherit}.inspector-class.is-renaming>button{display:grid;width:24px;height:24px;padding:0;place-items:center;color:var(--color-muted);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.inspector-class.is-renaming>button:hover{color:var(--color-text);background:var(--color-surface-2)}.class-rename-error{margin:var(--space-2) 0 0;color:var(--color-danger);font-size:var(--text-2xs)}.class-color-picker{position:absolute;z-index:8;width:264px;padding:var(--space-4);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-divider-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);cursor:default}.class-color-picker-end{right:0}.class-color-picker-start{left:0}.class-color-picker-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.class-color-picker-header>strong{min-width:0;overflow:hidden;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.class-color-current{display:inline-flex;flex:none;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-2xs)}.class-color-current>span{width:14px;height:14px;border:1px solid var(--color-divider-strong);border-radius:50%}.class-color-wheel{position:relative;width:216px;height:216px;margin:0 auto;overflow:hidden;background:radial-gradient(circle,#fff,#fff0),conic-gradient(from 90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border:1px solid var(--color-divider-strong);border-radius:50%;cursor:crosshair;touch-action:none}.class-color-wheel:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.class-color-wheel-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;pointer-events:none}.class-color-wheel-marker{position:absolute;width:16px;height:16px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #20242c,0 1px 4px #00000073;pointer-events:none;transform:translate(-50%,-50%)}.class-color-brightness{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-3);margin-top:var(--space-3);color:var(--color-muted);font-size:var(--text-2xs)}.class-color-brightness input{width:100%;height:12px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-divider-strong);border-radius:999px;cursor:pointer}.class-color-brightness input::-webkit-slider-thumb{width:16px;height:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-text);border:2px solid var(--color-bg);border-radius:999px;box-shadow:0 0 0 1px var(--color-divider-strong)}.class-color-brightness input::-moz-range-thumb{width:12px;height:16px;background:var(--color-text);border:2px solid var(--color-bg);border-radius:999px;box-shadow:0 0 0 1px var(--color-divider-strong)}.class-color-preset-label{display:block;margin:var(--space-4) 0 var(--space-2);color:var(--color-muted);font-size:var(--text-2xs)}.class-color-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--space-2)}.class-color-option{width:22px;height:22px;padding:0;border:2px solid transparent;border-radius:50%;cursor:pointer}.class-color-option[aria-pressed=true]{border-color:#fff;box-shadow:0 0 0 1px var(--color-text)}.class-color-close{width:100%;margin-top:var(--space-3);padding:var(--space-2);color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-sm);cursor:pointer}.inspector-class>.mono{color:var(--color-muted);font-size:var(--text-xs)}.inspector-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-top:var(--space-5)}.inspector-reset,.inspector-export{width:100%}.inspector-note{margin:var(--space-3) 0 0;color:var(--color-faint);font-size:var(--text-2xs);line-height:var(--leading-2xs)}.shortcut-section{flex:1}.shortcut-list{display:flex;flex-direction:column;gap:var(--space-3);margin:0}.shortcut-list>div{display:flex;justify-content:space-between;align-items:center;color:var(--color-muted);font-size:var(--text-xs)}.shortcut-list dt,.shortcut-list dd{margin:0}.shortcut-list dd{color:var(--color-text)}.inspector-footer{display:flex;min-height:48px;align-items:center;justify-content:space-between;padding:0 var(--space-5);border-top:1px solid var(--color-divider)}.save-ok,.save-pending{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-ok);padding:0;background:transparent;border:0;font-size:var(--text-xs)}.save-pending{color:var(--color-warn)}.save-error{color:var(--color-danger);cursor:pointer}.save-ok:disabled,.save-pending:disabled{opacity:1}.save-ok>span,.save-pending>span{width:6px;height:6px;background:currentColor;border-radius:50%}.thumb-strip{display:flex;height:calc(var(--size-strip) + 30px);flex:none;align-items:center;padding:var(--space-5) 0 var(--space-5) var(--size-rail);background:var(--color-surface);border-top:1px solid var(--color-divider)}.thumb-scrub-column{display:flex;min-width:0;flex:1;flex-direction:column;gap:var(--space-5)}.thumb-scrub{width:100%;height:14px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.thumb-scrub::-webkit-slider-runnable-track{height:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 35%,var(--color-surface-2)),var(--color-accent));border-radius:var(--radius-full)}.thumb-scrub::-webkit-slider-thumb{width:14px;height:14px;margin-top:-4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-accent);border:2px solid var(--color-bg);border-radius:50%;box-shadow:0 1px 3px #0000004d}.thumb-scrub::-moz-range-track{height:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 35%,var(--color-surface-2)),var(--color-accent));border-radius:var(--radius-full)}.thumb-scrub::-moz-range-thumb{width:12px;height:12px;background:var(--color-accent);border:2px solid var(--color-bg);border-radius:50%}.thumb-list{display:flex;min-width:0;gap:var(--space-3);overflow:hidden}.viewer-thumb{position:relative;height:52px;flex:1 1 86px;min-width:0;max-width:140px;padding:0;overflow:hidden;background:var(--color-stage);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.viewer-thumb img{opacity:.5;transition:opacity .12s ease}.viewer-thumb:hover img{opacity:.8}.viewer-thumb.is-current{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.viewer-thumb.is-current img{opacity:1}.viewer-thumb img{display:block;width:100%;height:100%;object-fit:cover}.thumb-warning{position:absolute;top:2px;right:2px;display:grid;width:14px;height:14px;place-items:center;color:#17181d;background:var(--color-accent);border-radius:50%;font-size:9px;font-weight:800}.thumb-pager{display:flex;width:var(--size-inspector);flex:none;justify-content:center;align-items:center;gap:var(--space-3);color:var(--color-muted);font-size:var(--text-xs)}.thumb-pager button{display:grid;width:28px;height:28px;padding:0;place-items:center;color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-sm);cursor:pointer}.thumb-pager button:disabled{cursor:default;opacity:.45}.training-layout{display:flex;align-items:flex-start;gap:var(--space-7)}.training-form-card{width:600px;flex:none;padding:var(--space-8)}.training-form-card>.field{margin-bottom:var(--space-7)}.training-summary-card{width:400px;flex:none;padding:var(--space-8)}.training-summary-card .card-title{font-size:var(--text-xl);line-height:var(--leading-xl)}.training-summary-card .card-meta,.training-summary-card .training-dataset-row{font-size:var(--text-md)}.training-summary-card .summary-kicker{color:var(--color-text);font-size:var(--text-lg);font-weight:600;letter-spacing:0;text-transform:none}.ratio-grid{display:grid;gap:var(--space-4);margin-top:var(--space-4)}.ratio-3way{grid-template-columns:repeat(3,1fr)}.ratio-2way{grid-template-columns:repeat(2,1fr)}.split-ratio-guidance{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-3);color:var(--color-muted);font-size:var(--text-xs)}.split-ratio-guidance.is-warning{color:var(--color-danger)}.training-section-label,.field>.training-section-label{margin-bottom:var(--space-3);font-size:var(--text-lg);font-weight:600}.training-parameter-title{margin-top:0}.recommendation-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5)}.recommendation-title-row .training-parameter-title{margin-bottom:0}.training-recommendation{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0 var(--space-5);color:var(--color-muted);font-size:var(--text-xs)}.training-recommendation strong{flex:none;color:var(--color-accent);font-weight:600}.training-recommendation-error{margin:var(--space-4) 0 var(--space-5);color:var(--color-danger);font-size:var(--text-xs)}.training-parameter-sections{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-7);margin-top:var(--space-7)}.training-parameter-section{min-width:0}.training-parameter-panel{padding:0;background:transparent}.training-parameter-panel .field{margin-bottom:var(--space-5)}.training-option-list{display:grid;gap:var(--space-2);margin-top:var(--space-5)}.training-option-list label{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) 0;cursor:pointer}.training-option-list input{width:16px;height:16px;flex:none;accent-color:var(--color-accent)}.training-option-list label>span{display:flex;align-items:baseline;gap:var(--space-3)}.training-option-list b{font-size:var(--text-sm);font-weight:500}.training-option-list small{color:var(--color-muted);font-size:var(--text-xs)}.training-data-option{border:1px solid var(--color-divider-strong);border-radius:var(--radius-lg);background:var(--color-bg);transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.training-data-options .training-data-option{min-height:68px;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-6)}.training-data-option.is-selected{background:color-mix(in srgb,var(--color-accent) 5%,var(--color-bg))}.training-data-option.is-disabled{cursor:not-allowed;opacity:.58}.training-data-options .training-data-checkbox{width:18px;height:18px;margin-top:2px}.training-data-options .training-data-option-copy{min-width:0;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.training-data-option-title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.training-data-options .training-data-option-title b{font-size:var(--text-md);font-weight:600}.training-data-option-badge{padding:var(--space-1) var(--space-3);border-radius:999px;background:var(--color-surface-2);color:var(--color-muted);font-size:var(--text-xs);font-weight:600}.training-dataset-list{display:flex;flex-direction:column;gap:var(--space-4);margin:var(--space-5) 0}.training-dataset-row{display:grid;width:100%;grid-template-columns:14px 1fr auto;align-items:center;gap:var(--space-4);padding:0;color:var(--color-text);text-align:left;background:transparent;border:0;font-size:var(--text-sm);cursor:pointer}.training-dataset-row .mono{color:var(--color-muted);font-size:var(--text-xs)}.training-class-image-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(96px,1fr);margin-top:var(--space-6);overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-divider-strong);border-radius:var(--radius-lg)}.training-class-stat{display:grid;min-height:72px;padding:var(--space-4) var(--space-3);place-items:center;align-content:center;gap:var(--space-2);text-align:center}.training-class-stat+.training-class-stat{border-left:1px solid var(--color-divider)}.training-class-stat-heading{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap}.training-class-stat-heading i{width:8px;height:8px;flex:none;border-radius:50%}.training-class-stat-value{color:var(--color-text);font-size:var(--text-lg);font-weight:500;white-space:nowrap}.training-class-stat.is-total .training-class-stat-value{color:var(--color-accent)}.training-class-image-message{display:flex;min-width:96px;padding:var(--space-4) var(--space-3);align-items:center;justify-content:center;color:var(--color-muted);font-size:var(--text-xs);text-align:center}.training-class-image-message.is-error{color:var(--color-danger)}.split-preview{display:flex;flex-direction:column;gap:var(--space-4)}.split-preview>div{display:grid;grid-template-columns:36px 1fr 44px;align-items:center;gap:var(--space-4);font-size:var(--text-xs)}.split-preview>div>span:first-child{color:var(--color-muted)}.split-preview .bar{width:auto}.split-preview>div>span:last-child{text-align:right}.training-actions{display:flex;width:948px;align-items:center;gap:var(--space-6);margin-top:var(--space-8)}.training-actions .banner-danger{flex:1}.training-actions .banner-danger a{color:var(--color-danger);text-decoration:underline}.training-error{width:948px;margin:var(--space-4) 0 0;color:var(--color-danger);font-size:var(--text-xs)}.runs-heading{align-items:flex-end}.run-filter-chips{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.runs-table th:first-child,.runs-table td:first-child{width:44px;text-align:center}.runs-table th:nth-child(2){width:25%}.runs-table td{height:42px}.run-main-row td{height:44px}.run-expand{margin-right:var(--space-2);color:var(--color-muted);vertical-align:middle}.run-expand-placeholder{display:inline-block;width:22px}.running-dot{display:inline-block;margin-right:var(--space-3);color:var(--color-accent);vertical-align:1px}.run-link{color:var(--color-text);font-weight:600}.run-link:hover{color:var(--color-accent)}.run-progress{display:inline-flex;align-items:center;gap:var(--space-4)}.run-progress .bar{width:112px}.run-state-tags{display:inline-flex;align-items:center;gap:var(--space-3)}.run-dataset-indent{display:inline-block;padding-left:45px;color:var(--color-text)}.run-dataset-indent>span{margin-left:var(--space-4);color:var(--color-muted)}.run-title-row{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8)}.run-progress-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--space-8)}.run-progress-copy{display:grid;grid-template-columns:auto 240px auto;align-items:center;gap:var(--space-7)}.run-progress-copy>strong{font-size:var(--text-md);font-weight:500}.run-progress-copy>strong b{color:var(--color-accent);font-size:var(--text-xl)}.run-progress-copy>span{color:var(--color-muted);font-size:var(--text-xs)}.run-progress-line{display:flex;align-items:center;gap:var(--space-4)}.run-progress-line .bar{width:190px;height:8px}.run-detail-actions{display:flex;gap:var(--space-3)}.chart-grid-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin-top:var(--space-6)}.chart-card{min-width:0;padding:var(--space-7)}.chart-card-header,.log-toolbar,.inference-heading{display:flex;align-items:center;justify-content:space-between}.chart-card-heading{min-width:0}.chart-card h2,.log-card h2,.inference-heading h2{margin:0;font-size:var(--text-md);font-weight:600}.chart-card-heading p{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--text-xs)}.chart-legend{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);font-size:var(--text-2xs)}.chart-legend span{display:inline-flex;align-items:center;gap:var(--space-2)}.chart-legend i{width:7px;height:7px;border-radius:50%}.chart-latest{margin-top:var(--space-6)}.chart-latest>span{color:var(--color-muted);font-size:var(--text-xs)}.chart-latest-values{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-7);margin-top:var(--space-3)}.chart-latest-value{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-xs)}.chart-latest-value i{width:8px;height:8px;flex:none;border-radius:50%}.chart-latest-value strong{color:var(--color-text);font-weight:600}.metric-chart{display:block;width:100%;height:auto;aspect-ratio:440 / 190;margin-top:var(--space-5);overflow:visible}.metric-chart polyline{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.metric-chart .chart-grid-line{stroke:var(--color-divider);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.chart-axis-label,.chart-axis-title{fill:var(--color-muted);font-size:8px}.chart-axis-title{font-size:9px}.metric-chart .chart-current-connector{fill:none;stroke-width:1;stroke-linecap:round;opacity:.6;vector-effect:non-scaling-stroke}.chart-current-point{stroke:var(--color-bg);stroke-width:1.5;vector-effect:non-scaling-stroke}.chart-current-badge{fill:var(--color-bg);stroke-width:.75;vector-effect:non-scaling-stroke}.chart-current-value{font-size:7px;font-weight:600}.log-card{margin-top:var(--space-6)}.log-toolbar{justify-content:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.log-toolbar h2{margin-right:auto}.log-toolbar h2 span{color:var(--color-muted);font-size:var(--text-xs);font-weight:400}.log-tail-select{width:138px;height:var(--size-input-sm);font-size:var(--text-xs)}.log-search{width:200px}.log-search .input{height:var(--size-input-sm);padding-left:32px;font-size:var(--text-xs)}.follow-dot{width:6px;height:6px;background:currentColor;border-radius:50%}.log-card .console{height:138px}.inference-section{margin-top:var(--space-8)}.inference-heading{margin-bottom:var(--space-5)}.inference-heading p{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--text-xs)}.inference-selection-meta{display:flex;max-width:52%;align-items:center;justify-content:flex-end;gap:var(--space-4);color:var(--color-muted);font-size:var(--text-xs)}.inference-selection-meta span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inference-viewer{padding:0;overflow:hidden}.inference-stage{position:relative;display:flex;height:min(68vh,720px);min-height:480px;align-items:center;justify-content:center;background:var(--color-stage)}.inference-image-viewport{position:relative;display:flex;width:calc(100% - 160px);height:calc(100% - 40px);align-items:center;justify-content:center;overflow:auto;color:#d8dbe3;font-size:var(--text-sm)}.inference-result-image{display:block;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;transition:transform .12s ease}.inference-zoom-pill{z-index:3}.inference-zoom-pill button:not(:last-child){min-width:24px;justify-content:center;color:inherit;background:transparent;border:0;cursor:pointer}.inference-timeline{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-divider)}.inference-scrub{position:relative;height:6px;margin:0 2px;background:color-mix(in srgb,var(--color-accent) 30%,var(--color-surface-2));border-radius:var(--radius-full)}.inference-scrub i{position:absolute;inset:0 auto 0 0;background:var(--color-accent);border-radius:inherit}.inference-scrub b{position:absolute;top:50%;width:12px;height:12px;background:var(--color-accent);border:2px solid var(--color-bg);border-radius:50%;box-shadow:0 1px 3px #0000004d;transform:translate(-50%,-50%)}.inference-thumb-strip{display:flex;min-width:0;gap:var(--space-3);overflow-x:auto;scrollbar-width:thin}.inference-thumb{position:relative;height:68px;min-width:96px;flex:1 0 96px;max-width:160px;padding:0;overflow:hidden;background:var(--color-stage);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;opacity:.5;transition:opacity .12s ease}.inference-thumb:hover{opacity:.8}.inference-thumb.is-selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent);opacity:1}.inference-thumb img{display:block;width:100%;height:100%;object-fit:cover}.inference-arrow{position:absolute;z-index:2;display:grid;width:34px;height:34px;place-items:center;color:#d8dbe3;background:#0b0d12bf;border:1px solid rgba(255,255,255,.16);border-radius:50%;cursor:pointer}.inference-arrow.left{left:var(--space-8)}.inference-arrow.right{right:var(--space-8)}@media(prefers-reduced-motion:reduce){.sidebar-running>span,.running-dot{animation:none}}.merged-source-table td{padding-right:var(--space-5);padding-left:var(--space-5)}.ws-switcher{display:flex;align-items:center;gap:var(--space-4);width:100%;box-sizing:border-box;padding:var(--space-3) var(--space-4);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-md);background:#ffffff0f;color:#fff;font:inherit;text-align:left;cursor:pointer}.ws-switcher:hover{background:#ffffff1a}.ws-switcher .ws-role,.ws-switcher .ws-caret{color:#fff9}.ws-switcher .ws-avatar{background:#ffffff1f;border-color:#fff3;color:#fff}.ws-switcher .ws-caret{margin-left:auto}[data-theme=dark] .ws-switcher{background:var(--color-surface-2);border-color:var(--color-divider-strong);color:var(--color-text)}[data-theme=dark] .ws-switcher:hover{background:var(--color-neutral-300)}[data-theme=dark] .ws-switcher .ws-role,[data-theme=dark] .ws-switcher .ws-caret{color:var(--color-muted)}[data-theme=dark] .ws-switcher .ws-avatar{background:var(--color-surface);border-color:var(--color-divider);color:var(--color-text)}.ws-avatar{width:24px;height:24px;flex:none;display:grid;place-items:center;box-sizing:border-box;border-radius:var(--radius-sm);background:var(--color-surface-2);border:1px solid var(--color-divider);font-size:var(--text-2xs);font-weight:600}.ws-name{display:block;font-size:var(--text-sm);font-weight:600;line-height:var(--leading-sm)}.ws-role{display:block;font-size:var(--text-2xs);color:var(--color-muted);line-height:var(--leading-2xs)}.ws-menu{min-width:300px;padding:var(--space-3);background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.ws-menu-label{padding:var(--space-3) var(--space-4);font-size:var(--text-2xs);color:var(--color-faint);letter-spacing:var(--tracking-caps);text-transform:uppercase}.ws-menu-item{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4);border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.ws-menu-item:hover{background:var(--color-surface)}.ws-menu-item[aria-current=true]{background:var(--color-accent-weak)}.ws-menu-item .ws-check{margin-left:auto;color:var(--color-accent)}.ws-menu-foot{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-3);padding:var(--space-4);border-top:1px solid var(--color-divider);font-size:var(--text-sm)}.toast{display:flex;align-items:center;gap:var(--space-6);min-width:320px;padding:var(--space-4) var(--space-6);background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);font-size:var(--text-sm)}.toast .toast-action{margin-left:auto;font-weight:600;color:var(--color-accent);background:none;border:0;font:inherit;cursor:pointer}.ws-switcher-wrap{position:relative;margin:var(--space-5) 0 var(--space-6)}.ws-switcher-wrap .ws-menu{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:30;max-width:calc(100vw - var(--space-8))}.ws-switcher .ws-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-switcher>span:not(.ws-avatar):not(.ws-caret){min-width:0}.workspace-toast{position:fixed;right:var(--space-8);bottom:var(--space-8);z-index:120;max-width:calc(100vw - var(--space-8));min-width:0}.new-workspace-dialog,.invite-link-dialog{width:min(480px,calc(100vw - var(--space-8)))}.invite-accept-card{text-align:center}.invite-avatar{width:56px;height:56px;margin:0 auto var(--space-6);font-size:var(--text-xl)}.invite-expiry{color:var(--color-muted);font-size:var(--text-xs);margin:var(--space-4) 0}.invite-question{padding-top:var(--space-6);margin:var(--space-6) 0;font-weight:600}.invite-accept-card>.btn-primary{width:100%}.members-page{max-width:1120px}.members-heading,.members-section>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-6)}.members-heading h1,.members-section h2{margin:0}.members-heading p{margin:var(--space-2) 0 0;color:var(--color-muted)}.members-section{margin-top:var(--space-8)}.members-section h2{font-size:var(--text-md);font-weight:600}.members-table-wrap{overflow-x:auto}.members-table-wrap .table{width:100%}.member-identity{display:flex;align-items:center;gap:var(--space-4)}.member-identity small{display:block;color:var(--color-muted);margin-top:var(--space-1)}.member-avatar{flex:none;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--color-divider);border-radius:var(--radius-full);background:var(--color-surface)}.member-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.members-management{display:grid;gap:var(--space-5);padding:var(--space-7)}.management-row{display:flex;align-items:center;gap:var(--space-5)}.management-row>:first-child{min-width:100px}.management-row .input,.management-row .select{flex:1;min-width:0}.management-row>.btn:last-child{margin-left:auto}.invite-copy-row,.invite-limit-row{display:flex;align-items:center;gap:var(--space-4)}.invite-copy-row .input{flex:1;min-width:0}.invite-limit-row input[type=number]{width:90px}.invite-link-dialog .seg{display:flex}.invite-link-dialog .seg-opt{flex:1}.invite-link-dialog .field+.field{margin-top:var(--space-5)}@media(max-width:640px){.ws-switcher-wrap .ws-menu{min-width:min(300px,calc(100vw - var(--space-8)))}.workspace-toast{right:var(--space-4);bottom:var(--space-4)}.members-heading,.management-row{flex-wrap:wrap}.members-management{padding:var(--space-5)}}.invite-accept-card hr{border:0;border-top:1px solid var(--color-divider);margin:var(--space-6) 0}.members-heading.page-heading-row{justify-content:flex-start}.members-heading.page-heading-row p{margin:0}.member-email{display:block;color:var(--color-muted);font-size:var(--text-xs);margin-top:var(--space-1)}td.member-actions{display:table-cell;position:relative;text-align:right;white-space:nowrap}.member-menu{position:absolute;right:var(--space-4);top:100%;z-index:20;padding:var(--space-2);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.management-row>form{display:flex;flex:1;gap:var(--space-3)}.members-management h2{margin:0;font-size:var(--text-md)}[data-theme=dark] .ws-menu,[data-theme=dark] .toast,[data-theme=dark] .member-menu{background:var(--color-surface)}.bar-stack{display:flex;height:8px;border-radius:var(--radius-full);background:var(--color-surface-2);overflow:hidden}.bar-stack>.is-done{background:var(--color-accent)}.bar-stack>.is-active{background:var(--color-accent-300)}.bar-legend{display:flex;gap:var(--space-6);margin-top:var(--space-3);font-size:var(--text-2xs);color:var(--color-muted)}.bar-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-divider-strong);vertical-align:-1px}.bar-legend .is-done:before{background:var(--color-accent);border-color:var(--color-accent)}.bar-legend .is-active:before{background:var(--color-accent-300);border-color:var(--color-accent-300)}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}.stat-row .label{font-size:var(--text-xs);color:var(--color-muted)}.stat-row .value{font-size:var(--text-xl);font-weight:700;line-height:var(--leading-xl);font-variant-numeric:tabular-nums}.stat-row .sub{font-size:var(--text-2xs);color:var(--color-faint)}.banner-info{padding:var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--color-info-weak);color:var(--color-info)}.tag-accent{background:var(--color-accent-weak);color:var(--color-accent)}.tag-warn{background:var(--color-warn-weak);color:var(--color-warn)}.tag-neutral{background:var(--color-surface-2);color:var(--color-muted)}.viewer-status-badge{position:absolute;top:var(--space-4);left:var(--space-4);z-index:2}.thumb-status{position:absolute;bottom:0;left:0;right:0;background:var(--color-card);color:var(--color-text);font-size:var(--text-2xs);overflow:hidden;text-overflow:ellipsis}.inspector-footer{flex-wrap:wrap;gap:var(--space-3);padding-top:var(--space-3);padding-bottom:var(--space-3)}.viewer-completion-action{flex-basis:100%}.viewer-completion-action>.btn{width:100%}.compare{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.dataset-progress-cell{display:grid;gap:var(--space-2);min-width:96px}.dataset-progress-cell .btn{justify-self:start}.dataset-progress-panel{position:fixed;top:0;right:0;bottom:0;z-index:50;width:min(520px,100vw);box-sizing:border-box;padding:var(--space-8);overflow-y:auto;background:var(--color-card);color:var(--color-text);border-left:1px solid var(--color-divider);box-shadow:var(--shadow-md)}.dataset-progress-panel>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.dataset-progress-panel .stat-row{margin:var(--space-8) 0 var(--space-6)}.dataset-progress-panel .stat-row span,.dataset-progress-panel .value{display:block}.dataset-progress-panel .table{width:100%;margin:var(--space-8) 0}.dataset-progress-panel th,.dataset-progress-panel td{text-align:left;padding:var(--space-3)}.assignment-members{display:grid;gap:var(--space-3);margin:var(--space-6) 0}.dataset-progress-panel .toast{min-width:0}
