.psnv-workspace { display:grid; gap:16px; min-width:0; }
.psnv-intro { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.psnv-intro h2 { margin:2px 0 6px; }
.psnv-intro p { margin:0; max-width:72ch; }
.psnv-mode { display:flex; padding:3px; border:1px solid var(--border); border-radius:8px; background:var(--surface-subtle); }
.psnv-mode button { border:0; background:transparent; padding:9px 12px; border-radius:6px; color:var(--text-muted); font-weight:700; }
.psnv-mode button.active { background:var(--surface); color:var(--primary); box-shadow:0 1px 3px rgb(15 35 65 / .16); }
.psnv-inputs { display:grid; grid-template-columns:minmax(180px,1fr) minmax(240px,2fr); gap:14px; padding:16px; }
.psnv-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:16px; }
.psnv-result { display:grid; gap:14px; text-align:left; padding:16px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); min-width:0; }
.psnv-result:hover { border-color:var(--primary); }
.psnv-result.selected { border:2px solid var(--primary); padding:15px; box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent); }
.psnv-result > span:first-child { display:grid; gap:4px; }
.psnv-result small { color:var(--text-muted); }
.psnv-original { display:flex; justify-content:space-between; align-items:end; }
.psnv-original strong { font-size:1.25rem; }
.psnv-roles { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.psnv-roles span { display:grid; gap:2px; padding:8px; background:var(--surface-subtle); border-radius:6px; text-align:center; }
.psnv-decision { display:grid; gap:12px; padding:16px; }
.psnv-decision textarea { min-height:92px; }
.psnv-info,
.psnv-warning { display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border-left:4px solid var(--primary); background:var(--surface-subtle); }
.psnv-info { flex-direction:column; }
.psnv-warning { margin:0 16px 16px; border-color:var(--danger); background:var(--danger-soft); flex-direction:column; }
.psnv-actions { display:flex; justify-content:flex-end; gap:10px; padding:0 16px 16px; }
.psnv-history > div { display:grid; }
.psnv-history article { display:grid; grid-template-columns:minmax(130px,.7fr) minmax(260px,2fr) minmax(150px,1fr); gap:14px; padding:14px 16px; border-top:1px solid var(--border); }
.psnv-history article span { display:grid; gap:3px; }
.psnv-reference summary { cursor:pointer; font-weight:800; padding:16px; }
.psnv-reference-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0 16px 16px; }
.psnv-reference-grid article { display:grid; grid-template-columns:minmax(130px,1fr) repeat(3,minmax(55px,.5fr)); gap:8px; align-items:center; padding:10px; border:1px solid var(--border); border-radius:6px; }
.psnv-reference-grid span { display:grid; text-align:center; }
.psnv-result:focus-visible,
.psnv-mode button:focus-visible,
.psnv-reference summary:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }

@media (max-width:900px) {
  .psnv-results { grid-template-columns:1fr; }
  .psnv-reference-grid { grid-template-columns:1fr; }
}

@media (max-width:640px) {
  .psnv-intro { flex-direction:column; align-items:stretch; }
  .psnv-intro > .badge { align-self:flex-start; }
  .psnv-workspace .panel-header { align-items:stretch; flex-direction:column; }
  .psnv-mode { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .psnv-mode button { padding-inline:6px; white-space:normal; }
  .psnv-mode button:last-child { grid-column:1/-1; }
  .psnv-inputs { grid-template-columns:1fr; }
  .psnv-history article { grid-template-columns:1fr; }
  .psnv-actions { position:sticky; bottom:0; background:var(--surface); padding-top:12px; flex-direction:column-reverse; }
  .psnv-actions button { width:100%; min-height:48px; }
  .psnv-reference-grid article { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .psnv-reference-grid article > strong { grid-column:1/-1; }
}
