@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f5f5f7;--stage:#eeeef1;--panel:#fff;--panel-2:#fafafb;--line:#e6e6ea;--line-strong:#d2d2d7;--text:#1d1d1f;--text-2:#6e6e73;--text-3:#8e8e93;--accent:#0071e3;--accent-hover:#0062c4;--accent-soft:#eaf2fd;--ok:#1d8f4e;--ok-soft:#e8f6ee;--warn:#b26a00;--warn-soft:#fff5e5;--err:#d70015;--err-soft:#fdecee;--radius:12px;--radius-sm:8px;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 2px #0000000a, 0 6px 20px #0000000f;--shadow-lg:0 20px 60px #0000002e;--font:"Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--left-w:368px;--right-w:320px;--topbar-h:60px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01";font-size:14px;line-height:1.45}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h2,h3{letter-spacing:-.01em;margin:0}.muted{color:var(--text-2)}.icon{flex:none;display:block}.app{grid-template-rows:var(--topbar-h) 1fr;height:100dvh;display:grid;overflow:hidden}.workspace{grid-template-columns:var(--left-w) minmax(0, 1fr) var(--right-w);min-height:0;display:grid}.panel{background:var(--panel);flex-direction:column;min-height:0;display:flex}.panel-left{border-right:1px solid var(--line)}.panel-right{border-left:1px solid var(--line)}.panel-scroll{overscroll-behavior:contain;scrollbar-width:thin;flex:1;padding:22px 22px 28px;overflow-y:auto}.topbar{grid-template-columns:var(--left-w) 1fr auto;-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--line);z-index:20;background:#ffffffdb;align-items:center;padding-right:14px;display:grid}.brand{color:var(--text);align-items:center;gap:10px;padding:0 22px;text-decoration:none;display:flex}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-text strong{letter-spacing:-.01em;font-size:15px}.brand-text small{color:var(--text-2);letter-spacing:.02em;font-size:11.5px}.stepper{justify-content:center;gap:4px;min-width:0;display:flex}.step-pill{color:var(--text-2);white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:7px 12px 7px 8px;font-weight:500;transition:background .15s,color .15s;display:flex}.step-pill:hover{color:var(--text);background:#f0f0f3}.step-pill.on{background:var(--text);color:#fff}.step-num{width:22px;height:22px;color:var(--text-2);background:#e9e9ee;border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.step-pill.on .step-num{color:#fff;background:#ffffff2e}.step-pill.done .step-num{background:var(--accent);color:#fff}.step-short{display:none}.topbar-actions{align-items:center;gap:4px;display:flex}.btn{letter-spacing:-.005em;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;font-weight:550;transition:background .15s,border-color .15s,color .15s,transform 80ms;display:inline-flex}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.45}.btn-sm{border-radius:8px;height:30px;padding:0 10px;font-size:13px}.btn-md{height:38px;padding:0 14px}.btn-lg{border-radius:12px;height:48px;padding:0 20px;font-size:15px}.btn.full{width:100%}.btn-primary{background:var(--text);color:#fff}.btn-primary:hover:not(:disabled){background:#000}.btn-accent{background:var(--accent);color:#fff}.btn-secondary{background:var(--panel);border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){background:#f5f5f7}.btn-ghost{color:var(--text);background:0 0}.btn-ghost:hover:not(:disabled){background:#f0f0f3}.btn-danger{background:var(--err);color:#fff}.icon-btn{width:34px;height:34px;color:var(--text);background:0 0;border:0;border-radius:9px;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn:hover:not(:disabled){background:#efeff2}.icon-btn.active{background:var(--accent-soft);color:var(--accent)}.icon-btn:disabled{color:#c4c4c8}.icon-btn.danger:hover{color:var(--err);background:var(--err-soft)}.link-btn{color:var(--accent);background:0 0;border:0;align-items:center;gap:4px;padding:4px 0;font-size:13px;font-weight:500;display:inline-flex}.link-btn:hover{text-decoration:underline}.text-btn{background:0 0;border:0;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:500}.text-btn:hover{background:#efeff2}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.segmented{background:#ececf0;border-radius:10px;gap:2px;max-width:100%;padding:3px;display:inline-flex}.segmented button{min-width:0;color:var(--text-2);white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.segmented button.on{color:var(--text);background:#fff;box-shadow:0 1px 3px #0000001f,0 0 0 .5px #0000000a}.segmented-sm button{padding:4px 10px;font-size:13px}.segmented button span{text-overflow:ellipsis;overflow:hidden}.section .segmented button{padding-left:6px;padding-right:6px;font-size:13px}.section .segmented{display:flex}.section{border-top:1px solid var(--line);padding:18px 0}.step-header+.section,.section:first-child{border-top:0;padding-top:4px}.section-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-head h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);font-size:12px;font-weight:600}.field{margin-top:14px}.field-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.field-head label{font-size:13.5px;font-weight:500}.hint{color:var(--text-2);align-items:flex-start;gap:6px;margin:8px 0 0;font-size:12.5px;display:flex}.hint.center{text-align:center;justify-content:center;align-items:center}.hint.warn{color:var(--warn)}.num-input{border:1px solid var(--line-strong);background:#fff;border-radius:8px;align-items:center;gap:4px;height:32px;padding:0 8px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.num-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #0071e326}.num-input input{text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;width:64px;font-weight:500}.num-input .unit{color:var(--text-3);font-size:12px}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;width:100%;height:22px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--text) var(--pct,50%), #e1e1e6 var(--pct,50%));border-radius:4px;height:4px}input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--text) var(--pct,50%), #e1e1e6 var(--pct,50%));border-radius:4px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;width:20px;height:20px;margin-top:-8px;transition:transform .12s;box-shadow:0 1px 4px #00000040,0 0 0 .5px #00000014}input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 4px #00000040}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.1)}.text-area,.name-input{border:1px solid var(--line-strong);resize:vertical;background:#fff;border-radius:10px;outline:0;width:100%;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.text-area:focus,.name-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0071e326}.text-area{font-size:15px;font-weight:500}.inline-row{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.inline-row .segmented{display:inline-flex}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.toggle-text{flex-direction:column;display:flex}.toggle-text span{font-weight:500}.toggle-text small{color:var(--text-2);font-size:12px}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:#dcdce0;border-radius:999px;flex:none;width:40px;height:24px;transition:background .2s;position:relative}.toggle-thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.toggle input:checked+.toggle-track{background:var(--ok)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(16px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--accent);outline-offset:2px}.toggle-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}.toggle-pair .toggle{margin-top:0}.step-header{margin-bottom:18px}.step-index{color:var(--text-3);font-size:12px;font-weight:500}.step-header h2{letter-spacing:-.02em;margin-top:2px;font-size:22px;font-weight:650}.step-header p{color:var(--text-2);margin:6px 0 0}.step-nav{border-top:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.style-grid{gap:10px;display:grid}.style-card{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:112px 1fr;align-items:center;gap:14px;padding:12px;transition:border-color .15s,box-shadow .15s,background .15s;display:grid}.style-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.style-card.on{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.style-ill{width:112px;height:41px}.style-text{flex-direction:column;gap:1px;min-width:0;display:flex}.style-title{align-items:center;gap:6px;font-size:14.5px;font-weight:600;display:flex}.style-tag{color:var(--text-3);font-size:12px}.style-desc{color:var(--text-2);margin-top:3px;font-size:12.5px}.size-grid{grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px;margin-bottom:4px;display:grid}.size-card,.chip{border:1px solid var(--line);text-align:left;background:#fff;border-radius:10px;flex-direction:column;gap:1px;padding:10px;transition:border-color .15s,box-shadow .15s;display:flex}.size-card:hover,.chip:hover{border-color:var(--line-strong)}.size-card.on,.chip.on{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.size-label{font-weight:600}.size-mm{font-variant-numeric:tabular-nums;font-size:13px}.size-hint{color:var(--text-3);font-size:11.5px}.chip-row{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.chip{align-items:center;padding:8px 4px}.chip strong{font-size:13px;font-weight:600}.chip small{color:var(--text-3);font-size:11.5px}.wrist-helper{background:var(--panel-2);border:1px dashed var(--line-strong);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:13px;display:flex}.wrist-helper .num-input input{width:48px}.dims{gap:0;margin:0;display:grid}.dims-row{border-bottom:1px solid #f0f0f2;justify-content:space-between;align-items:baseline;padding:7px 0;display:flex}.dims-row:last-child{border-bottom:0}.dims dt{color:var(--text-2);flex-direction:column;display:flex}.dims dt small{color:var(--text-3);font-size:11px}.dims dd{font-variant-numeric:tabular-nums;font-weight:600;font-family:var(--mono);margin:0;font-size:13px}.dims dd span{color:var(--text-3);font-weight:400;font-family:var(--font)}.dims.compact .dims-row{padding:5px 0}.color-picker{flex-direction:column;gap:10px;display:flex}.swatches{grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;display:grid}.swatch{aspect-ratio:1;background:var(--c);color:var(--ink);border:0;border-radius:50%;place-items:center;max-width:40px;transition:transform .12s,box-shadow .12s;display:grid;box-shadow:inset 0 0 0 1px #0000001f}.swatch:hover{transform:scale(1.07)}.swatch.on{box-shadow:inset 0 0 0 1px #0000001f, 0 0 0 2px #fff, 0 0 0 4px var(--text)}.color-picker.compact .swatches{gap:6px}.hex-row{align-items:center;gap:8px;display:flex}.hex-native{cursor:pointer;border-radius:8px;flex:none;width:32px;height:32px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000026}.hex-native:after{content:"";opacity:0;background:conic-gradient(from 90deg,#f44,#fd4,#4d4,#4df,#44f,#f4f,#f44);transition:opacity .15s;position:absolute;top:0;bottom:0;left:0;right:0}.hex-native:hover:after{opacity:.25}.hex-native input{opacity:0;cursor:pointer;position:absolute;top:0;bottom:0;left:0;right:0}.hex-input input{text-align:left;width:74px;font-family:var(--mono);text-transform:uppercase}.color-name{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.slot-row{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin-bottom:14px;display:grid}.slot{border:1px solid var(--line);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:8px;font-size:13px;font-weight:500;display:flex}.slot small{color:var(--text-3);font-size:11px;font-weight:400;display:block}.slot.on{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.slot-dot,.dot{border-radius:50%;flex:none;width:22px;height:22px;box-shadow:inset 0 0 0 1px #0000001f}.dot{width:14px;height:14px;display:inline-block}.dot.lg{width:28px;height:28px}.add-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.add-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;align-items:center;gap:6px;padding:16px 8px 13px;font-weight:550;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex}.add-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.preset-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.preset{border:1px solid var(--line);background:var(--panel-2);text-align:left;border-radius:10px;align-items:center;gap:10px;padding:10px;transition:background .15s,border-color .15s;display:flex}.preset:hover{border-color:var(--line-strong);background:#fff}.preset span{flex-direction:column;line-height:1.25;display:flex}.preset strong{font-size:13px;font-weight:600}.preset small{color:var(--text-3);font-size:11.5px}.layer-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.layer-list li{border-radius:10px;align-items:center;gap:2px;padding-right:4px;transition:background .15s;display:flex}.layer-list li:hover{background:#f5f5f7}.layer-list li.on{background:var(--accent-soft)}.layer-list li.is-hidden .layer-name{color:var(--text-3);text-decoration:line-through}.layer-list .icon-btn{width:30px;height:30px}.layer-main{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:9px;min-width:0;padding:9px 10px;display:flex}.layer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.badge{color:var(--text-2);background:#ececf0;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:500}.empty-state{text-align:center;color:var(--text-2);flex-direction:column;align-items:center;gap:12px;padding:36px 12px;display:flex}.mobile-inspector{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:4px 14px 8px}.tabs{flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.tabs button{color:var(--text-2);background:#f0f0f3;border:0;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:500}.tabs button.on{background:var(--text);color:#fff}.clipart-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.clipart-item{border:1px solid var(--line);color:var(--text-2);background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:14px 6px 10px;font-size:12px;transition:border-color .15s,box-shadow .15s;display:flex}.clipart-item svg{width:34px;height:34px;fill:var(--text)}.clipart-item:hover{border-color:var(--text);box-shadow:var(--shadow)}.inspector-head{align-items:center;gap:8px;padding-bottom:14px;display:flex}.type-badge{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.inspector-title{flex-direction:column;flex:1;min-width:0;display:flex}.inspector-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inspector-title small{color:var(--text-3);font-size:12px}.inspector .section:first-of-type{border-top:1px solid var(--line);padding-top:18px}.font-picker{margin-top:10px;position:relative}.select-btn{border:1px solid var(--line-strong);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:10px;width:100%;height:42px;padding:0 12px;display:flex}.select-btn span{flex:1;font-size:16px}.select-btn small{color:var(--text-3);font-size:12px}.font-pop{z-index:3;border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#fff;border-radius:12px;margin-top:6px;position:relative;overflow:hidden}.font-cats{scrollbar-width:none;border-bottom:1px solid var(--line);gap:6px;padding:8px;display:flex;overflow-x:auto}.font-cats button{border:1px solid var(--line);color:var(--text-2);white-space:nowrap;background:#fff;border-radius:999px;flex:none;padding:4px 10px;font-size:12px}.font-cats button.on{background:var(--text);border-color:var(--text);color:#fff}.font-list{max-height:min(340px,55vh);margin:0;padding:6px;list-style:none;overflow-y:auto}.font-license{border-top:1px solid var(--line);color:var(--text-3);margin:0;padding:7px 12px 9px;font-size:11px}.font-list button{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 10px;display:flex}.font-list button:hover,.font-list button.on{background:#f3f3f6}.font-sample{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:18px;overflow:hidden}.font-list small{color:var(--text-3);font-size:11.5px}.xy-grid{grid-template-columns:1fr 1fr minmax(64px,auto);gap:8px;display:grid}.xy-grid>label{color:var(--text-3);flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.xy-grid .num-input{width:100%;color:var(--text)}.xy-grid .num-input input{width:100%}.xy-grid output{height:32px;color:var(--text);font-variant-numeric:tabular-nums;align-items:center;font-size:13px;font-weight:500;display:flex}.align-row{flex-wrap:wrap;align-items:center;gap:2px;margin-top:10px;display:flex}.asset-warnings{background:var(--warn-soft);color:var(--warn);border-radius:10px;flex-direction:column;gap:4px;margin:10px 0 0;padding:10px 12px;font-size:12.5px;list-style:none;display:flex}.asset-warnings li{align-items:flex-start;gap:6px;display:flex}.spec{flex-direction:column;margin:0;display:flex}.spec>div{border-bottom:1px solid #f0f0f2;justify-content:space-between;gap:12px;padding:7px 0;display:flex}.spec dt{color:var(--text-2)}.spec dd{text-align:right;margin:0;font-weight:550}.spec dd small{color:var(--text-3);font-weight:400}.spec-colors{align-items:center;gap:4px;display:flex}.spec-colors span:last-child{margin-left:4px}.check-banner{border-radius:var(--radius);align-items:center;gap:12px;margin-bottom:6px;padding:14px 16px;display:flex}.check-banner div{flex-direction:column;display:flex}.check-banner small{opacity:.8;font-size:12px}.check-banner.ok{background:var(--ok-soft);color:var(--ok)}.check-banner.warning{background:var(--warn-soft);color:var(--warn)}.check-banner.error{background:var(--err-soft);color:var(--err)}.issues{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.issue{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:10px 12px;display:grid}.issue strong{font-size:13px;font-weight:600}.issue p{color:var(--text-2);margin:2px 0 0;font-size:12.5px}.issue.error>.icon{color:var(--err)}.issue.warning>.icon{color:var(--warn)}.issue.info>.icon{color:var(--accent)}.stage{background:radial-gradient(120% 90% at 50% 35%,#fff 0%,#f1f1f4 55%,#e7e7eb 100%);grid-template-rows:auto 1fr auto;min-width:0;min-height:0;display:grid;position:relative}.stage-2d{background:#f4f4f6}.stage-toolbar{z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.stage-toolbar>.segmented{box-shadow:inset 0 0 0 1px var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3}.toolbar-group{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);background:#fffc;border-radius:12px;align-items:center;gap:2px;padding:3px;display:flex}.toolbar-group .sep{background:var(--line);width:1px;height:20px;margin:0 4px}.zoom-readout{color:var(--text-2);font-variant-numeric:tabular-nums;text-align:center;min-width:70px;font-size:12px}.stage-body{min-height:0;position:relative}.band-canvas{touch-action:none;top:0;bottom:0;left:0;right:0;position:absolute!important}.stage-loading{color:var(--text-3);place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.stage-hint{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);color:var(--text-2);pointer-events:none;white-space:nowrap;background:#fffc;border-radius:999px;padding:5px 12px;font-size:12px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.stage-footer{color:var(--text-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;gap:18px;padding:10px 14px 12px;font-size:12px;display:flex}.flat-view{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.flat-svg{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;display:block}.flat-svg:active{cursor:grabbing}.flat-svg .el{cursor:move}.flat-svg .el.locked{cursor:default}.strip-shadow{fill:#000;filter:drop-shadow(0 2px 6px #0000002e)}.strip-outline{fill:none;stroke:#00000059;stroke-width:1px}.guide-safe{fill:none;stroke:#00a3ff;stroke-width:1px;stroke-dasharray:5 4}.guide-center{stroke:#00a3ff;stroke-width:1px;stroke-dasharray:2 3;opacity:.85}.guide-center.faint{opacity:.35}.guide-seam{stroke:#ff3b30;stroke-width:1.5px}.guide-snap{stroke:#ff2d92;stroke-width:1.2px}.flat-label{fill:#0a84ff;letter-spacing:.02em;font-size:11px;font-weight:600}.flat-label.seam{fill:#ff3b30}.flat-dim{fill:var(--text-2);font-variant-numeric:tabular-nums;font-size:11.5px}.dim line{stroke:#a1a1a6;stroke-width:1px}.selection polygon{fill:#0a84ff0f;stroke:#0a84ff;stroke-width:1.4px;pointer-events:none}.selection .handle{fill:#fff;stroke:#0a84ff;stroke-width:1.5px;cursor:nwse-resize}.selection .handle.rotate{cursor:grab}.selection .rot-stem{stroke:#0a84ff;stroke-width:1.2px}.ruler .ruler-bg{fill:#fbfbfc}.ruler line{stroke:#b0b0b6;stroke-width:1px;shape-rendering:crispedges}.ruler text{fill:#86868b;font-variant-numeric:tabular-nums;font-size:9.5px}.ruler .ruler-cursor{stroke:#0a84ff}.ruler .ruler-corner{fill:#f2f2f4;stroke:var(--line)}.ruler .ruler-unit{font-weight:600}.flat-status{color:var(--text);font-variant-numeric:tabular-nums;pointer-events:none;justify-content:space-between;gap:12px;font-size:12px;display:flex;position:absolute;bottom:10px;left:42px;right:12px}.flat-status>span{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;text-overflow:ellipsis;background:#ffffffd9;border-radius:8px;padding:4px 9px;overflow:hidden}.flat-status .sel-info{color:#0a5dc2}.project-menu{margin-left:6px;position:relative}.project-btn{border:1px solid var(--line-strong);background:#fff;border-radius:10px;align-items:center;gap:8px;max-width:240px;height:36px;padding:0 12px;font-weight:550;display:flex}.project-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dirty-dot{background:#ff9f0a;border-radius:50%;flex:none;width:7px;height:7px}.menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--line);min-width:230px;box-shadow:var(--shadow-lg);z-index:40;background:#fffffff5;border-radius:12px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.menu button{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-weight:500;display:flex}.menu button span{flex:1}.menu button:hover{background:#f0f0f3}kbd{font-family:var(--font);color:var(--text-3);font-size:11.5px}.project-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.project-list li{align-items:center;gap:4px;display:flex}.project-open{border:1px solid var(--line);text-align:left;background:#fff;border-radius:10px;flex:1;align-items:center;gap:12px;padding:10px 12px;display:flex}.project-open:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.project-open span:last-child{flex-direction:column;display:flex}.project-open small{color:var(--text-3);font-size:12px}.confirm-inline{background:var(--err-soft);border-radius:10px;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;display:flex}.confirm-inline p{color:var(--err);flex:1;margin:0;font-size:13px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#14141852;place-items:center;padding:16px;animation:.15s ease-out fade;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal{width:min(480px,100%);max-height:min(84dvh,760px);box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;flex-direction:column;animation:.18s cubic-bezier(.2,.9,.3,1.2) pop;display:flex}.modal.wide{width:min(760px,100%)}.modal-head{justify-content:space-between;align-items:center;padding:16px 16px 8px 22px;display:flex}.modal-head h2{font-size:17px;font-weight:650}.modal-body{padding:6px 22px 18px;overflow-y:auto}.modal-body>p:first-child{color:var(--text-2);margin-top:0}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 16px 16px;display:flex}.toasts{z-index:200;pointer-events:none;flex-direction:column;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{color:#fff;box-shadow:var(--shadow-lg);background:#1d1d1ff0;border-radius:12px;align-items:center;gap:9px;padding:10px 16px;font-weight:500;animation:.2s ease-out pop;display:flex}.toast-success .icon{color:#30d158}.toast-error .icon{color:#ff6961}.toast-info .icon{color:#64d2ff}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.97)translateY(4px)}}@media (max-width:1280px){:root{--left-w:340px;--right-w:296px}}@media (max-width:1560px){.step-label{display:none}.step-short{display:inline}}@media (max-width:1180px) and (min-width:900px){.workspace{grid-template-columns:var(--left-w) minmax(0, 1fr)}.topbar{grid-template-columns:auto 1fr auto}.brand{padding:0 18px}.project-btn{max-width:170px}}@media (max-width:899px){:root{--topbar-h:auto}.app{flex-direction:column;height:auto;min-height:100dvh;display:flex;overflow:visible}.topbar{grid-template-columns:1fr auto;grid-template-areas:"brand actions""steps steps";row-gap:6px;height:88px;padding:8px 10px 6px;position:sticky;top:0}.brand{grid-area:brand;padding:0 4px}.topbar-actions{grid-area:actions}.stepper{scrollbar-width:none;grid-area:steps;justify-content:space-between;gap:0;overflow-x:auto}.step-pill{gap:4px;padding:4px 7px 4px 4px;font-size:12.5px}.step-num{width:20px;height:20px;font-size:11px}.project-btn{max-width:120px;padding:0 8px}.workspace{flex-direction:column;display:flex}.stage{z-index:5;border-bottom:1px solid var(--line);order:0;height:44dvh;min-height:260px;position:sticky;top:88px}.stage-toolbar{flex-wrap:nowrap;gap:6px;padding:8px}.stage-toolbar .toolbar-group{scrollbar-width:none;min-width:0;overflow-x:auto}.stage-toolbar .icon-btn{flex:none;width:32px;height:32px}.hide-sm,.zoom-readout,.stage-footer{display:none}.panel-left{border-right:0;order:1}.panel-scroll{padding:18px 16px 24px;overflow:visible}.step-nav{z-index:6;padding:10px 16px calc(10px + env(safe-area-inset-bottom));position:sticky;bottom:0;box-shadow:0 -4px 20px #0000000d}.step-header h2{font-size:20px}.stage-hint,.flat-status .muted{display:none}.flat-status{left:36px}.chip-row{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:420px){.brand-text small{display:none}.style-card{grid-template-columns:88px 1fr}.style-ill{width:88px;height:32px}.xy-grid{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.inline-row .segmented button,.stage-toolbar>.segmented button{flex:none}.price{margin-top:14px}.price-table{flex-direction:column;margin:0;display:flex}.price-row{border-bottom:1px solid #f0f0f2;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;display:flex}.price-row dt{flex-direction:column;min-width:0;display:flex}.price-row dt small{color:var(--text-3);font-size:12px}.price-row dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-weight:550}.price-group{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin-top:10px;padding-bottom:2px;font-size:11.5px;font-weight:600}.price-note{color:var(--ok);padding:6px 0;font-size:12.5px}.price-sum{border-bottom:0;padding-top:10px;font-size:15px}.price-sum dt,.price-sum dd{font-weight:650}.price-meta{color:var(--text-2);margin:2px 0 0;font-size:12.5px}.price-tip{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);margin:8px 0 0;padding:8px 10px;font-size:12.5px;font-weight:500}.price-badge{background:var(--warn-soft);color:var(--warn);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.price-issue{color:var(--err);font-size:12.5px;display:block}.price-compact{flex-direction:column;gap:2px;display:flex}.price-compact-main{align-items:baseline;gap:6px;display:flex}.price-compact-main strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:650}.price-compact-main span,.price-compact small{color:var(--text-2);font-size:12.5px}.price-compact .link-btn{align-self:flex-start;margin-top:6px;padding-left:0}.cart-btn{position:relative}.cart-count{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10.5px;font-weight:700;line-height:16px;position:absolute;top:1px;right:0}.cart-topline{justify-content:flex-end;min-height:4px;margin-bottom:6px;display:flex}.cart-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cart-item{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.cart-item-head{align-items:center;gap:12px;display:flex}.cart-swatch{border-radius:6px;flex:none;width:34px;height:22px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.cart-swatch span{flex:1}.cart-item-title{flex-direction:column;flex:1;min-width:0;display:flex}.cart-item-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cart-item-title small,.cart-item-meta{color:var(--text-3);font-size:12px}.cart-item-price{font-variant-numeric:tabular-nums;white-space:nowrap}.cart-item-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cart-item-controls .num-input{width:128px}.cart-item-controls .segmented,.cart-item-controls .segmented button{flex:none}.cart-item-actions{gap:2px;margin-left:auto;display:flex}.cart-item .confirm-inline{flex-wrap:wrap;margin-top:0}.cart-totals{margin-top:12px}.select-input{border:1px solid var(--line-strong);font:inherit;color:var(--text);background:#fff;border-radius:10px;outline:0;padding:9px 10px}.select-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0071e326}.form-title{margin:14px 0 8px;font-size:13px;font-weight:650}.form-title:first-child{margin-top:0}.form-grid{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}.form-field{flex-direction:column;gap:4px;min-width:0;display:flex}.form-field.wide{grid-column:1/-1}.form-field>span{color:var(--text-2);font-size:12.5px}.form-field .select-input{width:100%}.form-field.has-error .name-input,.form-field.has-error .select-input,.form-field.has-error .text-area{border-color:var(--err)}.form-error{color:var(--err);font-size:12px}.consent{background:var(--panel-2);border:1px solid var(--line);color:var(--text-2);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;margin-top:14px;padding:10px 12px;font-size:13px;display:flex}.consent input{accent-color:var(--accent);margin-top:3px}.consent.has-error{border-color:var(--err);background:var(--err-soft)}.checkout-summary{border-top:1px solid var(--line);margin-top:16px;padding-top:4px}.checkout-summary>p{margin:8px 0 0;font-size:12.5px}.checkout-error{margin-top:12px}.order-done{text-align:center;flex-direction:column;align-items:center;padding:16px 8px 8px;display:flex}.order-done h3{margin:12px 0 4px;font-size:18px}.order-done p{margin:6px 0}.order-done-icon{background:var(--ok-soft);width:56px;height:56px;color:var(--ok);border-radius:50%;place-items:center;display:grid}.order-id{font-family:var(--mono);letter-spacing:.03em;font-size:15px}@media (max-width:599px){.form-grid{grid-template-columns:1fr}.cart-item-controls .num-input{width:110px}}.lang-switch{height:32px;color:var(--text-2);background:#f0f0f3;border-radius:10px;align-items:center;gap:2px;margin-right:4px;padding:0 3px 0 8px;display:inline-flex}.lang-switch button{min-width:30px;height:26px;color:var(--text-2);letter-spacing:.02em;background:0 0;border:0;border-radius:7px;padding:0 6px;font-size:12px;font-weight:600}.lang-switch button.on{color:var(--text);background:#fff;box-shadow:0 1px 3px #0000001f}.rotation-ball{z-index:3;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;bottom:12px;right:14px}.rotation-ball svg{cursor:grab;touch-action:none;filter:drop-shadow(0 6px 14px #00000029)drop-shadow(0 1px 2px #0000001f);border-radius:50%;transition:transform .15s;display:block}.rotation-ball svg:hover{transform:scale(1.04)}.rotation-ball svg:active{cursor:grabbing}.rotation-ball .ball-body{stroke:#00000014;stroke-width:1px}.rotation-ball .ball-back path{fill:none;stroke:#9aa0aa;stroke-width:1px;stroke-dasharray:2 2.5;opacity:.55}.rotation-ball .ball-grid path{fill:none;stroke:#8a909b;stroke-width:1px;opacity:.7}.rotation-ball .ball-band path{fill:none;stroke:var(--accent);stroke-width:2.6px;stroke-linecap:round}.rotation-ball .ball-front{fill:#ff9f0a;stroke:#fff;stroke-width:1.4px}.rotation-ball .ball-front.hidden-side{fill:#c9ccd4;stroke:none}.ball-caption{color:var(--text-2);font-variant-numeric:tabular-nums;border:1px solid var(--line);background:#ffffffd9;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.pin-banner{color:#9a5b00;background:#fff4e5;border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:12.5px;display:flex}.pin-banner span{flex:1}.size-card{text-align:center;align-items:center;padding:8px 6px 10px}.size-card .ring-preview{margin-bottom:2px}.size-card.custom{cursor:default;opacity:.55;border-style:dashed}.size-card.custom.on{opacity:1;border-style:solid}.size-mm small{color:var(--text-3)}.size-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.chip .width-preview{margin-bottom:4px}.variants-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.variant{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;flex-direction:column;gap:7px;padding:8px;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex}.variant:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.variant:active{transform:scale(.98)}.mini-band{aspect-ratio:4;filter:drop-shadow(0 2px 4px #0000002e);width:100%;height:auto;display:block}.variant-meta{align-items:center;gap:6px;min-width:0;display:flex}.variant-dots{display:inline-flex}.variant-dots .dot{width:12px;height:12px}.variant-dots .dot+.dot{margin-left:-4px;box-shadow:inset 0 0 0 1px #0000001f,0 0 0 1.5px #fff}.variant-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:550;overflow:hidden}.variant-spark{color:var(--accent)}@media (max-width:899px){.lang-switch{margin-right:0;padding-left:6px}.lang-switch .icon{display:none}.rotation-ball{transform-origin:100% 100%;bottom:8px;right:8px;transform:scale(.82)}.ball-caption{display:none}}.toolbar-group .segmented button{flex:none}.ordering-closed{background:var(--accent-soft);color:var(--accent);border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:10px 12px;font-size:13px;display:flex}.ordering-closed p{margin:0}.ordering-closed .icon{flex:none;margin-top:1px}.step-nav-wrap{border-top:1px solid var(--line);background:var(--panel)}.step-nav-wrap .step-nav{border-top:0;padding-top:8px}.price-bar{flex-direction:column;gap:8px;padding:10px 16px 0;display:flex}.price-bar-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.qty-stepper{border:1px solid var(--line-strong);background:#fff;border-radius:10px;align-items:center;display:inline-flex;overflow:hidden}.qty-stepper>button{width:30px;height:32px;color:var(--text);background:#f5f5f7;border:0;font-size:17px;font-weight:600}.qty-stepper>button:hover:not(:disabled){background:#ececf0}.qty-stepper>button:disabled{color:#c4c4c8}.qty-stepper .num-input{border:0;border-radius:0;height:32px;box-shadow:none!important}.qty-stepper .num-input input{text-align:center;width:52px}.price-bar-total{text-align:right;background:0 0;border:0;flex-direction:column;align-items:flex-end;padding:0;line-height:1.15;display:flex}.price-bar-total strong{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.price-bar-total small{color:var(--text-2);font-size:11.5px}.price-bar-total:hover strong{color:var(--accent)}.upsell{color:#b23c00;background:linear-gradient(135deg,#fff1e6,#ffe4d6);border:1px solid #ffd2b8;border-radius:10px;flex-direction:column;gap:6px;padding:8px 10px 9px;display:flex}.upsell-text{align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex}.upsell-text>span{flex-direction:column;flex:1;display:flex}.upsell-text small{color:#a5532a;font-size:11.5px;font-weight:500}.upsell-btn{color:#fff;white-space:nowrap;background:#ff5a1f;border:0;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:700;transition:transform .1s,background .15s;box-shadow:0 2px 8px #ff5a1f59}.upsell-btn:hover{background:#f04a10}.upsell-btn:active{transform:scale(.96)}.upsell-progress{background:#ff5a1f2e;border-radius:4px;height:4px;overflow:hidden}.upsell-progress span{background:linear-gradient(90deg,#ff8a3d,#ff3d1f);border-radius:4px;height:100%;transition:width .3s;display:block}.price .upsell{margin-top:10px}.style-price{color:var(--text-2);margin-top:6px;font-size:12px}.style-price strong{color:var(--text);font-variant-numeric:tabular-nums}.order-colors ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.order-color{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:8px 8px 8px 10px;display:flex}.order-color.main{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.order-color-swatch{background:0 0;border:0;padding:0}.order-color-dots{width:34px;height:28px;display:inline-flex;position:relative}.order-color-dots .dot.lg{width:26px;height:26px}.order-color-dots .dot.ink{width:13px;height:13px;position:absolute;bottom:0;right:0;box-shadow:inset 0 0 0 1px #00000026,0 0 0 2px #fff}.order-color-name{flex-direction:column;flex:1;min-width:0;font-size:13px;display:flex}.order-color-name strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.order-color-name small{color:var(--text-3);font-size:11px}.order-color .num-input input{width:52px}.order-colors-sum{justify-content:space-between;margin-top:10px;font-size:13px;display:flex}.order-colors-sum strong{font-variant-numeric:tabular-nums}.variant{padding:0;display:block;position:relative}.variant.ordered{border-color:#34c759;box-shadow:0 0 0 1px #34c759}.variant-apply{text-align:left;background:0 0;border:0;flex-direction:column;gap:7px;width:100%;padding:8px;display:flex}.variant-add{color:#fff;opacity:0;background:#1d1d1fdb;border:0;border-radius:999px;align-items:center;gap:2px;padding:3px 8px;font-size:11.5px;font-weight:700;transition:opacity .15s,transform .1s;display:inline-flex;position:absolute;top:6px;right:6px}.variant:hover .variant-add,.variant.ordered .variant-add,.grid-tile:hover .variant-add,.grid-tile.ordered .variant-add{opacity:1}.variant.ordered .variant-add,.grid-tile.ordered .variant-add{background:#34c759}.variant-add:active{transform:scale(.94)}@media (hover:none){.variant-add{opacity:1}}.variants-all{margin-top:10px}.cart-item-colors{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.cart-color{font-variant-numeric:tabular-nums;align-items:center;gap:2px;display:inline-flex}.ball-actions{align-items:center;gap:4px;display:flex}.ball-actions button{border:1px solid var(--line);width:24px;height:24px;color:var(--text);box-shadow:var(--shadow-sm);background:#ffffffeb;border-radius:50%;place-items:center;display:grid}.ball-actions button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.variant-stage{flex-direction:column;min-height:0;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.variant-toolbar{flex-wrap:wrap;justify-content:center;gap:8px;padding:0 12px 8px;display:flex}.variant-toolbar .segmented button{flex:none}.card-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;min-height:0;padding:8px 16px 16px;display:flex}.card-stack{aspect-ratio:16/7;width:min(640px,92%);position:relative}.swipe-card{touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border-radius:20px;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 18px 40px #00000024,0 2px 6px #0000000f}.swipe-card.behind{pointer-events:none;transition:transform .25s,opacity .25s}.swipe-card.top{cursor:grab;transition:transform .22s ease-out}.swipe-card.top.dragging{cursor:grabbing;transition:none}.swipe-card.top.leaving{transition:transform .22s ease-in}.card-thumb{background:radial-gradient(120% 120% at 50% 30%,#fff,#eeeef2);flex:1;width:100%;min-height:0;display:block}.card-meta{border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px 16px;display:flex}.card-meta div{flex-direction:column;display:flex}.card-meta small{color:var(--text-2);font-size:12px}.swipe-stamp{z-index:2;letter-spacing:.04em;pointer-events:none;background:#ffffffd9;border:3px solid;border-radius:10px;padding:6px 14px;font-size:18px;font-weight:800;position:absolute;top:16px}.swipe-stamp.like{color:#34c759;border-color:#34c759;left:16px;transform:rotate(-10deg)}.swipe-stamp.nope{color:#ff3b30;border-color:#ff3b30;right:16px;transform:rotate(10deg)}.card-actions{align-items:center;gap:14px;display:flex}.round{width:58px;height:58px;color:var(--text);background:#fff;border:0;border-radius:50%;place-items:center;transition:transform .12s;display:grid;box-shadow:0 6px 18px #0000001f}.round:active:not(:disabled){transform:scale(.92)}.round:disabled{opacity:.4}.round.small{width:44px;height:44px}.round.nope{color:#ff3b30}.round.like{color:#fff;background:linear-gradient(135deg,#ff8a3d,#ff3d1f);font-size:14px;font-weight:800}.card-hint{color:var(--text-2);text-align:center;margin:0;font-size:12px}.variant-empty{color:var(--text-2);margin:auto}.variant-grid-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:4px 16px 24px;overflow-y:auto}.variant-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.grid-tile{border:1px solid var(--line);background:#fff;border-radius:12px;transition:box-shadow .15s,border-color .15s,transform .12s;position:relative}.grid-tile:hover{box-shadow:var(--shadow);border-color:var(--line-strong);transform:translateY(-1px)}.grid-tile.ordered{border-color:#34c759;box-shadow:0 0 0 1px #34c759}.grid-tile-main{text-align:left;background:0 0;border:0;flex-direction:column;gap:6px;width:100%;padding:8px;display:flex}.grid-thumb{aspect-ratio:3.2;width:100%;display:block}.grid-label{align-items:center;gap:6px;min-width:0;display:flex}.grid-sentinel{text-align:center;color:var(--text-3);padding:24px 0 8px;font-size:12px}.view-matrix{z-index:6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#f6f6f8f0;border-radius:16px;flex-direction:column;animation:.18s ease-out pop;display:flex;position:absolute;top:8px;bottom:8px;left:8px;right:8px}.view-matrix-head{align-items:center;gap:10px;padding:10px 10px 6px 16px;display:flex}.view-matrix-head small{color:var(--text-2);flex:1}.view-matrix-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:8px;min-height:0;padding:4px 12px 12px;display:grid;overflow:auto}.view-tile{border:1px solid var(--line);background:radial-gradient(120% 90% at 50% 35%,#fff 0%,#f1f1f4 60%,#e6e6ea 100%);border-radius:12px;min-height:90px;padding:0;transition:box-shadow .15s,border-color .15s;position:relative;overflow:hidden}.view-tile:hover{border-color:var(--accent);box-shadow:0 0 0 2px #0071e340}.view-tile img{object-fit:contain;width:100%;height:100%;display:block}.view-tile-loading{background:linear-gradient(90deg,#0000,#fff9,#0000);animation:1.2s infinite shimmer;position:absolute;top:0;bottom:0;left:0;right:0}.view-tile-label{background:#ffffffe6;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600;position:absolute;bottom:6px;left:8px}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width:899px){.price-bar{padding:8px 12px 0}.card-stack{width:96%}.round{width:48px;height:48px}.round.small{width:38px;height:38px}.card-hint{display:none}.view-matrix-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px 6px 6px}.variant-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.step-nav-wrap{z-index:6;position:sticky;bottom:0;box-shadow:0 -4px 20px #0000000f}.step-nav-wrap .step-nav{box-shadow:none;padding-top:6px;position:static}.price-bar .upsell-text small,.brand-text{display:none}.project-btn{max-width:104px}.step-pill:not(.on) .step-short{display:none}.step-pill:not(.on){padding-right:4px}}.stage{grid-template-columns:minmax(0,1fr)}.stage-toolbar{min-width:0}@media (max-width:899px){.stage-toolbar .toolbar-group .sep{display:none}}.hand-menu{position:relative}.hand-popover{min-width:210px;top:calc(100% + 8px)}.hand-hint{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);max-width:calc(100% - 24px);box-shadow:var(--shadow);white-space:nowrap;background:#ffffffeb;border-radius:999px;align-items:center;gap:8px;padding:6px 6px 6px 12px;font-size:12.5px;display:flex;position:absolute;top:6px;left:50%;transform:translate(-50%)}.hand-hint span{text-overflow:ellipsis;overflow:hidden}.hand-hint.fit-good strong{color:var(--ok)}.hand-hint.fit-loose strong,.hand-hint.fit-tight strong{color:var(--warn)}.hand-hint.fit-too-small strong{color:var(--err)}.hand-hint button{background:var(--text);color:#fff;border:0;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.hand-hint .hand-hint-close{width:24px;height:24px;color:var(--text-2);background:#f0f0f3;place-items:center;padding:0;display:grid}.three-fallback,.error-fallback{text-align:center;max-width:420px;color:var(--text-2);flex-direction:column;align-items:center;gap:10px;margin:auto;padding:24px;display:flex}.three-fallback{justify-content:center;position:absolute;top:0;bottom:0;left:0;right:0}.three-fallback.overlay{z-index:7;background:#f5f5f7eb;max-width:none}.three-fallback strong,.error-fallback strong{color:var(--text);font-size:16px}.three-fallback p,.error-fallback p{margin:0}.error-fallback{justify-content:center;min-height:100dvh}@media (max-width:899px){.hand-hint{font-size:11.5px;top:4px}}.card-stage,.grid-tile-main{position:relative}.grid-tile.fav{border-color:#ff3d6e;box-shadow:0 0 0 1px #ff3d6e}.fav-badge{color:#fff;background:#ff3d6e;border-radius:999px;align-items:center;gap:3px;padding:2px 8px 2px 6px;font-size:11.5px;font-weight:700;display:inline-flex;position:absolute;top:12px;left:12px;box-shadow:0 2px 6px #ff3d6e59}.grid-tile .variant-add,.grid-tile.ordered .variant-add{width:28px;height:28px;color:var(--text);background:#fffffff2;justify-content:center;padding:0;box-shadow:0 1px 5px #0000002e}.round.like{background:linear-gradient(135deg,#ff7a95,#ff3d6e)}.swipe-stamp.like{color:#ff3d6e;border-color:#ff3d6e}.heart-burst{z-index:6;color:#ff3d6e;pointer-events:none;filter:drop-shadow(0 6px 14px #ff3d6e73);animation:.75s ease-out forwards heart-burst;position:absolute;top:42%;left:50%}.grid-tile .heart-burst{top:38%}.grid-tile .heart-burst .icon{width:44px;height:44px}@keyframes heart-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}25%{opacity:1;transform:translate(-50%,-50%)scale(1.18)}60%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-85%)scale(1.04)}}.confetti-canvas{pointer-events:none;z-index:9999;width:100vw;height:100vh;position:fixed;top:0;bottom:0;left:0;right:0}.cart-btn.bump{animation:.5s ease-out cart-bump}@keyframes cart-bump{0%,to{transform:scale(1)}35%{transform:scale(1.22)}}@media (prefers-reduced-motion:reduce){.heart-burst,.cart-btn.bump{animation-duration:10ms}}.cart-color.fav{color:#ff3d6e}.cart-color.fav .icon{margin-right:1px}.cart-color-remove{width:16px;height:16px;color:var(--text-2);background:#ececf0;border:0;border-radius:50%;place-items:center;margin-left:2px;padding:0;display:inline-grid}.cart-color-remove:hover{color:#fff;background:#ff3b30}@media (max-width:1240px) and (min-width:900px){.brand-text{display:none}.project-btn{max-width:132px}}.skin-tones{border-top:1px solid var(--line);gap:8px;margin-top:4px;padding:8px 10px 6px;display:flex}.skin-tones button{width:24px;height:24px;box-shadow:0 0 0 1px var(--line-strong);border:2px solid #fff;border-radius:50%;padding:0}.skin-tones button.on{box-shadow:0 0 0 2px var(--text)}.hand-credit{border-top:1px solid var(--line);color:var(--text-3);margin:4px 0 0;padding:6px 10px 4px;font-size:10.5px;line-height:1.4}.hand-credit a{color:inherit;text-decoration:underline}.request-card{border:1px dashed var(--line-strong);text-align:left;width:100%;color:var(--text);background:linear-gradient(135deg,#0a84ff0f,#ff3d6e0d);border-radius:12px;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;display:flex}.request-card:hover{border-color:var(--accent)}.request-card>span{flex-direction:column;flex:1;gap:2px;display:flex}.request-card small{color:var(--text-2);font-size:12px}.request-form{flex-direction:column;gap:12px;display:flex}.dropzone{border:2px dashed var(--line-strong);color:var(--text-2);text-align:center;cursor:pointer;background:#fafafc;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:22px 16px;transition:border-color .15s,background .15s;display:flex}.dropzone strong{color:var(--text)}.dropzone.drag,.dropzone:hover{border-color:var(--accent);background:#0a84ff0d}.dropzone.has-error{border-color:var(--err)}.upload-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.upload-list li{border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;padding:6px 8px 6px 10px;font-size:13px;display:flex}.upload-list li span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.upload-list li small{color:var(--text-3)}.upload-list li button{width:22px;height:22px;color:var(--text-2);background:#ececf0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.hp-field{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.banner-error{background:#ff3b3014;border-radius:8px;padding:8px 10px}.request-done{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:18px 8px;display:flex}.request-done .icon{color:var(--ok)}.request-done h3{margin:4px 0 0}.flat-label.seam.warn{fill:var(--err)}.packaging-note{color:#1d6b38;background:#34c7591a;border:1px solid #34c75959;border-radius:10px;gap:8px;margin:8px 0 0;padding:9px 12px;font-size:12.5px;line-height:1.45;display:flex}.packaging-note.compact{margin:6px 0 0;padding:6px 10px;font-size:11.5px}.inline-row.packaging-row{flex-wrap:wrap;row-gap:6px}.inline-row.packaging-row .segmented{max-width:100%}
