:root{--ink:#483741;--muted:#96828b;--accent:#b64c7b;--accent-dark:#843558;--mint:#fcebf3;--paper:#fffafd;--border:#efdee7;--peach:#f2b6d0;--radius:12px;--shadow:0 5px 22px #173d3210;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #e5ac8d;outline-offset:3px}button{color:inherit}a{color:inherit;text-decoration:none}button{transition:background .15s,box-shadow .15s,transform .15s}.hidden{display:none!important}.header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:11px;font-size:26px;font-weight:750;letter-spacing:-.9px}.brandmark{width:43px;height:43px;background:var(--accent);color:#fff2d5;border-radius:14px;display:grid;place-items:center;font-size:31px;font-weight:400;transform:rotate(-5deg)}.brand-art{color:var(--accent)}.brand small{display:block;font-size:11px;letter-spacing:2.4px;margin-top:4px;font-weight:600;color:var(--muted)}.header-end{display:flex;align-items:center;gap:22px}.local-label{font-size:14px;color:var(--muted)}.local-label i,.status-dot,#readyBadge i{width:6px;height:6px;border-radius:50%;background:#9b6f80;display:inline-block;margin-right:6px}.lang{font-size:14px;letter-spacing:1px;font-weight:700}.icon-button{border:1px solid var(--border);border-radius:8px;background:white;width:30px;height:30px;display:inline-grid;place-items:center;font-size:17px;color:#79636b}.icon-button:hover{background:var(--mint)}.tabs{display:flex;align-items:center;gap:10px;padding:0 28px;height:61px;background:#fff;border-bottom:1px solid var(--border)}.tabs button{position:relative;white-space:nowrap;padding:11px 16px;border:0;border-radius:8px;background:transparent;font-size:15px;font-weight:600;color:#8e747e}.tabs button.active{color:var(--accent-dark);background:var(--mint)}.tabs button span{font-size:13px;margin-right:7px;opacity:.7}.tabs button.active:after{content:'';position:absolute;bottom:-13px;height:3px;left:17px;right:17px;background:var(--accent);border-radius:4px}.workspace{display:grid;grid-template-columns:310px minmax(350px,1fr) 257px;height:calc(100dvh - 143px);min-height:600px}.sidebar{overflow:auto;scrollbar-width:thin;scrollbar-color:#dfd7da transparent;border-right:1px solid var(--border);padding:24px 20px 28px;background:#fff}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.65px;color:#9d8890}.sidebar-heading h1{font-weight:650;font-size:26px;line-height:1.25;letter-spacing:-.65px;margin:9px 0 9px}.sidebar-heading p{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 20px}.dropzone{width:100%;border:1.5px dashed #cbb9c0;background:#f9f5f7;border-radius:12px;padding:17px 8px;display:flex;align-items:center;flex-direction:column;gap:6px}.dropzone.dragover,.dropzone:hover{background:#f1e8eb;border-color:var(--accent)}.upload-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:#ede3e7;color:var(--accent);font-size:28px;margin-bottom:2px}.dropzone strong{font-size:15px}.dropzone>span:not(.upload-icon){font-size:13px;color:var(--muted)}.dropzone small{font-size:12px;color:#a49098;margin-top:5px}.file-toolbar{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#9c858e;margin:11px 0 7px}.text-button{font-size:13px;border:0;background:none;color:var(--accent);padding:4px}.file-list{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}.file-item{border:1px solid var(--border);display:flex;align-items:center;gap:8px;padding:6px;border-radius:8px;cursor:pointer;background:#fff}.file-item.active{border-color:#bfa7b0;background:#f7f3f4}.file-item img{width:33px;height:37px;object-fit:contain;border-radius:4px}.file-item .name{flex:1;min-width:0}.file-item strong{font-size:13px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:177px;font-weight:600}.file-item small{font-size:11px;color:#9f8992;display:block;margin-top:3px}.file-item .remove-file{border:0;background:transparent;font-size:17px;color:#ac9aa1;padding:0 3px}.panel{border:1px solid var(--border);border-radius:var(--radius);padding:16px 14px;margin:0 0 13px;background:linear-gradient(135deg,#fff,#fcfdfb)}.panel h2{font-size:15px;font-weight:650;letter-spacing:-.1px;margin:0 0 16px;display:flex;gap:8px;align-items:center}.step-dot{background:#eee9eb;border-radius:50%;width:19px;height:19px;display:grid;place-items:center;font-size:12px;color:var(--accent)}.field{display:block;font-size:13px;font-weight:550;margin:0 0 13px;line-height:1.5}.field select,.field>input{display:block;width:100%;height:35px;background:#fff;border:1px solid #e3dcdf;border-radius:7px;padding:0 9px;color:#4f3f45;margin-top:6px;font-size:14px}.field input:focus,.field select:focus{outline:2px solid #d8c4cc;outline-offset:1px}.range-field{display:block;font-size:13px;font-weight:550;margin:0 0 16px;position:relative}.range-field output{float:right;font-size:12px;color:var(--accent);background:#f3eff0;border-radius:4px;padding:2px 5px;min-width:38px;text-align:center;font-weight:600}.range-field input{display:block;width:100%;margin:11px 0 0;accent-color:var(--accent);height:13px;cursor:pointer}.check{display:flex;gap:7px;align-items:center;line-height:1.5;font-size:13px;margin:10px 0;cursor:pointer}.check input{accent-color:var(--accent);width:13px;height:13px;margin:0;flex-shrink:0}.hint{font-size:12px;color:#9d8890;line-height:1.65;margin:7px 0 12px}.small-field{margin-top:12px;font-size:12px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.two-fields .field{min-width:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 13px;border-radius:7px;font-size:13px;font-weight:600;border:1px solid var(--border);min-height:35px}.button span{margin-left:auto}.button:hover{box-shadow:0 2px 7px #20463212;filter:brightness(.98)}.button.primary{background:var(--accent);color:white;border-color:var(--accent)}.button.dark{background:#3f2e35;color:white;border-color:#3f2e35}.button.subtle{background:#fff;color:#5e4951}.button.full{width:100%;margin-top:6px}.stepper{display:flex;border:1px solid #e3dcdf;border-radius:7px;overflow:hidden;margin-top:6px;height:38px}.stepper button{width:37px;flex-shrink:0;border:0;background:#f6f2f4;font-size:20px;color:#78626a}.stepper input{min-width:0;flex:1;border:0;background:white;text-align:center;font-size:18px;color:var(--ink);font-weight:600;appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.export-section{padding-top:12px}.export-section .eyebrow{margin-bottom:12px}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.workarea{display:flex;flex-direction:column;min-width:0;min-height:0}.canvas-toolbar{min-height:63px;border-bottom:1px solid var(--border);padding:12px 18px;display:flex;gap:12px;align-items:center;justify-content:space-between;background:#fdfbfc}.view-switch{display:flex;padding:3px;gap:2px;background:#efeaec;border-radius:8px;white-space:nowrap}.view-switch button{border:0;background:transparent;font-size:13px;color:#917882;padding:8px 11px;border-radius:6px}.view-switch button.selected{background:white;box-shadow:0 1px 5px #163b1b0d;color:var(--accent);font-weight:600}.canvas-tools{display:flex;gap:7px;align-items:center}.canvas-tools .icon-button{width:27px;height:27px;font-size:16px;background:transparent;border-color:transparent}.tool-button{border:1px solid var(--border);padding:7px 8px;border-radius:6px;background:white;font-size:12px;white-space:nowrap}.tool-button.active{background:var(--mint);border-color:#b6909f;color:var(--accent)}#zoomLabel{font-size:12px;color:#9d8890;min-width:29px;text-align:center}.stage{position:relative;flex:1;min-height:0;overflow:hidden;background-color:#fffcfe;background-image:none;touch-action:none}.stage-topline{position:absolute;top:23px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none;z-index:2}.stage-topline>span:first-child{font-size:11px;letter-spacing:1px;color:#9e8890;font-weight:600}#readyBadge{background:#fff9;border:1px solid #e9dee2;border-radius:20px;padding:6px 10px;font-size:11px;color:#977f88;backdrop-filter:blur(5px)}#readyBadge i{width:5px;height:5px}#drawing{width:100%;height:100%;display:block;overflow:visible;user-select:none;touch-action:none;cursor:grab}#drawing:active{cursor:grabbing}#drawing.node-edit{cursor:crosshair}#drawing .node{fill:#fff;stroke:#732f49;stroke-width:.3;cursor:move}#drawing .contour-path{fill:none;stroke:var(--contour-color,#b64c7b);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}#drawing image{pointer-events:none}#preview3d{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.dimension-label{position:absolute;bottom:56px;left:50%;transform:translateX(-50%);border:1px solid #e5dde0;background:#fff9;backdrop-filter:blur(8px);color:#7f6871;border-radius:5px;padding:6px 11px;font-size:13px;white-space:nowrap}.canvas-legend{position:absolute;bottom:22px;left:24px;display:flex;gap:18px;align-items:center;font-size:12px;color:#a28d95}.canvas-legend span{display:flex;gap:6px;align-items:center}.line-swatch{width:19px;height:2px;background:var(--accent)}.art-swatch{width:9px;height:9px;border-radius:3px;background:var(--peach)}.workspace-footer{height:35px;min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--border);padding:0 18px;background:#fdf9fb;color:#9d8890;font-size:11px}.status-dot{width:5px;height:5px}.inspector{border-left:1px solid var(--border);background:#fff;padding:31px 20px 20px;overflow:auto}.inspector-label{font-size:11px;letter-spacing:1.5px;font-weight:600;color:#a28d95}.inspector h2{font-size:22px;font-weight:500;line-height:1.4;letter-spacing:-.5px;margin:11px 0 21px}.mini-preview{height:192px;position:relative;border-radius:12px;background:#f6f0f2;overflow:hidden}.mini-preview canvas{width:100%;height:100%}.mini-badge{position:absolute;bottom:12px;right:12px;background:#fff9;border-radius:4px;padding:4px 6px;font-size:11px;color:#9c868e}.spec-list{margin:18px 0 12px}.spec-list>div{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #f2edef;font-size:13px}.spec-list span{color:#9c878f}.spec-list strong{font-size:13px;font-weight:600}.tip-card{margin-top:28px;background:#f7ecf0;border:1px solid #f0eada;border-radius:11px;padding:14px 11px;display:flex;align-items:flex-start;gap:9px}.tip-card>span{font-size:21px;color:#c9ac7d}.tip-card p{font-size:12px;line-height:1.8;color:#9d947f;margin:0}.tip-card strong{font-weight:550;color:#84795f}.print-note{font-size:11px;color:#ae9da3;line-height:1.7;margin:18px 0}.profile-guide svg{width:100%;height:80px;background:#faf5f7;border-radius:8px}.shapes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.shapes button{height:48px;border:1px solid var(--border);border-radius:7px;background:white;font-size:31px;color:#a28d95}.shapes button.selected{background:var(--mint);color:var(--accent);border-color:#b598a3}.a4-wrapper{position:absolute;inset:57px 24px 65px;display:flex;justify-content:center;align-items:center;overflow:auto}.a4-wrapper>svg{background:white;box-shadow:0 6px 28px #34513217;max-width:100%;max-height:100%;width:auto;height:100%;touch-action:none}.a4-wrapper .layout-item{cursor:move}.a4-wrapper .layout-item:hover{filter:drop-shadow(0 0 1px #287b6699)}.a4-pages{position:absolute;bottom:18px;left:15px;right:15px;display:flex;gap:5px;justify-content:center}.a4-pages button{background:#fff;border:1px solid var(--border);border-radius:5px;font-size:11px;padding:7px 9px;color:#9b858d}.a4-pages button.selected{background:#eee6e9;color:var(--accent);border-color:#d6c7cd}.stage-empty{position:absolute;inset:0;display:grid;place-items:center;color:#977f88;font-size:16px;padding:30px;text-align:center}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,25px);opacity:0;pointer-events:none;padding:13px 20px;background:#452c36;color:#fff;border-radius:9px;font-size:15px;box-shadow:0 8px 25px #12362830;z-index:30;transition:.2s;max-width:90vw;text-align:center;line-height:1.5}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #dfd7da;border-radius:20px;padding:35px;max-width:520px;width:calc(100vw - 32px);color:var(--ink);box-shadow:0 30px 100px #123b3b33}dialog::backdrop{background:#1b3c3444;backdrop-filter:blur(4px)}dialog h2{font-size:28px;letter-spacing:-.7px;margin:10px 0 22px}dialog ol{padding-left:19px}dialog li{font-size:15px;line-height:1.8;padding-left:5px;margin-bottom:13px}dialog p{font-size:14px;line-height:1.7;color:var(--muted)}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:none;color:#8e767f;font-size:24px}
@media(min-width:1600px){.workspace{grid-template-columns:330px minmax(400px,1fr) 280px}.sidebar{padding:26px}.header,.tabs{padding-left:32px}.inspector{padding:32px 25px}.mini-preview{height:230px}.sidebar-heading h1{font-size:28px}.panel{padding:18px 16px}.field,.range-field,.check{font-size:14px}}
@media(max-width:1200px){.workspace{grid-template-columns:290px minmax(300px,1fr)}.inspector{display:none}.canvas-toolbar{padding:10px}.canvas-tools{gap:4px}.tabs button{padding:11px 12px}.tabs{padding:0 16px;gap:6px}}
@media(max-width:750px){.header{height:70px;padding:0 16px}.brand{font-size:22px}.brandmark{width:36px;height:36px;font-size:28px}.brand small{font-size:10px}.header-end{gap:12px}.local-label{display:none}.tabs{height:54px;overflow-x:auto;padding:0 10px;scrollbar-width:none;gap:4px}.tabs button{font-size:14px;padding:10px}.tabs button span{display:none}.tabs button.active:after{bottom:-10px}.workspace{height:auto;min-height:calc(100dvh - 124px);display:flex;flex-wrap:wrap;flex-direction:column}.workarea{order:0;height:53dvh;min-height:360px;border-bottom:1px solid var(--border)}.sidebar{order:1;border:0;overflow:visible;padding:24px 20px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:15px}.sidebar-heading{grid-column:1/-1}.sidebar-heading h1{font-size:25px;margin-top:8px}.sidebar-heading h1 br{display:none}.sidebar-heading p{margin-bottom:4px}.upload-section{grid-column:1/-1}.control-group{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:start}.panel{margin:0}.export-section{grid-column:1/-1}.export-grid{grid-template-columns:repeat(4,1fr)}.canvas-toolbar{min-height:49px;gap:5px;padding:7px 8px}.view-switch button{font-size:12px;padding:6px}.canvas-tools .tool-button{font-size:11px;padding:6px}.canvas-tools .icon-button{width:22px;height:24px;font-size:15px}.canvas-tools{gap:2px}.stage-topline{top:12px;left:15px;right:15px}.stage-topline>span:first-child{font-size:10px}#readyBadge{font-size:10px;padding:5px 7px}.workspace-footer{font-size:10px;padding:0 10px;height:29px;min-height:29px}#interactionHint{display:none}.dimension-label{font-size:12px;bottom:43px}.canvas-legend{bottom:15px;left:15px;font-size:11px}.a4-pages{bottom:10px}.a4-pages button{font-size:10px;padding:6px}.a4-wrapper{inset:40px 12px 47px}}
@media(max-width:430px){.control-group{grid-template-columns:1fr}.sidebar{display:block}.sidebar-heading,.upload-section,.control-group,.panel{margin-bottom:15px}#editNodes{max-width:61px;white-space:normal;line-height:1.1}#fitBtn{font-size:0;padding:5px}#fitBtn:before{content:'⊡';font-size:18px}#zoomLabel{min-width:24px;font-size:11px}.brand{font-size:20px}.header-end{gap:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.brandmark{background:#f49ac2;color:#713d57}.button.primary{background:#f49ac2;border-color:#ef94bd;color:#61364a}.button.dark{background:#874763;border-color:#874763}.stage{background-color:#fffcfe;background-image:none}.mini-preview{background:#fff1f7}.tip-card{background:#fff2f8;border-color:#f4dce7}.tip-card p,.tip-card strong{color:#9c7086}.canvas-toolbar{flex-wrap:wrap;gap:8px}.canvas-tools{flex-wrap:wrap}.improve-button{color:#924365;background:#fff0f7;border-color:#efbed5;font-weight:650;font-size:13px;padding:8px 10px}.improve-button.active{background:#f49ac2;border-color:#ed91bb;color:#65384e}.correction-bar{background:#fffbfd;border-bottom:1px solid #efd8e5;padding:11px 16px 9px;z-index:5;box-shadow:0 4px 12px #a9507810}.correction-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.brush-tools{display:flex;gap:5px;flex-wrap:wrap}.brush-tools button{display:flex;align-items:center;gap:6px;border:1px solid transparent;background:transparent;padding:7px 12px;border-radius:7px;font-size:14px;color:#9d7b8d}.brush-tools button span{font-size:22px;line-height:1}.brush-tools button.selected{color:#843b5d;border-color:#ecc0d4;background:#fce4ef}.brush-settings{display:flex;gap:20px;align-items:center;margin:12px 0 9px}.brush-settings>label{display:block;font-size:13px;color:#936d80;min-width:110px;width:170px}.brush-settings output{float:right;font-size:12px;font-weight:600;color:#a24974}.brush-settings input{display:block;accent-color:#d675a0;width:100%;height:12px;margin:8px 0 0;cursor:pointer}.strength-presets{display:flex;align-items:center;gap:5px;padding-top:4px}.strength-presets button{border:1px solid #efdae5;border-radius:5px;background:white;font-size:11px;color:#a16d87;padding:6px 7px}.strength-presets button.selected{background:#f7d9e8;border-color:#dfa7c2;color:#8b3b60}.brush-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}.brush-bottom p{font-size:12px;color:#a17d91;margin:2px 0 0;line-height:1.6}.brush-bottom .text-button{font-size:12px;flex-shrink:0}.arc-settings{display:flex;gap:18px;align-items:center;min-height:43px}.arc-settings .check{margin:6px 0}.arc-settings .text-button{font-size:13px}.correction-active #drawing{cursor:none}.correction-active #drawing.pan-tool{cursor:grab}.correction-active #drawing.arc-tool{cursor:crosshair}#brushOverlay{pointer-events:none}#brushOverlay .brush-cursor{fill:#f49ac217;stroke:#c45d8d;stroke-width:1.2;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}#brushOverlay .brush-center{fill:#b64c7b}#brushOverlay .arc-selection{fill:none;stroke:#da709f;stroke-width:4;stroke-opacity:.7;vector-effect:non-scaling-stroke}#brushOverlay .arc-anchor{fill:white;stroke:#bd5785;stroke-width:2;vector-effect:non-scaling-stroke}#brushOverlay .arc-handle{fill:#f49ac2;stroke:#b84e7d;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:all;cursor:grab}#redoBtn:disabled,#undoBtn:disabled{opacity:.3;cursor:default}
@media(max-width:1400px){.canvas-tools{gap:3px}#editNodes{font-size:11px;padding:6px}.canvas-toolbar{padding:9px 10px}.brush-tools button{padding:6px 9px}.brush-settings{gap:12px}.strength-presets button{padding:5px}.canvas-tools .icon-button{width:24px}}
@media(max-width:750px){.correction-bar{padding:9px 10px}.correction-top{gap:5px}.brush-tools{gap:2px}.brush-tools button{padding:6px 7px;font-size:12px;gap:3px}.brush-tools button span{font-size:17px}.brush-settings{gap:14px;flex-wrap:wrap;margin:8px 0}.brush-settings>label{flex:1;width:auto}.strength-presets{padding:0}.brush-bottom{align-items:flex-start}.brush-bottom p{font-size:11px}.correction-active .workarea{height:75dvh;min-height:560px}.improve-button{font-size:12px!important}.canvas-toolbar{min-height:55px}.canvas-tools{gap:3px}#editNodes{max-width:none!important;font-size:11px}.arc-settings{gap:12px}}
.recess-panel{border-top:1px solid var(--border);margin-top:15px;padding-top:14px}.recess-panel h3{font-size:14px;font-weight:650;margin:0 0 15px}.recess-list{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0 17px;max-height:150px;overflow:auto}.recess-list button{padding:7px 8px;border:1px solid #efd5e2;background:#fff;border-radius:6px;font-size:12px}.recess-list button.selected{background:#fce4ef;color:#843b5d;border-color:#cf84a6}#selectRecess.active{background:#fce4ef;color:#843b5d;border-color:#cf84a6}#zoomSelect{width:70px;min-height:29px;font-size:13px;border:1px solid var(--border);border-radius:6px;color:#843b5d;background:#fff;padding:3px;cursor:pointer}#recessOverlay .recess-area{cursor:pointer;pointer-events:fill}#recessOverlay .recess-tint{fill:#f49ac2;fill-opacity:.055;stroke:none}#recessOverlay .recess-hatch{fill-opacity:.23;stroke:none}#recessOverlay .recess-area.selected .recess-tint{fill-opacity:.09}#recessOverlay .recess-area.selected .recess-hatch{fill-opacity:.4}#recessOverlay .recess-marker{cursor:pointer;pointer-events:all}#recessOverlay .recess-marker circle{fill:#fff;stroke:#b64c7b;}#recessOverlay .recess-marker text{fill:#843b5d;font-weight:700;pointer-events:none}#recessOverlay .recess-marker.selected circle{fill:#fce4ef}#recessOverlay .recess-marker:focus-visible circle{stroke:#483741}#drawing .node{stroke-width:1.3;vector-effect:non-scaling-stroke}@media(max-width:750px){#zoomSelect{width:62px;font-size:12px;min-height:27px}.canvas-tools{row-gap:5px}.workarea{min-height:400px}}

.touch-hint{display:none;position:absolute;top:55px;left:50%;transform:translateX(-50%);font-size:12px;line-height:1.4;color:#967d88;background:#fffcfee8;padding:5px 9px;border-radius:5px;pointer-events:none;white-space:nowrap}@media(pointer:coarse),(max-width:750px){.touch-hint{display:block}}
.range-number{float:right;display:inline-flex;align-items:center;gap:3px;min-width:59px;border:1px solid #e9c4d5;border-radius:5px;background:#fff7fb;padding:1px 5px;color:#a24974;font-size:13px;line-height:1.5}.range-field .range-number input,.brush-settings .range-number input{display:inline-block;width:3.7em;max-width:70px;height:22px;min-height:0;margin:0;padding:1px 2px;border:0;border-radius:3px;background:transparent;color:#843b5d;font-size:15px;font-weight:600;text-align:right;line-height:1.5;outline:none}.range-number:focus-within{outline:2px solid #df9cba;outline-offset:1px;background:#fff}.range-number input[aria-invalid=true]{color:#b23756}.range-number input:disabled{opacity:.5}.range-number input::placeholder{font-size:13px;font-weight:500;color:#967d88}.range-number>span{font-size:12px;white-space:nowrap}.range-field output[hidden],.brush-settings output[hidden]{display:none!important}.range-field{min-height:42px}.brush-settings .range-number{margin-left:6px}@media(max-width:750px){.range-field .range-number input,.brush-settings .range-number input{font-size:16px;width:3.2em;height:25px}.range-number{padding:0 4px}.range-field{min-height:46px}}

.brandmark.logo-mark{width:48px;height:56px;flex-shrink:0;background:transparent;border-radius:0;transform:none;color:inherit}.logo-mark img{display:block;width:100%;height:100%;object-fit:contain}@media(max-width:750px){.brandmark.logo-mark{width:38px;height:47px}}

#drawing.pan-dragging{cursor:grabbing!important}.correction-active #drawing.pan-tool{cursor:grab}#drawing.pan-tool .arc-handle{cursor:grab}

.appearance-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;background:#fffafd;border-bottom:1px solid var(--border)}.art-controls{display:flex;align-items:center;gap:8px}.opacity-control{display:flex;align-items:center;gap:7px;font-size:13px;color:#8e6d7f}.opacity-control>input{width:85px;accent-color:var(--accent);height:12px}.opacity-control output{font-size:13px}.opacity-control .range-number{order:2}.opacity-control .range-number input{width:29px}.contour-colors{display:flex;gap:6px;align-items:center}.contour-colors>span{font-size:13px;color:#8e6d7f;margin-right:4px}.contour-colors button{width:21px;height:21px;border-radius:50%;border:3px solid #fff;background:var(--swatch);box-shadow:0 0 0 1px #e9dbe2;padding:0}.contour-colors button[aria-pressed=true]{box-shadow:0 0 0 2px #977385}.contour-colors button:focus-visible{outline:2px solid #825669;outline-offset:3px}.canvas-tools .history-button{font-size:13px;padding:7px 9px;color:#804663;background:#fff;border-color:#dfc5d3}.history-button:disabled{opacity:.35;cursor:default}.line-swatch{background:var(--contour-color,#b64c7b)}@media(max-width:750px){.appearance-bar{padding:7px 9px;gap:7px}.opacity-control{font-size:12px;gap:5px}.opacity-control>input{width:65px}.art-controls{gap:5px}.contour-colors{gap:5px}.contour-colors>span{font-size:12px}.contour-colors button{width:19px;height:19px}.canvas-tools .history-button{font-size:12px;padding:6px}.workarea{min-height:440px}}

.appearance-exports{margin-top:8px}.appearance-exports .button{font-size:12px;padding:9px 6px}

.opacity-control .range-number{min-width:45px;padding:0 4px}.opacity-control .range-number input{height:21px;min-height:0;border:0;background:transparent;border-radius:3px;color:#843b5d;font-size:15px;font-weight:600;text-align:right;padding:1px 0;margin:0;outline:none}.opacity-control output[hidden]{display:none!important}@media(max-width:750px){.opacity-control .range-number input{font-size:16px;height:24px;width:32px}}

.file-quick-actions{display:flex;align-items:center;gap:7px;flex:1;min-width:230px}.file-name-control{display:flex;align-items:center;gap:5px;flex:1;min-width:0;color:#987a8b;font-size:12px}.file-name-control input{width:100%;min-width:30px;max-width:180px;border:1px solid transparent;border-radius:5px;background:transparent;color:#654554;font-size:14px;padding:6px 4px;text-overflow:ellipsis}.file-name-control input:hover{border-color:#e9d3df;background:#fff}.file-name-control input:focus{outline:2px solid #dfa1bf;border-color:transparent;background:#fff}.file-name-control input:disabled{opacity:.45}.file-name-control>span:last-child{font-size:15px}.jpeg-quick{white-space:nowrap;min-height:29px;padding:6px 9px;background:#fce4ef;color:#843b5d;border-color:#eac0d3;font-size:13px}.jpeg-quick:disabled{opacity:.4;cursor:default}@media(max-width:750px){.file-quick-actions{order:0;flex-basis:100%;min-width:0}.appearance-bar .art-controls{order:1}.appearance-bar .contour-colors{order:2}.file-name-control input{max-width:none;font-size:16px;padding:5px}.jpeg-quick{font-size:13px;padding:7px 9px}}

.profile-guide #cutterProfile{height:165px;background:#fff8fc}.profile-guide #cutterProfile text{font-family:inherit}

.reinforcement-panel #ribSettings{margin-top:18px}.rib-list{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.rib-list-row{display:flex;border:1px solid #ead2df;border-radius:7px;overflow:hidden}.rib-list-row button{padding:7px 9px;border:0;background:white;color:#83566c;font-size:13px}.rib-list-row .selected{background:#fce1ee;color:#843b5d}.rib-list-row .rib-remove{border-left:1px solid #eedde5;color:#ad7d95}.rib-surface{fill:#e8a1c1;fill-opacity:.4;stroke:#b64c7b;stroke-width:1;vector-effect:non-scaling-stroke;cursor:move;pointer-events:all}.rib-plan.selected .rib-surface{fill-opacity:.65;stroke-width:2}.rib-rotation-ring{fill:none;stroke:#b64c7b;stroke-width:1.2;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:grab}.rib-rotation-spoke{stroke:#b64c7b;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.rib-rotate-knob{fill:#fff;stroke:#b64c7b;stroke-width:2;vector-effect:non-scaling-stroke;cursor:grab;pointer-events:all}.rib-center{fill:#b64c7b;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;cursor:move;pointer-events:all}#reinforcementOverlay text{font-family:inherit;font-weight:600}

/* Clear tool names, quick STL export, and the live profile beside the model. */
.tabs button{font-size:16px;font-weight:700;letter-spacing:-.15px;padding:11px 17px}.tabs button:hover{background:#fff4f9;color:var(--accent-dark)}.tabs button.active{background:#fce5f0}.stl-quick{white-space:nowrap;min-height:32px;padding:7px 12px;background:#f8d9e9;border-color:#e7abc8;color:#78314f;font-size:14px;font-weight:700}.profile-panel{border-top:1px solid var(--border);padding-top:17px;margin-top:17px}.profile-panel h3{font-size:14px;font-weight:650;margin:0 0 10px}.profile-guide svg{display:block;width:100%;border:1px solid #f1e0e9;border-radius:9px}.profile-panel .hint{margin-bottom:15px}
@media(max-width:1200px){body.cutter-tab .workspace{height:auto;grid-template-rows:minmax(600px,calc(100dvh - 143px)) auto}body.cutter-tab .inspector{display:block;grid-column:1/-1;border-top:1px solid var(--border);padding:18px}body.cutter-tab .inspector>:not(#cutterProfilePanel){display:none}body.cutter-tab .profile-panel{border:0;padding:0;margin:0 auto;max-width:360px}.tabs button{font-size:15px;padding:11px 13px}}
@media(max-width:750px){.tabs button{font-size:15px;font-weight:700;padding:10px 12px}.stl-quick{font-size:13px;padding:7px 9px}body.cutter-tab .inspector{order:2;width:100%}#contourControls{grid-template-columns:1fr}}

.cutter-axes{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:7px;align-items:end}.cutter-axes .field{min-width:0}.aspect-lock{height:35px;margin-bottom:13px;border:1px solid #e8bfd3;background:#fce5f0;border-radius:7px;font-size:16px;padding:0}.aspect-lock[aria-pressed=false]{background:#fff;color:#987787;border-color:var(--border)}#preview3d{touch-action:none}#preview3d.panning{cursor:grabbing}.cutter-axes input{font-variant-numeric:tabular-nums}@media(max-width:750px){.cutter-axes input{font-size:16px}}

.inner-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--border);padding:7px 0}.inner-row .check{margin:3px 0}.inner-row .text-button{font-size:12px;white-space:nowrap}.inner-contour-path{stroke:#7d68a5!important}.dimension-text{fill:#987386;font-family:inherit;font-weight:600;paint-order:stroke;stroke:#fffcfe;stroke-width:3px;stroke-linejoin:round;vector-effect:non-scaling-stroke}#dimensionOverlay{pointer-events:none}#resetEdits{color:#95624c;background:#fffaf5;border-color:#ecd6c6}#resetEdits:disabled{opacity:.35;cursor:default}.dimension-label{font-size:13px}

.model-build{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;padding:35px;color:#94677d;text-align:center;font-size:15px;background:#fffcfebf}.model-build span{max-width:330px;padding:15px 20px;border:1px solid var(--border);border-radius:10px;background:#fffcfe;box-shadow:0 5px 22px #8d5b7610}
/* The constructor presents only parameters relevant to the chosen base. */
.shape-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shape-choices button{display:flex;align-items:center;gap:6px;min-width:0;min-height:47px;padding:9px 8px;border:1px solid var(--border);border-radius:9px;background:#fff;color:#846674;text-align:left;font-size:13px;font-weight:600}.shape-choices button>span{display:grid;place-items:center;flex-shrink:0;width:21px;font-size:28px;line-height:1;color:#b66b8d}.shape-choices button:hover{background:#fff5fa;border-color:#ddb2c6}.shape-choices button.selected{background:#fce7f1;border-color:#c580a2;color:#803354;box-shadow:0 0 0 1px #c580a220}.shape-choices button.selected>span{color:#a64373}.single-dimension{grid-template-columns:1fr}.shape-extras summary{cursor:pointer;font-size:14px;font-weight:650;color:#866075}.shape-extras[open] summary{margin-bottom:20px}.shape-extras .check{margin-top:15px}.shape-actions .hint{margin:0 0 13px}.shape-actions .button{margin-bottom:8px}#constructorControls .hint{line-height:1.65}#shapeLockField{margin-top:-2px;margin-bottom:14px}#shapeParameters .range-field{margin-bottom:21px}@media(max-width:750px){.shape-choices button{min-height:49px;font-size:15px}#constructorControls .shape-actions{grid-column:1/-1}#constructorControls .shape-actions .button{min-height:42px}}
.shape-choices button>span.shape-choice-name{display:block;flex:1;min-width:0;width:auto;font-size:13px;line-height:1.5;color:inherit;font-weight:600}.shape-choices button{min-height:52px}.individual-valleys{border-top:1px solid var(--border);padding-top:13px;margin-top:16px}.individual-valleys summary{font-size:14px;font-weight:650;cursor:pointer;color:#86546b;margin-bottom:16px}.individual-valleys .text-button{padding-left:0}.shape-choices button>span:first-child{flex-basis:20px}

.shape-natural-size{font-size:14px;line-height:1.65;color:#94647c;background:#fff4f9;border-radius:7px;padding:9px 10px;margin:0 0 14px}#shapeSizingField select{font-size:14px}

/* Readable controls at ordinary browser zoom, including narrow screens. */
.workspace{grid-template-columns:340px minmax(350px,1fr) 278px}
.field,.range-field,.check{line-height:1.5}
.field select,.field>input{min-height:42px;height:auto;padding:9px 10px}
.field>input:focus,.field select:focus{scroll-margin:20px}
.check{gap:8px;min-height:25px}.check input{width:16px;height:16px}
.panel h2{line-height:1.45}.step-dot{width:23px;height:23px;flex-shrink:0}
.button{min-height:41px;line-height:1.45}.panel .button,.export-grid .button{overflow-wrap:anywhere}
.range-field,.brush-settings>label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 8px;min-height:0}
.range-field>.range-number,.range-field>output,.brush-settings>label>.range-number,.brush-settings>label>output{float:none;justify-self:end}
.range-field>input[type=range],.brush-settings>label>input[type=range]{grid-column:1/-1;width:100%;height:18px;margin:0}
.range-field .range-number input,.brush-settings .range-number input{height:28px;font-size:15px;width:3.6em}
.brush-settings .range-number{margin-left:0}
.canvas-toolbar{gap:10px;padding:10px 14px}.canvas-tools{min-width:0;gap:6px}
.canvas-tools .tool-button,#editNodes,.canvas-tools .history-button{font-size:12px;line-height:1.4;padding:8px 10px}
.canvas-tools .icon-button{width:32px;height:34px;flex-shrink:0}
.view-switch button{font-size:13px;line-height:1.4;padding:8px 10px}
.improve-button{font-size:12px!important}
#zoomSelect{width:82px;min-height:34px;font-size:13px}
.appearance-bar{gap:12px}.file-quick-actions{flex:1 1 300px;min-width:min(100%,300px);flex-wrap:wrap}
.file-name-control{flex:1 1 120px}.file-name-control input{min-height:36px}
.jpeg-quick,.stl-quick{font-size:13px;min-height:37px;padding:8px 11px;flex-shrink:0}
.contour-colors button{width:25px;height:25px}
.workspace-footer{height:auto;min-height:42px;flex-wrap:wrap;line-height:1.5;padding:8px 14px}
.workspace-footer>span{min-width:0;overflow-wrap:anywhere}
.shape-choices button{min-height:61px}.shape-choices button>span.shape-choice-name{font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.shape-choices button>span:first-child{width:23px;flex-basis:23px}
.shape-extras summary,.individual-valleys summary{line-height:1.5}
#shapeSizingField select{font-size:14px}
.cutter-axes{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)}.aspect-lock{height:42px}
.inner-row{flex-wrap:wrap}.inner-row .text-button{font-size:12px}
.file-item{padding:8px}.file-item img{width:38px;height:42px}.file-item strong{max-width:200px;line-height:1.45}.file-item small{line-height:1.4}
.touch-hint{max-width:calc(100% - 28px);white-space:normal;text-align:center}
@media(min-width:1600px){.workspace{grid-template-columns:360px minmax(400px,1fr) 300px}}
@media(max-width:1200px){.workspace{grid-template-columns:320px minmax(300px,1fr)}}
@media(max-width:750px){
 .tabs button{font-size:14px}.sidebar{padding:22px 16px}.sidebar-heading h1{font-size:25px}
 .field select,.field>input{font-size:16px;min-height:44px}.check{font-size:14px}
 .button{min-height:44px}.export-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .range-field .range-number input,.brush-settings .range-number input{font-size:16px;height:30px}
 .range-field>input[type=range],.brush-settings>label>input[type=range]{height:22px}
 .canvas-toolbar{padding:8px;gap:7px}.canvas-tools{gap:5px}
 .canvas-tools .tool-button,#editNodes,.canvas-tools .history-button{font-size:12px;max-width:none;padding:7px 9px}
 .canvas-tools .icon-button{width:34px;height:34px}.view-switch button{font-size:12px}#fitBtn::before{content:none}
 #zoomSelect{width:75px;font-size:13px;min-height:34px}
 .appearance-bar{padding:9px;gap:10px}.file-quick-actions{min-width:0;flex-basis:100%}
 .file-name-control input{font-size:16px}.jpeg-quick,.stl-quick{font-size:12px;min-height:38px}
 .opacity-control{font-size:12px}.opacity-control>input{width:70px}.opacity-control .range-number input{font-size:16px;width:32px}
 .contour-colors>span{font-size:12px}.contour-colors button{width:24px;height:24px}
 .dimension-label{font-size:12px;max-width:calc(100% - 24px);white-space:normal;text-align:center}
 .brush-tools button{font-size:12px;padding:8px}.brush-settings{gap:14px}.brush-settings>label{min-width:130px}
 .strength-presets{flex-wrap:wrap}.strength-presets button{font-size:11px;padding:7px}
 .brush-bottom{flex-wrap:wrap}.brush-bottom p{font-size:11px}.brush-bottom .text-button{font-size:12px}
 .correction-active .workarea{height:85dvh;min-height:1000px}
 .workarea{height:65dvh;min-height:680px}.canvas-legend{font-size:11px}
 .shape-choices button>span.shape-choice-name{font-size:14px}.shape-choices button{min-height:62px}
 #shapeSizingField select{font-size:16px}
 .appearance-exports .button{font-size:12px}
 .workspace-footer{font-size:11px;padding:7px 10px}
}
.shape-choices button{padding:9px 6px;gap:4px}.shape-choices button>span:first-child{width:20px;flex-basis:20px}.shape-choices button>span.shape-choice-name{overflow-wrap:normal;word-break:normal}
@media(min-width:751px) and (max-width:1200px){.workspace{grid-template-columns:340px minmax(300px,1fr)}}
@media(max-width:350px){.shape-choices{grid-template-columns:1fr}}
/* Saved profiles, reviewable cleanup, and direct editing aids. */
.editing-helpers{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:9px 14px;background:#fff;border-bottom:1px solid var(--border)}.editing-helpers .check{margin:0}.editing-helpers select{font-size:13px;border:1px solid var(--border);border-radius:7px;padding:7px;background:#fff;color:var(--ink)}.editing-helpers .button{font-size:12px;min-height:35px;padding:7px 10px}.preset-save{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.preset-save input{flex:1;min-width:110px;width:100%;padding:10px;border:1px solid var(--border);border-radius:7px;font-size:14px}.preset-save .button{flex:0}.preset-panel .hint{margin-bottom:0}.workshop-dialog{width:560px;max-width:calc(100vw - 24px);max-height:90dvh;overflow:auto;padding:26px}.workshop-dialog h2{font-size:24px;margin-right:24px}.workshop-dialog p{font-size:14px}.workshop-dialog .field{font-size:14px}.size-choices{display:flex;flex-wrap:wrap;gap:12px 22px;margin:15px 0}.size-choices .check{font-size:15px}#packProgress{min-height:22px}.cleanup-dialog{width:760px}#cleanupPreview{display:block;max-width:100%;max-height:400px;width:auto;height:auto;margin:14px auto;background:white;border:1px solid var(--border);cursor:pointer}.cleanup-list{max-height:180px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}.cleanup-item{margin:2px 0}.cleanup-actions{display:flex;gap:8px;flex-wrap:wrap}.inner-settings{flex-basis:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:7px}.inner-settings .field{margin-bottom:4px}.inner-settings input,.inner-settings select{width:100%;font-size:13px}.inner-settings input:disabled{background:#f7f3f5;color:#9a8691}.shape-handle-switch{margin:0 0 6px}.shape-handle-hint{margin-bottom:14px!important}.shape-handle{cursor:grab;outline:none}.shape-handle-hit{fill:transparent;stroke:none;pointer-events:all}.shape-handle-dot{fill:#fff;stroke:#b64c7b;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.shape-handle:focus .shape-handle-dot,.shape-handle:hover .shape-handle-dot{fill:#f49ac2;stroke:#843558}.shape-handle text{fill:#843558;font-weight:700;pointer-events:none}.symmetry-axis{stroke:#8d78b5;stroke-width:1.2;stroke-dasharray:6 5;vector-effect:non-scaling-stroke;opacity:.7}.before-contour{fill:none;stroke:var(--contour-color,#b64c7b);vector-effect:non-scaling-stroke;stroke-linejoin:round}#drawing.comparing .contour-path,#drawing.comparing #brushOverlay,#drawing.comparing #recessOverlay,#drawing.comparing #symmetryOverlay,#drawing.comparing .node,#drawing.comparing #reinforcementOverlay{visibility:hidden}#compareContour{touch-action:none}#compareContour[aria-pressed=true]{background:#f8d9e9;border-color:#c580a2}
@media(max-width:750px){.editing-helpers{padding:8px;gap:8px}.editing-helpers select{font-size:16px;max-width:175px}.editing-helpers .check{font-size:13px}.workshop-dialog{padding:22px 16px}.workshop-dialog input,.workshop-dialog select,.preset-save input{font-size:16px}.cleanup-list{grid-template-columns:1fr}.inner-settings{grid-template-columns:1fr}.inner-settings select,.inner-settings input{font-size:16px}.shape-handle-dot{stroke-width:2}.workarea{min-height:760px}.correction-active .workarea{min-height:1100px}.shape-handle-switch,.shape-handle-hint{grid-column:1/-1}}

#dimensions{pointer-events:none}#drawing:not(.hidden)~#dimensions{display:none}

#compareContour,#compareContour *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}#compareContour[aria-pressed=true]{background:#f8d9e9;box-shadow:inset 0 0 0 1px #c580a2}#comparisonOverlay{pointer-events:none}.pack-size-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.pack-size-grid .check{margin:0;white-space:nowrap}.pack-rib-choices{display:flex;flex-wrap:wrap;gap:4px 18px}.pack-rib-row{font-size:14px}.cleanup-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;margin-bottom:14px}.cleanup-legend span{display:flex;align-items:center;gap:7px}.cleanup-legend i{display:inline-block;width:12px;height:12px;border-radius:3px}.cleanup-keep-swatch{background:#27856a}.cleanup-remove-swatch{background:#db4c84}.cleanup-actions .active{background:#f8e3ee;border-color:#b64c7b}#cleanupPreview.picking-main{cursor:crosshair}#cleanupDialog .cleanup-actions .button{white-space:normal}.cleanup-list:empty{display:none}@media(max-width:500px){.pack-size-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cleanup-actions .button{flex:1 1 100%}.pack-size-grid .check{font-size:14px}}
/* Two compact rows reserve the available height for the artwork. */
.workarea{container-type:inline-size}.compact-toolbar{padding:6px 10px;min-height:46px;gap:0;flex-wrap:nowrap}.compact-toolbar .canvas-tools{width:100%;flex-wrap:nowrap;gap:4px;overflow-x:auto;scrollbar-width:thin;align-items:center}.compact-toolbar .tool-button,.compact-toolbar .history-button,#editNodes{font-size:13px;line-height:1.3;padding:7px 8px;min-height:32px;flex-shrink:0}.compact-toolbar .square-tool,#editNodes{width:32px;min-width:32px;padding:5px;display:inline-flex;align-items:center;justify-content:center}.compact-toolbar .history-button{font-size:21px;line-height:1}.compact-toolbar .square-tool svg{width:21px;height:21px}.compact-toolbar .toolbar-short{display:none}.history-tools,.viewport-tools{display:flex;align-items:center;gap:3px;flex-shrink:0}.viewport-tools{margin-left:auto}.viewport-tools .icon-button{width:28px;height:32px;min-height:32px;padding:0;font-size:17px;flex-shrink:0}#zoomSelect{width:69px;min-height:32px;height:32px;padding:2px 3px;font-size:13px}.compact-toolbar .stl-quick{min-height:32px;padding:6px 8px;white-space:nowrap;font-size:13px}
.compact-appearance{flex-wrap:nowrap;justify-content:flex-start;gap:9px;padding:6px 10px;min-height:46px}.compact-appearance .view-switch{flex-shrink:0;gap:1px;padding:2px}.compact-appearance .view-switch button{font-size:13px;padding:6px 7px;line-height:1.3}.appearance-settings{display:flex;align-items:center;flex:1;min-width:0;gap:8px}.compact-appearance .file-name-control{flex:1;min-width:90px;font-size:13px}.compact-appearance .file-name-control input{max-width:none;font-size:14px;padding:5px 3px}.compact-appearance .art-controls{gap:5px;flex-shrink:0}.compact-appearance .art-controls>.icon-button{width:28px;height:30px;min-height:30px;padding:0}.compact-appearance .opacity-control{font-size:13px;gap:5px}.compact-appearance .opacity-control>input{width:64px;height:14px}.compact-appearance .opacity-control .range-number{min-width:42px}.compact-appearance .opacity-control .range-number input{font-size:14px}.compact-appearance .jpeg-quick{min-height:32px;font-size:13px;padding:6px 8px;flex-shrink:0}.color-menu-button{width:32px;height:32px;min-width:32px;border:1px solid var(--border);background:white;border-radius:7px;display:grid;place-items:center;padding:0}.color-menu-button span{width:19px;height:19px;display:block;border-radius:50%;background:var(--contour-color,#b64c7b);box-shadow:0 0 0 2px #fff,0 0 0 3px #ead5e0}
[popover]:not(:popover-open){display:none!important}.tool-popover{position:fixed;inset:auto;margin:0;border:1px solid #e5cbd8;border-radius:10px;padding:14px;background:#fffafd;color:#684754;box-shadow:0 8px 28px #713d5726;min-width:150px;max-width:calc(100vw - 16px);font-size:14px}.tool-popover:popover-open{display:flex;flex-direction:column;gap:12px}.tool-popover::backdrop{background:transparent}.tool-popover strong{font-size:14px}.tool-popover .check{font-size:14px;margin:0}.tool-popover select{padding:8px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:white}.tool-popover .button,.tool-popover .tool-button{font-size:14px;min-height:36px}.tool-popover .contour-colors{gap:12px;padding:4px}.tool-popover .contour-colors button{width:27px;height:27px}.editing-helpers.tool-popover{align-items:stretch}.cleanup-tool{font-size:13px;white-space:nowrap;min-height:34px;background:#fff;border-color:#e7c4d5}.correction-top .brush-tools{flex:1}.workspace-footer{min-height:32px;padding:4px 12px;font-size:11px}.stage-topline{top:14px}.toolbar-short{display:none}
@container(max-width:900px){.compact-toolbar .toolbar-long,.compact-appearance .toolbar-long{display:none}.compact-toolbar .toolbar-short{display:inline}.compact-toolbar .tool-button{padding:7px 6px}.compact-toolbar .square-tool{padding:5px}.compact-appearance .file-label{display:none}.compact-appearance{gap:7px}.appearance-settings{gap:6px}.compact-appearance .opacity-control>input{width:54px}}
@media(max-width:750px){.workarea{height:calc(100svh - 124px);min-height:440px}.correction-active .workarea{height:calc(100svh - 124px);min-height:600px}.compact-toolbar{padding:5px 7px;min-height:46px}.compact-toolbar .canvas-tools{gap:4px;scrollbar-width:none}.compact-toolbar .canvas-tools::-webkit-scrollbar{display:none}.compact-toolbar .tool-button,.compact-toolbar .history-button,#editNodes{min-height:36px}.compact-toolbar .square-tool{width:36px;min-width:36px}.viewport-tools .icon-button{width:30px;height:36px}.compact-appearance{display:grid;grid-template-columns:auto minmax(0,1fr) 32px auto;gap:6px;padding:6px 8px}.appearance-settings{display:contents}.compact-appearance .view-switch{grid-column:1;grid-row:1}.compact-appearance .file-name-control{grid-column:2/-1;grid-row:1;min-width:0}.compact-appearance .file-name-control input{font-size:16px}.compact-appearance .art-controls{grid-column:1/3;grid-row:2;gap:4px}.color-menu-button{grid-column:3;grid-row:2}.compact-appearance .jpeg-quick{grid-column:4;grid-row:2;min-height:34px}.compact-appearance .opacity-control{font-size:12px;gap:4px}.compact-appearance .opacity-control .range-number input{font-size:16px}.compact-appearance .opacity-control>input{width:55px}.tool-popover select{font-size:16px}.correction-top{flex-wrap:wrap;gap:6px}.correction-top .brush-tools{order:2;flex-basis:100%;flex-wrap:nowrap;overflow:auto}.correction-top #closeCorrections{margin-left:auto}.workspace-footer{min-height:29px;padding:4px 9px}}
/* Local brushes float over the canvas instead of resizing its viewport. */
.stage>.compact-correction{position:absolute;top:8px;left:8px;right:8px;z-index:7;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-height:44px;padding:6px 8px;border:1px solid #e8c8d8;border-radius:9px;background:#fffafd;box-shadow:0 3px 14px #77475917}.compact-correction .brush-tools{flex:0 1 auto;min-width:0;flex-wrap:nowrap;gap:3px}.compact-correction .brush-tools button{flex-shrink:0;gap:4px;padding:5px 7px;min-height:30px;font-size:13px;white-space:nowrap}.compact-correction .brush-tools button>span{font-size:18px}.compact-correction .brush-settings{display:flex;flex:1;flex-wrap:nowrap;gap:8px;min-width:0;margin:0}.compact-correction .brush-settings>label{display:grid;grid-template-columns:max-content 49px minmax(28px,1fr);gap:5px;align-items:center;min-width:0;width:auto;flex:1;font-size:12px}.compact-correction .brush-settings>label>input[type=range]{grid-column:3;grid-row:1;min-width:0;width:100%;height:14px;margin:0}.compact-correction .brush-settings .range-number{grid-column:2;grid-row:1;justify-self:stretch;min-width:0;gap:2px;margin:0;padding:1px 3px}.compact-correction .brush-settings .range-number input{width:27px;height:24px;max-width:none;padding:1px 0;font-size:14px}.compact-correction .brush-settings .range-number>span{font-size:11px}.brush-panel-actions{display:flex;gap:3px;flex-shrink:0;margin-left:auto}.brush-panel-actions .icon-button{width:28px;height:30px;min-height:30px;padding:0;background:#fff;border-color:#edd5e1;font-size:17px}.compact-correction .arc-settings{gap:8px;min-width:0;min-height:30px;flex:1;margin:0}.compact-correction .arc-settings .check{margin:0;font-size:12px;white-space:nowrap;min-height:0}.compact-correction .arc-settings .text-button{font-size:12px;padding:4px;white-space:nowrap}.brush-help{max-width:min(360px,calc(100vw - 16px))}.brush-help p{font-size:13px;line-height:1.6;margin:0}.brush-help .brush-navigation-hint{color:#977b89;border-top:1px solid var(--border);padding-top:9px}.brush-help .strength-presets{display:flex;flex-wrap:wrap;padding:0;gap:6px}.brush-help .strength-presets button{font-size:13px;padding:7px 9px}.brush-help .text-button{font-size:13px;text-align:left;padding:4px 0}.correction-active .stage-topline{visibility:hidden}.compact-appearance .cleanup-tool{font-size:13px;min-height:32px;padding:6px 8px;flex-shrink:0;white-space:nowrap}
@container(max-width:900px){.compact-correction{gap:6px}.compact-correction .brush-settings{gap:10px}.compact-correction .brush-setting-name{display:inline}}
@media(max-width:750px){.correction-active .workarea{height:calc(100svh - 124px);min-height:440px}.compact-appearance{grid-template-columns:auto minmax(0,1fr) auto 32px auto}.compact-appearance .file-name-control{grid-column:2/4}.compact-appearance .cleanup-tool{grid-column:4/-1;grid-row:1;padding:6px;min-height:34px}.compact-appearance .art-controls{grid-column:1/4}.compact-appearance .color-menu-button{grid-column:4}.compact-appearance .jpeg-quick{grid-column:5}.stage>.compact-correction{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;top:6px;left:6px;right:6px;padding:6px}.compact-correction .brush-tools{grid-column:1;grid-row:1;width:100%;gap:3px}.compact-correction .brush-tools button{justify-content:center;flex:1;font-size:13px;min-height:32px;padding:5px 4px;gap:0}.compact-correction .brush-tools button>span{display:none}.brush-panel-actions{grid-column:2;grid-row:1;gap:3px}.brush-panel-actions .icon-button{width:28px;height:32px;min-height:32px}.compact-correction .brush-settings,.compact-correction .arc-settings{grid-column:1/-1;grid-row:2;width:100%;gap:10px}.compact-correction .brush-setting-name{display:inline}.compact-correction .brush-settings>label{grid-template-columns:max-content 49px minmax(25px,1fr);min-width:0;flex:1}.compact-correction .brush-settings .range-number{grid-column:2}.compact-correction .brush-settings .range-number input{font-size:16px;height:25px;width:29px}.compact-correction .brush-settings>label>input[type=range]{grid-column:3;height:18px}.compact-correction .arc-settings{justify-content:space-between;flex-wrap:wrap;gap:4px}.compact-correction .arc-settings .check,.compact-correction .arc-settings .text-button{font-size:12px}}
@container(max-width:900px){.compact-appearance .cleanup-tool .toolbar-short{display:inline}}
@container(max-width:680px){.stage>.compact-correction{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:6px}.compact-correction .brush-tools{grid-column:1;grid-row:1;width:100%;gap:3px}.compact-correction .brush-tools button{flex:1;justify-content:center;min-height:32px;padding:5px 4px;gap:0}.compact-correction .brush-tools button>span{display:none}.compact-correction .brush-panel-actions{grid-column:2;grid-row:1}.compact-correction .brush-settings,.compact-correction .arc-settings{grid-column:1/-1;grid-row:2;width:100%;gap:10px}.compact-correction .brush-setting-name{display:inline}.compact-correction .brush-settings>label{grid-template-columns:max-content 49px minmax(25px,1fr);flex:1}.compact-correction .brush-settings .range-number{grid-column:2}.compact-correction .brush-settings>label>input[type=range]{grid-column:3}.compact-correction .arc-settings{justify-content:space-between;flex-wrap:wrap}.compact-appearance{display:grid;grid-template-columns:auto minmax(0,1fr) auto 32px auto;gap:6px;padding:6px 8px}.compact-appearance .appearance-settings{display:contents}.compact-appearance .view-switch{grid-column:1;grid-row:1}.compact-appearance .file-name-control{grid-column:2/4;grid-row:1;min-width:0}.compact-appearance .cleanup-tool{grid-column:4/-1;grid-row:1}.compact-appearance .art-controls{grid-column:1/4;grid-row:2}.compact-appearance .color-menu-button{grid-column:4;grid-row:2}.compact-appearance .jpeg-quick{grid-column:5;grid-row:2}}

/* Keep each brush caption beside its own value, without stretching the caption column. */
.compact-correction .brush-setting-name{grid-column:1;grid-row:1;white-space:nowrap;color:#795363}.compact-correction .brush-settings{gap:14px}.compact-correction #strengthLabel{border-left:1px solid #ead4df;padding-left:10px}
/* Box workspace and compact inspector details. */
.box-tab #contourControls,.box-tab #cutterControls,.box-tab #a4Controls,.box-tab #constructorControls,.box-tab #fileList,.box-tab #exportSection,.box-tab .canvas-toolbar,.box-tab #appearanceBar,.box-tab #drawing,.box-tab #preview3d,.box-tab #modelBuild,.box-tab .stage-topline,.box-tab #canvasLegend,.box-tab .touch-hint,.box-tab #dimensions,.box-tab #stageEmpty{display:none!important}.box-tab .workarea{min-width:0}.box-wrapper{position:absolute;inset:0;display:flex;flex-direction:column;background:#fffcfe;padding:10px;gap:8px;min-width:0}.box-topbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-height:38px;font-size:14px}.box-topbar>span:first-child{font-weight:650;margin-right:auto}.box-topbar .tool-button,.box-topbar .icon-button{min-height:32px;padding:5px 8px;font-size:14px}.box-topbar .icon-button{width:30px}.box-wrapper svg{width:100%;flex:1;min-height:200px;touch-action:none;user-select:none}.box-status{font-size:13px;line-height:1.5;min-height:38px;margin:0;padding:8px 10px;border:1px solid #ead6e0;border-radius:7px;background:white;color:#78616d}.box-status.error{color:#a3315b;border-color:#e8b8cb}.box-piece{cursor:grab}.box-piece.locked{cursor:default}.box-items{display:flex;flex-direction:column;gap:12px}.box-item-source{border:1px solid #eddae4;border-radius:8px;overflow:hidden}.box-source-heading{display:flex;align-items:center;gap:8px;padding:9px;font-size:13px;cursor:pointer}.box-source-heading input{accent-color:#b64c7b;width:16px;height:16px}.box-source-heading img{width:36px;height:40px;object-fit:contain}.box-source-heading strong{min-width:0;overflow-wrap:anywhere}.box-piece-settings{padding:9px;border-top:1px solid #efdee7;background:#fffafd}.box-piece-settings.selected{box-shadow:inset 3px 0 #ce7a9f}.box-piece-settings .field{font-size:13px;margin:8px 0}.box-piece-settings .field input,.box-piece-settings .field select{padding:7px;font-size:14px;min-width:0;width:100%;border:1px solid #e7d3de;border-radius:6px;background:white;color:#684754}.box-piece-settings .check{font-size:13px;margin:8px 0}.box-piece-settings .text-button{font-size:13px}.box-piece-actions{display:flex;justify-content:space-between;gap:8px}.box-select{font-weight:650}.box-tab #boxControls .panel{padding:16px}.box-tab #boxControls>.button{margin-bottom:9px}.box-tab #boxControls .panel>.button{margin-top:8px}.box-tab .file-toolbar{margin-bottom:0}.box-tab .upload-section{padding-bottom:10px}
.mini-preview{position:relative}#mini3d{touch-action:none;cursor:grab;pointer-events:auto}#mini3d:active{cursor:grabbing}.mini-fit{position:absolute;top:8px;right:8px;min-width:28px;height:28px;padding:0;border:1px solid #e8d0dd;border-radius:6px;background:#fffffff0;color:#95637c;cursor:pointer;font-size:18px}.mini-badge{pointer-events:none}.spec-list>div{padding:7px 0;min-height:0;gap:10px}.spec-list>div>span{font-size:13px}.spec-list>div>strong{font-size:13px;white-space:nowrap}.profile-panel>summary{font-size:14px;font-weight:650;cursor:pointer;padding:8px 0;color:#684754}.profile-panel:not([open]){padding-bottom:5px}.profile-panel[open] .profile-guide{margin-top:10px}.ruler-active{cursor:crosshair!important}.compact-correction .brush-tools b{font:inherit}.compact-correction .brush-tools [data-brush=add]{padding:5px 6px}.compact-correction .brush-tools [data-brush=add]>span{font-size:20px}
@container(max-width:1100px){.compact-correction .add-brush-name{display:none}}
@container(min-width:681px) and (max-width:840px){.stage>.compact-correction{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.compact-correction .brush-tools{grid-column:1;grid-row:1;justify-content:flex-start}.compact-correction .brush-panel-actions{grid-column:2;grid-row:1}.compact-correction .brush-settings,.compact-correction .arc-settings{grid-column:1/-1;grid-row:2;width:100%}.compact-correction .brush-settings>label{grid-template-columns:max-content 49px minmax(25px,1fr)}}
@container(max-width:680px){.compact-correction .brush-tools [data-brush=add]{flex:0 0 32px}.compact-correction .brush-tools [data-brush=add]>span{display:inline}.compact-correction .brush-settings{gap:10px}}
@media(max-width:750px){.tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.tabs button{flex-shrink:0;white-space:nowrap}.box-wrapper{padding:7px}.box-tab .workarea{min-height:510px;height:calc(100svh - 124px)}.box-tab #boxControls .field input,.box-tab #boxControls .field select{font-size:16px}.box-tab .sidebar{max-height:none}.box-status{font-size:12px}.box-topbar{gap:4px}.box-topbar .tool-button{font-size:13px;padding:5px 7px}}
/* Small explanations and preset actions leave room for the actual controls. */
#cutterControls .panel{padding:16px;margin-bottom:13px}#cutterControls .field{margin-bottom:12px}#cutterControls .two-fields{gap:10px}#cutterControls .preset-choose{display:flex;align-items:flex-end;gap:6px;margin-bottom:9px}#cutterControls .preset-choose .field{flex:1;min-width:0;margin:0}#cutterControls .preset-choose select{min-width:0;width:100%}#cutterControls .preset-apply-icon{width:36px;min-width:36px;height:38px;min-height:38px;padding:0;font-size:23px}#cutterControls .preset-save{display:flex;flex-wrap:nowrap;gap:6px;margin-top:0}#cutterControls .preset-save input{min-width:0;padding:8px;font-size:14px}#cutterControls .preset-save .preset-save-icon{flex:0 0 36px;width:36px;min-height:36px;height:36px;padding:0;font-size:25px;line-height:1}.has-field-help{position:relative}.has-field-help.field{padding-right:22px}.field-help{display:inline-flex;justify-content:center;align-items:center;width:19px;height:19px;min-width:19px;min-height:19px;padding:0;margin-left:7px;border:1px solid #dec2d1;border-radius:50%;background:#fffafd;color:#9f6481;font-size:12px;font-weight:600;line-height:1;cursor:help;vertical-align:middle}.field.has-field-help>.field-help{position:absolute;top:0;right:0}.cutter-help{width:300px;max-width:calc(100vw - 20px);max-height:70dvh;overflow:auto}.cutter-help p{margin:0;font-size:13px;line-height:1.6}.cutter-help p+p{padding-top:8px}.cutter-help .hidden{display:none!important}
.box-piece-settings{padding:0!important}.box-piece-settings>summary{padding:8px 10px;font-size:13px;font-weight:550;color:#96627c;cursor:pointer;list-style-position:inside}.box-piece-body{padding:0 10px 10px}.box-source-heading{padding:8px}.box-selection-tools{display:flex;align-items:center;gap:7px;border:1px solid #e7c7d7;border-radius:7px;background:#fffafd;padding:4px 6px;min-width:0;max-width:340px}.box-selection-tools>strong{font-size:12px;font-weight:550;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.box-selection-tools>div{display:flex;align-items:center;gap:3px}.box-selection-tools button{width:27px;height:28px;min-height:28px;border:1px solid #ead7e1;border-radius:5px;background:white;color:#945372;padding:0;font-size:17px}.box-selection-tools label{display:flex;gap:3px;align-items:center;white-space:nowrap;font-size:12px}.box-selection-tools input{width:61px;min-width:0;height:28px;border:1px solid #e7d0dd;border-radius:4px;background:white;padding:3px;text-align:right;font-size:14px;color:#78465f}.box-topbar{gap:5px}.box-topbar>span:first-child{flex:0 0 auto;margin-right:4px}.box-topbar .box-selection-tools{margin-right:auto}.box-topbar .button{padding:7px 9px;min-height:34px;font-size:13px}.box-topbar select{max-width:160px;font-size:13px;border:1px solid #e8d3df;border-radius:6px;padding:7px 4px;background:white;color:#785969}.box-resize-handle{cursor:nwse-resize}.box-variants{position:absolute;bottom:65px;left:15px;right:15px;z-index:4;background:#fffafdf5;border:1px solid #e6ccd9;border-radius:9px;padding:7px;box-shadow:0 3px 15px #78415a19}.box-variants-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;font-size:12px;color:#886274}.box-variants-heading button{width:24px;height:22px;border:0;background:transparent;font-size:20px;color:#92677e;cursor:pointer}.box-variant-cards{display:flex;gap:8px;justify-content:center}.box-variant{display:flex;flex:1;align-items:center;justify-content:center;gap:8px;max-width:220px;min-width:0;padding:4px;border:1px solid #e8d3df;border-radius:6px;background:white;font-size:11px;color:#80586d;cursor:pointer}.box-variant.selected{border-color:#bd6c94;background:#fff0f7;box-shadow:inset 0 0 0 1px #bd6c94}.box-variant svg{height:60px!important;width:60px!important;min-height:0!important;flex:none!important}.box-variant span{max-width:95px;line-height:1.4}.corner-settings{display:flex;align-items:center;gap:9px;flex:1;min-width:0}.corner-settings>label{display:grid;grid-template-columns:max-content 52px;align-items:center;gap:4px;font-size:12px;min-width:0}.corner-settings input[type=number]{min-width:0;width:52px;height:27px;padding:3px;border:1px solid #e4c4d5;border-radius:5px;font-size:14px;color:#843b5d;background:#fff8fc}.corner-settings input[type=range]{grid-column:1/-1;width:100%;min-width:0;height:14px;margin:0;accent-color:#b64c7b}.corner-settings>button{min-width:26px;min-height:28px;padding:3px}.corner-settings>span{font-size:11px;color:#a23e65;max-width:230px}.corner-settings>span:empty{display:none}.compact-correction:has([data-brush=corner].selected){flex-wrap:wrap}.compact-correction:has([data-brush=corner].selected) .corner-settings{flex-basis:100%}
@container(max-width:1100px){.corner-settings>label{grid-template-columns:1fr 52px}.corner-settings{grid-column:1/-1;grid-row:2;width:100%}.compact-correction:has([data-brush=corner].selected){display:grid;grid-template-columns:minmax(0,1fr) auto}.compact-correction:has([data-brush=corner].selected) .brush-tools{grid-column:1;grid-row:1}.compact-correction:has([data-brush=corner].selected) .brush-panel-actions{grid-column:2;grid-row:1}.compact-correction .brush-tools button{padding-left:5px;padding-right:5px}.corner-settings>span{max-width:none}}
@media(max-width:750px){.box-topbar{gap:5px}.box-topbar .box-selection-tools{order:0;max-width:calc(100% - 95px)}.box-selection-tools>strong{display:none}.box-selection-tools input{font-size:16px;width:58px}.box-topbar select{font-size:14px;max-width:155px}.box-variant{flex-direction:column;gap:2px;font-size:10px}.box-variant svg{width:44px!important;height:44px!important}.box-variant span{max-width:none}.box-variants{left:8px;right:8px;bottom:85px}.corner-settings{gap:5px;flex-wrap:wrap}.corner-settings>label{flex:1;grid-template-columns:1fr;gap:2px;min-width:67px}.corner-settings input[type=number]{width:100%;font-size:16px}.corner-settings>label input[type=range]{display:none}.corner-settings>span{flex-basis:100%}.compact-correction .brush-tools [data-brush=corner]>span{display:none}#cutterControls .preset-save input{font-size:16px}.box-topbar .box-selection-tools{padding:3px}.box-topbar .button{font-size:12px;padding:7px}.box-topbar>.icon-button{width:25px}.box-source-heading strong{font-size:13px}}
/* Reserve the same compact toolbar height before and after selecting a piece. */
.box-topbar{min-height:76px;align-content:flex-start;flex-shrink:0}@container(min-width:1100px){.box-topbar{min-height:38px}}@media(max-width:750px){.box-topbar{min-height:112px}}
@container(max-width:680px){.compact-correction .brush-tools button{font-size:12px!important;padding:5px 3px!important}.compact-correction .brush-tools [data-brush=add]{flex-basis:28px}}
.compact-appearance.appearance-3d{display:flex!important;flex-wrap:nowrap;min-height:46px}.compact-appearance.appearance-3d .appearance-settings{display:flex;flex:1;min-width:0}.compact-appearance.appearance-3d .file-name-control{flex:1;min-width:50px}.compact-appearance.appearance-3d .jpeg-quick{margin-left:auto;flex-shrink:0}

/* Stable, lightweight box manipulation and visible packing feedback. */
.box-autofit{display:flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap;cursor:pointer}.box-autofit input{accent-color:var(--accent);width:15px;height:15px;margin:0}.box-piece image{image-rendering:auto}.box-piece.selected [data-box-hit]{stroke:#b76b90;stroke-width:1;vector-effect:non-scaling-stroke}.box-piece.invalid [data-box-hit]{stroke:#d24577;stroke-width:1.5;vector-effect:non-scaling-stroke}#boxCanvas.dragging{cursor:grabbing}#boxCanvas.dragging .box-piece{cursor:grabbing}.box-wrapper.packing #boxCanvas{opacity:.65}.box-wrapper.packing:after{content:'Шукаємо розкладку…';position:absolute;top:108px;right:20px;padding:8px 12px;border:1px solid #e4c9d6;border-radius:8px;background:white;color:#9d4c73;font-size:13px;pointer-events:none;box-shadow:0 3px 12px #83475c15}.box-wrapper.packing .box-status{border-color:#cf91b0;background:#fff2f8}.box-variants{left:auto;right:16px;bottom:65px;width:215px;max-height:calc(100% - 170px);overflow:auto}.box-variant-cards{flex-direction:column;align-items:stretch}.box-variant{width:100%;max-width:none;flex-direction:row}.box-variant svg{height:68px!important;width:68px!important}.box-variants-heading{line-height:1.5;font-size:12px}.box-variant:disabled{opacity:.8;cursor:progress}@media(max-width:750px){.box-wrapper.packing:after{top:130px}.box-variants{width:auto;left:8px;right:8px;bottom:92px;max-height:180px}.box-variant-cards{flex-direction:row}.box-variant{flex-direction:column}.box-variant svg{width:44px!important;height:44px!important}.box-autofit{font-size:12px}}
/* The box toolbar keeps its height when selection and status change. */
.box-topbar{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-height:81px!important}.box-context-row,.box-actions-row{display:flex;align-items:center;gap:5px;min-width:0}.box-context-row{min-height:38px;flex-shrink:0}.box-context-row>#boxDimensions{font-size:12px;font-weight:650;white-space:nowrap;flex:0 0 auto}.box-actions-row{min-height:34px;flex-wrap:wrap}.box-actions-row #boxMultiSelect{margin-right:auto}.box-actions-row #boxMultiSelect[aria-pressed=true]{background:#fce4f0;border-color:#bd7d9a;color:#8e3f63}.box-context-row .box-selection-tools{flex:1;max-width:none;min-width:0;margin:0;flex-wrap:wrap;gap:5px;padding:3px 5px}.box-selection-tools>strong{font-size:12px;max-width:90px}.box-selection-tools.empty{visibility:visible;background:#fffdfd;border-color:#eee2e8}.box-selection-tools.empty>strong{color:#a58999}.box-selection-tools label.box-angle-field{display:flex;align-items:center;gap:3px;font-size:12px}.box-angle-field input{width:47px}.box-selection-tools select{width:112px;max-width:112px;padding:4px;height:28px;font-size:12px;min-width:0}.box-selection-tools #boxRotationLock,.box-selection-tools #boxClearSelection{width:25px;flex-shrink:0}.box-selection-tools .box-size-tools{display:flex;gap:3px;align-items:center}.box-selection-tools .box-size-tools button{width:25px}.box-selection-tools .box-size-tools input{width:57px}.box-status{height:58px;flex:0 0 58px;min-height:58px;overflow:auto}.box-piece.selected [data-box-hit]{stroke:#a6537c;stroke-width:1.4}.box-piece-settings.selected{box-shadow:inset 3px 0 #b95385;background:#fff2f8}.box-wrapper #boxCanvas.dragging [data-box-piece]{pointer-events:none}.box-wrapper #boxCanvas.multi-select{cursor:crosshair}.box-drag-layer{position:absolute;z-index:3;pointer-events:none;overflow:hidden;contain:strict}.box-drag-layer img{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;will-change:transform;backface-visibility:hidden;user-select:none;pointer-events:none}.box-drag-frame{position:absolute;left:0;top:0;border:1px dashed #a6537c;will-change:transform;pointer-events:none}.box-preset-row{display:flex;align-items:flex-end;gap:6px;margin-bottom:10px}.box-preset-row .field{flex:1;min-width:0;margin:0}.box-preset-row .icon-button{flex:0 0 35px;width:35px;height:35px;font-size:24px}.box-orientation{display:flex;gap:5px;margin-bottom:13px}.box-orientation button{flex:1;min-width:0;padding:7px 3px;border:1px solid #e9d1de;border-radius:6px;background:white;font-size:12px;white-space:nowrap}.box-orientation button[aria-pressed=true]{background:#fbe7f1;border-color:#bd7d9a;color:#8e3f63}.box-orientation button:disabled{cursor:default}.box-wrapper.packing:after{top:115px}
@container(max-width:690px){.box-context-row{align-items:flex-start;min-height:72px}.box-context-row>#boxDimensions{padding-top:9px}.box-selection-tools>strong{max-width:85px}.box-context-row .box-selection-tools{min-height:68px;align-content:center}.box-actions-row{min-height:68px;align-content:flex-start}.box-topbar{min-height:145px!important}.box-wrapper.packing:after{top:175px}}
@media(max-width:750px){.box-context-row .box-selection-tools{max-width:none;min-height:100px}.box-selection-tools>strong{display:block;max-width:95px}.box-context-row{min-height:104px}.box-topbar{min-height:176px!important}.box-actions-row{gap:4px}.box-actions-row .button{font-size:12px;padding:7px}.box-selection-tools input{font-size:16px}.box-selection-tools select{font-size:13px;width:112px}.box-selection-tools .box-angle-field input{width:44px}.box-status{height:64px;flex-basis:64px}.box-wrapper.packing:after{top:207px}.box-orientation button{font-size:12px}}
/* Explanation buttons stay beside the right value, without dropping it below. */
#contourControls .range-field.has-field-help{display:grid;grid-template-columns:minmax(0,1fr) 68px 19px;align-items:center;column-gap:6px;row-gap:5px}#contourControls .range-field.has-field-help>.range-number{grid-column:2;grid-row:1;float:none;min-width:0;width:68px;justify-content:flex-end;margin:0}#contourControls .range-field.has-field-help>.range-number input{width:40px;min-width:0;margin:0}#contourControls .range-field.has-field-help>.field-help{grid-column:3;grid-row:1;margin:0}#contourControls .range-field.has-field-help>input[type=range]{grid-column:1/-1;grid-row:2;margin:3px 0 0}
.box-dimension-summary{flex:0 0 108px;display:flex;flex-direction:column;gap:2px;font-size:12px;font-weight:650;white-space:nowrap}.box-inventory{font-size:10px;font-weight:450;color:#a07c90}.box-context-row>#boxItemMenu{flex:0 0 28px;height:30px;min-height:30px;padding:0;border:1px solid #e8d0de;border-radius:6px;background:white;font-size:20px}.box-item-actions{width:245px;max-width:calc(100vw - 16px);padding:6px}.box-item-actions button{display:block;width:100%;text-align:left;border:0;background:white;border-radius:5px;padding:9px;font-size:13px;color:#785267}.box-item-actions button:hover{background:#fcebf3}.box-item-actions button:disabled{cursor:default}.box-piece.outside{opacity:.8}.box-rotate-handle{cursor:grab}.box-rotate-handle:active{cursor:grabbing}.box-actions-row #boxPack{min-width:181px}.box-actions-row #boxFit{font-size:12px;padding-left:6px;padding-right:6px}.box-wrapper #boxTray text{font-weight:500}.box-wrapper #boxCanvas.dragging .box-piece.outside{opacity:1}@media(max-width:750px){.box-dimension-summary{flex-basis:87px;font-size:11px}.box-inventory{font-size:9px}.box-actions-row #boxPack{min-width:166px}.box-context-row>#boxItemMenu{flex-basis:24px;width:24px}}

.box-menu-label{padding:8px 9px 3px;border-top:1px solid #f0e1e9;margin-top:4px;font-size:11px;color:#a07b8f;font-weight:650}

.box-context-row>#boxLayerMenu{flex:0 0 28px;width:28px;height:30px;min-height:30px;padding:0;border:1px solid #e8d0de;border-radius:6px;background:white;font-size:23px;color:#985879}.box-item-actions .box-menu-label{margin-top:0;border:0;padding-top:3px}

/* A disabled box action is waiting for a selection, not busy loading. */
.box-topbar button:disabled,#boxControls button:disabled{cursor:default}.box-wrapper.packing #boxPack:disabled{cursor:progress}

.box-topbar #boxSTLQuick{font-size:12px;padding:7px;white-space:nowrap}.box-topbar #boxSTLQuick[aria-busy=true],#boxSTLZIP[aria-busy=true]{cursor:progress}

.box-actions-row #boxFit{width:30px;min-width:30px;padding:5px;font-size:18px}

#boxMarquee{pointer-events:none}#boxCanvas{cursor:crosshair}#boxSTLSingle{font-size:12px;white-space:nowrap}#boxSTLSingle[aria-busy=true]{cursor:progress}

.box-growth-settings{border-top:1px solid #eddde7;padding-top:10px;margin:8px 0 14px}.box-growth-settings>.check{font-size:13px;line-height:1.45;gap:6px}.box-growth-settings .field{margin:9px 0 3px}.box-growth-settings small{display:block;color:#9363a5;font-size:11px;line-height:1.5}.box-growth-settings .field-help{flex-shrink:0}#boxCanvas [data-box-growth]{pointer-events:none}

.box-more-variants{display:block;width:100%;padding:8px 4px;margin-top:5px;border:0;border-top:1px solid #ead6e0;background:transparent;color:#925776;font-size:12px;cursor:pointer}.box-variants-note{font-size:11px;color:#967e8b;line-height:1.5;margin:6px 0 0}

#boxGrowSelected{font-size:12px;white-space:nowrap}#boxGrowSelected[aria-busy=true]{cursor:progress}

/* Compact illustration libraries: artwork first, labels stay accessible. */
#fileList,.box-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;align-items:start}
#fileList .file-item{position:relative;display:block;aspect-ratio:1;min-width:0;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:9px;background:#fff}
#fileList .file-item.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#fff3f9}
#fileList .file-thumbnail{display:block;width:100%;height:100%;min-width:0;border:0;background:transparent;padding:9px;cursor:pointer;border-radius:8px}
#fileList .file-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}
#fileList .file-thumbnail:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
#fileList .remove-file{position:absolute;right:2px;top:2px;display:grid;place-items:center;width:24px;height:24px;min-height:24px;padding:0;border:1px solid #ebdce4;border-radius:50%;background:#ffffffed;color:#98677e;font-size:18px;line-height:1;cursor:pointer}
.box-items .box-item-source{position:relative;min-width:0;overflow:visible;border-radius:9px;background:white}
.box-items .box-item-source.in-set{border-color:#d7a6be;background:#fff4fa}
.box-items .box-item-source:has(.box-piece-settings.selected){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.box-items .box-source-heading{position:relative;display:block;aspect-ratio:1;padding:10px;margin:0}
.box-items .box-source-heading img{display:block;width:100%;height:100%;object-fit:contain}
.box-items .box-source-heading input{position:absolute;left:5px;top:5px;width:18px;height:18px;margin:0;z-index:1;box-shadow:0 0 0 3px #ffffffdd;border-radius:3px}
.box-copy-count{position:absolute;right:5px;top:5px;padding:2px 4px;border-radius:5px;background:#fff9fc;color:#9b3f68;font-size:11px;font-weight:650}
.box-source-settings{position:absolute;left:4px;right:4px;bottom:4px;display:flex;justify-content:flex-end;gap:3px;flex-wrap:wrap;pointer-events:none}
.box-source-settings:empty{display:none}
.box-source-settings .box-piece-settings{pointer-events:auto;border:0;border-radius:5px;background:transparent}
.box-source-settings .box-piece-settings>summary{display:block;list-style:none;padding:2px 5px;border:1px solid #e9ccda;border-radius:5px;background:#fff9fcf2;color:#9a4b70;font-size:14px;line-height:22px;min-width:26px;text-align:center}
.box-source-settings .box-piece-settings>summary::-webkit-details-marker{display:none}
.box-source-settings .box-piece-settings>summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.box-items .box-item-source:has(.box-piece-settings[open]){grid-column:1/-1;display:grid;grid-template-columns:80px minmax(0,1fr);align-items:start;padding-top:5px}
.box-item-source:has(.box-piece-settings[open]) .box-source-heading{grid-column:1;grid-row:1}
.box-item-source:has(.box-piece-settings[open]) .box-source-settings{position:static;grid-column:1/-1;display:flex;align-items:flex-start;justify-content:flex-start;padding:0 5px 5px;pointer-events:auto}
.box-source-settings:has(.box-piece-settings[open]) .box-piece-settings[open]{flex:1 0 100%;border-top:1px solid #eddae4;border-radius:0;padding-top:5px!important;background:#fffafd}
.box-source-settings .box-piece-settings[open]>summary{display:inline-block;margin:0 5px 4px;background:#f8e0ed}
@media(pointer:coarse){#fileList .remove-file{width:28px;height:28px;font-size:20px}.box-source-settings .box-piece-settings>summary{min-height:30px;line-height:26px}}

/* Recess filling is a separate, easy-to-find third contour step. */
#recessPanel{border:1px solid #dfb3c9;margin-top:0;padding-top:20px;background:linear-gradient(180deg,#fff3f9 0,#fff 145px);box-shadow:0 3px 14px #a5457010}
#recessPanel h2{font-size:18px;font-weight:700;line-height:1.35;margin-bottom:14px}
#recessPanel .field,#recessPanel .range-field{font-size:16px;line-height:1.45}
#recessPanel .field select{font-size:16px}
#recessPanel .range-number input{font-size:16px}
#recessPanel .recess-list button{font-size:14px;min-height:36px;padding:7px 10px}
#recessPanel #selectRecess{min-height:54px;padding:12px 14px;margin:0 0 18px;background:var(--accent);border-color:var(--accent);color:#fff;font-size:16px;font-weight:700;line-height:1.4;box-shadow:0 3px 9px #b64c7b26}
#recessPanel #selectRecess:hover:not(:disabled),#recessPanel #selectRecess.active{background:var(--accent-dark);border-color:var(--accent-dark);color:white}
#recessPanel #selectRecess.active{box-shadow:inset 0 0 0 2px #fff5}
#recessPanel #selectRecess:disabled{background:#f5edf1;border-color:#e5d1dc;color:#8a6d7d;opacity:1;box-shadow:none;cursor:default}
:is(#contourControls,#cutterControls)>.contour-batch-action{display:flex;min-height:54px;padding:12px 14px;margin:0 0 20px;background:#f7dbe9;border-color:#ca83a5;color:#843558;font-size:16px;font-weight:700;line-height:1.4;box-shadow:0 3px 10px #b64c7b1c}
:is(#contourControls,#cutterControls)>.contour-batch-action:hover{background:#efc2d9;border-color:#b96b91}

/* Two compact entry points, with the same fill/round controls for both modes. */
#recessPanel .recess-actions{display:grid;gap:8px;margin:0 0 12px}
#recessPanel #selectRecess{margin:0;min-height:44px;padding:9px 12px}
#recessPanel #selectRecessSection{min-height:44px;font-size:16px;font-weight:650}
#recessPanel #selectRecessSection.active{background:#f9d8e8;border-color:#cf84a6;color:#843b5d;box-shadow:inset 0 0 0 1px #cf84a6}
#recessPanel .recess-count,#recessPanel .recess-status{font-size:13px;line-height:1.5;color:#886577;margin:8px 0}
#recessPanel .recess-section-actions{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 12px}
#recessPanel .recess-section-actions button{font-size:13px;text-align:left;padding:4px 0}
#recessPanel .recess-list{max-height:144px;overscroll-behavior:contain}
#drawing.recess-picking{cursor:crosshair}
#recessOverlay .recess-anchor{fill:#fff;stroke:#b64c7b;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}
#recessOverlay .recess-section-line{fill:none;stroke:#db79a4;stroke-width:3;stroke-opacity:.7;vector-effect:non-scaling-stroke;pointer-events:none}
#recessOverlay .recess-section-limit{fill:none;stroke:#a94b76;stroke-width:1.3;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;pointer-events:none}

/* Stable labels and a visible comparison basis, without duplicated button text. */
.compact-toolbar .canvas-tools{min-width:0;gap:5px;align-items:center}
.compact-toolbar .tool-button{white-space:nowrap;position:static;max-width:none}
.compact-toolbar #improveContour{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:max-content;flex:0 0 auto;white-space:nowrap;font-size:13px!important;line-height:1.3}
.compare-tools{display:flex;align-items:stretch;flex:0 0 auto;gap:0}
.compact-toolbar #compareContour{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:114px;height:34px;min-height:34px;padding:2px 6px;border-radius:6px 0 0 6px;line-height:1.15;font-size:12px}
#compareContour small{font-size:10px;line-height:1.3;color:#967186;white-space:nowrap}
.compact-toolbar #compareMenuButton{width:23px;min-width:23px;padding:0;border-radius:0 6px 6px 0;border-left:0}
#compareMenu{width:260px}#compareMenu .field{margin:0}#compareMenu p{font-size:13px;line-height:1.5;margin:0;color:#8e6d7e}
#drawing.comparing-last #drawingGroup{visibility:hidden}
.compact-toolbar .toolbar-secondary{flex-shrink:0}
.tool-popover .toolbar-extra{display:none}
@container(max-width:850px){.compact-toolbar .toolbar-secondary{display:none}.tool-popover .toolbar-extra:not(.hidden){display:block;text-align:left}.compact-toolbar .viewport-tools{gap:2px}.compact-toolbar .canvas-tools{gap:4px}}
@container(max-width:600px){.compact-toolbar #improveContour{font-size:12px!important}.compact-toolbar #compareContour{width:104px}.compact-toolbar .viewport-tools{margin-left:8px}}

.model-cache-status{color:#9b6580;white-space:nowrap;flex-shrink:0;font-size:11px}.workspace-footer .model-cache-status.hidden{display:none}#packCacheStatus{color:#9b6580;margin:8px 0}

.image-enhancement-panel h2{display:flex;align-items:center;gap:8px}.image-enhancement-panel #restoreImageEnhancement{margin-top:12px}.image-enhancement-panel #imageEnhancementStatus:empty{display:none}.image-enhancement-panel #imageEnhancementSize{margin:12px 0 18px}.image-enhancement-panel button:disabled{cursor:default;opacity:.55}

/* The size pack close control stays within reach while the dialog scrolls. */
#sizePackDialog .size-pack-close-anchor{position:sticky;top:8px;height:0;margin-top:-12px;z-index:5;pointer-events:none}#sizePackDialog .dialog-close{position:absolute;top:0;right:-10px;width:36px;height:36px;display:grid;place-items:center;padding:0;line-height:1;border:1px solid var(--border);border-radius:50%;background:#fff;box-shadow:0 2px 8px #48374114;pointer-events:auto}#sizePackDialog .dialog-close:hover{background:var(--mint)}#sizePackDialog h2{margin-right:44px}

.pack-selection-panel{margin:12px 0 18px}.pack-selection-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.pack-selection-actions .button{padding:6px 10px;font-size:13px}.pack-selection-actions [role=status]{margin-left:auto;font-size:13px;color:var(--muted)}.pack-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;max-height:260px;overflow:auto;padding:3px;scrollbar-width:thin}.pack-image-choice{position:relative;border:1px solid var(--border);border-radius:9px;background:#fff;cursor:pointer;overflow:hidden;min-width:0}.pack-image-choice.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#fff6fa}.pack-image-choice img{display:block;width:100%;aspect-ratio:1;object-fit:contain;padding:8px}.pack-image-choice input{position:absolute;top:5px;left:5px;margin:0;width:18px;height:18px;accent-color:var(--accent)}.pack-image-choice:focus-within{outline:2px solid var(--accent);outline-offset:1px}

/* Phone layout: compact tools above a resizable preview/settings split. */
#mobilePreviewToggle,.mobile-section-select,.mobile-panel-divider,.mobile-tool-icon,.mobile-upload-label{display:none}
@media(max-width:750px){
  html,body{height:100%;overflow:hidden;overscroll-behavior:none}
  body{height:100dvh;height:var(--mobile-viewport-height,100dvh);display:flex;flex-direction:column}
  .header{display:flex;flex:0 0 42px;height:42px;min-height:42px;padding:0 8px;gap:6px}
  .header .brand{flex:0 0 26px;gap:0}.header .brand>span:last-child{display:none}
  .header .brandmark.logo-mark,.header .brandmark.logo-mark img{width:26px;height:32px}
  .mobile-section-select{display:block;flex:1;min-width:0;margin:0}
  .mobile-section-select select{width:100%;height:36px;border:0;background:#fff;color:var(--accent-dark);font-size:16px;font-weight:650;padding:3px 20px 3px 3px;text-overflow:ellipsis}
  .header-end{gap:6px}.header-end .icon-button{width:28px;height:28px}.header-end .lang{font-size:10px}
  .tabs{display:none}
  .workspace,body.cutter-tab .workspace{flex:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,var(--mobile-preview-share,60fr)) 18px minmax(0,var(--mobile-settings-share,40fr));height:auto;min-height:0;overflow:hidden}
  .workspace>.workarea,.correction-active .workspace>.workarea{grid-column:1;grid-row:1;height:auto;min-height:0;max-height:none;overflow:hidden;border-bottom:0}
  .workspace>.sidebar{grid-column:1;grid-row:3;display:block;min-height:0;height:100%;width:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding:12px;padding:12px 14px max(24px,env(safe-area-inset-bottom))}
  .workspace>#inspector{display:none}.sidebar-heading{display:none}
  .sidebar input:not([type=range]),.sidebar select{font-size:16px}
  .mobile-panel-divider{display:flex;grid-column:1;grid-row:2;align-items:center;justify-content:center;touch-action:none;user-select:none;cursor:ns-resize;background:#fff7fb;border-block:1px solid var(--border);outline-offset:-2px}
  .mobile-panel-divider>span{width:42px;height:4px;border-radius:6px;background:#ce99b2}.mobile-panel-divider:active>span,.mobile-panel-divider:focus-visible>span{background:var(--accent)}
  .workarea>.canvas-toolbar,.workarea>.appearance-bar{flex:0 0 auto;min-height:40px;padding:3px 6px;gap:3px}
  .compact-toolbar .canvas-tools{gap:3px;scrollbar-width:none}
  .compact-toolbar .tool-button,.compact-toolbar .history-button,.compact-toolbar .square-tool{min-height:32px;height:32px;padding:4px 6px}
  .compact-toolbar .square-tool{width:32px;min-width:32px}.compact-toolbar .history-button{font-size:20px}
  .compact-toolbar .toolbar-secondary:not(.hidden){display:inline-flex}
  .compact-toolbar #sizePackOpen{font-size:11px;padding:4px}.compact-toolbar #sizePackOpen .toolbar-short{font-size:11px}
  .compact-toolbar #compareContour{width:32px;min-width:32px;height:32px;min-height:32px;padding:4px}
  .compact-toolbar #compareContour>span:not(.mobile-tool-icon),.compact-toolbar #compareContour small{display:none}
  .compact-toolbar #compareMenuButton{width:20px;min-width:20px;padding:0}
  .mobile-tool-icon{display:inline-flex;align-items:center;justify-content:center}.mobile-tool-icon svg{width:20px;height:20px;display:block}
  .compact-toolbar #improveContour{width:32px;min-width:32px;padding:4px;font-size:0!important}
  .workarea>.compact-appearance,.workarea>.compact-appearance.appearance-3d{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:4px;min-height:40px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
  .compact-appearance::-webkit-scrollbar{display:none}
  .compact-appearance .appearance-settings:not(.hidden),.compact-appearance.appearance-3d .appearance-settings:not(.hidden),.compact-appearance .viewport-tools{display:contents}
  .compact-appearance .view-switch{flex:0 0 auto;order:0;padding:1px}.compact-appearance .view-switch button{font-size:12px;min-height:30px;padding:4px 6px}
  .compact-appearance #fitBtn{order:1;flex:0 0 30px;width:30px;min-width:30px;height:32px;min-height:32px;padding:3px;font-size:18px;background:white;border:1px solid var(--border);border-radius:6px}
  .compact-appearance .cleanup-tool{order:2;width:32px;min-width:32px;height:32px;min-height:32px;padding:4px;flex:0 0 32px}
  .compact-appearance .cleanup-tool>span:not(.mobile-tool-icon){display:none}
  .compact-appearance .art-controls{order:3;flex:0 0 auto;gap:3px}
  .compact-appearance .opacity-control{font-size:0;gap:3px}.compact-appearance .opacity-control>input{width:40px}
  .compact-appearance .opacity-control .range-number{min-width:40px;padding:0 2px;font-size:11px}.compact-appearance .opacity-control .range-number input{font-size:16px;width:27px;height:28px}
  .compact-appearance .color-menu-button{order:4;flex:0 0 28px;min-width:28px;width:28px;height:30px}.compact-appearance .color-menu-button span{width:15px;height:15px}
  .compact-appearance .jpeg-quick{order:5;flex:0 0 auto;min-height:32px;height:32px;padding:4px;font-size:11px;margin:0!important}
  .compact-appearance #zoomMinus,.compact-appearance #zoomPlus{order:6;flex:0 0 28px;width:28px;height:32px;min-height:32px;padding:0}
  .compact-appearance #zoomSelect{order:6;flex:0 0 65px;width:65px;height:32px;min-height:32px;font-size:16px;padding:2px}
  .workarea>.stage{flex:1;min-height:0}.workarea>.workspace-footer{display:none}
  .stage-topline{top:7px;left:10px;right:10px}.stage-topline #stageBadge{display:none}.stage-topline #readyBadge{display:none}
  .stage .touch-hint,.stage .canvas-legend{display:none}.stage .dimension-label{bottom:7px;padding:3px 7px;font-size:10px}
  .stage>.mobile-file-name{position:absolute;left:8px;top:5px;z-index:5;display:flex;align-items:center;gap:2px;width:min(180px,50%);min-width:0;height:26px;margin:0;border:0;background:#fffcfed9;border-radius:4px;color:#a27d90;font-size:11px}
  .mobile-file-name .file-label,.mobile-file-name.mobile-name-hidden{display:none}
  .mobile-file-name input{min-width:0;width:100%;height:26px;padding:2px 3px;border:0;background:transparent;font-size:12px;text-overflow:ellipsis;color:inherit}
  .mobile-file-name input:focus{font-size:16px;color:var(--ink);background:#fff;outline:1px solid var(--border)}
  #mobilePreviewToggle{display:inline-grid;place-items:center;flex:0 0 32px;width:32px;height:32px;min-height:32px;margin:0 0 0 2px;padding:0;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--accent-dark);font-size:20px}
  body.mobile-preview-expanded .workspace,body.cutter-tab.mobile-preview-expanded .workspace{grid-template-rows:minmax(0,1fr)}
  body.mobile-preview-expanded .workspace>.sidebar,body.mobile-preview-expanded .mobile-panel-divider{display:none}
  .has-mobile-files .dropzone{display:flex;flex-direction:row;justify-content:center;gap:6px;min-height:38px;padding:6px 10px;border:1px solid #e9ccd9;background:#fff6fb}
  .has-mobile-files .dropzone>.upload-icon,.has-mobile-files .dropzone>strong,.has-mobile-files .dropzone>#uploadHint,.has-mobile-files .dropzone>small{display:none}
  .has-mobile-files .dropzone>.mobile-upload-label{display:block;color:var(--accent-dark);font-size:14px;font-weight:650}
  #fileList{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:7px;min-width:0;max-width:100%;overflow:visible;padding-bottom:4px}
  #fileList .file-item{flex:0 0 64px;width:64px;height:64px}.file-toolbar{margin-top:7px}
  .box-tab .box-wrapper svg{min-height:0}
}

#toggleArt .art-hidden-slash{display:none}#toggleArt[data-art-visible="false"] .art-hidden-slash{display:block}

.upload-kind{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--muted);font-size:12px}.upload-kind select{flex:1;min-width:0;max-width:100%;min-height:34px;padding:5px 7px;border:1px solid var(--border);border-radius:8px;color:var(--ink);background:white;font-size:12px}

/* Removable test-site marker. */
