.bb{--ink:#383d35;--muted:#77796e;--line:#dedfd5;--paper:#f8f7f2;--accent:#697558;max-width:1600px;margin:auto;padding:44px 40px 70px;color:var(--ink)}.bb *{box-sizing:border-box}.bb button,.bb input,.bb select{font:inherit}.bb button{cursor:pointer}.bb button:focus-visible,.bb input:focus-visible,.bb a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.bb-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:36px}.bb-heading h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(38px,4.3vw,65px);font-weight:400;line-height:1.02;margin:12px 0 0;letter-spacing:-1.6px}.bb-heading h1 em{font-weight:400;color:var(--accent)}.bb-heading p{font-size:14px;color:var(--muted);line-height:1.8}.bb-notice{background:#f0eee4;padding:15px 20px;border:1px solid #ddd8c6;font-size:13px;line-height:1.6}.bb-layout{display:grid;grid-template-columns:260px minmax(0,1fr) 285px;gap:22px;align-items:start}.bb-panel{background:#fff;border:1px solid var(--line);padding:22px;min-width:0}.bb h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;font-weight:500;line-height:1.1;margin:0 0 20px}.bb-panel-head{display:flex;justify-content:space-between;align-items:start;gap:10px}.bb-panel-head span{font-size:12px;color:var(--muted)}.bb input:not([type=checkbox]),.bb textarea{width:100%;padding:12px;border:1px solid var(--line);background:var(--paper);border-radius:2px;color:var(--ink);min-width:0}.bb-filters{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.bb-filters button,.bb-view-tabs button,.bb-layout-head button,.bb-draft button,.bb-edit-bar button{border:1px solid var(--line);background:transparent;padding:8px 11px;border-radius:30px;font-size:11px;color:var(--ink)}.bb-filters button[aria-pressed=true],.bb-view-tabs button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.bb-materials{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-height:550px;overflow-y:auto;padding:3px}.bb-material{background:var(--paper);padding:13px 7px;border:1px solid transparent;text-align:center;border-radius:4px;position:relative;color:var(--ink)}.bb-material:hover{border-color:#9caa8a}.bb-material img{height:54px;width:54px;object-fit:cover;border-radius:50%;display:block;margin:0 auto 12px}.bb-bead{display:block;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 30% 23%,#ffffffbd,transparent 43%),radial-gradient(ellipse at 65% 80%,#00000042,transparent 70%),var(--bead,#aaa);box-shadow:inset -3px -3px 5px #0002,0 4px 7px #0001;margin:5px auto 13px}.bb-material strong{display:block;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.bb-material small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.bb-analysis-link{display:block;border-top:1px solid var(--line);padding-top:18px;margin-top:23px;font-size:12px;color:var(--accent)}.bb-help{font-size:11px;line-height:1.7;color:var(--muted);margin:12px 0}.bb-workspace{min-width:0}.bb-view-tabs{display:flex;justify-content:center;gap:8px;position:relative;z-index:1;padding:16px;background:var(--paper)}#bb-stage{height:400px;background:radial-gradient(ellipse at 50% 50%,#fff,#eeeee5);position:relative;overflow:hidden;touch-action:pan-y}#bb-stage canvas{display:block;width:100%;height:100%;touch-action:none}#bb-fallback{height:100%;display:grid;place-items:center}#bb-fallback svg{height:90%;max-width:100%}.bb-stage-caption{position:absolute;bottom:18px;width:100%;text-align:center;text-transform:uppercase;font-size:9px;letter-spacing:3px;color:#8f9285;pointer-events:none}.bb-view-help{font-size:10px;color:var(--muted);line-height:1.6;margin:10px 0 25px;text-align:center}.bb-layout-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.bb-layout-head h2{font-size:25px;margin:8px 0 16px}.bb-layout-head>div:last-child{display:flex;gap:5px;flex-wrap:wrap;justify-content:end}.bb-sequence{background:#fff;border:1px solid var(--line);padding:17px 12px;display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-height:91px}.bb-sequence button{border:1px solid transparent;border-radius:4px;background:none;padding:5px;min-width:36px;position:relative}.bb-sequence button[aria-pressed=true]{border-color:var(--accent);background:#eff1e8}.bb-sequence .bb-bead{width:25px;height:25px;margin:0 auto 6px}.bb-sequence small{font-size:9px;color:var(--muted)}.bb-edit-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:15px 0}.bb-edit-bar span{font-size:11px;flex:1;min-width:130px}.bb-draft{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:16px}.bb-draft span{font-size:9px;color:var(--muted)}#bb-message{font-size:12px;color:#826347;min-height:18px}.bb-size{display:grid;gap:8px;font-size:12px}.bb-size input{font-size:19px!important;margin-top:4px}.bb summary{font-size:11px;margin-top:12px;cursor:pointer}.bb-fit{margin:22px 0;font-size:11px;line-height:1.6}.bb-fit progress{width:100%;height:4px;display:block;margin:10px 0;accent-color:var(--accent)}.bb-fit small{font-size:10px;color:var(--muted)}.bb-bom-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #eee;padding:10px 0;font-size:11px}.bb-bom-row span:first-child{overflow-wrap:anywhere}.bb-cost{font-size:11px;margin:20px 0}.bb-cost>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.bb-cost dd{margin:0;white-space:nowrap}.bb-total{border-top:1px solid var(--line);padding-top:18px;align-items:baseline}.bb-total dt{font-size:12px}.bb-total dd{font-size:22px}.bb .bb-submit{width:100%;font-size:12px;padding:15px 10px;background:var(--accent);color:#fff}.bb button:disabled{opacity:.4;cursor:not-allowed}.bb-steps{display:flex;border-bottom:1px solid var(--line);margin-bottom:25px;gap:30px}.bb-steps button{border:0;background:none;font-size:11px;letter-spacing:1px;padding:14px 0;color:var(--muted)}.bb-steps button[aria-current=step]{border-bottom:2px solid var(--accent);color:var(--ink)}.bb-mobile-nav{display:none}.bb dialog{border:1px solid var(--line);width:min(520px,calc(100vw - 28px));max-height:90dvh;overflow:auto;padding:30px;color:var(--ink)}.bb dialog::backdrop{background:#262b2577;backdrop-filter:blur(5px)}.bb dialog h2{margin-bottom:8px}.bb dialog button#bb-close{border:0;background:none;font-size:25px}.bb .bb-consent{display:flex;align-items:start;flex-wrap:wrap;gap:8px;font-size:11px}.bb-trap{position:absolute;left:-10000px}.bb-order-page{max-width:850px}.bb-order-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.bb-order-grid svg{width:100%}.bb-order-page .platform-card{margin:20px 0}.bb-order-page pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.bb-admin{max-width:1200px}.bb-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.bb-admin .platform-card{margin-bottom:22px;padding:24px}.bb-admin label{display:grid;gap:6px;font-size:12px}.bb-admin .platform-form{gap:15px}.bb-admin .bb-check{display:flex;gap:8px;align-items:center}.bb-admin input[type=checkbox]{width:auto}.bb-admin-nav{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0}.bb-admin-table{width:100%;font-size:12px;border-collapse:collapse}.bb-admin-table td,.bb-admin-table th{text-align:left;padding:12px 6px;border-bottom:1px solid var(--line)}.bb-admin-table a{text-decoration:underline}.bb-empty{font-size:12px;padding:20px 0;color:var(--muted)}
@media(min-width:1600px){#bb-stage{height:480px}}@media(max-width:1180px){.bb{padding:30px 22px 60px}.bb-layout{grid-template-columns:215px minmax(0,1fr) 245px;gap:14px}.bb-panel{padding:16px}#bb-stage{height:340px}.bb-layout-head{display:block}.bb-layout-head>div:last-child{justify-content:start;margin-bottom:12px}}
@media(max-width:900px){.bb{padding:24px 16px 110px}.bb-heading{display:block;margin-bottom:22px}.bb-heading h1{font-size:45px}.bb-heading p{font-size:12px}.bb-layout{display:flex;flex-direction:column;gap:18px}.bb-layout>*{width:100%}.bb-workspace{order:0}.bb-catalog{order:1}.bb-summary{order:2}.bb-layout[data-current-step="1"] .bb-catalog,.bb-layout[data-current-step="1"] .bb-layout-head,.bb-layout[data-current-step="1"] .bb-sequence,.bb-layout[data-current-step="1"] .bb-edit-bar,.bb-layout[data-current-step="1"] .bb-draft{display:none}.bb-layout[data-current-step="2"] .bb-summary{display:none}.bb-layout[data-current-step="3"] .bb-catalog{display:none}.bb-layout[data-current-step="1"] .bb-submit{display:none}.bb-materials{grid-template-columns:repeat(3,minmax(0,1fr));max-height:400px}.bb-panel{padding:20px}.bb-view-tabs{padding:12px}#bb-stage{height:310px}.bb-steps{gap:8px;justify-content:space-between}.bb-steps button{letter-spacing:0;font-size:10px}.bb-layout-head{display:flex}.bb-layout-head h2{font-size:24px}.bb-layout-head button{font-size:10px;padding:7px}.bb-mobile-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:14px 16px max(14px,env(safe-area-inset-bottom));z-index:20}.bb-mobile-nav span{font-size:11px}.bb-mobile-nav button{border:0;border-radius:24px;padding:12px;font:inherit;font-size:11px;background:var(--accent);color:white}.bb-order-grid,.bb-admin-grid{grid-template-columns:1fr}.bb-admin-table{font-size:10px}.bb dialog{padding:22px}.bb-heading .eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){.bb *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Builder review: keep the workshop controls unobstructed. */
body:has(#builder) .lead-dock{display:none!important}
.bb-edit-bar button[aria-pressed=true]{background:var(--accent);color:#fff}
@media(max-width:900px){
 .bb-workspace{display:contents}
 .bb-workspace>*{width:100%}
 .bb-view-tabs{order:0}.bb-workspace #bb-stage{order:1}.bb-view-help{order:2;margin:0}
 .bb-catalog{order:3}.bb-layout-head{order:4;margin-top:6px}.bb-sequence{order:5}.bb-edit-bar{order:6;margin:0}
 #bb-message{order:7;margin:0}.bb-draft{order:8}.bb-summary{order:9}
 .bb-layout[data-current-step="1"] .bb-summary{order:-1}
 .bb-layout[data-current-step="1"] #bb-bom,.bb-layout[data-current-step="1"] .bb-cost,.bb-layout[data-current-step="1"] .bb-summary>.bb-help,.bb-layout[data-current-step="1"] #bb-message{display:none}
 .bb-layout[data-current-step="1"] #bb-stage{height:250px}
 .bb-layout[data-current-step="3"] .bb-layout-head,.bb-layout[data-current-step="3"] .bb-sequence,.bb-layout[data-current-step="3"] .bb-edit-bar,.bb-layout[data-current-step="3"] .bb-draft{display:none}
 .bb-layout[data-current-step="3"] .bb-summary{order:3}
 .bb-materials{max-height:290px}.bb-catalog .bb-help{margin-bottom:0}
}

/* Atelier refinement: calm palette, legible controls, compact work surface. */
.bb { --ink: #302e2a; --muted: #756c65; --line: #e2dcd5; --paper: #f8f5f1; --accent: #a7646b; max-width: 1440px; padding: 32px 32px 72px; }
.bb-heading { align-items: center; margin-bottom: 20px; gap: 36px; }
.bb-heading h1 { font-size: clamp(37px, 4vw, 56px); letter-spacing: -.025em; line-height: 1.08; margin-top: 9px; }
.bb-heading p { max-width: 370px; font-size: 12px; margin: 0; }
.bb-notice { border: 1px solid #e6d9ce; background: #f2ece5; border-radius: 10px; padding: 12px 16px; font-size: 12px; }
.bb-steps { gap: 32px; margin: 18px 0 22px; scroll-margin-top: 104px; }
.bb-steps button { font-size: 12px; letter-spacing: 0; padding: 12px 0; }
.bb-layout { grid-template-columns: 250px minmax(0,1fr) 270px; gap: 20px; }
.bb-panel { border-radius: 14px; padding: 20px; }
.bb-panel h2 { font-size: 27px; margin-bottom: 18px; }
.bb-workspace { border: 1px solid var(--line); border-radius: 14px; padding: 16px; background: #fffefa; overflow: hidden; }
.bb-view-tabs { background: none; padding: 0 0 12px; flex-wrap: wrap; }
.bb-filters button, .bb-view-tabs button, .bb-layout-head button, .bb-draft button, .bb-edit-bar button { font-size: 12px; min-height: 38px; padding: 8px 12px; }
.bb-filters button[aria-pressed=true], .bb-view-tabs button[aria-pressed=true] { background: var(--ink); }
.bb-materials { gap: 8px; max-height: 460px; }
.bb-material { border-radius: 10px; padding: 14px 8px 10px; transition: border-color .15s, background .15s; }
.bb-material:hover:not(:disabled) { border-color: var(--accent); background: #f5ebe8; }
.bb-material strong { font-size: 12px; }
.bb-material small { font-size: 11px; }
.bb-help, .bb-view-help, .bb-size, .bb summary, .bb-fit, .bb-bom-row, .bb-cost { font-size: 12px; }
.bb-help a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.bb-summary .bb-help:last-child { margin-bottom: 0; }
.bb input:not([type=checkbox]), .bb textarea { border-radius: 8px; }
#bb-stage { height: 350px; border-radius: 10px; background: radial-gradient(ellipse at 50% 42%,#fffefa,#ece5dc); }
#bb-stage canvas[hidden] { display: none; }
#bb-fallback[hidden] { display: none; }
.bb-stage-caption { bottom: 12px; font-size: 9px; letter-spacing: 1.4px; color: #7d7268; }
.bb-view-help { margin: 10px 4px 22px; font-size: 11px; }
.bb-layout-head { align-items: start; flex-wrap: wrap; gap: 8px; }
.bb-layout-head h2 { margin: 5px 0 0; }
.bb-layout-head .eyebrow { font-size: 9px; }
.bb-layout-head > div:last-child { justify-content: start; }
.bb-sequence-help { margin: 12px 0; }
.bb-sequence { border-radius: 10px; gap: 4px; padding: 10px; min-height: 84px; }
.bb-sequence button { min-width: 40px; min-height: 52px; }
.bb-sequence button[aria-pressed=true] { background: #f4e7e7; }
.bb-edit-bar span { font-size: 12px; min-width: 100%; }
.bb-draft span { font-size: 11px; flex-basis: 100%; }
.bb-fit progress { height: 6px; }
.bb-bom-row { align-items: baseline; }
.bb-bom-row span:last-child { white-space: nowrap; }
.bb-total { flex-wrap: wrap; }
.bb-total dd { font-size: 23px; }
.bb button:disabled { opacity: .5; }
.bb dialog { border-radius: 16px; }
.bb-size, .bb-submit, #bb-search { scroll-margin-top: 110px; }
.bb-admin h1 { font-size: clamp(38px,5vw,60px); line-height: 1.05; }
.bb-admin-nav a { padding: 9px 14px; border: 1px solid var(--line); border-radius: 24px; font-size: 12px; }
.bb-admin-table { display: block; overflow-x: auto; }
.bb-admin .platform-card { border-radius: 12px; }
@media (min-width: 901px) and (max-width: 1180px) {
  .bb { padding-inline: 20px; }
  .bb-layout { grid-template-columns: 210px minmax(0,1fr) 230px; gap: 12px; }
  .bb-panel, .bb-workspace { padding: 14px; }
  .bb-view-tabs { gap: 4px; }
  .bb-view-tabs button { font-size: 11px; padding-inline: 9px; }
}
@media (max-width: 900px) {
  .bb { padding: 24px 16px 110px; }
  .bb-heading { display: block; margin-bottom: 18px; }
  .bb-heading h1 { font-size: clamp(37px,7vw,49px); }
  .bb-heading p { margin-top: 12px; }
  .bb-steps { gap: 12px; margin-bottom: 18px; }
  .bb-steps button { font-size: 11px; text-align: left; }
  .bb-layout { gap: 12px; }
  .bb-workspace { display: contents; }
  .bb-view-tabs { margin-top: 4px; padding-bottom: 0; }
  #bb-stage { height: 300px; }
  .bb-panel { padding: 18px; }
  .bb-materials { max-height: 280px; }
  .bb-view-help { margin: 0 0 4px; }
  .bb-sequence-help { order: 4; margin: 0; }
  .bb-layout[data-current-step="1"] .bb-sequence-help,
  .bb-layout[data-current-step="3"] .bb-sequence-help { display: none; }
  .bb-layout[data-current-step="1"] .bb-view-tabs,
  .bb-layout[data-current-step="1"] #bb-stage,
  .bb-layout[data-current-step="1"] .bb-view-help { display: none; }
  .bb-layout[data-current-step="3"] .bb-summary { margin-top: 8px; }
  .bb-mobile-nav button { min-height: 44px; padding-inline: 18px; }
  .bb-mobile-nav { box-shadow: 0 -5px 24px #302e2a0a; z-index: 30; }
  body.menu-open .bb-mobile-nav { visibility: hidden; }
}
