:root{--bg:#090c10;--canvas:#0c1015;--panel:#11161c;--panel-raised:#161c24;--surface:#1a212a;--surface-hover:#202934;--border:#252e39;--border-strong:#374252;--text:#eef1f5;--text-soft:#c3c9d2;--muted:#7f8998;--accent:#ff8a4c;--accent-strong:#ff9d68;--accent-soft:#ff8a4c1f;--accent-line:#ff8a4c61;--blue:#8bc8ff;--danger:#ff8585;--warn:#f6c76a;--shadow:0 16px 40px #00000052;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;color:var(--text);background:var(--bg);color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button,select,input[type=range],input[type=color]{cursor:pointer}button:disabled,select:disabled,input:disabled{cursor:not-allowed}::selection{color:#190c05;background:var(--accent)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#394351 padding-box padding-box;border:2px solid #0000;border-radius:999px}:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.app-shell{background:var(--bg);grid-template-rows:56px 48px minmax(0,1fr) auto 28px;grid-template-columns:minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.projects-page{background:radial-gradient(circle at 76% -18%, #ff8a4c17, transparent 38%), linear-gradient(180deg, #0e1319 0, var(--bg) 42%);height:100dvh;overflow-y:auto}.projects-header{z-index:10;backdrop-filter:blur(18px);background:#0e1319e0;border-bottom:1px solid #374252a6;justify-content:space-between;align-items:center;min-height:64px;padding:10px max(22px,50vw - 580px);display:flex;position:sticky;top:0}.projects-brand{align-items:center;gap:11px;display:flex}.projects-brand>span:last-child{flex-direction:column;line-height:1.1;display:flex}.projects-brand strong{letter-spacing:-.01em;font-size:13px}.projects-brand small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-size:8px;font-weight:700}.projects-account,.projects-new,.projects-cloud-state button,.projects-add-cloud,.cloud-project-actions>a,.cloud-project-actions>button,.projects-text-button,.project-card-open{border:1px solid var(--border-strong);color:var(--text-soft);background:var(--panel-raised);border-radius:8px;font-weight:650;text-decoration:none;transition:border-color .14s,color .14s,background .14s,transform .14s}.projects-new:active,.project-card-open:active{transform:translateY(1px)}.projects-account:hover,.projects-cloud-state button:hover,.projects-add-cloud:hover,.cloud-project-actions>a:hover,.cloud-project-actions>button:hover:not(:disabled),.projects-text-button:hover,.project-card-open:hover{color:var(--text);background:var(--surface-hover)}.projects-account{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;max-width:min(260px,42vw);min-height:34px;padding:6px 11px;display:inline-flex;overflow:hidden}.projects-account>span{background:var(--muted);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #7f89981a}.projects-account>span.is-online{background:#75d99f;box-shadow:0 0 0 3px #75d99f1a}.projects-main{width:min(1116px,100% - 36px);margin:0 auto;padding:64px 0 80px}.projects-titlebar,.projects-section-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.projects-titlebar{margin-bottom:54px}.projects-eyebrow{color:var(--accent);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:700}.projects-titlebar h1{letter-spacing:-.045em;text-wrap:balance;margin:7px 0 8px;font-size:clamp(32px,5vw,52px);font-weight:680;line-height:.95}.projects-titlebar p,.projects-section-heading p,.project-card-copy p,.cloud-project-copy p,.projects-cloud-state p{color:var(--muted);margin:0;line-height:1.5}.projects-titlebar p{max-width:560px;font-size:12px}.projects-new{border-color:var(--accent);color:#1a0d06;background:var(--accent);min-height:40px;padding:8px 14px}.projects-new:hover{background:var(--accent-strong)}.projects-new span{margin-right:5px;font-size:16px}.projects-section+.projects-section{margin-top:48px}.projects-section-heading{align-items:center;margin-bottom:14px}.projects-section-heading h2{color:var(--text-soft);letter-spacing:-.01em;margin:0 0 4px;font-size:13px}.projects-section-heading p,.projects-count,.projects-text-button{font-size:9px}.projects-count{color:var(--muted);font-family:var(--mono);text-transform:uppercase}.projects-text-button{min-height:30px;padding:4px 9px}.projects-section-actions{align-items:center;gap:6px;display:flex}.projects-add-cloud{border-color:var(--accent-line);min-height:30px;color:var(--accent-strong);background:var(--accent-soft);padding:4px 9px;font-size:9px}.projects-create-cloud{border:1px solid var(--accent-line);background:linear-gradient(90deg, #ff8a4c0f, transparent), var(--panel);border-radius:10px;grid-template-columns:minmax(180px,1fr) minmax(180px,280px) auto;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:grid}.projects-create-cloud label{color:var(--text-soft);font-size:11px;font-weight:680}.projects-create-cloud p{color:var(--muted);margin:3px 0 0;font-size:9px}.projects-create-cloud input,.cloud-project-rename input{border:1px solid var(--border-strong);min-width:0;height:34px;color:var(--text);background:#0b0f14;border-radius:7px;padding:6px 9px}.projects-create-cloud input:focus,.cloud-project-rename input:focus{border-color:var(--accent)}.projects-create-cloud>button,.cloud-project-rename button{border:1px solid var(--border-strong);min-height:34px;color:var(--text-soft);background:var(--panel-raised);border-radius:7px;padding:5px 10px;font-size:9px;font-weight:650}.projects-create-cloud>button{border-color:var(--accent);color:#1a0d06;background:var(--accent)}.project-card{border:1px solid var(--border);background:linear-gradient(105deg, #ff8a4c0b, transparent 44%), var(--panel);border-radius:13px;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:22px;min-height:126px;padding:15px;display:grid;box-shadow:0 10px 30px #00000029}.project-card--local{border-color:#ff8a4c3d}.project-card--local.is-active{border-color:var(--accent-line);box-shadow:inset 2px 0 0 var(--accent), 0 10px 30px #00000029}.local-project-list{gap:10px;display:grid}.project-card-actions{align-items:center;gap:8px;display:flex}.project-card-delete{min-height:36px;color:var(--muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;padding:7px 12px;font-size:10px}.project-card-delete:hover{border-color:var(--danger-line,#ff6e6e66);color:var(--danger,#ff8f8f)}.project-card-preview,.cloud-project-preview{border:1px solid var(--border);color:var(--accent);background-color:#0b0f14;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:14px 14px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:9px;place-items:center;display:grid;position:relative;overflow:hidden}.project-card-preview{height:94px}.project-card-preview svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px;opacity:.78;width:72px;height:70px}.project-card-preview>span{color:var(--muted);font-family:var(--mono);letter-spacing:.12em;font-size:7px;font-weight:700;position:absolute;bottom:6px;right:7px}.project-card-copy>div,.cloud-project-copy>div{color:var(--muted);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:6px;font-size:8px;font-weight:700;display:flex}.project-card-dot{background:#75d99f;border-radius:50%;width:6px;height:6px}.project-card-copy h3,.cloud-project-copy h3,.projects-cloud-state h3{color:var(--text);letter-spacing:-.02em;margin:7px 0 5px;font-size:15px}.project-card-copy p,.cloud-project-copy p,.projects-cloud-state p{font-size:10px}.project-card-open{white-space:nowrap;justify-content:center;align-items:center;min-height:36px;padding:7px 12px;display:inline-flex}.project-card-open span{color:var(--accent);margin-left:8px}.projects-cloud-state{border:1px dashed var(--border-strong);min-height:104px;color:var(--muted);background:#11161c94;border-radius:12px;align-items:center;gap:14px;padding:20px;display:flex}.projects-cloud-state>div:nth-child(2),.projects-cloud-state>div:first-child:not(.projects-cloud-icon){flex:1}.projects-cloud-state button{white-space:nowrap;min-height:34px;padding:6px 11px}.projects-cloud-icon{border:1px solid var(--border);width:42px;height:42px;color:var(--blue);background:var(--panel-raised);border-radius:10px;flex:none;place-items:center;font-size:23px;display:grid}.projects-spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite projects-spin}@keyframes projects-spin{to{transform:rotate(360deg)}}.cloud-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.cloud-project-card{border:1px solid var(--border);background:var(--panel);border-radius:11px;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:98px;padding:10px;display:grid}.cloud-project-card.is-active{border-color:var(--accent-line);box-shadow:inset 2px 0 0 var(--accent)}.cloud-project-preview{height:76px}.cloud-project-preview svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.35px;width:44px}.cloud-project-copy{min-width:0}.cloud-project-copy h3,.cloud-project-copy p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cloud-project-actions{align-items:center;gap:4px;display:flex}.cloud-project-actions>a,.cloud-project-actions>button{white-space:nowrap;justify-content:center;align-items:center;min-height:32px;padding:5px 9px;display:inline-flex}.cloud-project-actions>button.is-danger{color:var(--danger)}.cloud-project-actions>button:disabled{opacity:.45}.cloud-project-rename{grid-template-columns:minmax(110px,1fr) auto auto;gap:4px;margin-top:7px;display:grid}.projects-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.projects-error{color:#ffb3b3;margin:10px 0 0;font-size:10px}@media (width<=720px){.projects-main{width:min(100% - 24px,620px);padding-top:38px}.projects-titlebar{flex-direction:column;align-items:flex-start;margin-bottom:38px}.projects-new{width:100%}.project-card{grid-template-columns:96px minmax(0,1fr);gap:14px}.project-card-preview{height:80px}.project-card-open{grid-column:1/-1}.cloud-project-grid{grid-template-columns:minmax(0,1fr)}.projects-cloud-state{flex-direction:column;align-items:flex-start}.projects-cloud-state button{width:100%}.projects-create-cloud{grid-template-columns:1fr}.projects-create-cloud>button{width:100%}}@media (width<=440px){.projects-header{padding-inline:12px}.projects-brand small{display:none}.projects-account{max-width:46vw}.project-card,.cloud-project-card{grid-template-columns:1fr}.project-card-preview,.cloud-project-preview{display:none}.cloud-project-actions,.cloud-project-actions>a,.cloud-project-actions>button{width:100%}.cloud-project-actions{flex-wrap:wrap}}.app-header{z-index:20;border-bottom:1px solid var(--border);background:#11161cf5;align-items:center;gap:14px;min-width:0;padding:8px 12px;display:flex;position:relative;box-shadow:0 1px 12px #0000002e}.brand{align-items:center;gap:10px;min-width:192px;display:flex}.brand-mark{border:1px solid var(--accent-line);width:34px;height:34px;color:var(--accent);background:linear-gradient(145deg,#ff8a4c26,#ff8a4c08);border-radius:10px;flex:none;place-items:center;display:grid}.brand-mark svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.brand-copy{flex-direction:column;min-width:0;line-height:1.1;display:flex}.brand-copy strong{letter-spacing:-.01em;font-size:13px;font-weight:680}.brand-copy small{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin-top:4px;font-size:9px;font-weight:650}.project-chip{border:1px solid var(--border);min-width:0;max-width:190px;min-height:34px;color:var(--text-soft);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#ffffff05;border-radius:999px;align-items:center;gap:7px;padding:4px 10px;display:inline-flex;overflow:hidden}.project-chip:hover{border-color:var(--border-strong);background:var(--surface)}.project-indicator{background:#7d8795;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #7d87951a}.project-chip-copy{flex-direction:column;min-width:0;line-height:1.05;display:flex}.project-chip-copy strong,.project-chip-copy small{text-overflow:ellipsis;overflow:hidden}.project-chip-copy strong{color:var(--text-soft);font-family:var(--mono);font-size:9.5px;font-weight:650}.project-chip-copy small{color:var(--muted);letter-spacing:.04em;margin-top:3px;font-size:8px}.project-chip.is-signed-in .project-indicator,.project-chip.cloud-saved .project-indicator{background:#75d99f;box-shadow:0 0 0 3px #75d99f1a}.project-chip.cloud-saving .project-indicator{background:var(--accent);animation:1s ease-in-out infinite cloud-pulse}.project-chip.cloud-conflict .project-indicator,.project-chip.has-cloud-error .project-indicator{background:var(--danger);box-shadow:0 0 0 3px #ff85851a}@keyframes cloud-pulse{50%{opacity:.35}}.app-actions{align-items:center;gap:6px;min-width:0;margin-left:auto;display:flex}.app-action{border:1px solid var(--border);min-height:34px;color:var(--text-soft);background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:11px;font-weight:620;transition:border-color .14s,color .14s,background .14s,transform .14s;display:inline-flex}.app-action:hover:not(:disabled){border-color:var(--border-strong);color:var(--text);background:var(--surface)}.app-action:active:not(:disabled){transform:translateY(1px)}.app-action.primary{border-color:var(--accent);color:#1a0d06;background:var(--accent);min-width:120px;box-shadow:0 5px 18px #ff8a4c29}.app-action.primary:hover:not(:disabled){border-color:var(--accent-strong);color:#160a04;background:var(--accent-strong)}.app-action.icon-only{width:34px;color:var(--muted);padding:0}.app-action:disabled{opacity:.38}.action-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}.action-divider{background:var(--border);width:1px;height:22px;margin:0 2px}.header-error{z-index:30;color:#ffc1c1;max-width:min(420px,100vw - 28px);box-shadow:var(--shadow);background:#411619f5;border:1px solid #ff858559;border-radius:8px;padding:9px 12px;font-size:11px;position:absolute;top:calc(100% + 10px);right:14px}.workspace{grid-template-columns:326px minmax(0,1fr);grid-template-areas:"inspector canvas";min-width:0;min-height:0;display:grid;overflow:hidden}.workflow{border-right:1px solid var(--border);background:#0e1319;flex-direction:column;grid-area:tools;align-items:stretch;min-width:0;min-height:0;padding:12px 7px;display:flex;overflow:hidden auto}.workflow-kicker{color:#5e6876;font-family:var(--mono);letter-spacing:.14em;text-align:center;text-transform:uppercase;margin:0 5px 8px;font-size:8px;font-weight:700}.workflow button{color:#788392;background:0 0;border:1px solid #0000;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:54px;padding:5px 2px;font-size:9px;font-weight:600;transition:color .14s,background .14s,border-color .14s;display:flex;position:relative}.workflow button svg{fill:none;stroke:currentColor;stroke-width:1.55px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.workflow button:hover{color:var(--text-soft);background:#ffffff09}.workflow button.active{color:var(--accent-strong);background:var(--accent-soft);border-color:#ff8a4c2e}.workflow button.active:before{background:var(--accent);content:"";border-radius:0 4px 4px 0;width:2px;position:absolute;top:13px;bottom:13px;left:-7px}.workflow button.starts-group{margin-top:13px}.workflow button.starts-group:after{background:var(--border);content:"";height:1px;position:absolute;top:-7px;left:8px;right:8px}.workflow-bar{border-bottom:1px solid var(--border);background:#0e1319;align-items:stretch;gap:8px;min-width:0;min-height:0;padding:6px 12px;display:flex;overflow:hidden}.workflow--top{white-space:nowrap;background:0 0;border-right:0;flex-direction:row;flex:1;grid-area:auto;align-items:center;min-width:0;padding:0;overflow:auto hidden}.workflow-group{align-items:center;gap:2px;min-width:0;display:flex}.workflow-group-divider{background:var(--border);width:1px;height:22px;margin:0 8px}.workflow-group-kicker{color:#5e6876;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-right:6px;font-size:8px;font-weight:700}.workflow--top button{flex-direction:row;gap:6px;min-width:0;min-height:34px;padding:5px 9px;font-size:10.5px}.workflow--top button svg{width:15px;height:15px}.workflow--top button.active:before{border-radius:4px 4px 0 0;width:auto;height:2px;inset:auto 10px 2px}.workflow-bar .workflow-export{white-space:nowrap;align-self:center;min-height:34px;margin-left:auto;position:sticky;right:0}.workflow-bar .workflow-export.active{outline:2px solid var(--accent-strong);outline-offset:2px}@media (width<=900px){.workflow-bar{padding:6px 8px;overflow-x:auto}.workflow-group-kicker{margin-right:2px;font-size:7px}.workflow--top button span:last-child{text-overflow:ellipsis;max-width:64px;overflow:hidden}}.sidebar{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;grid-area:inspector;min-width:0;min-height:0;display:flex;overflow:hidden}.sidebar-intro{border-bottom:1px solid var(--border);background:radial-gradient(circle at 100% 0, #ff8a4c1a, transparent 46%), var(--panel);flex:none;padding:16px 16px 14px;position:relative}.step-count{color:var(--accent);font-family:var(--mono);letter-spacing:.12em;font-size:9px;font-weight:700}.sidebar-intro h1{letter-spacing:-.025em;margin:5px 0 3px;font-size:18px;font-weight:650}.sidebar-intro p{color:var(--muted);margin:0;font-size:10.5px;line-height:1.45}.selection-chip{border:1px solid var(--border);color:var(--text-soft);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;background:#00000024;border-radius:999px;align-items:center;gap:2px;margin-top:10px;padding:4px 8px 4px 5px;font-size:9px;font-weight:650;display:inline-flex}.sidebar-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:0 16px 40px;overflow:hidden auto}.settings{flex-direction:column;display:flex}.settings>section{border-bottom:1px solid var(--border);padding:16px 0}.settings>section:last-child{border-bottom:0}.settings h2{color:var(--text-soft);letter-spacing:.105em;text-transform:uppercase;margin:0 0 10px;font-size:10px;font-weight:720;line-height:1.35}.settings h3{color:var(--text-soft);letter-spacing:.025em;margin:17px 0 8px;font-size:10.5px;font-weight:680}.hint{color:var(--muted);margin:7px 0 0;font-size:10.5px;line-height:1.48}.preset-row{flex-wrap:wrap;gap:5px;margin:0 0 8px;display:flex}.test-preview-section{scroll-margin-top:18px}.test-preview-selectors{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.test-model-preview{min-width:0}.test-preview-actions{border:1px solid var(--border);background:var(--panel-raised);border-radius:10px 10px 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.test-preview-actions>span{overflow-wrap:anywhere;color:var(--text-soft)}.test-preview-actions>div{flex-wrap:wrap;gap:6px;display:flex}.test-preview-actions button{border:1px solid var(--border-strong);min-height:32px;color:var(--text);background:var(--surface);border-radius:6px;padding:6px 12px}.test-preview-actions button:hover{background:var(--surface-hover)}.test-preview-canvas{touch-action:none;background:#202725;border-radius:0 0 10px 10px;height:clamp(280px,48vh,520px);overflow:hidden}.test-preview-canvas canvas{display:block}@media (width<=600px){.test-preview-selectors{grid-template-columns:minmax(0,1fr);gap:8px}.test-preview-actions>div{width:100%}}.support-foot-options,.shape-preset-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.support-foot-options button,.shape-preset-options button{border:1px solid var(--border);min-width:0;color:var(--text-soft);background:#0e1318;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:9px 4px;font-size:11px;display:flex}.support-foot-options svg{width:48px;height:48px}.shape-preset-options svg{width:44px;height:44px}.support-foot-options small{color:var(--muted);font-size:10px}.support-foot-options button:hover,.shape-preset-options button:hover{border-color:var(--border-strong)}.support-foot-options button[aria-pressed=true],.shape-preset-options button[aria-pressed=true]{border-color:var(--accent-line);color:var(--accent-strong);background:var(--accent-soft)}.support-foot-options button:focus-visible,.shape-preset-options button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.preset-row button,button.clear,.preset-save button{border:1px solid var(--border);min-height:30px;color:var(--text-soft);background:#0e1318;border-radius:7px;padding:5px 9px;font-size:10.5px;font-weight:560;transition:color .12s,border-color .12s,background .12s}.preset-row button:hover:not(:disabled),button.clear:hover:not(:disabled),.preset-save button:hover:not(:disabled){border-color:var(--border-strong);color:var(--text);background:var(--surface-hover)}.preset-row button.active,.preset-row button:focus-visible,.preset-save button:focus-visible{border-color:var(--accent-line);color:var(--accent-strong);background:var(--accent-soft)}.preset-row button:disabled{opacity:.32}button.clear{width:auto;color:var(--danger);margin:0}.choice{border:1px solid var(--border);background:#0d1116;border-radius:9px;grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;margin-bottom:9px;padding:3px;display:grid}.choice button{min-height:29px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:5px 7px;font-size:10.5px;font-weight:600}.choice button:hover,.choice button:focus-visible{color:var(--text-soft)}.choice button.active{color:var(--accent-strong);background:var(--surface);box-shadow:0 1px 5px #0003}.slider{min-width:0;color:var(--text-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;padding:5px 0;font-size:11.5px;display:grid}.slider>span{min-width:0}.slider>span em,.field em{color:#687282;font-size:9.5px;font-style:normal}.slider>span.slider-value{grid-column:2;justify-self:end;align-items:center;gap:6px;display:flex}.slider output{max-width:72px;color:var(--muted);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.slider-value input[type=number]{border:1px solid var(--border-strong);width:58px;height:27px;color:var(--text);font-family:var(--mono);text-align:right;background:#0b0f14;border-radius:6px;padding:3px 6px;font-size:10.5px}.slider-value input[type=number]:focus{border-color:var(--accent)}.slider-track{appearance:none;background:0 0;grid-column:1/-1;width:100%;height:14px;margin:1px 0 0}.slider-track::-webkit-slider-runnable-track{background:#414b59;border-radius:999px;height:3px}.slider-track::-moz-range-track{background:#414b59;border-radius:999px;height:3px}.slider-track::-webkit-slider-thumb{appearance:none;border:2px solid var(--accent);background:var(--panel);border-radius:50%;width:13px;height:13px;margin-top:-5px;box-shadow:0 0 0 3px #ff8a4c14}.slider-track::-moz-range-thumb{border:2px solid var(--accent);background:var(--panel);border-radius:50%;width:10px;height:10px}.field{min-height:36px;color:var(--text-soft);justify-content:space-between;align-items:center;gap:10px;padding:4px 0;font-size:11.5px;display:flex}.field input{border:1px solid var(--border-strong);width:76px;height:28px;color:var(--text);font-family:var(--mono);text-align:right;background:#0b0f14;border-radius:6px;padding:3px 7px;font-size:10.5px}.preset-select,.preset-save input,.gcode{border:1px solid var(--border-strong);width:100%;color:var(--text);background:#0b0f14;border-radius:7px;font-size:11px}.preset-select{min-height:32px;margin:0 0 7px;padding:5px 8px}.preset-save{gap:6px;display:flex}.preset-save input{min-width:0;min-height:31px;padding:5px 8px}.preset-save button{color:var(--accent-strong)}.gcode{resize:vertical;min-height:90px;font-family:var(--mono);padding:8px;font-size:9.5px;line-height:1.45}.assembly-check{min-height:34px;color:var(--text-soft);align-items:center;gap:8px;font-size:11.5px;display:flex}.assembly-check input{width:15px;height:15px;accent-color:var(--accent);flex:none;margin:0}.tube-controls,.bolt-controls,.cable-controls{border-left:2px solid var(--accent-line);background:#ffffff05;border-radius:0 8px 8px 0;margin:8px 0 10px;padding:8px 10px}.stack{flex-direction:column;gap:7px;display:flex}.stack-item{border:1px solid var(--border);background:#0d1217;border-radius:9px;transition:border-color .14s,background .14s;overflow:hidden}.stack-item:hover{border-color:#313b48}.stack-item.active{border-color:var(--accent-line);box-shadow:inset 2px 0 0 var(--accent);background:linear-gradient(90deg,#ff8a4c12,#0000 70%),#0d1217}.stack-item.muted{opacity:.7;border-style:dashed}.stack-item.muted .stack-name{color:var(--muted);text-decoration:line-through}.stack-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:7px;min-height:37px;padding:5px 6px 5px 9px;display:flex}.stack-head:last-child{border-bottom:0}button.stack-name,.stack-name{min-width:0;color:var(--accent-strong);font-family:var(--mono);letter-spacing:.08em;text-align:left;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:0 0;border:0;flex:1;padding:0;font-size:9px;font-weight:700;overflow:hidden}.stack-tools{flex:none;gap:3px;display:flex}.stack-tools button{border:1px solid var(--border);width:26px;height:26px;color:var(--muted);background:#ffffff04;border-radius:6px;place-items:center;padding:0;font-size:10px;display:grid}.stack-tools button:hover:not(:disabled):not(.danger),.stack-tools button.active{color:var(--blue);background:#8bc8ff12;border-color:#8bc8ff73}.stack-tools button.danger:hover:not(:disabled){color:var(--danger);border-color:#ff858580}.stack-tools button:disabled{opacity:.25}.stack-body{padding:9px 10px 11px}.stack-range{border-top:1px dashed var(--border);margin-top:8px;padding-top:7px}.swatch{vertical-align:-1px;border:1px solid #ffffff4d;border-radius:3px;flex:none;width:9px;height:9px;margin:0 6px 0 0;display:inline-block}.swatch-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:9px 0;display:grid}.swatch-grid button{background:var(--panel);min-width:0;min-height:66px;color:var(--text);border:1px solid #8080808c;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:7px 3px;font-size:10px;font-weight:600;display:flex}.swatch-dot{border:1px solid #80808080;border-radius:50%;width:28px;height:28px;display:block}.swatch-dot.is-clear{background-image:linear-gradient(135deg,#0000 46%,#405f6e80 47% 53%,#0000 54%)}.swatch-grid button:hover{border-color:var(--border-strong)}.swatch-grid button[aria-pressed=true],.swatch-grid button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.swatch-current{color:var(--muted);font-family:var(--mono);align-items:center;gap:7px;margin:9px 0;font-size:10px;display:flex}.tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:9px;display:grid}.tile-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.tile{border:1px solid var(--border);min-width:0;min-height:62px;color:var(--muted);background:#0d1217;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:7px 3px;font-size:9.5px;transition:color .12s,border-color .12s,background .12s;display:flex}.tile-grid.compact .tile{min-height:54px;padding:6px 2px;font-size:8.5px}.tile svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:19px}.tile:hover,.tile:focus-visible{border-color:var(--border-strong);color:var(--text-soft)}.tile.active{border-color:var(--accent-line);color:var(--accent-strong);background:var(--accent-soft)}.canvas-cage{z-index:4;visibility:hidden;pointer-events:none;user-select:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.canvas-cage-wire{fill:none;stroke:#ad5a37;stroke-width:1.25px;opacity:.55;pointer-events:none}.canvas-cage-wire.selected{stroke:#df6738;stroke-width:2px;opacity:1}.canvas-cage-handle{fill:#fff8ec;stroke:#ad5a37;stroke-width:2px;cursor:grab;pointer-events:all;touch-action:none}.canvas-cage-handle.selected,.canvas-cage-handle:focus-visible{fill:#df6738;stroke:#fff8ec;stroke-width:2.5px;outline:none}.canvas-cage-handle:active{cursor:grabbing}.canvas-cage:focus-visible{outline-offset:-2px;outline:2px solid #df6738}.cage-selectors{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.cage-selectors label{color:var(--text-soft);flex-direction:column;gap:6px;font-size:11px;display:flex}.cage-selectors select{width:100%;min-width:0;color:var(--text);background:var(--panel);border:1px solid var(--border);font:inherit;border-radius:5px;padding:7px}:root[data-shop=true] .cage-selectors select{border-radius:0}.curve-editor{border:1px solid var(--border);touch-action:none;user-select:none;background:#090d11;border-radius:10px;width:100%;height:auto;max-height:360px;margin:2px 0 9px;display:block}.ce-area{fill:#090d11;stroke:#ff8a4c59;stroke-width:.8px}.ce-grid{fill:none;stroke:#ffffff12;stroke-width:.6px}.ce-curve,.ce-draw{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.ce-draw{stroke-dasharray:4 3}.ce-handle{fill:var(--accent);stroke:#160b06;stroke-width:1.5px;cursor:grab}.ce-mark{fill:#697483;font-family:var(--mono);letter-spacing:.11em;font-size:7px}.ce-hint{fill:var(--muted);letter-spacing:.03em;font-size:10px}.preview-wrap{background:radial-gradient(circle at 50% 44%, #3642502e, transparent 42%), var(--canvas);grid-area:canvas;min-width:0;min-height:0;position:relative;overflow:hidden}.preview{position:absolute;inset:0}.preview canvas{display:block}.view-toolbar,.assembly-toolbar,.lamp-bar{z-index:5;backdrop-filter:blur(14px);background:#11161cd6;border:1px solid #404c5bb8;border-radius:10px;align-items:center;display:flex;position:absolute;box-shadow:0 10px 28px #0003}.view-toolbar{white-space:nowrap;gap:4px;max-width:calc(100% - 28px);padding:4px;top:14px;left:14px;overflow:auto hidden}.view-modes{border-right:1px solid var(--border);align-items:center;gap:2px;padding:0 3px 0 0;display:flex}.view-toolbar button,.assembly-toolbar button{min-height:30px;color:var(--muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;padding:5px 9px;font-size:10px;font-weight:600}.view-toolbar button:hover,.assembly-toolbar button:hover{color:var(--text-soft);background:#ffffff09}.view-toolbar button.active,.assembly-toolbar button.active{border-color:var(--border);color:var(--text);background:var(--surface);box-shadow:0 1px 4px #0003}.view-toolbar button.volume-toggle{align-items:center;gap:5px;display:inline-flex}.volume-toggle svg{fill:none;stroke:currentColor;stroke-width:1.55px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.view-toolbar .picked{max-width:100px;color:var(--accent-strong);font-family:var(--mono);letter-spacing:.09em;text-overflow:ellipsis;text-transform:uppercase;align-self:center;padding:0 7px;font-size:8.5px;font-weight:700;overflow:hidden}.view-toolbar button.stl{border-color:var(--accent-line);color:var(--accent-strong);background:var(--accent-soft)}.view-toolbar button.stl:disabled{opacity:.35}.assembly-toolbar{white-space:nowrap;gap:2px;max-width:calc(100% - 28px);padding:4px;bottom:14px;left:50%;overflow-x:auto;transform:translate(-50%)}.canvas-hint{z-index:4;color:#647080;font-family:var(--mono);pointer-events:none;background:#090c1080;border-radius:6px;padding:6px 8px;font-size:8.5px;position:absolute;bottom:15px;right:15px}.lamp-bar{white-space:nowrap;gap:8px;max-width:calc(100% - 28px);padding:5px;top:62px;left:14px;overflow-x:auto}.lamp-bar select,.lamp-bar button{border:1px solid var(--border-strong);min-height:29px;color:var(--text-soft);background:#0d1217;border-radius:6px;padding:4px 8px;font-size:10px}.lamp-bar input[type=range]{width:110px;accent-color:var(--accent)}.lamp-bar output{color:var(--muted);font-family:var(--mono);font-size:9px}.lamp-bar .lamp-fixed{color:var(--muted);white-space:nowrap;font-size:9px}.lamp-bar button:disabled{opacity:.35}.warnings{border-top:1px solid var(--border);background:#0e1319;align-items:center;gap:6px;min-width:0;min-height:34px;max-height:68px;padding:5px 12px;font-size:10px;display:flex;overflow:auto}.shopbar{border-top:1px solid var(--border);background:#0e1319;align-items:center;gap:14px;min-width:0;min-height:34px;padding:8px 16px;font-size:12px;display:flex;overflow-x:auto}.shopbar-price{font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;font-size:18px;font-weight:700}.shopbar-detail{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.shopbar-sku{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.shopbar-sku select{border:1px solid var(--border-strong);min-height:32px;color:var(--text);background:var(--panel-raised) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='%23c3c9d2' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 8px center / 12px;appearance:none;border-radius:8px;padding:0 26px 0 10px;font-weight:600}.shopbar>.app-action{min-height:40px;margin-left:auto;padding:0 18px;font-size:13px}.warning{text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;border-radius:6px;flex:none;max-width:min(760px,70vw);padding:4px 8px;overflow:hidden}.warning.error,.load-error{color:#ffb3b3;background:#ff85851a;border-color:#ff858552}.warning.warn{color:#f8d894;background:#f6c76a17;border-color:#f6c76a4d}.warning.info{color:var(--muted);font-family:var(--mono);background:0 0;border:0;margin-left:auto}.warning.ok{color:#7f998b}.warning .fix{color:inherit;opacity:.82;background:0 0;border:1px solid;border-radius:4px;margin-left:7px;padding:1px 6px;font-size:9px}.warning .fix:hover{opacity:1;background:#ffffff14}.load-error{border-style:solid;border-radius:7px;margin:8px 0;padding:7px 8px;font-size:10px;line-height:1.4;display:block}.statusbar{border-top:1px solid var(--border);color:#697482;min-width:0;font-family:var(--mono);white-space:nowrap;background:#0b0f14;align-items:center;gap:0;padding:0 12px;font-size:8.5px;display:flex;overflow-x:auto}.statusbar span{align-items:center;display:inline-flex}.statusbar span+span:before{content:"";background:#3d4754;border-radius:50%;width:3px;height:3px;margin:0 9px}.print-part{padding:10px}.print-part .hint{margin:7px 0}.print-note{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.account-dialog{border:1px solid var(--border-strong);width:min(620px,100vw - 28px);max-height:min(760px,100dvh - 28px);color:var(--text);background:var(--panel);border-radius:14px;padding:0;overflow:hidden auto;box-shadow:0 28px 80px #00000094}.account-dialog::backdrop{backdrop-filter:blur(5px);background:#030508b8}.account-dialog__header{z-index:2;border-bottom:1px solid var(--border);backdrop-filter:blur(14px);background:radial-gradient(circle at 100% 0,#ff8a4c1a,#0000 48%),#11161cf7;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px 16px;display:flex;position:sticky;top:0}.account-dialog__header h2,.account-dialog h3{margin:0}.account-dialog__header h2{letter-spacing:-.02em;font-size:17px}.account-dialog__header p,.account-dialog__auth>p,.account-dialog__conflict p,.account-dialog__empty{color:var(--muted);margin:5px 0 0;font-size:10.5px;line-height:1.45}.account-dialog button{border:1px solid var(--border);min-height:32px;color:var(--text-soft);background:#0d1217;border-radius:7px;padding:5px 10px;font-size:10.5px;font-weight:600}.account-dialog button:hover:not(:disabled){border-color:var(--border-strong);color:var(--text);background:var(--surface-hover)}.account-dialog button:disabled{opacity:.4}.account-dialog__close{flex:none;width:32px;padding:0!important;font-size:18px!important}.account-dialog__loading,.account-dialog__auth,.account-dialog__account,.account-dialog__create,.account-dialog__projects,.account-dialog__conflict{border-bottom:1px solid var(--border);margin:0;padding:17px 20px}.account-dialog__tabs{border:1px solid var(--border);background:#0b0f14;border-radius:9px;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:18px;padding:3px;display:grid}.account-dialog__tabs button{background:0 0;border-color:#0000}.account-dialog__tabs button[aria-selected=true]{color:var(--accent-strong);background:var(--surface)}.account-dialog__auth h3,.account-dialog__conflict h3,.account-dialog__section-title h3{color:var(--text-soft);font-size:12px}.account-dialog__auth form{gap:10px;margin-top:16px;display:grid}.account-dialog label{color:var(--text-soft);letter-spacing:.035em;gap:6px;font-size:10px;font-weight:650;display:grid}.account-dialog input{border:1px solid var(--border-strong);width:100%;min-width:0;height:34px;color:var(--text);background:#0b0f14;border-radius:7px;padding:6px 9px;font-size:11px}.account-dialog input:focus{border-color:var(--accent)}.account-dialog button.account-dialog__primary{border-color:var(--accent);color:#1a0d06;background:var(--accent)}.account-dialog button.account-dialog__primary:hover:not(:disabled){border-color:var(--accent-strong);color:#160a04;background:var(--accent-strong)}.account-dialog__guest-note{border:1px solid var(--border);background:#ffffff05;border-radius:7px;padding:8px 10px;margin-top:14px!important}.account-dialog__account{justify-content:space-between;align-items:center;gap:16px;display:flex}.account-dialog__account div{flex-direction:column;gap:3px;min-width:0;display:flex}.account-dialog__account span{color:var(--muted);text-transform:uppercase;font-size:9px}.account-dialog__account strong{color:var(--text-soft);text-overflow:ellipsis;font-size:11px;overflow:hidden}.account-dialog__create>div{grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:8px;display:grid}.account-dialog__section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.account-dialog__projects ul{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.account-dialog__projects li{border:1px solid var(--border);background:#0d1217;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.account-dialog__projects li.is-active{border-color:var(--accent-line);box-shadow:inset 2px 0 0 var(--accent);background:linear-gradient(90deg,#ff8a4c12,#0000 70%),#0d1217}.account-dialog__project-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.account-dialog__project-copy>strong,.account-dialog__project-copy>small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-dialog__project-copy>strong{color:var(--text-soft);font-size:11px}.account-dialog__project-copy>small{color:var(--muted);font-family:var(--mono);font-size:8.5px}.account-dialog__project-copy form{grid-template-columns:minmax(0,1fr) auto auto;gap:5px;display:grid}.account-dialog__project-actions{gap:5px;display:flex}.account-dialog__project-actions>a{border:1px solid var(--border);min-height:32px;color:var(--text-soft);background:#0d1217;border-radius:7px;align-items:center;padding:5px 10px;font-size:10.5px;font-weight:600;text-decoration:none;display:inline-flex}.account-dialog__project-actions>a:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-hover)}.account-dialog button.is-danger{color:var(--danger)}.account-dialog__conflict{background:#f6c76a0f;border-bottom-color:#f6c76a40}.account-dialog__conflict h3{color:var(--warn)}.account-dialog__conflict>div{gap:7px;margin-top:12px;display:flex}.account-dialog__error{color:#ffb3b3;background:#ff85851a;border:1px solid #ff858552;border-radius:7px;margin:14px 20px 18px;padding:8px 10px;font-size:10.5px}.account-dialog__visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.coming-soon{color:var(--muted);padding:22px 4px}@media (width<=1060px){.workspace{grid-template-columns:64px 300px minmax(0,1fr)}.workflow{padding-inline:5px}.workflow button.active:before{left:-5px}.brand{min-width:172px}.project-chip{max-width:120px}.canvas-hint{display:none}}@media (width<=850px){.brand-copy small,.action-label{display:none}.project-chip{max-width:112px}.project-chip-copy small{display:none}.brand{min-width:auto}.workspace{grid-template-columns:60px 284px minmax(0,1fr)}.sidebar-scroll{padding-inline:13px}.view-toolbar .picked,.volume-toggle span{display:none}}@media (width<=720px){.app-shell{grid-template-rows:52px minmax(0,1fr) auto 26px}.app-header{gap:8px;padding:7px 9px}.brand-mark{border-radius:9px;width:32px;height:32px}.brand-copy strong{font-size:12px}.app-action{min-height:36px;padding-inline:10px}.app-action.primary{min-width:auto}.workspace{grid-template:"tools"54px"canvas"minmax(220px,38vh)"inspector"minmax(0,1fr)/minmax(0,1fr)}.workflow{border-right:0;border-bottom:1px solid var(--border);scroll-snap-type:x proximity;flex-direction:row;align-items:stretch;padding:4px 7px;overflow:auto hidden}.workflow-kicker{display:none}.workflow button{scroll-snap-align:start;flex-direction:row;flex:0 0 67px;gap:5px;min-width:67px;min-height:44px}.workflow button svg{width:16px;height:16px}.workflow button.active:before{border-radius:4px 4px 0 0;width:auto;height:2px;inset:auto 13px -4px}.workflow button.starts-group{margin-top:0;margin-left:10px}.workflow button.starts-group:after{width:1px;height:auto;inset:7px auto 7px -6px}.sidebar{border-top:1px solid var(--border);border-right:0}.sidebar-intro{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1px 9px;padding:9px 12px;display:grid}.step-count{grid-row:1/3}.sidebar-intro h1{grid-column:2;margin:0;font-size:14px}.sidebar-intro p{text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:9.5px;overflow:hidden}.selection-chip{grid-area:1/3/3;margin:0}.sidebar-scroll{padding:0 14px max(36px, env(safe-area-inset-bottom))}.view-toolbar{max-width:calc(100% - 16px);top:8px;left:8px}.view-toolbar button,.assembly-toolbar button{min-height:34px}.assembly-toolbar{max-width:calc(100% - 16px);bottom:8px}.lamp-bar{max-width:calc(100% - 16px);top:56px;left:8px}.warnings{min-height:32px;max-height:54px;padding-inline:8px}.warning{max-width:86vw}.warning.info{margin-left:0}.statusbar{padding-inline:9px}}@media (width<=480px){.brand-copy{display:none}.project-chip{justify-content:center;width:34px;padding:0}.project-chip-copy{display:none}.app-header{padding-inline:7px}.app-actions{gap:4px}.app-action{width:34px;padding:0}.app-action.primary{width:auto;padding:0 10px}.action-divider{margin:0}.workspace{grid-template-rows:52px minmax(210px,35vh) minmax(0,1fr)}.workflow{padding-block:3px}.workflow button{flex-basis:63px;min-width:63px;font-size:8.5px}.sidebar-intro p{display:none}.sidebar-intro{grid-template-rows:auto}.step-count,.selection-chip{grid-row:1}.selection-chip{text-overflow:ellipsis;white-space:nowrap;max-width:116px;overflow:hidden}.settings>section{padding-block:14px}.preset-row button,button.clear,.preset-save button,.stack-tools button{min-height:34px}.stack-tools button{width:30px;height:30px}.view-toolbar button{padding-inline:8px}.view-toolbar button.stl{background:#352116;position:sticky;right:0}.lamp-bar output{display:none}.tile-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.account-dialog{border-radius:11px;width:calc(100vw - 14px);max-height:calc(100dvh - 14px)}.account-dialog__header,.account-dialog__loading,.account-dialog__auth,.account-dialog__account,.account-dialog__create,.account-dialog__projects,.account-dialog__conflict{padding-inline:14px}.account-dialog__projects li{grid-template-columns:1fr}.account-dialog__project-actions{grid-template-columns:1fr auto auto;display:grid}.account-dialog__error{margin-inline:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shop,.shop .projects-brand strong{font-size:15px}.shop .projects-brand small{font-size:9px}.shop .projects-eyebrow{font-size:11px}.shop .projects-titlebar h1{font-size:clamp(40px,6.5vw,72px)}.shop .projects-titlebar p{max-width:52ch;font-size:16px;line-height:1.6}.shop .projects-section+.projects-section{margin-top:72px}.shop .projects-section-heading{margin-bottom:20px}.shop .projects-section-heading h2{color:var(--text);letter-spacing:-.02em;font-size:20px}.shop .projects-section-heading p{font-size:13px}.shop .projects-new,.shop .project-card-open{min-height:44px;padding:10px 18px;font-size:14px}.shop .projects-new span{font-size:inherit;margin:0 0 0 6px}.shop .hint{font-size:13px}.shop .warning{white-space:normal;max-width:none;padding:10px 12px;font-size:13px}.checkout-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.checkout-form{gap:20px;display:grid}.checkout-card{border:1px solid var(--border);background:var(--panel);border-radius:14px;gap:14px;padding:22px;display:grid}.checkout-card h2{letter-spacing:-.01em;margin:0 0 2px;font-size:16px}.checkout-card label{color:var(--text-soft);gap:6px;font-size:13px;font-weight:500;display:grid}.checkout-card input:not([type=radio]),.checkout-card textarea{border:1px solid var(--border-strong);width:100%;min-height:44px;color:var(--text);background:var(--surface);font:inherit;border-radius:8px;padding:10px 12px;font-size:15px;transition:border-color .14s}.checkout-card input:not([type=radio]):focus,.checkout-card textarea:focus{border-color:var(--accent)}.checkout-picked{border:1px solid var(--border);min-height:44px;color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:15px;display:flex}.checkout-picked button,.checkout-hits button{color:var(--accent);font:inherit;text-align:left;background:0 0;border:0}.checkout-picked button{font-size:13px;font-weight:650}.checkout-hits{border:1px solid var(--border-strong);border-radius:8px;margin:-6px 0 0;padding:0;list-style:none;overflow:hidden}.checkout-hits li+li{border-top:1px solid var(--border)}.checkout-hits button{width:100%;min-height:44px;color:var(--text);padding:10px 12px;transition:background .14s;display:block}.checkout-hits button:hover{background:var(--surface-hover)}.checkout-rate{border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;font-size:14px;transition:border-color .14s,background .14s}.checkout-rate:hover{border-color:var(--border-strong)}.checkout-rate:has(input:checked){border-color:var(--accent-line);background:var(--accent-soft)}.checkout-rate input{width:18px;height:18px;accent-color:var(--accent);margin:0}.checkout-rate span:last-child{color:var(--text-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.checkout-summary{position:sticky;top:84px}.checkout-summary>p:not(.hint){margin:0;font-size:15px;font-weight:500}.checkout-summary dl{border-top:1px solid var(--border);grid-template-columns:1fr auto;gap:10px 0;margin:4px 0 6px;padding-top:14px;font-size:14px;display:grid}.checkout-summary dt{color:var(--text-soft)}.checkout-summary dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;padding-left:12px}.checkout-summary dt:last-of-type,.checkout-summary dd:last-of-type{border-top:1px solid var(--border);color:var(--text);padding-top:10px;font-weight:650}.checkout-total{letter-spacing:-.02em;font-size:20px;font-weight:700}.checkout-summary .projects-new{justify-content:center;width:100%;min-height:48px;font-size:15px}@media (width<=900px){.checkout-grid{grid-template-columns:minmax(0,1fr)}.checkout-summary{position:static}}@media (width<=720px){.shop .projects-section+.projects-section{margin-top:48px}}:root[data-theme=light]{--bg:#edf0f4;--canvas:#10141a;--panel:#fff;--panel-raised:#f1f5f9;--surface:#f1f5f9;--surface-hover:#e2e8f0;--border:#e0e6ee;--border-strong:#c3cedb;--text:#0f172a;--text-soft:#1e293b;--muted:#475569;--accent:#ea580c;--accent-strong:#c2410c;--accent-soft:#ea580c1a;--accent-line:#ea580c61;--blue:#2563eb;--danger:#dc2626;--warn:#b45309;--shadow:0 16px 40px #0f172a24;color-scheme:light}.workspace{grid-template-columns:76px 344px minmax(0,1fr);transition:grid-template-columns .18s}.app-shell[data-collapsed=true] .workspace{grid-template-columns:76px 0 minmax(0,1fr)}.app-shell[data-collapsed=true] .sidebar{opacity:0;visibility:hidden;pointer-events:none;border-right-color:#0000;overflow:hidden}.sidebar{transition:opacity .18s,visibility .18s}.sidebar-intro{padding-right:44px}.sidebar-collapse{border:1px solid var(--border);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:7px;place-items:center;padding:0;transition:color .15s,border-color .15s,background .15s;display:grid;position:absolute;top:12px;right:12px}.sidebar-collapse:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface)}.sidebar-collapse svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.slider{padding:7px 0}.slider-track{height:20px}.slider-track::-webkit-slider-thumb{width:15px;height:15px}.workflow button{min-height:58px}:root[data-theme=light] .app-header{background:#ffffffe6;box-shadow:0 1px 12px #0f172a14}:root[data-theme=light] .workflow{background:#f8fafc}:root[data-theme=light] .sidebar-intro{background:radial-gradient(circle at 100% 0, #ea580c1a, transparent 48%), var(--panel)}:root[data-theme=light] .project-chip{background:#f8fafc}:root[data-theme=light] .app-action.primary,:root[data-theme=light] .app-action.primary:hover:not(:disabled){color:#fff}:root[data-theme=light] .choice,:root[data-theme=light] .stack-item,:root[data-theme=light] .tile,:root[data-theme=light] .support-foot-options button,:root[data-theme=light] .shape-preset-options button,:root[data-theme=light] .preset-row button,:root[data-theme=light] button.clear,:root[data-theme=light] .preset-save button,:root[data-theme=light] .stack-tools button,:root[data-theme=light] .projects-create-cloud input,:root[data-theme=light] .cloud-project-rename input,:root[data-theme=light] .account-dialog input{background:#f8fafc}:root[data-theme=light] .slider-value input[type=number],:root[data-theme=light] .field input,:root[data-theme=light] .preset-select,:root[data-theme=light] .preset-save input,:root[data-theme=light] .gcode,:root[data-theme=light] .lamp-bar select,:root[data-theme=light] .lamp-bar button{color:var(--text);background:#f8fafc}:root[data-theme=light] .slider-track::-webkit-slider-runnable-track,:root[data-theme=light] .slider-track::-moz-range-track{background:#cbd5e1}:root[data-theme=light] .curve-editor{background:#f8fafc}:root[data-theme=light] .ce-area{fill:#f8fafc}:root[data-theme=light] .ce-grid{stroke:#0f172a1a}:root[data-theme=light] .warnings,:root[data-theme=light] .shopbar{background:#f8fafc}:root[data-theme=light] .statusbar{color:#64748b;background:#f1f5f9}:root[data-theme=light] .statusbar span+span:before{background:#cbd5e1}:root[data-theme=light] .warning.error,:root[data-theme=light] .load-error{color:#991b1b;background:#dc262614}:root[data-theme=light] .warning.warn{color:#92400e;background:#b4530914}:root[data-theme=light] .projects-page{background:radial-gradient(circle at 76% -18%, #ea580c1a, transparent 38%), linear-gradient(180deg, #f8fafc 0, var(--bg) 42%)}:root[data-theme=light] .account-dialog__header{background:radial-gradient(circle at 100% 0,#ea580c1a,#0000 48%),#fffffff7}@media (width<=720px){.app-shell[data-collapsed=true] .workspace{grid-template-rows:54px minmax(0,1fr) 0;grid-template-columns:minmax(0,1fr)}.app-shell[data-collapsed=true] .sidebar{display:none}}@media (width<=820px){html,body,#root{overscroll-behavior:none;min-height:100%}.app-shell{grid-template-rows:52px minmax(0,1fr) auto 22px;height:100dvh}.app-header{padding:6px max(8px, env(safe-area-inset-right)) 6px max(8px, env(safe-area-inset-left));grid-template-columns:auto minmax(0,1fr) auto;gap:7px;display:grid}.brand{gap:0;min-width:0}.brand-mark{border-radius:9px;width:38px;height:38px}.brand-copy{display:none}.project-chip{border-radius:9px;width:100%;max-width:150px;min-height:38px;padding:4px 9px}.project-chip-copy strong{font-size:9px}.project-chip-copy small{display:none}.app-actions{gap:4px;margin-left:0}.app-actions .app-action{width:38px;min-width:38px;min-height:38px;padding:0}.app-actions .action-divider{display:none}.header-error{max-width:none;top:calc(100% + 6px);left:8px;right:8px}.workspace,.app-shell[data-collapsed=false] .workspace{grid-template:"tools"50px"canvas"clamp(300px,48dvh,520px)"inspector"minmax(0,1fr)/minmax(0,1fr);transition:none}.app-shell[data-collapsed=true] .workspace{grid-template:"tools"50px"canvas"minmax(0,1fr)/minmax(0,1fr)}.app-shell[data-collapsed=true] .sidebar{display:none}.workflow{border-right:0;border-bottom:1px solid var(--border);scrollbar-width:none;scroll-snap-type:x proximity;flex-direction:row;grid-area:tools;align-items:stretch;min-width:0;padding:3px 7px;overflow:auto hidden}.workflow::-webkit-scrollbar{display:none}.workflow-kicker{display:none}.workflow button{scroll-snap-align:start;flex-direction:row;flex:1 0 72px;gap:5px;min-width:72px;min-height:44px;padding:5px 8px}.workflow button svg{width:16px;height:16px}.workflow button.active:before{border-radius:3px 3px 0 0;width:auto;height:2px;inset:auto 10px -3px}.workflow button.starts-group{margin-top:0;margin-left:8px}.workflow button.starts-group:after{width:1px;height:auto;inset:7px auto 7px -5px}.preview-wrap{grid-area:canvas;min-width:0;min-height:0}.view-toolbar{scrollbar-width:none;gap:2px;max-width:none;padding:3px;top:8px;left:8px;right:8px;overflow-x:auto}.view-toolbar::-webkit-scrollbar,.assembly-toolbar::-webkit-scrollbar,.lamp-bar::-webkit-scrollbar{display:none}.view-toolbar button,.assembly-toolbar button{min-height:38px;padding:6px 10px}.view-toolbar .picked,.volume-toggle span{display:none}.assembly-toolbar{scrollbar-width:none;max-width:calc(100% - 16px);min-height:44px;bottom:8px;overflow-x:auto}.lamp-bar{scrollbar-width:none;max-width:none;top:56px;left:8px;right:8px;overflow-x:auto}.lamp-bar select,.lamp-bar button{min-height:38px}.canvas-hint{display:none}.sidebar{border-top:1px solid var(--border);opacity:1;visibility:visible;pointer-events:auto;border-right:0;grid-area:inspector;min-width:0;min-height:0;transition:none;overflow:hidden}.sidebar-intro{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1px 9px;padding:9px 50px 9px 12px;display:grid}.step-count{grid-row:1/3}.sidebar-intro h1{text-overflow:ellipsis;white-space:nowrap;grid-column:2;margin:0;font-size:14px;overflow:hidden}.sidebar-intro p{text-overflow:ellipsis;white-space:nowrap;grid-column:2;margin:0;font-size:9.5px;overflow:hidden}.selection-chip{text-overflow:ellipsis;white-space:nowrap;grid-area:1/3/3;max-width:120px;margin:0;overflow:hidden}.sidebar-collapse{width:34px;height:34px;top:9px;right:10px}.sidebar-scroll{padding:0 14px max(36px, env(safe-area-inset-bottom));overscroll-behavior:contain}.settings>section{padding:15px 0 18px}.settings h2{margin-bottom:12px}.slider{min-height:56px;padding:7px 0}.slider-track{height:28px}.slider-value input[type=number],.field input,.preset-select,.preset-save input,.preset-row button,button.clear,.preset-save button,.choice button{min-height:42px}.stack-tools button{width:38px;height:38px}.support-foot-options button,.shape-preset-options button,.tile{min-height:72px}.warnings{min-height:38px;max-height:76px;padding:6px 9px}.warning{max-width:86vw}.warning.info{margin-left:0}.shopbar{min-height:0;padding:9px max(10px, env(safe-area-inset-right)) max(9px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) minmax(136px,auto);grid-template-areas:"price action""kit action""detail detail";gap:5px 10px;display:grid;overflow:visible}.shopbar-price{grid-area:price;align-self:end;font-size:17px}.shopbar-detail{text-overflow:ellipsis;grid-area:detail;min-width:0;font-size:10px;overflow:hidden}.shopbar-sku{grid-area:kit;gap:5px;min-width:0;font-size:10px}.shopbar-sku select{width:min(100%,180px);min-height:38px}.shopbar>.warning{grid-column:1/-1}.shopbar>.app-action{white-space:normal;grid-area:action;align-self:stretch;width:100%;min-width:136px;min-height:48px;margin:0;padding:8px 12px;font-size:11px;line-height:1.25}.statusbar{scrollbar-width:none;min-height:22px;padding:0 9px;font-size:8px}.statusbar::-webkit-scrollbar{display:none}}@media (width<=480px){.app-header{grid-template-columns:auto minmax(54px,1fr) auto}.project-chip{max-width:118px}.project-chip-copy{display:flex}.app-actions .theme-action,.app-actions .reset-action{display:none}.workspace,.app-shell[data-collapsed=false] .workspace{grid-template-rows:48px clamp(300px,48dvh,440px) minmax(0,1fr)}.app-shell[data-collapsed=true] .workspace{grid-template-rows:48px minmax(0,1fr)}.workflow button{flex-basis:68px;min-width:68px;min-height:42px;padding-inline:6px;font-size:8.5px}.view-toolbar button,.assembly-toolbar button{padding-inline:8px;font-size:9px}.sidebar-intro p{display:none}.sidebar-intro{grid-template-rows:auto}.step-count,.selection-chip{grid-row:1}.selection-chip{max-width:104px}.shape-preset-options,.support-foot-options{grid-template-columns:repeat(3,minmax(0,1fr))}.shopbar{grid-template-columns:minmax(0,1fr) 142px;grid-template-areas:"price action""kit action"}.shopbar-detail{display:none}.shopbar-sku select{max-width:150px}.statusbar span:nth-child(n+3){display:none}}@media (width<=360px){.project-chip{max-width:84px}.app-actions .app-action{width:36px;min-width:36px}.shape-preset-options,.support-foot-options{grid-template-columns:repeat(2,minmax(0,1fr))}.shopbar{grid-template-columns:minmax(0,1fr) 126px}}@media (width<=820px) and (height<=600px) and (orientation:landscape){.app-shell{grid-template-rows:48px minmax(0,1fr) auto 20px}.workspace,.app-shell[data-collapsed=false] .workspace{grid-template:"tools tools"48px"canvas inspector"minmax(0,1fr)/minmax(0,1.1fr) minmax(260px,.9fr)}.app-shell[data-collapsed=true] .workspace{grid-template:"tools"48px"canvas"minmax(0,1fr)/minmax(0,1fr)}.sidebar{border-top:0;border-left:1px solid var(--border)}.sidebar-intro p,.shopbar-detail{display:none}.shopbar{min-height:54px;padding-block:7px;display:flex;overflow-x:auto}.shopbar>.app-action{width:auto;min-width:142px;min-height:40px;margin-left:auto}}:root[data-shop=true]{--bg:#fff;--canvas:#f2f2f2;--panel:#fff;--panel-raised:#f2f2f2;--surface:#f2f2f2;--surface-hover:#e9e9e9;--border:#ddd;--border-strong:#000;--text:#000;--text-soft:#202020;--muted:#6f6f6f;--accent:#e30613;--accent-strong:#c9000b;--accent-soft:#e3061314;--accent-line:#e3061375;--danger:#c9000b;--warn:#8a5900;--shadow:0 16px 40px #0000001f;color-scheme:light}:root[data-shop=true] ::selection{color:#fff;background:var(--accent)}.bosan-brand-lockup{color:#000;align-items:baseline;gap:10px;line-height:1;display:inline-flex}.bosan-wordmark{letter-spacing:-.075em;transform-origin:0;font-size:16px;font-weight:800;transform:scaleX(.92)}.bosan-brand-lockup small{color:#6f6f6f;letter-spacing:.14em;text-transform:uppercase;font-size:8px;font-weight:700}:root[data-shop=true] .projects-page{color:#000;background:#fff}:root[data-shop=true] .projects-header{backdrop-filter:blur(12px);background:#fffffff5;border-bottom:2px solid #000;min-height:58px;padding:12px max(24px,50vw - 540px)}:root[data-shop=true] .projects-brand{gap:0}:root[data-shop=true] .projects-main{width:min(1080px,100% - 48px);padding:52px 0 88px}:root[data-shop=true] .shop .projects-titlebar{border-top:2px solid #000;align-items:flex-end;margin-bottom:72px;padding-top:14px}:root[data-shop=true] .shop .projects-eyebrow{color:var(--accent);letter-spacing:.1em;font-family:inherit;font-size:10px}:root[data-shop=true] .shop .projects-titlebar h1{letter-spacing:-.065em;margin-top:18px;font-size:clamp(44px,6vw,76px);font-weight:800;line-height:.92}:root[data-shop=true] .shop .projects-titlebar p,:root[data-shop=true] .shop .projects-section-heading p{color:#6f6f6f}:root[data-shop=true] .shop .projects-new,:root[data-shop=true] .shop .project-card-open{color:#fff;min-height:48px;box-shadow:none;background:#000;border:2px solid #000;border-radius:0;font-weight:700}:root[data-shop=true] .shop .projects-new:hover,:root[data-shop=true] .shop .project-card-open:hover{border-color:var(--accent);color:#fff;background:var(--accent)}:root[data-shop=true] .shop .projects-section-heading{border-top:2px solid #000;align-items:baseline;margin-bottom:18px;padding-top:12px}:root[data-shop=true] .shop .projects-section-heading h2{letter-spacing:.02em;text-transform:uppercase;font-size:18px;font-weight:800}:root[data-shop=true] .app-shell{background:#fff}:root[data-shop=true] .app-header{min-height:58px;box-shadow:none;background:#fff;border-bottom:2px solid #000;padding:9px 16px}:root[data-shop=true] .brand.bosan-brand{min-width:192px}:root[data-shop=true] .project-chip{color:#000;background:#fff;border:0;border-left:1px solid #ddd;border-radius:0;min-height:36px;padding:4px 10px}:root[data-shop=true] .project-chip:hover{color:var(--accent);background:#fff}:root[data-shop=true] .project-chip-copy strong{color:#000;font-family:inherit;font-size:10px;font-weight:700}:root[data-shop=true] .project-indicator{background:var(--accent);box-shadow:none;border-radius:0}:root[data-shop=true] .app-action{color:#000;background:#fff;border-color:#ddd;border-radius:0;min-height:34px}:root[data-shop=true] .app-action:hover:not(:disabled){color:#000;background:#f2f2f2;border-color:#000}:root[data-shop=true] .app-action.primary{color:#fff;box-shadow:none;background:#000;border:2px solid #000}:root[data-shop=true] .app-action.primary:hover:not(:disabled){border-color:var(--accent);color:#fff;background:var(--accent)}:root[data-shop=true] .action-divider{background:#ddd}:root[data-shop=true] .workflow{background:#fff;border-right-color:#000;padding:0}:root[data-shop=true] .workflow-kicker{color:#6f6f6f;border-bottom:1px solid #ddd;margin:0;padding:10px 4px;font-family:inherit}:root[data-shop=true] .workflow button{color:#6f6f6f;border:0;border-bottom:1px solid #eee;border-radius:0;min-height:62px}:root[data-shop=true] .workflow button:hover{color:#000;background:#f2f2f2}:root[data-shop=true] .workflow button.active{color:#fff;background:#000;border-color:#0000}:root[data-shop=true] .workflow button.active:before{background:var(--accent);border-radius:0;width:4px;top:0;bottom:0;left:0}:root[data-shop=true] .workflow button.starts-group:after{background:#ddd}:root[data-shop=true] .sidebar{background:#fff;border-right-color:#000}:root[data-shop=true] .sidebar-intro{background:#fff;border-bottom:2px solid #000;padding-block:18px 16px}:root[data-shop=true] .sidebar-intro h1{letter-spacing:-.04em;font-size:21px;font-weight:800}:root[data-shop=true] .step-count{color:var(--accent);font-family:inherit}:root[data-shop=true] .selection-chip{color:#000;background:#f2f2f2;border-radius:0;font-family:inherit}:root[data-shop=true] .settings h2{color:#000;font-size:10px;font-weight:800}:root[data-shop=true] .choice,:root[data-shop=true] .stack-item,:root[data-shop=true] .tile,:root[data-shop=true] .support-foot-options button,:root[data-shop=true] .shape-preset-options button,:root[data-shop=true] .preset-row button,:root[data-shop=true] button.clear,:root[data-shop=true] .preset-save button,:root[data-shop=true] .stack-tools button,:root[data-shop=true] .slider-value input[type=number],:root[data-shop=true] .field input,:root[data-shop=true] .preset-select,:root[data-shop=true] .preset-save input,:root[data-shop=true] .gcode,:root[data-shop=true] .lamp-bar select,:root[data-shop=true] .lamp-bar button{color:#000;background:#fff;border-radius:0}:root[data-shop=true] .choice{border-color:#000}:root[data-shop=true] .choice button{border-radius:0}:root[data-shop=true] .choice button.active,:root[data-shop=true] .preset-row button.active,:root[data-shop=true] .tile.active,:root[data-shop=true] .shape-preset-options button[aria-pressed=true],:root[data-shop=true] .support-foot-options button[aria-pressed=true]{color:#fff;box-shadow:none;background:#000}:root[data-shop=true] .slider-track{accent-color:var(--accent)}:root[data-shop=true] .curve-editor,:root[data-shop=true] .ce-area{fill:#f2f2f2;background:#f2f2f2;border-radius:0}:root[data-shop=true] .ce-grid{stroke:#0000001f}:root[data-shop=true] .preview-wrap{background:#f2f2f2}:root[data-shop=true] .view-toolbar,:root[data-shop=true] .assembly-toolbar,:root[data-shop=true] .lamp-bar{box-shadow:none;background:#fffffff0;border-color:#000;border-radius:0}:root[data-shop=true] .view-toolbar button,:root[data-shop=true] .assembly-toolbar button{color:#6f6f6f;border-radius:0}:root[data-shop=true] .view-toolbar button:hover,:root[data-shop=true] .assembly-toolbar button:hover{color:#000;background:#f2f2f2}:root[data-shop=true] .view-toolbar button.active,:root[data-shop=true] .assembly-toolbar button.active{color:#fff;box-shadow:none;background:#000;border-color:#000}:root[data-shop=true] .canvas-hint{color:#6f6f6f;background:#fffc;border-radius:0}:root[data-shop=true] .warnings,:root[data-shop=true] .shopbar{background:#fff;border-top:2px solid #000}:root[data-shop=true] .shopbar{min-height:64px;padding:9px 16px}:root[data-shop=true] .shopbar-price{font-size:21px;font-weight:800}:root[data-shop=true] .shopbar-sku select{color:#000;background-color:#fff;border-color:#000;border-radius:0}:root[data-shop=true] .shopbar>.app-action{min-height:44px;padding-inline:22px}:root[data-shop=true] .statusbar{color:#6f6f6f;background:#fff;border-top-color:#ddd}:root[data-shop=true] .statusbar span+span:before{background:var(--accent);border-radius:0}@media (width<=720px){:root[data-shop=true] .projects-main{width:min(100% - 32px,1080px);padding-top:32px}:root[data-shop=true] .shop .projects-titlebar{align-items:stretch}:root[data-shop=true] .workflow{border-bottom:1px solid #000;border-right:0}}.app-shell{--bg:#171d1c;--panel:#242a28;--panel-raised:#2c3330;--surface:#303835;--surface-hover:#3a433f;--border:#414b46;--border-strong:#67736a;--text:#f6f3eb;--text-soft:#e2dfd6;--muted:#b1bab1;--accent:#e1775e;--accent-strong:#f19b83;--accent-soft:#e1775e26;--accent-line:#e1775e70;--studio-rail:#131a18;--studio-rail-text:#bac5bc;--studio-toolbar:#f7f4ec;--studio-toolbar-text:#2d3430;--studio-stage:#202725;background:var(--bg);grid-template-rows:64px 50px minmax(0,1fr) auto 26px}:root[data-shop=true] .app-shell,:root[data-theme=light] .app-shell,:root[data-shop=true] .checkout-page,:root[data-theme=light] .checkout-page{--bg:#e8e5dc;--panel:#faf8f2;--panel-raised:#f1eee6;--surface:#f1eee6;--surface-hover:#e7e1d6;--border:#ded8cc;--border-strong:#a9a79d;--text:#252c29;--text-soft:#343d37;--muted:#656f68;--accent:#c44835;--accent-strong:#a73526;--accent-soft:#c448351a;--accent-line:#c4483566;--studio-rail:#202926;--studio-rail-text:#c5cec4;--studio-toolbar:#faf8f2;--studio-toolbar-text:#252c29;--studio-stage:#202725}:root .app-shell .workspace{grid-template-columns:360px minmax(0,1fr);grid-template-areas:"inspector canvas"}:root .app-shell[data-collapsed=true] .workspace{grid-template-columns:0 minmax(0,1fr)}:root .app-shell .app-header{border-bottom:1px solid var(--border);background:var(--panel);box-shadow:none;gap:18px;padding:8px 20px}:root .app-shell .brand.bosan-brand{min-width:188px}:root .app-shell .bosan-wordmark{font-size:20px}:root .app-shell .bosan-brand-lockup small{color:var(--muted);font-size:8px}:root .app-shell .project-chip{border:1px solid var(--border);background:var(--panel-raised);border-radius:3px;max-width:240px;min-height:40px;padding:5px 14px}:root .app-shell .project-chip:hover{border-color:var(--accent);color:var(--text);background:var(--surface-hover)}:root .app-shell .project-chip-copy strong{color:var(--text);font-family:Inter,ui-sans-serif,sans-serif;font-size:11px;font-weight:700}:root .app-shell .project-indicator{background:var(--accent);border-radius:50%;width:7px;height:7px}:root .app-shell .app-action{border:1px solid var(--border);min-height:38px;color:var(--text-soft);background:var(--panel-raised);border-radius:3px;transition:border-color .18s,background .18s,color .18s,transform .18s}:root .app-shell .app-action:hover:not(:disabled){border-color:var(--accent);color:var(--text);background:var(--surface-hover)}:root .app-shell .app-action.primary,:root .app-shell .shopbar>.app-action{border-color:var(--text);color:var(--panel);background:var(--text);box-shadow:none}:root .app-shell .app-action.primary:hover:not(:disabled),:root .app-shell .shopbar>.app-action:hover:not(:disabled){border-color:var(--accent);color:#fffaf5;background:var(--accent)}:root .app-shell .workflow{scrollbar-width:none;white-space:nowrap;background:0 0;border-right:0;flex-direction:row;flex:auto;align-items:center;gap:0;padding:0;overflow:auto hidden}:root .app-shell .workflow::-webkit-scrollbar{display:none}:root .app-shell .workflow-bar{border-bottom:1px solid var(--border);background:var(--studio-rail);gap:12px;padding:6px 14px}:root .app-shell .workflow-group{flex:none}:root .app-shell .workflow-group-kicker{color:#8f9c93;margin:0 7px 0 5px;font-size:8px}:root .app-shell .workflow-group-divider{background:#425048;height:24px;margin-inline:8px}:root .app-shell .workflow button{min-height:36px;color:var(--studio-rail-text);background:0 0;border:0;border-radius:3px;flex-direction:row;flex:none;gap:6px;padding:5px 10px;font-size:9px;font-weight:650}:root .app-shell .workflow button svg{stroke-width:1.7px;width:16px;height:16px}:root .app-shell .workflow button:hover{color:#fff;background:#34413b}:root .app-shell .workflow button.active{color:#fff;background:#aa4030}:root .app-shell .workflow button.active:before{display:none}:root .app-shell .workflow button.starts-group:after{background:#425048}:root .app-shell .workflow-bar>.workflow-export{flex:none;min-width:132px;min-height:36px;margin-left:auto;position:static}:root .app-shell .sidebar{border-right:1px solid var(--border);background:var(--panel)}:root .app-shell .sidebar-intro{border-bottom:1px solid var(--border);background:var(--panel);padding:22px 20px 18px}:root .app-shell .step-count{color:var(--accent);letter-spacing:.16em;font-size:9px}:root .app-shell .sidebar-intro h1{color:var(--text);letter-spacing:-.055em;margin:9px 0 5px;font-family:Space Grotesk,Inter,ui-sans-serif,sans-serif;font-size:26px;font-weight:700;line-height:1.08}:root .app-shell .sidebar-intro p{color:var(--muted);font-size:11px;line-height:1.5}:root .app-shell .sidebar-scroll{padding-inline:20px}:root .app-shell .settings>section{padding-block:20px}:root .app-shell .settings h2{color:var(--text);letter-spacing:-.025em;text-transform:none;font-family:Space Grotesk,Inter,ui-sans-serif,sans-serif;font-size:12px;font-weight:700}:root .app-shell .settings h3{font-size:11px}:root .app-shell .hint{font-size:11px;line-height:1.55}:root .app-shell .shape-preset-options,:root .app-shell .support-foot-options{gap:8px}:root .app-shell .shape-preset-options button,:root .app-shell .support-foot-options button,:root .app-shell .tile,:root .app-shell .stack-item{border:1px solid var(--border);color:var(--text-soft);background:var(--panel-raised);box-shadow:none;border-radius:4px;transition:border-color .18s,background .18s,transform .18s}:root .app-shell .shape-preset-options button:hover,:root .app-shell .support-foot-options button:hover,:root .app-shell .tile:hover,:root .app-shell .stack-item:hover{border-color:var(--accent);background:var(--surface-hover);transform:translateY(-1px)}:root .app-shell .shape-preset-options button[aria-pressed=true],:root .app-shell .support-foot-options button[aria-pressed=true],:root .app-shell .tile.active,:root .app-shell .stack-item.active{border-color:var(--accent);color:var(--text);background:var(--accent-soft);box-shadow:inset 0 3px 0 var(--accent)}:root .app-shell .shape-preset-options button svg{transition:transform .18s}:root .app-shell .shape-preset-options button:hover svg{transform:scale(1.06)}:root .app-shell .slider-track{accent-color:var(--accent)}:root .app-shell .slider-track::-webkit-slider-runnable-track,:root .app-shell .slider-track::-moz-range-track{background:var(--border-strong)}:root .app-shell .slider-value input[type=number],:root .app-shell .field input,:root .app-shell .preset-select,:root .app-shell .preset-save input,:root .app-shell .gcode,:root .app-shell .shopbar-sku select{border-color:var(--border-strong);color:var(--text);background-color:var(--panel-raised);font-variant-numeric:tabular-nums;border-radius:3px}:root .app-shell .preview-wrap{background:var(--studio-stage);border-left:1px solid #353e39}:root .app-shell .view-toolbar,:root .app-shell .assembly-toolbar,:root .app-shell .lamp-bar{background:var(--studio-toolbar);backdrop-filter:blur(14px);border:1px solid #ded8ccb8;border-radius:4px;box-shadow:0 9px 24px #0a13102e}:root .app-shell .view-toolbar{padding:5px;top:20px;left:20px}:root .app-shell .view-toolbar button,:root .app-shell .assembly-toolbar button{color:#5d665f;border-radius:2px;font-weight:650}:root .app-shell .view-toolbar button:hover,:root .app-shell .assembly-toolbar button:hover{color:var(--studio-toolbar-text);background:#ebe7dd}:root .app-shell .view-toolbar button.active,:root .app-shell .assembly-toolbar button.active{border-color:var(--studio-toolbar-text);color:#fff;background:var(--studio-toolbar-text);box-shadow:none}:root .app-shell .view-toolbar button.stl{border-color:var(--accent-line);color:#a73526;background:#f9eee8}:root .app-shell .assembly-toolbar{bottom:20px}:root .app-shell .canvas-hint{color:#e1e8dd;background:#141c18b8;border:1px solid #f7f4ec33;border-radius:3px;top:20px;bottom:auto;right:20px}@media (width<=1200px){:root .app-shell .canvas-hint{display:none}}:root .app-shell .warnings,:root .app-shell .shopbar{border-top:1px solid var(--border);background:var(--panel)}:root .app-shell .shopbar{min-height:72px;padding-inline:20px}:root .app-shell .shopbar-price{color:var(--text);letter-spacing:-.055em;font-family:Space Grotesk,Inter,ui-sans-serif,sans-serif;font-size:26px;font-weight:700}:root .app-shell .shopbar-sku select{min-height:40px}:root .app-shell .statusbar{border-top:1px solid var(--border);color:var(--muted);background:var(--panel-raised);font-variant-numeric:tabular-nums}:root .app-shell .statusbar span+span:before{background:var(--accent)}@media (width<=820px){:root .app-shell{grid-template-rows:56px 50px minmax(0,1fr) auto 22px}:root .app-shell .app-header{gap:8px;padding-inline:10px}:root .app-shell .workspace,:root .app-shell[data-collapsed=false] .workspace{grid-template:"canvas"clamp(280px,44dvh,470px)"inspector"minmax(0,1fr)/minmax(0,1fr)}:root .app-shell[data-collapsed=true] .workspace{grid-template:"canvas"minmax(0,1fr)/minmax(0,1fr)}:root .app-shell .workflow-bar{gap:7px;padding:6px 8px}:root .app-shell .workflow button{flex-direction:row;flex-basis:74px;gap:6px;min-width:74px;min-height:36px;font-size:10px}:root .app-shell .workflow-group-kicker{display:none}:root .app-shell .workflow-group-divider{margin-inline:5px}:root .app-shell .workflow-bar>.workflow-export{min-width:44px;padding-inline:10px}:root .app-shell .sidebar-intro{padding:12px 48px 12px 16px}:root .app-shell .sidebar-intro h1{margin:0;font-size:18px}:root .app-shell .sidebar-scroll{padding-inline:16px}:root .app-shell .view-toolbar{top:10px;left:10px;right:10px}:root .app-shell .assembly-toolbar{bottom:10px}:root .app-shell .shopbar{min-height:0;padding:10px 12px}:root .app-shell .shopbar-price{font-size:21px}}@media (width<=480px){:root .app-shell .project-chip{max-width:110px;padding-inline:8px}:root .app-shell .workspace,:root .app-shell[data-collapsed=false] .workspace{grid-template-rows:clamp(260px,41dvh,390px) minmax(0,1fr)}:root .app-shell .workflow button{flex-basis:66px;min-width:66px;min-height:36px;font-size:9px}:root .app-shell .view-toolbar button,:root .app-shell .assembly-toolbar button{min-height:34px}:root .app-shell .settings>section{padding-block:17px}}@media (prefers-reduced-motion:reduce){:root .app-shell .app-action,:root .app-shell .workflow button,:root .app-shell .shape-preset-options button,:root .app-shell .support-foot-options button,:root .app-shell .tile,:root .app-shell .stack-item{transition:none}}.simulation-summary{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 16px;padding:8px 18px;font-size:12px;display:flex}.simulation-summary button{margin-left:auto;padding:4px 8px;font-size:12px}.estimate-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;margin:16px 0;display:grid}.estimate-totals dt{color:var(--muted);font-size:11px}.estimate-totals dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:19px;font-weight:600}.estimate-table-wrap{overflow-x:auto}.estimate-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:11px}.estimate-table th,.estimate-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:8px 4px}.estimate-table td{white-space:nowrap}.estimate-table th{font-weight:500}.print-estimate summary{cursor:pointer;margin:14px 0;font-size:12px}.estimate-corrections{margin-top:14px}.export-feedback{z-index:30;border:1px solid var(--border-strong);background:var(--panel);max-width:min(360px,100vw - 32px);color:var(--text);border-radius:4px;align-items:center;gap:12px;padding:10px 12px;font-size:12px;display:flex;position:fixed;top:122px;right:16px}.export-feedback span{overflow-wrap:anywhere}.export-feedback button{flex:none;min-width:28px;padding:2px 6px;font-size:18px}@media (width<=600px){.simulation-summary{gap:5px 10px;padding:8px 12px}}:root .app-shell .design-intent{border-left:3px solid var(--accent);background:var(--accent-soft);margin:0 0 14px;padding:12px}.design-scale{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:750}.design-intent p{margin:6px 0;font-size:12px;line-height:1.5}.design-next{color:var(--muted);font-size:11px;line-height:1.5}.design-grid{gap:8px;margin:10px 0;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.texture-grid{grid-template-columns:repeat(3,minmax(0,1fr))}:root .app-shell .design-tile{border:1px solid var(--border);min-width:0;color:var(--text-soft);background:var(--panel-raised);text-align:center;border-radius:5px;flex-direction:column;align-items:center;gap:5px;padding:10px 7px;display:flex}:root .app-shell .design-tile:hover,:root .app-shell .design-tile:focus-visible,:root .app-shell .design-clear:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}:root .app-shell .design-tile.active,:root .app-shell .design-clear.active{border-color:var(--accent);color:var(--text);background:var(--accent-soft);box-shadow:inset 0 2px 0 var(--accent)}.design-tile strong{font-size:11px;font-weight:650}.design-tile small{color:var(--muted);font-size:10px}.design-swatch{pointer-events:none;width:100%;display:block}.form-swatch{fill:none;stroke:currentColor;stroke-width:1.2px;height:66px}.form-reference{stroke-dasharray:2 3;opacity:.2}.form-outline{fill:currentColor;fill-opacity:.08}.form-line{opacity:.35;stroke-width:.8px}.texture-swatch{fill:currentColor;stroke:none;border-radius:3px;height:48px}:root .app-shell .design-clear{border:1px solid var(--border);width:100%;min-height:34px;color:var(--text-soft);background:var(--panel-raised);border-radius:4px;font-size:11px}:root .app-shell .texture-families{margin:10px 0;display:flex}:root .app-shell .texture-families button{flex:1;min-width:0}.design-advanced{border-top:1px solid var(--border);margin-top:12px}.design-advanced summary{color:var(--text-soft);cursor:pointer;padding:10px 0;font-size:11px}.design-advanced .stack-range{margin-top:8px}.preview-loading,.page-loading{min-height:240px;color:var(--muted);background:var(--panel);place-items:center;display:grid}.panel-loading{color:var(--muted);padding:20px}:root .app-shell .prototype-preview{color:#35584b;background:radial-gradient(at 55% 28%,#fafaf5,#e8ece7 85%)}:root .app-shell .prototype-preview.is-lit{background:#101615}.prototype-preview .studio-heading{z-index:5;pointer-events:none;color:#687e72;letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:16px;font-size:11px;font-weight:700;display:flex;position:absolute;top:24px;left:28px;right:28px}.prototype-preview .studio-camera{pointer-events:auto;gap:6px;display:flex}.prototype-preview .studio-camera button,:root .app-shell .prototype-preview .view-toolbar,:root .app-shell .prototype-preview .assembly-toolbar,.prototype-preview .studio-inspect{color:#426451;backdrop-filter:blur(12px);background:#fafcf8e8;border:1px solid #d7e0d4;border-radius:9px;box-shadow:0 4px 16px #31544808}.prototype-preview .studio-camera button{color:#426451;padding:8px 11px;font-size:11px}:root .app-shell .prototype-preview .view-toolbar{top:auto;bottom:48px;left:20px}:root .app-shell .prototype-preview .assembly-toolbar{inset:76px auto auto 20px}:root .app-shell .prototype-preview .view-toolbar button,:root .app-shell .prototype-preview .assembly-toolbar button{color:#577563}:root .app-shell .prototype-preview .view-toolbar button.active,:root .app-shell .prototype-preview .assembly-toolbar button.active{color:#fff;box-shadow:none;background:#294f41;border-color:#294f41}.prototype-preview .studio-inspect{z-index:5;gap:8px;max-width:240px;padding:12px;font-size:11px;display:grid;position:absolute;top:126px;left:20px}.prototype-preview .studio-inspect select{color:#35584b;background:#fff;border:1px solid #d7e0d4;border-radius:6px;width:100%;padding:7px;font-size:11px}.prototype-preview .studio-inspect label{align-items:center;gap:7px;display:flex}.prototype-preview .studio-inspect input{accent-color:#294f41}.prototype-preview .studio-inspect-body{gap:8px;display:grid}.prototype-preview .studio-inspect-toggle{display:none}:root .app-shell .prototype-preview .canvas-hint{color:#789076}.prototype-preview.is-lit .studio-heading{color:#bac7bb}@media (width<=800px){.prototype-preview .studio-heading{font-size:9px;top:12px;left:12px;right:12px}.prototype-preview .studio-camera button{padding:6px}:root .app-shell .prototype-preview .assembly-toolbar{top:52px;left:12px}.prototype-preview .studio-inspect{gap:5px;max-width:180px;padding:8px;top:96px;left:12px}.prototype-preview .studio-inspect-toggle{color:#426451;background:0 0;border:0;padding:2px;font-size:11px;display:block}.prototype-preview .studio-inspect-body{display:none}.prototype-preview .studio-inspect.expanded .studio-inspect-body{display:grid}:root .app-shell .prototype-preview .canvas-hint{display:none}}:root .app-shell .prototype-preview .assembly-toolbar{transform:none}:root .app-shell .prototype-preview .canvas-hint{background:0 0;border:0;top:auto;bottom:12px;right:20px}:root .projects-page.checkout-page{color:var(--text);background:var(--bg)}:root[data-shop=true] .checkout-page{--muted:#646e67;--border-strong:#858a7f;color-scheme:light}:root .checkout-page .projects-header{border-color:var(--border);background:var(--panel)}:root .checkout-page .checkout-card input::placeholder,:root .checkout-page .checkout-card textarea::placeholder{color:var(--muted);opacity:1}:root .checkout-page .checkout-picked,:root .checkout-page .checkout-hits{background:var(--surface)}:root .checkout-page.shop .projects-new,:root .checkout-page.shop .project-card-open{border-color:var(--text);color:var(--panel);background:var(--text)}:root .checkout-page.shop .projects-new:hover:not(:disabled),:root .checkout-page.shop .project-card-open:hover:not(:disabled){border-color:var(--accent);color:#fffaf5;background:var(--accent)}:root .checkout-page.shop .projects-new:disabled{border-color:var(--border);color:var(--muted);background:var(--surface-hover)}:root .checkout-page .warning.error{border-color:var(--accent-line);color:var(--danger);background:var(--accent-soft);white-space:normal}:root .checkout-page.order-status-page .projects-main{width:min(1000px,100% - 48px);padding:32px 0 56px}:root .checkout-page.shop.order-status-page .projects-titlebar{align-items:flex-start;margin-bottom:24px}:root .checkout-page.shop.order-status-page .projects-titlebar h1{margin:12px 0 10px;font-size:clamp(32px,4vw,48px);line-height:1.05}:root .checkout-page.shop.order-status-page .projects-titlebar p{font-size:14px}.order-status-header-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.order-status-card{gap:28px;padding:24px;position:static}.order-status-card.has-qris{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start}.order-status-details{overflow-wrap:anywhere;gap:16px;min-width:0;display:grid}.order-status-details>p,.order-status-payment>p{margin:0;line-height:1.5}.order-status-payment{gap:16px;width:100%;min-width:0;max-width:340px;margin-inline:auto;display:grid}.order-status-qr{box-sizing:border-box;background:#fff;width:100%;padding:16px;display:block}.order-status-actions,.order-status-secondary-actions{gap:10px;display:grid}.order-status-secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.order-status-secondary-actions>:only-child{grid-column:1/-1}.order-status-action{box-sizing:border-box;border:1px solid var(--text);min-width:0;min-height:48px;color:var(--panel);background:var(--text);text-align:center;white-space:normal;border-radius:8px;justify-content:center;align-items:center;padding:10px 14px;font-size:14px;font-weight:650;line-height:1.35;text-decoration:none;display:inline-flex}.order-status-action-secondary{border-color:var(--border-strong);color:var(--text);background:0 0;font-size:13px}.order-status-action:hover:not(:disabled){border-color:var(--accent);color:#fffaf5;background:var(--accent)}.order-status-action:disabled{border-color:var(--border);color:var(--muted);background:var(--surface-hover)}@media (width<=720px){:root .checkout-page.order-status-page .projects-main{width:calc(100% - 32px);padding-top:24px}.order-status-header-actions{justify-content:flex-start;width:100%}.order-status-header-actions>.order-status-action{flex:1}.order-status-card{gap:24px;padding:18px}.order-status-card.has-qris{grid-template-columns:minmax(0,1fr)}}@media (width<=420px){.order-status-secondary-actions{grid-template-columns:minmax(0,1fr)}}.demo-notice{border:1px solid var(--accent-line);color:var(--text);background:var(--accent-soft);border-radius:8px;margin:0;padding:12px 14px;font-size:13px;line-height:1.5}:root .checkout-page .projects-main.dummy-payment{max-width:760px;padding-top:24px;padding-bottom:24px}:root .checkout-page .dummy-payment .projects-titlebar{margin-bottom:20px;padding-top:18px}:root .checkout-page .dummy-payment .projects-titlebar h1{margin:12px 0 8px;font-size:clamp(30px,5vw,42px);line-height:1.1}:root .checkout-page .dummy-payment .projects-titlebar p{font-size:14px}.dummy-payment-card{text-align:center;max-width:620px;margin:0 auto;padding:18px}.dummy-amount{font-size:clamp(28px,5vw,40px)}.dummy-qr{width:min(100%,190px);margin:0 auto;display:block}.dummy-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dummy-actions button{min-width:0;min-height:44px}@media (width<=600px){.dummy-actions{grid-template-columns:1fr}}.sheet-grip{display:none}@media (width<=820px){:root .app-shell{grid-template-rows:48px minmax(0,1fr) auto auto;grid-template-areas:"header""work""rail""dock"}:root .app-shell .app-header{min-height:0;padding:0 max(8px, env(safe-area-inset-right)) 0 max(14px, env(safe-area-inset-left));grid-area:header;gap:10px}:root .app-shell .brand.bosan-brand{min-width:0}:root .app-shell .bosan-brand-lockup small{display:none}:root .app-shell .project-chip{justify-self:start;width:auto;max-width:100%;min-height:36px}:root .app-shell .app-actions .app-action{width:40px;min-width:40px;min-height:40px}:root .app-shell .statusbar{display:none}:root .app-shell .export-feedback{max-width:none;top:56px;left:12px;right:12px}:root .app-shell .workspace,:root .app-shell[data-collapsed=false] .workspace{grid-area:work;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0, 1fr) var(--sheet,54%);grid-template-areas:"canvas""inspector"}:root .app-shell[data-collapsed=true] .workspace{grid-template-rows:minmax(0,1fr);grid-template-areas:"canvas"}:root .app-shell .preview-wrap{isolation:isolate;border-left:0}:root .app-shell .sidebar{z-index:2;border-top:1px solid var(--border);background:var(--panel);opacity:1;visibility:visible;pointer-events:auto;border-right:0;border-radius:18px 18px 0 0;grid-area:inspector;height:auto;min-height:0;margin-top:-18px;position:relative;box-shadow:0 -10px 30px #141c1829}:root .app-shell[data-collapsed=true] .sidebar{display:none}:root .app-shell .sheet-grip{z-index:1;cursor:ns-resize;touch-action:none;background:0 0;border:0;border-radius:18px 18px 0 0;width:100%;padding:0;display:block;position:absolute;inset:0}:root .app-shell .sheet-grip:before{content:"";background:var(--border-strong);border-radius:999px;width:40px;height:4px;position:absolute;top:7px;left:50%;transform:translate(-50%)}:root .app-shell .sheet-grip:active:before{background:var(--accent);width:56px}:root .app-shell .sheet-grip:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}:root .app-shell .sidebar-intro{background:var(--panel);border-radius:18px 18px 0 0;align-items:center;gap:10px;min-height:52px;padding:18px 16px 8px;display:flex}:root .app-shell .step-count,:root .app-shell .sidebar-intro p,:root .app-shell .sidebar-collapse{display:none}:root .app-shell .sidebar-intro h1{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;margin:0;font-size:16px;overflow:hidden}:root .app-shell .selection-chip{flex:0 auto;max-width:50%;margin:0}:root .app-shell .sidebar-scroll{overscroll-behavior:contain;padding:4px 16px 28px}:root .app-shell .preview-wrap .assembly-toolbar{max-width:calc(100% - 16px);min-height:0;padding:3px;inset:8px auto auto 8px}:root .app-shell .preview-wrap .view-toolbar{max-width:calc(100% - 16px);padding:3px;inset:auto auto 28px 8px}:root .app-shell .preview-wrap .view-toolbar button,:root .app-shell .preview-wrap .assembly-toolbar button{min-height:34px;padding:4px 10px;font-size:11px}:root .app-shell .prototype-preview .studio-heading{display:none}:root .app-shell .workflow-bar{padding:5px max(6px, env(safe-area-inset-right)) 5px max(6px, env(safe-area-inset-left));background:var(--studio-rail);border:0;grid-area:rail;gap:4px}:root .app-shell .workflow{border:0;flex:auto;padding:0}:root .app-shell .workflow-group{flex:1 0 auto;display:flex}:root .app-shell .workflow-group-divider{align-self:center;height:28px;margin-inline:4px}:root .app-shell .workflow button{letter-spacing:.01em;text-overflow:clip;white-space:nowrap;border-radius:10px;flex-direction:column;flex:1 0 64px;gap:4px;min-width:64px;min-height:54px;padding:6px 4px;font-size:10.5px;overflow:visible}:root .app-shell .workflow button svg{width:20px;height:20px}:root .app-shell .workflow-bar>.workflow-export{text-align:center;white-space:normal;border-radius:10px;flex-direction:column;flex:none;justify-content:center;width:72px;min-width:72px;min-height:54px;margin:0;padding:6px;font-size:10px;line-height:1.15}:root .app-shell .app-dock{min-width:0;padding-bottom:env(safe-area-inset-bottom);background:var(--panel);grid-area:dock}:root .app-shell .shopbar{padding:9px max(12px, env(safe-area-inset-right)) 9px max(16px, env(safe-area-inset-left));border-top:0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"price action""kit action";gap:3px 12px}:root .app-shell .shopbar-price{font-size:21px;line-height:1.05}:root .app-shell .shopbar-detail{display:none}:root .app-shell .shopbar-sku{color:var(--muted);gap:6px;font-size:11px}:root .app-shell .shopbar-sku select{width:auto;min-height:32px;padding-block:2px;font-size:12px}:root .app-shell .shopbar>.app-action{text-align:center;width:auto;min-width:0;max-width:176px;min-height:50px;padding:8px 18px;font-size:12.5px}:root .app-shell .settings>section{padding-block:18px}:root .app-shell .slider{min-height:72px;padding:10px 0;font-size:13px}:root .app-shell .slider>span em{font-size:11px}:root .app-shell .slider-value input[type=number]{width:86px;height:40px;padding:4px 8px;font-size:14px}:root .app-shell .slider output{max-width:96px;font-size:11px}:root .app-shell .slider-track{height:30px}:root .app-shell .slider-track::-webkit-slider-runnable-track{height:5px}:root .app-shell .slider-track::-webkit-slider-thumb{width:24px;height:24px;margin-top:-9.5px}:root .app-shell .slider-track::-moz-range-track{height:5px}:root .app-shell .slider-track::-moz-range-thumb{width:20px;height:20px}:root .app-shell .field{min-height:48px;font-size:13px}:root .app-shell .field input,:root .app-shell .preset-select,:root .app-shell .choice button,:root .app-shell .preset-row button,:root .app-shell button.clear{min-height:46px;font-size:13px}:root .app-shell .tile,:root .app-shell .shape-preset-options button,:root .app-shell .support-foot-options button{min-height:56px;font-size:12px}}@media (width<=820px) and (height<=620px) and (orientation:landscape){:root .app-shell{grid-template-rows:44px minmax(0,1fr) auto auto}:root .app-shell .workspace,:root .app-shell[data-collapsed=false] .workspace{grid-template:"canvas inspector"minmax(0,1fr)/minmax(0,1fr) minmax(280px,44%)}:root .app-shell[data-collapsed=true] .workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"canvas"}:root .app-shell .sidebar{border-top:0;border-left:1px solid var(--border);box-shadow:none;border-radius:0;margin-top:0}:root .app-shell .sheet-grip{display:none}:root .app-shell .sidebar-intro{border-radius:0;min-height:0;padding-top:10px}:root .app-shell .preview-wrap .view-toolbar{bottom:8px}:root .app-shell .workflow-bar{padding-block:3px}:root .app-shell .workflow button,:root .app-shell .workflow-bar>.workflow-export{flex-direction:row;min-height:40px}:root .app-shell .shopbar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"price kit action";align-items:center;padding-block:6px}:root .app-shell .shopbar>.app-action{min-height:42px}}
