@charset "UTF-8";
:root{color-scheme:dark;--bg:#141713;--surface:#20251f;--surface-hover:#293027;--text:#f1f0e7;--muted:#a6ad9f;--line:#343b31;--accent:#d6edb3;--accent-ink:#23311b;--error:#ffc4b3;--radius:18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,video:focus-visible{outline:3px solid var(--accent);outline-offset:4px}img{display:block;max-width:100%}svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}button{color:inherit}button:not(.template-card){border:0}button[hidden],[hidden]{display:none!important}main{max-width:1160px;padding:0 36px;margin:auto}.header{height:88px;max-width:1232px;margin:auto;padding:0 36px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-family:Georgia,serif;font-size:34px;font-weight:600;letter-spacing:-2px;min-height:44px;display:inline-flex;align-items:center}.wordmark span{color:var(--accent)}.demo-label{color:var(--muted);font-size:11px;display:flex;gap:7px;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:100px}.status-dot{width:5px;height:5px;background:var(--accent);border-radius:50%}.intro{text-align:center;padding:45px 0 49px}.eyebrow{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);font-weight:600;line-height:1.6}.intro h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:67px;line-height:1.03;letter-spacing:-2.3px;margin:17px 0 20px}.intro h1 em{font-weight:400;color:var(--accent)}.intro-copy{font-size:14px;line-height:1.7;color:var(--muted)}.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}.catalog-heading h2{font-size:15px;font-weight:500;letter-spacing:-.2px}.filters{display:flex;gap:4px;background:var(--surface);border-radius:100px;padding:4px}.filter{padding:10px 15px;min-height:40px;border-radius:100px;background:transparent;color:var(--muted);font-size:12px;white-space:nowrap}.filter span{font-size:10px;margin-left:3px;opacity:.6}.filter.active{background:var(--text);color:var(--bg)}.template-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.template-card{position:relative;overflow:hidden;isolation:isolate;text-align:left;aspect-ratio:.73;background:var(--surface);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:0;box-shadow:none}.template-card img{height:100%;width:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1);filter:saturate(.82)}.template-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,transparent 40%,rgba(0,0,0,.78) 100%);z-index:0}.template-meta{position:absolute;z-index:1;top:11px;left:11px;right:11px;display:flex;align-items:center;justify-content:space-between}.photo-count{background:rgba(19,23,19,.52);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:100px;font-size:10px;padding:5px 8px;color:white}.play-icon{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.6);color:white;font-size:8px;padding-left:2px;background:rgba(0,0,0,.08)}.card-copy{position:absolute;z-index:1;bottom:17px;left:14px;right:12px}.card-title{font-family:Georgia,"Times New Roman",serif;display:block;font-weight:400;font-size:20px;line-height:1.15;letter-spacing:-.35px;color:#fff}.card-duration{display:block;font-size:9px;color:rgba(255,255,255,.62);margin-top:7px;letter-spacing:.4px}.how-it-works{border-top:1px solid var(--line);margin-top:64px;padding:35px 0 52px;display:grid;grid-template-columns:1fr 1.45fr;gap:40px}.how-heading h2{font:400 29px/1.2 Georgia,serif;letter-spacing:-.6px;max-width:270px;margin-top:12px}.steps{list-style:none;padding:0;margin:0;display:grid;gap:22px}.steps li{display:flex;gap:19px;align-items:flex-start}.step-number{color:var(--accent);font-family:Georgia,serif;font-size:17px;line-height:1.4}.steps h3{font-size:13px;font-weight:500;line-height:1.8}.steps p{font-size:12px;color:var(--muted);line-height:1.7}.footer{max-width:1160px;margin:auto;padding:25px 36px 30px;border-top:1px solid var(--line);display:flex;align-items:center;gap:24px}.footer .wordmark{font-size:27px}.footer p{font-size:11px;color:var(--muted)}.footer>span{margin-left:auto;font-size:10px;color:var(--muted)}.create-view{padding-bottom:52px}.back-button{display:flex;align-items:center;gap:7px;background:none;min-height:44px;color:var(--muted);font-size:12px;margin:9px 0 22px;padding:0}.back-button svg{width:17px;height:17px}.create-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:start}.selected-story{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:.8;background:var(--surface)}.selected-story>img{height:100%;width:100%;object-fit:cover}.selected-story:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),transparent 35%,rgba(0,0,0,.8))}.selected-overlay{position:absolute;bottom:30px;left:28px;right:26px;z-index:1}.story-kicker{text-transform:uppercase;letter-spacing:1.5px;font-size:9px;color:rgba(255,255,255,.75)}.selected-overlay h2{font:400 40px/1.05 Georgia,serif;letter-spacing:-.8px;color:white;margin:10px 0 12px}.selected-overlay p{font-size:12px;line-height:1.6;max-width:270px;color:rgba(255,255,255,.75)}.example-label{position:absolute;top:18px;left:18px;z-index:1;font-size:10px;padding:7px 10px;border-radius:50px;background:rgba(0,0,0,.3);backdrop-filter:blur(8px);color:white}.creation-panel{padding-top:6px;min-width:0}.flow-steps{display:flex;align-items:center;gap:15px;margin-bottom:38px;font-size:10px;font-weight:500;color:#6d7767}.flow-steps .current{color:var(--accent)}.flow-line{width:37px;height:1px;background:var(--line)}.creation-panel h1{font:400 36px/1.13 Georgia,serif;letter-spacing:-1px;margin:11px 0 12px}.panel-copy{font-size:13px;line-height:1.7;color:var(--muted);max-width:370px}.upload-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}.upload-slots.single{grid-template-columns:1fr}.upload-slot{min-width:0;position:relative}.upload-button{position:relative;width:100%;aspect-ratio:1.02;border:1px dashed #536049!important;border-radius:16px;background:var(--surface);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transition:background .2s,border-color .2s;padding:14px}.single .upload-button{aspect-ratio:1.9}.upload-button svg{width:28px;height:28px;color:var(--accent);margin-bottom:6px;stroke-width:1.2}.upload-button strong{font-size:12px;font-weight:500}.upload-button small{font-size:10px;color:var(--muted)}.upload-button>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.upload-button.has-photo{border-style:solid!important}.upload-button.has-photo:after{content:"Replace photo";position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.55);font-size:10px;color:white;padding:9px}.remove-photo{position:absolute;top:8px;right:8px;border-radius:50%;height:36px;width:36px;display:grid;place-items:center;background:rgba(0,0,0,.6);color:white;z-index:1}.remove-photo svg{width:15px;height:15px}.file-hint{font-size:10px;color:var(--muted);margin-top:11px}.action-dock{margin-top:24px}.upload-status{color:var(--muted);font-size:11px;margin:0 0 10px}.primary-button{background:var(--accent);color:var(--accent-ink);border-radius:12px;padding:16px 20px;width:100%;min-height:54px;font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:center;gap:11px;transition:background .2s,transform .2s}.primary-button>span{font-size:20px;font-weight:400;margin-left:auto}.primary-button:disabled{background:#303a2a;color:#9aaa90;opacity:.8}.primary-button:active:not(:disabled){transform:scale(.985)}.privacy-note{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;color:var(--muted);margin-top:12px}.privacy-note svg{width:13px;height:13px}.demo-explanation{font-size:10px;line-height:1.7;color:var(--muted);margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.error-message{color:var(--error);font-size:12px;line-height:1.5;margin-top:12px}.generating-stage{text-align:center;padding-top:8px}.generating-stage h1{font-size:31px}.generating-stage .panel-copy{margin:auto}.progress-art{position:relative;width:130px;height:160px;margin:0 auto 37px}.progress-art img{height:100%;width:100%;object-fit:cover;border-radius:20px;transform:rotate(-6deg)}.progress-ring{position:absolute;inset:-11px;border:1px solid var(--line);border-radius:28px;transform:rotate(7deg)}.progress-track{height:3px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:30px}.progress-track span{display:block;height:100%;background:var(--accent);width:0;transition:width .15s linear}.progress-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:10px}.text-button{background:none;color:var(--muted);min-height:44px;font-size:12px;padding:10px 20px;margin-top:15px}.result-stage h1{margin-top:9px}.result-video-wrap{position:relative;max-width:245px;margin:22px auto 0;aspect-ratio:9/16;border-radius:17px;overflow:hidden;background:var(--surface)}.result-video-wrap video{width:100%;height:100%;object-fit:cover;display:block}.result-badge{position:absolute;top:12px;left:12px;font-size:9px;background:rgba(0,0,0,.5);padding:5px 8px;border-radius:40px;pointer-events:none}.result-caption{text-align:center;color:var(--muted);font-size:10px;line-height:1.6;margin-top:12px}.secondary-button{width:100%;background:none;border:1px solid var(--line)!important;min-height:48px;border-radius:12px;color:var(--muted);font-size:12px;margin-top:9px}.save-status{font-size:11px;line-height:1.6;color:var(--muted);margin-top:12px;text-align:center}.primary-button svg{width:18px;height:18px}.result-actions{margin-top:19px}
@media(hover:hover){.template-card:hover img{transform:scale(1.06)}.upload-button:hover{background:var(--surface-hover);border-color:var(--accent)!important}.filter:hover:not(.active){color:var(--text)}.primary-button:hover:not(:disabled){background:#e4f6ca}.back-button:hover,.text-button:hover{color:var(--text)}}
@media(min-width:1450px){.intro{padding-top:65px;padding-bottom:58px}}
@media(max-width:1000px){.template-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.create-layout{gap:35px}.selected-overlay h2{font-size:32px}.creation-panel h1{font-size:31px}.footer>span{max-width:160px;line-height:1.5}}
@media(max-width:700px){main{padding:0 20px}.header{height:73px;padding:0 20px}.wordmark{font-size:30px}.demo-label{font-size:9px;padding:7px 9px;gap:6px}.intro{padding:24px 0 30px}.intro h1{font-size:45px;line-height:1.06;letter-spacing:-1.8px;margin:13px 0 14px}.eyebrow{font-size:8px;letter-spacing:1.4px}.intro-copy{font-size:12px;line-height:1.65}.catalog-heading{display:block;margin-bottom:16px}.catalog-heading h2{font-size:13px;margin-bottom:14px}.filters{width:max-content}.filter{min-height:36px;padding:9px 14px;font-size:11px}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-card{aspect-ratio:.77;border-radius:14px}.template-meta{top:9px;left:9px;right:9px}.photo-count{font-size:9px;padding:5px 7px}.play-icon{width:24px;height:24px}.card-copy{bottom:15px;left:12px;right:10px}.card-title{font-size:20px;letter-spacing:-.5px;line-height:1.06}.card-duration{font-size:8px;margin-top:7px}.how-it-works{margin-top:36px;padding:27px 0 33px;display:block}.how-heading h2{font-size:28px;max-width:260px;margin-top:8px}.steps{margin-top:27px;gap:20px}.steps h3{font-size:12px}.steps p{font-size:11px}.footer{padding:23px 20px 28px;align-items:flex-start;gap:7px;flex-wrap:wrap}.footer .wordmark{font-size:26px;min-height:34px;flex-basis:100%}.footer p{font-size:10px;flex-basis:100%;margin-top:3px}.footer>span{font-size:9px;max-width:none;margin:7px 0 0}.create-view{padding-bottom:10px}.back-button{margin:0 0 16px;min-height:36px;font-size:11px}.create-layout{display:flex;flex-direction:column;gap:24px}.selected-story{width:100%;aspect-ratio:2.35;border-radius:15px}.selected-story>img{object-position:50% 45%}.selected-story:after{background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.1))}.selected-overlay{left:17px;bottom:17px;right:15px}.story-kicker{font-size:7px;letter-spacing:1.3px}.selected-overlay h2{font-size:29px;margin:6px 0 0;max-width:250px}.selected-overlay p{display:none}.example-label{font-size:8px;padding:5px 7px;top:11px;left:auto;right:11px}.creation-panel{width:100%;padding:0}.flow-steps{font-size:9px;margin-bottom:24px;gap:12px}.flow-line{width:30px}.creation-panel h1{font-size:31px;margin:9px 0 10px}.panel-copy{font-size:12px;line-height:1.65}.upload-slots{gap:10px;margin-top:20px}.upload-button{border-radius:13px;aspect-ratio:1.12}.single .upload-button{aspect-ratio:2.25}.file-hint{font-size:9px}.action-dock{margin-top:19px}.primary-button{min-height:54px;font-size:13px}.privacy-note{font-size:9px}.demo-explanation{font-size:9px;margin-top:21px;margin-bottom:23px}.generating-stage{padding:15px 0 35px}.generating-stage h1{font-size:28px}.progress-art{width:115px;height:145px;margin-bottom:30px}.result-stage h1{font-size:32px}.result-video-wrap{max-width:225px;margin-top:18px}.result-caption{font-size:9px}.result-stage{padding-bottom:20px}.result-actions{margin-top:17px}.creation-panel.is-working .flow-steps{margin-bottom:20px}}
@media(max-width:359px){main{padding:0 16px}.header{padding:0 16px}.intro h1{font-size:40px}.template-grid{gap:10px}.card-title{font-size:18px}.card-copy{left:10px;bottom:12px}.intro-copy{font-size:11px}.selected-overlay h2{font-size:25px}.upload-button strong{font-size:11px}.creation-panel h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:700px){.filter,.back-button{min-height:44px}.remove-photo{width:44px;height:44px;top:4px;right:4px}}
/* Live API workflow and the source sheet's portrait crops. */
.poster{position:absolute;display:block;width:100%;height:auto;top:50%;left:0;transform:translateY(-50%);background-repeat:no-repeat;background-color:#252c24;background-position:center;background-size:cover;pointer-events:none}
.template-card .poster{transition:filter .25s;filter:saturate(.88)}
.template-card:hover .poster{filter:saturate(1)}
.service-notice{border:1px solid #505d43;background:#232c1e;border-radius:14px;padding:14px 17px;color:#d3dfc8;font-size:12px;line-height:1.65;margin:8px 0 16px;overflow-wrap:anywhere}
.service-notice .text-button{padding:0;margin-top:6px;color:var(--accent)}
.status-dot.not-ready{background:#d9ba86}
.resume-banner{display:flex;gap:18px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:14px 17px;background:var(--surface);margin:8px 0 22px}
.resume-banner>div{min-width:0}.resume-banner strong{font-size:12px;font-weight:500}.resume-banner p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:4px}
.resume-button{min-height:44px;flex-shrink:0;border-radius:10px;padding:10px 15px;background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:600}
.input-hint{font-size:10px;line-height:1.65;color:var(--muted);margin-top:9px;overflow-wrap:anywhere}
.upload-button.dragging{border-color:var(--accent)!important;background:var(--surface-hover)}.upload-button:disabled{opacity:.7}.remove-photo:disabled{display:none}
.model-options{margin:23px 0 0;border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px;min-width:0}
.model-options legend{font-size:11px;color:var(--muted);padding:0;margin-bottom:10px}
.model-option{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;min-height:62px;min-width:0;background:var(--surface)}
.model-option:has(input:checked){border-color:#829969;background:#293321}.model-option input{accent-color:var(--accent);width:17px;height:17px;margin:0;flex-shrink:0}.model-option strong{display:block;font-size:12px;font-weight:600}.model-option small{display:block;color:var(--muted);font-size:9px;line-height:1.5;margin-top:4px}.model-option:has(input:disabled){cursor:default;opacity:.7}
.price-estimate{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:18px;font-size:10px;color:var(--muted)}.price-estimate strong{font-size:16px;color:var(--accent);font-weight:500;white-space:nowrap}.price-estimate>span{text-align:right;line-height:1.6}
.estimate-note{font-size:9px;line-height:1.65;color:var(--muted);margin-top:7px}.privacy-note{line-height:1.7;text-align:center;max-width:370px;margin-left:auto;margin-right:auto}
.generation-steps{list-style:none;margin:25px 0 0;padding:0;display:flex;align-items:center;justify-content:center;gap:22px;font-size:10px;color:var(--muted)}.generation-steps li{display:flex;align-items:center;gap:7px}.generation-steps li>span{width:23px;height:23px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:10px}.generation-steps .current{color:var(--accent)}.generation-steps .current>span{border-color:var(--accent)}.generation-steps .complete>span{background:#33432a;color:var(--accent)}
.progress-track.indeterminate{margin-top:22px}.progress-track.indeterminate span{width:35%;animation:working 1.7s ease-in-out infinite}.generation-note,.cancel-note{font-size:10px;line-height:1.7;color:var(--muted);margin:14px auto 0;max-width:340px}.cancel-note{font-size:9px;margin-top:3px}.scene-preview{margin:22px auto 0;max-width:180px}.scene-preview img{width:100%;max-height:220px;object-fit:contain;border-radius:12px;background:var(--surface)}.scene-preview figcaption{font-size:9px;color:var(--muted);margin-top:7px}.scene-preview:not([hidden])~.text-button{margin-top:10px}
.result-video-wrap video{object-fit:contain}.result-scene{margin-top:17px;border-top:1px solid var(--line);padding-top:5px}.result-scene summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted)}.result-scene img{width:100%;max-height:300px;object-fit:contain;border-radius:12px;background:var(--surface)}.save-status a{color:var(--accent);text-decoration:underline;display:inline-block;min-height:44px;padding-top:10px}.mock-result{border:1px dashed #536049;border-radius:17px;max-width:280px;margin:22px auto 0;padding:30px 20px;text-align:center;background:var(--surface)}.mock-result>span{font-size:32px;color:var(--accent)}.mock-result p{font-size:12px;line-height:1.8;margin-top:15px;color:var(--muted)}
@keyframes working{0%{transform:translateX(-110%)}100%{transform:translateX(390%)}}
@media(max-width:700px){.service-notice{font-size:11px;padding:12px 14px;margin-top:0}.resume-banner{gap:10px;padding:12px;margin-top:0}.resume-banner p{font-size:10px}.resume-button{padding:10px 12px;font-size:11px}.template-card{aspect-ratio:226/302}.selected-story>.poster{object-fit:initial}.selected-story{aspect-ratio:2.35}.model-options{margin-top:22px}.model-option{padding:10px;gap:8px}.model-option small{font-size:9px}.price-estimate{gap:10px}.input-hint{font-size:9px;line-height:1.65}.generation-steps{gap:15px;font-size:9px}.generation-note{font-size:10px}.generating-stage .panel-copy{min-height:40px}.footer>span{overflow-wrap:anywhere}.creation-panel{overflow-wrap:anywhere}}
@media(max-width:359px){.resume-banner{align-items:flex-start}.resume-banner strong{font-size:11px}.resume-button{font-size:10px;padding:10px}.model-option small{font-size:8px}.price-estimate{align-items:flex-start}.price-estimate>span{max-width:160px}.generation-steps{gap:11px}}
@media(prefers-reduced-motion:reduce){.progress-track.indeterminate span{width:100%;animation:none;opacity:.5}}
.input-role{font-size:11px;font-weight:500;line-height:1.5;color:var(--text);margin-bottom:8px;min-height:17px}.upload-slot .remove-photo{top:29px}.upload-slot:has(.upload-button:not(.has-photo)) .remove-photo{display:none}
@media(max-width:700px){.input-role{font-size:10px;margin-bottom:7px}.upload-slot .remove-photo{top:25px}}
.header-actions{display:flex;align-items:center;gap:12px}.membership-button{min-height:44px;background:transparent;color:var(--text);font-size:12px;padding:8px 10px}.catalog-caption{color:var(--muted);font-size:11px}.add-photo-button{display:block;min-height:44px;background:none;color:var(--accent);font-size:12px;padding:10px 0;margin-top:8px}.billing-dialog{color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:32px 24px;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}.billing-dialog::backdrop{background:rgba(0,0,0,.72)}.billing-dialog h2{font:400 32px/1.15 Georgia,serif;margin:12px 0 16px}.dialog-close{position:absolute;right:10px;top:8px;min-width:44px;min-height:44px;font-size:26px;background:none;color:var(--muted)}.billing-actions{margin-top:22px}.billing-plan{font-size:15px;line-height:1.7;color:var(--accent);margin-top:18px}.billing-footnote,.billing-recovery p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:20px}.billing-recovery{margin-top:20px;border-top:1px solid var(--line);font-size:12px}.billing-recovery summary{padding:16px 0;cursor:pointer;min-height:44px}.billing-recovery form{display:grid;gap:8px;margin-top:14px}.billing-recovery input{width:100%;min-height:46px;border-radius:8px;border:1px solid var(--line);padding:10px;background:var(--surface);color:var(--text);font:inherit}.billing-code{white-space:normal;overflow-wrap:anywhere;padding:16px;border:1px solid var(--line);font-size:12px;line-height:1.8;margin-top:12px}.stripe-checkout{margin-top:16px;min-height:350px;background:white;border-radius:12px;overflow:hidden}.poster-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.selected-story>.poster-image{object-position:center 35%}@media(max-width:700px){.header-actions{gap:6px}.membership-button{font-size:10px;padding:6px}.catalog-heading{display:flex;align-items:center}.catalog-heading h2{margin:0}.catalog-caption{font-size:9px}.billing-dialog{padding:30px 20px}.billing-dialog h2{font-size:29px}.add-photo-button{font-size:11px}}
/* The locked preview uses only the locally selected original photos. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.locked-stage{padding-top:0}.locked-stage h1{max-width:360px}.locked-preview{height:300px;position:relative;isolation:isolate;overflow:hidden;border-radius:22px;border:1px solid #566449;background:#30382b;margin:22px 0 18px}.locked-photos{position:absolute;inset:-15px;display:flex;filter:blur(9px);transform:scale(1.08);opacity:.8}.locked-photos img{width:100%;min-width:0;flex:1;object-fit:cover}.locked-preview:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(15,23,14,.18),rgba(15,23,14,.48))}.original-preview-label{position:absolute;left:16px;right:16px;top:15px;z-index:1;text-align:center;font-size:9px;letter-spacing:.35px;color:rgba(255,255,255,.82)}.preview-lock{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;background:transparent;color:white;padding:30px 15px 20px}.preview-lock svg{width:62px;height:62px;padding:14px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.35);border-radius:50%;stroke:var(--accent);stroke-width:1.4;backdrop-filter:blur(12px);box-shadow:0 10px 35px rgba(0,0,0,.15)}.preview-lock>span{font:400 26px/1.2 Georgia,serif;letter-spacing:-.3px;max-width:280px}.preview-lock small{font-size:10px;color:rgba(255,255,255,.75)}.preview-lock:hover svg{background:rgba(255,255,255,.23)}.locked-description{font-size:12px;line-height:1.8;color:var(--muted)}.locked-price{font-size:14px;color:var(--accent);margin:19px 0 13px}.locked-memory-note{font-size:10px;line-height:1.7;color:var(--muted);text-align:center;margin:14px auto 0;max-width:320px}.billing-dialog{position:relative}.billing-mode{font-size:9px;line-height:1.5;letter-spacing:.8px;color:#e4c892;background:#332e20;border-radius:7px;padding:9px 11px;margin-top:14px}.billing-renewal{color:var(--muted);font-size:10px;line-height:1.6;margin-top:3px}.billing-credits{display:inline-block;font-size:12px;line-height:1.6;color:var(--accent);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:9px 12px;margin-top:16px}.billing-unavailable{font-size:12px;line-height:1.8;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:18px;color:var(--muted)}.billing-diagnostics{font-size:10px;color:var(--muted);border-top:1px solid var(--line);margin-top:20px}.billing-diagnostics summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.billing-diagnostics p{line-height:1.6;margin:4px 0 8px}.billing-diagnostics code{display:block;overflow-wrap:anywhere;user-select:all;padding:10px;background:var(--surface);border-radius:7px;color:var(--text)}.upload-button.has-photo:after{content:"Replace photo"}.generation-steps li>span+span{width:auto;height:auto;border:0;border-radius:0;background:none;color:inherit;display:inline}
@media(max-width:700px){.header-actions{gap:3px}.locked-preview{height:280px;margin-top:19px}.preview-lock>span{font-size:25px}.locked-description{font-size:12px}.locked-stage{padding-bottom:20px}.billing-mode{font-size:8px}.demo-label{font-size:8px;padding:6px}.membership-button{max-width:98px;line-height:1.4}.locked-memory-note{font-size:9px}}

/* Comfortable touch targets and readable controls on small screens. */
.primary-button>span{font:inherit;margin-left:0}.result-saved{text-align:center;color:var(--accent);font-size:10px;line-height:1.6;margin-top:8px}.membership-button{border:1px solid var(--line)!important;border-radius:100px;padding:10px 15px}.billing-diagnostics{opacity:.75}.billing-diagnostics summary{font-size:10px}.billing-recovery input{font-size:16px}.billing-actions .primary-button{font-size:12px;line-height:1.6}.billing-plan{font-size:17px;line-height:1.6}
@media(max-width:700px){.header{height:72px}.header-actions{gap:8px}.membership-button{min-height:44px;max-width:none;font-size:11px;padding:10px 14px}.create-view{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.primary-button,.secondary-button{min-height:54px}.primary-button{font-size:14px}.locked-preview{height:clamp(245px,72vw,310px)}.locked-description{line-height:1.75}.locked-price{font-size:15px}.billing-dialog{padding:32px 22px 26px}.billing-plan{font-size:16px}.billing-renewal,.billing-footnote{font-size:11px;line-height:1.75}.card-title{font-size:21px;line-height:1.12}.input-hint{font-size:10px}.file-hint{font-size:10px}.privacy-note{font-size:10px}.upload-status{font-size:12px}.result-caption{font-size:11px}.result-video-wrap{max-width:260px;width:100%}.result-actions{margin-top:20px}}
@media(max-width:359px){.card-title{font-size:18px}.billing-dialog{padding-left:18px;padding-right:18px}.intro h1{font-size:39px}}

/* Identity-photo previews keep the whole image visible, including every face. */
.upload-button.has-photo>img{object-fit:contain;background:var(--surface)}
.single .upload-button.has-photo{aspect-ratio:1.8}

/* Monthly and one-time attempts remain distinct at every screen size. */
.billing-balances{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.billing-balances .billing-credits{display:block;margin-top:0;min-width:0;overflow-wrap:anywhere;padding:12px;font-size:12px;line-height:1.7}.billing-balance-note{font-size:11px;line-height:1.75;color:var(--muted);margin-top:11px}.billing-extra-offer{margin-top:12px}.billing-extra-offer .secondary-button{margin-top:0;color:var(--accent)}.billing-extra-offer p{font-size:11px;line-height:1.75;text-align:center;color:var(--muted);margin-top:9px}.billing-extra-offer+.secondary-button{margin-top:16px}.billing-dialog .primary-button,.billing-dialog .secondary-button{white-space:normal;overflow-wrap:anywhere}.locked-stage h1{overflow-wrap:anywhere}
@media(max-width:400px){.billing-balances{grid-template-columns:1fr;gap:8px}.billing-balances .billing-credits{padding:10px 12px}.billing-extra-offer p,.billing-balance-note{font-size:10px}}
