:root{--bg:#fafaff;--card:#fff;--ink:#242333;--muted:#716f80;--line:#e5e4ed;--accent:#6654da;--accent-dark:#5041ba;--accent-soft:#f0edff;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--serif:var(--sans)}
body{background:#fff;font-family:var(--sans);color:var(--ink)}[hidden]{display:none!important}a{color:inherit}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #9d8dff;outline-offset:4px}.shell{max-width:1184px;padding:0 32px;margin:auto}.header{min-height:88px;padding:20px 0;border-color:var(--line)}.brand{font-family:var(--sans);font-weight:750;letter-spacing:-.6px;font-size:22px;white-space:nowrap}.brand-mark{color:var(--accent)}.header nav{margin-left:auto;gap:26px}.header nav a{font-size:14px}.nav-cta{background:var(--accent);border-radius:9px;padding:12px 20px;font-size:14px;margin-left:24px}.preview-note{display:flex;gap:9px;justify-content:center;align-items:center;text-align:center;color:var(--muted);font-size:12px;margin-top:25px}.status-dot{background:var(--accent);width:6px;height:6px}.tool-heading{text-align:center;max-width:900px;margin:35px auto 34px}.tool-heading .eyebrow{color:var(--accent);font-size:11px;letter-spacing:1.8px;margin-bottom:13px}.tool-heading h1{font-family:var(--sans);font-size:46px;line-height:1.15;letter-spacing:-1.8px;margin:0 0 18px;font-weight:750}.tool-heading>p:last-child{font-size:16px;line-height:1.65;color:var(--muted);margin:0}.tool-workspace{padding:0;max-width:960px;margin:auto;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 10px 40px #30246808;overflow:hidden}.studio-top{padding:23px 27px;border-bottom:1px solid var(--line)}.studio-top h2{font:650 19px var(--sans);letter-spacing:-.4px}.step-count{font-size:11px;border:1px solid var(--line);border-radius:99px;padding:5px 10px;color:var(--muted)}.workspace-grid{display:grid;grid-template-columns:290px 1fr}.workspace-settings{background:#fcfbff;padding:25px;border-right:1px solid var(--line)}.workspace-upload{padding:25px 29px 20px;min-width:0}.field-heading{margin:0 0 18px;gap:10px}.number{background:var(--accent-soft);color:var(--accent);font-size:12px;width:25px;height:25px}.field-heading h3{font:650 14px var(--sans)}.field-heading p{font-size:12px;color:var(--muted);line-height:1.5}.choice{display:grid;grid-template-columns:1fr;gap:10px;margin:0}.choice-button{min-height:68px;padding:14px;border:1px solid var(--line);border-radius:10px;gap:12px;background:white;position:relative}.choice-button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.choice-button strong{font-size:14px}.choice-button small{font-size:11px;color:var(--muted)}.choice-icon{font-size:23px}.choice-button .check{margin-left:auto;color:var(--accent)}.input-guide{margin-top:30px;color:var(--muted);font-size:12px}.input-guide h3{font-size:12px;font-weight:650;color:var(--ink);margin-bottom:12px}.input-guide ul{padding-left:17px;line-height:1.9}.input-guide p{font-size:11px;margin-top:16px}.next-modes{font-size:11px;line-height:1.65;border-top:1px solid var(--line);padding-top:17px;margin-top:22px;color:var(--muted)}.upload{border:1.5px dashed #cbc6e5;border-radius:12px;min-height:237px;background:#faf9ff;margin:0;display:grid;place-items:center;position:relative;overflow:hidden;cursor:pointer}.upload:hover,.upload.drag{border-color:var(--accent);background:var(--accent-soft)}.upload-inner{gap:8px}.upload-icon{background:#eeebfb;color:var(--accent);width:45px;height:45px;border-radius:12px;font-size:26px;margin-bottom:8px}.upload strong{font-size:16px}.upload-inner>span:not(.upload-icon),.upload small{font-size:12px;color:var(--muted)}#preview{max-height:280px;width:100%;object-fit:contain;display:block;background:#f5f3fb}.consent-check{font-size:11px;line-height:1.6;gap:9px;margin:18px 0 13px}.consent-check input{accent-color:var(--accent);flex:none;margin-top:3px}.generate,.primary-link{background:var(--accent);border-radius:9px;min-height:48px;font:650 14px var(--sans);padding:14px 20px}.generate:not(:disabled):hover,.primary-link:hover{background:var(--accent-dark)}.generate:disabled{background:#eceaf5;color:#92909f;opacity:1}.under-button{font-size:11px;line-height:1.55;margin-top:10px}.local-note{font-size:11px;color:var(--muted);text-align:center;line-height:1.65;margin:14px 0 0}.local-note a{text-decoration:underline}.file-line{font-size:12px;gap:12px;margin-top:13px}.file-line>span{min-width:0}.file-line #file-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}#remove{border:1px solid var(--line);border-radius:7px;min-height:38px;background:#fff;padding:7px 10px;color:var(--muted);font-size:11px;flex:none}.error{font-size:12px;line-height:1.5;margin:8px 0}.error:empty{display:none}.bottom{display:block;border:0;margin:80px auto 0;padding:0;max-width:960px}.bottom>div:first-child{text-align:center}.bottom h2,.home-faq h2{font-family:var(--sans);font-size:29px;line-height:1.2;letter-spacing:-.7px;margin-top:10px}.steps{margin-top:34px;gap:32px}.steps>div{padding:22px 0;border-top:1px solid var(--line)}.steps span{font:650 12px var(--sans);color:var(--accent)}.steps strong{font:650 15px var(--sans);margin:12px 0 8px}.steps p{font-size:13px;line-height:1.65}.home-faq{max-width:780px;margin:62px auto 80px}.home-faq>div:first-child{text-align:center;margin-bottom:30px}.faq-list details{border-color:var(--line)}.faq-list summary{font-size:14px;padding:20px 2px}.faq-list p{font-size:13px;line-height:1.8}.simple-hero h1,.inner-hero h1{font-family:var(--sans);font-size:44px;letter-spacing:-1.5px}.concept-bar{font-size:11px}.document{max-width:760px;margin:60px auto 90px;line-height:1.8;font-size:15px}.document h1{font-size:40px;line-height:1.2;letter-spacing:-1px;font-weight:750;margin:16px 0 24px}.document h2{font-size:20px;letter-spacing:-.3px;margin:30px 0 10px}.document h3{font-size:16px}.document p{color:#646172}.document a:not(.primary-link){color:var(--accent);text-underline-offset:3px}.legal-date{font-size:12px}.preference-panel,.notice-panel{background:#f7f6fc;border:1px solid var(--line);border-radius:12px;padding:22px;margin-top:24px}.button-row{display:flex;gap:12px;flex-wrap:wrap}.button-row button,.secondary{border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:white;min-height:44px;padding:10px 15px;cursor:pointer;font-size:13px}.button-row .secondary,.secondary{background:white;color:var(--accent)}.account-card{max-width:630px}.account-fineprint{font-size:12px;line-height:1.75;margin-top:20px}.not-found{min-height:40vh}.share-status{flex-basis:100%;font-size:11px;color:var(--muted);text-align:center}.text-button{border:0;background:transparent;color:inherit;cursor:pointer;padding:8px 0;font-size:inherit}footer{font-size:12px;gap:25px;flex-wrap:wrap;padding:27px 0;border-color:var(--line)}footer .brand{font-size:17px}footer nav{display:flex;flex-wrap:wrap;gap:22px;margin-left:auto}footer>span:not(.share-status){color:var(--muted)}.skip-link{position:fixed;top:-60px;left:15px;z-index:10;background:#fff;border:2px solid var(--accent);padding:10px}.skip-link:focus{top:10px}
@media(max-width:760px){.shell{padding:0 18px}.header{min-height:72px;padding:15px 0;gap:12px;flex-wrap:wrap}.brand{font-size:20px}.header nav{order:3;flex-basis:100%;justify-content:center;gap:20px;padding-top:12px}.header nav a{font-size:12px}.nav-cta{margin-left:auto;padding:10px 14px;font-size:12px;min-height:40px}.preview-note{margin-top:18px;font-size:10px;line-height:1.6}.tool-heading{margin:25px auto 26px}.tool-heading h1{font-size:32px;line-height:1.15;letter-spacing:-1px}.tool-heading>p:last-child{font-size:13px;line-height:1.65}.tool-heading .eyebrow{font-size:9px;letter-spacing:1.3px}.desktop-break{display:none}.workspace-grid{display:block}.studio-top{padding:18px 17px}.studio-top h2{font-size:16px}.step-count{font-size:9px}.workspace-settings{border-right:0;border-bottom:1px solid var(--line);padding:18px 17px;background:#fff}.workspace-settings .field-heading{margin-bottom:12px}.workspace-settings .field-heading p{display:none}.choice{grid-template-columns:1fr 1fr;gap:10px}.choice-button{min-height:62px;padding:12px;gap:9px}.choice-button small{font-size:10px}.choice-icon{font-size:21px}.input-guide,.next-modes{display:none}.workspace-upload{padding:18px 17px}.field-heading h3{font-size:13px}.field-heading p{font-size:11px}.upload{min-height:218px}.upload-inner{padding:22px 12px}.upload strong{font-size:15px}.upload small{font-size:10px}.consent-check{font-size:10px;line-height:1.6}.generate{font-size:12px}.file-line #file-name{max-width:185px}.bottom{margin-top:52px}.bottom h2,.home-faq h2{font-size:25px}.steps{display:block;margin-top:25px}.steps>div{padding:18px 0}.home-faq{margin:43px auto 55px}.faq-list summary{padding:18px 0}.document{margin:38px auto 55px;font-size:14px}.document h1{font-size:32px}.document h2{font-size:19px}.button-row{display:grid;grid-template-columns:1fr}.simple-hero h1,.inner-hero h1{font-size:34px}.inner-hero{margin-top:25px}footer{gap:16px;padding:25px 0}footer nav{flex-basis:100%;margin-left:0;gap:22px;justify-content:flex-start}footer .brand{font-size:17px}footer>span:not(.share-status){font-size:11px}.tool-workspace{border-radius:14px;box-shadow:0 6px 24px #30246805}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.header nav a,footer nav a{display:inline-flex;align-items:center;min-height:44px}.consent-check{min-height:44px}
.choice-icon{color:var(--accent);flex:none}.choice-button>span:nth-child(2){min-width:0}.choice-button.active{box-shadow:none}.upload-inner strong{color:var(--ink)}.consent-check{font-size:13px}.under-button,.local-note{font-size:12px}.generate{cursor:pointer}.generate:disabled{cursor:not-allowed}
@media(max-width:760px){.choice-button .check{display:none}.choice-button{gap:8px;padding:12px 10px}.choice-button small{overflow-wrap:anywhere}.consent-check{font-size:12px}.header nav a{font-size:13px}.upload-inner>span:not(.upload-icon){font-size:12px}}

/* Wink-inspired product polish: keep the photo task prominent without borrowing its assets. */
.preview-note{margin-top:20px;min-height:34px;padding:7px 13px;border:1px solid #e8e4f0;border-radius:999px;background:#fff;width:max-content;max-width:100%;margin-inline:auto;color:#5f5b68;font-size:11px}
.preview-note .status-dot{background:#8267cc;width:7px;height:7px;flex:none}
.preview-separator{color:#bbb5c7}
.tool-heading{max-width:760px;margin:27px auto 26px}
.tool-heading .eyebrow{color:#7863b7;font-weight:700}
.tool-heading h1{max-width:720px;margin-inline:auto;font-size:clamp(38px,4.4vw,54px);line-height:1.08;letter-spacing:-2px}
.tool-heading>p:last-child{max-width:650px;margin:12px auto 0;font-size:15px}
.tool-workspace{max-width:1040px;border-color:#e6e2ec;border-radius:20px;box-shadow:0 22px 70px #36285c12}
.studio-top{padding:22px 28px;background:linear-gradient(110deg,#fff 0%,#faf9fd 100%)}
.workspace-overline{margin:0 0 7px;color:#8976bd;font-size:9px;font-weight:750;letter-spacing:.13em}
.studio-top h2{font-size:21px;letter-spacing:-.45px}
.step-count{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-color:#e8e3f0;background:#fff;color:#625d6d}
.step-count .status-dot{background:#66a788;width:7px;height:7px}
.workspace-grid{grid-template-columns:minmax(260px,310px) minmax(0,1fr)}
.workspace-settings{padding:26px 23px;border-color:#ece9f1;background:#fbfaff}
.workspace-upload{padding:25px 28px 23px}
.choice-button{min-height:72px;border-color:#e8e4ee;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}
.choice-button:hover{border-color:#b9aadf;transform:translateY(-1px)}
.choice-button.active{border-color:#806ac3;background:#f4f0fc;color:#51427e;box-shadow:0 0 0 1px #806ac333 inset}
.choice-icon{color:#806ac3}
.choice-button .check{color:#6652a1}
.input-guide{margin-top:25px;padding-top:21px;border-top:1px solid #e9e5ef}
.input-guide h3{font-size:13px}
.input-guide ul{padding-left:0;list-style:none;line-height:1.8}
.input-guide li{position:relative;padding-left:19px}
.input-guide li::before{content:'✓';position:absolute;left:0;color:#7a66b8;font-weight:700}
.input-guide p{padding:8px 10px;border-radius:7px;background:#f2eff8;color:#625873}
.upload{min-height:268px;border:1px dashed #b9afd3;border-radius:14px;background:linear-gradient(145deg,#fbfaff,#f7f5fb)}
.upload:hover,.upload.drag{border-color:#806ac3;background:#f2eefb}
.upload-inner{gap:9px}
.upload-icon{background:#efebf8;color:#6854a5;width:48px;height:48px;border-radius:14px}
.upload-inner strong{font-size:16px;color:#292638}
.upload-inner>span:not(.upload-icon){color:#6f6b78}
.upload-inner small{margin-top:4px;color:#85818d}
.local-note{margin:12px 0 0;text-align:left;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px}
.local-note::before{content:'◈';color:#6e5da3}
.local-note a{color:#6652a1;text-underline-offset:3px}
.consent-check{align-items:flex-start;margin:16px 0 13px;color:#514f58;font-size:12px;line-height:1.55}
.consent-check input{width:17px;height:17px;margin:1px 2px 0 0;accent-color:#6d58ae}
.generate{min-height:52px;background:#6752aa;border-radius:10px;font-size:13px;letter-spacing:.01em}
.generate:disabled{background:#eeecf3;color:#777281}
.under-button{margin-top:9px;color:#777281}
.bottom{max-width:1040px;margin-top:72px}
.bottom>div:first-child{text-align:left;max-width:360px}
.bottom h2,.home-faq h2,.moment-options h2{font-size:30px;letter-spacing:-.8px}
.section-lede{max-width:330px;color:var(--muted);font-size:13px;line-height:1.7}
.steps{gap:25px}
.steps>div{padding:20px 17px;border:1px solid #e8e4ee;border-radius:12px;background:#fff}
.steps span{color:#7561b5}
.steps p{font-size:12px}
.moment-options{max-width:1040px;margin:60px auto 0;padding-top:34px;border-top:1px solid var(--line)}
.moment-options-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:22px}
.moment-options-heading .eyebrow{margin-bottom:9px;color:#7863b7}
.moment-options-heading h2{max-width:540px;margin:0;font-size:28px;line-height:1.2}
.moment-options-heading>p{max-width:310px;margin:0 0 2px;color:var(--muted);font-size:12px;line-height:1.65}
.moment-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.moment-option{display:grid;grid-template-columns:52px minmax(0,1fr) 24px;align-items:center;gap:15px;min-height:128px;padding:20px;border:1px solid #e8e4ee;border-radius:14px;background:#fff;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.moment-option:hover{transform:translateY(-2px);border-color:#b9aadf;box-shadow:0 12px 30px #36285c0d}
.moment-option-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#f2effa;color:#6e59aa;font-size:23px}
.kiss-option .moment-option-icon{background:#fbf0f3;color:#ae6876}
.moment-option-copy{display:grid;gap:6px;min-width:0}
.moment-option-copy small{color:#7b68b5;font-size:9px;font-weight:750;letter-spacing:.1em}
.moment-option-copy strong{font-size:17px;letter-spacing:-.3px}
.moment-option-copy>span{color:var(--muted);font-size:11px;line-height:1.5}
.moment-option-arrow{justify-self:end;color:#7561b5;font-size:19px}
.home-faq{max-width:820px;margin-top:67px}
.home-faq>div:first-child{text-align:left}
.faq-list summary{min-height:56px;display:flex;align-items:center;padding-right:40px}
.faq-list summary::after{top:16px}
@media(max-width:760px){
 .header{height:auto!important;min-height:0;padding:13px 0 7px!important;display:flex;flex-wrap:wrap;gap:0 10px}
 .header nav,.inner-shell .header nav{display:flex!important;order:3;flex:0 0 100%;width:100%;gap:6px!important;justify-content:flex-start;padding:8px 0 2px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
 .header nav::-webkit-scrollbar{display:none}
 .header nav a{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;padding:0 12px!important;border-radius:999px;background:#fff;font-size:12px!important}
 .header .nav-cta{min-height:44px;margin-left:auto;padding:0 14px}
 .preview-note{width:100%;justify-content:center;flex-wrap:wrap;row-gap:4px;margin-top:16px;padding:7px 9px;border-radius:12px;font-size:10px}
 .tool-heading{margin:22px auto 19px;text-align:left}
 .tool-heading .eyebrow{margin-bottom:10px;font-size:9px;letter-spacing:1.25px}
 .tool-heading h1{max-width:560px;margin:0;font-size:clamp(34px,8.8vw,43px);line-height:1.05;letter-spacing:-1.45px}
 .tool-heading>p:last-child{margin:11px 0 0;font-size:13px;line-height:1.6}
 .tool-workspace{border-radius:16px}
 .studio-top{padding:17px 17px 15px;gap:10px}
 .workspace-overline{font-size:8px;margin-bottom:5px}
 .studio-top h2{font-size:18px}
 .step-count{padding:6px 8px;font-size:9px;white-space:nowrap}
 .workspace-grid{display:block}
 .workspace-settings{padding:17px 16px 15px;border-right:0;border-bottom:1px solid #ece9f1}
 .workspace-settings .field-heading{margin-bottom:11px}
 .workspace-settings .field-heading p{display:block;font-size:11px}
 .choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .choice-button{min-height:62px;padding:10px 9px;gap:7px}
 .choice-icon{width:22px;font-size:19px}
 .choice-button strong{font-size:12px}
 .choice-button small{font-size:9px}
 .input-guide{display:none}
 .workspace-upload{padding:17px 16px 18px}
 .workspace-upload .field-heading{margin-bottom:11px}
 .upload{min-height:190px;border-radius:12px}
 .upload-inner{gap:7px;padding:18px 10px}
 .upload-icon{width:42px;height:42px;font-size:22px;margin-bottom:3px}
 .upload-inner strong{font-size:14px}
 .upload-inner>span:not(.upload-icon){font-size:11px}
 .upload-inner small{font-size:9px}
 .local-note{font-size:10px;margin:9px 0 0}
 .consent-check{font-size:11px;margin:14px 0 12px}
 .generate{min-height:49px;font-size:12px;padding:10px 12px;white-space:normal}
 .under-button{font-size:10px;line-height:1.5}
 .bottom{margin-top:48px;display:block}
 .bottom>div:first-child{max-width:none}
 .bottom h2,.home-faq h2{font-size:25px}
 .section-lede{font-size:12px}
 .steps{display:grid;grid-template-columns:1fr;gap:8px;margin-top:20px}
 .steps>div{padding:15px;border-radius:10px}
 .steps span{margin-bottom:7px;font-size:11px}
 .steps strong{margin:6px 0;font-size:13px}
 .steps p{margin:2px 0 0;font-size:11px}
 .moment-options{margin-top:43px;padding-top:26px}
 .moment-options-heading{display:block;margin-bottom:15px}
 .moment-options-heading h2{font-size:24px}
 .moment-options-heading>p{margin-top:9px;font-size:11px}
 .moment-option-grid{grid-template-columns:1fr;gap:9px}
 .moment-option{grid-template-columns:44px minmax(0,1fr) 18px;gap:11px;min-height:100px;padding:14px;border-radius:12px}
 .moment-option-icon{width:42px;height:42px;border-radius:12px}
 .moment-option-copy strong{font-size:15px}
 .moment-option-copy>span{font-size:10px}
 .home-faq{margin:47px auto 54px}
 .faq-list summary{min-height:54px;font-size:13px}
}
@media(max-width:390px){.header .brand{font-size:18px}.header .brand-mark{font-size:20px}.header .nav-cta{font-size:11px}.preview-note{font-size:9px}.choice-button{padding-inline:7px}}
