.bb-workshop{--bb-line:var(--border);margin-block:1.5rem 3rem}.bb-workshop button,.bb-workshop input,.bb-workshop textarea{font:inherit}.bb-workshop button,.bb-link-button{border:1px solid var(--border-strong);background:var(--surface);min-height:40px;color:var(--text);border-radius:var(--radius);cursor:pointer;padding:.5rem .75rem}.bb-workshop button:hover,.bb-link-button:hover{background:var(--surface-hover);border-color:var(--muted)}.bb-workshop button:focus-visible,.bb-workshop a:focus-visible,.bb-workshop input:focus-visible,.bb-workshop textarea:focus-visible,.bb-workshop summary:focus-visible{outline:2px solid var(--accent-hot);outline-offset:3px}.bb-workshop button:disabled{opacity:.5;cursor:not-allowed}.bb-workshop button[aria-pressed=true],.bb-workshop button[aria-current=step],.bb-workshop .bb-primary{background:var(--accent-soft);border-color:var(--accent);color:var(--text-strong)}.bb-workshop .bb-primary{background:var(--accent)}.bb-workshop input,.bb-workshop textarea{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius);width:100%;min-height:42px;padding:.65rem}.bb-workshop textarea{resize:none;min-height:100px}.bb-workshop .resize-none{resize:none}.bb-workshop label{gap:.4rem;font-size:.85rem;display:grid}.bb-workshop h2,.bb-workshop h3{margin:0}.bb-workshop h2{font-size:1.35rem}.bb-workshop h3{font-size:1.1rem}.bb-workshop p{margin:0}.bb-topline,.bb-actions,.bb-toolbar,.bb-view-controls,.bb-step-heading{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.bb-topline{justify-content:space-between;gap:1rem;margin-bottom:1rem}.bb-topline label{flex:260px;max-width:460px}.bb-actions{justify-content:flex-end}.bb-kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font:600 .75rem var(--display)}.bb-notice{border:1px solid var(--border);background:var(--bg-elevated);flex-wrap:wrap;align-items:center;gap:.8rem;margin-block:.75rem;padding:.8rem 1rem;font-size:.85rem;display:flex}.bb-notice p{flex:300px}.bb-status{min-height:1.7rem;color:var(--muted);overflow-wrap:anywhere;margin-block:.5rem;font-size:.85rem}.bb-status.error{color:var(--warning)}.bb-layout{border:1px solid var(--border);background:var(--bg-elevated)}.bb-inspector{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.5rem;min-width:0;padding:1rem;display:grid}.bb-center{min-width:0}.bb-rule-status{border-bottom:1px solid var(--border);color:var(--muted);padding:.75rem 1rem;font-size:.78rem}.bb-rule-status summary{cursor:pointer;color:var(--text);line-height:1.6}.bb-rule-status summary span{color:var(--muted);margin-left:1rem;display:inline-block}.bb-rule-status>div{gap:.55rem;max-width:78ch;padding-top:.75rem;line-height:1.65;display:grid}.bb-rule-status small{overflow-wrap:anywhere}.bb-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;padding:.75rem}.bb-toolbar button{min-height:36px;font-size:.8rem}.bb-view-controls{gap:.3rem}.bb-viewport{--bb-panel-space:0px;background:radial-gradient(ellipse at 45% 70%, var(--surface-2), var(--bg));height:clamp(560px,72vh,760px);position:relative;overflow:hidden}.bb-viewport.bb-catalogue-open{--bb-panel-space:256px}.bb-canvas-area{inset:0 var(--bb-panel-space) 0 0;position:absolute}.bb-build-panel{z-index:3;border:1px solid var(--border-strong);border-top:2px solid var(--accent);background:var(--bg-elevated);border-radius:var(--radius);flex-direction:column;width:232px;padding:12px;display:flex;position:absolute;top:14px;bottom:14px;right:14px;box-shadow:0 8px 28px #0006}.bb-panel-heading{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.bb-workshop .bb-panel-heading button{background:0 0;width:32px;min-height:32px;padding:0;font-size:1.15rem}.bb-build-panel .bb-grade-options{gap:2px;margin-block:.5rem}.bb-build-panel .bb-grade-options button{min-height:48px;font-size:.6rem}.bb-build-panel .bb-check{font-size:.69rem}.bb-build-panel .bb-material-panel small{color:var(--muted);font-size:.66rem;line-height:1.5}.bb-build-panel .bb-catalogue{flex-direction:column;flex:1;min-height:0;margin-top:.75rem;padding-top:.75rem;display:flex}.bb-build-panel .bb-catalogue-heading{margin-bottom:.5rem}.bb-build-panel .bb-catalogue-heading h2{font-size:1.2rem}.bb-build-panel .bb-catalogue-search input{min-height:38px;font-size:.72rem}.bb-build-panel .bb-catalogue-search button{min-height:32px}.bb-build-panel .bb-catalogue-filters button{min-height:32px;padding:.3rem .5rem;font-size:.69rem}.bb-build-panel .bb-catalogue-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-height:0;max-height:none;margin:0 -2px;padding:2px}.bb-build-panel .bb-catalogue-item{min-height:105px}.bb-build-panel .bb-catalogue-note{flex-shrink:0;font-size:.62rem}.bb-snap-hint{pointer-events:none;width:max-content;max-width:calc(100% - 2rem);color:var(--muted);background:var(--bg-elevated);border:1px solid var(--border);text-align:center;padding:.55rem .8rem;font-size:.75rem;position:absolute;bottom:2.25rem;left:50%;transform:translate(-50%)}.bb-snap-hint.ready{color:var(--success);border-color:var(--success)}.bb-step-conflict{color:var(--warning)!important}.bb-step-conflict button{min-height:32px;margin-left:.4rem;padding:.2rem .5rem;font-size:.75rem}.bb-tool-build canvas{cursor:crosshair}.bb-tool-select canvas{cursor:grab}.bb-tool-remove canvas,.bb-tool-upgrade canvas{cursor:pointer}.bb-scene,.bb-scene canvas{touch-action:none;width:100%;height:100%;display:block}.bb-scene-fallback{text-align:center;position:absolute;inset:40% 10% auto}.bb-viewport-label{pointer-events:none;z-index:1;color:var(--muted);font:.75rem monospace;position:absolute;top:1rem;left:1rem}.bb-legend{color:var(--muted);pointer-events:none;gap:.9rem;font-size:.7rem;display:flex;position:absolute;bottom:.8rem;left:.8rem;right:.8rem}.bb-legend span:before{content:"";background:var(--muted);width:.5rem;height:.5rem;margin-right:.35rem;display:inline-block}.bb-legend .new:before{background:var(--accent-hot)}.bb-legend .snap:before{background:var(--success)}.bb-placement{border-top:1px solid var(--border);gap:.65rem;min-height:142px;padding:1rem;display:grid}.bb-placement-heading,.bb-cost-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.bb-placement small{color:var(--muted);font-size:.75rem}.bb-placement p{color:var(--muted);font-size:.8rem}.bb-placement .bb-actions{justify-content:flex-start}.bb-level{align-items:center;gap:.4rem;font:.85rem monospace;display:flex}.bb-level span{text-align:center;min-width:60px}.bb-grade-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:.25rem;margin-block:.75rem;display:grid}.bb-grade-options button{justify-items:center;gap:.3rem;min-height:52px;padding:.35rem .15rem;font-size:.65rem;display:grid}.bb-grade span{border:1px solid var(--border-strong);background:var(--muted);border-radius:2px;width:17px;height:17px}.bb-grade-twig span{background:#9d7b50}.bb-grade-wood span{background:#9a7048}.bb-grade-stone span{background:#858580}.bb-grade-metal span{background:#758997}.bb-grade-armored span{background:#485c66}.bb-workshop .bb-check{cursor:pointer;align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.78rem;display:flex}.bb-check input{width:16px;height:16px;min-height:16px;accent-color:var(--accent)}.bb-material-panel small,.bb-selection small{font-size:.73rem;display:block}.bb-inspector small{color:var(--muted);line-height:1.5}.bb-costs{grid-template-columns:1fr auto;gap:.5rem;margin:.6rem 0 0;font-size:.8rem;display:grid}.bb-costs dt{color:var(--muted)}.bb-costs dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-family:monospace}.bb-ledger{border-top:1px solid var(--border);padding-top:1rem}.bb-cost-bar{border-top:1px solid var(--border);background:var(--surface);padding:1rem}.bb-cost-bar .bb-costs{flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:1rem;display:flex}.bb-cost-bar .bb-costs>div{flex-direction:column;flex:65px;gap:.25rem;display:flex!important}.bb-cost-bar .bb-costs dd{text-align:left;color:var(--text-strong);order:-1;font-size:1.4rem}.bb-cost-bar .bb-costs dt{font-size:.72rem}.bb-cost-bar p{color:var(--muted);margin-top:.9rem;font-size:.72rem;line-height:1.5}.bb-cost-heading button{min-height:32px;padding:.3rem .5rem;font-size:.72rem}.bb-catalogue{border-top:1px solid var(--border);padding-top:1rem}.bb-catalogue-heading{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.bb-catalogue-heading span{color:var(--muted);font:.75rem monospace}.bb-catalogue-search{position:relative}.bb-catalogue-search input{padding-right:2.5rem;font-size:.78rem}.bb-catalogue-search button{background:0 0;border:0;min-height:36px;padding:.2rem .6rem;position:absolute;top:3px;right:3px}.bb-catalogue-filters{gap:.3rem;margin-block:.6rem;display:flex}.bb-catalogue-filters button{min-height:32px;padding:.35rem .65rem;font-size:.74rem}.bb-catalogue-grid{scrollbar-width:thin;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;max-height:370px;margin:-3px;padding:3px;display:grid;overflow-y:auto}.bb-workshop .bb-catalogue-item{text-align:center;border-color:var(--border);background:var(--surface);flex-direction:column;align-items:center;gap:.25rem;min-height:113px;padding:.3rem .2rem .55rem;display:flex}.bb-catalogue-item span{margin-top:auto;font-size:.68rem;line-height:1.25}.bb-catalogue-item small{color:var(--muted);font:.63rem monospace}.bb-workshop .bb-catalogue-item[aria-pressed=true]{border-color:var(--accent-hot);background:var(--accent-soft)}.bb-piece-thumbnail{width:64px;max-width:100%;height:52px;stroke:var(--border-strong);stroke-width:1px;stroke-linejoin:round}.bb-piece-thumbnail .top{fill:#b1a18e}.bb-piece-thumbnail .front{fill:#897b69}.bb-piece-thumbnail .side{fill:#5c5044}.bb-piece-thumbnail .opening{fill:var(--surface)}.bb-piece-thumbnail .door-panel{fill:#62717b}.bb-piece-thumbnail .detail{fill:none;stroke:#2d363d;stroke-width:2px}.bb-piece-thumbnail .handle{fill:#dbaf6c}.bb-catalogue-empty{text-align:center;gap:.6rem;padding:1.5rem .4rem;font-size:.8rem;display:grid}.bb-catalogue-note{color:var(--muted);font-size:.68rem;line-height:1.5;margin-top:.6rem!important}.bb-quote,.bb-bulk,.bb-selection{border-top:1px solid var(--border);padding-top:.8rem}.bb-quote summary,.bb-bulk summary{cursor:pointer;font-size:.8rem}.bb-bulk[open]>:not(summary){margin-top:.7rem}.bb-bulk .bb-view-controls button{min-height:34px;padding:.35rem .5rem;font-size:.72rem}.bb-bulk small{display:block}.bb-bulk>button{width:100%;font-size:.8rem}.bb-selection .bb-actions{justify-content:flex-start}.bb-selection button{font-size:.75rem}.bb-steps{border:1px solid var(--border);border-top:0;padding:1rem}.bb-step-heading{justify-content:space-between}.bb-step-list{gap:.5rem;padding-block:1rem .5rem;display:flex;overflow-x:auto}.bb-step-list button{text-align:left;flex-direction:column;flex:1 0 145px;align-items:flex-start;gap:.35rem;min-height:76px;display:flex}.bb-step-list small{color:var(--muted);font-size:.7rem}.bb-step-fields{grid-template-columns:minmax(170px,1fr) 2fr;gap:1rem;padding-top:1rem;display:grid}.bb-follow{gap:.75rem;padding:1rem 0 .3rem;display:grid}.bb-follow p{white-space:pre-wrap;line-height:1.6}.bb-piece-list{border:1px solid var(--border);margin-top:1rem;padding:1rem}.bb-piece-list summary{cursor:pointer;font-size:.9rem}.bb-piece-list ul{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.5rem;max-height:280px;padding:0;list-style:none;display:grid;overflow:auto}.bb-piece-list button{text-align:left;width:100%;font-size:.8rem}.bb-rules{color:var(--muted);margin-top:1.5rem;font-size:.8rem;line-height:1.65}.bb-rules a{text-decoration:underline}.bb-rules summary{cursor:pointer;color:var(--text)}.bb-rules ul{padding-left:1.2rem}.bb-share{border:1px solid var(--success);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.8rem;display:flex}.bb-share a{overflow-wrap:anywhere;text-decoration:underline}.bb-plan{aspect-ratio:1;touch-action:none;width:min(100%,560px);height:auto;max-height:100%;margin:auto;position:absolute;inset:0}.bb-plan svg{width:100%;height:100%;display:block}.bb-plan-targets{position:absolute;inset:0}.bb-workshop .bb-plan-target{border-color:var(--muted);background:var(--surface);border-radius:50%;width:26px;min-height:26px;padding:0;font:.65rem monospace;position:absolute;transform:translate(-50%,-50%)}.bb-workshop .bb-plan-target.ghost{color:var(--success);border-color:var(--success)}.bb-workshop .bb-plan-target.active{background:var(--success);color:var(--bg)}.bb-grid{color:var(--border)}.bb-plan-piece{fill:var(--surface-hover);stroke:var(--muted)}.bb-plan-piece.edge{fill:var(--muted)}.bb-plan-piece.selected{fill:var(--warning)}.bb-plan-ghost{fill:var(--success-soft);stroke:var(--success);stroke-dasharray:.13 .08}.bb-plan-ghost.selected{fill:var(--success);fill-opacity:.5}.bb-gallery{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.bb-gallery article{border:1px solid var(--border);background:var(--bg-elevated);gap:1rem;padding:1.5rem;display:grid}.bb-gallery h2{margin:0;font-size:1.6rem}.bb-gallery p{color:var(--muted);margin:0;font-size:.9rem}.bb-gallery-mark{font:3rem var(--display);color:var(--border-strong);border-bottom:1px solid var(--border);padding-bottom:.75rem}.bb-gallery a{text-underline-offset:4px;text-decoration:underline}@media (max-width:1000px){.bb-inspector{padding:.75rem}.bb-toolbar{padding:.5rem}.bb-toolbar button{padding-inline:.5rem}}@media (max-width:760px){.bb-inspector{grid-template-columns:1fr;gap:.75rem}.bb-step-fields{grid-template-columns:1fr}.bb-topline,.bb-actions{justify-content:flex-start}.bb-workshop .bb-plan-target{width:30px;min-height:30px}.bb-placement,.bb-cost-bar{padding:.75rem}}@media (max-width:620px){.bb-viewport{height:560px}.bb-viewport.bb-catalogue-open{--bb-panel-space:0px}.bb-build-panel{width:min(232px,100% - 28px)}.bb-catalogue-open .bb-snap-hint{visibility:hidden}.bb-level{flex-wrap:wrap}.bb-legend{flex-wrap:wrap;gap:.4rem;font-size:.62rem}}@media (prefers-reduced-motion:reduce){.bb-workshop *,.bb-workshop :before{transition:none!important;animation:none!important}}
