@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Inter-Regular.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Inter-SemiBold.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Inter-Bold.woff2) format("woff2")}:root{--font-sans: Inter, "Liberation Sans", "DejaVu Sans", sans-serif;--color-white: #ffffff;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-600: #1d4ed8;--color-primary-900: #1e3a8a;--color-success-50: #ecfdf5;--color-success-100: #dcfce7;--color-success-400: #4ade80;--color-success-500: #16a34a;--color-success-600: #15803d;--color-success-700: #166534;--color-warning-50: #fef3c7;--color-warning-600: #b45309;--color-error-50: #fff2f0;--color-error-100: #fee2e2;--color-error-200: #f5bdb5;--color-error-500: #dc2626;--color-error-600: #d12e29;--color-error-700: #b91c1c;--color-error-800: #991b1b;--color-info-50: var(--color-primary-50);--color-info-600: var(--color-primary-600);--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-24: 24px;--space-32: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 999px;--text-title: 700 26px/31.5px var(--font-sans);--text-heading: 600 14px/17px var(--font-sans);--text-body: 400 13px/15.75px var(--font-sans);--text-body-sm: 400 12px/14.5px var(--font-sans);--text-label: 600 12px/14.5px var(--font-sans);--text-caption: 400 11px/13.5px var(--font-sans)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--color-gray-900);background:var(--color-gray-50);font:var(--text-body);font-family:var(--font-sans)}button,input,select,textarea{font:inherit;color:inherit}button{border:1px solid var(--color-gray-300);background:var(--color-white);border-radius:var(--radius-md);padding:7px 12px;cursor:pointer;font:var(--text-label)}button.primary{background:var(--color-primary-600);border-color:var(--color-primary-600);color:var(--color-white)}button.danger{background:var(--color-error-600);border-color:var(--color-error-600);color:var(--color-white)}button.ghost{background:transparent}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);padding:8px 10px;background:var(--color-white);font:var(--text-body-sm)}textarea{width:100%;resize:vertical}.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}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.shell.nav-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar.collapsed{padding:var(--space-12) var(--space-8)}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .lock{display:none}.sidebar.collapsed .tab{justify-content:center;padding:8px 4px}.sidebar{display:flex;flex-direction:column;gap:var(--space-16);padding:var(--space-16);background:var(--color-white);border-right:1px solid var(--color-gray-200);min-height:100vh}.brand{display:flex;gap:var(--space-8);align-items:center;min-width:0}.brand-mark{width:36px;height:36px;border-radius:var(--radius-md);background:var(--color-primary-600);color:var(--color-white);display:flex;align-items:center;justify-content:center;font:700 20px/1 var(--font-sans);flex:0 0 36px;overflow:visible}.brand-text{min-width:0}.brand-text strong{display:block;font:var(--text-label);color:var(--color-gray-900)}.brand-text span{display:block;color:var(--color-gray-500);font:var(--text-caption)}.reviewer-field{min-width:240px;flex:1 0 240px}.reviewer-field select{width:100%;min-width:240px;text-overflow:ellipsis}.nav-label{margin:var(--space-8) 0 var(--space-4);color:var(--color-gray-500);font:var(--text-caption);letter-spacing:.04em}.tabs{display:flex;flex-direction:column;gap:var(--space-4)}.tab{display:flex;align-items:center;gap:var(--space-8);width:100%;text-align:left;border:0;background:transparent;border-radius:var(--radius-md);padding:8px;color:var(--color-gray-700);font:var(--text-body-sm)}.tab.active{background:var(--color-primary-50);color:var(--color-primary-900)}.tab-index{width:20px;height:20px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-gray-100);color:var(--color-gray-600);font:var(--text-caption);flex:0 0 auto}.tab.active .tab-index{background:var(--color-primary-600);color:var(--color-white)}.tab.done .tab-index{background:var(--color-success-100);color:var(--color-success-700)}.tab .lock{margin-left:auto;color:var(--color-gray-400);font:var(--text-caption)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-12)}.quota{background:var(--color-gray-50);border-radius:var(--radius-lg);padding:var(--space-12)}.quota.over{background:var(--color-error-50)}.quota p{margin:var(--space-8) 0 0;font:var(--text-caption);color:var(--color-gray-700)}.quota-bar,.meter,.progress{height:6px;background:var(--color-gray-200);border-radius:var(--radius-full);overflow:hidden}.quota-bar span,.meter span,.progress span{display:block;height:100%;background:var(--color-primary-600)}.quota.over .quota-bar span{background:var(--color-error-600)}.side-link,.side-note{display:flex;flex-direction:column;gap:2px;color:var(--color-gray-600);font:var(--text-caption);text-decoration:none;background:none;border:0;padding:0;text-align:left;cursor:pointer}.side-link strong,.side-note strong{font:var(--text-label);color:var(--color-gray-800)}.workspace{min-width:0;display:flex;flex-direction:column;overflow-x:hidden}.topbar{display:flex;justify-content:space-between;gap:var(--space-16);align-items:center;padding:var(--space-16) var(--space-24);background:var(--color-white);border-bottom:1px solid var(--color-gray-200)}.crumb{margin:0 0 2px;color:var(--color-gray-500);font:var(--text-caption)}.screen-title{margin:0;font:var(--text-title)}.top-tools{display:flex;flex-wrap:wrap;gap:var(--space-8);align-items:center;justify-content:flex-end}.workspace-body{min-width:0;padding:var(--space-16) var(--space-24) var(--space-32);display:flex;flex-direction:column;gap:var(--space-16)}.badge{border-radius:var(--radius-full);padding:4px 10px;border:1px solid var(--color-gray-200);background:var(--color-white);font:var(--text-caption)}.badge.demo{background:var(--color-gray-100);border-color:var(--color-gray-300);color:var(--color-gray-700)}.info-row{display:flex;align-items:center;gap:var(--space-8);min-width:0;width:100%;background:var(--color-info-50);color:var(--color-primary-900);border-radius:var(--radius-md);padding:10px 12px;font:var(--text-body-sm)}.info-row.open{align-items:flex-start}.info-row .info-text{flex:1;min-width:0;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.info-row.open .info-text{white-space:normal;overflow:visible}.info-row .ghost{flex-shrink:0}.badge.live{background:var(--color-success-50);border-color:var(--color-success-500);color:var(--color-success-700)}.badge.done-pill{background:var(--color-success-100);border-color:var(--color-success-500);color:var(--color-success-700)}.badge.note{background:var(--color-warning-50);border-color:var(--color-warning-600);color:var(--color-warning-600);max-width:28rem}.case-counts{margin:0;color:var(--color-gray-500);font:var(--text-caption);max-width:28rem}.card,.shot,.iou-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-16);min-width:0}.panel{display:flex;flex-direction:column;gap:var(--space-16);min-width:0}.panel>*{min-width:0}.round-picker{display:flex;align-items:center;gap:var(--space-8);font:var(--text-label);color:var(--color-gray-700)}.round-picker select{min-width:6rem}.controls,.control-row,.action-row,.eval-head,.pager,.stack,.chip-row,.toolbar{display:flex;gap:var(--space-8);align-items:end;flex-wrap:wrap}.stack{flex-direction:column;align-items:stretch;min-width:0}.controls label,.field{display:flex;flex-direction:column;gap:var(--space-4);font:var(--text-caption);color:var(--color-gray-600)}.grow{flex:1}.control-row,.toolbar,.chip-row{align-items:center}.action-row{justify-content:flex-end}h2,h3{margin:0 0 var(--space-8);font:var(--text-heading)}.section-title{display:flex;justify-content:space-between;gap:var(--space-8);align-items:center}.section-title h2,.section-title h3{margin:0;display:flex;align-items:center;gap:var(--space-8)}.info{background:var(--color-info-50);color:var(--color-primary-900);border-radius:var(--radius-md);padding:10px 12px;font:var(--text-body-sm)}.info.error,.banner.error{background:var(--color-error-50);color:var(--color-error-800);border:1px solid var(--color-error-200);border-radius:var(--radius-md);padding:10px 12px}.banner.limit{background:var(--color-warning-50);color:var(--color-gray-900);border:1px solid var(--color-warning-600);border-radius:var(--radius-md);padding:10px 12px}.banner.done{background:var(--color-success-50);border:1px solid var(--color-success-100);border-radius:var(--radius-md);padding:10px 12px}.banner.note{background:var(--color-info-50);border:1px solid var(--color-primary-200);border-radius:var(--radius-md);padding:10px 12px}.banner.running{background:var(--color-info-50);border-radius:var(--radius-md);padding:10px 12px}.drop{border:1px dashed var(--color-gray-300);border-radius:var(--radius-md);padding:10px 12px;display:flex;justify-content:space-between;gap:var(--space-8);align-items:center;color:var(--color-gray-600);font:var(--text-body-sm)}.file-chip{display:inline-flex;align-items:center;gap:var(--space-8);border:1px solid var(--color-gray-200);border-radius:var(--radius-full);padding:4px 10px;background:var(--color-gray-50);cursor:pointer}.file-chip input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);overflow:hidden}.stepper button{border:0;border-radius:0}.stepper input{width:48px;border:0;text-align:center}.split{display:grid;grid-template-columns:1.4fr .9fr;gap:var(--space-16)}.prompt-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--space-16);align-items:stretch;min-height:calc(100vh - 120px);min-width:0}.prompt-layout.collapsed{grid-template-columns:48px minmax(0,1fr)}.history{background:transparent;border:0;border-right:1px solid var(--color-gray-200);border-radius:0;padding:0 var(--space-12) 0 0;display:flex;flex-direction:column;gap:var(--space-8);min-height:100%;min-width:0}.history-head{display:flex;justify-content:space-between;align-items:center}.history-list{display:flex;flex-direction:column;gap:var(--space-8);margin:0;padding:0;list-style:none}.history-item{border:1px solid transparent;border-radius:var(--radius-md);padding:var(--space-8);background:var(--color-gray-50);text-align:left;width:100%}.history-item.active{background:var(--color-primary-50);border-color:var(--color-primary-200);box-shadow:inset 3px 0 0 var(--color-primary-600)}.history-item .row{display:flex;justify-content:space-between;gap:var(--space-8);align-items:center}.rail{width:48px;display:flex;flex-direction:column;align-items:center;gap:var(--space-8);padding-top:var(--space-8)}.rail-chip{width:36px;height:28px;border-radius:var(--radius-md);border:1px solid var(--color-gray-200);background:var(--color-white);font:var(--text-caption);position:relative}.rail-chip.active{background:var(--color-primary-600);color:var(--color-white);border-color:var(--color-primary-600)}.rail-chip .tip{display:none;position:absolute;left:42px;top:0;z-index:5;background:var(--color-gray-900);color:var(--color-white);border-radius:var(--radius-md);padding:6px 8px;white-space:nowrap;font:var(--text-caption)}.rail-chip:hover .tip,.rail-chip:focus .tip{display:block}.menu{position:relative}.menu-pop{position:absolute;right:0;top:28px;z-index:6;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);min-width:180px;box-shadow:0 8px 24px color-mix(in srgb,var(--color-gray-900) 12%,transparent);padding:var(--space-4)}.menu-pop button{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:var(--radius-sm)}.menu-pop button:hover{background:var(--color-gray-50)}.menu-pop button.danger-text{color:var(--color-error-600)}.popover{position:relative;z-index:4;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-16);box-shadow:0 12px 32px color-mix(in srgb,var(--color-gray-900) 16%,transparent);display:flex;flex-direction:column;gap:var(--space-12)}.popover.float{position:absolute;width:min(420px,100%)}.yaml,.guideline,.diff{margin:0;max-height:460px;overflow:auto;white-space:pre-wrap;font-family:ui-monospace,Liberation Mono,monospace;font-size:12px;line-height:18px}.yaml,.diff{background:var(--color-gray-50);color:var(--color-gray-800);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-12);min-height:240px}.yaml-numbered{padding:var(--space-8) 0}.yaml-line{display:grid;grid-template-columns:36px minmax(0,1fr)}.yaml-no{color:var(--color-gray-400);text-align:right;padding-right:8px;-webkit-user-select:none;user-select:none}.back-link{align-self:flex-start;border:0;background:transparent;color:var(--color-primary-600);padding:0;font:var(--text-body-sm)}.eval-meta{display:flex;flex-wrap:wrap;gap:var(--space-12);margin:0;color:var(--color-gray-500);font:var(--text-caption)}.shot-meta{margin:0;min-width:0}.shot-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.image-menu{list-style:none;margin:0;padding:var(--space-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);max-height:220px;overflow:auto}.image-menu button{width:100%;text-align:left;border:0;background:transparent}.tab-index svg{display:block}.guideline mark{background:var(--color-warning-50);color:inherit}.diff-add{background:var(--color-success-100)}.diff-del{background:var(--color-error-100)}.diff-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-12);min-width:0}.pills{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8)}.pills li,.check-list li{border-radius:var(--radius-md);padding:8px 10px}.pass{background:var(--color-success-100);color:var(--color-success-700)}.fail{background:var(--color-error-100);color:var(--color-error-800)}.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4);font:var(--text-body-sm)}.tag{display:inline-flex;align-items:center;border-radius:var(--radius-full);padding:2px 8px;font:var(--text-caption);background:var(--color-gray-100);color:var(--color-gray-700)}.tag.primary{background:var(--color-primary-100);color:var(--color-primary-900)}.tag.ok{background:var(--color-success-100);color:var(--color-success-700)}.tag.bad{background:var(--color-error-100);color:var(--color-error-700)}.tag.mid{background:var(--color-warning-50);color:var(--color-warning-600)}.iou-pill{border-radius:var(--radius-full);padding:2px 8px;font:var(--text-caption);color:var(--color-white)}.iou-pill.high{background:var(--color-success-500)}.iou-pill.mid{background:var(--color-warning-600)}.iou-pill.low{background:var(--color-error-500)}.kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-12);align-items:stretch}.edge-kpis{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.edge-kpis .iou-card{height:100%}.kpi-count{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-compact{font:var(--text-heading)}.iou-card{display:flex;flex-direction:column;gap:var(--space-4);margin:0}.iou-card span{color:var(--color-gray-500);font:var(--text-caption)}.iou-card strong{font:var(--text-title)}.iou-card strong.kpi-compact{font:var(--text-heading)}.iou-card p{margin:0;color:var(--color-gray-500);font:var(--text-caption)}.mask-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-12)}.shot{min-width:0;padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-8)}.shot img,.placeholder{width:100%;height:120px;object-fit:cover;background:var(--color-gray-100);border-radius:var(--radius-md);display:block}.shot.picked{border-color:var(--color-primary-600)}.shot-top{display:flex;justify-content:space-between;align-items:center}.caption,.hint,.empty{color:var(--color-gray-500);font:var(--text-caption)}.empty-state{border:1px dashed var(--color-gray-300);border-radius:var(--radius-lg);padding:var(--space-32);text-align:center;color:var(--color-gray-600);background:var(--color-gray-50)}.empty-state h3{margin-bottom:var(--space-8)}.skeleton{height:12px;border-radius:var(--radius-full);background:var(--color-gray-100);margin:8px 0}.chunks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8)}.chunks li{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-8) var(--space-12);background:var(--color-white)}.viewer-back{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--color-gray-900) 82%,transparent);z-index:30;display:grid;place-items:center;padding:var(--space-24)}.viewer{width:min(1100px,100%);height:min(720px,100%);background:var(--color-white);border-radius:var(--radius-lg);display:grid;grid-template-columns:minmax(0,1fr) 260px;overflow:hidden}.viewer-stage{background:var(--color-gray-700);position:relative;overflow:hidden;touch-action:none}.viewer-stage img{position:absolute;left:50%;top:50%;max-width:92%;max-height:92%;object-fit:contain;transform-origin:center center;-webkit-user-select:none;user-select:none}.overlay-missing,.mock-plate{display:grid;place-items:center;width:100%;min-height:120px;background:var(--color-gray-700);color:var(--color-white);border-radius:var(--radius-md);font:var(--text-body-sm)}.viewer-stage .overlay-missing,.viewer-stage .mock-plate{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;border-radius:0;font:var(--text-heading)}.mock-plate{background:radial-gradient(ellipse 42% 28% at 50% 46%,var(--color-primary-600) 0 70%,transparent 71%),var(--color-gray-600)}.mock-plate strong{background:var(--color-white);color:var(--color-gray-900);border-radius:var(--radius-full);padding:4px 10px}.chunk-table th:nth-child(2),.chunk-table td.num{width:7rem;white-space:nowrap;font-variant-numeric:tabular-nums}.chunk-table td.chunk-text{white-space:normal;max-width:52rem}.viewer-tools{position:absolute;top:var(--space-12);left:50%;transform:translate(-50%);display:flex;gap:var(--space-8);align-items:center;background:var(--color-white);border-radius:var(--radius-full);padding:4px 8px;font:var(--text-caption)}.viewer-side{padding:var(--space-16);display:flex;flex-direction:column;gap:var(--space-12);overflow:auto}.viewer-side h3,.name-line{margin:0;font:var(--text-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-back{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--color-gray-900) 72%,transparent);z-index:40;display:grid;place-items:center;padding:var(--space-24)}.dialog{width:min(440px,100%);background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-24);display:flex;flex-direction:column;gap:var(--space-12)}.dialog h2{font:var(--text-heading)}.dialog p{margin:0;color:var(--color-gray-600);font:var(--text-body-sm)}.dialog .action-row{justify-content:flex-end}.toast{align-self:flex-end;max-width:min(420px,100%);background:var(--color-gray-900);color:var(--color-white);border-radius:var(--radius-lg);padding:12px 14px;display:flex;gap:var(--space-12);align-items:center;font:var(--text-body-sm)}.toast button{color:var(--color-gray-900)}.table-wrap{overflow-x:auto;min-width:0;max-width:100%}.scores{width:100%;border-collapse:collapse;font:var(--text-body-sm)}.scores th,.scores td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-gray-200);vertical-align:top}.scores th{background:var(--color-gray-50);font:var(--text-label);color:var(--color-gray-700);white-space:nowrap}.win-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:var(--radius-full);background:var(--color-success-100);color:var(--color-success-700);font:var(--text-caption);white-space:nowrap}.chart-frame{width:100%;min-width:0;height:260px;overflow:hidden}.chart-tip{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:8px 10px;font:var(--text-caption)}.chart-tip p{margin:2px 0 0}.scores tr[data-best=true]{background:var(--color-success-50)}.scores td .caption{display:block}.test-compare{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}.feedback-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:var(--space-16)}.thumb-combo{display:flex;flex-wrap:wrap;gap:var(--space-8);align-items:center}.thumb-chip{display:inline-flex;align-items:center;gap:var(--space-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-full);padding:2px 6px 2px 2px;background:var(--color-white);max-width:280px}.thumb-chip>button{border:0;background:transparent;display:inline-flex;align-items:center;gap:var(--space-8);padding:0;min-width:0}.thumb-chip .shot-name{max-width:140px}.thumb-chip img,.thumb-chip .placeholder{width:28px;height:28px;border-radius:var(--radius-full);object-fit:cover}.thumb-chip.active{border-color:var(--color-primary-600)}.preview-frame img,.preview-frame .placeholder{width:100%;height:280px;object-fit:contain;background:var(--color-gray-700);border-radius:var(--radius-md)}.tree{width:100%;height:auto}.tree text{font-size:12px;fill:var(--color-gray-900)}.tree .node{fill:var(--color-gray-50);stroke:var(--color-gray-300)}.tree .node.best{fill:var(--color-success-100);stroke:var(--color-success-600)}.compare-frame{position:relative}.compare-frame img{width:100%;height:160px;object-fit:cover;border-radius:var(--radius-md)}.compare-frame img+img{position:absolute;top:0;right:0;bottom:0;left:0}.compare-label{position:absolute;top:8px;background:var(--color-white);border-radius:var(--radius-sm);padding:0 6px;font:var(--text-caption)}.compare-label.left{left:8px}.compare-label.right{right:8px}.compare input[type=range]{width:100%}.loading{display:flex;align-items:center;gap:var(--space-8)}.spinner{width:14px;height:14px;border:2px solid var(--color-gray-300);border-top-color:var(--color-primary-600);border-radius:var(--radius-full);animation:spin .7s linear infinite;display:inline-block}.gate-page{min-height:100vh;display:grid;place-items:center;padding:var(--space-24);background:var(--color-gray-50)}.gate{width:min(420px,100%);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-24);display:grid;gap:var(--space-12)}.gate h1{margin:0;font:var(--text-title)}.gate p{margin:0;color:var(--color-gray-600);font:var(--text-body-sm)}.gate input{width:100%}.gate .control-row{display:flex;gap:var(--space-8);align-items:center}.gate .control-row input{flex:1}.gate-foot{display:flex;justify-content:center;gap:var(--space-16);color:var(--color-gray-500);font:var(--text-caption)}.gate .error{color:var(--color-error-600);font:var(--text-caption)}.filter-bar{display:flex;flex-direction:column;gap:var(--space-8)}.chip{border-radius:var(--radius-full);padding:4px 10px;border:1px solid var(--color-gray-300);background:var(--color-white);font:var(--text-caption)}.chip.on{background:var(--color-primary-600);border-color:var(--color-primary-600);color:var(--color-white)}.bulk{position:sticky;bottom:var(--space-16);display:flex;justify-content:center;gap:var(--space-8);align-items:center;background:var(--color-gray-900);color:var(--color-white);border-radius:var(--radius-full);padding:8px 12px;width:fit-content;margin:0 auto}.bulk button{color:var(--color-gray-900)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{min-height:auto}.split,.prompt-layout,.prompt-layout.collapsed,.kpi-row,.feedback-grid,.diff-cols,.viewer,.mask-grid{grid-template-columns:1fr}.mask-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:flex-start;flex-direction:column}}
