/* The shared workspace owns panel width and drawer behavior. */
.builder-ui{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:8px 14px 24px;touch-action:pan-y;min-height:0;scrollbar-gutter:stable;line-height:1.5}
.builder-ui>*{flex-shrink:0}
.builder-ui button{min-height:44px;touch-action:manipulation}
.builder-ui .secondary{font-size:.78rem;padding:5px 8px}
.builder-ui button:disabled{opacity:.46}
.builder-ui button:focus-visible,.builder-ui select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.builder-history{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin:0 0 5px}
.builder-summary{display:grid;gap:0;padding:4px 9px;border-radius:9px;background:var(--soft);border:1px solid var(--line);margin:0 0 5px}
.builder-summary strong{font-size:.9rem;overflow-wrap:anywhere}
.builder-summary span{font-size:.7rem;color:var(--muted)}
.builder-summary.incomplete{border-color:#d6b778;background:#fff8e9}
.builder-summary.incomplete span{color:#875e23}
.builder-tabs{position:sticky;top:-8px;z-index:2;display:grid;grid-template-columns:1fr 1.15fr .7fr;gap:3px;padding:3px 0 5px;background:var(--panel);border-bottom:1px solid var(--line);margin-bottom:6px}
.builder-tabs button{font-size:.76rem;white-space:nowrap;padding:4px 5px;background:var(--button);border:1px solid transparent}
.builder-tabs button[aria-selected=true]{background:var(--soft);border-color:var(--accent);color:var(--accent);font-weight:650}
.builder-field{display:grid;gap:4px;font-size:.76rem;color:var(--muted);margin:6px 0}
.builder-field input,.builder-field select{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);background:var(--button);color:var(--text);border-radius:8px;font:inherit;font-size:16px;padding:8px 10px}
.builder-atom-field{margin:0 0 3px}
.builder-valence{display:flex;align-items:center;gap:5px;font-size:.7rem;color:var(--muted);margin:0 0 5px;line-height:1.5}
.builder-valence strong{font-weight:600;color:var(--text)}
.builder-valence span{margin-left:auto}
.builder-section{padding:10px 0;border-top:1px solid var(--line)}
.builder-section h3{font-size:.85rem;margin-bottom:8px}
.builder-draft-section{border-top:0;padding-top:0}
.builder-palette-label{font-size:.76rem;color:var(--muted);margin:0 0 3px}
.builder-elements{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.builder-elements button{display:flex;flex-direction:column;gap:0;min-height:44px;border:1px solid var(--line);background:var(--button);padding:3px 0}
.builder-elements strong{font-size:1.02rem;line-height:1.1}
.builder-elements span{font-size:.63rem;color:var(--muted);line-height:1.4}
.builder-elements button[aria-pressed=true],.builder-orders button[aria-pressed=true]{border-color:var(--accent);background:var(--soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.builder-elements button[aria-pressed=true] span{color:var(--accent)}
.builder-orders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:4px 0}
.builder-orders button{padding:5px 3px;border:1px solid var(--line);background:var(--button);font-size:.76rem;gap:3px}
.builder-orders button strong{font-size:1rem}
.builder-orders button[aria-pressed=true]:disabled{opacity:1;cursor:default}
.builder-add{font-size:.85rem;padding:6px 8px;margin:0;min-height:46px!important}
.builder-replace{margin-top:8px}
.builder-small{font-size:.72rem!important;line-height:1.6;color:var(--muted);margin:6px 0;overflow-wrap:anywhere}
.builder-hydrogens,.builder-files,.builder-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:7px 0}
.builder-delete{font-size:.76rem;color:#a35542;border:1px solid #dfc3ba;margin-top:8px;padding:6px}
.builder-delete:disabled{color:var(--muted);border-color:var(--line)}
.builder-rotate{font-size:.82rem;margin:6px 0}
.builder-message{font-size:.75rem;padding:8px 10px;border-radius:7px;background:var(--soft);color:var(--accent);line-height:1.6;margin:7px 0}
.builder-warning{background:#fff8e9;color:#875e23;border:1px solid #d6b778}
.projection .builder-summary.incomplete,.projection .builder-warning{background:#4b4536;border-color:#99825c}
.projection .builder-summary.incomplete span,.projection .builder-warning{color:#ffda90}
.projection .builder-delete{color:#ffc9b9;border-color:#866c61}
.projection .builder-delete:disabled{color:var(--muted);border-color:var(--line)}
.projection .builder-small{font-size:.76rem!important}
@media(max-width:550px){.builder-ui{padding:8px 12px 24px}.builder-summary strong{font-size:.95rem}.builder-small{font-size:.77rem!important}}
