:root{--bg:#f2f7f7;--surface:#f8fbfb;--text:#333a3a;--muted:#5c6b6e;--accent:#2a6f7a;--accent-soft:#deecee;--border:#d8e1e1;--warn:#b85042;--ok:#2c5f2d;--xs:4px;--s:8px;--m:12px;--l:16px;--xl:24px;--xxl:32px;--r:6px;--max:1280px;--ease-out-quart:cubic-bezier(0.25,1,0.5,1);--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--motion-fast:150ms;--motion-base:220ms;--motion-slow:360ms}*{box-sizing:border-box}html{overflow-x:hidden}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.4}a{color:var(--accent);text-decoration:none}button,input,select{font:inherit}button{cursor:pointer;transition:background-color var(--motion-base) var(--ease-out-quart),border-color var(--motion-base) var(--ease-out-quart),color var(--motion-base) var(--ease-out-quart),opacity var(--motion-base) var(--ease-out-quart),transform var(--motion-fast) var(--ease-out-quart),box-shadow var(--motion-base) var(--ease-out-quart)}button:not(:disabled):hover{transform:translateY(-1px)}button:not(:disabled):active{transform:translateY(0) scale(.98)}.app-shell{max-width:var(--max);margin:0 auto;padding:var(--m);width:100%}.page-header{margin-bottom:var(--l)}.page-intro{margin:0}.section-spaced{margin-bottom:var(--m)}.section-spaced-lg{margin-bottom:var(--l)}.action-row{display:flex;gap:var(--s);flex-wrap:wrap}.stack-m{display:grid;grid-gap:var(--m);gap:var(--m)}.stack-l{display:grid;grid-gap:var(--l);gap:var(--l)}.cockpit-label{font-size:11px}.section-lead{margin:0 0 var(--s);font-size:12px}.map-toggle{margin-bottom:var(--s)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--l)}.grid-2{display:grid;grid-template-columns:1.618fr 1fr;grid-gap:var(--l);gap:var(--l)}.input-flow-map{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:var(--m) 0}.input-flow-map,.input-flow-step{display:grid;grid-gap:var(--s);gap:var(--s)}.input-flow-step{padding:var(--m);border:1px solid var(--border);border-radius:var(--r);background:#fbfdfd}.input-flow-step-head{display:flex;align-items:center;gap:var(--s)}.input-flow-index{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600}.input-flow-step dl{display:grid;grid-gap:var(--xs);gap:var(--xs);margin:0}.input-flow-step dl>div{display:grid;grid-template-columns:56px minmax(0,1fr);grid-gap:var(--s);gap:var(--s)}.input-flow-step dt{color:var(--muted);font-size:11px}.input-flow-step dd{margin:0;min-width:0;font-size:12px}.input-flow-note{margin:0;font-size:11px}@media (max-width:960px){.grid-2{grid-template-columns:1fr}}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--r);padding:10px 14px;min-height:44px}.btn-primary{background:#2a6f7a;border-color:#2a6f7a;color:#fff}.btn-primary:disabled,.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary.is-running{position:relative;overflow:hidden}.btn-primary.is-running:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);transform:translateX(-120%);animation:btn-shimmer 1.4s var(--ease-out-quart) infinite;pointer-events:none}.field{display:flex;flex-direction:column;gap:var(--xs);margin-bottom:var(--m)}.field label,.field-label{font-size:12px;color:var(--muted)}.field-label{display:block}.field input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=range]),.field select{border:1px solid var(--border);border-radius:var(--r);padding:8px 10px;min-height:44px;width:100%;min-width:0;transition:border-color var(--motion-base) var(--ease-out-quart),background-color var(--motion-base) var(--ease-out-quart),box-shadow var(--motion-base) var(--ease-out-quart)}.field input[type=file]{border:1px solid var(--border);border-radius:var(--r);padding:6px 8px;min-height:44px;width:100%;min-width:0;font-size:12px;background:var(--surface)}.field input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=range]):focus,.field select:focus{box-shadow:0 0 0 3px rgba(42,111,122,.14)}.password-gate{min-height:100vh;display:grid;place-items:center;padding:var(--l);background:radial-gradient(circle at 30% 20%,rgba(42,111,122,.08),transparent 28%),var(--bg)}.password-gate-card{width:min(100%,420px);display:grid;grid-gap:var(--m);gap:var(--m);border:1px solid var(--border);border-radius:calc(var(--r) + 4px);background:var(--surface);padding:var(--xl);box-shadow:0 12px 32px rgba(34,57,61,.08)}.password-gate-logo{justify-self:start}.brand-logo-chip{background:#fff;border-radius:var(--r);padding:9px 16px;display:inline-flex;align-items:center}.brand-logo-chip-compact{padding:7px 12px}.brand-logo-image{height:30px;width:auto;display:block}.brand-logo-chip-compact .brand-logo-image{height:24px}.simulation-brand-logo{margin-bottom:var(--s)}.password-gate-card h1{margin:0;color:var(--text);font-size:22px;line-height:1.2}.password-gate-copy,.password-gate-error{margin:0;font-size:13px}.password-gate-copy{color:var(--muted)}.password-gate-error{color:var(--warn)}.input-invalid{border-color:#d9a39a;background:#fdf7f6}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.step-nav{display:flex;gap:var(--s);flex-wrap:wrap;margin-bottom:var(--l)}.step-pill{border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:12px;background:var(--surface)}.step-pill.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.step-pill:disabled{opacity:.45;cursor:not-allowed}.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.badge.motion-success-pop{animation:badge-pop var(--motion-slow) var(--ease-out-expo)}.badge-ok{color:var(--ok);border-color:#b8dcc0;background:#f3faf4}.badge-warn{color:var(--warn);border-color:#e8c4bf;background:#fdf5f4}table{width:100%;border-collapse:collapse;font-size:13px}.table-scroll,.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;width:100%;contain:layout style}.table-bounded tbody tr{content-visibility:auto;contain-intrinsic-size:auto 28px}.column-chip-expand{margin-top:var(--s)}.table-scroll.table-bounded{overflow:auto;max-width:100%;width:100%;min-width:0;max-height:min(52vh,420px);border:1px solid var(--border);border-radius:var(--r);background:var(--surface);isolation:isolate}.table-scroll .calculation-table,.table-wrap .preview-table{width:max-content;min-width:100%}.table-bounded .data-table thead th,.table-bounded table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface);box-shadow:inset 0 -1px 0 var(--border)}.table-bounded tbody tr:nth-child(2n) td{background:#f4f8f8}.table-bounded tbody tr:hover td{background:#edf6f7}.workflow-shell{display:flex;flex-direction:column;gap:var(--m);animation:shell-enter var(--motion-slow) var(--ease-out-quart)}.page-header-compact{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--m);margin-bottom:0}.page-header-main{flex:1 1 280px;min-width:0}.page-header-actions{flex-shrink:0}.workflow-toolbar{padding:var(--m) var(--l);display:flex;flex-direction:column;gap:var(--m)}.workflow-toolbar .step-progress{margin:0}.cockpit-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--s) var(--l);gap:var(--s) var(--l);padding-top:var(--s);border-top:1px solid var(--border)}.config-status{font-size:11px;margin:var(--xs) 0 0}.cockpit-strip-item{display:flex;flex-direction:column;gap:2px;min-width:0}.cockpit-strip-value{font-size:15px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:color var(--motion-base) var(--ease-out-quart)}.cockpit-strip-value.motion-pulse{animation:metric-pulse var(--motion-slow) var(--ease-out-quart)}.workflow-main,.workflow-split{width:100%;min-width:0}.workflow-split{display:grid;grid-template-columns:1.618fr 1fr;grid-gap:var(--l);gap:var(--l);align-items:start}.workflow-aside,.workflow-main,.workflow-primary{min-width:0;max-width:100%}.workflow-aside{animation:aside-enter var(--motion-slow) var(--ease-out-quart)}.step-content{min-width:0;max-width:100%}.transparency-inline .h2{margin-top:0}.ops-fold{margin-top:var(--m);border:1px solid var(--border);border-radius:var(--r);background:#fafcfc;max-width:100%;min-width:0}.ops-fold-summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s);padding:var(--m) var(--l);min-height:44px}.ops-fold-summary::-webkit-details-marker{display:none}.ops-fold-summary:before{content:"▸";color:var(--muted);margin-right:var(--xs)}.ops-fold[open] .ops-fold-summary:before{content:"▾"}.ops-fold-title{font-weight:600;font-size:13px}.ops-fold-hint{font-size:11px}.ops-fold-body{padding:0 var(--l) var(--l);border-top:1px solid var(--border);min-width:0;max-width:100%}.ops-fold-table .ops-fold-body{overflow:hidden}.upload-panel-lead{margin-top:0;max-width:52ch}.upload-panel-footnote{margin-top:var(--s)}.mongo-bundle-banner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s);margin-top:var(--s)}.upload-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--m);gap:var(--m);margin-top:var(--m);list-style:none;padding:0}.upload-slot-card{display:grid;grid-gap:var(--s);gap:var(--s);padding:var(--m);border:1px solid var(--border);border-radius:var(--r);background:var(--surface);min-width:0}.upload-slot-card-ready{border-color:#9ec5cb;background:#f8fbfb}.upload-slot-card-busy{opacity:.88}.upload-slot-head{display:grid;grid-template-columns:auto 1fr auto;grid-gap:var(--s);gap:var(--s);align-items:start}.upload-slot-index{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#eef4f5;color:#2a6f7a;font-size:13px;font-weight:600;flex-shrink:0}.upload-slot-titles{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.upload-slot-title{margin:0;font-size:14px;font-weight:600;color:var(--text);line-height:1.3}.upload-slot-tag{font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:#f0f0f0;color:#666}.upload-slot-tag-main{background:#e8f0f1;color:#2a6f7a}.upload-slot-status{font-size:11px;color:var(--muted);white-space:nowrap}.upload-slot-status-ready{color:#2a6f7a;font-weight:600}.upload-slot-status-busy{color:#6b5438}.upload-slot-purpose{margin:0;font-size:12px;line-height:1.4;color:var(--muted)}.upload-slot-filename{display:grid;grid-gap:4px;gap:4px;padding:var(--s);border-radius:6px;background:#f4f8f9;border:1px dashed #c5d8dc;min-width:0}.upload-slot-filename-label{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#5a7a80}.upload-slot-filename code{display:block;font-size:12px;line-height:1.35;word-break:break-word;color:#27484d}.upload-slot-picker{justify-self:start;margin-top:var(--xs)}.upload-slot-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.upload-slot-selected{margin:0;font-size:12px;line-height:1.35;color:#2a6f7a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-summary{margin-top:var(--l);padding:var(--m);border:1px solid var(--border);border-radius:var(--r);background:#fbfcfc;min-height:88px}.upload-summary-empty{margin:0;font-size:13px}.upload-summary-note{margin:6px 0 0;font-size:13px;line-height:1.4}.upload-error-banner{margin-top:var(--m);padding:var(--m);border-left:3px solid #b85c5c;background:#faf5f5;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s)}.upload-debug{margin-top:var(--m)}.upload-error-list{margin:0 0 var(--s);padding-left:1.2rem;font-size:12px}.upload-advanced-stack{display:grid;grid-gap:var(--s);gap:var(--s)}.upload-advanced-inline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--m)}.upload-choice{display:inline-flex;align-items:center;gap:6px;font-size:13px;min-height:44px;cursor:pointer;color:var(--text)}.upload-choice input{margin:0}.upload-replace-confirm{margin-bottom:0;max-width:280px}.upload-job-card{padding:var(--m);border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}.upload-job-card,.upload-step-actions{margin-top:var(--m)}.fold-panel-inner{padding-top:var(--m)}.calculation-panel,.fold-panel-inner,.step-panel{min-width:0;max-width:100%}.calculation-panel .store-panel-head{max-width:100%}.calculation-meta span{word-break:break-word}.calculation-scroll-hint{margin:0 0 var(--s);font-size:11px;line-height:1.35}.table-scroll.table-bounded.calculation-table-viewport{display:block;width:100%;max-width:100%;min-width:0;overflow:auto;max-height:min(36vh,320px);overscroll-behavior:contain;outline:none}.calculation-table-viewport:focus-visible{box-shadow:0 0 0 2px rgba(42,111,122,.2)}.fold-panel-inner .card{border:none;padding:0;background:transparent}.data-table:not(.calculation-table){min-width:min(100%,520px)}.calculation-table{min-width:1680px;font-size:12px;table-layout:auto}.calculation-table td,.calculation-table th{white-space:nowrap;padding:6px 10px;vertical-align:middle}.calculation-table td.col-used,.calculation-table th.col-used{background:#edf6f7}.calculation-table td:first-child,.calculation-table th:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--border)}.calculation-table thead th:first-child{z-index:3;background:var(--surface)}.calculation-table tbody tr:nth-child(2n) td:first-child{background:#f4f8f8}.calculation-table tbody tr:hover td:first-child{background:#edf6f7}.leaderboard-table{min-width:560px}td,th{border-bottom:1px solid var(--border);padding:8px 6px;text-align:left}th{color:var(--muted);font-weight:600;font-size:11px}tr.selected td{background:var(--accent-soft);transition:background-color var(--motion-base) var(--ease-out-quart)}tbody tr:hover td{background:#edf6f7;transition:background-color var(--motion-fast) var(--ease-out-quart)}.leaderboard-table tbody tr{transition:transform var(--motion-fast) var(--ease-out-quart)}.leaderboard-table tbody tr:has(input:checked){transform:scale(1.002)}.selection-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s);gap:var(--s);margin:8px 0 10px;font-size:12px}.selection-summary span{border:1px solid var(--border);border-radius:var(--r);background:#f9fcfc;padding:6px 8px}.muted{color:var(--muted)}.h1{font-size:22px}.h1,.h2{margin:0 0 var(--s);font-weight:600}.h2{font-size:16px}.notice{border:1px solid #dfd7c7;background:#f8f5ef;border-radius:var(--r);padding:var(--m);font-size:13px;margin-bottom:var(--l)}.trace-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:var(--s);gap:var(--s)}.trace-flow span{font-size:12px;padding:8px;border:1px solid var(--border);border-radius:var(--r);background:#fcfcfc}.trace-flow.trace-flow--open span{animation:chip-enter var(--motion-base) var(--ease-out-quart) backwards}.trace-flow.trace-flow--open span:first-child{animation-delay:0s}.trace-flow.trace-flow--open span:nth-child(2){animation-delay:50ms}.trace-flow.trace-flow--open span:nth-child(3){animation-delay:.1s}.trace-flow.trace-flow--open span:nth-child(4){animation-delay:.15s}.trace-flow.trace-flow--open span:nth-child(5){animation-delay:.2s}.type-legend-details{margin-bottom:var(--m)}.type-legend-summary{font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;list-style:none;padding:2px 0}.type-legend-summary::-webkit-details-marker{display:none}.type-legend-details[open] .type-legend-summary{margin-bottom:var(--s);color:var(--text)}.type-legend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--m);gap:var(--m);margin-bottom:var(--s)}.type-card{border:1px solid var(--border);border-radius:var(--r);padding:var(--m);background:#fafcfc;min-height:44px}.type-card h3{margin:0 0 4px;font-size:13px}.type-card p{margin:0;font-size:12px;color:var(--muted)}.explain-box{border:1px solid var(--border);background:#fcfefe;border-radius:var(--r);padding:var(--s) var(--m);margin:8px 0 12px}.meter-row{display:grid;grid-template-columns:1.4fr 1fr auto;grid-gap:var(--s);gap:var(--s);align-items:center;font-size:12px;margin-top:6px}.meter-track{height:8px;border-radius:999px;background:#e8eef0;overflow:hidden}.meter-fill{height:100%;background:var(--accent)}.meter-row.penalty .meter-fill.penalty{background:var(--warn)}.rule-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--m);gap:var(--m)}.ops-checklist{margin-top:10px;border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;background:#f9fcfc;font-size:12px}.ops-checklist ul{margin:6px 0 0;padding-left:16px}.rules-setup-intro,.run-setup-intro{margin:0 0 var(--m);font-size:12px;max-width:62ch;line-height:1.4}.run-type-section{margin-bottom:var(--l)}.run-type-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s);gap:var(--s)}.run-type-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:48px;padding:var(--m);border:1px solid var(--border);border-radius:var(--r);background:var(--surface);cursor:pointer;text-align:left;transition:border-color var(--motion-base) var(--ease-out-quart),background-color var(--motion-base) var(--ease-out-quart)}.run-type-btn:hover{border-color:#9ec5cb}.run-type-btn.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 1px 0 rgba(42,111,122,.12)}.run-type-btn-title{font-size:13px;font-weight:600}.run-type-btn-hint{font-size:11px}.abc-policy-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s);gap:var(--s);margin-bottom:var(--s)}.abc-policy-card{padding:var(--m);border:1px solid var(--border);border-radius:var(--r);background:var(--surface);min-width:0}.abc-policy-card strong{display:block;font-size:13px;margin-bottom:4px}.abc-policy-card p{margin:0;font-size:11px;line-height:1.35}.abc-policy-key{display:inline-block;font-size:16px;font-weight:600;color:var(--accent);margin-bottom:4px}.abc-policy-a{border:1px solid #5a8fa0;background:#f4f8f9}.abc-policy-b{border:1px solid #2a6f7a;background:#f0f6f7}.abc-policy-c{border:1px solid #8b5a42;background:#f8f5f3}.abc-policy-footnote{margin:var(--s) 0 0}.run-details-section{margin-bottom:var(--l);padding:var(--m) var(--l);border:1px solid var(--border);border-radius:var(--r);background:#fafcfc}.objective-weights-block{margin-top:var(--m);padding-top:var(--m);border-top:1px solid var(--border)}.run-complete-hint{margin-top:var(--s);font-size:12px;padding:var(--m);border-radius:var(--r);background:#edf6f7;border:1px solid #cfdfe1}.config-section{margin-bottom:var(--l);padding:var(--m) var(--l);border:1px solid #c5dadc;border-radius:var(--r);background:#f3f9fa}.config-section-title{margin:0 0 var(--xs);font-size:14px;font-weight:600;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s)}.config-section-badge{font-size:10px;font-weight:500;color:var(--muted);padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.config-section-lead{margin:0 0 var(--m);font-size:11px;line-height:1.4}.config-section-essential .grid-2{gap:var(--m)}.config-section-essential .grid-2 .field{margin-bottom:0}.config-tune-details{margin-bottom:var(--l);border:1px solid var(--border);border-radius:var(--r);background:#fafcfc;overflow:hidden}.config-tune-summary{cursor:pointer;padding:var(--m) var(--l);font-size:13px;font-weight:600;list-style:none}.config-tune-summary::-webkit-details-marker{display:none}.config-tune-summary:before{content:"▸ ";color:var(--muted)}.config-tune-details[open] .config-tune-summary:before{content:"▾ "}.config-tune-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.config-tune-panel{margin-bottom:var(--l);border:1px solid var(--border);border-radius:var(--r);background:#fafcfc;overflow:hidden}.config-tune-heading{margin:0;padding:10px var(--m);font-size:13px;font-weight:600;border-bottom:1px solid var(--border);background:#f3f8f9;list-style:none;cursor:pointer}.config-tune-heading::-webkit-details-marker{display:none}.config-tune-stack{display:grid;grid-gap:var(--s);gap:var(--s);padding:var(--m)}.config-group{border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}.config-group-header{display:grid;grid-template-columns:1fr;grid-gap:var(--xs);gap:var(--xs);padding:var(--m);border-bottom:1px solid var(--border);background:#fbfcfc}.config-group-kicker{font-size:11px;font-weight:500;color:var(--muted)}.config-group-title{font-size:13px;font-weight:600;line-height:1.35}.config-group-lead{margin:0;font-size:11px;line-height:1.4;max-width:72ch}.config-group-body{padding:var(--m)}.config-group-body .field:last-child,.config-group-body .grid-2 .field:last-child{margin-bottom:0}.config-flex-band{margin-top:var(--m);padding-top:var(--m);border-top:1px dashed var(--border)}.config-flex-band-title{margin:0 0 var(--xs);font-size:12px;font-weight:600;color:#27484d}.config-flex-band-lead{margin:0 0 var(--m);font-size:11px;line-height:1.4;max-width:62ch}.config-field-span{grid-column:1/-1}.field-hint{margin:4px 0 0;font-size:11px;color:var(--muted);line-height:1.35}.field-check-text{display:flex;flex-direction:column;gap:2px}.field-check-hint{font-size:11px;line-height:1.35;font-weight:400}.type-card-v1{border:1px solid #5a8fa0;background:#f4f8f9}.type-card-v2{border:1px solid #2a6f7a;background:#f0f6f7}.type-card-v3{border:1px solid #8b5a42;background:#f8f5f3}.type-threshold-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s);gap:var(--s);margin-bottom:var(--m)}.type-threshold-card{margin:0;padding:var(--m);border:1px solid var(--border);border-radius:var(--r);background:#fbfcfc;min-width:0}.type-threshold-card legend{font-size:12px;font-weight:600;padding:0 var(--xs)}.type-threshold-v1{border:1px solid #5a8fa0;background:#f4f8f9}.type-threshold-v2{border:1px solid #2a6f7a;background:#f0f6f7}.type-threshold-v3{border:1px solid #8b5a42;background:#f8f5f3}.config-flex-row{margin-top:0}.advanced-stack{display:grid;grid-gap:var(--s);gap:var(--s)}.advanced-group{border:1px solid var(--border);border-radius:var(--r);background:#fbfcfc;padding:var(--s) var(--m)}.advanced-group>summary{cursor:pointer;font-size:12px;font-weight:600;color:#27484d}.advanced-group[open]>summary{margin-bottom:var(--s)}.advanced-summary{cursor:pointer;margin-bottom:12px}.field-error-list{border:1px solid #e8c4bf;background:#fdf5f4;border-radius:var(--r);padding:var(--m);font-size:12px;margin-bottom:var(--m)}.field-error-list-title{margin:0 0 var(--xs);font-weight:600;color:#7a3f38}.field-error-list ul{margin:var(--xs) 0 0;padding-left:18px}.field-error-list li{margin-top:var(--xs)}.error-banner{border:1px solid #e8c4bf;background:#fdf5f4;border-radius:var(--r);padding:var(--m);margin-bottom:var(--l);animation:banner-enter var(--motion-base) var(--ease-out-quart)}.error-banner p{margin:6px 0 0}.error-actions{display:flex;gap:var(--s);flex-wrap:wrap;margin-top:var(--s)}.empty-state{border:1px dashed var(--border);border-radius:var(--r);background:#f9fcfc;padding:10px 12px;font-size:12px;color:var(--muted)}.completion-card{border:1px solid #b8dcc0;background:#f3faf4;border-radius:var(--r);padding:12px;margin-bottom:var(--m);animation:completion-enter var(--motion-slow) var(--ease-out-quart)}.checklist-steps{margin:8px 0 0;padding-left:18px;font-size:12px}.checklist-steps li{margin-bottom:4px}.cell-truncate{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skip-link{position:absolute;left:-9999px;top:var(--s);z-index:100;background:var(--accent);color:#fff;padding:8px 12px;border-radius:var(--r)}.skip-link:focus{left:var(--l)}.top-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--m);flex-wrap:wrap}.sticky-panel{position:-webkit-sticky;position:sticky;top:var(--l);align-self:start}.cockpit-card{background:#eaf3f4;border-color:#cfdfe1}.cockpit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--s);gap:var(--s)}.cockpit-value{margin-top:2px;font-size:18px;font-weight:600;color:#27484d}.step-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--s);gap:var(--s);margin-bottom:var(--l)}.step-progress-item{display:flex;align-items:center;gap:var(--s);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;background:var(--surface);text-align:left;min-height:44px;transition:border-color var(--motion-base) var(--ease-out-quart),background-color var(--motion-base) var(--ease-out-quart),box-shadow var(--motion-base) var(--ease-out-quart),transform var(--motion-fast) var(--ease-out-quart)}.step-progress-item:not(:disabled):hover{transform:translateY(-1px)}.step-progress-item.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 1px 0 rgba(42,111,122,.12)}.step-progress-item.active .step-progress-index{animation:step-index-pop var(--motion-base) var(--ease-out-expo)}.step-progress-item.done{border-color:#b8dcc0}.step-progress-item:disabled{opacity:.45;cursor:not-allowed}.step-progress-index{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;background:#e8eef0;flex-shrink:0}.step-progress-item.active .step-progress-index{background:var(--accent);color:#fff}.step-progress-item.done .step-progress-index{background:#d7ead9;color:var(--ok)}.step-progress-label{font-size:12px;font-weight:500}.step-content{animation:step-enter var(--motion-base) var(--ease-out-quart)}.step-content>.card,.step-content>details,.step-content>section{animation:panel-rise var(--motion-slow) var(--ease-out-quart) backwards}.step-content>:first-child{animation-delay:40ms}.step-content>:nth-child(2){animation-delay:90ms}.step-content>:nth-child(3){animation-delay:.14s}@keyframes step-enter{0%{opacity:0}to{opacity:1}}@keyframes panel-rise{0%{opacity:0}to{opacity:1}}@keyframes shell-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes aside-enter{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}@keyframes banner-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes completion-enter{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes metric-pulse{0%{color:#27484d}35%{color:var(--accent)}to{color:#27484d}}@keyframes step-index-pop{0%{transform:scale(.92)}to{transform:scale(1)}}@keyframes chip-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes run-progress-enter{0%{opacity:0}to{opacity:1}}@keyframes run-bar{0%{transform:translateX(0);opacity:.5}to{transform:translateX(220%);opacity:1}}@keyframes btn-shimmer{to{transform:translateX(220%)}}@keyframes badge-pop{0%{transform:scale(.96)}45%{transform:scale(1.04)}to{transform:scale(1)}}.step-actions{display:flex;gap:var(--s);flex-wrap:wrap;margin-top:var(--l);padding-top:var(--m);border-top:1px solid var(--border)}.step-panel-inner{margin-top:var(--m);padding-top:var(--m);border-top:1px dashed var(--border)}.btn-compact{min-height:32px;padding:4px 10px;font-size:12px}.data-preview{margin-top:var(--s)}.data-preview-note,.data-preview-source{margin:4px 0 0;font-size:12px}.data-preview-source{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.source-cell{display:flex;flex-direction:column;gap:2px;min-width:140px}.source-file-name{font-size:12px;font-weight:500}.source-file-path{font-size:10px;word-break:break-all}.column-chip-row{margin:var(--m) 0}.column-chip-label{margin-right:var(--s)}.column-chip-label,.column-chip-meta{font-size:11px;color:var(--muted)}.column-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;max-height:120px;overflow-y:auto}.column-chip{font-size:10px;padding:2px 6px;border-radius:4px;border:1px solid var(--border);background:#f6f8f8;color:var(--muted)}.column-chip-used{border-color:#9ec5cb;background:var(--accent-soft);color:#1f5560;font-weight:600}.preview-table td.col-used,.preview-table th.col-used{background:#edf6f7;font-weight:500}.run-progress{margin-top:var(--m);padding:var(--m);border-radius:var(--r);border:1px solid #cfdfe1;background:#edf6f7;font-size:12px;color:#27484d;animation:run-progress-enter var(--motion-base) var(--ease-out-quart)}.run-progress.is-active{position:relative;overflow:hidden}.run-progress.is-active:before{content:"";position:absolute;left:0;bottom:0;height:2px;width:40%;background:var(--accent);animation:run-bar 1.2s var(--ease-out-quart) infinite alternate}.output-file-box{margin-top:var(--m);padding:var(--m);border:1px solid var(--border);border-radius:var(--r);background:#fbfcfc}.output-path{display:block;margin-top:6px;font-size:11px;word-break:break-all;color:#27484d}.instruction-download-box{display:flex;flex-direction:column;gap:var(--s)}.instruction-download-heading{font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.instruction-download-body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--m)}.instruction-download-filename{margin-top:0;font-size:12px;line-height:1.4;max-width:100%}.instruction-download-actions{display:flex;flex-wrap:wrap;gap:var(--s)}.instruction-download-error{margin:0;font-size:12px}.instruction-download-empty{margin:0}.output-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--s);gap:var(--s);margin-top:var(--m);font-size:13px}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score-cell{font-weight:600}.leaderboard-footnote,.leaderboard-hint{font-size:12px;margin:4px 0 0}.rank-badge{margin-left:4px;vertical-align:middle}.mix-cell{font-size:11px;white-space:nowrap}.leaderboard-table td.num,.leaderboard-table th.num{padding-left:4px;padding-right:8px}.abc-comparison-panel{border-color:#b8d4d8;background:linear-gradient(180deg,#f6fbfb 0,var(--surface) 100%)}.abc-comparison-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--s);margin-bottom:var(--m)}.abc-comparison-lead{margin:4px 0 0;font-size:12px;max-width:52ch}.abc-comparison-table{width:100%;min-width:520px;table-layout:fixed}.abc-comparison-table .abc-metric-col{width:28%;font-weight:500;font-size:12px;text-align:left;vertical-align:middle}.abc-comparison-table .abc-scenario-col{width:24%;vertical-align:top;background:#f9fcfc}.abc-comparison-table .abc-scenario-col.is-selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px rgba(42,111,122,.25)}.abc-col-head{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:2px 0}.abc-col-key{font-size:18px;font-weight:600;color:var(--accent);line-height:1.2}.abc-col-sub{color:var(--muted);line-height:1.3;text-align:left}.abc-col-sub,.abc-rec-badge{font-size:10px}.abc-select-btn{margin-top:2px}.abc-select-btn-active{border-color:var(--accent);background:var(--accent-soft);color:#1f5560;font-weight:600}.abc-value-cell{font-size:15px;font-weight:600}.abc-value-cell.is-selected{background:var(--accent-soft)}.abc-metric-hint{font-size:10px;cursor:help}.abc-comparison-foot{margin:var(--m) 0 0;font-size:11px}.abc-cockpit-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s);gap:var(--s);margin-top:var(--s);padding-top:var(--s);border-top:1px solid var(--border)}.abc-cockpit-pill{display:flex;align-items:center;justify-content:center;gap:var(--s);min-height:44px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);cursor:pointer;transition:border-color var(--motion-base) var(--ease-out-quart),background-color var(--motion-base) var(--ease-out-quart)}.abc-cockpit-pill:hover{border-color:#9ec5cb}.abc-cockpit-pill.active{border-color:var(--accent);background:var(--accent-soft)}.abc-cockpit-key{font-weight:600;color:var(--accent)}.abc-cockpit-qty{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.why-panel{max-height:calc(100vh - 48px);overflow-y:auto}.why-headline{margin:0 0 4px;font-size:13px}.why-sub{margin:0 0 var(--m);font-size:12px}.score-total-card{background:#eaf3f4;border:1px solid #cfdfe1;border-radius:var(--r);padding:var(--m);margin-bottom:var(--m);text-align:center}.score-total-label{font-size:11px;font-weight:500;color:var(--muted)}.score-total-value{font-size:28px;font-weight:600;color:#27484d;line-height:1.2}.score-total-formula{font-size:11px;margin-top:4px}.score-table{font-size:12px}.score-table td.num,.score-table th.num{width:72px}.score-table-subtotal td{border-top:1px solid var(--border);font-weight:500}.score-table-penalty td{color:var(--warn)}.score-table-total td{font-weight:600;background:#f3faf4}.why-meta-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--m);gap:var(--m);margin:var(--m) 0}.why-section-title{font-size:12px;margin:0 0 6px;font-weight:600;color:#27484d}.why-list{margin:0;padding-left:16px;font-size:12px}.why-drivers li{margin-bottom:6px}.why-runner-up{font-size:12px;margin:var(--s) 0 0}.why-compare{margin-top:var(--m);padding-top:var(--m);border-top:1px solid var(--border)}.why-preview-details{margin-top:var(--m);font-size:12px}.why-preview-details summary{cursor:pointer;font-weight:500;color:#27484d}.backtest-panel{margin-top:var(--m)}.backtest-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--s);gap:var(--s)}.gold-match-table-wrap{margin-bottom:var(--s)}.gold-match-table .gold-tier-label{display:block;font-weight:600}.gold-match-table .gold-tier-hint{display:block;font-size:11px;color:var(--muted,#5c6b6e);font-weight:400;margin-top:2px}.gold-match-table tr.gold-tier-group-row td{background:var(--surface,#f8fbfb);border-top:1px solid var(--border,#d8e1e1);padding-top:var(--m);padding-bottom:var(--xs)}.gold-match-table .gold-tier-group-title{display:block;font-size:12px;font-weight:600;color:var(--text,#333a3a)}.gold-match-table .gold-tier-group-hint{display:block;font-size:11px;color:var(--muted,#5c6b6e);font-weight:400;margin-top:2px}.gold-match-table td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.gold-match-footnote{font-size:11px;margin-top:var(--xs);line-height:1.35}.kpi-label{font-size:11px}.kpi-value{font-size:16px;font-weight:600;color:#27484d;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.section-kicker{font-size:11px;font-weight:500;color:var(--muted)}.store-panel{margin-top:var(--m)}.store-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--m);flex-wrap:wrap;margin-bottom:var(--s)}.store-tab-row{display:flex;gap:4px}.store-tab{opacity:.72}.store-tab-active{opacity:1;background:#e8f0f1;border-color:#8aa9ad}.store-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s);margin-bottom:var(--s);flex-wrap:wrap}.store-search{flex:1 1 220px;max-width:360px;padding:8px 10px;border:1px solid #d6dedf;border-radius:4px;font-size:13px}.store-roster-meta{display:flex;flex-wrap:wrap;gap:var(--m);font-size:12px;margin-bottom:var(--s)}.store-table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.store-net-in{color:#2f6b4f}.store-net-out{color:#8b4a3c}.store-note{margin:0 0 var(--s);padding:8px 10px;font-size:12px;background:#f7f3ea;border:1px solid #e8dcc0;border-radius:var(--r);color:#5c4a32}.objective-list{display:grid;grid-gap:var(--s);gap:var(--s)}.objective-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;min-height:48px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);cursor:pointer;transition:border-color var(--motion-base) var(--ease-out-quart),background-color var(--motion-base) var(--ease-out-quart),transform var(--motion-fast) var(--ease-out-quart),box-shadow var(--motion-base) var(--ease-out-quart)}.objective-option:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(42,111,122,.08)}.objective-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:0 1px 0 rgba(42,111,122,.1)}.objective-option input{margin-top:3px;min-width:18px;min-height:18px}.objective-option-body{flex:1 1;min-width:0}.objective-option-hint{display:block;margin-top:2px;font-size:12px}.field-inline-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s);gap:var(--s)}.field-check{display:flex;align-items:flex-start;gap:6px;font-size:12px;min-height:44px}.field-check input{margin-top:3px}.field-spaced-top{margin-top:var(--m)}.panel-actions-inline{display:flex;align-items:center;gap:var(--s);flex-wrap:wrap}.calculation-actions{display:flex;gap:6px;flex-wrap:wrap}.error-inline{margin:var(--s) 0 0;font-size:12px;color:#8b3a3a}.shortlist-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}.shortlist-strategy-meta{margin-top:0}.shortlist-missing-week{margin:var(--m) 0;padding:var(--m);border:1px dashed var(--border);border-radius:6px;background:#fbfcfc}.shortlist-product-editor{margin-top:var(--m);padding-top:var(--m);border-top:1px solid var(--border)}.excluded-stores-panel{margin-top:var(--m)}.excluded-stores-toolbar{align-items:stretch}.excluded-stores-combobox{position:relative;margin:0}.excluded-stores-list,.excluded-stores-suggestions{list-style:none;margin:var(--s) 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.excluded-stores-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;margin:0;max-height:240px;overflow-y:auto;border:1px solid var(--border);border-radius:4px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.06)}.excluded-stores-dropdown li{margin:0}.excluded-stores-chip,.excluded-stores-suggestion{display:flex;align-items:center;gap:var(--s);padding:var(--s) var(--m);border:1px solid var(--border);border-radius:4px;background:#fff}.excluded-stores-dropdown .excluded-stores-suggestion{border:0;border-radius:0;border-bottom:1px solid var(--border)}.excluded-stores-dropdown li:last-child .excluded-stores-suggestion{border-bottom:0}.excluded-stores-suggestion{width:100%;text-align:left;cursor:pointer}.excluded-stores-suggestion.is-active,.excluded-stores-suggestion:hover{background:#f7f7f7}.excluded-stores-suggestion:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:-2px}.excluded-stores-code{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;min-width:4ch}.excluded-stores-meta{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.excluded-stores-remove{margin-left:auto}.shortlist-product-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--m);flex-wrap:wrap;margin-bottom:var(--s)}.shortlist-product-title{margin:0;font-size:15px;font-weight:600;color:var(--text);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s)}.shortlist-product-week{font-size:12px;font-weight:400}.classification-status-line,.shortlist-status-line{margin:0 0 var(--s);font-size:12px;line-height:1.4}.shortlist-product-stats{display:flex;gap:var(--s)}.shortlist-stat{display:flex;flex-direction:column;align-items:center;min-width:56px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:#f8fafa}.shortlist-stat-muted{opacity:.85}.shortlist-stat-value{font-size:18px;font-weight:600;line-height:1.2;color:var(--text)}.shortlist-stat-label{font-size:11px;color:var(--muted)}.shortlist-product-toolbar{display:flex;flex-wrap:wrap;gap:var(--s);align-items:flex-end;margin-bottom:var(--s)}.shortlist-search-field{flex:1 1 200px;min-width:180px;margin:0}.shortlist-product-table-wrap{max-height:320px;margin-bottom:var(--m)}.shortlist-product-table{font-size:12px}.shortlist-product-table td,.shortlist-product-table th{padding:8px 10px;vertical-align:middle}.shortlist-col-check{width:36px}.shortlist-col-action{width:88px;text-align:right}.shortlist-str-cell{min-width:92px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shortlist-str-value{display:block;font-weight:500;color:var(--text)}.shortlist-str-source{display:block;max-width:16ch;margin-top:2px;font-size:11px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shortlist-key-cell,.shortlist-product-identity{display:flex;flex-direction:column;gap:2px}.shortlist-product-identity{min-width:0;max-width:280px}.shortlist-product-name{font-size:13px;font-weight:500;color:#333333;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shortlist-key{font-size:11px;color:#27484d}.shortlist-key-muted{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shortlist-style-code{font-size:12px;color:#27484d;white-space:nowrap}.shortlist-color-code{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#333333}.shortlist-key-sub{font-size:11px}.shortlist-type{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.shortlist-type-v1{background:#e8f4f6;color:#2a6b73}.shortlist-type-v2{background:#f3efe8;color:#6b5438}.shortlist-type-v3{background:#f0e8f4;color:#5c4570}.shortlist-type-none{background:#f0f0f0;color:var(--muted)}.shortlist-row-selected{background:#f4fafb}.shortlist-empty-cell{text-align:center;padding:var(--l) var(--m)!important}.shortlist-remove-btn{color:#8b3a3a}.shortlist-add-row{display:flex;flex-wrap:wrap;gap:var(--s);align-items:flex-end;margin-bottom:var(--m)}.shortlist-add-field{flex:1 1 280px;margin:0}.shortlist-replace-panel{margin-top:var(--m);border:1px solid var(--border);border-radius:6px;background:#fbfcfc;padding:var(--m)}.shortlist-replace-header{display:flex;justify-content:space-between;gap:var(--m);align-items:flex-start;margin-bottom:var(--s)}.shortlist-replace-title{margin:0;font-size:15px;font-weight:600}.shortlist-replace-copy{margin:3px 0 0;font-size:12px;line-height:1.4;max-width:68ch}.shortlist-active-badge{white-space:nowrap}.shortlist-merge-grid,.shortlist-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s);gap:var(--s);margin-top:var(--s)}.shortlist-replace-warning{margin:var(--s) 0 0;font-size:12px;line-height:1.4;padding:var(--s) var(--m);border-left:3px solid #c4a35a;background:#faf8f3}.shortlist-source-option{display:flex;gap:var(--s);align-items:flex-start;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer;transition:border-color var(--motion-base) var(--ease-out-quart),background-color var(--motion-base) var(--ease-out-quart)}.shortlist-source-option:hover{border-color:#9ec5cb}.shortlist-source-option-active{border-color:var(--accent);background:var(--accent-soft)}.shortlist-source-option input{margin-top:3px}.shortlist-source-option span{display:flex;flex-direction:column;gap:2px;min-width:0}.shortlist-source-option strong{font-size:13px;font-weight:600;color:var(--text)}.shortlist-source-option .muted{font-size:11px;line-height:1.35}.shortlist-replace-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s);margin-top:var(--s)}.shortlist-topn-field{width:128px;margin:0}.shortlist-replace-button-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--s);margin-left:auto}.shortlist-draft-note{margin:var(--s) 0 0;font-size:12px;line-height:1.4}.shortlist-version-details{margin-top:var(--s)}.shortlist-version-list{font-size:.85rem;margin-top:8px;padding-left:1.1rem}@media (max-width:720px){.shortlist-product-table-wrap{max-height:280px}.shortlist-replace-actions,.shortlist-replace-header{flex-direction:column;align-items:stretch}.shortlist-source-grid{grid-template-columns:1fr}.shortlist-topn-field{width:100%}.shortlist-replace-button-row{justify-content:stretch;margin-left:0}.shortlist-replace-button-row .btn{flex:1 1 160px}}.classification-panel{margin-top:var(--l);padding-top:var(--m);border-top:1px solid var(--border)}.classification-header{display:flex;justify-content:space-between;align-items:center;gap:var(--m);flex-wrap:wrap;margin-bottom:var(--xs)}.classification-title{margin:0;font-size:15px;font-weight:600}.classification-loading{margin-top:var(--s)}.classification-skeleton{height:120px;border-radius:6px;background:linear-gradient(90deg,oklch(.97 .005 200),oklch(.94 .008 200) 50%,oklch(.97 .005 200));background-size:200% 100%;animation:classification-shimmer 1.2s ease-out infinite}@keyframes classification-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.classification-skeleton{animation:none;background:oklch(.96 .006 200)}}.classification-segments{display:flex;flex-wrap:wrap;gap:var(--s);margin-bottom:var(--s)}.classification-seg-btn{display:flex;flex-direction:column;align-items:center;min-width:64px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:#fbfcfc;cursor:pointer;font:inherit;color:var(--text)}.classification-seg-btn-active{border-color:var(--accent);background:#f4fafb;box-shadow:0 0 0 1px var(--accent-soft)}.classification-seg-count{font-size:18px;font-weight:600;line-height:1.2}.classification-seg-label{font-size:11px;color:var(--muted);margin-top:2px}.classify-seg-v1.classification-seg-btn-active .classification-seg-count{color:#2a6b73}.classify-seg-v2.classification-seg-btn-active .classification-seg-count{color:#6b5438}.classify-seg-v3.classification-seg-btn-active .classification-seg-count{color:#5c4570}.classify-seg-skipped.classification-seg-btn-active .classification-seg-count{color:#666}.classification-segment-desc{font-size:12px;line-height:1.4;margin:0 0 var(--s);max-width:72ch}.classification-table-wrap{max-height:280px}.classification-table{font-size:12px}.classification-table td,.classification-table th{vertical-align:top}.classification-col-num{text-align:right;white-space:nowrap}.classification-col-color,.classification-col-style{white-space:nowrap}.classification-col-segment{min-width:90px;white-space:nowrap}.classification-col-reason{min-width:220px}.classification-reason-cell{max-width:28ch;font-size:11px;line-height:1.35;color:var(--muted)}.classification-empty{text-align:center;padding:var(--l) var(--m)!important}.clarify-rules-panel{margin-top:var(--l)}.config-tune-nested{margin-top:var(--m);border:1px solid var(--border);border-radius:6px}.rule-reflection-box{margin-top:var(--m)}@media (min-width:768px) and (max-width:1023px){.app-shell{padding:var(--l)}.grid-2{grid-template-columns:1fr}.sticky-panel{position:static}}@media (max-width:1280px){.workflow-split{grid-template-columns:1fr}.workflow-aside.sticky-panel{position:static}}@media (max-width:960px){.workflow-split{grid-template-columns:1fr}.cockpit-strip{grid-template-columns:1fr 1fr}.rule-grid,.trace-flow{grid-template-columns:1fr}.sticky-panel{position:static}.abc-policy-preview-grid,.run-type-toggle,.type-legend-grid,.type-threshold-grid{grid-template-columns:1fr}.backtest-kpi-grid,.cockpit-grid,.output-summary-grid,.step-progress{grid-template-columns:1fr 1fr}.selection-summary,.why-meta-grid{grid-template-columns:1fr}.why-panel{max-height:none;overflow-y:visible}.meter-row{grid-template-columns:1fr;gap:4px}.store-panel-head,.top-actions{flex-direction:column;align-items:stretch}.store-tab-row{flex-wrap:wrap}.store-search{max-width:none;width:100%}}@media (max-width:767px){body,html{font-size:13px}.app-shell{padding:var(--s) var(--m) var(--l)}.h1{font-size:20px}.h2{font-size:15px}.card{padding:var(--m)}.btn-compact{min-height:44px;padding:8px 12px;font-size:13px}.step-progress{grid-template-columns:1fr}.step-progress-item{width:100%}.backtest-kpi-grid,.cockpit-grid,.output-summary-grid,.shortlist-source-grid,.upload-slot-grid{grid-template-columns:1fr}.cockpit-value{font-size:16px}.score-total-value{font-size:24px}.cell-truncate{max-width:120px}.leaderboard-table .col-optional{display:none}.objective-option-hint{margin-left:0}.field-inline-2{grid-template-columns:1fr}}@media (max-width:480px){.step-actions .btn{flex:1 1 100%;justify-content:center}.error-actions .btn{flex:1 1 100%}}@media (min-width:1024px){.app-shell{padding:var(--l)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.platform-shell{padding-top:0;padding-left:0;padding-right:0}.platform-hero{background:linear-gradient(135deg,#1a3035,#243d42);color:#f4f8f8}.platform-hero-inner{max-width:var(--max);margin:0 auto;padding:var(--xl) var(--l) var(--xxl)}.platform-hero-top{display:flex;align-items:center;justify-content:space-between;gap:var(--m);flex-wrap:wrap;margin-bottom:var(--xl)}.platform-badge{font-size:11px;font-weight:700;letter-spacing:.12em;color:#8ec5cc}.platform-hero-title{margin:0 0 var(--m);font-size:clamp(22px,3vw,28px);line-height:1.15;font-weight:800;letter-spacing:-.02em}.platform-hero-lead{margin:0 0 var(--m);max-width:52rem;font-size:15px;line-height:1.45;color:#c8d8da}.platform-hero-ref{margin:0;padding-left:var(--m);border-left:3px solid var(--accent);font-size:13px;color:#a8bcc0}.platform-tabs{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:#1a3035;border-bottom:2px solid var(--accent)}.platform-tabs-inner{max-width:var(--max);margin:0 auto;display:flex;gap:var(--xs);padding:0 var(--l);overflow-x:auto}.platform-tab{flex:0 0 auto;min-height:48px;padding:var(--m) var(--l);border:none;border-bottom:3px solid transparent;margin-bottom:-2px;background:transparent;color:#9eb4b8;font-size:13px;font-weight:700;cursor:pointer}.platform-tab:hover{color:#fff;transform:none}.platform-tab.active{color:#fff;border-bottom-color:var(--accent)}.platform-subnav{background:var(--surface);border-bottom:1px solid var(--border)}.platform-subnav-inner{max-width:var(--max);margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--xs);padding:var(--m) var(--l)}.platform-subnav-link{font-size:12px;font-weight:600;color:var(--muted);padding:var(--s) var(--m);border-radius:var(--r)}.platform-subnav-link:hover{color:var(--text);background:var(--accent-soft)}.platform-section{max-width:var(--max);margin:0 auto;padding:var(--xl) var(--l)}.platform-section-alt{background:var(--surface);max-width:none}.platform-section-alt>*{max-width:var(--max);margin-left:auto;margin-right:auto}.platform-kicker{margin:0 0 var(--xs);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.platform-section-lead{margin:0 0 var(--l);max-width:44rem}.platform-flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--s);margin-bottom:var(--m)}.platform-flow-arrow{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:20px;font-weight:700;flex:0 0 24px}.platform-flow-stage{flex:1 1 180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--m);min-height:100%}.platform-flow-tag{display:block;margin-bottom:var(--xs);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.platform-flow-stage h3{margin:0 0 var(--xs);font-size:14px}.platform-flow-stage p{margin:0;font-size:12px}.platform-trustbar{margin:var(--m) 0 0;padding:var(--m) var(--l);border-radius:var(--r);background:#1a3035;color:#dce8ea;font-size:13px}.platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-gap:var(--l);gap:var(--l)}.platform-grid-trust{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.platform-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--l);min-width:0}.platform-card-trust{padding:var(--m) var(--l)}.platform-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s);margin-bottom:var(--s)}.platform-card-title{margin:0;font-size:16px;line-height:1.3}.platform-card-summary{margin:0 0 var(--m);font-size:13px;line-height:1.4}.platform-card-logic{background:#f7fafa;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0 calc(var(--l) * -1) var(--m);padding:var(--m) var(--l)}.platform-card-logic-label{margin:0 0 var(--xs);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.platform-card-logic ol{margin:0;padding-left:var(--l);font-size:12px}.platform-card-logic li{margin-bottom:var(--xs)}.platform-metrics{display:flex;flex-wrap:wrap;gap:var(--m);margin-bottom:var(--m)}.platform-metric-value{display:block;font-size:18px;font-weight:800;line-height:1.1}.platform-metric-label{display:block;font-size:10px;color:var(--muted)}.platform-card-foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:var(--s);align-items:center;padding-top:var(--m);border-top:1px solid var(--border)}.platform-btn{min-height:44px;font-size:12px;font-weight:700}.platform-btn-dl{background:var(--accent);color:#fff;border:1px solid var(--accent);padding:var(--s) var(--m);border-radius:var(--r)}.platform-btn-dl:hover{background:#235e68;transform:none}.platform-pill{flex-shrink:0;font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px;letter-spacing:.02em}.platform-pill-live{background:#dce7f2;color:#1f4f72}.platform-pill-ok{background:#deecee;color:var(--accent)}.platform-pill-ref{background:#f0ebe3;color:#7a5a1e}.platform-unavailable{font-size:11px;color:var(--muted);font-style:italic}.platform-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.platform-table th{background:#1a3035;color:#fff;text-align:left;padding:var(--m);font-size:12px}.platform-table td{padding:var(--m);border-top:1px solid var(--border);vertical-align:middle}.platform-table-strong{font-weight:700}.platform-note{margin:var(--m) 0 0;padding:var(--m) var(--l);background:#fbf4e8;border-left:3px solid #b97309;border-radius:0 var(--r) var(--r) 0;font-size:13px}.platform-layers{display:grid;grid-gap:var(--s);gap:var(--s)}.platform-layer{display:grid;grid-template-columns:minmax(120px,160px) 1fr minmax(160px,280px);grid-gap:0;gap:0;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;background:var(--surface)}.platform-layer-label{color:#fff;padding:var(--m);display:flex;flex-direction:column;justify-content:center;gap:var(--xs);font-size:12px}.platform-layer-label span{font-size:11px;opacity:.85}.platform-layer-amber{background:#b97309}.platform-layer-blue{background:#1f6fb2}.platform-layer-green{background:#2a6f7a}.platform-layer-q{margin:0;padding:var(--m);font-size:13px;font-weight:600;display:flex;align-items:center}.platform-layer-who{padding:var(--m);border-left:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;gap:var(--xs);font-size:12px}.platform-layer-who .yes{color:var(--ok);font-weight:700}.platform-layer-who .no{color:var(--muted)}.platform-gaps{max-width:var(--max);margin:var(--xl) auto;padding:0 var(--l)}.platform-gap-list{margin:var(--m) 0 0;padding:0;list-style:none;display:grid;grid-gap:var(--s);gap:var(--s)}.platform-gap{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--m);gap:var(--m);align-items:start;padding:var(--m) var(--l);border-radius:var(--r);border:1px solid var(--border);background:var(--surface)}.platform-gap-severity{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:999px;line-height:1.2}.platform-gap-info .platform-gap-severity{background:#e8f3f5;color:#2a6f7a}.platform-gap-warning .platform-gap-severity{background:#fbf0e0;color:#8a5a12}.platform-gap-blocker .platform-gap-severity{background:#fbe9e9;color:#8b2e2e}.platform-gap-content{min-width:0}.platform-gap-title{margin:0 0 var(--xs);font-size:14px;font-weight:700;line-height:1.35}.platform-gap-action,.platform-gap-body{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}.platform-gap-action{margin-top:var(--xs);color:#333}.platform-callout{margin:0 0 var(--l);padding:var(--m) var(--l);border-radius:var(--r);border:1px solid var(--border)}.platform-callout-info{background:#f4fafb;border-left:3px solid #2a6f7a}.platform-callout-title{margin:0 0 var(--xs);font-size:14px;font-weight:700;line-height:1.35}.platform-callout-action,.platform-callout-body{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}.platform-callout-action{margin-top:var(--xs);color:#333}.platform-footer{max-width:var(--max);margin:0 auto;padding:var(--xl) var(--l);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s);font-size:12px;color:var(--muted);border-top:1px solid var(--border)}.platform-loading{max-width:var(--max);margin:var(--l) auto;padding:0 var(--l)}.platform-banner{max-width:var(--max);margin:var(--m) auto 0}.platform-actions{margin-top:var(--l)}@media (max-width:767px){.platform-gap{grid-template-columns:1fr;gap:var(--s)}}@media (min-width:900px){.platform-flow-stage{flex:1 1;min-width:150px}}@media (max-width:767px){.platform-flow-arrow{display:none}.platform-layer{grid-template-columns:1fr}.platform-layer-who{border-left:none;border-top:1px solid var(--border)}.platform-footer,.platform-gaps,.platform-hero-inner,.platform-section,.platform-subnav-inner,.platform-tabs-inner{padding-left:var(--m);padding-right:var(--m)}}