:root{color:#202522;font-synthesis:none;text-rendering:optimizelegibility;--ink:#202522;--muted:#68706b;--line:#d6dad6;--surface:#fff;--soft:#f4f5f2;--yellow:#f2c400;--teal:#008b77;--danger:#bd3b32;background:#eef0ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,select{font:inherit}button{color:inherit}button:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #008b773d}.app-shell{background:var(--soft);flex-direction:column;height:100%;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:5;flex:0 0 68px;grid-template-columns:minmax(230px,1fr) auto minmax(230px,1fr);align-items:center;height:68px;padding:0 18px;display:grid}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{background:var(--ink);place-items:center;width:30px;height:30px;display:grid;position:relative}.brand-mark:before,.brand-mark span{content:"";background:var(--yellow);display:block}.brand-mark:before{width:17px;height:5px}.brand-mark span{width:5px;height:17px;position:absolute}.brand-name{font-size:18px;font-weight:800}.brand-product{color:var(--muted);border-left:1px solid var(--line);padding-left:10px;font-size:13px}.steps{align-items:stretch;gap:6px;height:100%;display:flex}.steps button{min-width:120px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:flex;position:relative}.steps button:after{content:"";background:0 0;height:3px;position:absolute;bottom:0;left:12px;right:12px}.steps button.active{color:var(--ink);font-weight:700}.steps button.active:after{background:var(--yellow)}.steps button:disabled{opacity:.38;cursor:not-allowed}.top-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.icon-button,.danger-icon,.floating-icon{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:4px;place-items:center;width:38px;height:38px;display:grid}.primary-button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 15px;font-weight:700;display:inline-flex}.primary-button:hover{background:#353b37}.design-layout{flex:1;grid-template-columns:310px 54px minmax(0,1fr);min-height:0;display:grid}.design-layout.tools-collapsed{grid-template-columns:54px minmax(0,1fr)}.toolrail{z-index:4;background:#f5f6f4;border-right:1px solid #cfd3cf;flex-direction:column;grid-column:2;align-items:center;gap:3px;min-height:0;padding:5px;display:flex}.tools-collapsed .toolrail{grid-column:1}.toolrail button{color:#454b47;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;flex:0 0 42px;place-items:center;width:44px;height:42px;display:grid;position:relative}.toolrail button:hover{background:#e2e5e2;border-color:#d2d6d2}.toolrail button.active{color:#fff;background:#5a5d61;border-color:#5a5d61}.toolrail button:disabled{opacity:.28;cursor:not-allowed}.toolrail button:after{content:attr(data-tooltip);color:#fff;pointer-events:none;opacity:0;visibility:hidden;z-index:20;background:#292e2b;border-radius:3px;width:max-content;max-width:180px;padding:6px 8px;font-size:11px;font-weight:600;position:absolute;top:50%;left:50px;transform:translateY(-50%)}.toolrail button:hover:after{opacity:1;visibility:visible}.toolrail .collapse-button{margin-top:auto}.tool-separator{background:#d3d7d3;flex:0 0 1px;width:32px;height:1px;margin:3px 0}.workspace{background:#f7f8f6;flex-direction:column;grid-column:3;min-width:0;min-height:0;display:flex;position:relative}.tools-collapsed .workspace{grid-column:2}.editor-stage{flex:1;min-height:0;position:relative;overflow:hidden}.editor-stage.mode-draw canvas{cursor:crosshair}.canvas-mode-badge{z-index:2;color:#3b423e;border:1px solid var(--line);pointer-events:none;background:#fffffff0;border-radius:4px;align-items:center;gap:7px;height:32px;padding:0 10px;font-size:12px;font-weight:700;display:flex;position:absolute;top:14px;left:16px}.statusbar{border-top:1px solid var(--line);height:38px;color:var(--muted);background:#fff;flex:0 0 38px;justify-content:flex-end;align-items:center;gap:14px;padding:0 14px;font-size:11px;display:flex}.statusbar span{align-items:center;gap:6px;display:flex}.status-toggle{cursor:pointer;align-items:center;gap:6px;height:26px;display:flex}.status-toggle input{accent-color:var(--teal)}.status-toggle span{font-weight:700}.grid-size-control{border:1px solid var(--line);border-radius:3px;align-items:center;height:26px;display:flex;overflow:hidden}.grid-size-control button{border:0;border-right:1px solid var(--line);width:34px;height:24px;color:var(--muted);cursor:pointer;background:#fff;padding:0;font-size:10px}.grid-size-control button.active{background:var(--ink);color:#fff;font-weight:800}.grid-size-control small{padding:0 7px;font-size:9px}.connection-state.connection-on{color:var(--teal);font-weight:800}.inspector{background:var(--surface);border-right:1px solid var(--line);grid-column:1;min-height:0;overflow:hidden}.inspector-titlebar{color:#fff;text-transform:uppercase;background:#5a5d61;justify-content:center;align-items:center;height:54px;padding:0 18px;font-size:14px;font-weight:800;display:flex}.inspector-body{height:calc(100% - 54px);padding:20px;overflow-y:auto}.inspector-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:18px;display:flex}.eyebrow{color:var(--teal);text-transform:uppercase;letter-spacing:0;margin-bottom:5px;font-size:10px;font-weight:800;display:block}h1,h2,p{margin:0}.inspector h2{font-size:18px;line-height:1.25}.danger-icon{color:var(--danger);border-color:#ead2d0;flex:none}.measure-strip{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:baseline;margin-bottom:4px;padding:13px 0;font-size:12px;display:flex}.measure-strip strong{color:var(--ink);font-size:15px}.geometry-editor{border-bottom:1px solid var(--line);margin:14px -20px 2px;padding:0 20px 16px}.geometry-summary{height:34px;color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;display:flex}.geometry-summary strong{color:var(--teal);align-items:center;gap:5px;font-size:10px;display:flex}.geometry-primary{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px;display:grid}.geometry-primary label>span:first-child,.coordinate-grid label span{color:#5e6661;text-transform:uppercase;margin-bottom:5px;font-size:9px;font-weight:800;display:block}.unit-input{display:block;position:relative}.unit-input input,.coordinate-grid input{width:100%;height:38px;color:var(--ink);background:#fff;border:1px solid #c9cec9;border-radius:3px;padding:0 38px 0 9px;font-weight:800}.unit-input em{color:var(--muted);font-size:10px;font-style:normal;position:absolute;top:11px;right:8px}.geometry-editor details{margin-top:11px}.geometry-editor summary{color:#4f5752;cursor:pointer;font-size:10px;font-weight:800}.coordinate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.coordinate-grid input{padding-right:8px}.drawing-options{border-top:1px solid var(--line);margin:18px -20px 0;padding:12px 20px 0}.switch-row{color:#4e5651;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:38px;font-size:11px;font-weight:700;display:flex}.switch-row>span{align-items:center;gap:7px;display:flex}.switch-row input{appearance:none;cursor:pointer;background:#c8ceca;border-radius:10px;flex:none;width:34px;height:19px;transition:background .15s;position:relative}.switch-row input:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000003d}.switch-row input:checked{background:var(--teal)}.switch-row input:checked:after{transform:translate(15px)}.field-label{color:#515853;text-transform:uppercase;margin:18px 0 8px;font-size:11px;font-weight:800;display:block}.select-wrap{position:relative}.select-wrap select{appearance:none;cursor:pointer;background:#fff;border:1px solid #c9cec9;border-radius:4px;width:100%;height:40px;padding:0 36px 0 11px}.select-wrap svg{pointer-events:none;color:var(--muted);position:absolute;top:12px;right:11px}.segmented{border:1px solid #c9cec9;border-radius:4px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.segmented button{cursor:pointer;background:#fff;border:0;border-right:1px solid #c9cec9;height:36px;padding:0;font-size:11px}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--ink);color:#fff;font-weight:700}.color-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.color-grid button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:4px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;min-width:0;height:50px;padding:5px 7px;display:grid}.color-grid button.active{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.color-grid button span{border:1px solid #00000026;width:22px;height:22px}.color-grid button small{overflow-wrap:anywhere;min-width:0;font-size:10px;line-height:1.1}.wide-action{background:var(--yellow);cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;gap:8px;width:100%;height:42px;margin-top:22px;font-weight:800;display:flex}.secondary-action{border:1px solid var(--line);color:#555d58;cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:38px;margin-top:10px;padding:8px 10px;display:flex}.inspector textarea{resize:vertical;width:100%;min-height:84px;color:var(--ink);font:inherit;background:#fff;border:1px solid #c9cec9;border-radius:4px;padding:10px}.segmented.two{grid-template-columns:repeat(2,1fr)}.view-toolbar{z-index:3;border:1px solid var(--line);background:#fffffff5;border-radius:3px;align-items:center;height:38px;padding:3px;display:flex;position:absolute;top:14px;right:14px;box-shadow:0 2px 8px #22272414}.view-toolbar button{cursor:pointer;background:0 0;border:0;border-radius:2px;place-items:center;width:32px;height:30px;padding:0;display:grid}.view-toolbar button:hover{background:#e8ebe8}.view-toolbar button:disabled{opacity:.3;cursor:not-allowed}.view-toolbar span{background:var(--line);width:1px;height:21px;margin:0 3px}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.content-view{background:var(--soft);flex-direction:column;flex:1;min-height:0;padding:22px 24px 24px;display:flex}.view-heading{flex:none;justify-content:space-between;align-items:center;gap:20px;width:min(1320px,100%);margin:0 auto 16px;display:flex}.view-heading h1{font-size:24px;line-height:1.2}.count-chip{border:1px solid var(--line);background:#fff;border-radius:4px;padding:7px 10px;font-size:12px}.preview-shell{background:#ecefeb;border:1px solid #ccd1cc;flex:1;width:min(1320px,100%);min-height:0;margin:auto;position:relative;overflow:hidden}.preview-canvas{width:100%;height:100%}.preview-canvas canvas{display:block}.empty-preview{color:var(--muted);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex;position:absolute;inset:0}.floating-icon{position:absolute;top:14px;right:14px}.floating-icon:disabled{opacity:.45;cursor:not-allowed}.materials-view{overflow:auto}.material-summary{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(3,1fr);width:min(1320px,100%);margin:0 auto 14px;display:grid}.material-summary div{border-right:1px solid var(--line);flex-direction:column;justify-content:center;gap:5px;min-height:82px;padding:15px 18px;display:flex}.material-summary div:last-child{border-right:0}.material-summary span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.material-summary strong{font-size:22px}.table-wrap{border:1px solid var(--line);background:#fff;width:min(1320px,100%);margin:0 auto;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{color:#515853;text-align:left;text-transform:uppercase;background:#e3e6e2;height:39px;padding:0 14px;font-size:10px}td{border-top:1px solid #e1e4e1;height:50px;padding:0 14px}tbody tr:hover{background:#fafbf9}.sku{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700}.quantity{font-weight:800}.notice{color:#59615c;border-left:3px solid var(--teal);background:#e6f2ef;align-items:center;gap:9px;width:min(1320px,100%);margin:12px auto 0;padding:10px 12px;font-size:12px;display:flex}@media (width<=900px){.topbar{flex-basis:62px;grid-template-columns:1fr auto;height:62px;padding:0 10px}.brand-product{display:none}.steps{z-index:10;border-top:1px solid var(--line);background:#fff;justify-content:stretch;height:58px;position:fixed;bottom:0;left:0;right:0}.steps button{flex-direction:column;flex:1;gap:3px;min-width:0;padding:4px;font-size:10px}.steps button:after{top:0;bottom:auto}.design-layout,.design-layout.tools-collapsed{grid-template-columns:50px minmax(0,1fr);padding-bottom:58px}.toolrail,.tools-collapsed .toolrail{grid-column:1}.workspace,.tools-collapsed .workspace{grid-column:2}.inspector{z-index:5;border:1px solid var(--line);width:270px;max-height:calc(100% - 150px);position:absolute;top:74px;right:10px;box-shadow:0 8px 24px #1c211e24}.inspector-titlebar{height:44px}.inspector-body{height:calc(100% - 44px)}.toolrail{padding-left:4px;padding-right:4px}.toolrail button{width:40px}.toolrail button:after{display:none}.content-view{padding:16px 12px 72px}}@media (width<=600px){.top-actions .primary-button{width:38px;padding:0;font-size:0}.brand-name{font-size:16px}.inspector{width:auto;max-height:43%;padding:0;inset:auto 8px 68px 60px}.inspector-body{padding:14px}.inspector-heading{padding-bottom:10px}.field-label{margin-top:12px}.color-grid{grid-template-columns:repeat(4,1fr)}.color-grid button{grid-template-columns:1fr;height:35px;padding:5px;display:grid}.color-grid button span{margin:auto}.color-grid button small{display:none}.view-heading h1{font-size:20px}.material-summary{grid-template-columns:1fr}.material-summary div{border-right:0;border-bottom:1px solid var(--line);min-height:60px}.material-summary div:last-child{border-bottom:0}.statusbar{gap:8px;padding:0 8px}.connection-state{display:none!important}.grid-size-control small{display:none}.geometry-editor,.drawing-options{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}}
