*{box-sizing:border-box}:root{color:#24232a;font-synthesis:none;background:#f7f8fb;font-family:Arial,Microsoft YaHei,sans-serif}body{background:#f7f8fb;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.app{background:#f7f8fb;min-height:100vh}.session-restoring{background:#f7f4ed;min-height:100vh}.order-gate{color:#28252a;background:#f3eeeb;flex-direction:column;min-height:100vh;display:flex}.gate-nav{background:#ffffff7a;border-bottom:1px solid #52423814;justify-content:space-between;align-items:center;height:74px;padding:0 7vw;display:flex}.gate-brand{align-items:center;gap:10px;font-size:15px;display:flex}.gate-brand span{color:#fff;background:#fb4c70;border-radius:10px;place-items:center;width:36px;height:36px;font-size:20px;font-weight:800;display:grid}.gate-help{color:#8f8580;font-size:12px}.gate-main{grid-template-columns:1fr 410px;align-items:center;gap:90px;width:min(1120px,88vw);margin:auto;padding:75px 0;display:grid}.gate-copy{padding-left:30px}.eyebrow{letter-spacing:2px;color:#fb4c70;margin:0 0 16px;font-size:10px;font-weight:800}.gate-copy h1{letter-spacing:-.2px;margin:0 0 21px;font-size:48px;line-height:1.14}.gate-copy h1 em{color:#fb4c70;font-style:normal}.gate-copy>p:last-child{color:#817872;font-size:14px;line-height:1.8}.order-card{background:#fff;border:1px solid #70514114;border-radius:18px;padding:34px 34px 30px;box-shadow:0 16px 40px #5e463b1a}.card-icon{color:#fb4c70;background:#fff0f4;border-radius:12px;place-items:center;width:42px;height:42px;margin-bottom:17px;display:grid}.card-kicker{color:#a8a0a0;letter-spacing:1.5px;margin:0;font-size:10px}.order-card h2{margin:8px 0;font-size:24px}.card-sub{color:#9c9594;margin:0 0 26px;font-size:12px;line-height:1.7}.order-card label{color:#777170;margin-bottom:8px;font-size:11px;display:block}.order-input{color:#aaa;border:1px solid #e7e3e4;border-radius:9px;align-items:center;gap:10px;height:48px;padding:0 14px;display:flex}.order-input input{color:#333;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:14px}.order-input input::placeholder{color:#b7b1b0}.primary-button{color:#fff;background:#fb4c70;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;height:46px;font-size:13px;font-weight:700;transition:background .2s,transform .2s;display:flex}.primary-button:not(:disabled):hover{background:#e93d60;transform:translateY(-1px)}.order-card .primary-button{width:100%;margin-top:17px}.gate-note{color:#aaa2a0;align-items:center;gap:6px;margin-top:17px;font-size:10px;display:flex}.gate-footer{color:#a69b96;justify-content:space-between;width:min(1120px,88vw);margin:auto;padding:0 0 28px;font-size:10px;display:flex}.topbar{background:#fff;border-bottom:1px solid #ececf1;align-items:center;gap:16px;height:76px;padding:0 38px;display:flex}.back-button{color:#777;background:#fff;border:0;border-radius:8px;place-items:center;width:33px;height:33px;display:grid}.brand{align-items:center;gap:9px;min-width:170px;display:flex}.brand-mark{color:#fff;background:#fb4c70;border-radius:10px;place-items:center;width:36px;height:36px;font-size:20px;font-weight:800;display:grid}.brand strong{font-size:14px;display:block}.brand small{color:#aaa5ad;letter-spacing:1px;margin-top:3px;font-size:9px;display:block}.stepper{color:#aaa;flex:1;align-items:center;gap:12px;font-size:11px;display:flex}.stepper .active{color:#fb4c70;font-weight:700}.stepper i{background:#ddd;width:24px;height:1px}.session-progress{flex-shrink:0;width:220px}.session-progress-head{color:#777;justify-content:space-between;align-items:center;font-size:10px;display:flex}.session-progress-head strong{color:#fb4c70;font-size:12px}.session-track{background:#f4e5e9;border-radius:10px;height:5px;margin:7px 0 5px;overflow:hidden}.session-track i{border-radius:inherit;background:#fb4c70;height:100%;transition:width .3s;display:block}.session-progress small{color:#a4a0a4;font-size:9px;display:block}.setup-main,.editor-main{max-width:1240px;margin:auto;padding:47px 22px 35px}.page-heading,.editor-heading{justify-content:space-between;align-items:flex-end;margin-bottom:28px;display:flex}.page-heading h1,.editor-heading h1{margin:0 0 9px;font-size:32px;line-height:1.2}.page-heading p:not(.eyebrow),.editor-heading p:not(.eyebrow){color:#99959d;margin:0;font-size:13px}.order-chip{color:#928d94;background:#fff;border:1px solid #e9e7eb;border-radius:9px;padding:11px 14px;font-size:11px}.order-chip strong{color:#fb4c70;letter-spacing:.5px;margin-left:5px}.setup-grid{grid-template-columns:minmax(330px,.85fr) minmax(480px,1.35fr);gap:16px;display:grid}.setup-card,.tool-panel,.canvas-wrap{background:#fff;border:1px solid #ececf1;border-radius:14px}.setup-card{padding:25px}.section-heading{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.section-heading h2{margin:0 0 7px;font-size:16px}.section-heading p{color:#aaa4aa;margin:0;font-size:11px}.required,.optional{border-radius:5px;padding:5px 8px;font-size:10px}.optional{color:#999;background:#f5f5f7}.upload-box{color:#fb4c70;background:#fffafb;border:1px dashed #f2afbe;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:9px;width:100%;min-height:250px;padding:20px;display:flex}.upload-plus{border:1px dashed #fb9bad;border-radius:12px;place-items:center;width:52px;height:52px;display:grid}.upload-box strong{color:#454148;font-size:13px}.upload-box small{color:#aaa2a7;font-size:10px}.upload-box.compact{min-height:150px}.file-preview{background:#fffafb;border:1px solid #f1e5e8;border-radius:11px;align-items:center;gap:14px;min-height:250px;padding:14px;display:flex}.file-preview.compact{min-height:150px}.file-preview img{object-fit:contain;background:#f5eff1;border-radius:7px;width:170px;height:210px}.file-preview.compact img{width:110px;height:120px}.file-meta{flex:1;min-width:0}.file-meta strong,.file-meta small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.file-meta strong{color:#444;font-size:12px}.file-meta small{color:#aaa;margin-top:7px;font-size:10px}.file-preview button{color:#fb4c70;background:#fff;border:1px solid #f3c0ca;border-radius:7px;align-items:center;gap:5px;padding:8px 10px;font-size:10px;display:flex}.line-tabs{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px;display:grid}.line-tabs button{color:#7f7b82;background:#fff;border:1px solid #ececf1;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:10px 4px;font-size:11px;display:flex}.line-tabs button.selected{color:#fb4c70;background:#fff0f4;border-color:#fb91a5;font-weight:700}.shape-grid{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.shape-grid button{color:#757178;background:#fff9fa;border:1px solid #0000;border-radius:9px;padding:10px 2px 8px;position:relative}.shape-icon{color:#f5a4b5;text-align:center;height:28px;font-size:25px;line-height:28px;display:block}.shape-grid small{font-size:10px}.check{color:#fb4c70;position:absolute;top:4px;right:4px}.outline-upload{color:#fb4c70;background:#fffafb;border:1px dashed #f1b2c0;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:15px;padding:11px;font-size:11px;display:flex}.outline-upload.secondary{color:#a86d7a;background:#fffdfd;border-color:#eecbd2;margin-top:8px}.setup-bottom{justify-content:space-between;align-items:center;gap:20px;margin-top:17px;display:flex}.process-note{color:#77727a;align-items:center;gap:11px;display:flex}.note-icon{color:#fb4c70;background:#fff0f4;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.process-note strong{font-size:12px}.process-note p{color:#a4a0a7;margin:5px 0 0;font-size:10px}.continue-button{min-width:150px}.footer,footer{color:#aaa5ad;justify-content:space-between;max-width:1240px;margin:auto;padding:0 22px 28px;font-size:10px;display:flex}.editor-status{color:#4d966c;background:#effaf4;border-radius:7px;align-items:center;gap:6px;padding:8px 11px;font-size:10px;display:flex}.status-dot,.dot{background:#48bb78;border-radius:50%;width:6px;height:6px;display:inline-block}.editor-grid{grid-template-columns:210px minmax(460px,1fr) 280px;gap:16px;display:grid}.tool-panel,.canvas-wrap{padding:20px}.panel-title{margin-bottom:17px;font-size:13px;font-weight:700}.panel-title span{float:right;color:#aaa;letter-spacing:1px;font-size:9px}.tool-row{align-items:center;gap:8px;margin:13px 0;display:flex}.tool-row button{color:#777;background:#fff;border:1px solid #eee;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.tool-row input{accent-color:#fb4c70;flex:1}.readout{text-align:center;color:#777;flex:1;font-size:11px}.tool-hint{color:#aaa;font-size:10px;line-height:1.7}.divider{background:#f1f1f4;height:1px;margin:23px 0}.selected-line{background:#fffafb;border:1px solid #f0e6e9;border-radius:9px;align-items:center;gap:11px;padding:11px;display:flex}.selected-line .shape-icon{background:#fff0f4;border-radius:7px;width:32px;height:32px;font-size:20px;line-height:32px}.selected-line strong,.selected-line small{display:block}.selected-line strong{color:#555;font-size:11px}.selected-line small{color:#aaa;text-overflow:ellipsis;white-space:nowrap;max-width:110px;margin-top:5px;font-size:9px;overflow:hidden}.canvas-top,.canvas-bottom{color:#777;justify-content:space-between;align-items:center;font-size:11px;display:flex}.badge{color:#fb4c70;background:#fff0f3;border-radius:16px;padding:6px 9px;font-size:10px}.canvas-stage{background:#fff8f9;border-radius:10px;place-items:center;min-height:520px;margin:15px 0;display:grid;overflow:hidden}.canvas-stage canvas{touch-action:none;cursor:grab;max-width:100%;height:auto;display:block}.canvas-bottom{color:#a3a0a8}.dot{background:#fb4364;margin-right:6px}.right-panel .shape-grid{grid-template-columns:repeat(4,1fr)}.stroke-head{justify-content:space-between;align-items:baseline;display:flex}.stroke-head strong{color:#fb4c70;font-size:22px}.stroke-head span{color:#aaa;font-size:10px}.stroke{accent-color:#fb4c70;width:100%;margin:15px 0}.ticks{color:#9898a2;justify-content:space-between;font-size:10px;display:flex}.confirm{width:100%;margin-top:25px}@media (max-width:1000px){.topbar{padding:0 18px}.session-progress{width:190px}.stepper{gap:7px}.editor-grid{grid-template-columns:190px minmax(360px,1fr)}.right-panel{grid-column:1/-1}.right-panel .shape-grid{grid-template-columns:repeat(8,1fr)}.setup-grid{grid-template-columns:1fr 1fr}.gate-main{gap:50px}}@media (max-width:700px){.gate-nav{padding:0 18px}.gate-main{width:auto;padding:42px 18px;display:block}.gate-copy{margin-bottom:30px;padding:0}.gate-copy h1{font-size:35px}.order-card{padding:27px 22px}.gate-footer{width:auto;padding:0 18px 20px;line-height:2;display:block}.gate-footer span{display:block}.topbar{flex-wrap:wrap;gap:9px;height:auto;min-height:66px;padding:12px 14px}.brand{flex:1;min-width:0}.stepper{flex-basis:100%;order:3;justify-content:center;padding:4px 0 1px}.stepper i{width:20px}.session-progress{order:4;width:100%}.setup-main,.editor-main{padding:30px 14px 25px}.page-heading,.editor-heading{margin-bottom:21px;display:block}.page-heading h1,.editor-heading h1{font-size:28px}.order-chip,.editor-status{margin-top:16px;display:inline-flex}.setup-grid{display:block}.setup-card{margin-bottom:12px;padding:18px}.artwork-card .upload-box{min-height:210px}.setup-bottom{display:block}.continue-button{width:100%;margin-top:15px}.process-note{align-items:flex-start}.editor-grid{flex-direction:column;display:flex}.tool-panel{order:2}.canvas-wrap{order:1;padding:14px}.right-panel{order:3}.canvas-stage{min-height:350px}.right-panel .shape-grid{grid-template-columns:repeat(4,1fr)}footer{padding:0 15px 22px;line-height:2;display:block}footer span{display:block}}.spec-inline{color:#fb4c70;margin-left:8px;font-weight:600}.auto-cutout{color:#666;align-items:center;gap:8px;margin:14px 2px 0;font-size:11px;display:flex}.auto-cutout input{accent-color:#fb4c70;width:16px;height:16px}.auto-cutout small{color:#aaa;margin-left:auto;font-size:10px}.setup-actions{justify-content:center;align-items:center;gap:24px;padding:14px 0 2px;display:flex}.setup-actions button{color:#77737a;background:0 0;border:0;align-items:center;gap:6px;font-size:10px;display:flex}@media (max-width:700px){.auto-cutout small{display:none}.setup-actions{gap:18px}}.editor-actions{align-items:center;gap:10px;display:flex}.top-submit{color:#fff;background:#fb4c70;border:0;border-radius:8px;padding:9px 14px;font-size:11px;font-weight:700}.top-submit:hover{background:#e93d60}.top-submit:focus-visible{outline-offset:2px;outline:3px solid #ffd2db}@media (max-width:700px){.editor-actions{justify-content:space-between;margin-top:14px}.top-submit{padding:9px 12px}}.reference-setup{color:#f7f4ed;background:#171717;min-height:100vh;position:relative;overflow:hidden}.reference-submit{z-index:3;color:#fffdf8;letter-spacing:.2px;background:#b39364;border:1px solid #ffffff38;border-radius:4px;min-width:98px;height:38px;padding:0 17px;font-size:12px;font-weight:700;transition:background .2s,transform .2s;position:absolute;top:22px;right:24px}.reference-upload-main{background:#1b1b1b;place-items:center;min-height:100vh;padding:70px 22px 110px;display:grid}.reference-upload-card{color:#3c3730;background:#f8f3eb;border:1px solid #d6cec1;border-radius:4px;width:min(500px,100%);padding:25px 26px 23px;box-shadow:0 22px 60px #0006}.reference-upload-title{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.reference-upload-title h1{color:#302c27;margin:0;font-size:20px;font-weight:700;line-height:1.3}.reference-upload-title h1 small{color:#877d70;white-space:nowrap;font-size:11px;font-weight:400}.reference-upload-hint{color:#756c60;background:#fffdf8b8;border:1px solid #ded2c0;border-radius:3px;align-items:flex-start;gap:7px;margin:13px 0 19px;padding:9px 10px;font-size:10px;line-height:1.55;display:flex}.reference-upload-hint svg{color:#a77e45;flex:none;margin-top:1px}.reference-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:350px;padding:2px;display:grid;overflow:auto}.reference-upload-tile,.reference-add-tile{aspect-ratio:1;background:#fffdf8;border:1px solid #d8ccba;border-radius:3px;min-width:0;position:relative;overflow:hidden}.reference-upload-tile img{object-fit:cover;background:#ede7dc;width:100%;height:100%;display:block}.reference-upload-tile>span{color:#fff;text-align:center;background:#231f1bb8;padding:6px 5px;font-size:9px;position:absolute;bottom:0;left:0;right:0}.reference-remove{z-index:1;color:#fff;opacity:0;background:#26221ec7;border:0;border-radius:50%;place-items:center;width:23px;height:23px;padding:0;transition:opacity .18s,background .18s;display:grid;position:absolute;top:6px;right:6px}.reference-upload-tile:hover .reference-remove{opacity:1}.reference-remove:focus-visible{opacity:1}.reference-add-tile{color:#a77e45;background:#fffdf87a;border:1px dashed #bda783;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.reference-notice{margin-top:13px}.reference-start{color:#fffdf8;letter-spacing:.2px;background:#b39364;border:0;border-radius:3px;width:100%;height:43px;margin-top:20px;font-size:13px;font-weight:700;transition:background .2s,transform .2s}.reference-start small{opacity:.9;font-size:10px;font-weight:400}.reference-bottom-actions{z-index:2;justify-content:center;align-items:center;gap:42px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.reference-bottom-actions button{color:#d9d4ca;white-space:nowrap;background:0 0;border:0;flex-direction:column;align-items:center;gap:7px;min-width:75px;padding:4px 9px;font-size:10px;display:flex}.reference-bottom-actions button:hover:not(:disabled){color:#fff}@media (max-width:700px){.reference-setup{min-height:100dvh}.reference-submit{min-width:86px;height:35px;padding:0 13px;font-size:11px;top:14px;right:14px}.reference-upload-main{place-items:center;min-height:100dvh;padding:63px 14px 104px}.reference-upload-card{width:min(440px,100%);padding:19px 16px 17px}.reference-upload-title h1{font-size:18px}.reference-upload-title h1 small{font-size:9px}.reference-upload-hint{margin:11px 0 15px;font-size:9px}.reference-upload-grid{gap:8px;max-height:calc(100dvh - 355px)}.reference-remove{opacity:1;width:22px;height:22px;top:5px;right:5px}.reference-start{height:41px;margin-top:16px;font-size:12px}.reference-bottom-actions{bottom:max(12px,env(safe-area-inset-bottom));gap:22px}.reference-bottom-actions button{gap:5px;min-width:66px;font-size:9px}}.editor-main{background:#050505;width:100%;max-width:none;height:100%;margin:0;padding:0;position:relative}.editor-heading{z-index:21;margin:0;position:absolute;top:13px;right:24px}.editor-heading>div:first-child,.editor-status{display:none}.editor-actions{margin:0}.top-submit{color:#fffdf8;background:#b39364;border:1px solid #fff3;border-radius:4px;min-width:98px;height:38px;padding:0 17px;font-size:12px}.editor-grid{width:100%;height:100%;display:block}.editor-grid>.tool-panel{display:none}.canvas-wrap{background:#050505;border:0;border-radius:0;width:100%;height:100%;padding:0}.canvas-top,.canvas-bottom{display:none}.canvas-stage{background:#252525;border-radius:0;place-items:center;width:100%;height:100%;min-height:100vh;margin:0;display:grid;overflow:hidden}.canvas-stage canvas{object-fit:contain;cursor:grab;width:min(760px,90vw);max-width:90vw;height:auto;max-height:76vh;box-shadow:0 12px 36px #00000047}.canvas-stage canvas:active{cursor:grabbing}.editor-settings-trigger{z-index:22;color:#fff;background:#191919e6;border:1px solid #fff3;border-radius:4px;place-items:center;width:42px;height:42px;display:grid;position:absolute;bottom:90px;left:24px}.editor-settings-trigger:hover{background:#353535}.editor-bottom-actions{z-index:25;background:0 0;border:0;justify-content:center;align-items:center;gap:34px;height:auto;padding:0;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.editor-bottom-actions button{color:#d9d4ca;white-space:nowrap;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:74px;padding:4px 9px;font-size:10px;display:flex}.editor-bottom-actions button:hover:not(:disabled){color:#fff}.editor-bottom-actions svg{stroke-width:1.6px}.editor-bottom-actions button:disabled{opacity:.45}.editor-settings-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000094;justify-content:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.editor-settings-drawer{color:#3e372f;background:#f8f3eb;border-left:1px solid #ffffff24;width:min(390px,94vw);height:100%;padding:25px 22px 28px;overflow:auto;box-shadow:-20px 0 60px #0006}.editor-settings-head{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.editor-settings-kicker{color:#a77e45;letter-spacing:2px;margin:0 0 5px;font-size:9px;font-weight:800}.editor-settings-head h2{color:#302c27;margin:0;font-size:22px}.editor-settings-close{color:#6f6558;background:#eee4d3;border:0;border-radius:4px;place-items:center;width:32px;height:32px;display:grid}.editor-settings-close:hover{background:#e3d5c1}.drawer-section{border-top:1px solid #e2d7c7;padding:18px 0}.drawer-section:first-of-type{border-top:0;padding-top:0}.drawer-section-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.drawer-section-head strong{color:#4b4238;font-size:13px}.drawer-section-head span{color:#9b8d7b;font-size:9px}.drawer-section-head b{color:#a77e45;font-size:16px}.drawer-image-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.drawer-image-option{aspect-ratio:1;color:#6b6053;background:#fffdf8;border:1px solid #ded4c5;border-radius:5px;min-width:0;padding:0;position:relative;overflow:hidden}.drawer-image-option img{object-fit:cover;width:100%;height:100%;display:block}.drawer-image-option>span{color:#fff;background:#27231fb8;padding:4px 2px;font-size:8px;position:absolute;bottom:0;left:0;right:0}.drawer-image-option.selected{outline-offset:1px;outline:2px solid #a77e45}.drawer-image-option em{color:#fff;background:#557157;border-radius:3px;padding:2px 3px;font-size:7px;font-style:normal;position:absolute;top:4px;left:4px}.drawer-cutout,.drawer-upload{color:#fffdf8;background:#b39364;border:1px solid #b39364;border-radius:4px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:36px;margin-top:11px;font-size:11px;font-weight:700;display:flex}.drawer-cutout:hover,.drawer-upload:hover{background:#987747}.drawer-cutout.done{color:#557157;background:#edf4eb;border-color:#bacdb7}.drawer-upload{color:#987747;background:#fffdf8;margin-top:9px}.drawer-upload.secondary{color:#927d60;border-color:#d6c7b0}.drawer-progress{background:#e8dece;border-radius:99px;height:5px;margin-top:9px;overflow:hidden}.drawer-progress i{border-radius:inherit;background:#b39364;height:100%;transition:width .25s;display:block}.drawer-file-name{color:#9b8d7b;text-overflow:ellipsis;white-space:nowrap;margin:8px 0 0;font-size:9px;overflow:hidden}.drawer-control-row{align-items:center;gap:9px;margin:10px 0;display:flex}.drawer-control-row button{color:#786b5d;background:#fffdf8;border:1px solid #e0d5c5;border-radius:4px;place-items:center;width:31px;height:31px;display:grid}.drawer-control-row button:hover{color:#987747;border-color:#b39364}.drawer-control-row input{accent-color:#b39364;flex:1}.drawer-control-row>span{text-align:center;color:#756a5e;flex:1;font-size:11px}.drawer-shape-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.drawer-shape-grid button{color:#766b5e;background:#fffdf8;border:1px solid #e2d7c7;border-radius:5px;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:8px 2px 6px;display:flex;position:relative}.drawer-shape-grid button:hover,.drawer-shape-grid button.chosen{color:#987747;background:#f2e8d8;border-color:#b39364}.drawer-shape-grid .shape-icon{height:25px;font-size:21px;line-height:25px}.drawer-shape-grid small{font-size:9px}.drawer-stroke .stroke{margin:10px 0 7px}.drawer-done{color:#fffdf8;background:#b39364;border:0;border-radius:4px;width:100%;height:42px;margin-top:8px;font-size:12px;font-weight:700}.drawer-done:hover{background:#987747}@media (max-width:700px){.editor-app{height:100dvh;min-height:100dvh}.editor-app>.topbar{height:56px;padding:10px 12px}.editor-heading{top:10px;right:12px}.top-submit{border-radius:18px;min-width:86px;height:35px;padding:0 13px;font-size:11px}.canvas-stage{background:#252525;min-height:100dvh}.canvas-stage canvas{width:100vw;max-width:100vw;max-height:calc(100dvh - 72px);box-shadow:none}.editor-settings-trigger{width:38px;height:38px;bottom:87px;left:14px}.editor-bottom-actions{height:72px;padding:8px 12px max(8px,env(safe-area-inset-bottom));background:#1a1a1a;border-top:1px solid #373737;grid-template-columns:repeat(4,1fr);gap:3px;display:grid;bottom:0;left:0;right:0;transform:none}.editor-bottom-actions button{gap:5px;min-width:0;font-size:9px}.editor-settings-drawer{width:min(420px,100vw);padding:20px 17px 24px}.drawer-image-list{grid-template-columns:repeat(5,minmax(0,1fr))}}:root,body,.app{color:#3e372f;background:#f5f0e7}.order-gate{color:#3e372f;background:#f1ebe1}.gate-nav{background:#fffdf8b8;border-bottom-color:#6f5b4224}.gate-brand span,.brand-mark{color:#fffdf8;background:#b39364}.eyebrow,.gate-copy h1 em,.card-icon,.primary-button,.top-submit,.stepper .active,.session-progress-head strong,.order-chip strong,.required,.upload-box,.upload-plus,.line-tabs button.selected,.shape-grid button:hover,.shape-grid button.chosen,.shape-icon,.check,.outline-upload,.spec-inline,.auto-cutout input,.confirm,.setup-actions button:hover,.gate-copy h1 em{color:#a77e45}.card-icon{background:#eee4d3}.order-card,.topbar,.setup-card,.tool-panel,.canvas-wrap{background:#fffdf8;border-color:#e4dbcd}.order-input:focus-within{border-color:#c6aa7c;box-shadow:0 0 0 3px #f1e9db}.primary-button,.top-submit{color:#fffdf8;background:#b39364}.primary-button:not(:disabled):hover,.top-submit:hover{background:#987747}.back-button:hover{color:#987747;background:#f0e7d8}.stepper .active{color:#a77e45}.session-track{background:#e8dece}.session-track i{background:#b39364}.order-chip{background:#fffdf8;border-color:#e4dbcd}.order-chip strong{color:#a77e45}.required{color:#a77e45;background:#f0e6d7}.optional{background:#f1ede5}.upload-box{color:#a77e45;background:#fcf8f0;border-color:#cdb58d}.upload-box:hover{background:#f7efe1;border-color:#b39364}.upload-plus{color:#a77e45;border-color:#cdb58d}.line-tabs button.selected{color:#987747;background:#f2e8d8;border-color:#c4a77a}.shape-grid button{background:#fcf8f0}.shape-grid button:hover,.shape-grid button.chosen{color:#987747;background:#f2e8d8;border-color:#c4a77a}.shape-icon{color:#c3a474}.check{color:#987747}.outline-upload{color:#987747;background:#fcf8f0;border-color:#cdb58d}.outline-upload.secondary{color:#927d60;background:#fffdf8;border-color:#d6c7b0}.note-icon{color:#987747;background:#eee4d3}.setup-actions button:hover{color:#987747}.auto-cutout input{accent-color:#b39364}.stroke-head strong{color:#a77e45}.stroke{accent-color:#b39364}.badge{color:#987747;background:#eee4d3}.selected-line{background:#fcf8f0;border-color:#e2d7c7}.selected-line .shape-icon{background:#eee4d3}.canvas-stage{background:#303236}.dot{background:#ffffffb8}.file-preview{background:#fcf8f0;border-color:#e2d7c7}.file-preview img{background:#f3ede3}.file-preview button{color:#987747;background:#fffdf8;border-color:#cdb58d}.top-submit:focus-visible{outline-color:#e5d4b8}.upload-only-card{max-width:860px;margin:0 auto}.upload-only-hint{color:#887f73;margin:14px 0 0;font-size:11px;line-height:1.6}.multi-file-preview{flex-direction:column;gap:14px;display:flex}.multi-file-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.multi-file-item{background:#fcf8f0;border:1px solid #e2d7c7;border-radius:8px;min-width:0;position:relative;overflow:hidden}.multi-file-item img{object-fit:cover;background:#f3ede3;width:100%;height:126px;display:block}.multi-file-meta{min-width:0;padding:9px 10px 10px}.multi-file-meta strong,.multi-file-meta small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.multi-file-meta strong{color:#51483e;font-size:11px}.multi-file-meta small{color:#978d80;margin-top:4px;font-size:9px}.remove-file{color:#fffdf8;opacity:0;background:#3e372fbd;border:0;border-radius:6px;place-items:center;width:25px;height:25px;padding:0;transition:opacity .2s,background .2s;display:grid;position:absolute;top:7px;right:7px}.multi-file-item:hover .remove-file{opacity:1}.remove-file:focus-visible{opacity:1}.remove-file:hover{background:#8c4f41}.add-file-button{align-self:flex-start;width:auto;margin-top:0;padding:10px 14px}.editor-image-list{flex-direction:column;gap:7px;max-height:222px;padding-right:2px;display:flex;overflow:auto}.editor-image-option{text-align:left;color:#51483e;background:#fffdf8;border:1px solid #e5ddd1;border-radius:7px;align-items:center;gap:8px;width:100%;min-width:0;padding:6px;display:flex}.editor-image-option:hover{background:#fcf8f0;border-color:#c6aa7c}.editor-image-option.selected{background:#f4ecdf;border-color:#b39364;box-shadow:0 0 0 1px #dfcaa9}.editor-image-option img{object-fit:cover;background:#eee4d3;border-radius:5px;flex:0 0 34px;width:34px;height:34px}.editor-image-option>span{flex:1;min-width:0}.editor-image-option strong,.editor-image-option small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.editor-image-option strong{font-size:10px}.editor-image-option small{color:#93887a;margin-top:3px;font-size:9px}.editor-image-option em{color:#5d7d5e;background:#e9f0e7;border-radius:4px;flex:none;padding:3px 4px;font-size:8px;font-style:normal}.cutout-button{color:#fffdf8;background:#b39364;border:1px solid #b39364;border-radius:7px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:37px;margin-top:12px;font-size:11px;font-weight:700;display:flex}.cutout-button:hover{background:#987747;border-color:#987747}.cutout-button.done{color:#557157;background:#edf4eb;border-color:#bacdb7}.cutout-button.done:hover{background:#e2eddf;border-color:#9eb49c}.cutout-hint{margin:8px 0 0}.cutout-progress{background:#fcf8f0;border:1px solid #e2d7c7;border-radius:7px;margin-top:10px;padding:9px 10px}.cutout-progress-head{color:#817568;justify-content:space-between;align-items:center;gap:8px;font-size:9px;display:flex}.cutout-progress-head strong{color:#987747;font-size:10px}.cutout-progress-track{background:#e8dece;border-radius:99px;height:5px;margin-top:7px;overflow:hidden}.cutout-progress-track i{border-radius:inherit;background:#b39364;height:100%;transition:width .25s;display:block}.cutout-error{color:#9a5f50;background:#fbefeb;border-radius:7px;margin:9px 0 0;padding:8px 9px;font-size:9px;line-height:1.5}@media (max-width:1000px){.multi-file-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.multi-file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.multi-file-item img{height:116px}.remove-file{opacity:1}.add-file-button{align-self:stretch;width:100%}.editor-image-list{max-height:204px}}.size-tabs{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px;display:grid}.size-tabs button{color:#7f7468;background:#fffdf8;border:1px solid #e2d7c7;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:36px;padding:7px 5px;font-size:10px;display:flex}.size-tabs button:hover,.size-tabs button.selected{color:#987747;background:#f2e8d8;border-color:#b39364;font-weight:700}.fixed-size-display{background:#fcf8f0;border:1px solid #e2d7c7;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;display:flex}.fixed-size-display strong{color:#5f503e;font-size:13px}.fixed-size-display small{color:#9b8d7b;font-size:9px}.fixed-size-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.fixed-size-options button{color:#7f7468;background:#fcf8f0;border:1px solid #e2d7c7;border-radius:7px;justify-content:space-between;align-items:center;gap:5px;min-width:0;min-height:34px;padding:7px 8px;font-size:10px;display:flex}.fixed-size-options button:hover,.fixed-size-options button.selected{color:#987747;background:#f2e8d8;border-color:#b39364;font-weight:700}.fixed-size-note{color:#9b8d7b;margin:8px 0 0;font-size:9px}.custom-size-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.custom-size-fields label{color:#817568;font-size:9px;display:block;position:relative}.custom-size-fields input{color:#5f503e;background:#fffdf8;border:1px solid #e2d7c7;border-radius:6px;outline:0;width:100%;height:34px;margin-top:5px;padding:0 25px 0 8px;font-size:11px}.custom-size-fields input:focus{border-color:#b39364;box-shadow:0 0 0 2px #f1e9db}.custom-size-fields label>span{color:#a39380;font-size:9px;position:absolute;bottom:9px;right:7px}.size-hint{margin:8px 0 0}.upload-notice{color:#955d4f;background:#fbefeb;border-radius:7px;align-items:flex-start;gap:7px;margin:12px 0 0;padding:9px 10px;font-size:10px;line-height:1.5;display:flex}.upload-notice svg{flex:none;margin-top:1px}.mobile-action-bar{display:none}.upload-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000b8;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.upload-modal{background:linear-gradient(#ede5d7 0,#f8f3eb 38%,#fffdf8 100%);border:1px solid #ffffffb3;border-radius:8px;width:min(440px,100%);max-height:min(700px,88vh);padding:24px;overflow:auto;box-shadow:0 26px 70px #00000059}.upload-modal-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.upload-modal-head h2{color:#312d28;letter-spacing:0;margin:0;font-size:20px}.upload-modal-head h2 small{color:#7f776d;font-size:11px;font-weight:400}.modal-close{color:#6c6358;background:#ffffff8a;border:0;border-radius:6px;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.modal-close:hover{color:#3e372f;background:#fff}.upload-modal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:360px;padding:2px;display:grid;overflow:auto}.upload-modal-item{aspect-ratio:1;min-width:0;position:relative}.upload-modal-tile{aspect-ratio:1;color:#60574d;background:#fffdf8;border:1px solid #ded4c5;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;display:flex;position:relative;overflow:hidden}.upload-modal-item .upload-modal-tile{width:100%;height:100%}.upload-modal-tile img{object-fit:cover;width:100%;height:100%}.upload-modal-tile>span:not(.upload-modal-check){color:#fff;text-align:center;background:#27231fb3;padding:6px 5px;font-size:9px;position:absolute;bottom:0;left:0;right:0}.upload-modal-add>span:not(.upload-modal-check){color:#8e6c3f;background:0 0;padding:0;font-size:11px;position:static}.upload-modal-add:disabled{opacity:.45;cursor:not-allowed}.upload-modal-check{color:#fff;background:#a77e45;border-radius:50%;width:22px;height:22px;padding:4px;position:absolute;top:6px;left:6px}.upload-modal-remove{z-index:2;color:#fffdf8;background:#2a2520c7;border:0;border-radius:50%;place-items:center;width:25px;height:25px;padding:0;transition:background .18s,transform .18s;display:grid;position:absolute;top:6px;right:6px;box-shadow:0 1px 3px #0003}.upload-modal-remove:focus-visible{outline-offset:2px;outline:2px solid #fffdf8}.modal-notice{margin-top:14px}.upload-modal-foot{justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.upload-modal-foot .primary-button{border-radius:22px;min-width:160px}.submit-dialog{text-align:center;background:#fffdf8;border-radius:8px;width:min(360px,100%);padding:28px 24px 22px;box-shadow:0 26px 70px #00000059}.submit-dialog-icon{color:#a77e45;background:#eee4d3;border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 14px;display:grid}.submit-dialog h2{color:#302c28;margin:0;font-size:19px}.submit-dialog p{color:#81786e;margin:10px 0 22px;font-size:11px;line-height:1.7}.submit-dialog>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.submit-dialog button{border:0;border-radius:21px;height:42px;font-size:12px;font-weight:700}.dialog-cancel{color:#6f675e;background:#efebe5}.dialog-confirm{color:#fff;background:#b39364}.top-submit:disabled,.confirm:disabled{opacity:.72;cursor:default}.setup-app{background:#171717}.setup-app .setup-main{flex-direction:column;justify-content:center;min-height:calc(100vh - 76px);display:flex}.setup-app .page-heading{display:none}.setup-app .upload-only-card{background:linear-gradient(#ede5d7 0,#f8f3eb 38%,#fffdf8 100%);border-color:#dfd4c4;border-radius:8px;width:min(440px,92vw);padding:24px;box-shadow:0 24px 60px #0000004d}.setup-app .section-heading h2{font-size:20px}.setup-app .section-heading p{margin-top:8px;line-height:1.5}.setup-app .upload-box{min-height:128px}.setup-app .setup-bottom{width:min(440px,92vw);margin:16px auto 0}.setup-app .process-note{color:#fff}.setup-app .process-note p{color:#aaa}.setup-app .continue-button{border-radius:23px}@media (max-width:700px){.setup-app>.topbar{background:#fffdf8}.setup-app .setup-main{min-height:calc(100dvh - 104px);padding-top:20px;padding-bottom:24px}.setup-app .setup-bottom{flex-direction:column;align-items:stretch;display:flex}.setup-app .continue-button{margin-top:0}.editor-app{height:100dvh;overflow:hidden}.editor-app>.topbar{z-index:5;color:#fff;background:#000;border-bottom:0;min-height:56px;padding:10px 12px;position:absolute;top:0;left:0;right:0}.editor-app>.topbar .brand,.editor-app>.topbar .stepper{display:none}.editor-app>.topbar .back-button{color:#fff;background:#1d1d1d}.editor-main{background:#000;height:100%;min-height:0;padding:0 0 72px}.editor-heading{z-index:6;margin:0;position:absolute;top:11px;right:12px}.editor-heading>div:first-child,.editor-status{display:none}.editor-actions{margin:0}.top-submit{background:#b39364;border-radius:18px;padding:9px 15px}.editor-grid{display:block}.canvas-wrap{background:#000;border:0;border-radius:0;padding:0}.canvas-top,.canvas-bottom{display:none}.canvas-stage{background:#303236;border-radius:0;min-height:calc(100dvh - 72px);margin:0}.canvas-stage canvas{object-fit:contain;width:100%;max-height:calc(100dvh - 72px)}.editor-grid>.tool-panel{display:none}.mobile-action-bar{z-index:900;height:72px;padding:8px 18px max(8px,env(safe-area-inset-bottom));color:#fff;background:#1a1a1a;border-top:1px solid #373737;grid-template-columns:repeat(3,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-action-bar button{color:#fff;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;font-size:10px;display:flex}.mobile-action-bar button:disabled{opacity:.35}.upload-modal-backdrop{padding:14px}.upload-modal{max-height:86vh;padding:20px}.upload-modal-grid{gap:9px}.upload-modal-foot .primary-button{min-width:148px}}.editor-app{color:#f7f4ed;background:#050505;height:100vh;min-height:100vh;position:relative;overflow:hidden}.editor-app>.topbar{z-index:20;color:#fff;background:0 0;border:0;height:64px;padding:12px 24px;position:absolute;top:0;left:0;right:0}.editor-app>.topbar .brand,.editor-app>.topbar .stepper{display:none}.editor-app>.topbar .back-button{color:#fff;background:#1e1e1ecc;border:1px solid #ffffff1f;border-radius:4px}.editor-app>.topbar .back-button:hover{color:#fff;background:#333}.editor-app .editor-main{background:#050505;width:100%;max-width:none;height:100%;margin:0;padding:0;position:relative}.editor-app .editor-heading{z-index:21;margin:0;position:absolute;top:13px;right:24px}.editor-app .editor-heading>div:first-child,.editor-app .editor-status{display:none}.editor-app .editor-actions{margin:0}.editor-app .editor-grid{width:100%;height:100%;display:block}.editor-app .editor-grid>.tool-panel{display:none}.editor-app .canvas-wrap{background:#050505;border:0;border-radius:0;width:100%;height:100%;padding:0}.editor-app .canvas-top,.editor-app .canvas-bottom{display:none}.editor-app .canvas-stage{background:#000;border-radius:0;place-items:center;width:100%;height:calc(100% - 80px);min-height:0;margin:0;display:grid;overflow:hidden}.editor-app .canvas-stage canvas{cursor:default;touch-action:none;background:0 0;border:0;border-radius:0;width:auto;max-width:72vw;height:auto;max-height:70vh;display:block;box-shadow:0 12px 36px #0000004d}.editor-app .template-switcher{z-index:24;color:#f3f1eb;background:#1d1d1d;border-radius:24px;align-items:center;gap:14px;height:48px;padding:0 10px;display:flex;position:fixed;bottom:91px;left:50%;transform:translate(-50%)}.editor-app .template-switcher button{color:#d8d4ca;background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.editor-app .template-switcher button:hover:not(:disabled){color:#fff;background:#313131}.editor-app .template-switcher button:disabled{opacity:.32;cursor:not-allowed}.editor-app .template-switcher output{color:#fff;text-align:center;font-variant-numeric:tabular-nums;min-width:42px;font-size:13px}.editor-app .editor-bottom-actions{z-index:25;box-sizing:border-box;background:#1a1a1a;border-top:1px solid #1f2937;justify-content:center;align-items:center;gap:40px;width:100%;height:80px;padding:0 24px 12px;display:flex;position:fixed;bottom:0;left:0;right:0;transform:none}.editor-app .editor-bottom-actions button{color:#d9d4ca;white-space:nowrap;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:74px;padding:4px 9px;font-size:10px;display:flex}.editor-app .editor-bottom-actions button:hover:not(:disabled){color:#fff}.editor-app .editor-bottom-actions svg{stroke-width:1.6px}.editor-app .editor-bottom-actions button:disabled{opacity:.45}.editor-app>.topbar .back-button{display:none}.cutout-processing-backdrop{z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#01050b75;place-items:center;padding:24px;animation:.28s both cutout-backdrop-in;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.cutout-processing-dialog{color:#f7f4ed;text-align:center;background:#0000006b;border:1px solid #ffffff26;border-radius:24px;width:min(320px,100vw - 48px);padding:24px 20px 22px;animation:.32s cubic-bezier(.2,.8,.2,1) both cutout-dialog-in;box-shadow:0 20px 80px #0ea5e92e,0 18px 48px #00000061}.cutout-orbit{border:1px solid #87d7ffb8;border-radius:50%;width:74px;height:30px;position:absolute}.cutout-orbit-b{animation:3s linear infinite reverse cutout-orbit-b}.cutout-processing-summary{color:#b8eaffb8;letter-spacing:.01em;margin-bottom:6px;font-size:11px}.cutout-processing-copy>span{color:#c5f1ff;font-variant-numeric:tabular-nums;margin-top:5px;font-size:12px;display:block}@keyframes cutout-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes cutout-dialog-in{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:none}}@keyframes cutout-pulse-ring{0%{opacity:.9;transform:scale(.55)}70%,to{opacity:0;transform:scale(1.2)}}@keyframes cutout-orbit-a{0%{transform:rotate(35deg)rotate(0)}to{transform:rotate(35deg)rotate(360deg)}}@keyframes cutout-orbit-b{0%{transform:rotate(-35deg)rotate(0)}to{transform:rotate(-35deg)rotate(360deg)}}@keyframes cutout-core{50%{transform:scale(.72);box-shadow:0 0 0 8px #45beff29,0 0 34px #4ac6ff}}@keyframes cutout-shimmer{to{transform:translate(360%)}}@keyframes canvas-result-reveal{0%{opacity:0;transform:scale(.965)}to{opacity:1;transform:scale(1)}}@media (max-width:700px){.editor-app{height:100dvh;min-height:100dvh}.editor-app>.topbar{height:calc(56px + env(safe-area-inset-top));padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))}.editor-app .editor-heading{top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}.editor-app .top-submit{border-radius:18px;min-width:86px;height:35px;padding:0 13px;font-size:11px}.editor-app .canvas-stage{height:calc(100dvh - 72px - env(safe-area-inset-bottom));background:#000;min-height:0}.editor-app .canvas-stage canvas{width:auto;max-width:76vw;max-height:calc(100dvh - 190px - env(safe-area-inset-bottom));border:0;border-radius:0;box-shadow:0 10px 28px #0000004d}.editor-app .template-switcher{bottom:max(92px,calc(80px + env(safe-area-inset-bottom)));gap:10px;height:44px;padding:0 8px}.editor-app .template-switcher button{width:32px;height:32px}.editor-app .template-switcher output{font-size:12px}.editor-app .editor-bottom-actions{height:calc(72px + env(safe-area-inset-bottom));padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#1a1a1a;border-top:1px solid #373737;grid-template-columns:repeat(3,1fr);gap:3px;display:grid;bottom:0;left:0;right:0;transform:none}.editor-app .editor-bottom-actions button{gap:5px;min-width:0;font-size:9px}.cutout-processing-backdrop{padding:calc(18px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.cutout-processing-dialog{border-radius:22px;padding:22px 18px 19px}}html,#root{width:100%;min-width:0}html,body{overflow-x:hidden}.order-gate,.reference-setup{min-height:100svh;overflow-x:hidden}.gate-main{width:min(1120px,100% - 48px)}@media (min-width:701px) and (max-width:1100px){.gate-nav{padding:0 24px}.gate-main{grid-template-columns:1fr;align-items:start;gap:30px;width:min(680px,100% - 48px);padding:52px 0 62px}.gate-copy{max-width:620px;padding-left:0}.gate-copy h1{font-size:max(36px,min(6vw,48px))}.order-card{justify-self:center;width:min(410px,100%)}.gate-footer{width:min(680px,100% - 48px)}}@media (max-width:700px){.gate-nav{height:64px;min-height:64px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.gate-main{align-items:start;gap:26px;width:100%;min-height:0;margin:0;padding:36px 18px 52px}.gate-copy{margin:0;padding:0}.gate-copy h1{font-size:max(32px,min(9vw,40px));line-height:1.12}.gate-copy>p:last-child{font-size:13px;line-height:1.7}.order-card{justify-self:center;width:100%;max-width:410px;padding:26px 22px 24px}.gate-footer{width:100%;padding:0 18px max(20px,env(safe-area-inset-bottom))}.reference-upload-main{width:100%;min-height:100svh}}@media (max-width:360px){.gate-main{gap:22px;padding:30px 16px 44px}.gate-copy h1{font-size:31px}.order-card{padding:22px 18px 20px}.order-card h2{font-size:22px}}@media (max-width:760px){.editor-app{height:100svh;min-height:100svh}.editor-app .canvas-stage{height:calc(100svh - 72px - env(safe-area-inset-bottom));min-height:0}.editor-app .canvas-stage canvas{width:auto;max-width:76vw;max-height:calc(100svh - 190px - env(safe-area-inset-bottom))}.editor-app .template-switcher{bottom:max(92px,calc(80px + env(safe-area-inset-bottom)))}.editor-app .editor-bottom-actions{height:calc(72px + env(safe-area-inset-bottom));padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#1a1a1a;border-top:1px solid #373737;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;display:grid;bottom:0;left:0;right:0;transform:none}.editor-app .editor-bottom-actions button{gap:5px;min-width:0;font-size:9px}}.reference-order-back,.editor-order-back{white-space:nowrap;border:1px solid #fff3;border-radius:4px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:11px;font-weight:700;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.reference-order-back{z-index:4;color:#fffdf8;background:#1c1c1cc7;position:absolute;top:22px;left:24px}.reference-order-back:hover{background:#303030;border-color:#ffffff61;transform:translateY(-1px)}.editor-order-back{z-index:31;color:#fff;background:#1e1e1ed1;border-color:#fff3;position:fixed;top:13px;left:24px}.editor-order-back:hover{background:#333;border-color:#ffffff61;transform:translateY(-1px)}.reference-order-back:focus-visible{outline-offset:2px;outline:2px solid #d9bf92}.editor-order-back:focus-visible{outline-offset:2px;outline:2px solid #d9bf92}@media (max-width:700px){.reference-order-back{top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));height:35px;padding:0 11px;font-size:10px}.editor-order-back{top:max(10px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));border-radius:18px;height:35px;padding:0 11px;font-size:10px}}@media (max-width:360px){.reference-order-back,.editor-order-back{gap:5px;padding:0 9px;font-size:9px}}@media (max-width:700px){.order-input input{font-size:16px}}@media (hover:none) and (pointer:coarse) and (min-width:701px){.gate-main{grid-template-columns:1fr;align-items:start;gap:30px;width:min(680px,100% - 48px);padding:52px 0 62px}.gate-copy{max-width:620px;padding-left:0}.gate-copy h1{font-size:max(36px,min(6vw,48px))}.order-card{justify-self:center;width:min(410px,100%)}.gate-footer{width:min(680px,100% - 48px)}.editor-app .editor-bottom-actions{background:#1a1a1a;border-top:1px solid #373737;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;height:72px;padding:8px 12px;display:grid;bottom:0;left:0;right:0;transform:none}.editor-app .editor-bottom-actions button{gap:5px;min-width:0;font-size:9px}}@media (max-width:700px){html,body,#root{height:auto;min-height:100%}body{-webkit-overflow-scrolling:touch;overscroll-behavior-x:none;overflow-y:auto}.order-gate{height:auto;min-height:100svh;overflow:visible}.gate-main{height:auto;min-height:0}.gate-footer{flex:none;position:static}.reference-setup{height:auto;min-height:100svh;overflow:visible}.reference-upload-main{height:auto;min-height:100svh;padding-top:calc(76px + env(safe-area-inset-top));padding-bottom:calc(32px + env(safe-area-inset-bottom));place-items:start center}.reference-upload-card,.reference-upload-grid{max-height:none;overflow:visible}}.editor-app .canvas-stage canvas{max-width:min(600px,100vw - 40px);max-height:min(600px,100dvh - 150px);box-shadow:none}.canvas-result-reveal{animation:none}.cutout-processing-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#00000080;animation:.25s both reference-loading-fade}.cutout-processing-dialog{box-sizing:border-box;width:112px;min-height:112px;box-shadow:none;color:#fff;background:#111111b3;border:0;border-radius:5px;flex-direction:column;justify-content:flex-start;align-items:center;padding:15px 10px;animation:none;display:flex}.reference-loading-spinner{background:0 0;border:3px solid #ffffff40;border-top-color:#fff;border-radius:50%;flex:0 0 20px;width:20px;height:20px;margin:0 0 10px;animation:1s linear infinite reference-loading-spin}.cutout-processing-dialog>strong{color:#fff;text-align:center;margin:0;font-size:14px;font-weight:400;line-height:20px;display:block}@keyframes reference-loading-fade{0%{opacity:0}to{opacity:1}}@keyframes reference-loading-spin{to{transform:rotate(360deg)}}@media (max-width:700px){.editor-app .canvas-stage canvas{max-width:calc(100vw - 40px);max-height:calc(100dvh - 150px)}}.editor-app .canvas-stage canvas{transform-origin:50%;max-width:min(600px,88vw);max-height:min(600px,78vh);transform:scale(1.1)}@media (max-width:700px){.editor-app .canvas-stage canvas{max-width:88vw;max-height:calc(100svh - 150px);transform:scale(1.1)}.editor-app .template-switcher button:hover:not(:disabled),.editor-app .template-switcher button:active,.editor-app .template-switcher button:focus{color:#d8d4ca;box-shadow:none;background:0 0;outline:none}}.editor-app .template-switcher{box-sizing:border-box;justify-content:center;align-items:center;gap:14px;width:158px;height:48px;padding:0 10px;line-height:1}.editor-app .template-switcher button{box-sizing:border-box;-webkit-tap-highlight-color:transparent;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;margin:0;padding:0;line-height:1}.editor-app .template-switcher output{box-sizing:border-box;flex:0 0 42px;width:42px;min-width:42px;height:16px;line-height:16px}@media (max-width:700px){.editor-app .template-switcher{width:158px;height:48px;bottom:max(92px,calc(80px + env(safe-area-inset-bottom) + 11px));gap:14px;padding:0 10px}.editor-app .template-switcher button{flex-basis:34px;width:34px;height:34px}}.cutout-processing-backdrop{-webkit-backdrop-filter:blur(10px)saturate(.82);background:linear-gradient(112deg,#00222b94,#06081dc7);animation:.22s both reference-loading-fade}.cutout-processing-dialog{box-sizing:border-box;color:#fff;text-align:center;background:#050c1dc7;border:1px solid #92c5ff29;border-radius:24px;flex-direction:column;justify-content:flex-start;align-items:stretch;width:min(360px,100vw - 48px);min-height:238px;padding:24px 20px 22px;animation:.28s cubic-bezier(.2,.8,.2,1) both reference-loading-panel-in;display:flex;box-shadow:0 24px 72px #00000057,0 0 36px #3780ff1f}.cutout-processing-orb{place-items:center;width:82px;height:82px;margin:0 auto 12px;display:grid;position:relative}.cutout-processing-orb:before{content:"";border:1px dashed #66cdffb8;border-radius:50%;animation:5s linear infinite reference-loading-orbit;position:absolute;top:10px;bottom:10px;left:10px;right:10px}.cutout-processing-orb:after{content:"";transform-origin:4px 26px;background:#dd7cff;border-radius:50%;width:8px;height:8px;animation:2.4s linear infinite reference-loading-orbit-dot;position:absolute;top:15px;left:calc(50% - 4px);box-shadow:0 0 10px #dd7cfff2}.cutout-pulse-ring{border:1px solid #4cc1ff6b;border-radius:50%;animation:2.2s ease-out infinite reference-loading-pulse;position:absolute;top:7px;bottom:7px;left:7px;right:7px}.cutout-pulse-ring-two{animation-delay:1.1s}.cutout-orbit{opacity:.66;border:1px solid #89dbffb3;border-radius:50%;width:62px;height:62px;position:absolute}.cutout-orbit-a{animation:2.2s linear infinite reference-loading-orbit}.cutout-orbit-b{border-style:dotted;animation:3.2s linear infinite reverse reference-loading-orbit}.cutout-core-dot{background:#43c8ff;border-radius:50%;width:16px;height:16px;animation:1.35s ease-in-out infinite reference-loading-core;box-shadow:0 0 0 5px #43c8ff29,0 0 24px #43c8fff2}.cutout-processing-copy{display:block}.cutout-processing-summary{color:#b9dbffd1;letter-spacing:.01em;margin:0 0 5px;font-size:12px;line-height:18px;display:block}.cutout-processing-copy strong{color:#fff;font-size:17px;font-weight:650;line-height:23px;display:block}.cutout-processing-percent{color:#8ad9ff;font-variant-numeric:tabular-nums;margin-top:3px;font-size:13px;line-height:19px;display:block}.cutout-progress-bar{background:#ffffff2b;border-radius:999px;height:10px;margin-top:17px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #0000003d}.cutout-progress-fill{z-index:1;border-radius:inherit;background:linear-gradient(90deg,#3bd9ff 0%,#4e9dff 55%,#bd7bff 100%);height:100%;transition:width .32s cubic-bezier(.2,.8,.2,1);display:block;position:relative;box-shadow:0 0 14px #48b4ffc7}.cutout-progress-shimmer{z-index:2;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff9e,#0000);width:38%;animation:1.7s ease-in-out infinite reference-loading-shimmer;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-150%)}@keyframes reference-loading-panel-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes reference-loading-pulse{0%{opacity:.85;transform:scale(.55)}70%,to{opacity:0;transform:scale(1.18)}}@keyframes reference-loading-orbit{to{transform:rotate(360deg)}}@keyframes reference-loading-orbit-dot{to{transform:rotate(360deg)}}@keyframes reference-loading-core{50%{transform:scale(.72);box-shadow:0 0 0 8px #43c8ff1f,0 0 32px #43c8ff}}@keyframes reference-loading-shimmer{to{transform:translate(360%)}}@media (max-width:700px){.cutout-processing-backdrop{padding:18px max(18px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.cutout-processing-dialog{border-radius:22px;width:min(360px,100vw - 36px);min-height:224px;padding:21px 17px 19px}.cutout-processing-orb{width:76px;height:76px;margin-bottom:10px}.cutout-processing-copy strong{font-size:16px}}.reference-setup{color:#f5f7fb;background:#050505}.reference-upload-main{box-sizing:border-box;background:#050505;min-height:100vh;padding:64px 20px 106px}.reference-upload-card{width:min(400px,100vw - 40px);box-shadow:none;color:#263043;background:linear-gradient(#d6e8ff 0%,#f0f7ff 40%,#fff 100%);border:0;border-radius:14px;padding:24px}.reference-upload-title h1{color:#182235;font-size:20px;line-height:1.3}.reference-upload-title h1 small{color:#647085;font-size:12px}.reference-upload-hint{color:#687387;background:#f5faff94;border:1px solid #96c2ff2e;border-radius:8px;margin:16px 0 18px;padding:10px;font-size:11px;line-height:1.55}.reference-upload-hint svg{color:#2979ff}.reference-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-height:50vh;padding:2px}.reference-upload-tile,.reference-add-tile{background:#fff6;border:1px solid #c8dcf8;border-radius:10px}.reference-upload-tile img{background:#eaf3ff}.reference-upload-tile>span{background:#223047b3;padding:6px 5px;font-size:10px}.reference-remove{opacity:1;color:#fff;background:#283446c2}.reference-remove:hover{background:#276bce}.reference-add-tile{color:#4f8aff;background:0 0;border:2px dashed #a5c6ff}.reference-add-tile:hover{background:#edf5ff;border-color:#4f8aff}.reference-add-tile>span{font-size:12px;font-weight:500}.reference-add-tile small{color:#4f8aff;font-size:10px}.reference-auto-cutout,.upload-auto-cutout{color:#4b5568;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-height:24px;font-size:14px;line-height:20px;display:flex}.reference-auto-cutout{margin-top:20px}.reference-auto-cutout input,.upload-auto-cutout input{accent-color:#4f8aff;width:20px;height:20px;margin:0}.reference-start{color:#c2c2c2;background:#f5f5f5;border-radius:24px;height:46px;margin-top:16px;font-size:16px;font-weight:700}.reference-start:not(:disabled){color:#fff;background:#2f7bff}.reference-start:not(:disabled):hover{background:#236de9;transform:none}.reference-start small{font-size:12px}.reference-submit{color:#8eaff0;background:#2f7bff;border:0;border-radius:18px;min-width:88px;height:34px;padding:0 15px;font-size:12px;top:17px;right:13px}.reference-submit:not(:disabled){color:#fff;background:#2f7bff}.reference-submit:not(:disabled):hover{background:#236de9;transform:none}.reference-bottom-actions{box-sizing:border-box;background:#1a1a1a;border-top:1px solid #1f2937;gap:40px;width:100%;height:80px;padding:0 24px 10px;bottom:0;left:0;right:0;transform:none}.reference-bottom-actions button{color:#fff;gap:5px;min-width:74px;padding:4px 9px;font-size:10px}.reference-bottom-actions button:disabled{color:#6c7480;opacity:1}.reference-bottom-actions svg{stroke-width:1.6px}.upload-modal-backdrop{-webkit-backdrop-filter:blur(3px);background:#000000b8}.upload-modal{width:min(400px,100vw - 40px);max-height:min(700px,88vh);box-shadow:none;background:linear-gradient(#d6e8ff 0%,#f0f7ff 40%,#fff 100%);border:0;border-radius:14px;padding:24px}.upload-modal-head{margin-bottom:16px}.upload-modal-head h2{color:#182235;font-size:20px}.upload-modal-head h2 small{color:#647085;font-size:12px}.upload-modal-head p{color:#687387;background:#f5faff94;border:1px solid #96c2ff2e;border-radius:8px;margin:16px 0 0;padding:10px;font-size:11px;line-height:1.55}.modal-close{color:#647085;background:#ffffff94;border-radius:8px;width:30px;height:30px}.upload-modal-grid{gap:16px;max-height:50vh;padding:2px}.upload-modal-tile{color:#4b5568;background:#fff6;border:1px solid #c8dcf8;border-radius:10px}.upload-modal-tile img{background:#eaf3ff}.upload-modal-tile.selected{outline-offset:1px;outline:2px solid #4f8aff}.upload-modal-add{color:#4f8aff;background:0 0;border:2px dashed #a5c6ff}.upload-modal-add>span:not(.upload-modal-check){color:#4f8aff;font-size:12px}.upload-modal-add small{color:#4f8aff;font-size:10px}.upload-modal-check{background:#4f8aff}.upload-modal-remove{color:#fff;background:#283446c2}.upload-modal-remove:hover{background:#276bce;transform:none}.upload-auto-cutout{margin-top:20px}.upload-modal-foot{margin-top:16px}.upload-modal-foot>span{color:#687387;font-size:12px}.upload-modal-foot .primary-button{color:#fff;background:#2f7bff;border-radius:24px;min-width:160px;height:46px;font-size:16px}.upload-modal-foot .primary-button:disabled{color:#c2c2c2;background:#f5f5f5}.modal-notice{color:#a15d50;background:#fff0eb;border:1px solid #f2d1c6}.low-quality-backdrop{z-index:1200;-webkit-backdrop-filter:blur(3px);background:#00000094;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.low-quality-dialog{box-sizing:border-box;color:#263043;background:#fff;border-radius:14px;width:min(340px,100vw - 36px);padding:18px 16px 16px;box-shadow:0 24px 70px #0000004d}.low-quality-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.low-quality-head h2{color:#263043;margin:0;font-size:17px;line-height:24px}.low-quality-head button{color:#8a94a3;background:#f3f5f8;border:0;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;display:grid}.low-quality-dialog>p{color:#7b8492;margin:12px 0 14px;font-size:12px;line-height:1.65}.low-quality-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:300px;display:grid;overflow:auto}.low-quality-grid figure{text-align:center;background:#fff1f0;border-radius:8px;min-width:0;margin:0;padding:6px 6px 8px}.low-quality-grid img{object-fit:contain;background:#f3f5f8;border-radius:4px;width:100%;height:126px;display:block}.low-quality-grid figcaption{color:#ef5b5b;margin-top:6px;font-size:11px;line-height:16px}.low-quality-grid figcaption small{font-size:10px;display:block}.editor-app .top-submit{color:#fff;background:#2f7bff;border:0;border-radius:18px;min-width:88px;height:34px;padding:0 15px;font-size:12px}.editor-app .top-submit:hover:not(:disabled){background:#236de9}.editor-app .top-submit:disabled{color:#6d8ec8;opacity:1;background:#173d78}@media (max-width:700px){.reference-upload-main{min-height:100dvh;padding:76px 20px calc(100px + env(safe-area-inset-bottom));place-items:center}.reference-upload-card{width:min(400px,100vw - 40px);padding:24px}.reference-upload-title h1{font-size:20px}.reference-upload-title h1 small{font-size:12px}.reference-upload-hint{margin:16px 0 18px;font-size:11px}.reference-upload-grid{gap:16px;max-height:50vh}.reference-start{height:46px;font-size:16px}.reference-bottom-actions{height:80px;padding-bottom:calc(10px + env(safe-area-inset-bottom));gap:22px}.reference-bottom-actions button{min-width:66px;font-size:9px}.upload-modal{width:min(400px,100vw - 40px);padding:24px}}.reference-order-gate{color:#263043;background:#050505;height:100vh;min-height:100vh;overflow:hidden}.reference-order-main{box-sizing:border-box;background:#050505;place-items:center;min-height:100%;padding:32px 20px;display:grid}.reference-order-card{box-sizing:border-box;color:#263043;background:linear-gradient(#d6e8ff 0%,#f0f7ff 40%,#fff 100%);border:0;border-radius:14px;width:min(400px,100vw - 40px);padding:24px}.reference-order-title h1{color:#182235;margin:0;font-size:22px;font-weight:700;line-height:1.3}.reference-order-hint{color:#687387;background:#f5faff94;border:1px solid #96c2ff2e;border-radius:8px;align-items:flex-start;gap:7px;margin:16px 0 20px;padding:10px;font-size:11px;line-height:1.55;display:flex}.reference-order-hint svg{color:#2979ff;flex:none;margin-top:1px}.reference-order-card label{color:#4b5568;margin-bottom:8px;font-size:12px;display:block}.reference-order-input{box-sizing:border-box;color:#8a97aa;background:#ffffffbd;border:1px solid #bcd5f5;border-radius:8px;align-items:center;gap:10px;height:48px;padding:0 14px;display:flex}.reference-order-input:focus-within{border-color:#4f8aff;box-shadow:0 0 0 3px #4f8aff24}.reference-order-input input{color:#263043;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:14px}.reference-order-input input::placeholder{color:#a5afbd}.reference-order-submit{color:#fff;background:#2f7bff;border:0;border-radius:24px;justify-content:center;align-items:center;gap:8px;width:100%;height:46px;margin-top:16px;font-size:16px;font-weight:700;display:flex}.reference-order-submit:not(:disabled):hover{background:#236de9}.reference-order-submit:disabled{color:#c2c2c2;opacity:1;background:#f5f5f5}.reference-order-note{color:#8b96a7;align-items:center;gap:6px;margin-top:16px;font-size:10px;display:flex}.reference-order-footer{text-align:center;color:#687387;pointer-events:none;font-size:10px;position:fixed;bottom:16px;left:0;right:0}@media (max-width:700px){.reference-order-main{min-height:100dvh;padding:20px}.reference-order-card{width:min(400px,100vw - 40px);padding:24px}.reference-order-footer{bottom:calc(12px + env(safe-area-inset-bottom))}}
