/* Reusable-set workflow. Kept entirely inside the Studio namespace. */
.bs-launch{display:grid;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.bs-launch .bs-launch-button{box-sizing:border-box;width:100%;min-height:44px;height:auto;justify-content:center;gap:8px;padding:12px 16px;border-radius:9px;font-size:12px;font-weight:600;line-height:1.4;color:var(--ink-on-accent,#2c2722)}
.bs-launch .bs-launch-button svg{flex-shrink:0;color:currentColor}
.bs-launch .bs-launch-button:hover:not(:disabled){color:var(--ink-on-accent,#2c2722)}
.bs-launch .bs-launch-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.bs-launch .bs-launch-button:disabled{background:var(--bg-3);border-color:var(--line-2);color:var(--txt-2);opacity:.65;cursor:not-allowed}
.bs-launch small{font-size:11px;color:var(--txt-2);line-height:1.45}
.bs-workspace{box-sizing:border-box;width:min(1050px,96vw);max-width:96vw;height:90dvh;max-height:94dvh;padding:0;border:1px solid var(--line-2);border-radius:var(--r-l,14px);background:var(--bg-2,#faf9f6);color:var(--txt-0,#24262b);box-shadow:0 24px 90px #0005;overflow:hidden;font-family:var(--f-ui,system-ui,sans-serif)}
.bs-workspace{position:fixed;inset:0;margin:auto}.bs-workspace[open]{display:flex;flex-direction:column}.bs-workspace::backdrop{background:#171b2466;backdrop-filter:blur(4px)}
.bs-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--bg-3,#fff)}
.bs-workspace-head h2{margin:0;font-family:var(--f-display);font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--txt-0)}.bs-workspace-head p{margin:5px 0 0;font-size:12px;color:var(--txt-2)}
.bs-workspace-content{overflow:auto;min-height:0;padding:20px 24px;overscroll-behavior:contain}.bs-workspace-content>.bs-entry{margin:0;border:0;background:transparent}.bs-workspace .bs-body{border:0;padding:0}
.bs-derived-source{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg-3,#fff);font-size:13px}
.bs-derived-source img{width:160px;max-width:35%;aspect-ratio:16/9;object-fit:contain;border-radius:6px}.bs-derived-source p{margin:6px 0 0;font-size:12px;color:var(--txt-2);line-height:1.5}
.bs-location-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:20px}
.bs-location-choice{display:flex;align-items:center;gap:12px;padding:18px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--bg-3,#fff);color:inherit;cursor:pointer}
.bs-location-choice>span:nth-child(2){flex:1;min-width:0}.bs-location-choice strong,.bs-location-choice small{display:block;overflow-wrap:anywhere}.bs-location-choice small{margin-top:6px;color:var(--txt-2);font-size:11px}.bs-location-choice:disabled{opacity:.55;cursor:not-allowed}.bs-location-choice:not(:disabled):hover{border-color:var(--accent)}
.bs-workspace button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.vn-studio{white-space:nowrap}
@media(max-width:600px){.bs-workspace{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0}.bs-workspace-head{padding:16px}.bs-workspace-content{padding:16px}.bs-location-picker{grid-template-columns:1fr}.bs-derived-source{align-items:flex-start;gap:10px}.bs-derived-source img{width:100px}.vn-studio .vn-cta-lab{display:none}}
.bs-entry{margin:12px 0;overflow:hidden;border:1px solid var(--line,#d7d1c8);border-radius:12px;background:var(--bg-3,#fff);color:var(--txt-0,#24262b);font-family:var(--f-ui,system-ui,sans-serif)}
.bs-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;background:var(--bg-2,#faf9f6)}
.bs-head strong{display:block;font-size:14px;letter-spacing:.01em}.bs-head small{display:block;margin-top:3px;color:var(--txt-1,#51555b);font-size:11px}.bs-head button{flex:0 0 auto}
.bs-body{padding:0 14px 14px;border-top:1px solid var(--line,#d7d1c8)}.bs-disclosure{margin:12px 0 0;padding:9px 10px;border-left:2px solid var(--accent,#7a8b2e);background:var(--bg-2,#faf9f6);color:var(--txt-1,#51555b);font-size:12px;line-height:1.48}
.bs-steps{display:grid;gap:10px;list-style:none;margin:14px 0 0;padding:0}.bs-step{min-width:0;overflow:hidden;border:1px solid var(--line,#d7d1c8);border-radius:9px;background:var(--bg-3,#fff)}
.bs-step-heading{display:flex;align-items:center;gap:10px;padding:11px 12px}.bs-step-number{display:flex;align-items:center;justify-content:center;flex:0 0 23px;width:23px;height:23px;border:1px solid var(--line-2,#d7d1c8);border-radius:50%;background:var(--bg-2,#faf9f6);color:var(--txt-1,#51555b);font:600 11px var(--f-mono,monospace)}
.bs-step-label{display:grid;gap:3px;min-width:0}.bs-step-label strong{font-size:12px;line-height:1.35}.bs-step-label small,.bs-help{color:var(--txt-1,#51555b);font-size:11px;line-height:1.45}.bs-step-body{display:grid;gap:10px;padding:0 12px 12px}.bs-step-body>.bs-help{margin:0}
.bs-setup>summary{cursor:pointer}.bs-setup>summary::-webkit-details-marker{display:none}.bs-setup>summary:hover{background:var(--bg-2,#faf9f6)}.bs-step-chevron{margin-left:auto;color:var(--txt-1,#51555b);font-size:16px;transform:rotate(-90deg)}.bs-setup[open] .bs-step-chevron{transform:rotate(0deg)}
.bs-instructions{margin:0;padding-left:17px;color:var(--txt-1,#51555b);font-size:11px;line-height:1.5}.bs-instructions li+li{margin-top:5px}.bs-actions,.bs-send,.bs-source,.bs-tabs,.bs-state{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.bs-button,.bs-entry button:not(.char-draft-btn){min-height:30px;max-width:100%;padding:6px 10px;border:1px solid var(--line-2,#d7d1c8);border-radius:6px;background:var(--bg-3,#fff);color:var(--txt-0,#24262b);font:600 11px var(--f-ui,system-ui,sans-serif);cursor:pointer}.bs-button:hover,.bs-entry button:not(:disabled):not(.char-draft-btn):hover{border-color:var(--accent,#7a8b2e)}.bs-entry .bs-button.bs-primary{border-color:var(--accent,#7a8b2e);background:var(--accent,#7a8b2e);color:#1b1b1b}.bs-entry button:disabled{opacity:.5;cursor:not-allowed}.bs-entry button:focus-visible,.bs-entry summary:focus-visible,.bs-entry select:focus-visible,.bs-entry textarea:focus-visible,.bs-entry input:focus-visible{outline:2px solid var(--accent,#7a8b2e);outline-offset:2px}
.bs-composer{padding:10px;border-radius:8px;background:var(--bg-2,#faf9f6)}.bs-tabs{border-bottom:1px solid var(--line,#d7d1c8);gap:3px}.bs-tabs button{padding:7px 6px;border:0;border-radius:0;background:transparent}.bs-tabs button.on{border-bottom:2px solid var(--accent,#7a8b2e);font-weight:700}.bs-composer textarea,.bs-source select,.bs-send select{box-sizing:border-box;max-width:100%;border:1px solid var(--line-2,#d7d1c8);border-radius:6px;background:var(--bg-3,#fff);color:var(--txt-0,#24262b);font:11px var(--f-ui,system-ui,sans-serif)}.bs-composer textarea{width:100%;min-height:78px;margin:9px 0;padding:9px;resize:vertical}.bs-source{font-size:11px}.bs-source label,.bs-send label{display:flex;align-items:center;gap:4px}.bs-send{margin-top:9px}.bs-send select{min-width:150px;padding:6px}.bs-warning,.bs-error{margin:9px 0;font-size:12px;line-height:1.45}.bs-warning{color:#805900}.bs-error{color:#a43d38}
.bs-task,.bs-proposal,.bs-library,.bs-history{padding:10px;border-left:3px solid var(--accent,#7a8b2e);background:var(--bg-2,#faf9f6);font-size:12px;line-height:1.45}.bs-task{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.bs-library ul,.bs-history ul{margin:6px 0;padding-left:18px}.bs-library li,.bs-history li{margin:4px 0}.bs-library li button{margin-left:6px}.bs-previews{display:flex;flex-wrap:wrap;gap:8px;font-size:12px}.bs-previews b{width:100%}.bs-previews img{width:150px;max-width:100%;max-height:90px;object-fit:cover;border:1px solid var(--line,#d7d1c8);border-radius:6px}
.bs-details{margin-top:2px;border-top:1px solid var(--line,#d7d1c8)}.bs-details summary{padding:10px 0;cursor:pointer;color:var(--txt-1,#51555b);font-size:11px}.bs-state{padding:0 0 8px;font-size:11px}.bs-state span{padding:3px 7px;border-radius:99px;background:var(--bg-4,#f2f0eb);color:var(--txt-1,#51555b)}.bs-model-diagnostics{margin:0 0 8px;overflow-wrap:anywhere;color:var(--txt-1,#51555b);font:10px var(--f-mono,monospace);line-height:1.5}.bs-loading,.bs-central-error{margin:10px 0;padding:9px 10px;border-radius:7px;background:var(--bg-2,#faf9f6);font-size:12px}.bs-central-error{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid color-mix(in srgb,#a43d38 35%,var(--line,#d7d1c8))}.bs-connection-status{font-size:11px}.bs-connected{color:var(--pos,#397657)}.bs-pair{display:grid;gap:8px}.bs-copy-feedback{font-size:10px;color:var(--txt-1,#51555b)}.bs-manual-copy{box-sizing:border-box;width:100%;min-height:54px;padding:7px;border:1px solid var(--line,#d7d1c8);border-radius:6px;background:var(--bg-3,#fff);color:var(--txt-0,#24262b);font:10px var(--f-mono,monospace);resize:vertical}.bs-connection-note{margin:10px 0 0;color:var(--txt-1,#51555b);font-size:11px}.bs-compact{margin-top:10px}
.bs-pair-code{display:grid;gap:7px;padding:9px;border:1px solid var(--line-2,#d7d1c8);border-radius:7px;background:var(--bg-3,#fff)}
.bs-copy-field{display:grid;grid-template-columns:minmax(72px,125px) minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}
.bs-copy-label{color:var(--txt-2,#686a70);font-size:11px}.bs-copy-field code{min-width:0;overflow-wrap:anywhere;color:var(--txt-0,#24262b);font:11px var(--f-mono,monospace);line-height:1.45;user-select:text}
.bs-entry button.bs-copy-button{min-height:24px;height:24px;min-width:50px;padding:0 8px;border-radius:5px;background:var(--bg-2,#faf9f6);color:var(--txt-1,#51555b);font:600 10px var(--f-ui,system-ui,sans-serif)}
.bs-code-expiry{color:var(--txt-2,#686a70);font:10px var(--f-mono,monospace);overflow-wrap:anywhere}.bs-code-expiry.bs-error{color:#a43d38}
@media (max-width:560px){.bs-head{align-items:flex-start;padding:11px 10px}.bs-body{padding:0 10px 10px}.bs-step-heading{padding:10px}.bs-step-body{padding:0 10px 10px}.bs-actions .bs-button{flex:1 1 145px}.bs-send select{width:100%}.bs-copy-field{grid-template-columns:minmax(0,1fr) auto}.bs-copy-label{grid-column:1/-1}.bs-copy-button{grid-column:2;grid-row:2}}
@media (prefers-reduced-motion:reduce){.bs-entry *{transition:none!important}}
