:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;color:#253034;background:#f4f5f3;font-synthesis:none;--ink:#253034;--muted:#707c7c;--line:#e0e5e0;--accent:#d2ed73;--accent-ink:#283518;--radius:10px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;color:inherit;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;white-space:nowrap}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #6b8b37;outline-offset:3px}a{color:inherit;text-decoration:none}input,select,textarea{outline:none}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:#92ac5d!important;box-shadow:0 0 0 3px #a6c36d25}::selection{background:#dceba8}svg{flex-shrink:0}button,input,select,textarea{-webkit-tap-highlight-color:transparent}*{scrollbar-width:thin;scrollbar-color:#c7d0c6 transparent}.primary,.secondary{border-radius:7px;padding:11px 15px;font-size:12px;font-weight:600;min-height:39px}.primary{color:var(--accent-ink);background:var(--accent);border:1px solid #c4df65;box-shadow:0 1px 2px #18220b0a}.primary:hover:enabled{background:#c5e45d;border-color:#b4d34f}.secondary{background:#fff;border:1px solid #dbe1db;color:#485657;box-shadow:0 1px 2px #26382803}.secondary:hover:enabled{background:#f3f5f0;border-color:#becab9}.text-button{font-size:11px;font-weight:500;color:#74817a;padding:6px 0}.text-button:hover{color:#344534}.icon{padding:7px;min-width:30px;min-height:30px;border-radius:6px;color:#76827c}.icon:hover{background:#edf1e9;color:#3b4c37}.divider{width:1px;height:19px;background:#e0e5df;display:inline-block;margin:0 3px;flex:none}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.5px;color:#819087}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#86a951;flex:none}.topbar{height:66px;display:flex;align-items:center;gap:28px;padding:0 23px;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:4}.brand{display:flex;gap:9px;align-items:center;letter-spacing:-1px;font-size:25px;font-weight:750;min-width:266px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:#26332a;color:#d3ee7f;border-radius:9px}.beta{font-size:7px;font-weight:650;letter-spacing:1px;color:#7a867e;border:1px solid #e0e6db;border-radius:4px;padding:4px 6px;margin:3px 0 0 4px}.project-title{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.project-title input{border:1px solid transparent;border-radius:5px;background:transparent;color:#4a5650;width:165px;font-size:12px;font-weight:550;padding:5px 3px}.project-title input:hover{border-color:#e5e9df}.project-title>svg{color:#9ca498}.saved{font-size:10px;color:#8b9589;margin-left:9px}.top-actions{display:flex;align-items:center;gap:12px}.top-actions>.text-button{font-size:11px}.save-button{min-height:35px;padding:8px 12px;font-size:11px}.workspace{display:flex;height:calc(100dvh - 66px);min-height:600px}.sidebar{width:320px;flex:none;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.project-heading{padding:25px 23px 21px}.project-heading h1{font-size:22px;line-height:1.3;font-weight:650;letter-spacing:-.7px;margin:9px 0 7px}.project-heading p{font-size:11px;line-height:1.5;color:#6e7c70;margin:0}.sidebar-tabs{display:flex;gap:7px;margin:0 17px 4px;padding:4px;background:#f1f3ee;border-radius:8px;border:1px solid #edf0e8}.sidebar-tabs button{flex:1;padding:9px 8px;border-radius:5px;font-size:11px;font-weight:550;color:#8b9688}.sidebar-tabs .active{background:#fff;color:#3e4d35;box-shadow:0 1px 5px #2839240d}.sidebar-tabs button span{font-size:9px;padding:1px 5px;background:#edf2e3;border-radius:4px;color:#72855b}.section-row{padding:17px 22px 11px;display:flex;align-items:center;justify-content:space-between;gap:6px}.section-row>span{font-size:9px;letter-spacing:1.1px;font-weight:600;color:#6e7d6b}.section-row b{font-size:9px;font-weight:400;letter-spacing:0;color:#99a28f;margin-left:8px}.section-row .icon{width:25px;height:25px;min-height:25px;min-width:25px;border:1px solid #e1e7d9;padding:4px;color:#6d8158}.part-list{padding:0 12px;overflow-y:auto;flex:1;min-height:80px}.part-card{display:flex;gap:10px;padding:13px 9px;border:1px solid transparent;border-bottom-color:#edf0e8;border-radius:7px;cursor:pointer;transition:background .15s,border-color .15s}.part-card:hover{background:#f8faf5;border-color:#e8ecdf}.part-card.selected{background:#f1f6e7;border-color:#cbdcaf}.part-thumb{height:48px;width:42px;display:flex;align-items:center;justify-content:center;background:#f2f3ee;border-radius:6px;flex:none}.part-thumb svg{height:36px;width:31px;transform:scaleY(-1)}.part-info{flex:1;min-width:0}.part-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;line-height:1.4;margin:1px 0 5px;color:#3d493b}.part-info>span{display:block;font-size:10px;color:#6b795f;font-variant-numeric:tabular-nums}.part-info>div{display:flex;gap:6px;align-items:center;margin-top:5px}.part-info small{font-size:8px;color:#72825f}.cutout-tag{padding:1px 5px;background:#ecf0e5;border:1px solid #e3e9d9;border-radius:4px}.part-tools{display:flex;align-items:flex-end;justify-content:space-between;flex-direction:column;gap:8px;flex:none}.part-tools>div{display:flex;align-items:center;gap:8px}.part-tools button{padding:1px;min-width:16px;color:#98a28e;opacity:1;border-radius:3px}.part-tools button:hover{color:#405c28;background:#e8eedf}.part-tools .quantity-control{display:flex;gap:0;height:26px;border:1px solid #dce4d3;background:#fff;border-radius:5px;overflow:hidden}.part-tools .quantity-control button{width:21px;height:24px;font-size:14px;line-height:1;padding:0;color:#677e50}.part-tools .quantity-control button:disabled{opacity:.3}.part-tools .quantity-control input{width:30px;height:24px;min-width:0;border:0;border-right:1px solid #e8eddf;border-left:1px solid #e8eddf;background:#fff;color:#4c6536;font-size:10px;text-align:center;font-variant-numeric:tabular-nums;padding:0 1px;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.add-part{flex:none;margin:16px 22px 14px;padding:12px 13px;border:1px dashed #becdad;border-radius:7px;background:#fbfcf8;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;font-size:11px;font-weight:550;color:#55723d}.add-part:hover{background:#f1f6e7;border-color:#8da974}.add-part span{width:100%;text-align:left;font-size:9px;font-weight:400;color:#9aa78c;padding-left:23px;margin-top:-1px}.local-note{flex:none;display:flex;gap:11px;align-items:center;background:#f6f8f1;border:1px solid #edf0e5;border-radius:7px;margin:0 22px 12px;padding:11px 12px}.little-icon{color:#8c9d77}.local-note p{font-size:9px;line-height:1.8;color:#9aa68b;margin:0}.local-note strong{font-size:10px;font-weight:550;color:#7b8c67}.sidebar-utility{padding:0 23px 12px}.clear-parts{font-size:10px;color:#8a9581;padding:6px 0;gap:6px}.clear-parts:hover:enabled{color:#a15e43}.sidebar-bottom{flex:none;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e8eddf;padding:15px 23px;margin-top:auto}.sidebar-bottom .text-button{font-size:10px}.empty-parts{padding:30px 14px;text-align:center;color:#929f85;font-size:11px;line-height:1.8}.settings-panel{padding:23px;display:flex;flex-direction:column;gap:17px;overflow-y:auto;flex:1;min-height:0}main{display:flex;flex-direction:column;gap:18px;padding:25px 26px 16px;flex:1;min-width:0;overflow-y:auto;background:#f4f5f2}.main-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none}.main-heading h2{display:flex;align-items:center;gap:12px;font-size:24px;letter-spacing:-.8px;line-height:1.3;font-weight:650;margin:8px 0 6px}.main-heading p{font-size:11px;color:#6c7b69;line-height:1.5;margin:0}.workspace-version{display:inline-block;letter-spacing:.6px;font-size:8px;font-weight:600;color:#8b9881;background:#e9eee0;border:1px solid #e0e7d6;border-radius:4px;padding:4px 6px;white-space:nowrap}.main-heading .eyebrow{font-size:8px}.heading-buttons{display:flex;align-items:center;gap:8px;flex:none}.heading-buttons .primary,.heading-buttons .secondary{font-size:11px;padding:10px 12px;min-height:38px}.metrics{display:grid;grid-template-columns:.9fr 1fr 1.2fr 1.1fr;background:#fff;border:1px solid #e0e5d9;border-radius:9px;padding:17px 0;flex:none;box-shadow:0 2px 4px #24351c02}.metrics>div{padding:0 21px;border-right:1px solid #e9ecdf}.metrics>div:last-child{border:0}.metrics>div>span{display:flex;align-items:center;gap:7px;font-size:8px;font-weight:550;letter-spacing:1px;color:#8b987f}.metrics strong{display:block;font-size:25px;letter-spacing:-.8px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:8px;white-space:nowrap;line-height:1.15}.metrics small{font-size:9px;letter-spacing:0;font-weight:400;color:#72815f;margin-left:5px}.metrics em{font-size:12px;letter-spacing:0;font-weight:400;font-style:normal;color:#92a07f;margin-left:2px}.metric-dot{height:11px;width:11px;display:inline-block;border:2px solid #a2b785;border-radius:50%;position:relative}.metric-dot:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:#b7d287}.spacing-metric small{display:block;margin:4px 0 0}.studio-stage{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:16px;flex:1;min-height:530px}.studio-stage.no-results{grid-template-columns:minmax(0,1fr)}.canvas-panel{grid-column:1;grid-row:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #2c3838;background:#202a2d;border-radius:10px;box-shadow:0 3px 8px #1d2b2110}.canvas-toolbar{flex:none;height:49px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 13px;background:#283336;border-bottom:1px solid #3d4949}.sheet-tabs{display:flex;height:100%;align-items:stretch;gap:7px;overflow-x:auto;max-width:50%}.sheet-tabs button{position:relative;gap:7px;padding:0 8px;color:#8c9c99;font-size:10px;flex:none}.sheet-tabs button.active{color:#d9e5d3}.sheet-tabs button.active:after{content:"";position:absolute;bottom:0;left:8px;right:8px;height:2px;background:#cce87b}.tab-dot{width:4px;height:4px;display:inline-block;border-radius:50%;background:#cce87b;margin-left:3px}.view-options{display:flex;align-items:center;gap:8px}.view-options button{font-size:9px;gap:4px;color:#80918d;padding:5px 2px;border-radius:4px}.view-options button:hover{color:#d6e6c5}.view-options button.on{color:#c1d7ad}.view-options .divider{background:#43504c;height:17px;margin:0 2px}.view-options .icon{min-width:25px;min-height:25px}.view-options .icon:hover{background:#3c4944}.view-options .toolbar-optimize{padding:6px 8px;color:#cee995;background:#34432f;border:1px solid #506346;font-size:9px;font-weight:550}.view-options .toolbar-optimize:hover{background:#435938}.toolbar-optimize span{font-size:9px}.canvas{flex:1;min-height:430px;position:relative;overflow:hidden;touch-action:none;cursor:grab;background-color:#202a2d;background-image:radial-gradient(#43504c .7px,transparent .7px);background-size:18px 18px}.canvas:active{cursor:grabbing}.canvas-caption{position:absolute;left:20px;top:19px;z-index:1;display:flex;align-items:center;gap:9px;color:#83968b;font-size:8px;letter-spacing:.7px;pointer-events:none}.canvas-caption>span:not(.status-dot){color:#53695a}.canvas-caption .status-dot{background:#bbd77a;height:5px;width:5px}.sheet-view{position:absolute;top:44px;bottom:54px;left:45px;right:45px;display:flex;align-items:center;justify-content:center;transform-origin:center;pointer-events:none}.sheet-view svg{height:100%;max-width:100%;overflow:visible;filter:drop-shadow(0 8px 14px #00000035);pointer-events:auto}.canvas-legend{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;gap:6px;font-size:8px;color:#829580;pointer-events:none}.legend-square{height:8px;width:8px;background:#b7b3a0;border:1px solid #c4bea9}.legend-dashed{height:8px;width:8px;border:1px dashed #a6b897;margin-left:9px}.grain-line{margin-left:8px;font-size:13px}.canvas-controls{display:flex;align-items:center;position:absolute;bottom:15px;right:16px;z-index:2;height:34px;border:1px solid #56654e;background:#2d3a32;border-radius:6px;box-shadow:0 2px 6px #00000015;padding:0 4px}.canvas-controls button{padding:6px;color:#a9c08f;border-radius:4px}.canvas-controls button:hover{background:#3b4e36;color:#d6ebae}.canvas-controls>span:not(.divider){font-size:9px;color:#b7c7a3;min-width:37px;text-align:center;font-variant-numeric:tabular-nums}.canvas-controls .divider{height:16px;background:#50604a;margin:0 3px}.canvas-status{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none;padding:11px 15px;background:#283336;border-top:1px solid #3d4949;font-size:8px;color:#8c9d8c}.canvas-status span{display:flex;align-items:center;gap:6px}.canvas-status svg{color:#a7c27e}.canvas-status i{font-style:normal;color:#65785e;margin:0 2px}.empty-layout{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:30px 32px;background:#f7f9f0f7;border:1px solid #d7e2c6;border-radius:11px;color:#7a905f;box-shadow:0 16px 40px #00000025;pointer-events:auto}.empty-layout.canvas-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:max-content;max-width:calc(100% - 40px);cursor:default}.empty-layout .eyebrow{font-size:8px;color:#9ba98a;letter-spacing:1.2px}.empty-layout strong{font-size:20px;letter-spacing:-.5px;font-weight:600;line-height:1.4;color:#4f653a}.empty-layout>span{font-size:11px;line-height:1.8;color:#93a27e;max-width:300px}.empty-layout .primary{margin-top:5px;min-width:154px}.nesting-progress{min-width:290px}.nesting-progress progress{width:100%;height:6px;margin:2px 0;accent-color:#89a959}.nesting-progress strong{font-size:18px}.spin{animation:spin 3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.layout-results{grid-column:2;grid-row:1;background:#fff;border:1px solid #dfe6d6;border-radius:10px;padding:17px 13px;display:flex;flex-direction:column;min-width:0}.results-heading{display:flex;flex-direction:column;gap:8px;padding:0 3px 16px}.results-heading>strong{font-size:12px;font-weight:600;color:#475740}.results-heading>span{font-size:10px;line-height:1.7;color:#6f805d}.result-options{display:flex;flex-direction:column;gap:12px}.result-card{display:flex;align-items:center;justify-content:flex-start;text-align:left;position:relative;gap:12px;padding:15px 12px;background:#f9faf6;border:1px solid #e1e8d7;border-radius:8px;white-space:normal;min-width:0;min-height:132px;overflow:hidden}.result-card:hover:enabled{background:#f0f5e5;border-color:#b8cd9a}.result-card.active{background:#eff6de;border-color:#b2cf7a;box-shadow:inset 0 0 0 1px #bddb81}.result-card.active:before{content:"";position:absolute;top:12px;bottom:12px;left:0;width:3px;border-radius:2px;background:#a5c662}.result-card:disabled{opacity:.72}.result-card svg{height:91px;width:43px;flex:none;border:1px solid #c8c3ae;border-radius:2px}.result-card>div{display:flex;flex-direction:column;gap:6px;min-width:0;padding-bottom:10px}.result-card strong{font-size:11px;font-weight:600;line-height:1.5;color:#4e653a;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.result-card small{font-size:6px;letter-spacing:.3px;color:#7e9d51;border:1px solid #d5e4bd;border-radius:3px;padding:1px 3px;line-height:1.5}.result-card span{font-size:9px;color:#657a4f;line-height:1.4}.result-selected{position:absolute;bottom:8px;right:10px;font-size:8px;font-weight:500;color:#7a9a4d}.layout-results>.hint{font-size:9px;margin:13px 3px 0}.feedback{display:flex;align-items:center;gap:8px;padding:10px 13px;background:#eaf0df;border:1px solid #dce6c9;border-radius:6px;color:#7e9562;font-size:10px;line-height:1.6;flex:none}.feedback>svg{color:#93aa72}.feedback .icon{margin-left:auto;min-height:24px;min-width:24px;padding:4px;color:#8b9f74}.unplaced{padding:14px 17px;background:#fff4df;border:1px solid #ecdeba;border-radius:7px;font-size:11px;color:#9d7c41;flex:none}.unplaced p{font-size:10px;line-height:1.8;margin-bottom:0}.bottom-caption{display:flex;justify-content:space-between;gap:12px;font-size:7px;letter-spacing:.8px;color:#a0aa93;flex:none;padding:0 2px}.bottom-caption span:last-child{letter-spacing:0}.bottom-caption i{font-style:normal;margin:0 5px;color:#bac2ac}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:11px;font-weight:500;color:#5e734e;line-height:1.5}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #dce4d2;border-radius:6px;padding:10px 11px;color:#4d653c;background:#fff;font-size:12px}.field textarea{resize:vertical;min-height:110px;line-height:1.8}.field input::placeholder,.field textarea::placeholder{color:#a9b39a}.field select{min-height:38px}.number-wrap{display:flex;align-items:center;border:1px solid #dce4d2;background:#fff;border-radius:6px;overflow:hidden}.number-wrap input{flex:1;border:0;border-radius:0;padding:10px 11px;font-variant-numeric:tabular-nums}.number-wrap small{font-size:10px;color:#a0ad8d;white-space:nowrap;padding-right:11px}.number-wrap.invalid{border-color:#bf8b63}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.hint{font-size:10px;line-height:1.8;color:#6b7d59;margin:0}.notice{display:block;background:#f1f6e8;border:1px solid #dfe9d0;border-radius:6px;padding:12px;color:#607d42;font-size:11px;line-height:1.8}.modal-shade{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:25px;background:#121d1a99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:20}.modal{width:100%;max-width:980px;max-height:94dvh;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e2e8d9;border-radius:13px;box-shadow:0 20px 80px #0b160c45}.modal header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 28px;border-bottom:1px solid #edf1e6}.modal small,.small-modal>small{font-size:8px;font-weight:550;letter-spacing:1.4px;color:#92a47c}.modal h2,.small-modal h2{font-size:24px;font-weight:600;letter-spacing:-.7px;line-height:1.4;margin:7px 0 0;color:#3e552f}.editor-tabs{display:flex;gap:22px;padding:0 28px;border-bottom:1px solid #e1e8d5;flex:none}.editor-tabs button{color:#99a78a;border-bottom:2px solid transparent;padding:13px 0;font-size:11px;gap:7px}.editor-tabs button.active{color:#6d8b49;border-color:#accd6f}.editor-body{display:grid;grid-template-columns:1.1fr 1fr;overflow:auto;min-height:0}.editor-form{display:flex;flex-direction:column;gap:18px;padding:25px 28px}.editor-preview{position:sticky;top:0;align-self:start;min-height:470px;padding:27px 24px;background:#f6f8f0;border-left:1px solid #e7eddd}.part-preview{height:310px;width:100%;display:block;margin:14px 0 21px;border-radius:6px}.preview-note{display:flex;align-items:center;gap:7px;color:#698547;font-size:11px}.editor-preview>p{font-size:10px;line-height:1.8;color:#97a786}.editor-preview .notice{margin-top:18px}.dimension-legend{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0;color:#a0ad8e;font-size:10px}.dimension-legend b{font-weight:500;color:#789358}.rotation-options{display:flex;gap:7px}.rotation-options button{border:1px solid #dfe7d2;border-radius:6px;background:#fff;color:#9cae88;padding:9px 16px;font-size:11px;font-variant-numeric:tabular-nums}.rotation-options .selected{border-color:#aac57c;background:#f1f7e6;color:#718f4a}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important}.field textarea.short{min-height:80px;font-size:10px}.modal footer{display:flex;align-items:center;gap:10px;padding:17px 28px;border-top:1px solid #e3ead7;background:#fff;flex:none}.modal footer>span{font-size:10px;color:#99aa86;max-width:45%;margin-right:auto;line-height:1.6}.description-box,.import-box{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid #e2ead6;background:#f8faf3;border-radius:7px}.upload{display:flex;flex-direction:column;gap:11px;align-items:center;justify-content:center;border:1px dashed #c4d5aa;border-radius:7px;padding:25px;background:#f8fbf1;color:#819f5d;cursor:pointer;font-size:12px;font-weight:500;text-align:center}.upload:hover{background:#f1f7e6}.upload input{font-size:10px;max-width:100%;margin-top:8px;color:#8da675}.upload input::file-selector-button{font:inherit;color:#7a9558;background:#fff;border:1px solid #d8e5c7;border-radius:4px;padding:6px 9px;margin-right:9px;cursor:pointer}.import-error{color:#a8754b;background:#fff4e9;border-color:#eddbc5;white-space:pre-wrap;overflow-wrap:anywhere}.import-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;padding:25px;text-align:center;height:310px;color:#9ab080}.import-preview-empty strong{font-weight:500;font-size:13px}.import-preview-empty p{font-size:11px;line-height:1.9;color:#a3b490;max-width:320px;margin:0}.small-modal{position:relative;padding:34px;width:470px;max-height:90dvh;overflow-y:auto;border:1px solid #dfe8d2;border-radius:13px;background:#fff;box-shadow:0 16px 60px #10200a40}.close{position:absolute;right:13px;top:13px;color:#9cac88}.export-icon{height:50px;width:50px;background:#edf5df;color:#9dbf6b;display:grid;place-items:center;border:1px solid #e0edca;border-radius:12px;margin-bottom:23px}.small-modal h2{margin:9px 0 12px}.small-modal p{font-size:11px;line-height:1.9;color:#71865a}.small-modal .notice{display:flex;gap:10px;margin:20px 0}.small-modal .notice svg{margin-top:3px}.check-line{display:flex;align-items:center;gap:9px;font-size:11px;color:#8da473;margin:20px 0;line-height:1.7}.check-line input{accent-color:#9abe67;flex:none}.full{width:100%;margin-bottom:10px}.small-modal details{font-size:11px;color:#8faa6f;border-top:1px solid #e2ecd5;padding-top:18px;margin-top:12px}.small-modal summary{cursor:pointer;line-height:1.7}.small-modal a{color:#809f5d;text-decoration:underline;text-underline-offset:3px}.warning{color:#aa864c!important}.help-list{padding-left:17px;font-size:12px;line-height:1.9;color:#89a36c}.help-list li{padding:7px 0}.batch-import{max-width:1080px}.batch-body{display:grid;grid-template-columns:340px 1fr;overflow:auto;min-height:0}.batch-settings{padding:22px;display:flex;flex-direction:column;gap:17px;border-right:1px solid #e1ead4}.batch-settings .check-line{margin:0}.batch-settings .upload{padding:20px}.batch-parts{padding:8px 18px 22px;background:#f7faf1}.batch-parts .section-row{padding:13px 0 18px}.import-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.import-tile{min-width:0;padding:14px;border:1px solid #e0e9d2;border-radius:8px;background:#fff;cursor:pointer}.import-tile.checked{border-color:#b8d18e;background:#fcfef8}.import-tile.sheet-reference{background:#f1f0e5;cursor:default;border-color:#e2dfc9}.import-tile-title{display:flex;gap:7px;align-items:center;font-size:11px;min-width:0}.import-tile-title input{accent-color:#99bf64}.import-tile-title strong{font-weight:500;color:#839e65;overflow:hidden;text-overflow:ellipsis}.import-tile-title small{margin-left:auto;font-size:7px;letter-spacing:.4px;color:#aca77b}.import-tile svg{width:100%;height:110px;display:block;margin:13px 0}.import-tile>span{display:block;text-align:center;font-size:10px;color:#a0b386;line-height:1.6}@media(min-width:1650px){.sidebar{width:338px}.brand{min-width:284px}main{padding:28px 30px 18px;gap:20px}.studio-stage{grid-template-columns:minmax(0,1fr) 255px;min-height:590px}.layout-results{padding:20px 16px}.result-card{min-height:145px;padding:17px 14px;gap:15px}.result-card svg{height:100px;width:49px}.result-card strong{font-size:12px}.result-card span{font-size:10px}.results-heading>strong{font-size:13px}.canvas{min-height:490px}.part-card{padding-top:15px;padding-bottom:15px}.part-info strong{font-size:12px}}@media(max-width:1250px){.sidebar{width:290px}.brand{min-width:236px}.beta,.saved{display:none}.topbar{gap:20px}main{padding:21px 20px 15px;gap:16px}.main-heading h2{font-size:22px}.main-heading p{font-size:10px}.heading-buttons .secondary{font-size:0;gap:0;padding:10px}.heading-buttons .secondary svg{height:16px;width:16px}.metrics>div{padding:0 16px}.metrics small{display:block;margin:5px 0 0}.studio-stage{grid-template-columns:minmax(0,1fr) 205px;gap:12px}.layout-results{padding:15px 11px}.result-card{gap:9px;padding:13px 10px;min-height:128px}.result-card svg{height:80px;width:37px}.result-card strong{font-size:10px}.result-card span{font-size:8px}.view-options button{font-size:0;gap:0}.view-options .toolbar-optimize span{display:none}.view-options .toolbar-optimize{padding:6px}.canvas-legend{font-size:7px;gap:4px}.legend-dashed,.grain-line{margin-left:5px}.canvas-controls{right:12px}.canvas-status{font-size:7px}.part-card{gap:7px;padding:12px 7px}.part-thumb{width:36px;height:44px}.part-thumb svg{width:28px;height:34px}.part-info strong{font-size:10px}.part-info>span{font-size:9px}.part-tools .quantity-control button{width:19px}.part-tools .quantity-control input{width:27px}.bottom-caption{font-size:6px}}@media(max-width:1050px)and (min-width:801px){.studio-stage.has-results{grid-template-columns:minmax(0,1fr);gap:14px}.layout-results{grid-row:2;grid-column:1}.result-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.results-heading{padding-bottom:13px}.results-heading>span{display:none}.result-card{min-height:110px;gap:9px}.result-card svg{height:70px;width:32px}.result-card span{font-size:8px}.result-card small,.result-selected{display:none}.canvas-panel{min-height:520px}.canvas-status>span:last-child{display:none}.workspace-version{display:none}.project-title input{width:145px}.top-actions>.text-button{display:none}}@media(max-width:800px){.topbar{height:61px;padding:0 15px;gap:12px}.brand{font-size:24px;min-width:0}.brand-mark{width:32px;height:32px}.project-title{margin-left:auto;flex:0 1 auto}.project-title input{width:145px;font-size:11px}.project-title>svg,.project-title .status-dot,.top-actions>.text-button,.top-actions>.divider{display:none}.top-actions{gap:6px}.save-button{font-size:0;gap:0;padding:8px 10px;min-height:33px}.save-button svg{height:16px;width:16px}.workspace{display:block;height:auto;min-height:0}.sidebar{width:100%;border-right:0;border-bottom:1px solid #e0e7d8;min-height:0}.project-heading{padding:19px 20px 15px}.project-heading .eyebrow{font-size:8px}.project-heading h1{font-size:20px;margin:7px 0 0}.project-heading p{display:none}.sidebar-tabs{margin:0 16px 4px;max-width:350px}.sidebar-tabs button{padding:8px 10px}.section-row{padding:12px 20px 9px}.part-list{display:flex;flex:0 0 auto;overflow-x:auto;overflow-y:hidden;padding:0 16px 8px;gap:9px;min-height:0}.part-card{min-width:258px;max-width:280px;border:1px solid #e5ecdc;padding:12px 11px;gap:9px}.part-info strong{font-size:11px}.part-thumb{width:40px;height:47px}.part-tools .quantity-control button{width:21px}.part-tools .quantity-control input{width:28px}.add-part{margin:5px 20px 12px;padding:10px 13px;justify-content:center;font-size:11px}.add-part span,.local-note{display:none}.sidebar-utility{padding:0 20px 8px}.clear-parts{font-size:10px}.sidebar-bottom{padding:10px 20px}.sidebar-bottom .text-button{font-size:10px}.settings-panel{overflow:visible;display:grid;grid-template-columns:1fr 1fr;padding:20px;gap:18px}.settings-panel>.eyebrow,.settings-panel>.notice{grid-column:1/-1}.settings-panel>.hint{display:none}.settings-panel>.secondary{grid-column:1/-1}.empty-parts{padding:12px 6px;text-align:left;font-size:11px}main{padding:22px 16px 15px;overflow:visible;gap:17px}.main-heading{gap:12px}.main-heading h2{font-size:22px;margin:6px 0}.main-heading p{font-size:10px;max-width:215px}.main-heading .eyebrow{font-size:7px}.workspace-version{display:none}.heading-buttons{gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:160px}.heading-buttons .secondary{padding:10px;font-size:0;gap:0;min-height:35px}.heading-buttons .primary{padding:10px;font-size:10px;gap:5px;min-height:35px}.heading-buttons .primary>svg:last-child{display:none}.metrics{grid-template-columns:1fr 1fr 1.2fr;padding:15px 0}.metrics>div{padding:0 14px}.metrics>div:nth-child(3){border:0}.metrics>div>span{font-size:7px;letter-spacing:.7px}.metrics>div>span svg{height:13px;width:13px}.metrics strong{font-size:24px;margin-top:7px}.metrics small{font-size:8px;margin:4px 0 0;display:block}.spacing-metric{display:none}.studio-stage,.studio-stage.has-results,.studio-stage.no-results{display:flex;flex-direction:column;gap:15px;min-height:0;flex:none}.canvas-panel{order:0;min-height:520px}.canvas{min-height:430px;height:430px;flex:none}.layout-results{order:1;display:block;padding:16px;grid-column:auto;grid-row:auto}.results-heading{gap:6px;padding-bottom:14px}.results-heading>strong{font-size:12px}.results-heading>span{font-size:10px}.result-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.result-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:9px;padding:12px 10px;min-height:0}.result-card svg{width:38px;height:76px;align-self:center;margin-bottom:3px}.result-card>div{padding-bottom:9px;gap:5px}.result-card strong{font-size:10px}.result-card small{display:none}.result-card span{font-size:8px}.result-selected{font-size:7px;bottom:6px;right:7px}.canvas-toolbar{padding:0 11px;gap:8px;height:46px}.sheet-tabs button{padding:0 7px;font-size:9px;gap:5px}.sheet-tabs button>svg{height:13px;width:13px}.sheet-tabs{max-width:48%}.view-options{gap:7px}.view-options button{font-size:0;gap:0}.view-options .toolbar-optimize{padding:6px}.view-options .toolbar-optimize span{display:none}.canvas-caption{top:17px;left:16px;font-size:7px;gap:7px}.sheet-view{left:28px;right:28px;top:41px;bottom:55px}.canvas-legend{left:14px;bottom:21px;font-size:7px;gap:4px;max-width:55%;flex-wrap:wrap}.legend-dashed,.grain-line{margin-left:5px}.canvas-controls{bottom:16px;right:12px;height:32px}.canvas-controls button{padding:5px}.canvas-controls>span:not(.divider){font-size:8px;min-width:31px}.canvas-status{padding:12px;font-size:8px;min-height:39px}.canvas-status>span:last-child{display:none}.canvas-status i{margin:0}.empty-layout{padding:25px 23px;gap:13px}.empty-layout strong{font-size:18px}.empty-layout>span{font-size:10px;max-width:240px}.empty-layout .eyebrow{font-size:7px}.nesting-progress{min-width:0;width:300px}.nesting-progress strong{font-size:18px}.bottom-caption{font-size:6px;gap:10px;line-height:1.8}.bottom-caption i{margin:0 3px}.feedback{font-size:10px}.modal-shade{padding:12px}.modal{max-height:96dvh;border-radius:11px}.modal header{padding:19px 21px}.modal h2{font-size:22px}.editor-tabs{padding:0 20px;gap:17px;overflow-x:auto}.editor-tabs button{font-size:10px;padding:12px 0}.editor-tabs button>svg{display:none}.editor-body{display:flex;flex-direction:column}.editor-preview{position:static;order:0;min-height:0;padding:18px 23px;border-left:0;border-bottom:1px solid #e1ead2}.editor-form{order:1;padding:22px;gap:18px}.editor-preview .part-preview{height:150px;margin:8px 0 13px}.editor-preview>p{display:none}.dimension-legend{margin:12px 0 3px;font-size:9px}.modal footer{padding:13px 18px;flex-wrap:wrap}.modal footer>span{display:none}.modal footer .secondary{margin-left:auto}.modal footer .primary{font-size:11px}.small-modal{max-width:460px;width:100%;padding:28px}.small-modal h2{font-size:23px}.batch-body{grid-template-columns:1fr}.batch-settings{border-right:0;border-bottom:1px solid #e0ead2;padding:20px}.batch-parts{padding:12px 16px 22px}.batch-import footer .primary{flex:1}.import-tile{padding:11px}.import-tile svg{height:95px}.import-tile-title{font-size:10px}.import-tile>span{font-size:9px}.upload{padding:20px}.rotation-options button{flex:1;padding:9px 10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:480px){.main-heading{align-items:flex-start;flex-direction:column;gap:14px}.heading-buttons{max-width:none;width:100%;justify-content:flex-start}.heading-buttons .secondary{font-size:10px;gap:6px;flex:1}.heading-buttons .primary{flex:1}.main-heading p{max-width:none}.result-card{padding:10px 8px}.result-card span{font-size:8px}.project-title input{width:120px}.brand{font-size:22px}.topbar{gap:9px}}.print-document{display:none}.heading-buttons .print-button{padding:10px 12px}@media(max-width:1250px){.heading-buttons .print-button span{display:none}}@media print{@page{size:portrait;margin:10mm}html,body,#root{width:auto!important;height:auto!important;min-height:0!important;overflow:visible!important;background:#fff!important;color:#111!important}.topbar,.workspace,.modal-shade{display:none!important}.print-document{display:block!important;font-family:Arial,sans-serif;color:#111;background:#fff}.print-sheet{display:flex;flex-direction:column;width:100%;min-height:253mm;height:auto;break-inside:auto;page-break-inside:auto;break-after:page;page-break-after:always;overflow:visible}.print-sheet:last-child{break-after:auto;page-break-after:auto}.print-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12mm;border-bottom:.3mm solid #333;padding-bottom:3mm;flex:none}.print-header strong{font-size:13pt;letter-spacing:-.3pt}.print-header h1{font-size:12pt;font-weight:400;margin:2mm 0 0;max-width:140mm;overflow-wrap:anywhere}.print-header>div:last-child{text-align:right;white-space:nowrap;font-size:7pt;line-height:1.8}.print-header b{font-size:10pt}.print-summary{display:flex;gap:4mm;flex-wrap:wrap;padding:3mm 0;font-size:7pt;line-height:1.5;flex:none}.print-drawing{display:block;width:100%;height:158mm;flex:none;break-inside:avoid;page-break-inside:avoid}.print-key{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5mm 4mm;margin-top:3mm;line-height:1.4;overflow-wrap:anywhere;align-content:start;min-height:0;overflow:visible}.print-key>div{break-inside:avoid;page-break-inside:avoid;padding:1mm 0;border-bottom:.15mm solid #ddd}.print-key span{font-weight:700;white-space:nowrap}.print-footer{display:flex;justify-content:space-between;gap:8mm;font-size:6pt;line-height:1.6;padding-top:2mm;margin-top:auto;flex:none;border-top:.2mm solid #aaa}.print-footer>span:first-child{max-width:145mm}.print-footer>span:last-child{text-align:right}svg{print-color-adjust:exact;-webkit-print-color-adjust:exact}}@media print{.print-dimension-note{font-size:6pt;line-height:1.5;color:#444;margin:2mm 0 0;flex:none}.print-part-size{display:block;font-size:inherit;font-weight:400;line-height:1.6;color:#333;margin-top:.6mm}.print-key{grid-template-columns:repeat(2,minmax(0,1fr))}.print-part-dimensions text{paint-order:stroke;stroke:#fff;stroke-width:.25;stroke-linejoin:round}}
