/* v87 — adaptive desktop workbench. Each step uses space according to the task. */
:root{--cvb-v87-shell:1380px;--cvb-v87-gap:14px}
@media(min-width:1121px){
  .workspace:not(.start-mode){max-width:var(--cvb-v87-shell)!important;margin:14px auto!important;gap:var(--cvb-v87-gap)!important;align-items:start}
  .workspace:not(.start-mode).v87-two-pane{grid-template-columns:minmax(0,2.22fr) minmax(285px,1fr)!important}
  .workspace:not(.start-mode).v87-three-pane{grid-template-columns:minmax(210px,.72fr) minmax(430px,1.58fr) minmax(285px,1fr)!important}
  .workspace:not(.start-mode) .editor{grid-column:auto!important;max-width:none!important;width:auto!important}
  .workspace:not(.start-mode) .preview-area{grid-column:auto!important;width:auto!important;max-width:none!important;padding:11px 10px 14px!important;position:sticky;top:8px}
  .workspace:not(.start-mode) .preview-scroll{max-height:calc(100vh - 104px)!important;padding:0!important;display:flex;justify-content:center}
  .workspace:not(.start-mode) .preview-scroll .resume{transform:scale(.61)!important;transform-origin:top center!important;margin-top:0!important;margin-bottom:-116mm!important}
  .workspace:not(.start-mode) .preview-bar{margin-bottom:7px!important}
  .workspace:not(.start-mode) .preview-bar p{font-size:13px!important}
  .workspace:not(.start-mode) .print-tip{display:none!important}
  .workspace.v87-three-pane .editor{padding:16px 17px!important}
  .workspace.v87-two-pane .editor{padding:18px 20px!important}
}

.v87-context-rail{display:none;min-width:0;background:#fff;border:1px solid #d8e0e8;border-radius:12px;box-shadow:0 5px 18px rgba(20,45,72,.045);padding:12px;position:sticky;top:8px;max-height:calc(100vh - 98px);overflow:auto}
.v87-three-pane .v87-context-rail{display:block}
.v87-context-head{display:flex;align-items:center;gap:8px;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid #e5eaf0}
.v87-ai-mark{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#fff8e7;border:1px solid #e8c878;color:#8d6511;font-weight:900}
.v87-context-head b{font-size:12.5px;color:#17385e}.v87-context-head small{display:block;font-size:9.5px;color:#6e7f91;margin-top:1px}
.v87-context-copy{font-size:10.8px;line-height:1.4;color:#5c6f82;margin:0 0 9px}
.v87-context-actions{display:grid;gap:6px;margin-bottom:10px}
.v87-context-actions button,.v87-duty-card button,.v87-skill-chip{min-height:30px!important;padding:6px 8px!important;font-size:10.5px!important;border-radius:7px!important}
.v87-context-actions .primary{background:#173f6d!important;border-color:#173f6d!important;box-shadow:none!important}
.v87-rail-section-title{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#8a6b21;font-weight:800;margin:11px 0 6px}
.v87-duty-list{display:grid;gap:6px}.v87-duty-card{border:1px solid #e0e6ed;background:#fafbfd;border-radius:8px;padding:7px 8px}.v87-duty-card p{font-size:10.5px;line-height:1.36;color:#24384e;margin:0 0 6px}.v87-duty-card button{width:100%;background:#fff8e7;border-color:#e7c87b;color:#6e5319;font-weight:700}
.v87-skill-list{display:flex;flex-wrap:wrap;gap:5px}.v87-skill-chip{background:#f7f9fc;border:1px solid #dce4ec;color:#29445f;cursor:pointer}.v87-skill-chip:hover{border-color:#d0aa50;background:#fff8e7}
.v87-rail-empty{font-size:10.5px;line-height:1.4;color:#758496;background:#f8fafc;border:1px dashed #d8e1ea;border-radius:8px;padding:9px}
.v87-rail-note{font-size:9.5px;line-height:1.35;color:#7b8793;margin-top:8px}

@media(max-width:1120px){.v87-context-rail{display:none!important}.workspace:not(.start-mode){grid-template-columns:minmax(350px,1.55fr) minmax(260px,1fr)!important}.workspace:not(.start-mode) .preview-scroll .resume{transform:scale(.70)!important;margin-bottom:-88mm!important}}
@media(max-width:900px){.workspace:not(.start-mode){display:block!important}.workspace:not(.start-mode) .preview-scroll .resume{transform:none!important;margin-bottom:0!important}.v87-context-rail{display:none!important}}
