.postcopy-lab{margin:22px 0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--paper,#fff);min-width:0}
.postcopy-lab [hidden]{display:none!important}
.postcopy-lab .mechanism-view-heading{align-items:flex-start}
.postcopy-controls{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0;align-items:end}
.postcopy-controls label{display:grid;gap:5px;font-size:13px;font-weight:600;min-width:0;flex:1 1 200px}
.postcopy-controls select{width:100%;max-width:100%;min-height:38px;padding:6px 30px 6px 10px}
.postcopy-actions{display:flex;flex-wrap:wrap;gap:7px}
.postcopy-actions:last-child{flex-basis:100%}
.postcopy-lab button{font:inherit;font-size:13px;line-height:1.5;padding:7px 11px;border:1px solid var(--line);border-radius:7px;background:var(--paper,#fff);color:var(--ink);cursor:pointer;min-height:38px}
.postcopy-lab button:hover{background:var(--wash,#edf6f4);color:var(--brand,#007f7a);border-color:var(--brand,#007f7a)}
.postcopy-lab button:focus-visible,.postcopy-lab select:focus-visible{outline:2px solid var(--brand,#007f7a);outline-offset:3px}
.postcopy-lab .postcopy-status{font-size:14px;line-height:1.7;background:var(--wash,#edf6f4);border-radius:7px;padding:10px 12px;margin:12px 0;min-height:3.4em}
.postcopy-lab[data-rejected=true] .postcopy-status{background:#fff4e4;color:#795319}
.postcopy-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;list-style:none;margin:15px 0!important;padding:0!important}
.postcopy-phases li{margin:0!important;padding:7px 5px;border:1px solid var(--line);border-radius:5px;text-align:center;font-size:11px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.postcopy-phases li[aria-current=step]{background:#e0efea;border-color:#9bbfb2;color:#245b4d;font-weight:600}
.postcopy-hosts{display:grid;grid-template-columns:minmax(0,1fr) minmax(155px,.75fr) minmax(0,1fr);gap:10px;align-items:start}
.postcopy-host{min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px}
.postcopy-lab h4{font-size:14px;line-height:1.6;margin:0 0 8px}
.postcopy-lab h5{font:12px/1.7 var(--mono,monospace);margin:13px 0 5px;overflow-wrap:anywhere}
.postcopy-host .postcopy-cpu{font-size:11px;line-height:1.7;margin:6px 0 10px;min-height:3.4em;color:var(--muted)}
.postcopy-lab[data-blocked=true] [data-postcopy-destination-cpu]{color:#946424}
.postcopy-pages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.postcopy-page{padding:5px 2px;border:1px solid #adc9c0;border-radius:5px;background:#edf6f1;text-align:center;font:13px/1.5 var(--mono,monospace);min-width:0}
.postcopy-page[data-state=missing]{background:#f3f4f4;border-style:dashed;border-color:#a8b3b7;color:#6a777e}
.postcopy-page[data-state=stale]{background:#fff0d9;border-color:#d8b980;color:#835f27}
.postcopy-page[data-selected=true]{outline:2px solid var(--brand,#007f7a);outline-offset:1px}
.postcopy-page small,.postcopy-page strong{display:block}
.postcopy-page small{font:10px/1.6 var(--sans,sans-serif);color:var(--muted)}
.postcopy-bitmap{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px}
.postcopy-bit{border:1px solid var(--line);border-radius:3px;text-align:center;font:11px/1.6 var(--mono,monospace);padding:3px 0}
.postcopy-bit[data-set=true]{background:#e0efea;border-color:#abc8bd;color:#2b6050}
.postcopy-bit small,.postcopy-bit strong{display:block}
.postcopy-bit small{font-size:9px;color:var(--muted)}
.postcopy-host>small{display:block;font-size:10px;line-height:1.7;margin-top:6px;color:var(--muted)}
.postcopy-links{display:grid;gap:10px;padding-top:36px;min-width:0}
.postcopy-link,.postcopy-buffer{padding:10px 8px;border:1px solid var(--line);border-radius:6px;min-width:0;background:#f6f8f8}
.postcopy-link:first-child{border-style:dashed}
.postcopy-link strong,.postcopy-buffer strong{display:block;font-size:11px;line-height:1.7;margin-bottom:5px}
.postcopy-link span,.postcopy-buffer span{display:block;font-size:11px;line-height:1.7;overflow-wrap:anywhere;color:var(--muted)}
.postcopy-buffer[data-ready=true]{background:#e5eff9;border-color:#abc6df}
.postcopy-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.postcopy-records>section{padding:12px;border:1px solid var(--line);border-radius:7px;min-width:0}
.postcopy-records h4{font-size:12px}
.postcopy-records dl{display:grid;grid-template-columns:minmax(86px,.65fr) minmax(0,1fr);gap:5px 8px;margin:0;font-size:11px;line-height:1.7}
.postcopy-records dt,.postcopy-records dd{margin:0;min-width:0;overflow-wrap:anywhere}
.postcopy-records dt{color:var(--muted);font-family:var(--mono,monospace)}
.postcopy-records dd{font-family:var(--mono,monospace)}
.postcopy-lab .postcopy-counters{font-size:12px;color:var(--muted);margin:14px 0}
.postcopy-events{margin:0!important;padding:10px 12px 10px 30px!important;border:1px solid var(--line);border-radius:7px;font-size:12px;line-height:1.7}
.postcopy-events li{margin:0!important;overflow-wrap:anywhere}
.postcopy-lab .postcopy-model-note{font-size:12px;color:var(--muted);line-height:1.75;margin:14px 0 0}
.postcopy-lab.is-expanded{max-width:none;width:100%;margin:0 auto;box-sizing:border-box}
@media(max-width:760px){.postcopy-lab{padding:12px}.postcopy-hosts{grid-template-columns:repeat(2,minmax(0,1fr))}.postcopy-links{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:0}.postcopy-host:last-child{grid-column:2;grid-row:1}.postcopy-host{padding:9px}.postcopy-phases{grid-template-columns:repeat(2,minmax(0,1fr))}.postcopy-records{grid-template-columns:minmax(0,1fr)}.postcopy-records dl{grid-template-columns:minmax(110px,.5fr) minmax(0,1fr)}.postcopy-host .postcopy-cpu{min-height:3.4em}.postcopy-lab .postcopy-status{min-height:0}}
@media(max-width:480px){.postcopy-hosts{grid-template-columns:minmax(0,1fr)}.postcopy-host:last-child{grid-column:1;grid-row:3}.postcopy-links{grid-template-columns:minmax(0,1fr)}.postcopy-link,.postcopy-buffer{padding:8px 10px}.postcopy-link strong,.postcopy-buffer strong{font-size:12px;margin-bottom:2px}.postcopy-pages{gap:6px}.postcopy-host .postcopy-cpu{min-height:0}.postcopy-lab button{font-size:12px;padding:7px 9px}.postcopy-records dl{grid-template-columns:minmax(82px,.5fr) minmax(0,1fr)}.postcopy-lab .postcopy-status{font-size:13px}.postcopy-lab h4{font-size:13px}}
@media(prefers-reduced-motion:reduce){.postcopy-lab *{animation:none!important;transition:none!important}}
@media print{.postcopy-controls{display:none!important}.postcopy-lab{break-inside:auto}}
