:root{--c-bg:#f4f5f7;--c-surface:#fff;--c-surface-alt:#eef0f3;--c-text:#1b1f24;--c-text-muted:#525a65;--c-border:#d3d7dd;--c-accent:#1f5f8b;--c-accent-text:#fff;--c-focus:#1f5f8b;--c-danger:#a3262a;--c-warning:#8a5300;--c-success:#1d6b3a;--c-highlight:#fff1b8;--c-highlight-text:#1b1f24;--c-highlight-strong:#1f5f8b;--c-highlight-strong-text:#fff;--radius:6px;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--gap:16px;--pad:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-density=compact]{--gap:12px;--pad:10px}*{box-sizing:border-box}html,body{margin:0}body{background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:15px;line-height:1.45}a{color:var(--c-accent)}h1{margin:0 0 4px;font-size:1.45rem}h2{margin:0 0 8px;font-size:1.1rem}h3{margin:12px 0 6px;font-size:1rem}h4{text-transform:uppercase;letter-spacing:.03em;color:var(--c-text-muted);margin:6px 0;font-size:.85rem}p{margin:0 0 8px}code,.mono,pre{font-family:var(--font-mono);font-size:.85em}:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--c-surface);z-index:10;padding:6px 10px;position:absolute;top:-40px;left:8px}.skip:focus{top:8px}.muted{color:var(--c-text-muted)}.small{font-size:.85rem}.nowrap{white-space:nowrap}.num{text-align:right;font-variant-numeric:tabular-nums}.good{color:var(--c-success);font-weight:600}.bad{color:var(--c-danger);font-weight:600}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.boot{text-align:center;padding:40px}.shell{max-width:1480px;margin:0 auto;padding:0 16px 24px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0 8px;display:flex}.brand{flex-direction:column;display:flex}.brand-name{font-size:1.2rem;font-weight:700}.brand-tagline{color:var(--c-text-muted);font-size:.85rem}.topbar-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prepared{color:var(--c-text-muted);margin:0 0 6px;font-size:.85rem}.demo-notice{background:var(--c-surface-alt);border:1px solid var(--c-border);border-radius:var(--radius);padding:6px 10px;font-size:.85rem}.tabs ul{border-bottom:1px solid var(--c-border);gap:4px;margin:8px 0 12px;padding:0;list-style:none;display:flex;overflow-x:auto}.tab{color:var(--c-text);white-space:nowrap;border-bottom:3px solid #0000;padding:8px 12px;text-decoration:none;display:block}.tab.active{border-bottom-color:var(--c-accent);color:var(--c-accent);font-weight:600}.main:focus,.main:focus-visible{outline:none}.status-line{min-height:1.2em;color:var(--c-text-muted);font-size:.85rem}.footer{border-top:1px solid var(--c-border);color:var(--c-text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:32px;padding-top:12px;font-size:.85rem;display:flex}.btn{font:inherit;border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);color:var(--c-text);cursor:pointer;align-items:center;gap:6px;min-height:34px;padding:6px 12px;font-size:.9rem;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--c-text-muted)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn[aria-disabled=true]{pointer-events:none}.btn-primary{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-accent-text)}.btn-ghost{background:0 0}.btn-danger{color:var(--c-danger);border-color:var(--c-danger)}.btn-small{min-height:28px;padding:2px 8px;font-size:.8rem}.link{color:var(--c-accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}select,input,textarea{font:inherit;border:1px solid var(--c-text-muted);border-radius:var(--radius);background:var(--c-surface);color:var(--c-text);max-width:100%;padding:5px 8px;font-size:.9rem}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--c-danger);border-width:2px}.narrow{width:6em}.inline-field{align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.check{align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.filters{flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 12px;display:flex}.chip{white-space:nowrap;background:var(--c-surface);border:1px solid;border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.chip-ok{color:var(--c-success)}.chip-bad{color:var(--c-danger)}.chip-warn{color:var(--c-warning)}.chip-muted{color:var(--c-text-muted)}.chip-info{color:var(--c-accent)}.badge{border-radius:var(--radius);background:var(--c-surface-alt);border:1px dashed var(--c-text-muted);color:var(--c-text);white-space:nowrap;padding:3px 8px;font-size:.78rem}.badge-live{border-style:solid;border-color:var(--c-warning);color:var(--c-warning)}.view-head{margin-bottom:12px}.view-head p{max-width:900px}.stats{flex-wrap:wrap;gap:12px;margin:0 0 12px;padding:0;list-style:none;display:flex}.stats li{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:8px 12px;font-size:.9rem}.stat-num{font-variant-numeric:tabular-nums;margin-right:4px;font-size:1.15rem;font-weight:700}.panel{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--pad);margin-bottom:var(--gap);min-width:0}.panel-head{margin-bottom:8px}.callout{border-left:4px solid var(--c-accent);background:var(--c-surface-alt);border-radius:var(--radius);margin:8px 0;padding:8px 12px;font-size:.9rem}.callout ul{margin:4px 0 0;padding-left:18px}.callout-warn{border-left-color:var(--c-warning)}.callout-bad{border-left-color:var(--c-danger)}.empty{color:var(--c-text-muted);padding:12px 0}.table-wrap{max-width:100%;overflow-x:auto}.table{border-collapse:collapse;background:var(--c-surface);width:100%}.table caption{text-align:left;padding:6px 0;font-weight:600}.table th,.table td{text-align:left;border-bottom:1px solid var(--c-border);vertical-align:top;padding:6px 8px}.table thead th{background:var(--c-surface-alt);font-size:.8rem}.table .num{text-align:right}.doc-link{font-weight:600}.review-grid{gap:var(--gap);grid-template-columns:230px minmax(0,1.1fr) minmax(0,1fr);align-items:start;display:grid}.queue{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);max-height:78vh;overflow:auto}.queue ul{margin:0;padding:0;list-style:none}.queue-item{border-bottom:1px solid var(--c-border);color:var(--c-text);padding:8px 10px;text-decoration:none;display:block}.queue-item.active{background:var(--c-surface-alt);box-shadow:inset 3px 0 0 var(--c-accent)}.queue-title{font-size:.88rem;font-weight:600;display:block}.queue-meta{color:var(--c-text-muted);font-size:.75rem}.source-panel{position:sticky;top:8px}.source{font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--c-surface-alt);border:1px solid var(--c-border);border-radius:var(--radius);max-height:64vh;padding:12px;font-size:.85rem;line-height:1.6;overflow:auto}.span{background:var(--c-highlight);color:var(--c-highlight-text);cursor:pointer;box-shadow:0 1px 0 var(--c-text-muted);border-radius:2px}.span-alt{color:var(--c-text);background:var(--c-surface);box-shadow:none;border-bottom:2px dashed var(--c-warning)}.span-alt-selected{background:var(--c-highlight);color:var(--c-highlight-text);outline:2px dashed var(--c-warning)}.span-selected{background:var(--c-highlight-strong);color:var(--c-highlight-strong-text);box-shadow:0 0 0 2px var(--c-highlight-strong)}.fields{margin:0;padding:0;list-style:none}.field{border:1px solid var(--c-border);border-radius:var(--radius);margin-bottom:8px;padding:8px 10px}.field-selected{border-color:var(--c-accent);box-shadow:0 0 0 1px var(--c-accent)}.field-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.field-name{font:inherit;text-align:left;cursor:pointer;color:var(--c-text);background:0 0;border:0;flex-direction:column;padding:0;font-weight:600;display:flex}.field-name:disabled{cursor:default}.field-name .small{font-weight:400;text-decoration:underline}.field-name:disabled .small{text-decoration:none}.req{color:var(--c-danger)}.field-value{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0;font-size:1rem;display:flex}.field-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.field-edit{flex-direction:column;gap:4px;margin:6px 0;display:flex}.field-edit label{font-size:.85rem;font-weight:600}.field-error{color:var(--c-danger);margin:0;font-size:.85rem;font-weight:600}.issues{color:var(--c-warning);margin:6px 0 0;padding-left:18px;font-size:.85rem}.score{align-items:center;gap:4px;font-size:.8rem;display:inline-flex}.score-bar{background:var(--c-surface-alt);border:1px solid var(--c-border);border-radius:3px;width:48px;height:6px;display:inline-block;overflow:hidden}.score-bar span{background:var(--c-text-muted);height:100%;display:block}.score-num{font-variant-numeric:tabular-nums}.decision{border-top:1px solid var(--c-border);margin-top:10px;padding-top:10px}.split{gap:var(--gap);grid-template-columns:minmax(240px,340px) minmax(0,1fr);align-items:start;display:grid}.split-even{gap:var(--gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.run-list ul{max-height:72vh;margin:0;padding:0;list-style:none;overflow:auto}.run-item{color:var(--c-text);border-bottom:1px solid var(--c-border);grid-template-columns:auto 1fr auto;gap:2px 8px;padding:6px 8px;text-decoration:none;display:grid}.run-item .small{grid-column:1/-1}.run-item.active{background:var(--c-surface-alt);box-shadow:inset 3px 0 0 var(--c-accent)}.steps{margin:0;padding:0;list-style:none}.step{border:1px solid var(--c-border);border-radius:var(--radius);border-left-width:4px;margin-bottom:8px;padding:6px 10px}.step-ok{border-left-color:var(--c-success)}.step-warn{border-left-color:var(--c-warning)}.step-error{border-left-color:var(--c-danger)}.step-skipped,.step-pending{border-left-color:var(--c-border)}.step summary,.group summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.step-name{text-transform:capitalize;min-width:70px;font-weight:700}.io{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.json{background:var(--c-surface-alt);border:1px solid var(--c-border);border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;margin:0;padding:8px;overflow:auto}.groups{padding:0;list-style:none}.group-title{font-weight:700}.group>button{margin-top:8px}.outbox{margin:8px 0 0;padding:0;list-style:none}.outbox-item{border:1px solid var(--c-border);border-radius:var(--radius);margin-bottom:8px;padding:8px 10px}.attempts{margin:4px 0;padding-left:20px;font-size:.85rem}.attempt-timeout,.attempt-server-error{color:var(--c-warning)}.attempt-rejected{color:var(--c-danger)}.attempt-duplicate,.attempt-accepted{color:var(--c-success)}.mapping select{max-width:180px}.rule-list{margin:0;padding:0;list-style:none}.rule-list ol{margin:0;padding-left:20px}.rule{overflow-wrap:anywhere;margin-bottom:4px}.rule code{background:var(--c-surface-alt);border-radius:3px;padding:1px 4px}.rule-local code{border:1px solid var(--c-accent)}.evidence{font-style:italic}.guide{background:var(--c-surface);border:1px solid var(--c-accent);border-radius:var(--radius);padding:var(--pad);margin-bottom:var(--gap);max-width:760px}.guide-head{justify-content:space-between;align-items:center;display:flex}.guide-problem{color:var(--c-text-muted)}.dialog{border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);width:100%;max-width:min(640px,100vw - 32px);color:var(--c-text);padding:0}.dialog::backdrop{background:#00000073}.dialog-head{border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.dialog-head h2{margin:0}.dialog-body{padding:12px 16px 16px}@media (max-width:1100px){.review-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.queue{grid-column:1/-1;max-height:180px}}@media (max-width:800px){.review-grid,.split,.split-even,.io{grid-template-columns:minmax(0,1fr)}.source-panel{position:static}.queue{display:none}.source{max-height:50vh}.topbar-controls{width:100%}.table th,.table td{padding:5px 6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
