:root{font-family:DM Sans,Noto Sans SC,Microsoft Yahei,sans-serif;color:#202124;background:#fff;font-synthesis:none;font-size:13px;--muted:#8a8c91;--border:#e9eaed;--accent:#ff6937;--canvas:#f1f2f4}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.48;cursor:not-allowed}button:not(:disabled),a,input{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent)}button{transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}svg{width:18px;height:18px;stroke-width:1.6;flex-shrink:0}button svg{pointer-events:none}h1,h2,p{margin:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.topbar{height:66px;display:flex;align-items:center;gap:22px;padding:0 24px;border-bottom:1px solid var(--border);position:relative;z-index:5;background:#fff}.brand{display:flex;align-items:center;flex-shrink:0}.brand-logo{display:block;width:126px;height:auto}.header-divider{height:23px;width:1px;background:var(--border)}.project-title{font-size:14px;font-weight:600;display:flex;align-items:center;gap:10px}.beta{font-size:9px;color:#95979c;letter-spacing:.8px;border:1px solid #e4e5e8;padding:3px 5px;border-radius:4px;font-weight:500}.local-state{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-left:auto}.local-state svg{width:14px;height:14px}.help-button{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-size:12px}.help-button:hover{background:#f5f5f5}.workspace{height:calc(100dvh - 66px);min-height:640px;display:grid;grid-template-columns:64px 254px minmax(340px,1fr) 284px;overflow:hidden}.tool-rail{border-right:1px solid var(--border);display:flex;align-items:center;flex-direction:column;padding:17px 6px 16px;gap:16px;background:#fff}.rail-item{display:flex;flex-direction:column;align-items:center;gap:7px;padding:9px 3px;width:50px;color:#919298;font-size:10px;border-radius:8px}.rail-item svg{height:21px;width:21px;padding:0}.rail-item.active{background:#242529;color:#fff}.rail-item:not(.active):hover{background:#f3f3f5;color:#25262a}.rail-bottom{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:9px;color:#abaeb4}.rail-bottom svg{width:17px}.source-panel{padding:22px 18px 16px;border-right:1px solid var(--border);overflow-y:auto;scrollbar-width:thin;background:#fff}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading h1{font-size:14px;font-weight:600}.small-tag{font-size:10px;color:#a1a2a7;font-family:monospace}.panel-intro{font-size:11px;color:var(--muted);margin:8px 0 21px;line-height:1.6}.upload-zone{border:1px dashed #cbccd1;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:125px;background:#fcfcfd;gap:12px}.upload-zone svg{width:23px;height:23px;color:#51545c}.upload-zone strong{font-size:12px;font-weight:500}.upload-zone span{font-size:9px;color:#a0a2a9}.upload-zone:hover,.upload-zone.dragover{border-color:#f5845b;background:#fff6f1}.outline-button{display:flex;justify-content:center;align-items:center;gap:7px;border:1px solid #e3e4e8;border-radius:6px;padding:9px}.camera-button{width:100%;margin:9px 0 23px;font-size:11px}.camera-button svg{width:15px;height:15px}.outline-button:hover{background:#f5f5f6}.section-caption{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#686b72;margin-bottom:10px}.text-button{font-size:11px;display:inline-flex;align-items:center;gap:5px;color:#888b92;padding:0}.text-button svg{width:13px;height:13px}.text-button:hover{color:#111}.source-image{display:block;padding:0;width:100%;aspect-ratio:1.55;position:relative;border-radius:6px;overflow:hidden}.source-image img{width:100%;height:100%;object-fit:cover}.source-image>span{position:absolute;right:7px;bottom:7px;background:#fffdf7ed;border-radius:3px;padding:3px 7px;font-size:9px}.file-info{display:flex;flex-direction:column;gap:5px;margin:10px 0 15px}.file-info span:first-child{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-info span:last-child{font-size:10px;color:#a1a3aa}.primary-button{background:#25262b;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 6px;font-size:12px}.primary-button svg{width:15px;height:15px}.primary-button:hover:not(:disabled){background:#45474e}.process-status{margin-top:12px;font-size:10px;color:#777;line-height:1.6}.process-status>div{display:flex;justify-content:space-between;gap:8px}.process-status progress{width:100%;height:5px;accent-color:#f47642}.process-status .text-button{display:block;margin:5px 0 0 auto}.error-message{font-size:11px;color:#a53726;background:#fff0ec;border-radius:5px;padding:10px;margin-top:12px;line-height:1.7;overflow-wrap:anywhere}.result-heading{margin-top:28px}.auto-label{font-size:9px;color:#afb1b6}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.result-card{border:1px solid #e5e6ea;border-radius:6px;overflow:hidden;aspect-ratio:.88;position:relative;padding:6px 4px 28px;display:flex;align-items:center;justify-content:center}.result-card>canvas{width:100%;max-height:100%;object-fit:contain;opacity:.25}.has-result .result-card>canvas{opacity:1}.checker{background-color:#fff;background-image:linear-gradient(45deg,#ededee 25%,transparent 25%),linear-gradient(-45deg,#ededee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ededee 75%),linear-gradient(-45deg,transparent 75%,#ededee 75%);background-size:14px 14px;background-position:0 0,0 7px,7px -7px,-7px 0}.result-card>span{position:absolute;bottom:0;left:0;right:0;height:29px;display:flex;justify-content:center;align-items:center;gap:5px;background:#fff;font-size:10px;border-top:1px solid var(--border)}.result-card span svg{width:12px;height:12px}.depth-card{background:#151618}.result-check{position:absolute;right:4px;top:4px;background:#fff;border-radius:50%;width:14px;height:14px;display:none;align-items:center;justify-content:center;color:#3a8457}.result-check svg{width:10px;height:10px;stroke-width:2}.has-result .result-check{display:flex}.sample-link{margin:19px 0 0;padding:11px 0;display:flex;align-items:center;gap:7px;width:100%;font-size:10px;color:#737680;border-top:1px solid var(--border)}.sample-link svg{width:13px;height:13px}.sample-link>span{margin-left:auto;font-size:9px;color:#aaa}.photo-tip{display:flex;gap:7px;align-items:flex-start;color:#a0a3aa;margin-top:13px}.photo-tip svg{width:12px;height:12px;margin-top:2px}.photo-tip p{font-size:10px;line-height:1.8}.canvas-panel{position:relative;background:var(--canvas);display:flex;flex-direction:column;min-width:0;overflow:hidden}.canvas-toolbar{height:72px;display:flex;align-items:center;padding:0 24px;justify-content:space-between;gap:8px;flex-shrink:0;z-index:2}.view-tabs{display:flex;border:1px solid #e5e6e9;padding:4px;background:#fcfcfddd;border-radius:8px;box-shadow:0 2px 4px #00000003;gap:2px}.view-tabs button{border-radius:5px;padding:8px 16px;font-size:11px;color:#8c8f96;display:flex;align-items:center;gap:5px;white-space:nowrap}.view-tabs button svg{width:13px;height:13px}.view-tabs button.selected{background:#fff;color:#24252a;box-shadow:0 1px 6px #00000012}.view-tabs button:hover{color:#111}.icon-button{width:31px;height:31px;display:flex;justify-content:center;align-items:center;border-radius:6px;background:#ffffffd9;border:1px solid #e5e6e9}.icon-button svg{width:15px;height:15px}.icon-button:hover{background:#fff;box-shadow:0 1px 6px #0000000c}.stage{position:relative;flex:1;min-height:0}.model-view{position:absolute;top:0;right:0;bottom:0;left:0}.model-view canvas{display:block;width:100%;height:100%;touch-action:none}.stage-label{position:absolute;top:16px;left:26px;display:flex;align-items:center;gap:7px;color:#93969e;font-size:10px;z-index:1;pointer-events:none}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#5a9d71}.sample-badge{position:absolute;top:11px;right:26px;border:1px solid #dedfe4;color:#9699a1;border-radius:5px;font-size:9px;padding:5px 7px;z-index:1}.image-view{position:absolute;top:55px;right:8%;bottom:35px;left:8%;display:flex;align-items:center;justify-content:center;border-radius:5px}.image-view canvas{max-height:100%;max-width:100%;object-fit:contain;box-shadow:0 8px 40px #00000007}.stage-caption{position:absolute;bottom:12%;left:0;right:0;text-align:center;font-size:12px;color:#a6a9b1;letter-spacing:1px}.stage-loading{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;color:#8b8e98;font-size:12px}.stage-loading svg,.processing svg{animation:spin 2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.depth-legend{display:flex;align-items:center;gap:9px;position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:10px;color:#8b8e94}.depth-legend i{width:100px;height:7px;border:1px solid #dbdce0;border-radius:2px;background:linear-gradient(90deg,#111,#fff)}.canvas-footer{padding:10px 25px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;color:#93969e;font-size:10px}.canvas-actions{display:flex;align-items:center;gap:11px}.hint{display:flex;align-items:center;gap:6px;font-size:10px}.hint svg{width:12px;height:12px}#dimensions{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}.workflow-strip{display:flex;justify-content:center;align-items:center;gap:12px;padding:17px 5px;background:#f7f8fa;border-top:1px solid #e8e9ed;color:#b0b2b8;font-size:10px;flex-shrink:0}.workflow-strip span{display:flex;align-items:center;gap:6px}.workflow-strip svg{width:13px;height:13px}.workflow-strip>svg{width:10px;height:10px;color:#ccc}.workflow-strip .current{color:#575c65}.canvas-panel:fullscreen{height:100dvh;width:100vw}.settings-panel{background:#fafafb;border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.settings-top{display:flex;justify-content:space-between;align-items:center;padding:21px 19px;font-size:12px;height:66px;flex-shrink:0}.settings-top>span{font-weight:500}.settings-scroll{padding:0 14px 12px;overflow-y:auto;scrollbar-width:thin}.setting-card{border:1px solid #ececef;border-radius:8px;background:#fff;box-shadow:0 2px 6px #00000004;margin-bottom:12px}.card-heading{display:flex;align-items:center;gap:7px;border-bottom:1px solid #f0f0f2;height:45px;padding:0 14px;font-size:11px;font-weight:500}.card-heading svg{width:14px;height:14px;color:#777b83}.unit-badge{margin-left:auto;font-size:9px;background:#f1f2f5;color:#9699a1;border-radius:3px;padding:3px 6px;font-weight:400}.card-lock{margin-left:auto}.card-body{padding:15px 14px}.preset-group{display:flex;gap:7px;margin:0 0 20px}.preset-group button{border:1px solid #eeedf0;border-radius:5px;flex:1;display:flex;align-items:center;flex-direction:column;height:76px;justify-content:center;gap:5px;position:relative}.preset-group button.selected{border-color:#25262b;box-shadow:inset 0 0 0 .5px #25262b}.preset-group b{font-size:10px;font-weight:500}.preset-group small{font-size:8px;color:#aaaeb6}.preset-drawing{width:25px;height:9px;background:#a6abb1;border:1px solid #999da5;transform:skewY(-12deg);box-shadow:0 3px #e2e4e8;margin-bottom:2px}.preset-drawing.medium{box-shadow:0 3px #c9cdd3,0 5px #e4e6e9}.preset-drawing.thick{box-shadow:0 3px #bec3c9,0 6px #d1d5d9,0 8px #e2e5e9}.range-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin:19px 0 11px}.range-label>span:last-child{font-size:10px;color:#888c96}.range-label output{font-size:11px;font-variant-numeric:tabular-nums;color:#555963}input[type=range]{width:100%;height:3px;margin:5px 0 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#dfe1e5;border-radius:9px;display:block;cursor:pointer;accent-color:#33363c}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:11px;height:11px;border:2px solid #4e5057;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0001}input[type=range]::-moz-range-thumb{width:8px;height:8px;border:2px solid #4e5057;border-radius:50%;background:#fff}.range-scale{display:flex;justify-content:space-between;font-size:8px;color:#b2b5be;margin-top:9px}.switch-row{display:flex;align-items:center;justify-content:space-between;position:relative;margin-top:21px;font-size:11px;cursor:pointer;gap:10px}.switch-row small{display:block;font-size:9px;color:#aaaeb7;margin-top:4px}.switch-row input{position:absolute;opacity:0;width:32px;height:19px;right:0}.switch{width:29px;height:17px;border-radius:20px;background:#dedfe4;position:relative;flex-shrink:0;pointer-events:none;transition:background .15s}.switch:after{content:"";width:13px;height:13px;position:absolute;left:2px;top:2px;background:#fff;border-radius:100%;box-shadow:0 1px 3px #0001;transition:transform .15s}.switch-row input:checked+.switch{background:#25272d}.switch-row input:checked+.switch:after{transform:translate(12px)}.switch-row input:focus-visible+.switch{outline:2px solid #ff6937;outline-offset:3px}.dimensions-controls{display:flex;flex-direction:column;gap:15px}.dimensions-controls>label,.readonly-row{display:flex;align-items:center;justify-content:space-between;font-size:11px}.number-field{display:flex;align-items:center;gap:5px;background:#f4f4f6;border-radius:5px;padding:6px 9px;width:97px}.number-field input{min-width:0;width:100%;background:transparent;border:0;outline:0;font-size:11px;color:#444951;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;text-align:right}.number-field input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.number-field input:invalid{color:#c24d35}.number-field>span,.readonly-row em{font-size:9px;color:#b0b3bb;font-style:normal}.readonly-row>span:last-child{padding:5px 9px;font-variant-numeric:tabular-nums;display:flex;gap:8px}.readonly-row small{font-size:8px;color:#b1b3bb;margin-left:6px}.material-group{display:flex;justify-content:space-between;gap:5px}.material-group button{display:flex;flex-direction:column;gap:8px;align-items:center;flex:1;font-size:9px;color:#9b9da6;padding:5px 2px 6px}.material-group button.selected{color:#25262b}.material-swatch{width:32px;height:32px;border:3px solid white;border-radius:50%;box-shadow:0 0 0 1px #e9eaf0}.material-group button.selected .material-swatch{box-shadow:0 0 0 1.5px #27292e}.material-swatch.color{background:conic-gradient(from 40deg,#db9b43,#a4492f,#60915b,#e9c070,#db9b43)}.material-swatch.white{background:radial-gradient(circle at 32% 28%,#fff,#f0f0f1 36%,#babfc8)}.material-swatch.wire{background-color:#f1f2f4;background-image:linear-gradient(#9297a4aa 1px,transparent 1px),linear-gradient(90deg,#9297a4aa 1px,transparent 1px);background-size:6px 6px}.print-note{display:flex;align-items:flex-start;gap:7px;padding:3px 4px 6px;color:#a5a8b0}.print-note svg{width:12px;height:12px;margin-top:2px}.print-note p{font-size:10px;line-height:1.8}.export-area{background:#fafafb;margin-top:auto;padding:17px 17px 14px;border-top:1px solid var(--border);flex-shrink:0}.export-area>span{display:flex;align-items:center;gap:6px;font-size:9px;color:#989ca5;margin-bottom:11px}.export-button{display:flex;align-items:center;justify-content:center;gap:8px;background:#222429;color:#fff;width:100%;padding:12px 0;border-radius:6px;font-size:12px;font-weight:500}.export-button:hover:not(:disabled){background:#3a3d43}.export-button svg{width:16px;height:16px}.export-area>p{text-align:center;font-size:9px;color:#afb2ba;margin-top:10px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);max-width:90vw;background:#24262bec;color:#fff;padding:12px 20px;border-radius:7px;box-shadow:0 5px 25px #0002;z-index:100;font-size:12px;line-height:1.6}dialog{border:1px solid #eceef2;border-radius:14px;max-width:470px;width:calc(100vw - 36px);padding:27px;box-shadow:0 24px 100px #0002;color:#292c32}dialog::backdrop{background:#1a1d2766;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-heading h2{font-size:21px;font-weight:600;letter-spacing:-.5px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;color:#a7aab2;display:block;margin-bottom:9px}.dialog-intro{font-size:11px;color:#90949d;line-height:1.9;margin:17px 0 21px}.download-list{display:flex;flex-direction:column;gap:9px}.download-list button{border:1px solid #e8eaee;border-radius:7px;display:flex;align-items:center;gap:13px;padding:14px;text-align:left}.download-list button:hover{background:#f7f7f9;border-color:#cccfd5}.download-list button>svg:first-child{width:22px;height:22px;color:#727884}.download-list button>svg:last-child{margin-left:auto;color:#9296a0;width:15px;height:15px}.download-list b{font-size:12px;font-weight:500;display:block}.download-list small{font-size:9px;color:#999da7;display:block;margin-top:5px}.dialog-note{font-size:10px;color:#999da7;background:#f6f7f9;border-radius:6px;margin-top:20px;padding:12px;line-height:1.9}.help-steps{padding-left:21px;margin:23px 0 0}.help-steps li{padding-left:5px;margin-bottom:17px}.help-steps b{font-size:12px;font-weight:500}.help-steps p{font-size:11px;color:#8d929d;line-height:1.9;margin-top:7px}@media(min-width:1700px){.workspace{grid-template-columns:70px 280px minmax(500px,1fr) 310px}.source-panel{padding:25px 22px}.source-image{aspect-ratio:1.4}.upload-zone{height:145px}.settings-scroll{padding:0 18px 16px}.card-body{padding:19px 17px}.setting-card{margin-bottom:17px}.settings-top{padding:24px}.card-heading{height:49px}.canvas-toolbar{padding:0 32px}.view-tabs button{padding:9px 20px}.preset-group button{height:85px}.export-area{padding:20px}.panel-intro{margin-bottom:24px}.result-card{aspect-ratio:.95}.range-label{margin-top:24px}.source-panel .photo-tip{margin-top:22px}}@media(max-width:1150px){.workspace{grid-template-columns:53px 213px minmax(290px,1fr) 250px}.topbar{padding:0 16px;gap:15px}.source-panel{padding:18px 13px}.canvas-toolbar{padding:0 14px}.view-tabs button{padding:8px 9px}.hint{font-size:0}.hint svg{width:15px;height:15px}.workflow-strip{gap:5px;font-size:9px}.workflow-strip span{gap:3px}.settings-scroll{padding:0 10px 10px}.card-body{padding:13px 12px}.tool-rail{padding-left:2px;padding-right:2px}.rail-item{width:43px}.stage-label{left:17px}.sample-badge{right:17px}.local-state{font-size:10px}.canvas-footer{padding:12px 16px}}@media(max-width:920px){.workspace{height:auto;min-height:calc(100dvh - 66px);grid-template-columns:200px minmax(320px,1fr);grid-template-rows:minmax(570px,calc(100dvh - 66px)) auto;overflow:visible}.tool-rail{display:none}.source-panel{grid-column:1;grid-row:1}.canvas-panel{grid-column:2;grid-row:1}.settings-panel{grid-column:1/3;grid-row:2;border-left:0;border-top:1px solid var(--border)}.settings-scroll{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 18px 10px;overflow:visible}.setting-card{margin-bottom:0}.settings-scroll .print-note{grid-column:1/4}.export-area{display:flex;align-items:center;gap:20px;padding:16px 20px}.export-area>span{margin:0;white-space:nowrap}.export-button{max-width:240px;margin-left:auto}.export-area>p{margin:0}.local-state{display:none}.help-button{margin-left:auto}.settings-top{height:57px}.panel-intro{font-size:10px}.upload-zone{height:115px}.upload-zone span{font-size:8px}.result-heading{margin-top:20px}.photo-tip{margin-top:5px}}@media(max-width:600px){.topbar{height:58px;padding:0 15px;gap:12px}.brand-logo{width:100px}.header-divider{height:18px}.project-title{font-size:11px;gap:0}.beta{display:none}.help-button{border:0;padding:6px}.help-button span{display:none}.workspace{display:flex;flex-direction:column;min-height:0}.source-panel{padding:18px 17px 16px;overflow:visible;border-right:0;display:grid;grid-template-columns:88px 1fr 42px;column-gap:12px;align-items:center}.panel-heading{grid-column:1/3}.panel-heading h1{font-size:13px}.small-tag{display:none}.panel-intro{grid-column:1/4;margin:6px 0 14px;font-size:10px}.upload-zone{grid-column:2;grid-row:3;height:43px;flex-direction:row;gap:7px;background:#24262c;color:#fff;border:0}.upload-zone strong{font-size:11px}.upload-zone svg{width:15px;height:15px;color:#fff}.upload-zone span{display:none}.camera-button{grid-column:3;grid-row:3;height:43px;margin:0;font-size:0}.camera-button svg{width:18px;height:18px}.source-image{grid-column:1;grid-row:3/5;aspect-ratio:1}.source-image>span{font-size:8px;bottom:4px;right:4px}.file-info{grid-column:2/4;grid-row:4;margin:9px 0 0;flex-direction:row;justify-content:space-between;gap:4px}.file-info span:first-child{font-size:9px;max-width:125px}.file-info span:last-child{font-size:8px;white-space:nowrap}.source-panel>.section-caption,.source-panel>.result-grid,.source-panel>.sample-link,.source-panel>.photo-tip,.source-panel>.primary-button{display:none}.process-status,.error-message{grid-column:1/4;margin:14px 0 0}.canvas-panel{height:480px;min-height:430px;border-top:1px solid #e4e6ea;border-bottom:1px solid #e4e6ea}.canvas-toolbar{height:59px;padding:0 15px}.view-tabs{padding:3px;gap:1px}.view-tabs button{font-size:10px;padding:8px 12px}.view-tabs button svg{width:12px;height:12px}.stage-label{font-size:9px;left:19px;top:4px}.sample-badge{top:0;right:19px;font-size:8px;padding:4px}.canvas-footer{padding:9px 17px 13px}.workflow-strip{padding:13px 5px;font-size:9px;gap:7px}.workflow-strip span{gap:4px}.stage-caption{font-size:10px}.settings-top{padding:20px}.settings-scroll{display:flex;flex-direction:column;gap:12px;padding:0 15px 16px;overflow:visible}.setting-card{border-radius:8px}.card-heading{height:43px;padding:0 16px}.card-body{padding:17px 16px}.preset-group{margin-bottom:20px;gap:12px}.preset-group button{height:77px}.range-label{margin-top:21px}.switch-row{margin-top:23px}.dimensions-controls{gap:12px}.number-field{width:120px}.material-group{justify-content:flex-start;gap:20px}.material-group button{flex:0 0 72px}.settings-scroll .print-note{padding:5px}.settings-panel{border:0;overflow:visible}.export-area{position:sticky;bottom:0;z-index:6;background:#fffe;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:13px 17px;gap:12px;flex-wrap:wrap}.export-area>p{display:none}.export-area>span{font-size:9px}.export-button{width:auto;flex:1;max-width:220px;font-size:11px;padding:12px 15px}.toast{bottom:80px;font-size:11px;width:max-content;max-width:90vw}.image-view{top:35px;right:8%;bottom:20px;left:8%}dialog{padding:23px}.dialog-heading h2{font-size:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.machine-limit{display:flex;align-items:center;gap:5px;background:#f0f6ef;border-radius:5px;padding:8px 7px;margin-bottom:15px;font-size:9px;color:#5d735d}.machine-limit svg{width:13px;height:13px}.machine-limit strong{margin-left:auto;font-size:10px;font-weight:600;white-space:nowrap}.height-budget{margin-top:12px;padding:8px 5px;background:#f7f7f9;border-radius:4px;font-size:9px;color:#797f89;text-align:center;font-variant-numeric:tabular-nums}.control-note{font-size:9px;color:#9b9faa;line-height:1.8;margin-top:9px}.dimensions-controls .auto-size-row{margin-top:0}.size-recommendation{padding:10px;border-radius:5px;background:#fff4ec;color:#a45e32;font-size:10px;line-height:1.8;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.size-recommendation.manual{background:#f4f5f7;color:#858a94}.dimensions-controls>.control-note{margin-top:0}.contour-controls{padding:1px 10px 10px;background:#f7f8fa;border-radius:5px;margin-top:12px}.contour-controls .range-label{margin-top:12px}.contour-controls .control-note{font-size:9px}.depth-correction-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--border);padding-top:16px;margin-top:17px;font-size:11px}.depth-correction-heading .text-button{font-size:9px;color:#ab6941}.contour-switch{margin-top:13px}.contour-controls .range-label output{font-size:10px}.edit-entry{width:100%;margin-top:17px;font-size:10px;padding:10px 5px}.advanced-settings{min-width:0}.advanced-toggle-card{padding:15px 14px;border:1px solid var(--border);border-radius:8px;background:#fff;margin-bottom:12px}.advanced-toggle-card .switch-row{margin-top:0;font-weight:500}.advanced-toggle-card .switch-row small{font-weight:400;line-height:1.6}.advanced-toggle-card .control-note{color:#858a94;margin-top:12px}.advanced-settings:has(#advanced-options:checked) .advanced-toggle-card{background:#fff8f3;border-color:#f0d3c2}.advanced-settings .card-heading .text-button{margin-left:auto;font-size:9px;color:#ab6941}.advanced-settings .contour-switch{margin-top:0}@media(max-width:920px)and (min-width:601px){.settings-scroll{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.advanced-settings,.settings-scroll .print-note{grid-column:1/-1}#advanced-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}}.edit-toolbar{flex-shrink:0;border-bottom:1px solid var(--border);padding:10px 18px;background:#fffdf9}.brush-tools,.brush-options{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.brush-tools button,.brush-options button{font-size:10px;border:1px solid #e4e2de;border-radius:5px;padding:7px 9px;background:#fff;white-space:nowrap}.brush-tools button.selected{background:#fff0e2;color:#99562a;border-color:#d7a77c}.brush-tools button:focus-visible,.brush-options button:focus-visible{outline:2px solid #b97944;outline-offset:2px}.brush-options{margin-top:9px}.brush-options label{display:grid;grid-template-columns:1fr auto;gap:3px 8px;font-size:9px;color:#777b83;width:90px;margin-right:6px}.brush-options input{grid-column:1/3;margin:3px 0 4px}.brush-options output{font-variant-numeric:tabular-nums}.brush-options button{padding:6px 8px}.brush-hint{font-size:9px;color:#8c8177;line-height:1.6;margin-top:8px}.brush-cursor{position:fixed;transform:translate(-50%,-50%);border:1px solid white;box-shadow:0 0 0 1px #302820aa;border-radius:50%;background:#ffb36a12;pointer-events:none;z-index:90}.image-view canvas.painting{cursor:none;touch-action:none;-webkit-user-select:none;user-select:none}.download-list button:disabled{opacity:.55;cursor:wait}@media(max-width:1150px){.edit-toolbar{padding:8px 10px}.brush-tools{gap:4px}.brush-tools button{padding:6px;font-size:9px}.brush-options{gap:4px}.brush-options label{width:67px;margin-right:3px}}@media(max-width:600px){.canvas-panel:has(.edit-toolbar:not([hidden])){height:630px}.edit-toolbar{padding:10px 15px}.brush-options label{width:78px}.brush-options button{font-size:10px;min-height:30px}.brush-tools button{font-size:10px;min-height:32px}.brush-hint{font-size:10px}.image-view canvas.painting{cursor:crosshair}}@media(max-width:600px){.source-panel>.primary-button{display:flex;grid-column:1/4;margin-top:13px;background:#f2f3f5;color:#444851;font-size:11px;padding:10px}.source-panel>.primary-button svg{width:13px;height:13px}}
