/* Rave's existing palette and typography, arranged for inspecting evidence. */
.workbench-page { --wb-muted: var(--text-dim); min-width: 320px; }
.workbench-header { display:flex; align-items:center; gap:2rem; min-height:72px; padding:1rem 2rem; border-bottom:1px solid var(--border); }
.workbench-location { font-size:.9rem; color:var(--wb-muted); }
.workbench-header-actions { margin-left:auto; display:flex; align-items:center; gap:1.5rem; font-size:.85rem; }
.workbench-shell { display:grid; grid-template-columns:250px minmax(0,1fr); max-width:1500px; margin:auto; }
.workbench-sidebar { border-right:1px solid var(--border); padding:2.2rem 1.4rem; }
.sidebar-intro h1 { font-size:1.35rem; line-height:1.2; letter-spacing:-.025em; margin:.6rem 0 .75rem; }
.sidebar-intro p:not(.workbench-kicker), .local-note p { color:var(--wb-muted); font-size:.83rem; line-height:1.65; }
.workbench-kicker { color:var(--accent); font-family:"SF Mono",Menlo,monospace; font-size:.69rem; letter-spacing:.06em; text-transform:uppercase; }
.demo-list { display:grid; gap:.25rem; margin:1.5rem -.65rem 2rem; }
.demo-button { display:block; text-align:left; width:100%; border:1px solid transparent; border-left:2px solid transparent; border-radius:0 5px 5px 0; background:none; color:var(--text); padding:.8rem .75rem; cursor:pointer; }
.demo-button strong { display:block; font-size:.9rem; font-weight:550; margin-bottom:.3rem; }
.demo-button span { display:block; color:var(--wb-muted); font-size:.76rem; line-height:1.5; }
.demo-button[aria-pressed="true"] { border-left-color:var(--accent); background:var(--accent-ghost); }
.demo-button:hover { background:var(--bg-hover); }
.local-files { border-top:1px solid var(--border); padding-top:1.4rem; }
.local-files h2,.local-note h2 { font-size:.82rem; font-weight:600; margin-bottom:.8rem; }
.workbench-file-button { display:block; position:relative; overflow:hidden; border:1px solid var(--accent); border-radius:5px; background:var(--accent); color:#141414; font-size:.86rem; font-weight:650; text-align:center; padding:.65rem; margin-bottom:.6rem; cursor:pointer; }
.workbench-file-button.secondary { border-color:var(--border-strong); color:var(--text); background:transparent; }
.workbench-file-button:has(input:disabled) { opacity:.5; cursor:default; }
.workbench-file-button input { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; }
.workbench-file-button:focus-within { outline:2px solid var(--text); outline-offset:3px; }
.file-label { font-size:.72rem; line-height:1.5; color:var(--wb-muted); overflow-wrap:anywhere; margin:.8rem 0; }
.workbench-text-button { background:transparent; color:var(--wb-muted); border:0; cursor:pointer; font:inherit; font-size:.8rem; text-decoration:underline; text-underline-offset:3px; }
.workbench-text-button:hover { color:var(--text); }
.local-note { border-top:1px solid var(--border); margin-top:1.5rem; padding-top:1.5rem; }
.local-note p+p { margin-top:.8rem; }
.workbench-preview { margin-top:2rem; color:var(--wb-muted); font-size:.74rem; line-height:1.6; }
.workbench-review { min-width:0; padding:2.3rem 3rem 4rem; outline:none; }
.workbench-status { font-size:.79rem; color:var(--wb-muted); min-height:1.5rem; margin-bottom:1.2rem; }
.review-heading { display:flex; align-items:flex-start; gap:1.5rem; justify-content:space-between; }
.review-heading h2 { font-size:clamp(1.7rem,3vw,2.55rem); letter-spacing:-.04em; line-height:1.16; font-weight:600; margin:.7rem 0 .75rem; max-width:24ch; }
.review-heading p:last-child { color:var(--wb-muted); font-size:.86rem; line-height:1.6; }
.workbench-outline-button { background:transparent; border:1px solid var(--border-strong); color:var(--text); border-radius:5px; padding:.65rem .9rem; font:inherit; font-size:.81rem; cursor:pointer; white-space:nowrap; }
.workbench-outline-button:hover { background:var(--bg-hover); }
.review-trust { margin:1.7rem 0; display:flex; align-items:baseline; gap:.8rem; font-size:.77rem; line-height:1.6; padding:.8rem 1rem; border-left:2px solid var(--warn); background:var(--bg-elev); color:var(--wb-muted); }
.review-trust strong { color:var(--warn); font-weight:500; white-space:nowrap; }
.review-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-bottom:1.6rem; margin-bottom:.5rem; border-bottom:1px solid var(--border); }
.review-metrics>div { padding-right:1rem; }
.review-metrics dt { color:var(--wb-muted); font-size:.78rem; margin-bottom:.5rem; }
.review-metrics dd { font-size:1.9rem; letter-spacing:-.06em; font-variant-numeric:tabular-nums; font-weight:500; }
.review-section { padding:1.5rem 0; }
.review-section h3, .coverage-section summary { font-size:1rem; letter-spacing:-.015em; font-weight:600; margin-bottom:1rem; }
.section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.section-note { color:var(--wb-muted); font-size:.78rem; line-height:1.6; margin-bottom:1rem; }
.scope-confirmation { display:flex; align-items:flex-start; gap:.6rem; font-size:.82rem; line-height:1.5; margin-bottom:1rem; }
.scope-confirmation input { margin-top:.3rem; accent-color:var(--accent); }
.comparison-counts { display:flex; gap:2rem; flex-wrap:wrap; margin:.8rem 0 1.1rem; font-size:.85rem; }
.comparison-counts strong { font-family:"SF Mono",Menlo,monospace; font-size:1.3rem; padding-right:.4rem; font-weight:500; }
.comparison-group { margin:.8rem 0; }
.comparison-group summary { font-size:.8rem; cursor:pointer; padding:.4rem 0; }
.comparison-group ul { list-style:none; }
.comparison-group li { color:var(--wb-muted); font-size:.79rem; overflow-wrap:anywhere; padding:.5rem 0 .5rem 1rem; border-left:1px solid var(--border); }
.highlights { display:grid; gap:1rem; }
.highlight { border-left:2px solid var(--border-strong); padding-left:1rem; }
.highlight h4 { font-size:.88rem; font-weight:550; margin-bottom:.35rem; }
.highlight p { color:var(--wb-muted); font-size:.82rem; line-height:1.65; max-width:85ch; }
.highlight button { margin-top:.5rem; }
.review-context { display:grid; grid-template-columns:1.1fr 1fr; gap:2.5rem; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.review-list { padding-left:1.1rem; font-size:.8rem; color:var(--wb-muted); line-height:1.7; }
.review-list li+li { margin-top:.6rem; }
.evidence-search-label { display:block; color:var(--wb-muted); font-size:.77rem; margin-bottom:.5rem; }
#evidence-search { width:100%; padding:.7rem .8rem; border:1px solid var(--border-strong); border-radius:4px; background:var(--bg-elev); color:var(--text); font:inherit; font-size:.83rem; margin-bottom:1rem; }
#evidence-search::placeholder { color:var(--wb-muted); }
.evidence-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.3rem; }
.evidence-list { display:grid; gap:.25rem; max-height:520px; overflow:auto; }
.evidence-button { display:block; width:100%; text-align:left; background:transparent; color:var(--text); padding:.75rem; border:1px solid transparent; border-radius:4px; cursor:pointer; overflow-wrap:anywhere; }
.evidence-button small { display:block; font-family:"SF Mono",Menlo,monospace; font-size:.66rem; color:var(--wb-muted); margin-bottom:.4rem; }
.evidence-button span { display:block; font-size:.8rem; line-height:1.5; }
.evidence-button[aria-pressed="true"] { border-color:var(--border-strong); background:var(--bg-hover); }
.evidence-button:hover { background:var(--bg-elev); }
.evidence-detail { background:var(--bg-elev); border:1px solid var(--border); border-radius:5px; padding:1rem; min-width:0; align-self:start; }
.evidence-detail h4 { font-size:.81rem; line-height:1.5; overflow-wrap:anywhere; font-weight:500; }
.evidence-detail p { color:var(--wb-muted); font-size:.74rem; line-height:1.6; margin:.7rem 0; }
.evidence-detail pre { font-size:.69rem; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; max-height:430px; overflow:auto; margin:0; background:transparent; border:0; padding:0; }
#more-evidence { margin-top:.8rem; }
.coverage-section { border-top:1px solid var(--border); padding-top:1.5rem; }
.coverage-section summary { cursor:pointer; }
.coverage-scroll { overflow:auto; max-height:450px; }
.coverage-scroll table { width:100%; border-collapse:collapse; font-size:.72rem; text-align:left; }
.coverage-scroll th { color:var(--wb-muted); font-weight:500; padding:.6rem; }
.coverage-scroll td { border-top:1px solid var(--border); padding:.7rem .6rem; vertical-align:top; overflow-wrap:anywhere; max-width:380px; }
.coverage-gap { color:var(--warn); }
#workbench-error { border-left:2px solid var(--crit); background:var(--bg-elev); padding:1rem; margin-bottom:1rem; font-size:.86rem; line-height:1.6; }
.empty-review { max-width:50ch; padding:4rem 0; }
.empty-review h2 { font-size:2rem; letter-spacing:-.04em; margin-bottom:1rem; }
.empty-review p { color:var(--wb-muted); line-height:1.7; margin-bottom:1rem; }
.workbench-page button:focus-visible,.workbench-page a:focus-visible,.workbench-page input:focus-visible,.workbench-page summary:focus-visible,.workbench-page pre:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.workbench-page [hidden] { display:none!important; }
[data-theme="light"] .workbench-file-button:not(.secondary) { background:#b93918; border-color:#b93918; color:#fff; }
[data-theme="light"] .workbench-kicker { color:#b93918; }
@media(max-width:1100px) { .workbench-review { padding:2rem; } .review-trust { display:block; } .review-trust strong { display:block; margin-bottom:.2rem; } .review-heading { display:block; } #export-review { margin-top:1rem; } }
@media(max-width:800px) { .workbench-header { padding:1rem; gap:1rem; } .workbench-location { display:none; } .workbench-header-actions { gap:1rem; } .workbench-shell { grid-template-columns:1fr; } .workbench-sidebar { border-right:0; border-bottom:1px solid var(--border); padding:1.5rem; } .sidebar-intro { max-width:50ch; } .demo-list { grid-template-columns:1fr 1fr; margin:1rem -.6rem; } .local-files { display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; } .local-files h2 { flex-basis:100%; margin:0; } .workbench-file-button { padding:.65rem 1rem; } .file-label { flex-basis:100%; margin:0; } .local-note { margin-top:1rem; padding-top:1rem; } .local-note h2 { margin-bottom:.4rem; } .workbench-preview { margin-top:.8rem; } .workbench-review { padding:1.5rem; } .review-context { gap:1.5rem; } }
@media(max-width:540px) { .workbench-header-actions a { display:none; } .review-context,.evidence-layout { grid-template-columns:1fr; gap:0; } .review-metrics dd { font-size:1.55rem; } .review-metrics dt { font-size:.7rem; } .review-heading h2 { font-size:1.85rem; } .evidence-detail { margin-top:1rem; } .comparison-counts { gap:1rem; } }
@media(prefers-reduced-motion:reduce) { .workbench-page,.workbench-page * { scroll-behavior:auto!important; transition:none!important; } }
@media(max-width:800px) {
  .workbench-sidebar { padding:1rem 1.5rem; }
  .sidebar-intro h1 { font-size:1.1rem; margin:.4rem 0; }
  .sidebar-intro p:not(.workbench-kicker) { display:none; }
  .demo-list { margin:.8rem -.6rem; gap:.15rem; }
  .demo-button { padding:.65rem .7rem; min-height:44px; }
  .demo-button strong { font-size:.82rem; margin:0; }
  .demo-button span { display:none; }
  .local-files { padding-top:.8rem; gap:.5rem; }
  .local-files h2 { display:none; }
  .workbench-file-button { font-size:.78rem; margin-bottom:0; padding:.55rem .7rem; }
  .local-note { margin:.6rem 0 0; padding:0; border:0; }
  .local-note h2 { font-size:.72rem; color:var(--wb-muted); font-weight:400; margin:0; }
  .local-note p { display:none; }
  .workbench-preview { font-size:.67rem; margin-top:.4rem; }
}
