@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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:Geist Mono;src:url(./GeistMono-Variable-Dispecij.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Season VF TRIAL;src:local(Season VF TRIAL),url(/photogradient/fonts/SeasonVFTRIAL.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Season VF TRIAL;src:local(Season Serif TRIAL Medium),local(SeasonSerif-TRIAL-Medium),url(/photogradient/fonts/SeasonSerif-Medium.ttf)format("truetype");font-weight:560;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{margin:0}.cp-popover{z-index:80;background:#fff;border:1px solid #a49d9a59;border-radius:12px;width:240px;padding:12px;position:fixed;box-shadow:0 1px 2px #0b09070f,0 12px 32px #0b090724}.cp-panel{gap:12px;display:grid}.cp-sv{aspect-ratio:1;cursor:crosshair;touch-action:none;border-radius:8px;width:100%;position:relative;overflow:hidden}.cp-sv-white,.cp-sv-black{pointer-events:none;position:absolute;inset:0}.cp-sv-white{background:linear-gradient(90deg,#fff,#0000)}.cp-sv-black{background:linear-gradient(#0000,#000)}.cp-thumb{pointer-events:none;box-sizing:border-box;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0003,0 1px 3px #00000040}.cp-thumb-sv{z-index:2}.cp-controls{grid-template-columns:auto 1fr;align-items:center;gap:10px;display:grid}.cp-controls.no-eye{grid-template-columns:1fr}.cp-eyedropper{color:#0b0907;background:0 0;border:none;border-radius:6px;place-items:center;width:28px;height:28px;padding:0;display:grid}.cp-eyedropper:hover:not(:disabled){background:#0b09070f}.cp-eyedropper:disabled{opacity:.35;cursor:default}.cp-sliders{gap:10px;display:grid}.cp-slider{touch-action:none;cursor:pointer;border-radius:999px;height:12px;position:relative}.cp-hue{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.cp-alpha{background-color:#fff;background-image:linear-gradient(45deg,#d0d0d0 25%,#0000 25%),linear-gradient(-45deg,#d0d0d0 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#d0d0d0 75%),linear-gradient(-45deg,#0000 75%,#d0d0d0 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;overflow:hidden}.cp-alpha-fill{border-radius:inherit;pointer-events:none;position:absolute;inset:0}.cp-thumb-rail{z-index:1;width:16px;height:16px;top:50%}.cp-fields{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.cp-fields.no-alpha{grid-template-columns:auto 1fr}.cp-format{color:#363330;background:#f7f5f3;border:1px solid #e6e2df;border-radius:8px;align-items:center;gap:4px;height:32px;padding:0 8px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.cp-format span{opacity:.7;font-size:9px}.cp-hex,.cp-alpha-field input{color:#0b0907;letter-spacing:-.2px;background:#fff;border:1px solid #e6e2df;border-radius:8px;outline:none;height:32px;font-family:inherit;font-size:13px;font-weight:450}.cp-hex{text-transform:uppercase;width:100%;padding:0 10px}.cp-hex:focus,.cp-alpha-field input:focus{border-color:#0b0907}.cp-alpha-field{color:#363330;grid-template-columns:1fr auto;align-items:center;gap:4px;font-size:12px;display:grid}.cp-alpha-field input{text-align:right;width:48px;padding:0 6px}.cp-swatch{cursor:pointer;background-color:#fff;background-image:linear-gradient(var(--swatch-color,#ccc), var(--swatch-color,#ccc)), linear-gradient(45deg, #ddd 25%, transparent 25%), linear-gradient(-45deg, #ddd 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #ddd 75%), linear-gradient(-45deg, transparent 75%, #ddd 75%);background-position:0 0,0 0,0 4px,4px -4px,-4px 0;background-size:auto,8px 8px,8px 8px,8px 8px,8px 8px;border:1px solid #0000002e;border-radius:6px;flex-shrink:0;width:28px;height:28px;padding:0}.cp-swatch.inline{width:32px;height:32px}:root{--background:#fdfdfc;--web-text-header:#0b0907;--web-text-body:#363330;--web-text-decorative:#a49d9a;--font-header:"Season VF TRIAL", "Iowan Old Style", Georgia, serif;--font-body:"Inter Variable", Inter, system-ui, sans-serif;--font-accent:"Geist Mono", ui-monospace, monospace;--bg:var(--background);--panel:var(--background);--ink:var(--web-text-header);--body:var(--web-text-body);--muted:var(--web-text-decorative);--line:color-mix(in srgb, var(--web-text-decorative) 42%, transparent);--accent:var(--web-text-header);--stage:#fff;--shadow:0 18px 50px color-mix(in srgb, var(--web-text-header) 8%, transparent);font-family:var(--font-body);letter-spacing:-.25px;color:var(--body);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:14px;font-weight:390;line-height:22px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--background);min-height:100vh}button,input,select{font:inherit;color:inherit}button{cursor:pointer;font-family:var(--font-body);letter-spacing:-.25px;font-weight:425}.app{grid-template-columns:minmax(280px,340px) 1fr;gap:0;height:100vh;min-height:100vh;display:grid;overflow:hidden}.stage-wrap{background:var(--background);place-items:center;height:100%;min-height:0;padding:clamp(1.5rem,4vw,3rem);display:grid;overflow:auto}.stage{background:var(--stage);width:auto;max-width:none;height:auto;max-height:none;box-shadow:var(--shadow);touch-action:none;border-radius:18px;position:relative;overflow:hidden;container-type:size}.gradient-canvas{border-radius:18px;width:100%;height:100%;display:block}.text-preview{pointer-events:none;white-space:pre;letter-spacing:-.04em;text-shadow:0 2px 24px color-mix(in srgb, var(--web-text-header) 18%, transparent);position:absolute;transform:translate(-50%,-50%)}.colour-point-wrap{z-index:2;width:20px;height:20px;position:absolute;transform:translate(-50%,-50%)}.colour-point-wrap.dragging{z-index:3;scale:1.15}.colour-point{touch-action:none;cursor:grab;border:2px solid #fff;border-radius:50%;width:20px;height:20px;padding:0;position:absolute;inset:0;box-shadow:0 1px 4px #00000059}.colour-point-wrap.dragging .colour-point{cursor:grabbing}.slider-label.disabled{opacity:.45}body.is-dragging-node{cursor:grabbing;-webkit-user-select:none;user-select:none}body.is-dragging-node .gradient-canvas{pointer-events:none}.panel{background:var(--panel);border-right:1px solid var(--line);max-height:100vh;padding:20px 20px 32px;overflow-y:auto}.panel-brand h1{font-family:var(--font-header);letter-spacing:-1.5px;color:var(--web-text-header);margin:0;font-size:28px;font-weight:560;line-height:32px}.panel-brand p{color:var(--web-text-decorative);letter-spacing:-.25px;margin:4px 0 0;font-size:14px;font-weight:390;line-height:22px}section{border-top:1px solid var(--line);padding:20px 0}section h3{font-family:var(--font-accent);letter-spacing:-.5px;text-transform:uppercase;color:var(--web-text-decorative);margin:0 0 8px;font-size:10px;font-weight:350;line-height:14px}.section-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.section-head h3{margin:0}select,input[type=text],input[type=number],.hex{border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;width:100%;padding:.55rem .65rem}select.panel-select,select{appearance:none;cursor:pointer;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23a49d9a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;background-size:12px 8px;padding-right:2.35rem}select:focus,input:focus{border-color:var(--accent)}input[type=range]{width:100%;accent-color:var(--accent);margin:4px 0 0}.dims{grid-template-columns:1fr 1fr;gap:8px;display:grid}.dims label{font-family:var(--font-accent);letter-spacing:-.5px;text-transform:uppercase;color:var(--web-text-decorative);gap:4px;font-size:10px;font-weight:350;line-height:14px;display:grid}.presets{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.presets button,.secondary,.export-grid button,.photo-block button,.icon-row button{border:1px solid var(--line);letter-spacing:-.25px;background:#fff;border-radius:999px;padding:.35rem .7rem;font-size:14px;font-weight:425;line-height:22px}.presets button:hover,.secondary:hover,.export-grid button:hover,.photo-block button:hover,.icon-row button:hover{border-color:var(--accent)}.icon-row{gap:.25rem;display:flex}.icon-row button{place-items:center;width:28px;height:28px;padding:0;display:grid}.check{letter-spacing:-.25px;color:var(--web-text-body);align-items:center;gap:8px;margin:8px 0;font-size:14px;font-weight:390;line-height:22px;display:flex}.check.compact{margin:0;font-size:12px;line-height:18px}.colour-list{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.colour-list li{border-radius:8px;grid-template-columns:20px 28px 1fr 28px;align-items:center;gap:8px;transition:background-color .12s;display:grid}.colour-list li.drag-over{background:color-mix(in srgb, var(--web-text-header) 6%, transparent);outline:1px dashed var(--line);outline-offset:2px}.drag-handle{width:20px;height:28px;color:var(--web-text-decorative);letter-spacing:-2px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border:none;padding:0;font-size:12px;line-height:1}.drag-handle:active{cursor:grabbing}.swatch{border:1px solid #0000002e;border-radius:6px;flex-shrink:0;width:28px;height:28px;position:relative;overflow:hidden}.swatch input{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.upload-cta{border:1px solid var(--ink);background:var(--ink);width:100%;color:var(--background);letter-spacing:-.25px;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;margin-bottom:8px;padding:.7rem .85rem;font-size:14px;font-weight:425;line-height:22px;display:flex}.upload-cta input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upload-cta:hover{filter:brightness(1.08)}.view-tabs{grid-template-columns:1fr 1fr;gap:4px;margin:12px 0 0;display:grid}.panel-brand{margin-bottom:0;padding-bottom:20px}.view-tabs button{border:1px solid var(--line);letter-spacing:-.25px;background:#fff;border-radius:999px;padding:.4rem .6rem;font-size:14px;font-weight:425;line-height:22px}.view-tabs button.active{background:var(--ink);border-color:var(--ink);color:var(--background)}.save-row{grid-template-columns:1fr auto;gap:8px;margin-bottom:8px;display:grid}.secondary.tight{white-space:nowrap;width:auto;margin:0;padding:.55rem .75rem}.recipe-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.recipe-list li{grid-template-columns:1fr 28px;align-items:center;gap:4px;display:grid}.recipe-load{text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;padding:8px 12px;display:grid}.recipe-load strong{letter-spacing:-.25px;color:var(--web-text-header);font-size:14px;font-weight:490;line-height:22px}.recipe-load span{font-family:var(--font-accent);letter-spacing:-.5px;color:var(--web-text-decorative);font-size:10px;font-weight:350;line-height:14px}.stage-wrap.gallery-mode{place-items:start stretch;padding:clamp(1.25rem,3vw,2rem)}.gallery{width:min(100%,980px);margin:0 auto}.gallery-head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.gallery-head h2{font-family:var(--font-header);letter-spacing:-1.5px;color:var(--web-text-header);margin:0;font-size:36px;font-weight:560;line-height:40px}.gallery-head p{color:var(--web-text-body);letter-spacing:-.25px;margin:.25rem 0 1.25rem;font-size:15px;font-weight:390;line-height:24px}.gallery-create{border:1px solid var(--ink);background:var(--ink);color:var(--background);font-family:var(--font-body);letter-spacing:-.25px;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:425;line-height:22px}.gallery-create:hover{filter:brightness(1.08)}.gallery-empty{color:var(--web-text-decorative);border:1px dashed var(--line);text-align:center;background:color-mix(in srgb, var(--background) 80%, #fff);border-radius:14px;justify-items:center;gap:16px;padding:2rem;display:grid}.gallery-empty p{margin:0}.gallery-card-create{border:1px dashed var(--line);background:color-mix(in srgb, var(--background) 80%, #fff);min-height:220px;box-shadow:none;cursor:pointer;font-family:var(--font-body);letter-spacing:-.25px;color:var(--web-text-body);border-radius:14px;place-content:center;gap:8px;padding:16px;font-size:14px;font-weight:425;line-height:22px;display:grid}.gallery-card-create:hover{border-color:var(--accent);color:var(--web-text-header)}.gallery-create-plus{color:var(--web-text-decorative);font-size:28px;line-height:1}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem;display:grid}.gallery-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;overflow:hidden}.gallery-thumb{aspect-ratio:1;cursor:pointer;background:#ddd;border:none;width:100%;padding:0;display:block}.gallery-thumb img{object-fit:cover;width:100%;height:100%;display:block}.gallery-meta{justify-content:space-between;gap:.5rem;padding:.65rem .75rem;display:flex}.gallery-meta strong{letter-spacing:-.25px;color:var(--web-text-header);font-size:14px;font-weight:490;line-height:22px;display:block}.review-actions{grid-template-columns:1fr 1.4fr;gap:8px;margin-top:12px;display:grid}.review-actions .secondary{margin:0}.apply-cta{margin:0;position:relative}.review-stage{width:min(100%,820px);margin:0 auto}.review-head h2{font-family:var(--font-header);letter-spacing:-1.5px;color:var(--web-text-header);margin:0;font-size:36px;font-weight:560;line-height:40px}.review-head p{color:var(--web-text-body);letter-spacing:-.25px;margin:.25rem 0 1rem;font-size:15px;font-weight:390;line-height:24px}.review-photo{aspect-ratio:4/3;width:100%;box-shadow:var(--shadow);cursor:crosshair;touch-action:none;background-position:50%;background-size:cover;border-radius:18px;position:relative;overflow:hidden;container-type:inline-size}.review-panel{border-top:1px solid var(--line)}.hint{letter-spacing:-.25px;color:var(--web-text-decorative);margin:0 0 8px;font-size:14px;font-weight:390;line-height:22px}.upload-section{border-top:none;padding-top:20px}.ghost{color:var(--web-text-decorative);background:0 0;border:none;font-size:1.1rem}.ghost.confirm-delete{color:var(--web-text-header);font-weight:560}.photo-block{gap:8px;margin-bottom:8px;display:grid}.photo-preview{aspect-ratio:16/10;border:1px solid var(--line);background-position:50%;background-size:cover;border-radius:10px;width:100%}.photo-preview.picking{cursor:crosshair;outline:2px solid var(--accent);outline-offset:2px}.photo-block button.active{background:var(--accent);color:var(--background);border-color:var(--accent)}.row{gap:12px;margin-top:12px;display:grid}.row.tight{margin-top:12px}.stack{gap:12px;display:grid}.stack+.subhead,.check+.slider-label,.secondary+.stack,button.secondary+.stack,.stack+select{margin-top:12px}h3.subhead{font-family:var(--font-accent);letter-spacing:-.5px;text-transform:uppercase;color:var(--web-text-decorative);margin:20px 0 8px;font-size:10px;font-weight:350;line-height:14px}.slider-label{font-family:var(--font-accent);letter-spacing:-.5px;text-transform:uppercase;color:var(--web-text-decorative);gap:4px;font-size:10px;font-weight:350;line-height:14px;display:grid}.slider-label-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.slider-label-controls{align-items:center;gap:8px;display:flex}.inline-reset{border:1px solid var(--line);font-family:var(--font-body);letter-spacing:-.25px;color:var(--web-text-body);text-transform:none;white-space:nowrap;background:#fff;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:425;line-height:16px}.inline-reset:hover:not(:disabled){border-color:var(--accent)}.inline-reset:disabled{opacity:.4;cursor:default}.slider-label+.colour-list{margin-top:12px}input.slider-value[type=number]{border:1px solid var(--line);width:72px;font-family:var(--font-body);letter-spacing:-.25px;color:var(--web-text-body);text-align:right;text-transform:none;background:#fff;border-radius:6px;flex-shrink:0;margin:0;padding:4px 8px;font-size:12px;font-weight:390;line-height:16px}input.slider-value[type=number]:focus{border-color:var(--accent);outline:none}input.slider-value[type=number]:disabled{opacity:.45}input+.slider-label,button+.slider-label,.secondary+.slider-label,.slider-label+.slider-label{margin-top:12px}.field-label{font-family:var(--font-accent);letter-spacing:-.5px;text-transform:uppercase;color:var(--web-text-decorative);gap:4px;margin-top:12px;font-size:10px;font-weight:350;line-height:14px;display:grid}.field-label+.secondary,.field-label+button.secondary,.field-label+input[hidden]+.secondary,.field-label+input[hidden]+button.secondary,.secondary+.row,.secondary+.style-toggles,.style-toggles+.slider-label{margin-top:12px}.style-toggles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.style-toggles button{border:1px solid var(--line);height:36px;color:var(--web-text-body);font-family:var(--font-body);background:#fff;border-radius:8px;font-size:14px;font-weight:490;line-height:1}.style-toggles button em{font-style:italic;font-weight:490}.style-underline{text-underline-offset:2px;text-decoration:underline}.style-strike{text-decoration:line-through}.style-toggles button.active{background:var(--ink);border-color:var(--ink);color:var(--background)}.style-toggles button:hover{border-color:var(--accent)}.inline-color{letter-spacing:-.25px;color:var(--web-text-body);justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:14px;font-weight:390;line-height:22px;display:flex}.inline-color>span:first-child{font-family:var(--font-accent);letter-spacing:-.5px;text-transform:uppercase;color:var(--web-text-decorative);font-size:10px;font-weight:350;line-height:14px}.secondary{border-radius:8px;width:100%;margin-bottom:8px;padding:8px}.export-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.export-grid button{background:var(--ink);color:var(--background);border-color:var(--ink);letter-spacing:-.25px;border-radius:10px;padding:.7rem .5rem;font-size:14px;font-weight:425;line-height:22px}.export-grid button:disabled{opacity:.55;cursor:wait}.toast{background:var(--ink);color:var(--background);letter-spacing:-.25px;z-index:20;box-shadow:var(--shadow);border-radius:999px;padding:.65rem 1rem;font-size:14px;font-weight:425;line-height:22px;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}@media (width<=900px){.app{grid-template-columns:1fr;height:auto;overflow:visible}.panel{border-right:none;border-bottom:1px solid var(--line);max-height:none}.stage-wrap{height:auto;min-height:60vh}}
