

:root{
  --bp-ink:#CFE2F4; --bp-ground:#0E2236; --bp-line:rgba(120,170,220,.16);
  --crate:#B7793F; --floor:#8FA3B6; --floor2:#7B90A4; --glass:#7FB6E8;
}

.bd-order{margin:0 0 clamp(1.25rem,3vw,2rem);border:2px solid var(--iron);background:var(--paper);padding:1rem clamp(.9rem,2.5vw,1.25rem) 1.1rem;
  box-shadow:0 1px 0 var(--line-strong) inset,0 18px 40px -24px rgba(0,0,0,.55)}
.bd-order-k{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.75rem;letter-spacing:.08em;color:var(--hazard);margin-bottom:.4rem}
.bd-order-row{display:flex;gap:0;border:2px solid var(--iron)}
.bd-order textarea{flex:1;min-width:0;font:inherit;font-size:1.0625rem;line-height:1.45;border:0;resize:none;padding:.75rem .85rem;background:var(--ground);color:var(--iron);min-height:3.4rem}
.bd-order textarea:focus-visible{outline:2px solid var(--hazard);outline-offset:-2px}
.bd-go{display:flex;align-items:center;gap:.5rem;font:inherit;font-size:1.0625rem;font-variation-settings:"wdth" 110,"wght" 750;
  padding:0 1.25rem;border:0;cursor:pointer;background:var(--hazard);color:var(--on-iron);white-space:nowrap}
.bd-go svg{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bd-go:hover:not(:disabled){filter:brightness(1.08)}
.bd-go:disabled{opacity:.6;cursor:progress}
.bd-try{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.8rem;font-size:.8125rem;color:var(--steel)}
.bd-try button{font:inherit;font-size:.8125rem;padding:.35rem .7rem;cursor:pointer;background:var(--chip-bg);color:var(--iron);border:1px solid var(--line-strong);border-radius:999px;text-align:left}
.bd-try button:hover{border-color:var(--hazard);background:var(--chip-bg-hover)}
.bd-note{margin:.75rem 0 0;font-size:.8125rem;color:var(--steel-light)}
.bd-note.is-err{color:var(--rust);font-weight:600}
@media (max-width:40rem){.bd-order-row{flex-direction:column}.bd-go{justify-content:center;min-height:3rem}}

.bd-yard-wrap{position:relative;border:2px solid var(--iron);overflow:hidden;
  background:
    radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--hazard) 10%,transparent),transparent 60%),
    linear-gradient(to bottom,var(--paper),var(--ground));}
.bd-yard{display:block;width:100%;height:auto;max-height:440px;margin:0 auto}
.bd-yard .iso polygon{stroke:rgba(0,0,0,.22);stroke-width:.6;stroke-linejoin:round}
.c-slab .t{fill:color-mix(in srgb,var(--concrete) 82%,var(--line-strong))}
.c-slab .l{fill:color-mix(in srgb,var(--concrete) 55%,#000)}
.c-slab .r{fill:color-mix(in srgb,var(--concrete) 40%,#000)}
.c-pad .t{fill:var(--plate-face)} .c-pad .l{fill:var(--plate-face-2)} .c-pad .r{fill:var(--plate-edge)}
.c-concrete .t{fill:var(--plate-face)} .c-concrete .l{fill:var(--plate-face-2)} .c-concrete .r{fill:var(--plate-edge)}
.c-iron .t{fill:color-mix(in srgb,var(--iron) 78%,var(--ground))} .c-iron .l{fill:color-mix(in srgb,var(--iron) 58%,var(--ground))} .c-iron .r{fill:color-mix(in srgb,var(--iron) 42%,var(--ground))}
.c-hazard .t{fill:var(--hazard)} .c-hazard .l{fill:color-mix(in srgb,var(--hazard) 78%,#000)} .c-hazard .r{fill:color-mix(in srgb,var(--hazard) 60%,#000)}
.c-paper .t{fill:#F7F5EF} .c-paper .l,.c-paper .r{fill:#D9D5CB}
.c-crate .t{fill:var(--crate)} .c-crate .l{fill:color-mix(in srgb,var(--crate) 78%,#000)} .c-crate .r{fill:color-mix(in srgb,var(--crate) 62%,#000)}
.c-floor .t,.c-floor2 .t{fill:var(--floor)} .c-floor .l{fill:color-mix(in srgb,var(--floor) 74%,#000)} .c-floor .r{fill:color-mix(in srgb,var(--floor) 58%,#000)}
.c-floor2 .l{fill:color-mix(in srgb,var(--floor2) 74%,#000)} .c-floor2 .r{fill:color-mix(in srgb,var(--floor2) 58%,#000)}
.c-glass .t,.c-glass .l,.c-glass .r{fill:var(--glass);opacity:.85}
.c-swatch1 .t{fill:var(--steel-light)} .c-swatch2 .t{fill:var(--steel)} .c-swatch3 .t{fill:var(--line-strong)} .c-swatch4 .t{fill:var(--plate-edge)}
.c-swatch1 .l,.c-swatch2 .l,.c-swatch3 .l,.c-swatch4 .l{fill:color-mix(in srgb,var(--steel) 70%,#000)}
.c-swatch1 .r,.c-swatch2 .r,.c-swatch3 .r,.c-swatch4 .r{fill:color-mix(in srgb,var(--steel) 50%,#000)}
.bd-grid polyline{fill:none;stroke:var(--line);stroke-width:.6;opacity:.7}
.bd-belt{fill:color-mix(in srgb,var(--iron) 22%,var(--ground));stroke:color-mix(in srgb,var(--iron) 35%,var(--ground));stroke-width:.8}
.bd-belt-line{fill:none;stroke:var(--line-strong);stroke-width:1.4;stroke-dasharray:5 7}
.bd-belt-line.is-moving{stroke:var(--hazard)}
@media (prefers-reduced-motion:no-preference){
  .bd-belt-line.is-moving{animation:bd-belt .5s linear infinite}
  .bd-pop{animation:bd-pop .35s cubic-bezier(.2,1.4,.4,1) both;transform-box:fill-box;transform-origin:50% 100%}
}
@keyframes bd-belt{to{stroke-dashoffset:-12}}
@keyframes bd-pop{from{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}
.bd-hook{fill:none;stroke:var(--iron);stroke-width:1.2}
.bd-win{fill:none;stroke:color-mix(in srgb,#FFD27A 70%,transparent);stroke-width:2.2;stroke-linecap:round}
.bd-labels text{fill:var(--steel);font:600 12px "Archivo",sans-serif;letter-spacing:.02em}
.bd-sign rect{fill:var(--iron);stroke:var(--hazard);stroke-width:1.5}
.bd-sign text{fill:var(--on-iron);font:700 14px "IBM Plex Mono",ui-monospace,monospace}
.bd-sign{opacity:.35;transition:opacity .4s}
.bd-sign.is-on{opacity:1}
.bd-sign.is-on rect{fill:var(--hazard);stroke:var(--iron)}

.bd-beacon .glow{fill:var(--hazard);opacity:0;filter:blur(5px)}
.bd-beacon .lamp{fill:var(--line-strong);stroke:var(--iron);stroke-width:1}
.bd-beacon .bd-done{opacity:0}
.bd-beacon .bd-done circle{fill:#2FA35B}
.bd-beacon .bd-done path{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bd-st.is-running .lamp{fill:#FFB020}
.bd-st.is-running .glow{opacity:.75}
@media (prefers-reduced-motion:no-preference){
  .bd-st.is-running .glow{animation:bd-beacon 0.9s ease-in-out infinite alternate}
}
@keyframes bd-beacon{from{opacity:.25;transform:scale(.7)}to{opacity:.9;transform:scale(1.25)}}
.bd-st.is-done .lamp,.bd-st.is-done .glow{opacity:0}
.bd-st.is-done .bd-done{opacity:1}
.bd-st.is-error .lamp{fill:var(--rust)}

.bd-crew{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid var(--iron);background:var(--paper)}
.bd-crew li{padding:.6rem .7rem;display:flex;flex-direction:column;gap:.05rem;min-width:0;border-left:1px solid var(--line);position:relative}
.bd-crew li:first-child{border-left:0}
.bd-crew b{font-variation-settings:"wdth" 108,"wght" 700;font-weight:normal;font-size:.9375rem}
.bd-crew .m{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.6875rem;color:var(--steel-light)}
.bd-crew .s{font-size:.75rem;color:var(--steel);font-variant-numeric:tabular-nums}
.bd-crew li::before{content:"";position:absolute;left:0;right:0;top:-2px;height:3px;background:transparent}
.bd-crew li.is-running::before{background:var(--hazard)}
.bd-crew li.is-done::before{background:#2FA35B}
.bd-crew li.is-running b{color:var(--hazard)}
@media (max-width:40rem){
  .bd-crew{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bd-crew li:nth-child(4){border-left:0}
  .bd-crew li:nth-child(n+4){border-top:1px solid var(--line)}
}

.bd-site{display:grid;gap:clamp(1rem,2.5vw,1.5rem);margin-top:clamp(1.25rem,3vw,2rem);align-items:start}
@media (min-width:64rem){.bd-site{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}}
.bd-monitor{border:2px solid var(--iron);background:var(--paper);box-shadow:0 24px 50px -28px rgba(0,0,0,.65)}
.bd-monitor-bar{display:flex;align-items:center;gap:.75rem;padding:.45rem .6rem;border-bottom:2px solid var(--iron);background:color-mix(in srgb,var(--paper) 70%,var(--ground))}
.bd-dots{display:flex;gap:.3rem}
.bd-dots i{width:.6rem;height:.6rem;border-radius:50%;background:var(--line-strong)}
.bd-dots i:first-child{background:var(--hazard)}
.bd-addr{flex:1;min-width:0;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.75rem;color:var(--steel);
  background:var(--ground);border:1px solid var(--line);padding:.2rem .55rem;border-radius:999px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bd-size{display:flex;border:1px solid var(--line-strong)}
.bd-size button{font:inherit;font-size:.75rem;padding:.2rem .55rem;border:0;background:transparent;color:var(--steel);cursor:pointer}
.bd-size button[aria-pressed="true"]{background:var(--iron);color:var(--on-iron)}
.bd-screen{position:relative;height:min(68vh,40rem);background:repeating-linear-gradient(45deg,var(--ground) 0 10px,color-mix(in srgb,var(--ground) 92%,var(--line)) 10px 20px)}
.bd-screen iframe{display:block;width:100%;height:100%;border:0;background:#fff;margin:0 auto;transition:width .35s ease}
.bd-screen.is-phone iframe{width:390px;max-width:100%;box-shadow:0 0 0 2px var(--iron)}
.bd-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;color:var(--steel);background:var(--ground);text-align:center;padding:1rem}
.bd-empty[hidden]{display:none}
.bd-empty svg{width:7rem;fill:none;stroke:var(--line-strong);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bd-empty p{margin:0;font-size:.9375rem}
.bd-meter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.4fr);gap:2px;background:var(--line);border-top:2px solid var(--iron)}
.bd-meter > div{background:var(--paper);padding:.5rem .7rem;display:flex;flex-direction:column;gap:.05rem;min-width:0}
.bd-meter b{font-variation-settings:"wdth" 110,"wght" 750;font-weight:normal;font-size:1.05rem;font-variant-numeric:tabular-nums}
.bd-share{justify-content:center}
.bd-share button{font:inherit;font-size:.8125rem;padding:.45rem .6rem;border:2px solid var(--iron);background:transparent;color:var(--iron);cursor:pointer}
.bd-share button:not(:disabled):hover{background:var(--iron);color:var(--on-iron)}
.bd-share button:disabled{opacity:.45;cursor:default}
@media (max-width:40rem){.bd-meter{grid-template-columns:repeat(3,minmax(0,1fr))}.bd-share{grid-column:1 / -1}}

.bd-sheets{border:2px solid var(--iron);background:var(--paper);min-width:0}
.bd-tabs{display:flex;overflow-x:auto;border-bottom:2px solid var(--iron)}
.bd-tabs button{flex:1;font:inherit;font-size:.875rem;font-variation-settings:"wdth" 104,"wght" 650;padding:.6rem .5rem;border:0;background:transparent;color:var(--steel);cursor:pointer;white-space:nowrap}
.bd-tabs button + button{border-left:1px solid var(--line)}
.bd-tabs button[aria-selected="true"]{background:var(--iron);color:var(--on-iron)}
.bd-sheet{padding:1rem clamp(.85rem,2.5vw,1.15rem);max-height:min(68vh,40rem);overflow:auto;font-size:.9375rem}
.bd-sheet[hidden]{display:none}
.bd-wait{color:var(--steel);margin:0}
.bd-sheet h4{margin:1.1rem 0 .4rem;font-size:.9375rem;font-variation-settings:"wdth" 108,"wght" 700}
.bd-sheet h4 span{font-weight:400;color:var(--steel-light);font-size:.8125rem}
.bd-app{margin:0;font-size:1.6rem;line-height:1.1;font-variation-settings:"wdth" 118,"wght" 800}
.bd-tag{margin:.3rem 0 .6rem;color:var(--steel)}
.bd-dl{display:grid;grid-template-columns:max-content 1fr;gap:.3rem .9rem;margin:.6rem 0 0}
.bd-dl dt{color:var(--steel-light);font-size:.8125rem}
.bd-dl dd{margin:0}
.bd-views,.bd-next{margin:0;padding-left:1.2rem}
.bd-views li,.bd-next li{margin:.25rem 0}
.bd-ents,.bd-kpis,.bd-ok,.bd-checks,.bd-swatches{list-style:none;margin:0;padding:0}
.bd-ents li{padding:.4rem 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.bd-ents span{font-size:.8125rem;color:var(--steel)}
.bd-kpis li{display:inline-block;margin:0 .35rem .35rem 0;padding:.25rem .6rem;background:var(--chip-bg);border:1px solid var(--line-strong);font-size:.8125rem}
.bd-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.5rem}
.bd-swatches li{display:grid;grid-template-columns:2rem 1fr;grid-template-rows:auto auto;column-gap:.5rem;align-items:center}
.bd-swatches i{grid-row:span 2;width:2rem;height:2rem;border:1px solid var(--line-strong);box-shadow:0 2px 0 rgba(0,0,0,.2)}
.bd-swatches b{font-size:.8125rem}
.bd-swatches code{font-size:.75rem;color:var(--steel)}
.bd-count{margin:0 0 .4rem;color:var(--steel)}
.bd-count b{color:var(--iron);font-size:1.4rem;font-variation-settings:"wdth" 118,"wght" 800;font-weight:normal}
.bd-table{overflow-x:auto}
.bd-table table{border-collapse:collapse;font-size:.75rem;min-width:100%}
.bd-table th,.bd-table td{border-bottom:1px solid var(--line);padding:.3rem .45rem;text-align:left;white-space:nowrap}
.bd-table th{color:var(--steel-light);font-weight:600}
.bd-score{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:.3rem;padding-bottom:.6rem;border-bottom:2px solid var(--iron)}
.bd-score b{font-size:2.8rem;line-height:1;color:var(--hazard);font-variation-settings:"wdth" 120,"wght" 800;font-weight:normal}
.bd-score span{color:var(--steel)}
.bd-score p{margin:0 0 0 .6rem;font-size:.875rem}
.bd-ok li,.bd-checks li{padding:.25rem 0 .25rem 1.5rem;position:relative}
.bd-ok li::before,.bd-checks li.pass::before{content:"✓";position:absolute;left:0;color:#2FA35B;font-weight:700}
.bd-checks li.fail::before{content:"✕";position:absolute;left:0;color:var(--rust);font-weight:700}
.bd-checks li{font-size:.8125rem}

.bd-code{padding:0;background:var(--bp-ground)}
.bd-code pre{margin:0;padding:.9rem 1rem;min-height:18rem;max-height:min(68vh,40rem);overflow:auto;color:var(--bp-ink);
  font:500 .72rem/1.55 "IBM Plex Mono",ui-monospace,monospace;white-space:pre-wrap;word-break:break-all;
  background-image:linear-gradient(var(--bp-line) 1px,transparent 1px),linear-gradient(90deg,var(--bp-line) 1px,transparent 1px);
  background-size:18px 18px}
.bd-code pre:empty::before{content:"The builder's code streams onto this sheet as it is written.";color:color-mix(in srgb,var(--bp-ink) 60%,transparent)}

.lv-trio{flex-wrap:wrap}
