:root{--color-canvas: #f6f3ed;--color-canvas-raised: #ffffff;--color-ink: #172033;--color-ink-muted: #4a5468;--color-accent: #7657d5;--color-accent-ink: #ffffff;--color-support: #183153;--color-border: #d8d2c4;--color-critical: #a3242f;--color-error: #b3401f;--color-warning: #8a5a00;--color-info: #1c5a8a;--color-success: #1e6b45;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--radius-control: 8px;--motion-fast: .12s;--motion-base: .2s;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--measure: 72ch}@media (prefers-reduced-motion: reduce){:root{--motion-fast: 0ms;--motion-base: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.2;margin:0 0 var(--space-3)}p{margin:0 0 var(--space-3);max-width:var(--measure)}code,pre,textarea.code{font-family:var(--font-mono)}a{color:var(--color-accent)}.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-ink);color:#fff;padding:var(--space-2) var(--space-4);z-index:100}.skip-link:focus{left:var(--space-4);top:var(--space-4)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-control)}.app-shell{max-width:1180px;margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-8)}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;flex-wrap:wrap}.top-bar .brand{font-weight:700;font-size:1.1rem}.privacy-pill{display:inline-flex;align-items:center;gap:var(--space-1);border:1px solid var(--color-border);border-radius:999px;padding:var(--space-1) var(--space-3);font-size:.85rem;color:var(--color-support);background:var(--color-canvas-raised)}.hero{padding:var(--space-8) 0 var(--space-6);border-bottom:1px solid var(--color-border)}.hero h1{font-size:clamp(1.8rem,3.2vw,2.6rem);max-width:20ch}.hero .lede{font-size:1.05rem;color:var(--color-ink-muted);max-width:60ch}.button{font:inherit;font-weight:600;border-radius:var(--radius-control);border:1px solid transparent;padding:var(--space-3) var(--space-4);cursor:pointer;transition:transform var(--motion-fast) ease,background var(--motion-fast) ease}.button:disabled{cursor:not-allowed;opacity:.6}.button-primary{background:var(--color-accent);color:var(--color-accent-ink)}.button-primary:hover:not(:disabled){transform:translateY(-1px)}.button-secondary{background:var(--color-canvas-raised);color:var(--color-ink);border-color:var(--color-border)}.button-danger{background:transparent;color:var(--color-critical);border-color:var(--color-critical)}.button-small{padding:var(--space-1) var(--space-3);font-size:.85rem}section{padding:var(--space-8) 0}section+section{border-top:1px solid var(--color-border)}.section-heading{font-size:1.4rem;margin-bottom:var(--space-4)}.workbench-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width: 900px){.workbench-grid{grid-template-columns:2fr 3fr;align-items:start}}.panel{background:var(--color-canvas-raised);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:var(--space-6)}.field{margin-bottom:var(--space-4)}.field label{display:block;font-weight:600;margin-bottom:var(--space-2)}select,textarea,input[type=text]{font:inherit;width:100%;border:1px solid var(--color-border);border-radius:var(--radius-control);padding:var(--space-3);background:var(--color-canvas);color:var(--color-ink)}textarea.code{min-height:320px;font-size:.85rem;resize:vertical;tab-size:2}.field-hint{font-size:.85rem;color:var(--color-ink-muted);margin-top:var(--space-1)}.field-error{color:var(--color-critical);font-size:.85rem;margin-top:var(--space-1)}.field-error ul{margin:var(--space-1) 0 0;padding-left:1.2em}.state-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:999px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.state-badge--info{background:color-mix(in srgb,var(--color-info) 15%,white);color:var(--color-info)}.state-badge--warning{background:color-mix(in srgb,var(--color-warning) 15%,white);color:var(--color-warning)}.state-badge--error{background:color-mix(in srgb,var(--color-error) 15%,white);color:var(--color-error)}.state-badge--critical{background:color-mix(in srgb,var(--color-critical) 15%,white);color:var(--color-critical)}.state-badge--success{background:color-mix(in srgb,var(--color-success) 15%,white);color:var(--color-success)}.action-row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.coverage-meter{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.coverage-meter .bar-track{flex:1;height:10px;border-radius:999px;background:var(--color-border);overflow:hidden}.coverage-meter .bar-fill{height:100%;background:var(--color-accent);transition:width var(--motion-base) ease}.coverage-meter .bar-value{font-weight:700;min-width:4ch;text-align:right}.operation-card{border:1px solid var(--color-border);border-radius:var(--radius-control);margin-bottom:var(--space-4)}.operation-card>summary{cursor:pointer;padding:var(--space-4);display:flex;align-items:center;gap:var(--space-3);font-weight:600;list-style:none}.operation-card>summary::-webkit-details-marker{display:none}.operation-card>summary .method{font-family:var(--font-mono);background:var(--color-support);color:#fff;padding:2px var(--space-2);border-radius:4px;font-size:.8rem}.operation-card .card-body{padding:0 var(--space-4) var(--space-4)}.case-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.case-row{border:1px solid var(--color-border);border-radius:var(--radius-control);padding:var(--space-3)}.case-row-header{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.case-row-header .status-code{font-family:var(--font-mono);font-weight:700}.case-row .rationale{color:var(--color-ink-muted);font-size:.9rem;margin:var(--space-2) 0}.case-editor{margin-top:var(--space-3);border-top:1px dashed var(--color-border);padding-top:var(--space-3)}.case-editor textarea{min-height:90px}.checkbox-row{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0}.checkbox-row input{width:auto}pre.example{background:var(--color-ink);color:var(--color-canvas);padding:var(--space-3);border-radius:var(--radius-control);overflow-x:auto;font-size:.8rem}table.coverage-table,table.a11y-table{width:100%;border-collapse:collapse;margin-top:var(--space-3);font-size:.9rem}table.coverage-table caption{text-align:left;color:var(--color-ink-muted);margin-bottom:var(--space-2)}table.coverage-table th,table.coverage-table td,table.a11y-table th,table.a11y-table td{border:1px solid var(--color-border);padding:var(--space-2);text-align:left}.findings-list{list-style:none;padding:0;margin:0 0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.findings-list li{border-left:4px solid var(--color-border);padding:var(--space-2) var(--space-3);background:var(--color-canvas)}.findings-list li.severity-critical{border-color:var(--color-critical)}.findings-list li.severity-error{border-color:var(--color-error)}.findings-list li.severity-warning{border-color:var(--color-warning)}.findings-list li.severity-info{border-color:var(--color-info)}.empty-state{padding:var(--space-6);text-align:center;color:var(--color-ink-muted);border:1px dashed var(--color-border);border-radius:var(--radius-control)}footer.site-footer{padding:var(--space-8) 0 var(--space-4);color:var(--color-ink-muted);font-size:.9rem}.wireframe-columns{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width: 900px){.wireframe-columns{grid-template-columns:1fr 1fr}}.demo-list{padding-left:1.2em}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
