/* Design your PEP — additions on top of pep.css (design.html only) */
.lib-brand{display:inline-flex;gap:8px;align-items:baseline;font-size:13px;color:var(--mute)}
.lib-brand b{color:var(--ink);font-weight:600}
.dims{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end}
.dims label{display:grid;gap:4px;font-size:12px;color:var(--soft)}
.dims input{width:100%;height:40px;padding:0 10px;border-radius:12px;border:1px solid var(--line);background:var(--bg3);color:var(--ink);font:500 15px/1 var(--mono);font-variant-numeric:tabular-nums}
.dims input:focus-visible,.kit-note:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.dims .linkish{height:40px}
.card-act .btn{white-space:nowrap}
.card .pic,.kit-pic{position:relative;overflow:hidden}
.kit-note-l{display:block;margin-top:16px;font-size:13px;font-weight:600;color:var(--mute)}
.kit-note-l small{font-weight:500;color:var(--soft);margin-left:6px}
.kit-note{width:100%;margin-top:6px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg3);color:var(--ink);font:14px/1.45 var(--ui);resize:vertical}
.kit-msg{margin-top:10px;font-size:13px;color:var(--soft)}
.kit-msg:empty{display:none}
.kit-meta .mono{font-family:var(--mono);font-size:11.5px;font-variant-numeric:tabular-nums}
.kit-orders{margin-top:22px;border-top:1px solid var(--faint);padding-top:14px}
.kit-orders h3{font-size:14px;font-weight:600;color:var(--mute)}
.ord-list{list-style:none;margin-top:10px;display:grid;gap:12px}
.ord{padding:12px 14px;border:1px solid var(--faint);border-radius:14px}
.ord-h{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between}
.ord .st{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--faint);color:var(--ink)}
.ord[data-st="ready"] .st{background:#173d2e;color:#bdeed3}
.ord[data-st="building"] .st{background:#3f3416;color:#f1dea0}
.ord[data-st="question"] .st,.ord[data-st="declined"] .st{background:#45191e;color:#f2c1c6}
.ord .mono{font:12px/1.4 var(--mono);color:var(--soft);font-variant-numeric:tabular-nums}
.ord .reply{margin-top:8px;font-size:13.5px;color:var(--ink)}
.ord .folder{margin-top:4px;word-break:break-all}
.ord-items{list-style:none;margin-top:8px;display:grid;gap:6px}
.ord-items li{font-size:12.5px;color:var(--mute)}
.ord-items b{color:var(--ink);font-weight:600;margin-right:6px}
.ord-dl{margin-top:6px;justify-self:start}
.bel-svg{display:block;width:100%;height:auto;margin-top:10px;border-radius:14px;background:rgba(242,239,233,.04)}
.bel-svg text{font:11px var(--mono);fill:var(--soft)}
.bel-svg .ax{stroke:rgba(242,239,233,.18);stroke-dasharray:3 4}
.bel-svg .p0{fill:none;stroke:rgba(242,239,233,.55);stroke-width:1.4;stroke-dasharray:4 3}
.bel-svg .p1{fill:none;stroke:#ffb56b;stroke-width:2}
.bel-svg .p1.in{stroke:#8fb0ff}
.dl button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;border-radius:16px;background:rgba(242,239,233,.05);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .2s}
.dl button:hover{background:rgba(242,239,233,.1)}
.dl button .t{flex:1;font-size:14px;font-weight:500}
.dl button .t small{display:block;font-size:12px;font-weight:400;color:var(--soft)}
.dl button .go{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;background:var(--ink);color:#0b0b0d;font-size:13px;font-weight:500;white-space:nowrap}
.ord-items li{display:grid;gap:2px}
.ord-items code{display:block;font:11.5px/1.4 var(--mono);color:var(--soft);word-break:break-all}
@media (max-width:520px){.dims{grid-template-columns:1fr 1fr}.dims .linkish{grid-column:1/-1;height:auto}}
.seg-wrap{flex-wrap:wrap}
.seg-wrap button{flex:1 1 45%}
.seg button[disabled]{opacity:.45;cursor:not-allowed}
.sys-select{width:100%;height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg3);color:var(--ink);font:500 14px var(--ui)}
.upload{display:flex;align-items:center;gap:10px;margin-top:10px;cursor:pointer}
.upload .up-name{font:12px var(--mono);color:var(--soft);word-break:break-all}
.upload.has .up-name{color:var(--ink)}
.kit-dl,.ord-dl{justify-self:start}
.bel-svg .crit{stroke:#7ee0a1;stroke-width:2}
.edges{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.edges label{display:grid;grid-template-columns:1fr auto;gap:2px 8px;font-size:12px;color:var(--soft)}
.edges label b{font:600 12px var(--mono);color:var(--ink)}
.edges .range{grid-column:1/-1}
/* the number on the outer wall */
.tx{display:grid;grid-template-columns:minmax(0,7.5em) 1fr;gap:8px;align-items:center}
.tx input{width:100%;height:40px;padding:0 10px;border-radius:12px;border:1px solid var(--line);background:var(--bg3);color:var(--ink);font:600 16px/1 var(--mono);letter-spacing:.12em;font-variant-numeric:tabular-nums}
.tx input:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.tx-svg{display:block;width:100%;height:auto;margin-top:8px}
.tx-svg .room{fill:none;stroke:var(--soft);stroke-opacity:.55;stroke-dasharray:4 3}
.tx-svg .num{fill:var(--ink);font-family:Inter,system-ui,sans-serif;font-weight:600}
.tx-svg .num.bad{fill:#f3b3a8}
.tx-svg .lbl{fill:var(--soft);font:10px var(--mono)}
.off-note.err{color:#f3b3a8}
.s-act .btn:disabled{opacity:.4;cursor:not-allowed}
/* the sculpt page */
.sc-row{display:flex;align-items:center;gap:12px}
.drawer.sculpting{grid-template-columns:1fr}
.drawer.sculpting .panel,.drawer.sculpting #d-cam{display:none}
.drawer.sculpting .stage3d{cursor:crosshair}
.drawer.sculpting .stage3d.sc-turn{cursor:grab}
.sc-ui{position:absolute;inset:0;z-index:57;pointer-events:none}
.sc-ui[hidden]{display:none}
.sc-bar{pointer-events:auto;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:center;padding:8px 12px;border-radius:18px;background:rgba(20,20,24,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:max-content;max-width:calc(100vw - 32px)}
.sc-sl{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--soft)}
.sc-sl b{font:600 12px var(--mono);color:var(--ink);min-width:4.2em}
.sc-sl input{width:92px}
.sc-btns{display:flex;align-items:center;gap:8px}
.sc-ic{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.sc-ic svg{width:18px;height:18px}
.sc-brush{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.sc-brush circle{fill:rgba(255,255,255,.05);stroke:rgba(255,255,255,.85);stroke-width:1.2}
.sc-brush.out circle{fill:none;stroke:#f3b3a8;stroke-dasharray:3 3}
.sc-msg{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);width:max-content;max-width:min(620px,calc(100% - 32px));margin:0;text-align:center;font-size:13px;line-height:1.45;color:var(--soft);background:rgba(20,20,24,.78);padding:8px 14px;border-radius:14px}
.sc-msg.lim{color:#f3b3a8}
.drawer.sculpting ~ .d-over{visibility:hidden}
/* ---- studio (round 1): the controls in four steps, an order bar, camera presets ---- */
.studio{display:grid;gap:10px}
.step{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018);overflow:clip;transition:background .2s,border-color .2s}
.step[open]{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.15)}
.step>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,auto) minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 14px 13px 16px;cursor:pointer;user-select:none;border-radius:16px}
.step>summary::-webkit-details-marker{display:none}
.step>summary:focus-visible,.more>summary:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.step>summary:hover .st-t{color:var(--ink)}
.st-n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:600 12px/1 var(--mono);background:rgba(255,255,255,.08);color:var(--soft);transition:background .2s,color .2s}
.step[open] .st-n{background:var(--ink);color:var(--bg)}
.st-t{font-weight:600;font-size:15px;color:var(--ink);white-space:nowrap}
.st-v{font-size:12px;line-height:1.3;color:var(--soft);text-align:end;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.step[open] .st-v{opacity:.55}
.st-chev{width:18px;height:18px;flex:none;color:var(--soft);transition:transform .22s var(--e,ease)}
.step[open] .st-chev,.more[open] .st-chev{transform:rotate(180deg)}
.st-body{display:grid;gap:20px;padding:6px 16px 18px}
.st-body>.cfg-row,.st-body>.offset{margin:0}
.obar .ob-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.ob-chk{font-size:12px;line-height:1.3;padding:4px 10px;border-radius:999px;background:rgba(127,208,155,.12);color:#a6e0bb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62%}
.ob-chk.warn{background:rgba(243,179,168,.14);color:#f3b3a8}
.ob-chk.info{background:rgba(169,188,255,.13);color:#c3cffd}
.ob-eta{display:flex;align-items:center;gap:8px;margin:4px 0 2px;font-size:12px;line-height:1.4;color:var(--soft)}
.ob-eta i{flex:none;width:7px;height:7px;border-radius:50%;background:#7fd09b;box-shadow:0 0 0 3px rgba(127,208,155,.18)}
.ob-eta i.off{background:#8a8a92;box-shadow:none}
.ob-eta i.team{background:#a9bcff;box-shadow:0 0 0 3px rgba(169,188,255,.18)}
.more{border-top:1px solid var(--line)}
.more:last-of-type{border-bottom:1px solid var(--line)}
.more>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:14px 2px;cursor:pointer;font-weight:600;font-size:14px;color:var(--ink)}
.more>summary::-webkit-details-marker{display:none}
.more[open]>summary{padding-bottom:8px}
.more>.kv,.more>.dl{margin:0 0 16px}
.stage-ui{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}
.seg-tog{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:rgba(20,20,24,.7);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--soft);font-size:13px;cursor:pointer}
.seg-tog[aria-pressed="true"]{color:var(--ink);border-color:rgba(255,255,255,.28)}
.seg-tog svg{width:16px;height:16px}
.ord-bar{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin:10px 0 6px}
.ord-bar i{display:block;height:100%;border-radius:inherit;background:#7fd09b;transition:width .6s var(--e,ease)}
.ord-where{margin:0 0 8px;font-size:12px;color:var(--soft)}
.ord-it-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.ist{flex:none;font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.07);color:var(--soft)}
[data-ist="ready"] .ist{background:rgba(127,208,155,.14);color:#a6e0bb}
[data-ist="building"] .ist{background:rgba(169,188,255,.14);color:#c3cffd}
[data-ist="failed"] .ist,[data-ist="declined"] .ist{background:rgba(243,179,168,.14);color:#f3b3a8}
.ord-act{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
@media (max-width:760px){.st-v{max-width:40vw}.stage-ui{top:12px;max-width:calc(100% - 24px)}.seg-tog span{display:none}}
/* the order bar stays compact: two lines of summary, the file line folds into the build line */
.obar .s-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.4;margin:0}
.obar #s-file{display:none}
.obar .s-act{margin-top:10px}
@media (max-width:760px){
  .stage-ui{left:12px;right:auto;transform:none;flex-wrap:nowrap;max-width:calc(100% - 96px);overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .stage-ui::-webkit-scrollbar{display:none}
  .stage-ui .seg{flex:none}
  .seg-tog{flex:none;padding:0 10px}
}
/* sculpt v2: toggles, the keys card */
.sc-tg{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--soft);font-size:12.5px;cursor:pointer;white-space:nowrap}
.sc-tg[aria-pressed="true"]{color:var(--ink);border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06)}
.sc-tg svg{width:16px;height:16px}
#sc-help{font:600 14px/1 var(--ui,inherit)}
.sc-keys{pointer-events:auto;position:absolute;top:128px;right:16px;width:min(320px,calc(100% - 32px));padding:14px 16px;border-radius:16px;background:rgba(20,20,24,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);z-index:59}
.sc-keys[hidden]{display:none}
.sc-keys h3{margin:0 0 8px;font-size:13px;color:var(--ink)}
.sc-keys dl{margin:0;display:grid;gap:6px}
.sc-keys div{display:grid;grid-template-columns:7.5em 1fr;gap:10px;font-size:12px}
.sc-keys dt{font:600 12px var(--mono);color:var(--ink)}
.sc-keys dd{margin:0;color:var(--soft)}
@media (max-width:760px){.sc-bar{top:10px;gap:6px 8px;padding:6px 8px}.sc-tg span{display:none}.sc-sl input{width:70px}}
/* sculpting: nothing else floats over the toolbar; the bar is two tidy rows */
.drawer.sculpting #d-meas{display:none}
.drawer.sculpting ~ .kit-fab,body:has(.drawer.sculpting) .kit-fab{visibility:hidden}
.sc-bar{top:14px;row-gap:8px;max-width:min(1180px,calc(100% - 32px))}
.sc-bar #sc-tools{flex-basis:100%;justify-content:center;display:flex;background:transparent}
