.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;inset:0;width:100%;height:100%;display:block;pointer-events:none;user-select:none}.controls{position:absolute;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;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;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;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;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}
.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;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;inset:-12px;border:3px solid #ab7ccc;border-radius:40px;transform:rotate(-7deg);z-index:-1}
.gate-card-stack::after{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:200px;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}
.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 :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;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.sf-hero-shade{position:absolute;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;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;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;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;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;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 :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:1040px;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{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: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: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:is(: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-age-label{font-size:10px;line-height:1.5}
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}

/* Global language edition */
html[dir=rtl]{letter-spacing:normal}
.language-picker select{text-overflow:ellipsis;overflow:hidden}
.gate-question,.gate-preference-title{overflow:auto;overflow-wrap:anywhere;overscroll-behavior:contain;pointer-events:auto}
html:is(:lang(ta),:lang(te),:lang(kn),:lang(ml),:lang(si),:lang(dz),:lang(dv),:lang(am),:lang(ti)) .gate-question{font-size:32px;line-height:1.6}
html:is(:lang(ta),:lang(te),:lang(kn),:lang(ml),:lang(si),:lang(dz),:lang(dv),:lang(am),:lang(ti)) .form-title{font-size:32px;line-height:1.4}
.sf-age-label{overflow-wrap:anywhere}.sf-register-hero h1{overflow-wrap:anywhere}
option{direction:inherit}
