@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/65c558afe41e89d6-s.e2c8389a.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/14e23f9b59180572-s.9c448f3c.woff2)format("woff2");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:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/b49b0d9b851e4899-s.4f3fa681.woff2)format("woff2");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:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/2a65768255d6b625-s.p.d19752fb.woff2)format("woff2");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:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_685f2721-module__gDAZiq__className{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.playfair_display_685f2721-module__gDAZiq__variable{--font-display:"Playfair Display","Playfair Display Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");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:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_fd62f040-module__0jgVUW__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_fd62f040-module__0jgVUW__variable{--font-body:"DM Sans","DM Sans Fallback"}
:root{--linen:#f6f1eb;--cream:#eee7dd;--espresso:#2a1f19;--espresso-light:#5f524c;--rose:#cd6e7e;--rose-soft:#f2bec5;--rose-wash:#f8e6e8;--petal:#f4d4e2;--warm-gray:#b3ada8;--warm-gray-light:#dcd6d2;--shadow-sm:0 1px 3px #2a1f190f;--shadow-md:0 4px 16px #2a1f1914;--shadow-lg:0 8px 32px #2a1f191a;--radius:6px;--radius-lg:12px;--page-inline:clamp(1.5rem,12vw,10rem)}@supports (color:lab(0% 0 0)){:root{--linen:lab(95.377% .869095 3.70333);--cream:lab(91.9042% 1.32829 5.57143);--espresso:lab(12.9043% 4.59094 6.11705);--espresso-light:lab(36.111% 4.46349 5.99502);--rose:lab(58.0143% 39.3578 8.69246);--rose-soft:lab(81.9108% 19.8439 4.22317);--rose-wash:lab(92.8108% 6.64127 1.39225);--petal:lab(87.8673% 13.245 -2.50752);--warm-gray:lab(70.9814% 1.692 3.33275);--warm-gray-light:lab(86.0655% 1.34522 2.66081);--shadow-sm:0 1px 3px lab(12.9043% 4.59094 6.11705/.06);--shadow-md:0 4px 16px lab(12.9043% 4.59094 6.11705/.08);--shadow-lg:0 8px 32px lab(12.9043% 4.59094 6.11705/.1)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--linen);color:var(--espresso);-webkit-font-smoothing:antialiased;min-height:100dvh}.page{grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.page:has(.workspace){height:100dvh;overflow:hidden}.page:has(.workspace) footer{display:none}header{padding:clamp(1.5rem,4vw,3rem)var(--page-inline);align-items:baseline;gap:1rem;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:-.01em;color:var(--espresso);font-size:clamp(1.4rem,2.5vw,1.8rem);font-weight:400;text-decoration:none}.wordmark em{color:var(--rose);font-style:italic}.upload-view{padding:2rem var(--page-inline);align-items:center;display:flex}.upload-content{text-align:start;max-width:520px}.upload-content h1{font-family:var(--font-display);letter-spacing:-.02em;margin-block-end:1rem;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:400;line-height:1.15}.upload-content h1 em{color:var(--rose);font-style:italic}.upload-content .subtitle{color:var(--espresso-light);max-width:42ch;margin-block-end:2.5rem;font-size:clamp(.9rem,1.5vw,1.05rem);font-weight:300;line-height:1.6}.upload-zone{border:1.5px dashed var(--warm-gray-light);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:var(--cream);padding:2.5rem 2rem;transition:border-color .3s,background .3s,transform .2s}.upload-zone:hover{border-color:var(--rose);background:var(--rose-wash);transform:scale(1.01)}.upload-zone.drag-over{border-color:var(--rose);background:var(--rose-wash);transform:scale(1.02)}.upload-zone input{display:none}.upload-zone .drop-icon{color:var(--warm-gray-light);margin:0 auto 1rem;transition:color .3s;display:block}.upload-zone:hover .drop-icon{color:var(--rose-soft)}.upload-zone .drop-label{color:var(--espresso-light);font-size:.9rem;font-weight:300}.upload-zone .drop-label span{color:var(--rose);text-underline-offset:3px;cursor:pointer;font-weight:500;-webkit-text-decoration:underline #cd6e7e66;text-decoration:underline #cd6e7e66;-webkit-text-decoration:underline lab(58.0143% 39.3578 8.69246/.4);text-decoration:underline lab(58.0143% 39.3578 8.69246/.4);transition:text-decoration-color .2s}.upload-zone .drop-label span:hover{-webkit-text-decoration-color:var(--rose);text-decoration-color:var(--rose)}.upload-zone .drop-hint{color:var(--warm-gray);margin-block-start:.5rem;font-size:.75rem}.workspace{min-height:0;overflow:hidden}.canvas-area{justify-content:center;align-items:center;height:100%;padding:1rem 1rem 5rem;display:flex;position:relative;overflow:hidden}.canvas-wrap{cursor:crosshair;border-radius:var(--radius);display:inline-block;position:relative;overflow:hidden}.canvas-wrap canvas{max-width:88vw;max-height:calc(100dvh - 180px);display:block}.mask-canvas{position:absolute;inset:0}.toolbar-dock{z-index:50;justify-content:center;gap:.5rem;padding:.75rem 1rem 1.25rem;display:flex;position:fixed;inset-block-end:0;inset-inline:0}.toolbar{background:var(--cream);border:1px solid var(--warm-gray-light);box-shadow:var(--shadow-sm);border-radius:100px;align-items:center;gap:0;padding:.3rem .5rem;display:flex}.toolbar-secondary{background:var(--cream);border:1px solid var(--warm-gray-light);box-shadow:var(--shadow-sm);border-radius:100px;align-items:center;gap:.25rem;padding:.3rem .4rem;display:flex}.tool-group{align-items:center;gap:.35rem;padding:0 .65rem;display:flex}.tool-group+.tool-group{border-inline-start:1px solid var(--warm-gray-light)}.toolbar-secondary .tool-group{padding:0 .35rem}.toolbar-secondary .tool-group+.tool-group{border-inline-start:none}.toolbar label{color:var(--warm-gray);text-transform:uppercase;letter-spacing:.08em;-webkit-user-select:none;user-select:none;font-size:.7rem;font-weight:500}.toolbar input[type=range]{appearance:none;background:var(--warm-gray-light);cursor:pointer;border-radius:2px;outline:none;width:80px;height:4px}.toolbar input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--rose);border:2px solid var(--cream);cursor:pointer;border-radius:50%;width:14px;height:14px;transition:transform .15s;box-shadow:0 1px 4px #2a1f1926;box-shadow:0 1px 4px lab(12.9043% 4.59094 6.11705/.15)}.toolbar input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.toolbar input[type=range]::-moz-range-thumb{background:var(--rose);border:2px solid var(--cream);cursor:pointer;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #2a1f1926;box-shadow:0 1px 4px lab(12.9043% 4.59094 6.11705/.15)}.toolbar .value{text-align:center;min-width:2.2ch;color:var(--espresso-light);font-variant-numeric:tabular-nums;font-size:.7rem}.btn{font-family:var(--font-body);color:var(--espresso-light);cursor:pointer;letter-spacing:.02em;white-space:nowrap;background:0 0;border:none;border-radius:100px;padding:.4rem .7rem;font-size:.75rem;font-weight:500;transition:background .2s,color .2s,opacity .2s}.btn:hover{background:var(--warm-gray-light);color:var(--espresso)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.35;cursor:default;pointer-events:none}.btn-primary{background:var(--rose);color:var(--linen);padding:.5rem 1.1rem;font-size:.8rem;font-weight:500}.btn-primary:hover{color:var(--linen);background:#bd5167;background:lab(49.6591% 45.7465 10.3068)}.btn-primary.processing{opacity:.7;pointer-events:none}.brush-cursor{pointer-events:none;z-index:100;mix-blend-mode:multiply;border:1.5px solid #cd6e7e99;border:1.5px solid lab(58.0143% 39.3578 8.69246/.6);border-radius:50%;display:none;position:fixed;transform:translate(-50%,-50%)}.hint{font-size:.85rem;font-family:var(--font-display);color:var(--espresso-light);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;pointer-events:none;opacity:1;background:#f6f1ebd9;background:lab(95.377% .869095 3.70333/.85);border-radius:100px;padding:.6rem 1.4rem;font-style:italic;transition:opacity .5s;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.hint.hidden{opacity:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.upload-content h1{animation:.6s both fadeUp}.upload-content .subtitle{animation:.6s 80ms both fadeUp}.upload-content .upload-zone{animation:.6s .16s both fadeUp}.upload-content .privacy-badge{animation:.6s .24s both fadeUp}.privacy-badge{color:var(--warm-gray);align-items:center;gap:.5rem;margin-block-start:1.25rem;font-size:.8rem;font-weight:300;display:flex}@media (max-width:640px){:root{--page-inline:1.25rem}header{padding:1rem var(--page-inline)}.toolbar-dock{flex-wrap:wrap;justify-content:center;gap:.35rem;padding:.5rem .5rem 1rem}.toolbar{border-radius:var(--radius-lg);gap:.15rem;max-width:100%;padding:.35rem}.toolbar-secondary{border-radius:var(--radius-lg);padding:.35rem}.tool-group{padding:0 .3rem}.tool-group+.tool-group{border-inline-start:none}.toolbar input[type=range]{width:44px}.toolbar label{letter-spacing:.04em;font-size:.6rem}.toolbar .value{font-size:.6rem}.btn{padding:.35rem .55rem;font-size:.7rem}.btn-primary{padding:.45rem .9rem;font-size:.75rem}.workspace{height:calc(100dvh - 36px)}.canvas-area{align-items:flex-start;padding-block:.5rem 0}.canvas-wrap canvas{max-width:96vw;max-height:calc(100dvh - 180px)}.hint{padding:.5rem 1rem;font-size:.75rem}}footer{padding:2rem var(--page-inline);text-align:center;font-size:.8rem}footer a{color:var(--warm-gray);text-decoration:none;transition:color .2s}footer a:hover{color:var(--rose)}.footer-sep{background:var(--warm-gray);vertical-align:middle;border-radius:50%;width:3px;height:3px;margin-inline:.75rem;display:inline-block}.privacy{padding:0 var(--page-inline)4rem;max-width:680px;line-height:1.7}.privacy h1{font-family:var(--font-display);letter-spacing:-.02em;margin-block-end:.25rem;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:400}.privacy h2{font-family:var(--font-display);margin-block:2.5rem .75rem;font-size:1.15rem;font-weight:400}.privacy p{color:var(--espresso-light);margin-block-end:.75rem;font-size:.9rem}.privacy strong{color:var(--espresso);font-weight:500}.privacy hr{border:none;border-block-start:1px solid var(--warm-gray-light);margin-block:2rem}.privacy ul{margin-block-end:.75rem;padding-inline-start:0;list-style:none}.privacy ul li{color:var(--espresso-light);margin-block-end:.35rem;padding-inline-start:1.25rem;font-size:.9rem;position:relative}.privacy ul li:before{content:"—";color:var(--warm-gray);position:absolute;inset-inline-start:0}.privacy a{color:var(--rose);text-underline-offset:3px;-webkit-text-decoration:underline #cd6e7e66;text-decoration:underline #cd6e7e66;-webkit-text-decoration:underline lab(58.0143% 39.3578 8.69246/.4);text-decoration:underline lab(58.0143% 39.3578 8.69246/.4);transition:text-decoration-color .2s}.privacy a:hover{-webkit-text-decoration-color:var(--rose);text-decoration-color:var(--rose)}.privacy em{color:var(--warm-gray);font-size:.85rem;font-style:italic}
