/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}.rounded{border-radius:.25rem}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{--ink:#4a342d;--muted:#735f56;--cream:#f6e7d7;--paper:#fffaf0;--sage:#ad5745;--sage-dark:#8e4337;--peach:#d98a6d;--line:#e2c6b2;--accent-soft:#f5ddd0;--display-font:Georgia,"Times New Roman",serif;--ui-font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;touch-action:pan-x pan-y}body{background:var(--cream);color:var(--ink);font-family:var(--ui-font);margin:0;font-size:18px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{background:var(--cream);min-height:100vh;font-family:var(--ui-font)}.topbar{border-bottom:1px solid var(--line);background:#fffdf9eb;justify-content:space-between;align-items:center;height:78px;padding:0 clamp(24px,6vw,88px);display:flex}.brand{color:var(--ink);font-family:var(--display-font);align-items:center;gap:12px;font-size:25px;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--peach);border-radius:50%;place-items:center;width:36px;height:36px;font:17px Arial,sans-serif;display:grid}.save-note{color:var(--muted);font-size:15px}.workspace{background:var(--paper);border:1px solid var(--line);border-radius:28px;grid-template-columns:1.08fr .92fr;max-width:1240px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 24px 70px #3039341a}.workspace.workspace-single{grid-template-columns:1fr;max-width:780px}.workspace.wizard-workspace{grid-template-columns:1fr;width:calc(100% - 32px);max-width:900px;margin:28px auto;overflow:visible}.composer{padding:clamp(28px,4vw,52px)}.wizard-progress{margin-bottom:34px}.wizard-progress>p{color:var(--sage-dark);margin:0 0 12px;font-size:16px;font-weight:800}.wizard-progress ol{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid;position:relative}.wizard-progress ol:before{content:"";background:#d8dfdb;height:3px;position:absolute;top:20px;left:16%;right:16%}.wizard-progress li{z-index:1;color:#7a857f;text-align:center;flex-direction:column;align-items:center;gap:7px;display:flex;position:relative}.wizard-progress li>span{background:var(--paper);border:3px solid #d8dfdb;border-radius:50%;place-items:center;width:42px;height:42px;font-size:16px;font-weight:800;display:grid}.wizard-progress li>strong{font-size:15px}.wizard-progress li.current{color:var(--sage-dark)}.wizard-progress li.current>span{color:#fff;border-color:var(--sage);background:var(--sage)}.wizard-progress li.completed{color:var(--sage-dark)}.wizard-progress li.completed>span{color:#fff;background:#799689;border-color:#799689}.wizard-heading{margin-bottom:22px}.wizard-heading>span{color:var(--sage);margin-bottom:6px;font-size:15px;font-weight:800;display:block}.wizard-heading h2{margin:0 0 8px;font:700 28px Georgia,serif}.wizard-heading.result-view-hidden{display:none}.wizard-heading.result-view-hidden~.wizard-image-result{margin-top:72px}.wizard-heading p{color:var(--muted);margin:0;font-size:17px;line-height:1.5}.wizard-step-panel .quick-greetings{margin-left:0}.wizard-image-result{max-width:280px;margin:24px auto 0;scroll-margin-top:12px}.postcard.image-only{box-shadow:0 18px 38px #2a353033}.chosen-image-actions{margin-top:12px}.change-image-button{width:100%;min-height:48px;color:var(--sage-dark);background:#fff;border:1px solid #aebdb5;border-radius:10px;margin-top:7px;padding:11px 14px;font-weight:800}.wizard-navigation{border-top:1px solid var(--line);grid-template-columns:.8fr 1.2fr;gap:10px;margin-top:28px;padding-top:20px;display:grid}.wizard-navigation.forward,.wizard-navigation.backward{grid-template-columns:1fr}.wizard-next,.wizard-back{border-radius:12px;min-height:60px;padding:14px 16px;font-size:18px;font-weight:800}.wizard-next{color:#fff;background:var(--sage-dark);border:0;box-shadow:0 10px 24px #3853472e}.wizard-back{color:var(--sage-dark);background:#fff;border:1px solid #aebdb5}.wizard-help{color:var(--muted);text-align:center;margin:10px 0 0;font-size:15px;line-height:1.45}.step-heading{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.step-heading.compact{margin-top:34px;margin-bottom:12px}.step-heading>span{color:#fff;background:var(--sage);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:grid}.step-heading h2{margin:2px 0 5px;font:700 24px Georgia,serif}.step-heading p{color:var(--muted);margin:0;font-size:16px;line-height:1.45}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mode-card{border:1px solid var(--line);min-height:96px;color:var(--ink);text-align:center;background:#fff;border-radius:16px;padding:16px 13px;transition:all .2s}.mode-card:hover{border-color:#b9c8c0;transform:translateY(-2px)}.mode-card.active{border:2px solid var(--sage);background:#f3f7f4;padding:16px 13px}.mode-icon{color:var(--peach);margin-bottom:10px;font-size:25px;display:block}.mode-card strong{font-size:19px;display:block}.mode-card small{display:none}.mode-options{background:#fcfaf6;border:1px solid #e9e2d7;border-radius:16px;margin-top:18px;padding:18px}.two-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}label>span{color:var(--ink);margin-bottom:8px;font-size:17px;font-weight:700;display:block}select,input[type=text],.place-search input{width:100%;height:54px;color:var(--ink);background:#fff;border:1px solid #d8d3ca;border-radius:10px;outline:none;padding:0 14px;font-size:18px}select:focus,input:focus,textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px #55746521}.soft-button,.text-button{width:100%;min-height:50px;color:var(--sage-dark);background:#edf4ef;border:1px solid #b7c8be;border-radius:10px;margin-top:13px;padding:13px 16px;font-weight:800}.text-button{text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.motif-suggestions{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.motif-suggestions button{min-height:40px;color:var(--sage-dark);background:#fff;border:1px solid #c9d5ce;border-radius:999px;padding:8px 11px;font-size:14px;line-height:1.3}.motif-suggestions button[aria-pressed=true]{border-color:var(--sage);background:var(--accent-soft)}.photo-prompt-field{margin-top:16px;display:block}.photo-prompt-field textarea{resize:vertical;width:100%;min-height:78px;color:var(--ink);background:#fff;border:1px solid #d8d3ca;border-radius:11px;outline:none;padding:14px;font-size:18px;line-height:1.5}.photo-prompt-field small{color:#737d78;text-align:right;margin-top:5px;font-size:14px;display:block}.photo-examples{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.photo-examples button{min-height:40px;color:var(--sage-dark);text-align:center;background:#fff;border:1px solid #c9d5ce;border-radius:999px;padding:8px 11px;font-size:14px;line-height:1.3}.photo-examples button[aria-pressed=true]{border-color:var(--sage);background:var(--accent-soft)}.photo-mode-note{color:var(--muted);margin:12px 2px 0;font-size:14px;line-height:1.5}.revision-box{background:#f4f8f5;border:2px solid #cfddd5;border-radius:14px;margin-top:18px;padding:17px}.revision-box h3{color:var(--sage-dark);margin:0 0 5px;font:700 19px Georgia,serif}.revision-box>p{color:var(--muted);margin:0 0 14px;font-size:15px;line-height:1.5}.revision-box textarea{resize:vertical;width:100%;min-height:78px;color:var(--ink);background:#fff;border:1px solid #cbd6d0;border-radius:10px;outline:none;padding:12px 58px 12px 13px;font-size:18px;line-height:1.45}.revision-examples{gap:7px;margin-top:9px;display:grid}.revision-examples button{min-height:46px;color:var(--sage-dark);text-align:left;background:#fff;border:1px solid #c9d5ce;border-radius:9px;padding:10px 12px;font-size:14px}.revision-button{color:#fff;background:var(--sage-dark);border:0;border-radius:10px;width:100%;min-height:52px;margin-top:11px;padding:13px 16px;font-weight:800}.revision-box>small{color:var(--muted);text-align:center;margin-top:8px;font-size:13px;line-height:1.45;display:block}.restore-button{width:100%;min-height:44px;color:var(--sage-dark);text-underline-offset:3px;background:0 0;border:0;margin-top:8px;padding:10px 12px;font-weight:700;text-decoration:underline}.upload-zone{width:100%;min-height:128px;color:var(--ink);background:#fff;border:2px dashed #bac8c0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:18px;display:flex}.upload-zone>span{color:#fff;background:var(--sage);border-radius:50%;place-items:center;width:34px;height:34px;font-size:20px;display:grid}.upload-zone small{color:var(--muted)}.place-query{display:block}.place-query input{width:100%;height:56px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:0 14px;font-size:18px}.place-focus{margin-top:18px;display:block}.place-focus>span{color:var(--ink);margin-bottom:8px;font-size:17px;font-weight:800;display:block}.place-focus input{width:100%;height:56px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:0 14px;font-size:17px}.place-focus small{color:var(--muted);margin-top:7px;font-size:14px;line-height:1.45;display:block}.place-submit{color:#fff;background:var(--sage-dark);border:0;border-radius:11px;width:100%;min-height:56px;margin-top:14px;font-size:18px;font-weight:800}.location-divider{color:#707a75;text-align:center;margin:14px 0 10px;font-size:14px;position:relative}.location-divider:before{content:"";background:var(--line);height:1px;position:absolute;top:50%;left:0;right:0}.location-divider span{background:#fcfaf6;padding:0 10px;position:relative}.location-button{border:1px solid var(--sage);width:100%;min-height:47px;color:var(--sage-dark);background:#fff;border-radius:11px;justify-content:center;align-items:center;gap:9px;padding:11px 15px;font-weight:800;display:flex}.location-button span{color:var(--peach);font-size:19px}.location-note{color:var(--muted);margin:9px 2px 0;font-size:13px;line-height:1.5}.location-note a{color:var(--sage-dark)}.place-filters{border:0;margin:17px 0 0;padding:0}.place-filters legend{color:var(--ink);margin-bottom:9px;font-size:17px;font-weight:800}.place-filters>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.place-filters button{border:1px solid var(--line);min-height:54px;color:var(--ink);background:var(--paper);text-align:left;border-radius:11px;justify-content:flex-start;align-items:center;gap:8px;padding:10px 12px;font-size:16px;font-weight:700;display:flex}.place-filters button span{width:23px;color:var(--peach);text-align:center;flex:0 0 23px;font-size:19px}.place-filters button[aria-pressed=true]{color:#fff;border-color:var(--sage);background:var(--sage)}.place-filters button[aria-pressed=true] span{color:#fff}.license-note{color:var(--muted);margin:12px 2px 0;font-size:14px;line-height:1.5}.photo-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.photo-grid button{aspect-ratio:1;background:#e8e8e4;border:3px solid #0000;border-radius:10px;padding:0;position:relative;overflow:hidden}.photo-grid button.selected{border-color:var(--peach)}.photo-grid img{object-fit:cover;width:100%;height:100%}.photo-grid span{color:#fff;background:#141c18c2;border-radius:4px;padding:4px;font-size:11px;position:absolute;bottom:4px;left:4px;right:4px}.photo-count{color:var(--muted);text-align:center;margin:10px 0 0;font-size:14px}.more-photos-button{border:1px solid var(--sage);width:100%;color:var(--sage-dark);background:#fff;border-radius:10px;margin-top:8px;padding:11px 14px;font-weight:800}.quick-greetings{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px 44px;display:grid}.quick-greetings button{border:1px solid var(--line);min-height:50px;color:var(--ink);text-align:left;background:#fff;border-radius:10px;padding:9px 12px;display:block}.quick-greetings button[aria-pressed=true]{border-color:var(--sage);background:#f0f6f2}.quick-greetings button span{display:block}.quick-greetings button strong{font-size:16px}.greeting-field{display:block}.greeting-field textarea{resize:vertical;width:100%;min-height:86px;color:var(--ink);background:#fff;border:1px solid #d8d3ca;border-radius:12px;outline:none;padding:14px 16px;font-size:19px;line-height:1.5}.greeting-field small{color:#737d78;text-align:right;margin-top:6px;font-size:14px;display:block}.fine-tuning{border:1px solid var(--line);background:#fff;border-radius:11px;margin-top:14px;padding:12px 14px}.fine-tuning summary{cursor:pointer;min-height:32px;font-size:17px;font-weight:800;line-height:1.45;list-style:none}.fine-tuning summary::-webkit-details-marker{display:none}.controls-row{grid-template-columns:1fr 1fr 70px;align-items:end;gap:12px;margin-top:14px;display:grid}.controls-row input[type=range]{width:100%;accent-color:var(--sage)}.controls-row input[type=color]{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;height:46px;padding:3px}.appearance-controls{grid-template-columns:76px minmax(0,1fr);align-items:end;gap:14px;display:grid}.color-control input[type=color]{width:76px}.shadow-toggle{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:8px;align-items:center;gap:9px;min-height:46px;padding:0 11px;display:flex}.shadow-toggle input{width:24px;height:24px;accent-color:var(--sage);flex:none}.shadow-toggle span{margin:0;font-size:16px}.notice{color:#405348;border-left:4px solid var(--sage);background:#eef4f0;border-radius:8px;margin-top:14px;padding:13px 14px;font-size:16px;line-height:1.5}.preview-panel{background:#e9eee9;flex-direction:column;justify-content:flex-start;padding:clamp(28px,4vw,52px);scroll-margin-top:12px;display:flex}.preview-label{color:var(--sage-dark);align-items:center;gap:12px;margin-bottom:16px;display:flex}.preview-label .preview-step{color:#fff;background:var(--sage);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:grid}.preview-label strong{font:700 21px Georgia,serif;display:block}.preview-label small{color:var(--muted);margin-top:3px;font-size:15px;display:block}.postcard{aspect-ratio:4/5;background:linear-gradient(#506779 0%,#899994 54%,#e6b69d 100%) 50%/cover;border-radius:9px;position:relative;overflow:hidden;box-shadow:0 24px 48px #2a35303d;container-type:inline-size}.postcard-shade{background:linear-gradient(#10181514,#1018151a 44%,#101815ad);position:absolute;inset:0}.text-top .postcard-shade{background:linear-gradient(#101815a3,#10181514 55%)}.text-center .postcard-shade{background:linear-gradient(#1018151f,#10181594 50%,#10181526)}.moon{color:#fff4ce;text-shadow:0 0 26px #fff4ce73;font-size:clamp(52px,7vw,84px);position:absolute;top:8%;right:13%;transform:rotate(-18deg)}.stars{color:#fff8dc;opacity:.85;font-size:20px;position:absolute;top:14%;left:13%}.hills{border-radius:50% 55% 0 0;width:125%;height:42%;position:absolute;left:-12%}.hill-back{background:#506a5c;bottom:-15%;transform:rotate(-5deg)}.hill-front{background:#2f4b40;bottom:-25%;transform:rotate(6deg)}.postcard-text{z-index:2;color:#fff;text-align:center;text-shadow:0 3px 16px #0a120ed9;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;font-family:Georgia,serif;font-weight:600;line-height:1.12;position:absolute;bottom:16%;left:9%;right:9%}.text-top .postcard-text{top:13%;bottom:auto}.text-center .postcard-text{top:50%;bottom:auto;transform:translateY(-50%)}.photo-credit{z-index:3;color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#121b17b8;padding:7px 10px;font-size:9px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.generation-overlay{z-index:6;color:#fff;background:var(--sage-dark);flex-direction:column;justify-content:center;align-items:center;padding:36px;display:flex;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.generation-overlay{background:color-mix(in srgb,var(--sage-dark) 88%,#171717)}}.generation-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);text-align:center}.generation-spinner{border:5px solid #ffffff47;border-top-color:var(--peach);border-radius:50%;width:54px;height:54px;margin-bottom:19px;animation:1s linear infinite generation-spin}.generation-overlay strong{max-width:330px;font:700 clamp(19px,5cqw,27px)/1.2 Georgia,serif}.generation-overlay p{color:#eef5f0;margin:10px 0 18px;font-size:16px;line-height:1.45}.generation-progress{background:#ffffff38;border-radius:999px;width:min(290px,86%);height:9px;overflow:hidden;box-shadow:inset 0 1px 2px #0003}.generation-progress span{border-radius:inherit;background:linear-gradient(90deg,var(--peach),var(--peach));height:100%;display:block}@supports (color:color-mix(in lab, red, red)){.generation-progress span{background:linear-gradient(90deg,var(--peach),color-mix(in srgb,var(--peach) 55%,white))}}.generation-progress span{transition:width 1s}.generation-overlay small{color:#dce8e1;margin-top:10px;font-size:13px;line-height:1.4}@keyframes generation-spin{to{transform:rotate(360deg)}}.actions{grid-template-columns:.85fr 1.15fr;gap:10px;margin-top:18px;display:grid}.primary-button,.secondary-button{border-radius:12px;min-height:58px;padding:15px 14px;font-size:18px;font-weight:800}.primary-button{color:#fff;background:var(--sage-dark);border:0;box-shadow:0 10px 24px #3853472e}.secondary-button{color:var(--sage-dark);background:0 0;border:1px solid #9cafa4}.preview-tip{color:#56655e;text-align:center;margin:13px 12px 0;font-size:16px;line-height:1.5}.source-link{color:var(--sage-dark);text-align:center;margin-top:9px;font-size:13px}@media (max-width:900px){.workspace{grid-template-columns:1fr}.preview-panel{min-height:620px}.postcard{width:100%;max-width:460px;margin:0 auto}.final-card{max-width:219px}.actions{width:100%;max-width:460px;margin:18px auto 0}}@media (max-width:560px){.topbar{height:66px;padding:0 18px}.save-note{display:none}.workspace{border-radius:20px}.workspace.wizard-workspace{width:calc(100% - 24px);margin:12px auto 24px}.composer,.preview-panel{padding:26px 18px}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mode-card{min-height:82px;padding:11px 6px}.mode-card strong{font-size:16px;line-height:1.15}.two-columns,.controls-row{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}.motif-suggestions,.photo-examples{grid-template-columns:1fr 1fr;display:grid}.quick-greetings{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:0}.actions,.wizard-navigation{grid-template-columns:1fr}.wizard-heading h2{font-size:26px}.preview-panel{min-height:530px}.text-tuning-layout{grid-template-columns:minmax(0,1.1fr) minmax(128px,.9fr);gap:8px}.text-tuning-layout .fine-tuning{padding:11px 10px}.text-tuning-layout .fine-tuning summary{font-size:16px}.text-tuning-layout .controls-row{gap:8px}.text-tuning-layout select{height:48px;font-size:16px}.text-tuning-layout .appearance-controls{grid-template-columns:50px minmax(0,1fr)}.text-tuning-layout .color-control input[type=color]{width:50px}.text-tuning-layout .shadow-toggle{padding:0 6px}.text-tuning-layout .shadow-toggle span{font-size:13px}.text-tuning-layout .gesture-hint{font-size:12px}.text-tuning-layout .preview-next{border-top:0;margin-top:auto;margin-bottom:8px;padding-top:0}.text-tuning-layout .preview-next .wizard-next{min-height:46px;padding:10px 6px;font-size:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.generation-spinner{animation:none}}.app-shell,.app-shell *{-webkit-user-select:none;user-select:none}.app-shell input,.app-shell textarea,.app-shell select{-webkit-user-select:text;user-select:text}.wizard-top-back{z-index:20;top:max(8px,env(safe-area-inset-top));width:100%;min-height:52px;color:var(--sage-dark);background:var(--paper);border:1px solid #aebdb5;border-radius:12px;margin:0 0 18px;padding:12px 16px;position:sticky}@supports (color:color-mix(in lab, red, red)){.wizard-top-back{background:color-mix(in srgb,var(--paper) 94%,transparent)}}.wizard-top-back{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:17px;font-weight:800;box-shadow:0 8px 22px #26342f2e}.style-field,.custom-motif-field{margin-top:16px;display:block}.photo-examples{gap:7px}.photo-examples button{border-radius:999px;min-height:40px;padding:8px 11px}.language-tabs{background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;padding:0;display:grid}.language-tabs button{border:1px solid var(--line);min-height:52px;color:var(--ink);text-align:left;background:#fff;border-radius:10px;padding:9px 12px;font-size:16px;font-weight:800}.language-tabs button[aria-selected=true]{border-color:var(--sage);color:var(--ink);background:var(--accent-soft)}.other-language{margin:0 0 14px;display:block}.other-language select{white-space:nowrap;width:100%;min-width:100%;font-size:17px}.other-language option{white-space:nowrap}.translate-current-greeting{border:1px solid var(--sage);width:100%;min-height:52px;color:var(--sage-dark);background:var(--accent-soft);border-radius:10px;margin:-4px 0 14px;padding:10px 14px;font-size:16px;font-weight:800}.translate-current-greeting:disabled{opacity:.65}.quick-greetings{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-greetings button{min-height:52px}.quick-greetings button>span{min-width:0}.quick-greetings button strong{display:block}.translation-box{background:#f6f9f7;border:1px solid #d7ddd9;border-radius:13px;margin-top:15px;padding:14px}.translation-box summary{cursor:pointer;min-height:34px;color:var(--sage-dark);font-size:17px;font-weight:800}.translation-box>p{color:var(--muted);margin:7px 0 13px;font-size:15px;line-height:1.45}.translation-source{color:var(--ink);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;margin-bottom:12px;padding:12px 13px}.translation-source strong{margin-bottom:5px;font-size:15px;display:block}.translation-source p{margin:0;font-size:17px;line-height:1.45}.translation-target{display:block}.translation-target select{width:100%}.translate-button{color:#fff;background:var(--sage-dark);border:0;border-radius:10px;width:100%;min-height:52px;margin-top:12px;font-weight:800}.translation-result{background:#fff;border-radius:10px;margin-top:12px;padding:13px;box-shadow:inset 0 0 0 1px #d7e1db}.translation-result p{margin:7px 0 0;font-size:18px;line-height:1.5}.translation-result button{border:1px solid var(--sage);width:100%;min-height:48px;color:var(--sage-dark);background:#edf4ef;border-radius:9px;font-weight:800}.greeting-notice{margin-bottom:15px}.text-tuning-layout{grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);align-items:stretch;gap:14px;margin-top:14px;display:grid}.text-tuning-layout .fine-tuning{margin-top:0}.text-tuning-layout .exact-preview{flex-direction:column;min-width:0;margin-top:0;display:flex}.text-tuning-layout .live-preview-label{margin-top:0;font-size:16px}.text-tuning-layout .greeting-card{max-width:none}.preview-static{pointer-events:none}.preview-next{border-top:0;margin:8px 0 0;padding-top:0}.text-tuning-layout .gesture-hint{color:var(--ink);margin:10px 0 0;font-size:15px;font-weight:700}.text-tuning-layout .preview-next{margin:8px 0 0}.exact-preview{margin-top:18px}.live-preview-label{color:var(--sage-dark);text-align:center;margin:0 0 7px;font-size:15px;font-weight:800}.greeting-card{width:100%;max-width:430px;margin-left:auto;margin-right:auto;box-shadow:0 14px 30px #2a353033}.postcard{touch-action:pan-y;background-position:50%}.postcard.positionable-image{cursor:grab}.postcard.positionable-image:active{cursor:grabbing}.postcard-text,.text-top .postcard-text,.text-center .postcard-text{width:82%;bottom:auto;right:auto;transform:translate(-50%,-50%)}.interactive-text{cursor:grab;touch-action:none;transition:outline-color .15s,background-color .15s}.interactive-text.gesture-active{cursor:grabbing;outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.interactive-text.gesture-active{outline:3px solid color-mix(in srgb,var(--accent) 72%,white)}}.interactive-text.gesture-active{outline-offset:5px;background:#121c181f}.gesture-hint{color:var(--muted);text-align:center;margin:10px 4px 0;font-size:15px;line-height:1.4}.gesture-hint.compact{margin-top:7px;font-size:13px}.generation-overlay small{flex-wrap:wrap;justify-content:center;gap:0 4px;display:flex}.progress-value{white-space:nowrap}.license-details{color:var(--muted);text-align:center;margin-top:12px;font-size:14px}.license-details summary{cursor:pointer;font-weight:700}.license-details p{margin:7px 0 0}.license-details a{color:var(--sage-dark)}.success-toast{z-index:100;color:#fff;text-align:center;background:#315b47;border-radius:12px;width:min(420px,100% - 28px);padding:15px 18px;font-size:18px;font-weight:800;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #142b2152}@media (max-width:620px){.photo-examples{grid-template-columns:1fr 1fr}.photo-examples button{min-height:40px}.controls-row{gap:9px}.language-tabs button{font-size:18px}}@media (max-width:420px){.place-filters>div{grid-template-columns:1fr}}.app-shell[data-theme=postcard]{--ink:#4a342d;--muted:#735f56;--cream:#f6e7d7;--paper:#fffaf0;--sage:#ad5745;--sage-dark:#8e4337;--peach:#d98a6d;--line:#e2c6b2;--accent-soft:#f5ddd0;--display-font:"Palatino Linotype",Palatino,Georgia,serif;--ui-font:"Trebuchet MS",Arial,sans-serif}.app-shell[data-theme=rose]{--ink:#443631;--muted:#75635c;--cream:#f5ebe4;--paper:#fffaf6;--sage:#99685d;--sage-dark:#794d45;--peach:#d5a09b;--line:#dfc9bf;--accent-soft:#f2ded8;--display-font:Georgia,"Times New Roman",serif;--ui-font:Arial,Helvetica,sans-serif}.app-shell[data-theme=lavender]{--ink:#493c54;--muted:#72667a;--cream:#eee5f2;--paper:#fdf9ff;--sage:#80608c;--sage-dark:#654870;--peach:#c995bd;--line:#d9c8df;--accent-soft:#eadcf0;--display-font:"Palatino Linotype",Palatino,Georgia,serif;--ui-font:"Trebuchet MS",Arial,sans-serif}.app-shell[data-theme=evening]{--ink:#1e3042;--muted:#5d6c79;--cream:#e8edf2;--paper:#fffdf8;--sage:#345978;--sage-dark:#203f5c;--peach:#c49a4d;--line:#c9d3dc;--accent-soft:#dce7ef;--display-font:Georgia,"Times New Roman",serif;--ui-font:Arial,Helvetica,sans-serif}.topbar{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in srgb,var(--paper) 93%,transparent)}}.wizard-heading h2,.wizard-image-result>h3,.revision-box h3,.preview-label strong,.step-heading h2{font-family:var(--display-font)}.mode-card,.quick-greetings button,.fine-tuning,.translation-result,.translation-source,.translation-target select,.upload-zone,.more-photos-button,.location-button,.change-image-button{color:var(--ink);background:var(--paper)}.mode-card.active,.quick-greetings button[aria-pressed=true],.translate-button+*{background:var(--accent-soft)}.mode-options{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.mode-options{background:color-mix(in srgb,var(--paper) 82%,var(--cream))}}.mode-options{border-color:var(--line)}select,input[type=text],.place-search input,.greeting-field textarea,.photo-prompt-field textarea,.revision-box textarea{color:var(--ink);border-color:var(--line);background:#fff}.revision-box,.translation-box{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.revision-box,.translation-box{background:color-mix(in srgb,var(--accent-soft) 52%,var(--paper))}}.revision-box,.translation-box{border-color:var(--sage)}@supports (color:color-mix(in lab, red, red)){.revision-box,.translation-box{border-color:color-mix(in srgb,var(--sage) 38%,var(--line))}}.notice{color:var(--ink);background:var(--accent-soft);border-left-color:var(--sage)}.soft-button{color:var(--sage-dark);background:var(--accent-soft);border-color:var(--sage)}@supports (color:color-mix(in lab, red, red)){.soft-button{border-color:color-mix(in srgb,var(--sage) 45%,var(--line))}}.wizard-progress ol:before{background:var(--line)}.wizard-progress li>span{border-color:var(--line);background:var(--paper)}.theme-menu{border:1px solid var(--line);background:var(--paper);border-radius:12px;margin:-4px 0 20px;padding:11px 13px}@supports (color:color-mix(in lab, red, red)){.theme-menu{background:color-mix(in srgb,var(--paper) 78%,var(--cream))}}.theme-menu summary{cursor:pointer;min-height:34px;color:var(--sage-dark);font-size:16px;font-weight:800;line-height:1.7}.theme-menu>p{color:var(--muted);margin:5px 0 12px;font-size:14px;line-height:1.45}.theme-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.theme-options button{border:1px solid var(--line);min-height:66px;color:var(--ink);background:var(--paper);text-align:left;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:66px 1fr;align-items:center;gap:0 10px;padding:8px 10px;display:grid}.theme-options button[aria-pressed=true]{border:2px solid var(--sage);background:var(--accent-soft);padding:7px 9px}.theme-colors{border-radius:8px;grid-row:1/3;height:38px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.theme-colors i{flex:1}.theme-options strong{align-self:end;font-size:15px}.theme-options small{color:var(--muted);align-self:start;font-size:12px}.controls-row label:first-child select{font-family:inherit}.primary-button,.secondary-button{justify-content:center;align-items:center;gap:10px;display:flex}.action-button{padding-left:54px;padding-right:54px;position:relative}.action-label{display:block}.share-icon,.save-icon{width:25px;height:25px;color:inherit;position:absolute;right:18px}.share-icon:before{content:"";border:2px solid;border-radius:4px;width:17px;height:14px;position:absolute;bottom:1px;left:3px}.share-icon:after{content:"";background:currentColor;border-radius:2px;width:2px;height:15px;position:absolute;top:1px;left:11px}.share-icon i{z-index:1;border-top:2px solid;border-left:2px solid;width:8px;height:8px;position:absolute;top:1px;left:8px;transform:rotate(45deg)}.save-icon:before{content:"";border:2px solid;border-radius:4px;width:17px;height:14px;position:absolute;bottom:1px;left:3px}.save-icon:after{content:"";background:currentColor;border-radius:2px;width:2px;height:15px;position:absolute;top:0;left:11px}.save-icon i{z-index:1;border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;position:absolute;top:7px;left:8px;transform:rotate(45deg)}@media (max-width:560px){.theme-options{grid-template-columns:1fr}.theme-options button{min-height:60px}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
