:root{color-scheme:light dark;font-family:system-ui,sans-serif;line-height:1.5;--panel-bg: #ffffff;--panel-border: #d0d7de;--text: #1f2328;--accent: #3b6ea5;--ok: #1a7f37;--warn: #9a6700;--err: #cf222e;--muted: #57606a}@media (prefers-color-scheme: dark){:root{--panel-bg: #161b22;--panel-border: #30363d;--text: #e6edf3;--accent: #7fa8d1;--ok: #3fb950;--warn: #d29922;--err: #f85149;--muted: #8b949e}}*{box-sizing:border-box}body{margin:0;background:#f6f8fa;color:var(--text)}@media (prefers-color-scheme: dark){body{background:#0d1117}}.workspace{max-width:1400px;margin:0 auto;padding:1rem}.workspace-header h1{margin:0 0 .25rem;font-size:1.4rem}.tagline{margin:0 0 1rem;color:var(--text);opacity:.8}.layout{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:1rem;align-items:start}@media (max-width: 900px){.layout{grid-template-columns:1fr}}.left-column{min-width:0}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;padding:1rem;margin:0 0 1rem;min-height:80px}fieldset{border:none;padding:0;margin:0 0 1rem}legend h2,.panel h2{margin:0 0 .75rem;font-size:1.1rem}.field{margin-bottom:.75rem;display:flex;flex-direction:column}.field label{font-weight:600;margin-bottom:.25rem}.field-row{display:flex;gap:.5rem}.field-row input{flex:1;min-width:0}.field-row button{white-space:nowrap}.field-note{font-size:.85rem;color:var(--muted)}.hint-warn{color:var(--warn)}input,select,textarea,button{font:inherit;color:inherit;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:6px;padding:.45rem .6rem}input:disabled{opacity:.5}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button[type=submit]{width:100%;cursor:pointer}button[type=submit]:disabled{opacity:.6;cursor:wait}.status-banner{margin:.75rem 0 0;padding:.5rem .6rem;border-radius:6px;min-height:2.4rem;border:1px solid var(--panel-border)}.status-loading{border-color:var(--accent)}.status-error{border-color:var(--err);color:var(--err)}.status-success{border-color:var(--ok)}.frozen-note{font-size:.9rem;padding:.4rem .6rem;border-radius:6px;background:color-mix(in srgb,var(--accent) 10%,transparent)}.param-errors{color:var(--err);font-weight:600;font-size:.9rem}.badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.85rem;font-weight:600}.badge-ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.badge-warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.badge-err{background:color-mix(in srgb,var(--err) 14%,transparent);color:var(--err)}.badge-neutral{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.badge-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .75rem}.explainer-panel{max-width:1400px}.explainer-panel h3{margin:1.25rem 0 .5rem;font-size:1rem}.explainer-panel ol{margin:.5rem 0 .75rem 1.25rem}.explainer-panel code{background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:4px;padding:.1rem .35rem}.explainer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;margin:.5rem 0 .75rem}.explainer-card{border:1px solid var(--panel-border);border-radius:8px;padding:.75rem .9rem}.explainer-card h4{margin:0 0 .4rem;font-size:.95rem;color:var(--accent)}.explainer-card p{margin:0;font-size:.92rem}.result-panel{border-left:4px solid var(--accent)}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:0}.result-grid dt{font-weight:600;font-size:.85rem;color:var(--muted)}.result-grid dd{margin:0;font-variant-numeric:tabular-nums}.truth-note{font-size:.85rem;color:var(--muted);margin:.5rem 0 0}figure{margin:0}figcaption{font-size:.85rem;color:var(--muted);margin-top:.5rem}.method-panel p{font-size:.92rem}.method-panel strong{font-variant-numeric:tabular-nums}.parse-panel .truth-note{margin:0 0 .75rem}.parse-error{color:var(--err)}.parse-unavailable{color:var(--muted)}.parse-result{margin-top:.75rem}.mismatch-box{padding:.5rem .75rem;border-radius:6px;background:color-mix(in srgb,var(--err) 10%,transparent);color:var(--err);margin:.5rem 0}.mismatch-box ul{margin:.25rem 0;padding-left:1.25rem}.spec-preview{background:color-mix(in srgb,var(--panel-border) 25%,transparent);border-radius:6px;padding:.5rem .75rem;font-size:.85rem;overflow-x:auto}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
