body.project{padding-bottom:var(--bar-h)}.stage{position:relative;height:calc(100svh - var(--header-h) - var(--bar-h) - 32px);min-height:520px;background:var(--studio);overflow:hidden}.stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.stage .copy{position:absolute;left:var(--gutter);right:var(--gutter);top:20px}.stage h1{margin-top:10px}.stage .copy p{font-size:var(--fs-lead);line-height:1.4;color:var(--ink-2);margin-top:10px;max-width:30ch}.stage .foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:14px;display:flex;justify-content:space-between;align-items:end;gap:12px;font-size:var(--fs-eyebrow);color:var(--mute)}.stage .foot b{display:block;font-size:var(--fs-body);font-weight:400;color:var(--ink)}.stage .foot>div:last-child{text-align:right;max-width:22ch}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.stage.live .copy,.stage.live .foot{pointer-events:none}.stage .copy{transition:opacity .4s}.stage.parts .copy{opacity:0}.stage .dim{position:absolute;transform:translate(-50%,-50%);font-size:11px;font-style:italic;white-space:nowrap;color:#2b2c2e;pointer-events:none;font-variant-numeric:tabular-nums;text-shadow:0 0 3px #ecebe8,0 0 3px #ecebe8}.stage .lbl{position:absolute;transform:translate(-50%,-50%);display:none;align-items:center;gap:4px;font-size:11px;white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;transition:opacity .2s}.stage .lbl i{font-style:normal;width:18px;height:18px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:10px}.stage .lbl span{background:#ffffffd9;padding:1px 4px}.stage .lbl.tray{letter-spacing:.06em;text-transform:uppercase;color:var(--mute);transform:none}.stage .lbl.faded{opacity:.25}.stage-list{display:none}.prow{cursor:pointer}.prow.on{background:#f5f5f3}.prow.on i{background:var(--ink);color:#fff}.config{padding:26px var(--gutter) 4px}.config h2{font-size:var(--fs-h2);font-weight:400;letter-spacing:var(--track-h2)}.spec{margin-top:6px;font-size:var(--fs-body);color:var(--mute);font-variant-numeric:tabular-nums}.notice{margin-top:14px;padding:10px 12px;background:var(--tint);border-left:2px solid var(--warn);font-size:var(--fs-small);line-height:1.45;color:var(--warn)}.notice p+p{margin-top:4px}.row{margin-top:20px}.row label{display:flex;justify-content:space-between;font-size:var(--fs-body);margin-bottom:8px}.row label span{color:var(--mute);font-variant-numeric:tabular-nums}.hint{font-size:var(--fs-small);color:var(--mute);margin:-4px 0 8px}.seg+.hint,.swatches+.hint{margin:8px 0 0}.ctl{display:flex;align-items:center;gap:12px}.num{display:flex;align-items:center;border:1px solid #1a1a1a;height:var(--control-h);padding:0 10px;gap:4px;font-size:var(--fs-body);color:var(--mute)}.num input{width:44px;border:0;outline:0;font:inherit;font-size:var(--fs-input);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;background:none}.num:focus-within{outline:2px solid var(--ink);outline-offset:1px}.ctl input[type=range]{flex:1;accent-color:var(--ink);height:28px}.chips{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.chips button{height:var(--chip-h);padding:0 12px;border:1px solid var(--line);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.chips button.on{border-color:var(--ink);background:var(--ink);color:#fff}.msg{font-size:var(--fs-small);margin-top:6px;color:var(--warn)}.msg.bad{color:var(--bad)}.msg.ok{color:var(--ink-2)}.msg:empty{display:none}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}.seg button{height:var(--control-h);border:1px solid #1a1a1a;font-size:var(--fs-body);font-variant-numeric:tabular-nums}.seg button.on{background:var(--ink);color:#fff}.swatches{display:flex;gap:14px}.swatches button{width:var(--swatch);height:var(--swatch);border-radius:50%;box-shadow:inset 0 0 0 1px #0000001f;outline-offset:3px}.swatches button.on{outline:1.5px solid var(--ink)}.check{margin:22px var(--gutter) 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:var(--fs-body);line-height:1.45}.check b{font-weight:500;margin-right:6px}.check.bad{color:var(--warn)}.parts{padding:26px var(--gutter) 10px;scroll-margin-top:var(--header-h)}.parts h2{font-size:var(--fs-h3);font-weight:400}.parts h2 em{font-style:normal;color:var(--mute);font-variant-numeric:tabular-nums}#bom[aria-busy=true]{opacity:.45}.prow{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid var(--line);font-size:var(--fs-body);font-variant-numeric:tabular-nums}.prow i{font-style:normal;width:20px;height:20px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;font-size:11px}.prow small{display:block;color:var(--mute);margin-top:2px;line-height:1.4}.prow small.mach{color:var(--ink-2)}.prow small.blocked,.prow small.nosrc{color:var(--warn)}.prow .offers{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px}.prow .offers a{font-size:var(--fs-small)}.prow .flag{font-style:normal;font-size:11px;color:var(--warn);margin-left:4px}.prow .flag.soft{color:var(--mute)}.load-error{margin:14px 0;padding:14px 12px;background:var(--tint);color:var(--bad);font-size:var(--fs-body);display:grid;gap:10px;justify-items:start}.load-error[hidden]{display:none}.buy{margin-top:18px;display:grid;gap:10px}.buy .cart .pill{width:100%}.disclosure,.parts .note{font-size:var(--fs-small);color:var(--mute);line-height:1.45}.parts .note:empty{display:none}.waitlist{display:grid;gap:8px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}.waitlist input{height:var(--pill-h);border:1px solid var(--ink);border-radius:24px;padding:0 18px;font:inherit;font-size:var(--fs-input)}.waitlist input[aria-invalid=true]{border-color:var(--bad)}.tools{display:flex;gap:8px}.tools .pill{height:40px;font-size:var(--fs-body);padding:0 16px}.notes{margin-top:18px;display:grid;gap:10px;font-size:var(--fs-small);color:var(--mute);line-height:1.5}.notes p:empty{display:none}.notes b{font-weight:500;color:var(--ink-2)}.print-only{display:none}.bar{position:fixed;z-index:6;left:0;right:0;bottom:0;background:#fffffff0;backdrop-filter:blur(12px);padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));display:flex}.bar .pill{flex:1}@media(min-width:900px){body.project{padding-bottom:0}.bar{display:none}.proj{display:grid;grid-template-columns:minmax(0,1fr) 460px;align-items:start}.stage{position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h) - 32px)}.side{border-left:1px solid var(--line)}.config,.parts{padding-left:28px;padding-right:28px}.check{margin-left:28px;margin-right:28px}.stage.live .stage-list{display:inline-flex;position:absolute;right:var(--gutter);top:20px;height:40px;padding:0 16px;font-size:var(--fs-body);z-index:2}}@media print{.site-header,.site-footer,.crumbs,.stage,.config,.check,.bar,.toast,#bom,.buy,.notes,.parts>h2,.load-error{display:none!important}.print-only{display:block!important;font-size:11pt}.print-only table{width:100%;border-collapse:collapse}.print-only th,.print-only td{text-align:left;padding:4px 6px 4px 0;border-bottom:1px solid #999}}.project .crumbs{height:32px;overflow:hidden}.prow .flag.ok{color:var(--ink-2)}
