:root{
  --brace-bg:#f5eee5;
  --brace-card:#ffffff;
  --brace-text:#111827;
  --brace-muted:#64748b;
  --brace-line:rgba(15,23,42,.10);
  --brace-blue:#2563eb;
  --brace-green:#047857;
  --brace-amber:#b45309;
  --brace-red:#b91c1c;
}
*{box-sizing:border-box}
body.brace-lab-page{margin:0;background:var(--brace-bg);color:var(--brace-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.brace-shell{max-width:1080px;margin:0 auto;padding:24px 16px 56px}
.brace-hero{padding:26px 0 8px;text-align:center}
.brace-hero h1{margin:0 0 10px;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.045em}
.brace-hero p{max-width:780px;margin:7px auto;color:#334155;line-height:1.6}
.brace-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0 22px}
.brace-tabs a{display:inline-flex;align-items:center;min-height:42px;padding:9px 15px;border:1px solid var(--brace-line);border-radius:999px;background:#fff;color:#1e3a8a;font-weight:800;text-decoration:none;box-shadow:0 7px 18px rgba(15,23,42,.06)}
.brace-tabs a[aria-current="page"]{background:#111827;color:#fff;border-color:#111827}
.brace-panel{background:var(--brace-card);border:1px solid var(--brace-line);border-radius:18px;padding:20px;margin:14px 0;box-shadow:0 12px 28px rgba(15,23,42,.08)}
.brace-panel h2{margin:0 0 12px;font-size:1.35rem}
.brace-status-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.brace-status{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff7ed;color:var(--brace-amber);font-weight:900;border:1px solid rgba(180,83,9,.20)}
.brace-status::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(180,83,9,.12)}
.brace-updated{color:var(--brace-muted);font-size:.92rem}
.brace-progress-track{height:14px;margin:14px 0 8px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.brace-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#2563eb,#0ea5e9);border-radius:inherit;transition:width .45s ease}
.brace-progress-copy{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#475569;font-size:.94rem}
.brace-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.brace-metric{min-width:0;border:1px solid var(--brace-line);border-radius:14px;padding:15px;background:#f8fafc}
.brace-metric small{display:block;color:var(--brace-muted);font-size:.75rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.brace-metric strong{display:block;margin-top:5px;font-size:1.45rem;letter-spacing:-.025em}
.brace-metric span{display:block;margin-top:4px;color:#475569;font-size:.84rem}
.brace-table-wrap{overflow-x:auto}
.brace-table{width:100%;border-collapse:collapse;font-size:.94rem}
.brace-table th,.brace-table td{padding:11px 10px;border-bottom:1px solid var(--brace-line);text-align:right;white-space:nowrap}
.brace-table th:first-child,.brace-table td:first-child{text-align:left}
.brace-table th{color:#475569;background:#f8fafc}
.brace-sealed{border-left:5px solid var(--brace-blue);background:#eff6ff}
.brace-sealed strong{color:#1d4ed8}
.brace-gate-pass{color:var(--brace-green)}
.brace-gate-fail{color:var(--brace-amber)}
.brace-boundary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}
.brace-boundary li{padding:10px 12px;border:1px solid rgba(4,120,87,.16);border-radius:11px;background:#ecfdf5;color:#065f46;font-weight:700}
.brace-note{color:#475569;line-height:1.6}
.brace-error{display:none;border-color:rgba(185,28,28,.25);background:#fef2f2;color:var(--brace-red)}
.brace-error.is-visible{display:block}
.brace-footer{margin-top:24px;color:#64748b;font-size:.85rem;line-height:1.55;text-align:center}
.brace-skeleton{opacity:.55}
@media(max-width:850px){.brace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.brace-shell{padding:18px 12px 42px}.brace-panel{padding:16px}.brace-grid{grid-template-columns:1fr}.brace-boundary{grid-template-columns:1fr}.brace-progress-copy{display:block}.brace-progress-copy span{display:block;margin:4px 0}.brace-table{font-size:.86rem}}
@media(prefers-reduced-motion:reduce){.brace-progress-bar{transition:none}}
