.photo-option video{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.click-hint{z-index:3;border-radius:24px}.click-hint svg{width:100%;height:100%;overflow:visible;pointer-events:none}.tap-hand{fill:#ffffff66;stroke:#ffffffe0;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;animation:cursor-tap 1.5s ease-in-out infinite}.tap-ring{fill:none;stroke:#ffffff70;stroke-width:5;transform-origin:45px 18px;animation:tap-ripple 1.5s ease-out infinite}@keyframes cursor-tap{0%,65%,100%{transform:translate(0,0)}30%,45%{transform:translate(0,-5px)}}@keyframes tap-ripple{0%,15%{opacity:0;transform:scale(.45)}35%{opacity:.8}70%,100%{opacity:0;transform:scale(1.15)}}@media(prefers-reduced-motion:reduce){.tap-hand,.tap-ring{animation:none}.tap-ring{opacity:.4}}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#17141a}body{font-family:Arial,"Microsoft YaHei",sans-serif}button{font:inherit;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}.viewport{min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden}.frame{position:relative;flex:none;overflow:hidden}.stage{position:absolute;left:0;top:0;width:880px;transform-origin:top left;isolation:isolate}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;display:block;pointer-events:none;user-select:none}.controls{position:absolute;top:0;right:0;bottom:0;left:0;inset:0}.tap{position:absolute;border:0;background:transparent;color:transparent;cursor:pointer;padding:0;touch-action:manipulation;border-radius:22px}.tap:focus-visible,.photo-option:focus-visible,.radio-option:focus-visible{outline:6px solid #0086c9;outline-offset:6px;z-index:2}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.radio-option{position:absolute;border:3px solid transparent;border-radius:19px;background:transparent;padding:0;cursor:pointer}.radio-option[aria-checked=true]{border-color:#ce003f}.radio-option .radio-circle{display:none;position:absolute;right:39px;top:27px;width:57px;height:57px;border:4px solid #bd0039;border-radius:50%;background:#fff}.radio-option[aria-checked=true] .radio-circle{display:block}.radio-circle:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;inset:6px;border-radius:50%;background:#ff2c59}.submit-face{background:#ff2454;color:#fff;font-size:38px}.submit-face:disabled{opacity:0}.submit-face.busy{opacity:1}.spinner{display:block;width:29px;height:29px;margin:auto;border:4px solid #ffffff70;border-right-color:white;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.photo-option{position:absolute;border:0;padding:0;overflow:hidden;background:#d2d4dc;border-radius:28px;cursor:pointer;outline:4px solid transparent;outline-offset:-2px}.photo-option img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.photo-option[aria-pressed=true]{outline-color:#df0099}.disabled-mask{border-radius:60px;background:#b0b0b080;cursor:not-allowed}.progress-track{position:absolute;height:30px;background:#def9fa;border-radius:30px;overflow:hidden}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#f500a4,#f441c4);border-radius:30px;transition:width .06s linear}.plain-screen{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:linear-gradient(#edafd8,#d5d5e5 47%,#a8f3f2);color:#19181b}.plain-title{margin:30px 0 0;text-align:center;font-size:46px;font-weight:900;font-style:italic}.plain-center{position:absolute;left:110px;right:110px;top:500px;text-align:center}.plain-center h1{font-size:46px;line-height:1.4;margin:0 0 32px}.plain-center p{font-size:30px;line-height:1.8;margin:0}.plain-button{position:absolute;left:140px;right:140px;bottom:125px;height:100px;border:0;border-radius:56px;background:#1e1c1f;color:white;font-size:36px;cursor:pointer}.plain-button:focus-visible{outline:6px solid #0086c9;outline-offset:6px}.secondary-end{bottom:250px;background:transparent;border:3px solid #262028;color:#262028}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:#0007;display:flex;justify-content:center;align-items:center;z-index:20}.dialog{background:white;border-radius:24px;padding:40px;width:710px;color:#252126;box-shadow:0 12px 50px #0003}.dialog h2{font-size:40px;margin:0 0 26px}.dialog p{font-size:29px;line-height:1.65}.dialog button{width:100%;font-size:32px;min-height:84px;background:#ff2857;color:white;border:0;border-radius:16px;cursor:pointer}.dialog button+button{margin-top:18px;background:#eee;color:#252126}.dialog button:focus-visible{outline:5px solid #0086c9}.menu{position:absolute;right:36px;top:110px;width:300px;padding:10px;background:white;box-shadow:0 10px 30px #0004;border-radius:15px;z-index:12}.menu button{display:block;width:100%;border:0;padding:22px 12px;background:white;color:#28222a;font-size:30px;text-align:center;cursor:pointer}.menu button+button{border-top:1px solid #ddd}.menu button:focus-visible{outline:4px solid #0086c9}.nojs{position:fixed;bottom:20px;left:20px;right:20px;padding:12px;background:#fff;color:#111;z-index:100;text-align:center}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:1.5s}.progress-fill{transition:none}}
.safari-launch{z-index:4;background:#fff;border-radius:35px;overflow:hidden}.safari-launch svg,.safari-placeholder-icon svg{display:block;width:100%;height:100%}.safari-placeholder-icon{position:absolute}.plain-center .preview-note{margin-top:36px;color:#676373;font-size:24px}

:root{color-scheme:dark;--ink:#f3e9fb;--muted:#bca8cd;--accent:#df56f2;--night:radial-gradient(ellipse at 88% 5%,#48185988,transparent 44%),radial-gradient(ellipse at 3% 85%,#29134388,transparent 48%),linear-gradient(145deg,#110b19,#08060d 65%,#130b1c)}
html,body{background:#060409;color:var(--ink)}
.stage{background:var(--night)}
.backdrop{filter:grayscale(1) invert(1) brightness(.87) contrast(1.6) sepia(.75) saturate(2.8) hue-rotate(220deg);mix-blend-mode:screen}
.controls{z-index:2}
.stage[data-page=welcome] .backdrop{height:1500px;object-fit:cover;object-position:50% 30%;filter:brightness(.78) saturate(.85);mix-blend-mode:normal;mask-image:linear-gradient(#000 0%,#000 55%,transparent 98%)}
.welcome-copy{position:absolute;z-index:1;margin:0;color:var(--ink)}
.welcome-copy h1{font-size:64px;line-height:1.25;margin:0 0 40px;font-weight:700;letter-spacing:-2px}
.welcome-copy p{font-size:36px;margin:0;color:#d4b5e6}
.tap-label{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.tap.primary-face,.plain-button{background:linear-gradient(125deg,#b442dc,#7a29ae);border:2px solid #d87df363;color:#fff;box-shadow:0 12px 38px #a131d036,inset 0 1px 0 #ffffff1f;font-size:38px;font-weight:600}
.tap.secondary-face{background:linear-gradient(135deg,#23182f,#15101e);border:2px solid #78528f;color:#dbcce5;font-size:38px}
.tap.pill-face{border-radius:60px}
.primary-face:hover,.plain-button:hover{filter:brightness(1.12)}
.tap:focus-visible,.photo-option:focus-visible,.radio-option:focus-visible,.plain-button:focus-visible,.dialog button:focus-visible{outline-color:#eca0ff}
.tap.native-close,.tap.native-more{color:#e8d9f2;background:transparent;font-weight:300;font-size:60px;border:0}
.tap.native-more{font-size:32px;letter-spacing:5px}
.form-panel{position:absolute;background:linear-gradient(160deg,#24182f,#17101f 62%,#1b1225);border:2px solid #654175;border-radius:24px;box-shadow:0 25px 80px #0007}
.native-progress{position:absolute;background:linear-gradient(90deg,#bd5de3,#e5b3f8);border-radius:8px;box-shadow:0 0 25px #c766e958}
.form-step,.form-title,.form-question,.form-privacy-copy{position:absolute;margin:0}
.form-step{font-size:30px;line-height:45px;color:#bc96ce}
.form-title{font-size:46px;line-height:64px;font-weight:700;color:#f5eafb}
.form-question{font-size:34px;line-height:60px;color:#bfaccc}
.form-privacy-copy{font-size:27px;line-height:38px;color:#af96bd}
.tap.privacy-link{color:#e8b8f9;font-size:28px;font-weight:600}
.radio-option{background:#120c1c;border:3px solid #4e355f;color:#e9dcf1;text-align:left}
.radio-label{position:absolute;left:32px;top:0;line-height:112px;font-size:38px}
.radio-option[aria-checked=true]{border-color:#cc62ed;background:#3a174b;box-shadow:0 0 30px #a337d229}
.radio-option .radio-circle{display:block;border-color:#735687;background:#160e21}
.radio-option .radio-circle:after{display:none;background:#d871f4}
.radio-option[aria-checked=true] .radio-circle{border-color:#e3a0fc}
.radio-option[aria-checked=true] .radio-circle:after{display:block}
.submit-face:disabled{opacity:1;background:#35233f;color:#92779f;border-color:#53355f;box-shadow:none}
.submit-face.busy{background:linear-gradient(125deg,#b442dc,#7a29ae);color:#fff}
.success-mark{position:absolute;border-radius:50%;background:linear-gradient(140deg,#ce64ed,#852dbb);color:#fff;font-size:98px;text-align:center;line-height:140px;font-weight:700;box-shadow:0 0 85px #ac37da50}
.success-title,.success-subtitle{position:absolute;margin:0;text-align:center}
.success-title{font-size:55px;line-height:90px;color:#f7eafa}
.success-subtitle{font-size:42px;line-height:70px;color:#c4a5d5}
.photo-option{background:#20142e;outline:4px solid #745081;box-shadow:0 8px 24px #0005}
.photo-option[aria-pressed=true]{outline-color:#e66afa;box-shadow:0 0 30px #c747ea66}
.photo-option img{filter:none;mix-blend-mode:normal}
.stage[data-page=pref0] .photo-option img{object-fit:contain}
.tap.disabled-mask{background:#35243d;border-color:#5b3c68;color:#907599;box-shadow:none}
.progress-track{z-index:3;background:#25162f;box-shadow:inset 0 0 0 2px #563566}
.progress-fill{background:linear-gradient(90deg,#8536ca,#de5cec);box-shadow:0 0 25px #d245ea80}
.plain-screen{background:var(--night);color:var(--ink)}
.plain-title{color:#e276f1;text-shadow:0 0 36px #bd2fce55}
.plain-center p{color:#c4afd1}
.plain-center .preview-note{color:#ac87be}
.secondary-end{background:#201429;border-color:#755284;color:#e3ceeb;box-shadow:none}
.scrim{background:#030106b8;backdrop-filter:blur(8px)}
.dialog{background:#21132e;color:#f4e7fc;border:2px solid #7e4a94;box-shadow:0 25px 100px #0008}
.dialog p{color:#d0b8dc}
.dialog button{background:linear-gradient(125deg,#b442dc,#7a29ae);color:#fff}
.menu{background:#21132e;border:2px solid #69407e;box-shadow:0 20px 65px #0008}
.menu button{background:#21132e;color:#efdef9}
.menu button+button{border-top-color:#50315f}
.safari-launch{box-shadow:0 0 50px #a53ed73b;background:#fff}
.nojs{background:#291632;color:#f0daf9;border:1px solid #805094}

.gate-scene{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 95% 20%,#7e3d9744,transparent 20%),radial-gradient(ellipse at 3% 74%,#4917515c,transparent 35%)}
.gate-scene::before,.gate-scene::after{content:"♥";position:absolute;color:#e1b4ff48;font-size:240px;line-height:1;filter:blur(24px);transform:rotate(-25deg);right:-30px;top:200px}
.gate-scene::after{font-size:150px;right:650px;top:1230px;color:#c465f033;transform:rotate(15deg)}
.gate-heading{position:absolute;top:32px;left:55px;width:770px;text-align:center}
.gate-brand{font-size:60px;font-weight:900;font-style:italic;line-height:1.35;letter-spacing:1px;text-shadow:0 0 32px #b576e877;color:#f2d7ff}
.gate-brand::before,.gate-brand::after{content:"⌁";display:inline-block;margin:0 45px;font-size:57px;color:#b880d084;font-weight:400;vertical-align:middle}
.gate-subtitle{font-size:29px;line-height:1.5;color:#dfc8ec;margin:12px 0 0}
.gate-card-stack{position:absolute;left:110px;top:275px;width:675px;height:1110px;border:3px solid #c796e5;border-radius:40px;background:linear-gradient(160deg,#251030,#140b20 80%);transform:rotate(2deg);box-shadow:0 25px 80px #0003}
.gate-card-stack::before,.gate-card-stack::after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;inset:-12px;border:3px solid #ab7ccc;border-radius:40px;transform:rotate(-7deg);z-index:-1}
.gate-card-stack::after{top:-15px;right:-15px;bottom:-15px;left:-15px;inset:-15px;transform:rotate(5deg);border-color:#9059b0}
.gate-card-title,.gate-question,.gate-preference-title,.gate-progress-title,.gate-progress-sub,.gate-photo-caption,.gate-guide-action{position:absolute;margin:0;color:#f3dfff}
.gate-card-title{font-size:29px;font-weight:900;font-style:italic;letter-spacing:1px;line-height:1.3;color:#e6a9ff;max-width:400px}
.gate-question{font-size:39px;font-weight:500;line-height:1.7;text-wrap:pretty}
.gate-preference-title{font-size:34px;line-height:1.4;font-weight:600}
.gate-photo-caption{font-size:30px;font-weight:700;line-height:44px;text-align:center;pointer-events:none}
.gate-progress-title{font-size:41px;font-weight:700;line-height:1.45;text-align:center}
.gate-progress-sub{font-size:29px;line-height:1.3;text-align:center;color:#cdb2dc}
.gate-guide-copy{position:absolute;left:56px;top:420px;width:768px;color:#ead9f2;font-size:31px;line-height:1.48}
.gate-guide-copy h1{font-size:46px;line-height:1.25;margin:0 0 26px;color:#f7e4ff;font-weight:800}
.gate-guide-copy p{margin:0 0 26px}.gate-guide-copy .gate-guide-lead{font-size:33px;font-weight:600;color:#e5baf7}
.gate-guide-next{font-weight:600}
.gate-guide-notes{padding-left:44px;margin:42px 0 0;font-size:25px;line-height:1.5;color:#bca1cb}
.gate-guide-notes li{padding-left:6px;margin-bottom:21px}
.gate-guide-action{font-size:31px;line-height:1.45;font-weight:700}
.browser-menu-guide{position:absolute;right:56px;top:135px;width:360px;padding:20px;border:2px solid #b96be36b;border-radius:24px;background:linear-gradient(145deg,#33133fdd,#14091ddd);box-shadow:0 24px 60px #0007;z-index:3;color:#efd9fa}
.browser-menu-bar{height:76px;padding:0 16px 0 24px;display:flex;align-items:center;gap:14px;border:2px solid #d9a7f18f;border-radius:18px;background:#100718}
.browser-address{flex:1;overflow:hidden;color:#a98ab9;font-size:22px;white-space:nowrap}
.browser-dots{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#a72dd9;color:#fff;font-size:46px;line-height:1;font-weight:900;box-shadow:0 0 0 8px #a72dd92b,0 0 28px #d46cff8c}
.browser-menu-arrow{position:absolute;right:84px;top:90px;color:#db8bff;font-size:58px;line-height:1;transform:rotate(-16deg)}
.browser-menu-caption{margin:28px 0 0;font-size:21px;line-height:1.4;color:#d8badf;white-space:pre-line}
.guide-copy-link{display:flex;align-items:center;justify-content:center;padding:22px 30px;border:2px solid #c26cf2!important;border-radius:24px!important;background:linear-gradient(135deg,#9f2bd2,#69209d)!important;color:#fff!important;font-size:26px!important;line-height:1.35!important;font-weight:800!important;text-align:center;box-shadow:0 18px 40px #0006,0 0 36px #bd52e84a;z-index:5}
.guide-copy-link .tap-label{position:static}
.gate-handoff-instructions{position:absolute;margin:0;padding:20px 24px;border:2px solid #b15bd84f;border-radius:20px;background:#3b18484d;color:#e7c7f8;font-size:27px;line-height:1.45;white-space:pre-line;pointer-events:none}
.handoff-address{width:100%;margin:0 0 30px;padding:20px;border:2px solid #8e56a5;border-radius:12px;background:#110919;color:#efdef9;font-size:24px;user-select:text;-webkit-user-select:text}
.success-title{font-size:50px;line-height:1.4;display:flex;align-items:center;justify-content:center}
.success-subtitle{font-size:37px;line-height:1.4}
body.local-preview{max-width:390px;margin:0 auto;min-height:100dvh}

/* The destination uses normal document flow; Gate keeps its original scaled stage. */
body.safari-mode .viewport{display:block;overflow:visible;min-height:100dvh}
body.safari-mode .frame{position:static;overflow:visible;width:100%!important;height:auto!important}
body.safari-mode .stage{position:static;width:100%;height:auto!important;transform:none!important;isolation:auto;outline:0;background:#09060e}
.sf-page{--sf-bg:#09060e;--sf-panel:#1b1125;--sf-border:#ffffff14;--sf-muted:#c0adc9;--sf-purple:#e379f6;min-height:100dvh;background:radial-gradient(ellipse at 100% 15%,#2f11374a,transparent 50%),var(--sf-bg);color:#faf3ff;font-family:Arial,"Microsoft YaHei",sans-serif;line-height:1.5}
.sf-page :-webkit-any(button,select,input){font:inherit;-webkit-tap-highlight-color:transparent}
.sf-page :where(button,select,input){font:inherit;-webkit-tap-highlight-color:transparent}
.sf-page button{cursor:pointer}.sf-page button:disabled{cursor:not-allowed}
.sf-page button:focus-visible,.sf-page input:focus-visible,.sf-page select:focus-visible,.sf-modal button:focus-visible{outline:2px solid #edaaff;outline-offset:4px}
.sf-page p,.sf-page h1,.sf-page h2{margin:0}
.sf-nav{position:sticky;top:0;z-index:30;min-height:44px;padding:0 16px;background:#100817ed;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #e77aff1a}
.sf-nav-inner{height:44px;max-width:900px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.sf-logo{padding:0;border:0;background:transparent;color:inherit}
.sf-brand{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:19px;font-weight:750;letter-spacing:1px;color:#efb1ff}
.sf-brand svg{width:27px;height:27px;fill:#d861ea;stroke:#ea96fc;filter:drop-shadow(0 0 9px #c24bea65)}
.sf-language select{color:#e6d9ed;font-size:12px;border:1px solid #74458966;border-radius:8px;background:#22112c;padding:5px 22px 5px 10px;min-height:32px}
.sf-hero{position:relative;overflow:hidden;height:62vh;height:62svh;min-height:380px;max-height:560px;display:flex;align-items:flex-end}
.sf-hero-image{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.sf-hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:linear-gradient(180deg,#0b061014,transparent 16%,#180b2561 40%,#10071ad9 72%,#09060e 100%),linear-gradient(90deg,#3a0c4229,transparent 65%)}
.sf-hero-content{position:relative;text-align:center;width:100%;max-width:480px;margin:0 auto;padding:0 20px 28px}
.sf-badge{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#f1c3ff;background:#421c596b;border:1px solid #d46cf254;border-radius:30px;padding:5px 12px;margin-bottom:13px;font-size:11px;font-weight:600;backdrop-filter:blur(8px)}
.sf-dot{display:inline-block;flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:#e692fa;box-shadow:0 0 10px #d362f3;animation:sf-glow 2.4s ease-in-out infinite}
.sf-age{margin-left:4px;padding-left:10px;border-left:1px solid #e9aaff4d;font-size:10px}
.sf-hero-title{font-size:clamp(23px,6vw,32px);font-weight:800;line-height:1.35;letter-spacing:-.6px;text-wrap:balance;text-shadow:0 2px 16px #08041066}
.sf-highlight{display:block;color:#e384f7;background:linear-gradient(100deg,#edb4ff,#c864ee);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.sf-hero-sub{font-size:12px;color:#d4bddf;margin:10px 0 18px!important;line-height:1.7}
.sf-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 25px;border:1px solid #e8a5ff38;border-radius:12px;background:linear-gradient(115deg,#b744d7,#7b2fb3);box-shadow:0 5px 30px #af32d329,inset 0 1px #ffffff17;color:white;font-size:15px;font-weight:700;transition:filter .2s,transform .2s;text-decoration:none}
.sf-cta svg{width:17px;height:17px;flex:none}.sf-cta:hover{filter:brightness(1.13)}.sf-cta:active{transform:scale(.98)}
.sf-container{max-width:900px;margin:0 auto;width:100%;padding:20px 16px}
.sf-people{scroll-margin-top:60px}
.sf-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px}
.sf-section-heading h2{font-size:20px;font-weight:700}.sf-section-heading p{font-size:11px;color:#b393c0}
.sf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sf-card{position:relative;overflow:hidden;display:block;aspect-ratio:3/4;width:100%;padding:0;border:1px solid #d97af126;border-radius:14px;background:#201327;transition:border-color .2s,box-shadow .2s}
.sf-card:hover{border-color:#d87af1;box-shadow:0 6px 22px #bd42e133}
.sf-card-image{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s}
.sf-card:hover .sf-card-image{transform:scale(1.035)}
.sf-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:9px;background:linear-gradient(180deg,#0e061626,transparent 33%,transparent 55%,#100819c9)}
.sf-card-tag{display:inline-flex;align-items:center;align-self:flex-start;gap:5px;padding:3px 7px;border:1px solid #e7b0ff42;border-radius:5px;background:#23112bad;color:#f0d9fa;font-size:9px;letter-spacing:.7px;backdrop-filter:blur(6px)}
.sf-card-tag .sf-dot{height:4px;width:4px;flex-basis:4px}
.sf-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;color:#eadbef;font-size:10px;letter-spacing:.5px}
.sf-card-action{display:flex;align-items:center;gap:4px;color:#f0c9ff;font-size:10px;letter-spacing:0}.sf-card-action svg{width:14px;height:14px}
.sf-features{display:flex;gap:10px;max-width:480px;padding-top:26px;padding-bottom:26px}
.sf-feature{flex:1;display:flex;align-items:center;flex-direction:column;gap:10px;padding:20px 8px;background:#1d1028;border:1px solid #d970f41c;border-radius:12px;text-align:center;font-size:12px;color:#decae9}
.sf-feature svg{width:26px;height:26px;color:#d88df1}
.sf-final{max-width:448px;margin:12px auto 40px;padding:32px 24px;text-align:center;border-radius:20px;border:1px solid #ce66ec36;background:radial-gradient(ellipse at 50% 0,#5b246359,transparent 65%),#160d1e}
.sf-final>svg{width:26px;height:26px;color:#e18efa;margin-bottom:10px}
.sf-final h2{font-size:23px;line-height:1.4;text-wrap:balance}.sf-final p{color:var(--sf-muted);font-size:13px;margin:12px 0 22px;line-height:1.7}
.sf-footer{width:100%;text-align:center;border-top:1px solid #cc8bfa12;padding:18px 16px;color:#a58db2;font-size:10px}
.sf-text-button{background:transparent;border:0;color:#c29cd4;padding:8px;font-size:11px!important}
.sf-home{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
.sf-sticky{position:fixed;bottom:0;left:0;right:0;z-index:40;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:#1b0f24ed;border-top:1px solid #de8bfb2b;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.sf-sticky-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:480px;margin:auto}
.sf-sticky-copy{display:flex;align-items:center;gap:8px;color:#d2b9df;font-size:12px;line-height:1.5}
.sf-cta-small{min-height:38px;padding:0 16px;font-size:12px;border-radius:9px;white-space:nowrap;gap:8px}
.sf-register{display:flex;align-items:center;flex-direction:column;background:radial-gradient(ellipse at 65% 10%,#511c624d,transparent 45%),#09060e;padding-bottom:env(safe-area-inset-bottom,0px)}
.sf-nav-register{position:relative;background:transparent;border:0;width:100%;max-width:480px;padding:8px 20px}
.sf-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #a767c033;border-radius:50%;color:#efddf8;background:#32203e66}
.sf-back svg{width:20px;height:20px}.sf-nav-spacer{width:36px}
.sf-register-hero{text-align:center;max-width:480px;width:100%;padding:20px 24px 26px}
.sf-register-hero .sf-badge{font-size:11px;margin-bottom:12px}.sf-register-hero h1{font-size:clamp(24px,6vw,30px);line-height:1.3;margin-bottom:10px}.sf-register-hero p{font-size:13px;color:var(--sf-muted)}
.sf-form{margin:0 16px 40px;width:calc(100% - 32px);max-width:448px;padding:28px 24px;background:linear-gradient(150deg,#281533,#170f20);border:1px solid #b963d43d;border-radius:16px;box-shadow:0 15px 50px #0005;display:flex;flex-direction:column;gap:20px}
.sf-field{display:flex;flex-direction:column;gap:7px;min-width:0}.sf-field>label{font-size:13px;font-weight:600;color:#e5ceef}
.sf-input{height:48px;width:100%;min-width:0;border:1px solid #81519966;border-radius:10px;background:#100b18;color:#f6eefa;padding:0 14px;font-size:16px!important;transition:border-color .2s}
.sf-input::placeholder{color:#9f84ad;font-size:14px}.sf-input:focus{border-color:#cf75ed}.sf-input[aria-invalid=true]{border-color:#f19bb7}
.sf-country{cursor:pointer;color-scheme:dark;appearance:auto}
.sf-phone{display:flex;align-items:center;border:1px solid #81519966;border-radius:10px;background:#100b18}.sf-phone:focus-within{border-color:#cf75ed}
.sf-dial{display:flex;align-items:center;padding:0 13px;font-size:14px;font-weight:600;color:#d1a9e3;border-right:1px solid #81519944;height:46px;flex:none}
.sf-phone .sf-input{border:0;background:transparent}.sf-phone:has([aria-invalid=true]){border-color:#f19bb7}
.sf-field-error{color:#f6a9c2;font-size:12px!important;line-height:1.5}.sf-field-error[hidden]{display:none}
.sf-submit{width:100%;min-height:50px;font-size:16px}.sf-submit:disabled{opacity:.45;box-shadow:none;filter:none;transform:none}
.sf-form-note{font-size:11px;text-align:center;color:#b596c5;line-height:1.6}
.sf-selected{display:flex;align-items:center;gap:10px;padding-bottom:15px;border-bottom:1px solid #9460aa33;font-size:12px;color:#d9bae8}
.sf-selected-image{width:38px;height:46px;object-fit:cover;border-radius:7px}.sf-selected>svg{margin-left:auto;color:#d879f0;width:20px;height:20px}
.sf-register .sf-footer{margin-top:auto}
.sf-modal{border:1px solid #a253bf6b;border-radius:20px;color:#f7eaff;background:#21132e;box-shadow:0 24px 80px #0008;width:calc(100% - 40px);max-width:360px;padding:30px 25px;text-align:center;line-height:1.6}
.sf-modal::backdrop{background:#050208bd;backdrop-filter:blur(8px)}.sf-modal>svg{width:30px;height:30px;color:#e291f8}.sf-modal h2{font-size:20px;margin:14px 0 10px}.sf-modal p{color:#d1b7df;font-size:14px;margin:0 0 24px}.sf-modal button{width:100%;cursor:pointer}
.sf-age-overlay{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;margin:0;padding:20px;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;border:0;background:#0b0614;color:#faf0ff;font-family:Arial,"Microsoft YaHei",sans-serif;overflow:auto;overscroll-behavior:contain}
.sf-age-overlay[open]{display:flex;align-items:center;justify-content:center}
.sf-age-overlay::backdrop{background:#0b0614}
.sf-age-scene{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;pointer-events:none;overflow:hidden}
.sf-age-image{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:brightness(.42) blur(3px);transform:scale(1.03)}
.sf-age-scene::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:linear-gradient(150deg,#280d3966,#0905109c)}
.sf-age-panel{position:relative;width:100%;max-width:360px;margin:auto;padding:28px 20px 22px;text-align:center;border:1px solid #cb64e64f;border-radius:22px;background:radial-gradient(ellipse at 50% 0,#77366b40,transparent 70%),linear-gradient(145deg,#34123e,#200c2c);box-shadow:0 24px 90px #0007;line-height:1.6}
.sf-age-panel .sf-brand{justify-content:center;font-size:17px;gap:8px;margin-bottom:20px;letter-spacing:.3px}
.sf-age-panel .sf-brand svg{width:24px;height:24px}
.sf-age-close{position:absolute;top:9px;right:9px;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:#cbb2d6;font-size:25px;cursor:pointer;line-height:1}
.sf-age-panel button:focus-visible{outline:2px solid #efb8ff;outline-offset:3px}
.sf-age-content h2{font-size:18px;line-height:1.4;margin:0 0 8px;color:#fff3ff;outline:none}
.sf-age-description{font-size:12px;color:#c5a9d0;margin:0 0 22px;line-height:1.7}
.sf-age-track{--age-offset:0px;position:relative;width:100%;height:48px;overflow:hidden;border:1px solid #b986cc4d;border-radius:26px;background:#ffffff08;user-select:none;-webkit-user-select:none}
.sf-age-fill{position:absolute;left:0;top:0;bottom:0;width:calc(var(--age-offset) + 44px);background:linear-gradient(90deg,#b649d138,#c268e269);border-radius:26px;pointer-events:none;transition:width .2s}
.sf-age-label{position:absolute;top:0;right:10px;bottom:0;left:45px;inset:0 10px 0 45px;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1.35;font-weight:600;color:#dbc1e6;pointer-events:none;transition:opacity .2s}
.sf-age-handle{position:absolute;top:3px;left:3px;width:40px;height:40px;padding:0;border:1px solid #ffc9ff44;border-radius:50%;background:linear-gradient(135deg,#e068ef,#a03dc8);box-shadow:0 0 16px #dc5de944;color:white;font-size:24px;cursor:grab;touch-action:none;transform:translateX(var(--age-offset));transition:transform .2s}
.sf-age-track.is-dragging .sf-age-handle{cursor:grabbing}.sf-age-track.is-dragging :-webkit-any(.sf-age-handle,.sf-age-fill,.sf-age-label){transition:none}.sf-age-track.is-dragging :is(.sf-age-handle,.sf-age-fill,.sf-age-label){transition:none}
.sf-age-restriction{margin:17px 0 0;color:#ad8cbd;font-size:11px}
.sf-age-check{width:48px;height:48px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:linear-gradient(135deg,#43d581,#16a856);box-shadow:0 0 30px #30c9774d;color:white;font-size:29px;font-weight:700}
.sf-age-countdown{--age-progress:0deg;display:grid;place-items:center;width:74px;height:74px;margin:22px auto 17px;border-radius:50%;background:conic-gradient(#db7df4 var(--age-progress),#ffffff12 0)}
.sf-age-number{display:grid;place-items:center;width:62px;height:62px;background:#321139;border-radius:50%;font-size:29px;font-weight:800;font-variant-numeric:tabular-nums;color:#fff}
.sf-age-caption{font-size:13px;font-weight:600;color:#c9a9d6;margin:0 0 4px}
@media(prefers-reduced-motion:reduce){.sf-age-track *{transition:none!important}}
@keyframes sf-glow{50%{opacity:.6;box-shadow:0 0 15px #dc70f8}}
@media(min-width:780px){.sf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sf-hero{max-height:640px}.sf-hero-image{object-position:50% 30%}.sf-hero-shade{background:linear-gradient(0deg,#09060e,#100719bd 30%,#08061022 80%),linear-gradient(90deg,#080610c9,transparent 40%,#17082255)}.sf-sticky-inner{max-width:868px}.sf-card-overlay{padding:14px}.sf-card-tag{font-size:11px}.sf-card-bottom,.sf-card-action{font-size:12px}}
@media(max-width:480px){.sf-final{margin-left:16px;margin-right:16px}}
@media(max-width:400px){.sf-form{padding:22px 16px}.sf-sticky-copy{font-size:11px}.sf-hero-sub{font-size:11px}}
@media(prefers-reduced-motion:reduce){.sf-dot{animation:none}.sf-card-image,.sf-cta{transition:none}}

/* Shared additions: assets and page order remain unchanged. */
body,.sf-page,.sf-age-overlay{font-family:Arial,"Noto Sans",system-ui,sans-serif}
.language-picker{display:inline-flex;max-width:190px;min-width:0;align-items:center;z-index:5}
.language-picker select{font:inherit;min-width:0;max-width:100%;padding:8px 10px;border:1px solid #b573ce;border-radius:10px;background:#23122e;color:#f6e3ff;cursor:pointer;color-scheme:dark}
.language-picker select:focus-visible{outline:3px solid #dfb3ed;outline-offset:3px}
.language-picker-gate{position:absolute;top:24px;inset-inline-end:30px;max-width:380px;font-size:30px}
.sf-nav-inner>.language-picker{margin-inline-start:auto;font-size:12px;max-width:52%}
/* Fixed artwork stays 880px wide. Text boxes wrap without moving the photos. */
.tap-label,.sf-cta{overflow-wrap:anywhere;white-space:normal}
.primary-face,.secondary-face{padding-inline:14px}
.form-title{height:auto!important;max-height:90px;font-size:38px;line-height:1.15}
.form-question{height:auto!important;max-height:80px;font-size:32px;line-height:1.2}
.gate-preference-title{font-size:31px;line-height:1.35}
.gate-guide-copy{font-size:29px;line-height:1.4;max-height:850px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-inline-end:8px;pointer-events:auto;z-index:2}
.gate-guide-copy h1{font-size:42px}.gate-guide-copy .gate-guide-lead{font-size:31px}
.gate-guide-notes{padding-inline-start:40px;padding-inline-end:0;font-size:24px;line-height:1.45;margin-top:24px}
.gate-guide-notes li{padding-inline-start:6px;padding-inline-end:0}
.gate-guide-action{font-size:28px}
.gate-handoff-instructions{font-size:25px;line-height:1.4;overflow:auto}
.sf-section-heading{flex-wrap:wrap}
.sf-card-bottom{flex-wrap:wrap}.sf-card-tag{max-width:100%;overflow-wrap:anywhere}
.sf-sticky-copy{min-width:0}.sf-cta-small{white-space:normal;text-align:center;max-width:58%;padding-block:8px}
.sf-feature{min-width:0;overflow-wrap:anywhere}
.sf-age-label{font-size:11px}.sf-age-panel{overflow-wrap:anywhere}
.sf-input[type=email],.sf-input[type=tel],.sf-dial,.handoff-address{direction:ltr;unicode-bidi:isolate;text-align:left}
.sf-brand{direction:ltr;unicode-bidi:isolate}
.sf-selected>svg{margin-left:0;margin-inline-start:auto}
.sf-dial{border-right:0;border-inline-end:1px solid #81519944}
html[dir=rtl] .gate-question,html[dir=rtl] .gate-card-title,html[dir=rtl] .gate-guide-copy,html[dir=rtl] .welcome-copy,html[dir=rtl] .radio-label{text-align:right}
html[dir=rtl] .radio-option .radio-circle{right:auto;left:39px}
html[dir=rtl] .radio-label{padding-left:112px;padding-right:35px}
html[dir=rtl] .sf-age-close{right:auto;left:9px}
html[dir=rtl] .sf-cta svg,html[dir=rtl] .sf-back svg,html[dir=rtl] .sf-card-action svg{transform:scaleX(-1)}
/* Keep profile 01→20 in the same visual order as the supplied photos. */
.sf-grid{direction:ltr}.sf-card{direction:inherit}
html[dir=rtl] .sf-card-overlay{direction:rtl}
html[dir=rtl] .sf-age-handle{left:auto;right:3px;transform:translateX(calc(-1 * var(--age-offset)))}
html[dir=rtl] .sf-age-fill{left:auto;right:0;background:linear-gradient(270deg,#b649d138,#c268e269)}
html[dir=rtl] .sf-age-label{top:0;right:45px;bottom:0;left:10px;inset:0 45px 0 10px}
html:lang(ar),html:lang(fa),html:lang(ckb),html:lang(ur){letter-spacing:normal}
html:lang(ur) .sf-age-label{font-size:12px}
@media(max-width:360px){.sf-nav-inner{gap:8px}.sf-brand{font-size:17px}.sf-nav-inner>.language-picker{font-size:11px}.language-picker select{padding:7px 5px}}
/* Local system fonts keep the new scripts readable without downloading fonts. */
html:lang(th){--momento-script-font:"Noto Sans Thai","Thonburi","Leelawadee UI",sans-serif}
html:lang(lo){--momento-script-font:"Noto Sans Lao","Lao Sangam MN","Leelawadee UI",sans-serif}
html:lang(km){--momento-script-font:"Noto Sans Khmer","Khmer Sangam MN","Leelawadee UI",sans-serif}
html:lang(my){--momento-script-font:"Noto Sans Myanmar","Myanmar Sangam MN","Myanmar Text",sans-serif}
html:-webkit-any(:lang(th),:lang(lo),:lang(km),:lang(my)) :-webkit-any(body,.sf-page,.sf-age-overlay){font-family:var(--momento-script-font);letter-spacing:normal}
html:is(:lang(th),:lang(lo),:lang(km),:lang(my)) :is(body,.sf-page,.sf-age-overlay){font-family:var(--momento-script-font);letter-spacing:normal}
html:-webkit-any(:lang(th),:lang(lo),:lang(km),:lang(my)) :-webkit-any(.gate-question,.gate-preference-title){font-size:32px;line-height:1.65;overflow:auto;overflow-wrap:anywhere;overscroll-behavior:contain;pointer-events:auto}
html:is(:lang(th),:lang(lo),:lang(km),:lang(my)) :is(.gate-question,.gate-preference-title){font-size:32px;line-height:1.65;overflow:auto;overflow-wrap:anywhere;overscroll-behavior:contain;pointer-events:auto}
html:-webkit-any(:lang(th),:lang(lo),:lang(km),:lang(my)) .sf-hero-title{line-height:1.5;letter-spacing:normal;overflow-wrap:anywhere}
html:is(:lang(th),:lang(lo),:lang(km),:lang(my)) .sf-hero-title{line-height:1.5;letter-spacing:normal;overflow-wrap:anywhere}
html:-webkit-any(:lang(th),:lang(lo),:lang(km),:lang(my)) .sf-age-label{font-size:10px;line-height:1.5}
html:is(:lang(th),:lang(lo),:lang(km),:lang(my)) .sf-age-label{font-size:10px;line-height:1.5}
html:-webkit-any(:lang(th),:lang(lo),:lang(km),:lang(my)) .sf-nav-inner{min-height:44px;height:auto;padding-block:4px}
html:is(:lang(th),:lang(lo),:lang(km),:lang(my)) .sf-nav-inner{min-height:44px;height:auto;padding-block:4px}
.gate-handoff-instructions{pointer-events:auto;overscroll-behavior:contain}
.gate-question:focus-visible,.gate-preference-title:focus-visible,.gate-handoff-instructions:focus-visible{outline:2px solid #edaaff;outline-offset:4px}

/* Width-first phone layouts: keep text legible and let short viewports scroll. */
html{ -webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-y:scroll }
body.local-preview{width:100%;max-width:414px;min-height:100vh;min-height:100dvh}
.viewport{min-height:100vh;min-height:100dvh;align-items:flex-start;overflow:visible;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.stage{outline:none}.tap,.radio-option,.plain-button{min-height:132px}.click-hint{min-width:132px}
.sf-page{min-height:100vh;min-height:100dvh}
.sf-nav{padding-top:env(safe-area-inset-top,0px)}
.sf-nav-inner{height:auto;min-height:48px}
.sf-cta-small,.sf-back,.sf-text-button,.sf-logo{min-height:44px}
.sf-back{width:44px}.sf-age-close{width:44px;height:44px}
.sf-age-overlay{padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
.sf-age-track{height:52px}.sf-age-handle{width:44px;height:44px}.sf-age-fill{width:calc(var(--age-offset) + 48px)}
.sf-age-label{inset-inline-start:49px}
.sf-modal{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto}
.sf-card{aspect-ratio:auto}.sf-card::before{content:"";display:block;padding-top:133.333%}.sf-card-image{position:absolute;top:0;right:0;bottom:0;left:0;inset:0}
body.local-preview .sf-sticky{max-width:414px;margin-left:auto;margin-right:auto}
body.safari-mode .viewport{padding-top:0}

/* Browser instructions use normal flow so image, copy and links never overlap. */
body.guide-mode .viewport{display:block;min-height:0;overflow:visible}
body.guide-mode .frame{position:static;overflow:visible;width:100%!important;height:auto!important}
body.guide-mode .stage{position:static;width:100%;height:auto!important;transform:none!important}
.browser-guide-page{max-width:560px;margin:auto;padding:20px 22px 28px;min-height:100vh;min-height:100dvh;background:var(--night);color:#f3e9fb}
.browser-guide-brand{text-align:center;font-size:27px;font-weight:800;font-style:italic;letter-spacing:.5px;color:#e6b8f5;text-shadow:0 0 22px #b650d04d;margin-bottom:25px}
.browser-guide-content h1{font-size:23px;line-height:1.4;font-weight:800;margin:0 0 16px}
.browser-guide-content p{font-size:14px;line-height:1.75;margin:0 0 14px}
.browser-guide-next{font-weight:600;color:#f0d5fa}
.browser-guide-notes{padding-inline-start:23px;margin:18px 0 0;font-size:13px;line-height:1.8;color:#d0b8de}
.browser-guide-notes li{padding-inline-start:3px;margin-bottom:14px}
.browser-guide-figure{display:flex;align-items:center;gap:14px;margin:24px 0;padding:14px 0;border-top:1px solid #e4a4ff24;border-bottom:1px solid #e4a4ff24}
.browser-guide-picture{position:relative;flex:0 0 46%;max-width:190px;overflow:hidden;border-radius:12px;background:#f0effb;line-height:0;box-shadow:0 8px 24px #0005}
.browser-guide-picture img{display:block;width:100%;height:auto}
.browser-guide-figure figcaption{flex:1;min-width:0;font-size:12px;line-height:1.8;color:#d7bddf;white-space:pre-line;overflow-wrap:anywhere}
.browser-guide-actions{display:flex;flex-direction:column;gap:10px}
.browser-guide-copy-button,.browser-guide-open{display:flex;justify-content:center;align-items:center;min-height:48px;width:100%;padding:13px 15px;border-radius:13px;font:inherit;font-size:14px;font-weight:600;text-align:center;line-height:1.65;text-decoration:none;cursor:pointer;touch-action:manipulation}
.browser-guide-copy-button{border:1px solid #e6b3ff55;background:linear-gradient(125deg,#aa37d0,#7424a6);color:#fff;box-shadow:0 8px 30px #8e2bad33}
.browser-guide-open{border:1px solid #d6a1ed42;background:#ffffff07;color:#ead1f7}
.browser-guide-copy-button:focus-visible,.browser-guide-open:focus-visible{outline:3px solid #efb4ff;outline-offset:3px}
body.guide-mode .scrim{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;padding:16px;z-index:60;overflow:auto;background:#050208c7}
body.guide-mode .dialog{width:100%;max-width:400px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #bb81d161;background:#21132e;color:#f3e5fa}
body.guide-mode .dialog h2{font-size:21px;line-height:1.4;margin-bottom:14px}
body.guide-mode .dialog p{font-size:14px;line-height:1.7}
body.guide-mode .dialog button{font-size:16px;min-height:46px;background:#8c34b9}
body.guide-mode .handoff-address{font-size:16px;min-height:48px;padding:12px;margin:0 0 20px}
@media(max-width:360px){.browser-guide-page{padding-left:16px;padding-right:16px}.browser-guide-content h1{font-size:21px}.browser-guide-figure{gap:12px}.browser-guide-figure figcaption{font-size:12px}.sf-sticky{padding-left:12px;padding-right:12px}.sf-sticky-inner{gap:8px}.sf-age-panel{padding-left:16px;padding-right:16px}}

/* Chinese review navigation lives outside the product; it does not cover it. */
.review-nav{padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;background:#130d1b;border-bottom:1px solid #d393ed33;color:#d9bfe5}
.review-nav>label{grid-column:1/-1;font-size:12px;line-height:1.5;letter-spacing:.5px}
.review-nav select{min-width:0;width:100%;height:44px;padding:0 8px;font:inherit;font-size:13px;border:1px solid #9469a855;border-radius:9px;color:#f1e3f8;background:#25172f;cursor:pointer}
.review-nav select:focus-visible{outline:2px solid #e5a7ff;outline-offset:2px}
.review-preview .viewport{min-height:0;padding-top:0}
html:lang(zh) :-webkit-any(body,.sf-page,.sf-age-overlay){font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}
html:lang(zh) :is(body,.sf-page,.sf-age-overlay){font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}
html:lang(zh) .welcome-copy h1{letter-spacing:0}
html:lang(zh) .gate-question{font-size:41px;line-height:1.8}
html:lang(zh) .gate-subtitle{font-size:30px}
html:lang(zh) .gate-preference-title{font-size:35px}
html:lang(zh) .sf-hero-title{letter-spacing:0}
html:lang(zh) .sf-hero-sub{font-size:13px}
html:lang(zh) .sf-age-description{font-size:13px}

/* Background studies change surfaces only; copy, media and actions are shared. */
html[data-background=blue]{--review-bg:#060f1c;--review-panel:#10243a;--review-border:#6cabe633;--review-night:radial-gradient(ellipse at 100% 8%,#214c786b,transparent 48%),radial-gradient(ellipse at 0 90%,#0a626a50,transparent 55%),linear-gradient(155deg,#0c1d32,#060b16 70%,#102b3f)}
html[data-background=rose]{--review-bg:#16080f;--review-panel:#301322;--review-border:#d99aa233;--review-night:radial-gradient(ellipse at 96% 8%,#78394b6e,transparent 48%),radial-gradient(ellipse at 0 90%,#6d254b5c,transparent 50%),linear-gradient(155deg,#2e101c,#12080f 70%,#331527)}
html[data-background=green]{--review-bg:#06130f;--review-panel:#102c23;--review-border:#85c4ad33;--review-night:radial-gradient(ellipse at 100% 8%,#28614b6b,transparent 50%),radial-gradient(ellipse at 0 90%,#2d60404f,transparent 50%),linear-gradient(155deg,#102d25,#06110e 70%,#19362b)}
html[data-background]:not([data-background=original]){--night:var(--review-night);background:var(--review-bg)}
html[data-background]:not([data-background=original]) body{background:var(--review-bg)}
html[data-background]:not([data-background=original]) :-webkit-any(.sf-page,.sf-register,.browser-guide-page){background:var(--review-night)}
html[data-background]:not([data-background=original]) :is(.sf-page,.sf-register,.browser-guide-page){background:var(--review-night)}
html[data-background]:not([data-background=original]) :-webkit-any(.form-panel,.gate-card-stack,.sf-form,.sf-final,.sf-age-panel){background:var(--review-night)}
html[data-background]:not([data-background=original]) :is(.form-panel,.gate-card-stack,.sf-form,.sf-final,.sf-age-panel){background:var(--review-night)}
html[data-background]:not([data-background=original]) :-webkit-any(.sf-feature,.sf-nav,.sf-sticky,.review-nav,.sf-modal){background:var(--review-panel);border-color:var(--review-border)}
html[data-background]:not([data-background=original]) :is(.sf-feature,.sf-nav,.sf-sticky,.review-nav,.sf-modal){background:var(--review-panel);border-color:var(--review-border)}
html[data-background]:not([data-background=original]) :-webkit-any(.sf-input,.sf-phone,.radio-option){background:var(--review-bg)}
html[data-background]:not([data-background=original]) :is(.sf-input,.sf-phone,.radio-option){background:var(--review-bg)}
html[data-background]:not([data-background=original]) .sf-hero-shade{background:linear-gradient(180deg,transparent 5%,#08061024 40%,var(--review-bg) 100%)}
html[data-background]:not([data-background=original]) .gate-scene{background:var(--review-night)}

/* Complete review palettes. Photography and content are never filtered or replaced. */
html[data-background=blue]{
  --review-bg:#f3f6fa;--review-panel:#ffffff;--review-border:#d6dee8;--review-night:linear-gradient(155deg,#f8fafc,#edf2f8);
  --theme-heading:#182b49;--theme-text:#29384c;--theme-muted:#526175;--theme-soft:#626e7e;
  --theme-accent:#2459a6;--theme-focus:#2459a6;--theme-border:#aebed2;--theme-border-soft:#d6dee8;
  --theme-input:#ffffff;--theme-selected:#eaf1fb;--theme-disabled:#e5eaf1;--theme-disabled-text:#626e7e;
  --theme-button-start:#2459a6;--theme-button-end:#2459a6;--theme-button-text:#ffffff;
  --theme-glow:#20385312;--theme-glow-soft:#2459a608;--theme-overlay:#182b4959;--theme-error:#b42338;
}
html[data-background=rose]{
  --review-bg:#f7f4ef;--review-panel:#fffdf9;--review-border:#e1d9cf;--review-night:linear-gradient(155deg,#fcfaf6,#f1ece4);
  --theme-heading:#352e28;--theme-text:#443c34;--theme-muted:#6e6257;--theme-soft:#786b60;
  --theme-accent:#795b43;--theme-focus:#795b43;--theme-border:#c4b6a5;--theme-border-soft:#e1d9cf;
  --theme-input:#fffdf9;--theme-selected:#efe7dc;--theme-disabled:#e9e2d9;--theme-disabled-text:#786b60;
  --theme-button-start:#795b43;--theme-button-end:#795b43;--theme-button-text:#ffffff;
  --theme-glow:#47362612;--theme-glow-soft:#795b4308;--theme-overlay:#352e2859;--theme-error:#ad3340;
}
html[data-background=green]{
  --review-bg:#f4f4f4;--review-panel:#ffffff;--review-border:#dedede;--review-night:linear-gradient(155deg,#fafafa,#eeeeee);
  --theme-heading:#202124;--theme-text:#34363a;--theme-muted:#5c6066;--theme-soft:#6a6e73;
  --theme-accent:#30343b;--theme-focus:#30343b;--theme-border:#b8bbc0;--theme-border-soft:#dedede;
  --theme-input:#ffffff;--theme-selected:#eceeef;--theme-disabled:#e7e8ea;--theme-disabled-text:#6a6e73;
  --theme-button-start:#30343b;--theme-button-end:#30343b;--theme-button-text:#ffffff;
  --theme-glow:#20212412;--theme-glow-soft:#30343b08;--theme-overlay:#20212459;--theme-error:#b42338;
}

html[data-background=sage]{
  --review-bg:#f2f6f2;--review-panel:#ffffff;--review-border:#d8e2d8;--review-night:linear-gradient(155deg,#f8faf7,#eaf1ea);
  --theme-heading:#253b2d;--theme-text:#35483a;--theme-muted:#576a5b;--theme-soft:#627566;
  --theme-accent:#41694e;--theme-focus:#41694e;--theme-border:#afc2b2;--theme-border-soft:#d8e2d8;
  --theme-input:#ffffff;--theme-selected:#e7efe6;--theme-disabled:#e3e9e1;--theme-disabled-text:#627566;
  --theme-button-start:#41694e;--theme-button-end:#41694e;--theme-button-text:#ffffff;
  --theme-glow:#253b2d12;--theme-glow-soft:#41694e08;--theme-overlay:#253b2d59;--theme-error:#b42338;
}
html[data-background=peach]{
  --review-bg:#fcf4ef;--review-panel:#fffdfb;--review-border:#ead8cf;--review-night:linear-gradient(155deg,#fffaf6,#f8ece4);
  --theme-heading:#4e3229;--theme-text:#594036;--theme-muted:#7b5f53;--theme-soft:#81685d;
  --theme-accent:#a04f39;--theme-focus:#a04f39;--theme-border:#d4b6a8;--theme-border-soft:#ead8cf;
  --theme-input:#fffdfb;--theme-selected:#f7e7dc;--theme-disabled:#eee0d6;--theme-disabled-text:#81685d;
  --theme-button-start:#a04f39;--theme-button-end:#a04f39;--theme-button-text:#ffffff;
  --theme-glow:#4e322912;--theme-glow-soft:#a04f3908;--theme-overlay:#4e322959;--theme-error:#ae2738;
}
html[data-background=lavender]{
  --review-bg:#f5f3f9;--review-panel:#ffffff;--review-border:#dfd9e9;--review-night:linear-gradient(155deg,#faf9fc,#efebf5);
  --theme-heading:#393147;--theme-text:#4a415a;--theme-muted:#6c617c;--theme-soft:#766b85;
  --theme-accent:#70568c;--theme-focus:#70568c;--theme-border:#c4b8d3;--theme-border-soft:#dfd9e9;
  --theme-input:#ffffff;--theme-selected:#eee7f5;--theme-disabled:#e6e0ed;--theme-disabled-text:#766b85;
  --theme-button-start:#70568c;--theme-button-end:#70568c;--theme-button-text:#ffffff;
  --theme-glow:#39314712;--theme-glow-soft:#70568c08;--theme-overlay:#39314759;--theme-error:#b42338;
}
html[data-background=navy]{
  --review-bg:#f0f4f7;--review-panel:#ffffff;--review-border:#d4dfe6;--review-night:linear-gradient(155deg,#f8fafb,#e8eff4);
  --theme-heading:#273b48;--theme-text:#3b4d5a;--theme-muted:#596e7b;--theme-soft:#637783;
  --theme-accent:#3e6178;--theme-focus:#3e6178;--theme-border:#b0c3cf;--theme-border-soft:#d4dfe6;
  --theme-input:#ffffff;--theme-selected:#e5eef4;--theme-disabled:#dee7ec;--theme-disabled-text:#637783;
  --theme-button-start:#3e6178;--theme-button-end:#3e6178;--theme-button-text:#ffffff;
  --theme-glow:#273b4812;--theme-glow-soft:#3e617808;--theme-overlay:#273b4859;--theme-error:#b42338;
}

/* Mood palettes keep the same content and use soft ambient light behind the page. */
html[data-background=crimson]{
  --review-bg:#15090f;--review-panel:#29121d;--review-border:#603044;
  --review-night:radial-gradient(ellipse at 95% 5%,#d02c6552,transparent 55%),radial-gradient(ellipse at 0% 60%,#a8234b2e,transparent 62%),linear-gradient(155deg,#381120,#220c17 55%,#15090f);
  --theme-heading:#fff4f7;--theme-text:#f9e5ed;--theme-muted:#dfb8c8;--theme-soft:#caa4b4;
  --theme-accent:#ff9fbe;--theme-focus:#ffbfd3;--theme-border:#a85c76;--theme-border-soft:#603044;
  --theme-input:#210d17;--theme-selected:#492033;--theme-disabled:#3d2531;--theme-disabled-text:#bb96a7;
  --theme-button-start:#c32a59;--theme-button-end:#a91945;--theme-button-text:#ffffff;
  --theme-glow:#ff467829;--theme-glow-soft:#ff6b9812;--theme-overlay:#12050ed9;--theme-error:#ffabb8;
}
html[data-background=amber]{
  --review-bg:#17110c;--review-panel:#2b2017;--review-border:#61452c;
  --review-night:radial-gradient(ellipse at 100% 8%,#e29a4852,transparent 55%),radial-gradient(ellipse at 0% 65%,#a569302b,transparent 62%),linear-gradient(155deg,#3d291a,#251a12 55%,#17110c);
  --theme-heading:#fff2dd;--theme-text:#f7e8d3;--theme-muted:#dcc4a2;--theme-soft:#c4ab89;
  --theme-accent:#edbf7c;--theme-focus:#ffdaa5;--theme-border:#a17a4f;--theme-border-soft:#61452c;
  --theme-input:#241a12;--theme-selected:#493323;--theme-disabled:#3c3025;--theme-disabled-text:#bda68a;
  --theme-button-start:#edbd78;--theme-button-end:#dca25b;--theme-button-text:#2b1b0f;
  --theme-glow:#e9ab5026;--theme-glow-soft:#e5aa5912;--theme-overlay:#100b07de;--theme-error:#ffb5a7;
}

html[data-background]:not([data-background=original]){
  --ink:var(--theme-text);--muted:var(--theme-muted);--accent:var(--theme-accent);
  --theme-primary:var(--theme-button-start);
  --theme-secondary:var(--review-panel);
  accent-color:var(--theme-accent);color:var(--theme-text);color-scheme:light;
}
html[data-background]:not([data-background=original]) :-webkit-any(.form-panel,.gate-card-stack,.sf-form,.sf-final,.sf-age-panel){background:var(--review-panel);box-shadow:0 14px 42px var(--theme-glow)}
html[data-background]:not([data-background=original]) :is(.form-panel,.gate-card-stack,.sf-form,.sf-final,.sf-age-panel){background:var(--review-panel);box-shadow:0 14px 42px var(--theme-glow)}
html[data-background]:not([data-background=original]) :-webkit-any(body,.sf-page,.sf-age-overlay,.browser-guide-page,.plain-screen){color:var(--theme-text)}
html[data-background]:not([data-background=original]) :is(body,.sf-page,.sf-age-overlay,.browser-guide-page,.plain-screen){color:var(--theme-text)}
html[data-background]:not([data-background=original]) .sf-page{--sf-bg:var(--review-bg);--sf-panel:var(--review-panel);--sf-border:var(--theme-border-soft);--sf-muted:var(--theme-muted);--sf-purple:var(--theme-accent)}
html[data-background]:not([data-background=original]) :-webkit-any(.welcome-copy h1,.form-title,.success-title,.gate-question,.gate-preference-title,.gate-progress-title,.gate-photo-caption,.plain-center h1,.browser-guide-content h1,.sf-hero-title,.sf-section-heading h2,.sf-final h2,.sf-register-hero h1,.sf-age-content h2,.sf-modal h2,.dialog h2){color:var(--theme-heading)}
html[data-background]:not([data-background=original]) :is(.welcome-copy h1,.form-title,.success-title,.gate-question,.gate-preference-title,.gate-progress-title,.gate-photo-caption,.plain-center h1,.browser-guide-content h1,.sf-hero-title,.sf-section-heading h2,.sf-final h2,.sf-register-hero h1,.sf-age-content h2,.sf-modal h2,.dialog h2){color:var(--theme-heading)}
html[data-background]:not([data-background=original]) :-webkit-any(.welcome-copy p,.form-question,.success-subtitle,.gate-subtitle,.gate-progress-sub,.plain-center p,.browser-guide-notes,.browser-guide-figure figcaption,.sf-hero-sub,.sf-section-heading p,.sf-final p,.sf-register-hero p,.sf-sticky-copy,.sf-age-description,.sf-modal p,.dialog p){color:var(--theme-muted)}
html[data-background]:not([data-background=original]) :is(.welcome-copy p,.form-question,.success-subtitle,.gate-subtitle,.gate-progress-sub,.plain-center p,.browser-guide-notes,.browser-guide-figure figcaption,.sf-hero-sub,.sf-section-heading p,.sf-final p,.sf-register-hero p,.sf-sticky-copy,.sf-age-description,.sf-modal p,.dialog p){color:var(--theme-muted)}
html[data-background]:not([data-background=original]) :-webkit-any(.form-step,.form-privacy-copy,.plain-center .preview-note,.sf-footer,.sf-form-note,.sf-age-restriction,.sf-age-close){color:var(--theme-soft)}
html[data-background]:not([data-background=original]) :is(.form-step,.form-privacy-copy,.plain-center .preview-note,.sf-footer,.sf-form-note,.sf-age-restriction,.sf-age-close){color:var(--theme-soft)}
html[data-background]:not([data-background=original]) :-webkit-any(.gate-card-title,.gate-brand,.plain-title,.browser-guide-brand,.sf-brand){color:var(--theme-accent);text-shadow:none}
html[data-background]:not([data-background=original]) :is(.gate-card-title,.gate-brand,.plain-title,.browser-guide-brand,.sf-brand){color:var(--theme-accent);text-shadow:none}
html[data-background]:not([data-background=original]) :-webkit-any(.browser-guide-next,.gate-guide-next,.gate-guide-action,.sf-card-action,.sf-text-button,.sf-age-label,.sf-age-caption,.sf-selected,.sf-dial,.tap.privacy-link){color:var(--theme-accent)}
html[data-background]:not([data-background=original]) :is(.browser-guide-next,.gate-guide-next,.gate-guide-action,.sf-card-action,.sf-text-button,.sf-age-label,.sf-age-caption,.sf-selected,.sf-dial,.tap.privacy-link){color:var(--theme-accent)}
html[data-background]:not([data-background=original]) .gate-brand::before,
html[data-background]:not([data-background=original]) .gate-brand::after{color:var(--theme-border)}
html[data-background]:not([data-background=original]) .gate-scene::before,
html[data-background]:not([data-background=original]) .gate-scene::after{color:var(--theme-glow)}
html[data-background]:not([data-background=original]) .sf-highlight{color:var(--theme-accent);background-image:linear-gradient(100deg,var(--theme-heading),var(--theme-accent))}

/* Buttons, controls and all interaction states. */
html[data-background]:not([data-background=original]) :-webkit-any(.tap.primary-face,.plain-button,.sf-cta,.browser-guide-copy-button,.dialog button,.sf-age-handle,.success-mark,.sf-age-check){background:var(--theme-primary);color:var(--theme-button-text);border-color:var(--theme-border);box-shadow:0 8px 30px var(--theme-glow),inset 0 1px 0 #ffffff12}

/* Buttons, controls and all interaction states. */
html[data-background]:not([data-background=original]) :is(.tap.primary-face,.plain-button,.sf-cta,.browser-guide-copy-button,.dialog button,.sf-age-handle,.success-mark,.sf-age-check){background:var(--theme-primary);color:var(--theme-button-text);border-color:var(--theme-border);box-shadow:0 8px 30px var(--theme-glow),inset 0 1px 0 #ffffff12}
html[data-background]:not([data-background=original]) :-webkit-any(.tap.secondary-face,.plain-button.secondary-end,.browser-guide-open,.sf-back){background:var(--theme-secondary);color:var(--theme-text);border-color:var(--theme-border);box-shadow:none}
html[data-background]:not([data-background=original]) :is(.tap.secondary-face,.plain-button.secondary-end,.browser-guide-open,.sf-back){background:var(--theme-secondary);color:var(--theme-text);border-color:var(--theme-border);box-shadow:none}
html[data-background]:not([data-background=original]) :-webkit-any(.primary-face:disabled,.sf-cta:disabled,.tap.disabled-mask){background:var(--theme-disabled);color:var(--theme-disabled-text);border-color:var(--theme-border-soft);box-shadow:none;opacity:1;filter:none}
html[data-background]:not([data-background=original]) :is(.primary-face:disabled,.sf-cta:disabled,.tap.disabled-mask){background:var(--theme-disabled);color:var(--theme-disabled-text);border-color:var(--theme-border-soft);box-shadow:none;opacity:1;filter:none}
html[data-background]:not([data-background=original]) .tap.submit-face.busy{background:var(--theme-primary);color:var(--theme-button-text)}
html[data-background]:not([data-background=original]) :-webkit-any(.tap.native-close,.tap.native-more){color:var(--theme-text)}
html[data-background]:not([data-background=original]) :is(.tap.native-close,.tap.native-more){color:var(--theme-text)}
html[data-background]:not([data-background=original]) :-webkit-any(button,a,input,select,.gate-question,.gate-preference-title):focus-visible{outline-color:var(--theme-focus)}
html[data-background]:not([data-background=original]) :is(button,a,input,select,.gate-question,.gate-preference-title):focus-visible{outline-color:var(--theme-focus)}
html[data-background]:not([data-background=original]) :-webkit-any(.review-nav,.review-nav select,.language-picker select,.sf-language select,.menu,.menu button){background:var(--review-panel);color:var(--theme-text);border-color:var(--theme-border)}
html[data-background]:not([data-background=original]) :is(.review-nav,.review-nav select,.language-picker select,.sf-language select,.menu,.menu button){background:var(--review-panel);color:var(--theme-text);border-color:var(--theme-border)}
html[data-background]:not([data-background=original]) :-webkit-any(.review-nav select,.language-picker select,.sf-language select){background:var(--theme-input)}
html[data-background]:not([data-background=original]) :is(.review-nav select,.language-picker select,.sf-language select){background:var(--theme-input)}
html[data-background]:not([data-background=original]) option{background:var(--theme-input);color:var(--theme-text)}
html[data-background]:not([data-background=original]) .radio-option{background:var(--theme-input);border-color:var(--theme-border);color:var(--theme-text)}
html[data-background]:not([data-background=original]) .radio-option[aria-checked=true]{background:var(--theme-selected);border-color:var(--theme-accent);box-shadow:0 0 24px var(--theme-glow)}
html[data-background]:not([data-background=original]) .radio-option .radio-circle{background:var(--theme-input);border-color:var(--theme-border)}
html[data-background]:not([data-background=original]) .radio-option[aria-checked=true] .radio-circle{border-color:var(--theme-accent)}
html[data-background]:not([data-background=original]) .radio-circle::after{background:var(--theme-accent)}
html[data-background]:not([data-background=original]) .photo-option{background:var(--review-panel);outline-color:var(--theme-border)}
html[data-background]:not([data-background=original]) .photo-option[aria-pressed=true]{outline-color:var(--theme-accent);box-shadow:0 0 30px var(--theme-glow)}

/* Surfaces, frames, inputs and feedback. */
html[data-background]:not([data-background=original]) :-webkit-any(.form-panel,.gate-card-stack,.sf-card,.sf-form,.sf-final,.sf-feature,.sf-age-panel,.dialog,.sf-modal,.sf-selected,.sf-footer,.sf-nav,.sf-sticky,.browser-guide-figure,.sf-age-track,.sf-dial,.sf-phone){border-color:var(--theme-border-soft)}

/* Surfaces, frames, inputs and feedback. */
html[data-background]:not([data-background=original]) :is(.form-panel,.gate-card-stack,.sf-card,.sf-form,.sf-final,.sf-feature,.sf-age-panel,.dialog,.sf-modal,.sf-selected,.sf-footer,.sf-nav,.sf-sticky,.browser-guide-figure,.sf-age-track,.sf-dial,.sf-phone){border-color:var(--theme-border-soft)}
html[data-background]:not([data-background=original]) .gate-card-stack{border-color:var(--theme-border)}
html[data-background]:not([data-background=original]) .gate-card-stack::before,
html[data-background]:not([data-background=original]) .gate-card-stack::after{border-color:var(--theme-border)}
html[data-background]:not([data-background=original]) .sf-card{background:var(--review-panel)}
html[data-background]:not([data-background=original]) .sf-card:hover{border-color:var(--theme-accent);box-shadow:0 6px 22px var(--theme-glow)}
html[data-background]:not([data-background=original]) .sf-card-overlay{background:linear-gradient(180deg,#00000008,transparent 33%,transparent 55%,#ffffffed)}
html[data-background]:not([data-background=original]) .sf-hero-shade{background:linear-gradient(180deg,#ffffff00 5%,#ffffff30 40%,var(--review-bg) 100%)}
html[data-background]:not([data-background=original]) :-webkit-any(.sf-badge,.sf-card-tag){background:var(--theme-selected);border-color:var(--theme-border);color:var(--theme-accent)}
html[data-background]:not([data-background=original]) :is(.sf-badge,.sf-card-tag){background:var(--theme-selected);border-color:var(--theme-border);color:var(--theme-accent)}
html[data-background]:not([data-background=original]) .sf-age{border-color:var(--theme-border)}
html[data-background]:not([data-background=original]) :-webkit-any(.sf-card-bottom,.sf-feature,.sf-field>label){color:var(--theme-text)}
html[data-background]:not([data-background=original]) :is(.sf-card-bottom,.sf-feature,.sf-field>label){color:var(--theme-text)}
html[data-background]:not([data-background=original]) :-webkit-any(.sf-input,.sf-phone,.handoff-address){background:var(--theme-input);border-color:var(--theme-border);color:var(--theme-text);caret-color:var(--theme-accent)}
html[data-background]:not([data-background=original]) :is(.sf-input,.sf-phone,.handoff-address){background:var(--theme-input);border-color:var(--theme-border);color:var(--theme-text);caret-color:var(--theme-accent)}
html[data-background]:not([data-background=original]) .sf-phone .sf-input{background:transparent;border:0}
html[data-background]:not([data-background=original]) .sf-input::placeholder{color:var(--theme-soft)}
html[data-background]:not([data-background=original]) :-webkit-any(.sf-input:focus,.sf-phone:focus-within){border-color:var(--theme-accent)}
html[data-background]:not([data-background=original]) :is(.sf-input:focus,.sf-phone:focus-within){border-color:var(--theme-accent)}
html[data-background]:not([data-background=original]) :-webkit-any(.sf-input[aria-invalid=true],.sf-phone:has([aria-invalid=true])){border-color:var(--theme-error)}
html[data-background]:not([data-background=original]) :is(.sf-input[aria-invalid=true],.sf-phone:has([aria-invalid=true])){border-color:var(--theme-error)}
html[data-background]:not([data-background=original]) .sf-field-error{color:var(--theme-error)}
html[data-background]:not([data-background=original]) :-webkit-any(.dialog,.sf-modal,.sf-age-number){background:var(--review-panel);color:var(--theme-text)}
html[data-background]:not([data-background=original]) :is(.dialog,.sf-modal,.sf-age-number){background:var(--review-panel);color:var(--theme-text)}
html[data-background]:not([data-background=original]) .scrim,
html[data-background]:not([data-background=original]) .sf-modal::backdrop{background:var(--theme-overlay)}
html[data-background]:not([data-background=original]) .sf-age-overlay,
html[data-background]:not([data-background=original]) .sf-age-overlay::backdrop{background:var(--review-bg)}
html[data-background]:not([data-background=original]) .sf-age-scene::after{background:linear-gradient(150deg,var(--theme-glow-soft),var(--theme-overlay))}
html[data-background]:not([data-background=original]) .sf-age-track{background:var(--theme-input)}
html[data-background]:not([data-background=original]) .sf-age-fill{background:linear-gradient(90deg,var(--theme-glow-soft),var(--theme-glow))}
html[data-background]:not([data-background=original]) .sf-age-countdown{background:conic-gradient(var(--theme-accent) var(--age-progress),var(--theme-border-soft) 0)}
html[data-background]:not([data-background=original]) .progress-track{background:var(--review-panel);box-shadow:inset 0 0 0 2px var(--theme-border)}
html[data-background]:not([data-background=original]) :-webkit-any(.progress-fill,.native-progress){background:linear-gradient(90deg,var(--theme-button-start),var(--theme-accent));box-shadow:0 0 25px var(--theme-glow)}
html[data-background]:not([data-background=original]) :is(.progress-fill,.native-progress){background:linear-gradient(90deg,var(--theme-button-start),var(--theme-accent));box-shadow:0 0 25px var(--theme-glow)}

/* Decorative colors follow the palette as well, including animation frames. */
html[data-background]:not([data-background=original]) .sf-brand svg{fill:var(--theme-accent);stroke:var(--theme-heading);filter:none}
html[data-background]:not([data-background=original]) :-webkit-any(.sf-feature svg,.sf-final>svg,.sf-selected>svg,.sf-modal>svg){color:var(--theme-accent)}
html[data-background]:not([data-background=original]) :is(.sf-feature svg,.sf-final>svg,.sf-selected>svg,.sf-modal>svg){color:var(--theme-accent)}
html[data-background]:not([data-background=original]) .sf-dot{background:var(--theme-accent);box-shadow:0 0 10px var(--theme-glow);animation-name:theme-glow}
html[data-background]:not([data-background=original]) .tap-hand{fill:var(--theme-glow);stroke:var(--theme-heading)}
html[data-background]:not([data-background=original]) .tap-ring{stroke:var(--theme-accent)}
html[data-background]:not([data-background=original]) .nojs{background:var(--review-panel);border-color:var(--theme-border);color:var(--theme-text)}
html[data-background]:not([data-background=original]) .language-picker select{color-scheme:light}
html[data-background]:not([data-background=original]) .browser-guide-picture{background:var(--review-panel);box-shadow:0 6px 20px var(--theme-glow)}
@keyframes theme-glow{50%{opacity:.6;box-shadow:0 0 15px var(--theme-accent)}}
@media(prefers-reduced-motion:reduce){html[data-background]:not([data-background=original]) .sf-dot{animation:none}}

/* Dark-theme exceptions to the light palettes; high specificity also covers responsive layouts. */
html[data-background]:-webkit-any([data-background=crimson],[data-background=amber]){
  color-scheme:dark;--theme-primary:linear-gradient(115deg,var(--theme-button-start),var(--theme-button-end));
}

/* Dark-theme exceptions to the light palettes; high specificity also covers responsive layouts. */
html[data-background]:is([data-background=crimson],[data-background=amber]){
  color-scheme:dark;--theme-primary:linear-gradient(115deg,var(--theme-button-start),var(--theme-button-end));
}
html[data-background]:-webkit-any([data-background=crimson],[data-background=amber]) :-webkit-any(.language-picker select,.sf-country,.review-nav select){color-scheme:dark}
html[data-background]:is([data-background=crimson],[data-background=amber]) :is(.language-picker select,.sf-country,.review-nav select){color-scheme:dark}
html[data-background]:-webkit-any([data-background=crimson],[data-background=amber]) .welcome-visual{box-shadow:0 0 0 1px var(--theme-border-soft),0 12px 36px var(--theme-glow)}
html[data-background]:is([data-background=crimson],[data-background=amber]) .welcome-visual{box-shadow:0 0 0 1px var(--theme-border-soft),0 12px 36px var(--theme-glow)}
html[data-background]:-webkit-any([data-background=crimson],[data-background=amber]) .welcome-photo-note{background:var(--review-panel);color:var(--theme-text);border:1px solid var(--theme-border-soft)}
html[data-background]:is([data-background=crimson],[data-background=amber]) .welcome-photo-note{background:var(--review-panel);color:var(--theme-text);border:1px solid var(--theme-border-soft)}
html[data-background]:-webkit-any([data-background=crimson],[data-background=amber]) .sf-card-overlay{background:linear-gradient(180deg,#00000008,transparent 33%,transparent 50%,var(--review-panel) 98%)}
html[data-background]:is([data-background=crimson],[data-background=amber]) .sf-card-overlay{background:linear-gradient(180deg,#00000008,transparent 33%,transparent 50%,var(--review-panel) 98%)}
html[data-background]:-webkit-any([data-background=crimson],[data-background=amber]) .sf-card-action{color:var(--theme-accent)}
html[data-background]:is([data-background=crimson],[data-background=amber]) .sf-card-action{color:var(--theme-accent)}
html[data-background]:-webkit-any([data-background=crimson],[data-background=amber]) .sf-brand .brand-mark{fill:none;stroke:currentColor}
html[data-background]:is([data-background=crimson],[data-background=amber]) .sf-brand .brand-mark{fill:none;stroke:currentColor}

/* Actions occupy their own row in the visible viewport, including Safari chrome changes. */
:root{--viewport-height:100vh;--app-height:100vh;--flow-panel:var(--review-panel,#21132e);--flow-border:var(--theme-border-soft,#654175);--flow-ink:var(--theme-heading,#f3e9fb);--flow-muted:var(--theme-muted,#bca8cd);--flow-accent:var(--theme-accent,#df8bf4)}
html{height:100%;overflow:hidden}
body,body.local-preview{height:var(--viewport-height);min-height:0!important;overflow:hidden}
body.local-preview{max-width:414px;margin:0 auto}
body .viewport{height:var(--app-height);min-height:0!important;padding:0!important;display:block;max-width:560px;margin:0 auto;overflow:hidden}
body .viewport .frame{position:relative;width:100%!important;height:100%!important;overflow:hidden}
body .viewport .frame #stage{position:relative;top:auto;right:auto;bottom:auto;left:auto;inset:auto;width:100%;height:100%!important;transform:none!important;overflow:hidden;isolation:isolate}
.review-toolbar{position:relative;z-index:50;background:var(--flow-panel);color:var(--flow-ink);border-bottom:1px solid var(--flow-border);padding-top:env(safe-area-inset-top,0px)}
#review-toggle{width:100%;min-height:50px;padding:10px 16px;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px;font:inherit;font-size:12px;cursor:pointer;text-align:start}
#review-toggle strong{font-size:12px;white-space:nowrap}#review-toggle span{color:var(--flow-muted);font-size:11px}
.review-nav{padding:8px 14px 14px;border:0}.review-nav[hidden]{display:none}.review-nav>label{display:none}.review-nav select{font-size:12px}#review-design{grid-column:1/-1}
.flow-shell{height:100%;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.flow-content{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;padding:16px 20px 18px;scroll-padding:16px;outline:0}
.flow-actions,.browser-guide-actions,.sf-register-actions{position:relative;flex:0 0 auto;display:flex;gap:12px;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));background:var(--flow-panel);border-top:1px solid var(--flow-border);z-index:4}
.flow-actions .tap,.flow-actions .plain-button{position:relative;top:auto;right:auto;bottom:auto;left:auto;inset:auto;width:auto;max-width:none;flex:1 1 0;min-width:0;min-height:48px;height:auto;padding:12px 14px;margin:0;font-size:16px;line-height:1.4;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:12px;touch-action:manipulation;overflow-wrap:anywhere}
.flow-actions .tap-label{position:static;display:block}.button-arrow{font-size:22px;line-height:1}.flow-actions .tap:focus-visible{outline-width:3px;outline-offset:-4px}
.brand-lockup{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:var(--flow-accent);font:750 23px/1.1 Arial,"Microsoft YaHei",sans-serif;letter-spacing:-.7px;text-shadow:none!important;white-space:nowrap}
.brand-lockup .brand-mark{display:block;flex:0 0 35px;width:35px;height:35px;background:var(--theme-selected,#38203f);border-radius:11px;color:var(--flow-accent);fill:none;filter:none!important}
.brand-lockup::before,.brand-lockup::after{display:none!important}.brand-word{display:block}
html[data-design=portrait] .brand-lockup{font-family:Georgia,"Songti SC",serif;font-weight:600;letter-spacing:-.4px}
html[data-design=portrait] .brand-mark{border-radius:50%;background:transparent;border:1px solid var(--flow-border)}
html[data-design=magazine] .brand-lockup{font-weight:650;letter-spacing:1px;font-size:21px}
html[data-design=magazine] .brand-mark{background:transparent;border-radius:0;flex-basis:30px;width:30px}
.flow-brand,.welcome-brand{flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 0 14px}
.flow-brand{justify-content:center}.welcome-brand .language-picker{position:static;max-width:44%;font-size:12px}
.welcome-content{flex:1;min-height:0;display:flex;flex-direction:column;gap:18px}
.welcome-visual{position:relative;flex:1;min-height:90px;overflow:hidden;border-radius:24px;background:var(--flow-panel)}
.welcome-image{display:block;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;inset:0;object-fit:cover;object-position:50% 29%}
.welcome-photo-note{position:absolute;bottom:14px;left:14px;right:14px;width:max-content;max-width:calc(100% - 28px);padding:7px 11px;border-radius:20px;font-size:10px;background:#fffffff0;color:#384454;letter-spacing:1px}
.welcome-shell .welcome-copy{position:static;flex:none;margin:0;padding:0;max-width:none}
.welcome-shell .welcome-copy .welcome-eyebrow{font-size:11px;line-height:1.4;letter-spacing:1.5px;margin:0 0 10px;color:var(--flow-accent)}
.welcome-shell .welcome-copy h1{font-size:30px;line-height:1.25;font-weight:750;letter-spacing:-.8px;margin:0 0 10px;color:var(--flow-ink);white-space:pre-line}
.welcome-shell .welcome-copy .welcome-description{font-size:14px;line-height:1.65;margin:0;color:var(--flow-muted)}
html[data-design=portrait] .welcome-brand{justify-content:center}
html[data-design=portrait] .welcome-visual{width:82%;align-self:center;border-radius:130px 130px 30px 30px}
html[data-design=portrait] .welcome-photo-note{font-size:9px;letter-spacing:0;left:50%;right:auto;transform:translateX(-50%);text-align:center}
html[data-design=portrait] .welcome-copy{text-align:center}
html[data-design=portrait] .welcome-copy h1{font-size:27px}
html[data-design=magazine] .welcome-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:16px;align-items:center}
html[data-design=magazine] .welcome-visual{grid-column:2;grid-row:1;align-self:stretch;margin:12px 0;border-radius:100px 100px 18px 18px}
html[data-design=magazine] .welcome-photo-note{display:none}
html[data-design=magazine] .welcome-copy{grid-column:1;grid-row:1}
html[data-design=magazine] .welcome-copy h1{font-size:32px;line-height:1.35;letter-spacing:-1px}
html[data-design=magazine] .welcome-copy .welcome-eyebrow{font-size:10px;letter-spacing:.5px;line-height:1.8}
html[data-design=magazine] .welcome-copy .welcome-description{font-size:13px;line-height:1.8}
.flow-shell .gate-heading{position:static;width:auto;flex:none;top:auto;right:auto;bottom:auto;left:auto;inset:auto;margin:0 0 14px;text-align:center}
.flow-shell .gate-heading .gate-subtitle{font-size:12px;line-height:1.5;margin:7px 0 0}
.flow-shell .gate-card-stack{position:relative;top:auto;right:auto;bottom:auto;left:auto;inset:auto;width:auto;height:auto;min-height:140px;flex:1;transform:none;border-width:1px;border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:14px;isolation:isolate;margin:4px 4px 8px;box-shadow:0 8px 24px var(--theme-glow,#0002)}
.flow-shell .gate-card-stack::before,.flow-shell .gate-card-stack::after{top:0;right:0;bottom:0;left:0;inset:0;border-width:1px;border-radius:20px;opacity:.5}
.flow-shell .gate-card-stack::before{transform:rotate(-3deg)}.flow-shell .gate-card-stack::after{transform:rotate(2deg)}
.flow-shell .gate-card-stack .gate-card-title{position:static;font-size:12px;line-height:1.5;width:auto;height:auto;font-style:normal;font-weight:600;letter-spacing:.4px;flex:none}
.flow-shell .gate-card-stack .gate-question{position:static;width:auto;height:auto;flex:1;font-size:20px;line-height:1.7;display:flex;align-items:center;margin:0;padding:0;min-height:0;overflow:visible}
.flow-shell .gate-card-stack.flow-preference-card{padding:14px;gap:9px}
.flow-shell .gate-card-stack .gate-preference-title{position:static;width:auto;height:auto;font-size:18px;line-height:1.4;margin:0 0 4px;flex:none}
.preference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px;width:100%;align-content:center;flex:1}
.preference-item{display:flex;flex-direction:column;align-items:stretch;min-width:0;gap:6px}
.preference-item .photo-option{position:relative;top:auto;right:auto;bottom:auto;left:auto;inset:auto;width:100%;height:calc((var(--app-height) - 290px)/2);max-height:150px;height:clamp(76px,calc((var(--app-height) - 290px)/2),150px);border-radius:12px;min-height:0;outline-width:2px;outline-offset:-1px}
.preference-item .photo-option img{width:100%;height:100%}
.preference-item .gate-photo-caption{position:static;width:100%;height:auto;font-size:12px;line-height:18px;margin:0;text-align:center}
.flow-form-panel{position:static;width:100%;height:auto;border-width:1px;border-radius:20px;padding:22px 18px;margin:12px 0;box-shadow:none!important}
.flow-form-panel .form-step,.flow-form-panel .form-title,.flow-form-panel .form-question,.flow-form-panel .form-privacy-copy{position:static;top:auto;right:auto;bottom:auto;left:auto;inset:auto;width:auto;height:auto!important;max-height:none!important;margin:0}
.flow-form-panel .form-step{font-size:12px;line-height:1.4;margin-bottom:14px}
.flow-form-panel .form-title{font-size:25px;line-height:1.3;margin-bottom:12px}
.flow-form-panel .form-question{font-size:16px;line-height:1.6;margin-bottom:20px}
.flow-form-panel .form-privacy-copy{font-size:12px;line-height:1.7;margin-top:16px}
.flow-form-panel .radio-option{position:relative;top:auto;right:auto;bottom:auto;left:auto;inset:auto;width:100%;height:auto;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;margin:0 0 12px;border-width:1px;border-radius:12px}
.flow-form-panel .radio-label{position:static;font-size:16px;line-height:1.4;padding:0}
.flow-form-panel .radio-circle{position:relative;top:auto;right:auto;bottom:auto;left:auto;inset:auto;display:block;flex:0 0 20px;width:20px;height:20px;border-width:2px}
.flow-form-panel .radio-circle::after{top:3px;right:3px;bottom:3px;left:3px;inset:3px}
.flow-content>.native-progress{position:static;width:100%;height:4px;flex:none;margin-top:4px;box-shadow:none}
.flow-success-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding:24px 0}
.flow-success .success-mark{position:static;width:76px;height:76px;font-size:38px;line-height:76px;flex:none}
.flow-success .success-title{position:static;width:auto;height:auto;margin:0;font-size:27px;line-height:1.4}
.flow-success .success-subtitle{position:static;width:auto;height:auto;margin:0;font-size:16px;line-height:1.6}
.flow-shell .gate-card-stack.flow-progress-card{justify-content:center;text-align:center;align-items:stretch}
.flow-progress-card .gate-card-title{display:none}
.flow-progress-card .gate-progress-title,.flow-progress-card .gate-progress-sub{position:static;top:auto;right:auto;bottom:auto;left:auto;inset:auto;width:auto;height:auto;margin:0;font-size:23px;line-height:1.5}
.flow-progress-card .gate-progress-sub{font-size:14px}
.flow-progress-card .progress-track{position:static;width:100%;height:10px;margin:12px 0;flex:none}
.flow-end .plain-title{margin:0}.flow-end .plain-center{position:static;flex:1;display:flex;flex-direction:column;justify-content:center;top:auto;right:auto;bottom:auto;left:auto;inset:auto;text-align:center;padding:16px}
.flow-end .plain-center h1{font-size:27px;line-height:1.5;margin:0 0 14px}.flow-end .plain-center p{font-size:16px;line-height:1.8;margin:0}
.browser-guide-page{display:flex;flex-direction:column;height:100%;min-height:0;padding:0;max-width:none;overflow:hidden}
.browser-guide-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px 20px 8px;-webkit-overflow-scrolling:touch}
.browser-guide-brand{margin:0 0 24px;text-shadow:none;display:flex;justify-content:center}
.browser-guide-actions{flex-direction:column;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}
.browser-guide-copy-button,.browser-guide-open{min-height:48px;padding:10px 12px;font-size:13px;line-height:1.5;border-radius:12px}
.browser-guide-figure{margin:18px 0 12px}.browser-guide-content h1{font-size:22px}
.browser-guide-picture{max-width:165px}.browser-guide-figure figcaption{font-size:11px}
.sf-page{display:flex;flex-direction:column;height:100%;min-height:0;padding:0!important;overflow:hidden}
.sf-scroll{flex:1;min-height:0;width:100%;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding:12px}
.sf-page .sf-nav{position:relative;flex:none;width:100%;padding:0 16px;padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--flow-border)}
.sf-page .sf-nav-inner{min-height:52px}.sf-brand.brand-lockup{font-size:21px;letter-spacing:-.5px}.sf-brand.brand-lockup .brand-mark{width:31px;height:31px;flex-basis:31px}
.sf-page .sf-sticky{position:relative;top:auto;right:auto;bottom:auto;left:auto;inset:auto;width:100%;max-width:none;margin:0;flex:none;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--flow-border);background:var(--flow-panel)}
.sf-sticky .sf-cta-small{min-height:48px;font-size:14px;padding:10px 16px;max-width:58%}
.sf-hero{height:calc(var(--app-height) - 125px);max-height:620px;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;overflow:hidden;padding:0}
.sf-hero .sf-hero-image{position:relative;top:auto;right:auto;bottom:auto;left:auto;inset:auto;grid-row:1;width:calc(100% - 32px);height:100%;min-height:0;margin:16px 16px 0;border-radius:22px;object-position:50% 25%}
.sf-hero .sf-hero-shade{display:none}
.sf-hero .sf-hero-content{grid-row:2;width:100%;max-width:none;padding:18px 20px 18px;text-align:start}
.sf-hero .sf-hero-title{font-size:26px;line-height:1.25;letter-spacing:-.6px;text-shadow:none}
.sf-hero .sf-highlight{font-size:19px;line-height:1.4;margin-top:6px;font-weight:500;background:none!important;-webkit-text-fill-color:currentColor;color:var(--flow-accent)}
.sf-hero .sf-hero-sub{font-size:13px;line-height:1.6;margin:10px 0 14px!important}
.sf-hero .sf-badge{font-size:10px;margin-bottom:10px;padding:4px 9px}
.sf-hero .sf-cta{min-height:48px;width:100%;font-size:15px}
html[data-design=portrait] .sf-hero .sf-hero-image{position:absolute;top:16px;right:16px;bottom:32px;left:16px;inset:16px 16px 32px;width:calc(100% - 32px);height:calc(100% - 48px);margin:0;border-radius:28px}
html[data-design=portrait] .sf-hero .sf-hero-content{width:calc(100% - 48px);position:relative;margin:0 24px 18px;background:var(--flow-panel);border:1px solid var(--flow-border);border-radius:22px;padding:18px;text-align:center;box-shadow:0 8px 24px var(--theme-glow,#0002)}
html[data-design=magazine] .sf-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:1fr;gap:16px;padding:22px 18px;align-items:center}
html[data-design=magazine] .sf-hero .sf-hero-image{position:relative;grid-column:2;grid-row:1;top:auto;right:auto;bottom:auto;left:auto;inset:auto;align-self:stretch;width:100%;height:100%;max-height:100%;margin:0;border-radius:100px 100px 18px 18px}
html[data-design=magazine] .sf-hero .sf-hero-content{grid-column:1;grid-row:1;padding:0;margin:0;min-width:0}
html[data-design=magazine] .sf-hero .sf-hero-title{font-size:27px;line-height:1.35;word-break:normal}
html[data-design=magazine] .sf-hero .sf-highlight{font-size:17px;line-height:1.5}
html[data-design=magazine] .sf-hero .sf-hero-sub{font-size:12px}
html[data-design=magazine] .sf-hero .sf-cta{padding:10px;font-size:13px;gap:5px}
.sf-register .sf-scroll{display:block}.sf-register .sf-register-hero{padding:16px 20px 18px}.sf-register .sf-register-hero h1{font-size:24px}
.sf-register .sf-form{padding:18px;gap:16px;margin-bottom:18px}.sf-register .sf-register-actions{width:100%;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}.sf-register-actions .sf-submit{min-height:48px}
.sf-register .sf-country{color-scheme:inherit}.sf-register .sf-footer{margin:0}
.sf-age-overlay{height:var(--viewport-height)!important;max-height:var(--viewport-height)!important}.sf-age-scene{height:var(--viewport-height)}
.sf-age-panel{max-height:calc(var(--viewport-height) - 32px);overflow:auto}.sf-age-panel .brand-lockup{margin-bottom:18px}.sf-modal{max-height:calc(var(--viewport-height) - 32px)}
body .scrim{position:absolute!important;top:0;right:0;bottom:0;left:0;inset:0;padding:16px;overflow:auto}.scrim .dialog{width:100%;max-width:400px;max-height:100%;overflow:auto;padding:22px;border-width:1px}.scrim .dialog h2{font-size:22px}.scrim .dialog p{font-size:14px;line-height:1.7}.scrim .dialog button{font-size:16px;min-height:48px}.scrim .handoff-address{font-size:16px;padding:12px;min-height:48px;margin-bottom:16px}
@media(max-height:680px){
  .flow-content{padding:12px 18px}.welcome-brand{padding-bottom:10px}.welcome-content{gap:12px}.welcome-shell .welcome-copy h1{font-size:26px}.welcome-shell .welcome-copy .welcome-eyebrow{margin-bottom:6px;font-size:10px}.welcome-shell .welcome-copy .welcome-description{font-size:13px}
  html[data-design=portrait] .welcome-copy h1{font-size:25px}html[data-design=magazine] .welcome-copy h1{font-size:29px}
  .flow-shell .gate-heading{margin-bottom:10px}.flow-shell .gate-heading .gate-subtitle{font-size:11px}.flow-shell .gate-card-stack{padding:16px;gap:10px}.flow-shell .gate-card-stack .gate-question{font-size:18px}
  .flow-form-panel{padding:18px 16px;margin:6px 0}.flow-form-panel .form-title{font-size:23px}.flow-form-panel .form-question{margin-bottom:14px}.flow-form-panel .form-privacy-copy{margin-top:8px}
  .flow-actions{padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.sf-hero .sf-hero-content{padding:12px 18px}.sf-hero .sf-hero-title{font-size:23px}.sf-hero .sf-highlight{font-size:17px}.sf-hero .sf-hero-sub{font-size:12px;margin:8px 0 10px!important}.sf-hero .sf-badge{margin-bottom:7px}
  html[data-design=portrait] .sf-hero .sf-hero-content{padding:14px;margin-bottom:12px}html[data-design=magazine] .sf-hero{padding:16px;gap:12px}html[data-design=magazine] .sf-hero .sf-hero-title{font-size:22px}html[data-design=magazine] .sf-hero .sf-highlight{font-size:15px}
}
@media(max-height:510px){.welcome-photo-note{display:none}.welcome-shell .welcome-copy h1{font-size:22px}.welcome-shell .welcome-copy .welcome-description{font-size:12px}.welcome-visual{min-height:50px}.flow-brand .brand-lockup{font-size:21px}.sf-hero .sf-badge{display:none}.sf-hero .sf-hero-sub{font-size:11px}.sf-hero .sf-hero-title{font-size:21px}html[data-design=magazine] .sf-hero .sf-hero-title{font-size:20px}}
@media(prefers-reduced-motion:reduce){.sf-scroll,.flow-content,.browser-guide-scroll{scroll-behavior:auto}}

/* Independent button/copy concepts; theme colors and the fixed action rows remain shared. */
.review-nav #review-design{grid-column:auto}
html[data-campaign]:not([data-campaign=original]){
  --campaign-radius:14px;--campaign-weight:650;--campaign-border:1px;--campaign-shadow:none;
  --campaign-heading-font:Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  --campaign-heading-weight:750;--campaign-heading-spacing:-.4px;
}
html[data-campaign][data-campaign=gentle]{
  --campaign-radius:30px;--campaign-weight:600;--campaign-border:1px;
  --campaign-shadow:0 5px 18px var(--theme-glow,#a131d026),inset 0 1px 0 #ffffff18;
  --campaign-heading-font:Georgia,"Songti SC","SimSun",serif;--campaign-heading-weight:600;--campaign-heading-spacing:1px;
}
html[data-campaign][data-campaign=pulse]{
  --campaign-radius:12px;--campaign-weight:750;--campaign-border:2px;
  --campaign-shadow:0 4px 0 var(--theme-border-soft,#4b295d),0 8px 20px var(--theme-glow,#a131d026);
  --campaign-heading-weight:850;--campaign-heading-spacing:-.8px;
}
html[data-campaign][data-campaign=simple]{
  --campaign-radius:6px;--campaign-weight:600;--campaign-border:1px;--campaign-shadow:none;
  --campaign-heading-weight:600;--campaign-heading-spacing:0;
}
html[data-campaign]:not([data-campaign=original]) :-webkit-any(.flow-actions .tap,.flow-actions .plain-button,.sf-cta,.browser-guide-copy-button,.browser-guide-open,.scrim .dialog button){
  min-height:50px;border-radius:var(--campaign-radius);border-width:var(--campaign-border);font-weight:var(--campaign-weight);line-height:1.45;letter-spacing:.25px;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;touch-action:manipulation;
}
html[data-campaign]:not([data-campaign=original]) :is(.flow-actions .tap,.flow-actions .plain-button,.sf-cta,.browser-guide-copy-button,.browser-guide-open,.scrim .dialog button){
  min-height:50px;border-radius:var(--campaign-radius);border-width:var(--campaign-border);font-weight:var(--campaign-weight);line-height:1.45;letter-spacing:.25px;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;touch-action:manipulation;
}
html[data-campaign]:not([data-campaign=original]) :-webkit-any(.flow-actions .primary-face,.flow-actions .plain-button:not(.secondary-end),.sf-cta,.browser-guide-copy-button,.scrim .dialog button):not(:disabled){box-shadow:var(--campaign-shadow)}
html[data-campaign]:not([data-campaign=original]) :is(.flow-actions .primary-face,.flow-actions .plain-button:not(.secondary-end),.sf-cta,.browser-guide-copy-button,.scrim .dialog button):not(:disabled){box-shadow:var(--campaign-shadow)}
html[data-campaign]:not([data-campaign=original]) :-webkit-any(.flow-actions .tap,.flow-actions .plain-button){font-size:15px;padding:11px 14px}
html[data-campaign]:not([data-campaign=original]) :is(.flow-actions .tap,.flow-actions .plain-button){font-size:15px;padding:11px 14px}
html[data-campaign]:not([data-campaign=original]) :-webkit-any(.flow-actions .tap,.flow-actions .plain-button,.sf-cta,.browser-guide-copy-button,.browser-guide-open,.scrim .dialog button):not(:disabled):active{transform:translateY(1px);filter:brightness(.95)}
html[data-campaign]:not([data-campaign=original]) :is(.flow-actions .tap,.flow-actions .plain-button,.sf-cta,.browser-guide-copy-button,.browser-guide-open,.scrim .dialog button):not(:disabled):active{transform:translateY(1px);filter:brightness(.95)}
html[data-campaign]:not([data-campaign=original]) :-webkit-any(.flow-actions .tap,.flow-actions .plain-button,.sf-cta,.browser-guide-copy-button,.browser-guide-open,.scrim .dialog button):focus-visible{outline:2px solid var(--theme-focus,#e6a5fa);outline-offset:3px}
html[data-campaign]:not([data-campaign=original]) :is(.flow-actions .tap,.flow-actions .plain-button,.sf-cta,.browser-guide-copy-button,.browser-guide-open,.scrim .dialog button):focus-visible{outline:2px solid var(--theme-focus,#e6a5fa);outline-offset:3px}
html[data-campaign]:not([data-campaign=original]) :-webkit-any(.welcome-copy h1,.gate-question,.form-title,.success-title,.sf-hero-title,.sf-register-hero h1,.browser-guide-content h1,.plain-center h1){font-family:var(--campaign-heading-font);font-weight:var(--campaign-heading-weight);letter-spacing:var(--campaign-heading-spacing)}
html[data-campaign]:not([data-campaign=original]) :is(.welcome-copy h1,.gate-question,.form-title,.success-title,.sf-hero-title,.sf-register-hero h1,.browser-guide-content h1,.plain-center h1){font-family:var(--campaign-heading-font);font-weight:var(--campaign-heading-weight);letter-spacing:var(--campaign-heading-spacing)}
html[data-campaign]:not([data-campaign=original]) .welcome-shell .welcome-copy h1{font-size:31px;line-height:1.3;margin-bottom:10px}
html[data-campaign]:not([data-campaign=original]) .welcome-shell .welcome-description{font-size:13px;line-height:1.7;max-width:29em}
html[data-campaign]:not([data-campaign=original]) .welcome-shell .welcome-copy .welcome-eyebrow{font-size:10px;margin-bottom:10px;letter-spacing:1.5px}
html[data-campaign]:not([data-campaign=original]) .welcome-photo-note{font-size:10px;letter-spacing:.5px}
html[data-campaign]:not([data-campaign=original]) .sf-hero .sf-hero-title{line-height:1.3}
html[data-campaign]:not([data-campaign=original]) .sf-hero .sf-highlight{font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-weight:500;letter-spacing:.3px}
html[data-campaign]:not([data-campaign=original]) .flow-form-panel .form-title{height:auto;min-height:0;line-height:1.4}
html[data-campaign]:not([data-campaign=original]) .flow-actions .secondary-face{font-weight:500}
html[data-campaign]:not([data-campaign=original]) .sf-cta svg{flex-shrink:0}
html[data-campaign]:not([data-campaign=original]) .sf-back{width:44px;height:44px;min-width:44px;border-radius:var(--campaign-radius)}
html[data-campaign]:not([data-campaign=original]) .sf-text-button{min-height:44px;padding:10px 8px;font-weight:var(--campaign-weight)}
html[data-campaign]:not([data-campaign=original]) .sf-card{border-radius:var(--campaign-radius)}
html[data-campaign]:not([data-campaign=original]) .sf-age-close{width:44px;height:44px;top:3px;right:3px}
/* A: soft capsule controls and a calm serif headline. */
html[data-campaign][data-campaign=gentle] .welcome-shell .welcome-copy .welcome-eyebrow{letter-spacing:2px}
html[data-campaign][data-campaign=gentle] .welcome-shell .welcome-copy h1{line-height:1.38}
html[data-campaign][data-campaign=gentle] .welcome-shell .button-arrow{font-size:18px;margin-left:4px}
html[data-campaign][data-campaign=gentle] :-webkit-any(.flow-form-panel .radio-option,.sf-input,.sf-phone){border-radius:18px}
html[data-campaign][data-campaign=gentle] :is(.flow-form-panel .radio-option,.sf-input,.sf-phone){border-radius:18px}
html[data-campaign][data-campaign=gentle] .sf-phone .sf-input{border-radius:0 18px 18px 0}
html[data-campaign][data-campaign=gentle] .photo-option{border-radius:18px}
html[data-campaign][data-campaign=gentle] .welcome-photo-note{border-radius:30px}
/* B: stronger contrast, a separate arrow target, and a restrained raised edge. */
html[data-campaign][data-campaign=pulse] .welcome-shell .welcome-copy .welcome-eyebrow{border-left:3px solid var(--flow-accent);padding-left:9px;font-weight:700}
html[data-campaign][data-campaign=pulse] .welcome-shell .flow-actions .primary-face{justify-content:space-between;padding-inline:20px}
html[data-campaign][data-campaign=pulse] .welcome-shell .button-arrow{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;font-size:21px}
html[data-campaign][data-campaign=pulse] .flow-shell:not(.welcome-shell) .flow-actions .primary-face:not(.busy)::after{content:'→';display:inline-block;font-size:19px;line-height:1;flex:none}
html[data-campaign][data-campaign=pulse] .sf-cta svg{border:1px solid currentColor;border-radius:50%;width:28px;height:28px;padding:4px}
html[data-campaign][data-campaign=pulse] :-webkit-any(.flow-form-panel .radio-option,.sf-input,.sf-phone,.photo-option){border-radius:10px}
html[data-campaign][data-campaign=pulse] :is(.flow-form-panel .radio-option,.sf-input,.sf-phone,.photo-option){border-radius:10px}
html[data-campaign][data-campaign=pulse] .welcome-photo-note{border-radius:7px;font-weight:650}
/* C: quiet flat controls, concise labels and simple alignment. */
html[data-campaign][data-campaign=simple] :-webkit-any(.flow-actions .primary-face,.flow-actions .plain-button:not(.secondary-end),.sf-cta,.browser-guide-copy-button,.scrim .dialog button):not(:disabled){background:var(--theme-button-start,#8c34b9);box-shadow:none}
/* C: quiet flat controls, concise labels and simple alignment. */
html[data-campaign][data-campaign=simple] :is(.flow-actions .primary-face,.flow-actions .plain-button:not(.secondary-end),.sf-cta,.browser-guide-copy-button,.scrim .dialog button):not(:disabled){background:var(--theme-button-start,#8c34b9);box-shadow:none}
html[data-campaign][data-campaign=simple] .welcome-shell .welcome-copy .welcome-eyebrow::before{content:'';display:inline-block;width:24px;height:1px;margin:0 8px 3px 0;background:currentColor}
html[data-campaign][data-campaign=simple] .welcome-shell .button-arrow{font-size:19px;margin-left:12px}
html[data-campaign][data-campaign=simple] :-webkit-any(.flow-form-panel .radio-option,.sf-input,.sf-phone,.photo-option){border-radius:6px}
html[data-campaign][data-campaign=simple] :is(.flow-form-panel .radio-option,.sf-input,.sf-phone,.photo-option){border-radius:6px}
html[data-campaign][data-campaign=simple] .welcome-photo-note{border-radius:4px}
html[data-campaign]:not([data-campaign=original])[data-design=portrait] .welcome-shell .welcome-copy h1{font-size:29px}
html[data-campaign]:not([data-campaign=original])[data-design=magazine] .welcome-shell .welcome-copy h1{font-size:25px;line-height:1.4;letter-spacing:0}
html[data-campaign]:not([data-campaign=original])[data-design=magazine] .welcome-shell .welcome-copy .welcome-eyebrow{letter-spacing:.5px}
@media(max-height:680px){
  html[data-campaign]:not([data-campaign=original]) .welcome-shell .welcome-copy h1{font-size:27px;line-height:1.3;margin-bottom:7px}
  html[data-campaign]:not([data-campaign=original]) .welcome-shell .welcome-copy .welcome-eyebrow{margin-bottom:7px}
  html[data-campaign]:not([data-campaign=original]) .welcome-shell .welcome-description{font-size:12px;line-height:1.6}
  html[data-campaign]:not([data-campaign=original])[data-design=portrait] .welcome-shell .welcome-copy h1{font-size:25px}
  html[data-campaign]:not([data-campaign=original])[data-design=magazine] .welcome-shell .welcome-copy h1{font-size:22px}
  html[data-campaign]:not([data-campaign=original]) .sf-hero .sf-hero-title{font-size:22px}
  html[data-campaign]:not([data-campaign=original]) .sf-hero .sf-highlight{font-size:16px}
}
@media(prefers-reduced-motion:reduce){html[data-campaign]:not([data-campaign=original]) :-webkit-any(button,a){transition:none!important}html[data-campaign]:not([data-campaign=original]) :is(button,a){transition:none!important}}

/* Package-backed profile galleries share the existing palette and CTA designs. */
.sf-photo-count{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:12px;background:var(--theme-selected,#291635);color:var(--theme-accent,#f0c9ff);border:1px solid var(--theme-border-soft,#89539e66);font-size:10px;line-height:1.1}
.sf-photo-count svg{width:12px;height:12px}
.sf-profile-dialog{margin:auto;padding:0;border:1px solid var(--theme-border-soft,#704483);border-radius:22px;width:calc(100% - 24px);max-width:440px;height:calc(var(--viewport-height,100vh) - 28px);max-height:760px;background:var(--review-panel,#21132e);color:var(--theme-text,#f3e9fb);box-shadow:0 22px 80px #0008;overflow:hidden}
.sf-profile-dialog[open]{display:flex;flex-direction:column}
.sf-profile-dialog::backdrop{background:var(--theme-overlay,#08040cde)}
.sf-profile-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none;padding:8px 8px 8px 18px;border-bottom:1px solid var(--theme-border-soft,#704483)}
.sf-profile-header h2{margin:0;font-size:15px;line-height:1.45;font-weight:650;color:var(--theme-heading,#f3e9fb)}
.sf-profile-close{flex:none;width:44px;height:44px;border:1px solid var(--theme-border-soft,#704483);border-radius:50%;background:var(--review-panel,#21132e);color:var(--theme-text,#f3e9fb);font-size:26px;line-height:1;cursor:pointer;touch-action:manipulation}
.sf-profile-figure{position:relative;min-height:0;flex:1 1 auto;width:100%;margin:0;overflow:hidden;background:var(--review-bg,#100918);touch-action:pan-y}
.sf-profile-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;user-select:none;-webkit-user-select:none}
.sf-profile-counter{position:absolute;top:10px;right:12px;padding:5px 10px;border-radius:20px;background:#170e19c9;color:#fff;font-size:12px;font-variant-numeric:tabular-nums;line-height:1.4;pointer-events:none}
.sf-profile-step{position:absolute;top:calc(50% - 22px);width:44px;height:44px;padding:0;border:1px solid #ffffff55;border-radius:50%;background:#170e19ba;color:#fff;font-size:32px;line-height:1;cursor:pointer;touch-action:manipulation}
.sf-profile-previous{left:10px}.sf-profile-next{right:10px}.sf-profile-step:disabled{opacity:.3;cursor:default}
.sf-profile-thumbnails{display:flex;flex:none;justify-content:center;gap:8px;padding:10px 12px;background:var(--review-panel,#21132e);border-top:1px solid var(--theme-border-soft,#704483)}
.sf-profile-thumb{display:block;flex:0 0 54px;width:54px;height:58px;padding:2px;border:2px solid transparent;border-radius:8px;overflow:hidden;background:var(--theme-input,#100918);cursor:pointer;touch-action:manipulation}
.sf-profile-thumb img{display:block;width:100%;height:100%;object-fit:contain;border-radius:4px;pointer-events:none}
.sf-profile-thumb[aria-pressed=true]{border-color:var(--theme-accent,#df8bf4)}
.sf-profile-footer{flex:none;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--theme-border-soft,#704483);background:var(--review-panel,#21132e)}
.sf-profile-footer .sf-cta{width:100%;min-height:48px;padding:10px 16px;font-size:15px;border-radius:var(--campaign-radius,12px)}
.sf-profile-dialog button:focus-visible{outline:2px solid var(--theme-focus,#df8bf4);outline-offset:-4px}
html[dir=rtl] .sf-photo-count,html[dir=rtl] .sf-profile-counter{right:auto;left:10px}
html[dir=rtl] .sf-profile-previous{left:auto;right:10px}html[dir=rtl] .sf-profile-next{right:auto;left:10px}
@media(max-height:600px){.sf-profile-dialog{height:calc(var(--viewport-height,100vh) - 16px);border-radius:18px}.sf-profile-header{padding-top:4px;padding-bottom:4px}.sf-profile-thumbnails{padding:6px 12px}.sf-profile-thumb{height:48px;width:48px;flex-basis:48px}.sf-profile-footer{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}}

/* v21: compact browser handoff and a small directional cue on primary actions. */
.browser-guide-scroll{flex:0 1 auto;padding:18px 20px 0}
.browser-guide-brand{margin-bottom:16px}
.browser-guide-content h1{font-size:21px;margin-bottom:12px}
.browser-guide-content p{font-size:13px;line-height:1.7;margin-bottom:10px}
.browser-guide-notes{font-size:12px;line-height:1.75;margin-top:12px}
.browser-guide-notes li{margin-bottom:10px}
.browser-guide-figure{margin:14px 0 0;padding:12px 0;gap:14px}
.browser-guide-picture{max-width:138px}
.browser-guide-figure figcaption{font-size:12px;line-height:1.7}
.browser-guide-actions{margin:0;padding:12px 20px calc(14px + env(safe-area-inset-bottom,0px));border-top:0}
.browser-guide-copy-button{width:100%;min-height:48px}
.handoff-address{direction:ltr;text-align:left}
.button-arrow,.cta-arrow{display:inline-block;flex-shrink:0;animation:cta-nudge 1.7s ease-in-out infinite}
.flow-shell:not(.welcome-shell) .flow-actions .primary-face:not(.busy)::after,
.flow-actions .plain-button:not(.secondary-end)::after{content:'→';display:inline-block;flex-shrink:0;font-size:19px;line-height:1;animation:cta-nudge 1.7s ease-in-out infinite}
.flow-actions .plain-button:not(.secondary-end){display:flex;align-items:center;justify-content:center;gap:12px}
.flow-actions button:disabled::after,.flow-actions button.busy::after{display:none!important}
.sf-cta:disabled .cta-arrow{animation:none;opacity:.4}
[dir=rtl] .button-arrow,[dir=rtl] .cta-arrow{transform:rotate(180deg);animation-name:cta-nudge-flipped}
html[dir=rtl][data-campaign] .flow-shell:not(.welcome-shell) .flow-actions .primary-face:not(.busy)::after,
[dir=rtl] .flow-shell:not(.welcome-shell) .flow-actions .primary-face:not(.busy)::after,
[dir=rtl] .flow-actions .plain-button:not(.secondary-end)::after{content:'←'}
@keyframes cta-nudge{0%,30%,100%{transform:translateX(0)}55%{transform:translateX(5px)}75%{transform:translateX(2px)}}
html[dir=rtl] .flow-actions button::after{animation-name:cta-nudge-rtl}
@keyframes cta-nudge-rtl{0%,30%,100%{transform:translateX(0)}55%{transform:translateX(-5px)}75%{transform:translateX(-2px)}}
@keyframes cta-nudge-flipped{0%,30%,100%{transform:translateX(0) rotate(180deg)}55%{transform:translateX(-5px) rotate(180deg)}75%{transform:translateX(-2px) rotate(180deg)}}
@media(prefers-reduced-motion:reduce){.button-arrow,.cta-arrow,.flow-actions button::after{animation:none!important}}
@media(max-height:600px){.browser-guide-scroll{padding-top:12px}.browser-guide-brand{margin-bottom:12px}.browser-guide-figure{margin-top:10px}.browser-guide-picture{max-width:120px}}
.review-language{display:flex;align-items:center;gap:8px;grid-column:1/-1;flex-wrap:wrap}
.review-language .language-picker{position:static!important;display:block!important;flex:1;min-width:160px;padding:0}
.review-language .language-picker select{width:100%;max-width:100%;font-size:13px;padding:10px;min-height:44px}
.review-language button{font:inherit;font-size:12px;min-height:44px;border:1px solid var(--flow-border,#b96b87);border-radius:10px;padding:8px 12px;background:var(--flow-panel,#2a101a);color:inherit}
.review-language-note{font-size:11px;line-height:1.5;grid-column:1/-1;margin:0;padding:0 3px}

/* Native-dialog fallback for iOS versions before dialog support. */
.momento-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.72);z-index:998}
dialog.momento-dialog-fallback[open]{display:block;position:fixed;z-index:999}
dialog.momento-dialog-fallback:not([open]){display:none}
.sf-profile-dialog.momento-dialog-fallback,.sf-modal.momento-dialog-fallback{top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);margin:0;max-width:calc(100% - 24px);max-height:calc(100vh - 24px)}
@supports not (width:clamp(1px,2px,3px)){.welcome-copy h1{font-size:28px}.sf-hero-title{font-size:26px}.gate-question{font-size:19px}.gate-preference-title{font-size:18px}}

#stage[data-page="pref0"] .photo-option img{object-fit:cover;object-position:50% 32%}#stage[data-page="pref0"] .photo-option[data-option="0"] img{object-position:50% 50%}
