:root{color-scheme:dark;--bg:#000;--text:#fff;--muted:#a3a3a3;--card:#1b1b1d;--line:#2a2a2d;--brand-start:#A9F10F;--brand-end:#F0FF42;--brand-contrast:#10120a;--brand:linear-gradient(90deg,var(--brand-start) 0%,var(--brand-end) 100%);--light-brand:var(--brand);--cta-space:calc(64px + max(12px,env(safe-area-inset-bottom)))}
    *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
    html,body{margin:0;padding:0;height:100%;overflow:hidden;overscroll-behavior:none;background:#000;touch-action:manipulation}
    body{color:var(--text);font-family:'Clash Display',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;display:flex;justify-content:center}
    button,input{font:inherit}button,a,label{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,label:focus-visible{outline:2px solid var(--brand-end);outline-offset:4px}
    button{color:inherit}a{color:inherit}img{max-width:100%}svg{display:block}h1,h2,p{margin:0}h1,h2{font-weight:600;letter-spacing:-.02em}button:disabled{cursor:default}
    /* 全局入口样式给 #app 设了 min-height:100vh（Tailwind min-h-screen）；不重置的话，
       --app-height 收小时会被顶回整屏高度，内置浏览器底部工具栏出现后 CTA 仍被裁掉。 */
    #app{position:relative;width:100%;max-width:440px;min-height:0;height:100vh;height:100dvh;height:var(--app-height,100svh);max-height:100dvh;overflow:hidden;background:#000;isolation:isolate}
    .screen{position:absolute;inset:0;display:none;flex-direction:column;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:#000;animation:screenIn .4s ease-out;scrollbar-width:none}
    .screen::-webkit-scrollbar{display:none}.screen.active{display:flex}
    .brand{display:block;position:relative;flex:none;height:44px;width:fit-content;margin:26px auto 6px;z-index:5}
    .brand img{display:block;height:44px;width:auto}.brand::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 40%,#ffffffb0 49%,#ffffffb0 51%,transparent 60%);background-size:320% 100%;mask:url('/v3/common/logo.svg') center/100% 100% no-repeat;animation:shine 7.5s ease-in-out infinite}
    .back{position:absolute;top:16px;left:16px;z-index:10;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;padding:0;background:#ffffff1f;border:1px solid #ffffff47;box-shadow:inset 0 1px 1px #ffffff8c,inset 0 -6px 12px #ffffff0f,0 8px 22px #0006;backdrop-filter:blur(18px) saturate(180%);transition:transform .15s}
    .back svg{width:20px;height:20px}.back:active{transform:scale(.92)}
    /* Back button and logo share one vertical center when both appear in the header. */
    .brand + .back{top:28px}
    .pad{padding:24px}.grow{flex:1 0 auto}.sub{font-size:15px;font-weight:400;line-height:1.45;color:var(--muted);text-align:center}
    .cta-wrap{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:20;width:100%;max-width:440px;flex:none;padding:10px 20px max(12px,env(safe-area-inset-bottom));background:linear-gradient(to top,#000 62%,transparent);pointer-events:none}.cta-wrap>*{pointer-events:auto}
    .btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:54px;padding:0 18px;border:0;border-radius:14px;background:var(--brand);box-shadow:inset 0 0 0 1px #ffffff47;color:var(--brand-contrast);font-size:18px;line-height:1.2;letter-spacing:-.01em;font-weight:600;text-decoration:none;transition:transform .12s,opacity .2s}
    .btn:active{transform:scale(.98)}.btn:disabled{opacity:.42;pointer-events:none}.btn.white{background:#fff;color:#0a0810;box-shadow:none}.btn.quiet{background:#222;color:#fff;box-shadow:none}
    .cta-wrap .btn{font-size:calc(18px * 1.2)}
    .welcome{overflow:hidden;background:#000}.welcome .brand,#email>.brand{position:absolute;top:22px;left:50%;margin:0;transform:translateX(-50%);pointer-events:none}
    .hero-media{position:absolute;inset:0;background:#10130c;z-index:0}.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    .hero-media::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,#0009 0%,transparent 18%,transparent 52%,#0000008c 70%,#000000eb 100%)}
    .sound{position:absolute;right:14px;top:24px;z-index:7;border:0;background:#0006;backdrop-filter:blur(8px);border-radius:50%;width:40px;height:40px;padding:10px;display:grid;place-items:center;color:#fff}
    .sound svg{width:20px;height:20px}.sound .audible{display:none}.sound[aria-pressed="true"] .audible{display:block}.sound[aria-pressed="true"] .muted-icon{display:none}
    .welcome-caption{position:fixed;left:50%;bottom:calc(var(--cta-space) + 20px);transform:translateX(-50%);z-index:15;width:100%;max-width:440px;margin:0;padding:0 24px;text-align:center;pointer-events:none}
    .welcome-caption h1{font-size:26px;line-height:1.2;font-weight:600;text-wrap:balance;letter-spacing:-.02em;text-shadow:0 2px 16px #000b}
    .dots{display:flex;align-items:center;justify-content:center;gap:6px;padding:0 0 4px;position:relative;z-index:4;flex:none}
    .dots button{border:0;padding:0;width:7px;height:7px;flex:none;border-radius:99px;background:#ffffff59;transition:width .25s,background .25s}.dots button.on{width:22px;background:#fff}
    .welcome .cta-wrap{background:none}.welcome .dots{position:fixed;left:50%;bottom:calc(var(--cta-space) + 6px);transform:translateX(-50%);z-index:15;padding:0;width:auto}
    .word{display:inline-block;animation:wordIn .34s cubic-bezier(.4,0,.2,1) both}
    .question .pad{padding-top:24px;padding-bottom:calc(var(--cta-space) + 24px)}.question-continue{font-size:calc(18px * 1.2)}.qline{display:flex;gap:8px;margin-bottom:22px}.qline i{height:4px;border-radius:2px;flex:1;background:#2a2a2d;overflow:hidden}.qline i::after{content:'';display:block;width:var(--fill,0%);height:100%;border-radius:inherit;background:var(--light-brand)}
    .question h1{font-size:25px;line-height:1.24;text-wrap:balance;text-align:center;margin:0 0 20px}
    .options{display:flex;flex-direction:column;gap:10px}.option{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:23px 18px;border-radius:14px;background:#1B1B1D;border:2px solid #2A2A2D;font-size:15.5px;font-weight:500;line-height:1.3;transition:background .3s,border-color .3s,scale .2s;animation:upIn .5s both}
    .option:hover{border-color:#3a3a3e}.option:active{scale:.975}.option.selected{border-color:transparent;background:linear-gradient(#24290F,#24290F) padding-box,linear-gradient(90deg,#4CE700 0%,#F0FF42 100%) border-box;box-shadow:0 0 18px #dcff202e}
    .option .emoji{flex:0 0 24px;width:24px;font-size:20px;line-height:1;text-align:center}.option .answer{flex:1;min-width:0}
    .trust-body{position:relative;display:flex;flex-direction:column;justify-content:center;flex:1 0 420px;overflow:hidden;min-height:0;padding-bottom:calc(var(--cta-space) + 56px)}
    .fan-stage{width:100%;position:relative;flex:none;display:flex;flex-direction:column;align-items:center;gap:10px;padding:4px 0}
    .marquee{position:relative;width:100%;flex:none;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
    .marquee-track{display:flex;align-items:center;width:max-content;gap:10px;animation:marquee 17.5s linear infinite}.second .marquee-track{animation-direction:reverse;animation-duration:20s}
    .marquee img{display:block;height:calc(clamp(56px,calc(var(--app-height,100svh) * .1),92px) * 1.95);width:auto;aspect-ratio:3 / 4;object-fit:cover;object-position:center;flex:none;border:2px solid #fff;border-radius:12px;background:#1b1b1d}
    .your-photo{position:relative;flex:none;margin-top:-70px;width:150px;z-index:2}.your-photo img{display:block;width:100%;height:auto}
    .trust-title{margin:20px 24px 0;text-align:center;font-size:26px;line-height:1.2;text-wrap:balance}
    /* 上传页用原生块级滚动容器：部分移动端 WebView 对 flex 容器的溢出滚动支持不稳定。 */
    #upload.active{display:block;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}
    #upload .pad{padding-top:24px;padding-bottom:max(200px,calc(env(safe-area-inset-bottom) + 32px));text-align:center}#upload h1{font-size:25px;line-height:1.24;margin-bottom:10px;text-wrap:balance}
    .photo-container{margin-top:18px}.upload-slot{display:flex;align-items:center;justify-content:center;position:relative;width:min(100%,40dvh,360px);aspect-ratio:3 / 4;margin:auto;border:2px dashed #ffffff47;border-radius:16px;background:#1b1b1d;overflow:hidden;cursor:pointer}
    .upload-slot:hover,.upload-slot.dragging{border-color:var(--brand-end)}.upload-slot svg{width:34px;height:34px;stroke:#fff9}.upload-slot.has-image{border-style:solid;border-color:#ffffff59}.upload-slot.has-image>svg{display:none}.upload-slot .preview{display:none;width:100%;height:100%;object-fit:cover;object-position:center top}.upload-slot.has-image .preview{display:block}
    .remove-photo{position:absolute;right:8px;top:8px;width:30px;height:30px;display:none;padding:0;border:1px solid #fff5;border-radius:50%;background:#0009;color:transparent;font-size:0;line-height:0}.has-image .remove-photo{display:block}.remove-photo::before,.remove-photo::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:1.5px;border-radius:1px;background:#fff}.remove-photo::before{transform:translate(-50%,-50%) rotate(45deg)}.remove-photo::after{transform:translate(-50%,-50%) rotate(-45deg)}
    .upload-actions{display:flex;gap:10px;margin-top:16px}.upload-actions .btn{flex:1;padding:0 10px;font-size:calc(18px * 1.2)}.error{color:#ff9aa2;font-size:13px;line-height:1.4;margin-top:10px}.error:empty{display:none}
    .examples{margin:18px 0 8px;padding:16px 14px 14px;border-radius:18px;background:#1b1b1d;border:1px solid #2a2a2d;text-align:center}.example-title{font-size:17px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}
    .check{width:20px;height:20px;display:inline-grid;place-items:center;flex:none;border-radius:50%;background:var(--light-brand);color:var(--brand-contrast);font-size:13px}.example-check{display:block;width:1em;height:1em;flex:none;object-fit:contain}.example-photos{display:flex;justify-content:center;gap:8px;margin:12px 0 10px}.example-photos img{width:calc((100% - 24px)/4);max-width:76px;aspect-ratio:1;border-radius:14px;object-fit:cover}.examples p{font-size:13.5px;line-height:1.35;color:#ffffff8c;text-wrap:balance}
    #processing .pad{padding:18px 24px 24px;flex:1;min-height:0;display:flex;flex-direction:column;gap:18px}#processing h1{text-align:center;font-size:24px;line-height:1.2;flex:none}
    .processing-media{position:relative;min-height:100px;flex:1;max-height:50dvh;aspect-ratio:4/5;width:100%;border-radius:24px;overflow:hidden;mask-image:linear-gradient(to bottom,#000 62%,#0000008c 82%,transparent 100%)}.processing-media video{width:100%;height:100%;object-fit:cover;object-position:center 20%}.processing-media .sound{top:12px;right:12px}
    .progress-rows{display:flex;flex-direction:column;gap:14px;flex:none}.progress-heading{display:flex;align-items:center;gap:8px;font-size:15.5px;font-weight:600}.progress-heading .label{flex:1}.percentage{font-variant-numeric:tabular-nums}.progress-icon{width:22px;height:22px;display:grid;place-items:center}.progress-tick{display:block;width:20px;height:20px;object-fit:contain}.spinner{width:18px;height:18px;border:2px solid #ffffff33;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.progress-bar{height:8px;border-radius:4px;background:#2a2a2d;margin-top:8px;overflow:hidden}.progress-bar i{display:block;width:0;height:100%;border-radius:inherit;background:var(--light-brand)}
    #email form{display:flex;flex-direction:column;flex:1}#email .pad{padding:0 20px calc(var(--cta-space) + 24px);flex:1}#email h1{font-size:26px;line-height:1.22;text-align:center;margin:4px 0 20px;text-wrap:balance}.gradient-text{background:var(--light-brand);background-clip:text;-webkit-background-clip:text;color:transparent}
    .email-hero{position:relative;height:34dvh;min-height:170px;max-height:340px;flex:none;overflow:hidden;mask-image:linear-gradient(to bottom,#000 62%,#000b 84%,transparent)}.email-hero video{width:100%;height:100%;object-fit:cover;object-position:center}.email-hero-poster{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;transition:opacity .25s}.email-hero.is-ready .email-hero-poster{opacity:0}
    .field{width:100%;height:58px;padding:0 18px;border-radius:14px;border:1px solid #2a2a2d;background:#1b1b1d;color:#fff;font-size:16px;font-weight:500}.field::placeholder{color:#ffffff59}.field:focus{outline:none;border-color:transparent;background:linear-gradient(#1b1b1d,#1b1b1d) padding-box,var(--light-brand) border-box}
    .safe{display:flex;align-items:center;gap:14px;margin-top:14px;padding:14px 18px;border-radius:20px;background:#22a35512;border:1px solid #22a35559}.safe svg{flex:0 0 28px}.safe-title{font-size:15px;font-weight:600;line-height:1.25}.safe-sub{font-size:13px;color:#ffffff8c;margin-top:3px;line-height:1.35}.fine{font-size:12.5px;line-height:1.5;color:#ffffff73;text-align:center;margin-top:14px}.fine a{color:#ffffffb3;text-underline-offset:2px}.email-privacy{margin-top:8px}
    .securebar{position:sticky;top:0;z-index:10;flex:none;display:flex;align-items:center;gap:10px;background:#171b12f5;border-bottom:1px solid #ffffff1a;padding:10px 16px;backdrop-filter:blur(14px);font-size:14px;font-weight:600}.securebar-provider{margin-left:auto;color:var(--brand-end);font-size:18px;letter-spacing:-.04em}.payment-back{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #ffffff26;border-radius:50%;background:#ffffff0d}.payment-back svg{width:18px;height:18px}
    .paywall-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:14px 16px 10px;flex:none;background:#000}.offer-countdown{justify-self:center;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:0;box-shadow:none;color:#fff;font-family:'Gilroy','Clash Display',Inter,sans-serif;font-size:16px;font-weight:600;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}.offer-countdown strong{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.paywall-top-spacer{display:block;width:32px;height:32px}
    .paywall-hero{height:220px;flex:none;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:24px 20px 0;overflow:hidden;background:#000}.paywall-video{position:absolute;inset:-20px;width:calc(100% + 40px);height:calc(100% + 40px);object-fit:cover;object-position:center;filter:blur(10px);opacity:.5}.paywall-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#000 100%)}.paywall-content{position:relative;z-index:1;text-align:center}.lock{font-size:32px;line-height:1;margin-bottom:10px}.paywall-eyebrow{font-size:15px;color:#ffffffb3;margin-bottom:6px}.paywall-content h1{font-size:31px;line-height:1.15}
    #paywall>.pad{padding:10px 14px max(200px,calc(env(safe-area-inset-bottom) + 32px))}.plans{scroll-margin-top:80px;display:flex;flex-direction:column;gap:12px}
    .plans-status{margin:12px 0;color:#b6b1bc;text-align:center;font-size:14px;line-height:1.5}.plans-status[hidden],.plans-retry[hidden]{display:none}.plans-retry{margin:12px 0}
    .plan{display:block;position:relative;width:100%;margin:0;padding:0;border:2px solid #2a2a2d;border-radius:20px;background:#1b1b1d;color:#fff;text-align:left;transition:border-color .2s,box-shadow .2s}
    .plan.selected{border-color:transparent;background:linear-gradient(#1c2116,#1c2116) padding-box,var(--brand) border-box;box-shadow:0 0 22px #dcff2033}
    .plan.has-recommendation{padding-top:26px;border-color:transparent;background:var(--brand)}
    .plan-badge{color:var(--brand-contrast);position:absolute;top:0;left:0;right:0;height:26px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;line-height:1.2}
    .plan-content{position:relative;display:flex;align-items:center;gap:12px;min-height:88px;padding:16px 12px;background:#1c2116;border-radius:17px}
    .has-recommendation .plan-content{border-top-left-radius:19px;border-top-right-radius:19px}
    .radio{width:23px;height:23px;flex:none;border:2px solid #505056;border-radius:50%;display:grid;place-items:center}.selected .radio{border:0;background:transparent url('/v3/common/tick.png') center/contain no-repeat}.selected .radio::after{content:none}
    .plan-info{display:flex;flex-direction:column;flex:1;min-width:0;gap:5px}.plan-title{font-size:19px;font-weight:600;line-height:1.2}.plan-price{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:14px;line-height:1.3;font-weight:500}.old-price{color:#999;text-decoration:line-through}.actual-price{color:#dedde1}
    .per-day{flex:none;min-width:77px;padding:9px 10px;text-align:center;border:1px solid #ffffff08;border-radius:13px;background:linear-gradient(#3b3b40,#2b2b2f)}.selected .per-day{background:var(--brand);border-color:transparent;color:var(--brand-contrast)}.per-day b{display:block;font-size:25px;line-height:1.1;font-weight:600;white-space:nowrap}.per-day small{display:block;font-size:12px;margin-top:5px;line-height:1.2}
    @media(max-width:360px){.offer-countdown{font-size:14px;padding:7px 10px;gap:4px}.offer-countdown strong{font-size:15px}.plan-content{gap:9px;padding:14px 10px}.plan-title{font-size:18px}.plan-price{font-size:13px}.per-day{min-width:70px;padding:8px}.per-day b{font-size:23px}}
    .subscription-note{font-size:11px;line-height:1.5;color:#999;text-align:center;margin:14px 4px}.subscription-note a{text-underline-offset:2px}
    .pass{margin-top:24px;padding:20px 18px;border:1px solid #ffffff26;border-radius:20px;background:linear-gradient(145deg,#171917,#0b0d0a 48%,#12170d);box-shadow:inset 0 1px 0 #ffffff0d}.pass h2{font-size:22px;font-weight:700;line-height:1.2;text-align:left;margin-bottom:18px}.pass ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.pass li{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.4;color:#f2f0f3}.pass li svg{width:24px;height:24px;flex:none;color:#fff}.pass li span{min-width:0}.payment-guarantee{margin-top:30px;padding:0 10px;text-align:center}.payment-guarantee-icon{display:block;width:64px;height:64px;margin:0 auto 14px}.payment-guarantee h2{font-size:25px;font-weight:700;line-height:1.2;margin-bottom:14px}.payment-guarantee p{font-size:15px;line-height:1.5;color:#f2f0f3;max-width:340px;margin:0 auto}.payment-guarantee p+p{margin-top:14px}.paywall-comment{display:block;width:100%;height:auto;margin:24px 0;border-radius:24px;overflow:hidden;background:#1b1b1d}
    .faq{margin:28px 0}.faq h2{font-size:24px;text-align:center;margin-bottom:18px}.faq details{border-bottom:1px solid #292929;padding:16px 0}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px;font-weight:500;line-height:1.4}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';font-size:23px;flex:none}.faq details[open] summary::after{content:'−'}.faq details p{margin-top:12px;font-size:13px;line-height:1.55;color:#aaa}.support{text-align:center;padding:10px 0 24px}.support h2{font-size:22px}.support p{font-size:14px;color:#aaa;margin:8px 0 16px}.support a{font-size:14px}footer{display:flex;justify-content:center;gap:20px;font-size:11px;color:#888;padding:12px}
    .framed .welcome .brand{position:relative;top:0;left:0;transform:none;margin:22px auto 12px}.framed .hero-media{position:relative;height:72dvh;flex:0 1 auto;min-height:0;aspect-ratio:9/16;max-width:calc(100% - 40px);border:1px solid #ffffff47;border-radius:14px;margin:0 auto;overflow:hidden}.framed .hero-media::after{background:linear-gradient(#0008,transparent 20%)}.framed .welcome-caption{margin-top:0;padding-bottom:12px}.framed .welcome .cta-wrap{margin-top:auto}
    @keyframes screenIn{from{opacity:0}to{opacity:1}}@keyframes upIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes wordIn{from{opacity:0;transform:translateY(.34em);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes shine{0%,55%{background-position:160% 0}85%,100%{background-position:-160% 0}}
    @media(max-height:740px){.trust-body{padding-bottom:calc(var(--cta-space) + 24px)}.fan-stage{transform:scale(.94);margin:-12px 0}.trust-title{margin-top:12px}}
    @media(max-height:650px){.brand{height:36px}.brand img{height:36px}.brand + .back{top:24px}.sound{top:20px}.question .pad{padding-top:18px}.question h1{font-size:23px;margin-bottom:16px}.question .qline{margin-bottom:18px}.option{padding:19px 16px}.trust-body{flex-basis:330px;padding-bottom:calc(var(--cta-space) + 24px)}.fan-stage{transform:scale(.85);margin:-18px 0}.marquee img{height:calc(clamp(48px,calc(var(--app-height,100svh) * .085),72px) * 1.95)}.trust-title{font-size:24px}.welcome-caption h1{font-size:24px}.email-hero{min-height:140px}.safe{padding:10px 14px}}
    @media(max-height:560px){.trust-body{justify-content:flex-end;padding-bottom:calc(var(--cta-space) + 12px)}.your-photo{width:120px;margin-top:-80px}.trust-title{font-size:22px;margin-top:8px}.marquee img{height:calc(clamp(40px,calc(var(--app-height,100svh) * .085),72px) * 1.95)}}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.word{opacity:1}}
/* Keep the reference layout isolated from the shared site's reset. */
body.v3-experience{font-family:'Clash Display',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:normal;color:#fff;background:#000;display:flex;justify-content:center}
.v3-experience #app{display:block;flex:none}
.v3-experience .brand{max-width:62%}.v3-experience .brand img{max-width:100%;object-fit:contain}
.photo-grid{display:grid;grid-template-columns:repeat(var(--photo-count),minmax(0,1fr));gap:12px}.photo-grid .upload-slot{width:100%;max-width:320px}.photo-label{font-size:13px;color:#aaa;margin:0 0 8px}.photo-grid .upload-slot:has(.photo-label){flex-direction:column}
.photo-grid .remove-photo{z-index:2}
.stripe-payment{min-width:0;margin-top:20px;padding:18px 16px 14px;border:1px solid #ffffff26;border-radius:18px;background:linear-gradient(150deg,#1c2417,#10150d);scroll-margin-top:80px}
.stripe-payment-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.stripe-payment-eyebrow{display:block;font-size:11px;color:#b8bfa9;letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px}.stripe-payment-heading h2{font-size:18px;line-height:1.2}.stripe-payment-heading strong{font-size:25px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.stripe-payment-divider{height:1px;margin:16px 0;background:#ffffff1a}.stripe-payment-status{font-size:13px;line-height:1.5;color:#c2ccb9;text-wrap:pretty}.stripe-payment-status:empty,.stripe-payment-status[hidden]{display:none}.stripe-payment[aria-busy="true"] .stripe-payment-status::before{content:'';display:inline-block;width:13px;height:13px;margin-right:9px;vertical-align:-2px;border:2px solid #ffffff3d;border-top-color:var(--brand-start);border-radius:50%;animation:spin .8s linear infinite}.stripe-payment[data-state="error"] .stripe-payment-status{color:#ffadb5}.stripe-payment[data-state="complete"] .stripe-payment-status{color:#bce8c9}
.stripe-embedded-checkout{min-width:0;margin-top:14px;border-radius:10px;overflow:hidden}.stripe-embedded-checkout:empty{margin-top:0}.stripe-payment-retry{height:44px;margin-top:14px;font-size:14px}.stripe-payment-retry[hidden]{display:none}.stripe-payment-security{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;font-size:11px;color:#a8b19d}.stripe-payment-security svg{width:13px;height:13px}.stripe-payment-security span{color:var(--brand-end);font-size:15px;font-weight:600;letter-spacing:-.04em}
/* Checkout owns its amount, billing fields, wallets and payment button. */
.stripe-payment[data-state="ready"],.stripe-payment[data-state="processing"]{padding:0;border:0;background:#fff;color:#1a1a1a;border-radius:12px}
.stripe-payment:is([data-state="ready"],[data-state="processing"])>.stripe-payment-heading,.stripe-payment:is([data-state="ready"],[data-state="processing"])>.stripe-payment-divider,.stripe-payment:is([data-state="ready"],[data-state="processing"])>.stripe-payment-status,.stripe-payment:is([data-state="ready"],[data-state="processing"])>.stripe-payment-security{display:none}
.stripe-payment:is([data-state="ready"],[data-state="processing"])>.stripe-embedded-checkout{margin:0;border-radius:12px;background:#fff}
.generation>.pad{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center}.generation h1{font-size:30px;line-height:1.2}.generation .sub{max-width:340px}.generation-spinner{display:block;width:52px;height:52px;border-width:4px;border-top-color:var(--brand-start)}.generation [hidden]{display:none!important}
@media(max-width:360px){.stripe-payment{padding:16px 10px 12px}.stripe-payment-heading strong{font-size:22px}.stripe-embedded-checkout{margin-inline:-9px}}
@media(max-width:360px){.stripe-payment:is([data-state="ready"],[data-state="processing"]){padding:0}.stripe-payment:is([data-state="ready"],[data-state="processing"])>.stripe-embedded-checkout{margin:0}}
@media(min-width:600px){body.v3-experience{background:#101012}.v3-experience #app{box-shadow:0 0 100px #0008}}

