/* Mivora plum and soft rose palette, shared by all pages and dialogs. */
:root{color-scheme:dark;--canvas:#25162d;--surface:#341f3f;--raised:#442852;--ink:#f7edf7;--muted:#cdb0db;--accent:#decbe7;--line:#c4a1d540;--night:radial-gradient(ellipse at 100% 0,#4c2d5c55,transparent 55%),radial-gradient(ellipse at 0 100%,#43285055,transparent 50%),linear-gradient(145deg,#341f3f,#25162d 65%,#26172e)}
html,body{background:var(--canvas);color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:var(--accent)}
.stage,.plain-screen{background:var(--night);color:var(--ink)}
.tap.primary-face,.plain-button,.sf-cta,.primary,.dialog button{background:linear-gradient(115deg,#f2e2f3,#cdb0db);color:#2a1932;border-color:#ecd5ed80;box-shadow:0 12px 32px #00020622;font-weight:750}
.tap.secondary-face,.secondary-end{background:#341f3f;border-color:#9456b3;color:#f6ebf7;box-shadow:none}
.tap.disabled-mask,.submit-face:disabled{background:#341f3f;color:#a069bc;border-color:#482a56;box-shadow:none}
.submit-face.busy{background:#cbacda;color:#2a1932}
.gate-scene{background:radial-gradient(ellipse at 95% 20%,#874aa52c,transparent 40%)}
.gate-scene::before,.gate-scene::after{content:"";width:1100px;height:1100px;border:2px solid #be97d122;border-radius:50%;top:-540px;right:-600px;filter:none;transform:none;background:none}
.gate-scene::after{width:850px;height:850px;top:1180px;right:450px;border-color:#c4a1d522}
.gate-brand{font-family:Georgia,"Times New Roman",serif;color:#ead1eb;letter-spacing:0;font-weight:700;text-shadow:none}
.gate-brand::before,.gate-brand::after{content:"—";font-size:30px;margin:0 35px;color:#c4a1d566}
.gate-subtitle,.gate-progress-sub,.plain-center p{color:var(--muted)}
.gate-card-stack{background:linear-gradient(155deg,#442852,#25162d);border-color:#b388c966;transform:none;border-radius:34px;box-shadow:0 28px 70px #00020633}
.gate-card-stack::before{inset:14px;transform:none;border:1px solid #c4a1d524;border-radius:24px}
.gate-card-stack::after{display:none}
.gate-card-title{color:#decbe7;font-style:normal;font-weight:650;letter-spacing:2px}
.gate-question,.gate-preference-title,.gate-photo-caption,.gate-progress-title{color:var(--ink)}
.photo-option{background:#2a1933;outline-color:#884ba6;box-shadow:0 8px 26px #00020633}
.photo-option[aria-checked=true],.photo-option[aria-pressed=true]{outline-color:#d9c2e4;box-shadow:0 0 0 6px #c09cd222,0 8px 26px #00020633}
.photo-option:focus-visible,.text-option:focus-visible,.tap:focus-visible,.radio-option:focus-visible{outline-color:#d9c2e4}
.text-option,.radio-option{background:#2a1933;border-color:#7b4497;color:var(--ink)}
.text-option[aria-checked=true],.radio-option[aria-checked=true]{background:#462a55;border-color:#cfb3dd;box-shadow:none}
.answer-number{color:#cfb3dd;border-color:#985db6}.answer-radio{border-color:#bb93cf}.text-option[aria-checked=true] .answer-radio{background:#decbe7;border-color:#462a55;outline-color:#decbe7}
.radio-option .radio-circle{background:#25162c;border-color:#a570bf}.radio-option[aria-checked=true] .radio-circle{border-color:#decbe7}.radio-option .radio-circle:after{background:#decbe7}
.form-panel{background:linear-gradient(155deg,#3a2346,#25162c);border-color:#80469d;box-shadow:0 22px 70px #00020633}
.form-title{color:var(--ink)}.form-step{color:#decbe7}.form-question{color:#d4bbe1}
.native-progress,.progress-fill{background:linear-gradient(90deg,#b386c9,#e0cde9);box-shadow:none}.progress-track{background:#372042;box-shadow:inset 0 0 0 2px #8348a1}
.success-mark{background:linear-gradient(140deg,#f2e2f3,#cdb0db);color:#2e1b37;box-shadow:0 0 80px #b88fcd22}.success-title{color:var(--ink)}.success-subtitle{color:var(--muted)}
.ai-badge{background:#1f1225db;border-color:#b082c7;color:#f2e3f3}.plain-title{color:#decbe7;text-shadow:none}
.scrim{background:#140c18bd}.dialog,.menu,.menu button{background:#341f3f;border-color:#904fb0;color:var(--ink)}.dialog p{color:var(--muted)}
.dialog button+button{background:#432850;color:var(--ink)}.nojs{background:#341f3f;color:var(--ink);border-color:#995eb7}

/* Gate welcome is fluid rather than a scaled photograph with overlaid copy. */
body.welcome-mode .viewport{display:block;overflow:visible;min-height:100svh}
body.welcome-mode .frame{position:static;overflow:visible;max-width:none}
body.welcome-mode .stage{position:relative;width:100%;min-height:100svh;transform:none;overflow:hidden;background:radial-gradient(ellipse at 100% 40%,#472a5566,transparent 60%),linear-gradient(125deg,#25162d,#2f1c38)}
body.welcome-mode .controls{display:none}
.welcome-shell{max-width:1200px;margin:auto;padding:34px 48px 56px;position:relative}
.welcome-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:48px}
.welcome-wordmark{color:#decbe7;font-family:Georgia,"Times New Roman",serif;font-size:34px;font-weight:700;font-style:italic;letter-spacing:-1px}
.welcome-age{padding:7px 14px;border:1px solid #c8a8d84a;border-radius:30px;color:#dbc6e6;font-size:12px;letter-spacing:2px}
.welcome-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;min-height:calc(100svh - 200px)}
.welcome-story{position:relative;z-index:1;padding:14px 0}
.welcome-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 24px;font-size:12px;color:#c7a7d7;letter-spacing:4px}
.welcome-eyebrow::before{content:"";width:34px;height:1px;background:#c7a7d7}
.welcome-title{margin:0 0 24px;font-size:clamp(38px,4.2vw,58px);line-height:1.32;font-weight:750;letter-spacing:-2px}
.welcome-title>span{display:block}.welcome-title-accent{color:#d9c4e4}
.welcome-description{max-width:400px;font-size:15px;line-height:1.9;color:#d0b4de;margin:0 0 28px}
.welcome-steps{display:flex;flex-wrap:wrap;gap:18px;margin:0 0 34px;font-size:12px;color:#d5bde1}
.welcome-steps>span{display:flex;align-items:center;gap:7px}.welcome-steps b{color:#ba92ce;font-weight:500;font-size:10px;letter-spacing:1px}
.welcome-start{display:flex;align-items:center;justify-content:space-between;gap:28px;width:100%;max-width:350px;min-height:58px;padding:14px 24px;border:1px solid #ead1eb;border-radius:10px;background:linear-gradient(110deg,#f2e2f3,#cdb0db);box-shadow:0 10px 35px #00020622;color:#2a1932;font-size:17px;font-weight:750;cursor:pointer}
.welcome-start:hover{filter:brightness(1.07)}.welcome-start-arrow{font-size:25px;font-weight:400}
.welcome-footnote{margin:14px 0 0;color:#bd96d0;font-size:11px;line-height:1.6}
.welcome-portrait{position:relative;isolation:isolate;margin:0;width:100%;height:590px;max-height:75svh;border-radius:230px 230px 24px 24px;border:1px solid #ba92ce80;box-shadow:0 24px 70px #00020644;overflow:hidden;background:#442852}
.welcome-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 31%;filter:brightness(.92)}
.welcome-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#25162d22,transparent 42%,#1e1224e8)}
.welcome-photo-caption{position:absolute;bottom:30px;left:28px;right:28px;z-index:1;color:#f2e2f2}.welcome-photo-caption>span{display:block;color:#cbaeda;font-size:10px;letter-spacing:4px;margin-bottom:9px}.welcome-photo-caption strong{font-size:16px;letter-spacing:2px;font-weight:500}
@media(max-width:760px){.welcome-shell{padding:20px 24px 28px}.welcome-header{margin-bottom:24px}.welcome-wordmark{font-size:29px}.welcome-layout{display:flex;flex-direction:column-reverse;gap:24px;min-height:0;align-items:stretch}.welcome-portrait{width:100%;height:340px;max-height:44svh;border-radius:150px 150px 20px 20px}.welcome-image{object-position:50% 28%}.welcome-photo-caption{left:22px;bottom:20px}.welcome-photo-caption strong{font-size:13px}.welcome-story{padding:0}.welcome-eyebrow{margin-bottom:14px;font-size:10px;letter-spacing:3px}.welcome-title{font-size:34px;line-height:1.3;letter-spacing:-1px;margin-bottom:16px}.welcome-description{font-size:13px;margin-bottom:18px;max-width:100%}.welcome-steps{margin-bottom:22px;gap:14px;font-size:11px}.welcome-start{max-width:none;min-height:54px}.welcome-footnote{text-align:center}.welcome-age{font-size:11px;padding:6px 12px}}
@media(max-width:350px){.welcome-shell{padding-inline:18px}.welcome-title{font-size:29px}.welcome-steps{gap:10px;font-size:10px}}

/* Consent control and its policy dialog. */
.form-consent{position:absolute;display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:10px 18px;color:#d0b4de;font-size:27px;line-height:1.5}
.form-consent-label{display:flex;align-items:flex-start;gap:16px;max-width:100%;cursor:pointer}.form-consent-label>span{flex:1}.form-consent-checkbox{flex:none;width:38px;height:38px;margin:2px 0 0;accent-color:#c9a9d9;cursor:pointer}
.form-learn-more{border:0;padding:4px 0;background:transparent;color:#dcc8e6;font:inherit;font-weight:650;text-decoration:underline;text-underline-offset:6px;cursor:pointer;margin-left:54px;min-height:52px}
.policy-dialog{position:fixed;inset:0;margin:auto;width:calc(100% - 24px);max-width:480px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid #b386c988;border-radius:18px;background:#341f3f;color:#f7edf7;box-shadow:0 24px 100px #00020688;font-family:Arial,"Microsoft YaHei",sans-serif}
.policy-dialog:not([open]){display:none}.policy-dialog::backdrop{background:#120b16b8;backdrop-filter:blur(5px)}
.policy-header{display:flex;justify-content:center;align-items:center;position:relative;padding:18px 50px;border-bottom:1px solid #b386c955}.policy-header h2{font-size:21px;margin:0;line-height:1.35}.policy-close{position:absolute;right:9px;top:7px;width:44px;height:44px;background:transparent;border:0;color:#ddc9e7;font-size:27px;cursor:pointer}
.policy-body{padding:22px 24px;font-size:14px;line-height:1.8;color:#d4bbe1}.policy-body h3{font-size:15px;color:#dbc6e6;margin:0 0 8px}.policy-body p{margin:0 0 18px}.policy-link{display:block;width:fit-content;margin:10px 0;color:#dbc6e6;text-underline-offset:4px;font-weight:650}.policy-body .policy-scope{font-size:12px;color:#bf9ad2;margin:18px 0 0}
.policy-footer{display:flex;gap:12px;padding:14px 18px;border-top:1px solid #b386c955}.policy-footer button{flex:1;min-height:46px;border:0;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer}.policy-cancel{background:#432850;color:#f6ebf7}.policy-agree{background:linear-gradient(110deg,#f2e2f3,#cdb0db);color:#2a1932}

/* Safari guidance, copying dialog, and the preview directory. */
.guide-body{background:radial-gradient(ellipse at 100% 0,#462a5555,transparent 60%),#25162d}
.replica-guide{background:radial-gradient(ellipse at 100% 0,#57346955,transparent 58%),radial-gradient(ellipse at 0 100%,#43285077,transparent 65%),linear-gradient(155deg,#2d1b36,#1f1225);border:1px solid #a673c033}
.guide-logo{color:#decbe7}.guide-logo strong{font-family:Georgia,"Times New Roman",serif;text-shadow:none}.guide-logo span{color:#b082c7}
.guide-open,.guide-arrow,.top-copy-status,.copy-status{color:#d9c4e4}.guide-open:hover{background:#82489f22}
.replica-copy{color:#edd8ee}.replica-copy h1{color:#f1e0f2}.replica-copy .replica-lead{color:#d9c4e4}.replica-copy ol{color:#d0b4de}.replica-demo{color:#b991cd}.replica-action strong{color:#ecd5ed}
.copied-address,#copy-address{border-color:#9253b288;background:#221429;color:#efdbef}
.copy-dialog{background:radial-gradient(ellipse at 100% 0,#482b57aa,transparent 70%),linear-gradient(135deg,#2f1c38,#201326);border-color:#a774c1;color:#f5e9f5}
.copy-dialog-mark{background:linear-gradient(135deg,#f2e2f3,#cdb0db);color:#2f1c39}.copy-dialog-instructions{color:#d3bae0}.copy-dialog-label{color:#c5a4d6}.copy-dialog-address{background:#211328;border-color:#9e67ba;color:#f6ebf7}.copy-dialog-again{color:#d9c4e4}.copy-dialog-status{background:#351f40;border-color:#7f469b;color:#f1dff1}.copy-dialog-close{color:#d2b7df}.copy-dialog[data-state="error"] .copy-dialog-mark{background:#9152b1;color:#ffffff}
.hub-body{background:radial-gradient(ellipse at 80% 0,#492b5766,transparent 65%),#25162d}.brand,.eyebrow{color:#d9c4e4}.hub p{color:#d0b4de}.preview-list a{background:linear-gradient(125deg,#3a2346,#2a1933);border-color:#af81c655}.preview-list a:hover{background:#442952;border-color:#c19dd3}.preview-list span,.preview-list b{color:#cbaeda}.hub .hub-note{color:#bc95cf}

/* Profile pages, registration, age confirmation, countdown, and sticky CTA. */
body.safari-mode .stage{background:#25162d}.sf-page{--sf-bg:#25162d;--sf-panel:#341f3f;--sf-border:#d8c1e322;--sf-muted:#c9a9d9;--sf-purple:#decbe7;background:radial-gradient(ellipse at 100% 15%,#482a565c,transparent 55%),#25162d;color:#f6ebf7}
.sf-nav,.sf-sticky{background:#341f3fed;border-color:#bf9ad233}.sf-brand{color:#d9c4e4}.sf-brand svg{fill:#c29ed4;stroke:#f2e2f3;filter:none}.sf-language select{color:#efdbef;background:#372042;border-color:#bc95cf44}
.sf-hero-shade{background:linear-gradient(180deg,#21132814,transparent 15%,#2e1b3755 38%,#201326de 75%,#25162d 100%),linear-gradient(90deg,#331e3e66,transparent 70%)}
.sf-badge{color:#e0cfe9;background:#3a2245b0;border-color:#bd96d04d}.sf-dot{background:#decbe7;box-shadow:0 0 10px #c29ed455;animation:none}.sf-age{border-color:#c7a7d74d}.sf-highlight{color:#d9c4e4;background:linear-gradient(100deg,#efdbef,#c19dd3);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sf-hero-sub{color:#dbc6e6}
.sf-section-heading p{color:#ccafdb}.sf-card{background:#2e1b37;border-color:#ad7ec533}.sf-card:hover{border-color:#bf9ad2;box-shadow:0 6px 24px #00020644}.sf-card-overlay{background:linear-gradient(180deg,#1f122526,transparent 33%,transparent 55%,#1e1224e0)}.sf-card-tag{background:#301d3ac9;border-color:#c09cd255;color:#f1dff1}.sf-card-bottom{color:#efdcf0}.sf-card-action{color:#d9c4e4}
.sf-feature{background:#311d3b;border-color:#bb93cf2b;color:#ecd4ec}.sf-feature svg,.sf-final>svg{color:#d1b6de}.sf-final{background:radial-gradient(ellipse at 50% 0,#56336855,transparent 65%),#341f3f;border-color:#b88fcd3f}.sf-footer{border-color:#caabd922;color:#ba92ce}.sf-text-button{color:#cfb3dd}.sf-sticky-copy{color:#d5bde1}
.sf-register{background:radial-gradient(ellipse at 65% 10%,#4d2e5d55,transparent 48%),#25162d}.sf-back{background:#42274f66;border-color:#bb93cf44;color:#f1dff1}.sf-form{background:linear-gradient(155deg,#3a2245,#281830);border-color:#b68bcb4d;box-shadow:0 15px 50px #00020633}.sf-field>label{color:#efdbef}
.sf-input,.sf-phone{background:#23152a;color:#f6ebf7;border-color:#9a60b766}.sf-input::placeholder{color:#ba92ce}.sf-input:focus,.sf-phone:focus-within{border-color:#cbacda}.sf-dial{color:#d1b6de;border-color:#c19dd344}.sf-field-error{color:#cbaeda}.sf-selected{color:#ddc9e7;border-color:#bc95cf33}.sf-selected>svg{color:#cbacda}
.sf-modal{background:#2e1b37;border-color:#ac7bc488;color:#f4e6f4}.sf-modal::backdrop{background:#150c19c4}.sf-modal>svg{color:#decbe7}.sf-modal p{color:#d4bbe1}
.sf-age-overlay,.sf-age-overlay::backdrop{background:#25162d}.sf-age-scene::after{background:linear-gradient(150deg,#3c244977,#1b1021ba)}.sf-age-panel{background:radial-gradient(ellipse at 50% 0,#5b366d55,transparent 70%),linear-gradient(145deg,#3c2449,#281830);border-color:#be97d166}.sf-age-close{color:#d3bae0}.sf-age-content h2{color:#f2e3f3}.sf-age-description,.sf-age-label{color:#d8c1e3}.sf-age-track{border-color:#be97d155;background:#1f122566}.sf-age-fill{background:linear-gradient(90deg,#b489ca38,#d3bae070)}.sf-age-handle{background:linear-gradient(135deg,#decbe7,#ad7ec5);border-color:#e0cfe9aa;box-shadow:0 0 16px #c4a3d533;color:#301d3a}.sf-age-restriction{color:#c5a4d6}.sf-age-countdown{background:conic-gradient(#decbe7 var(--age-progress),#ffffff12 0)}.sf-age-number{background:#392244;color:#efdcf0}.sf-age-caption{color:#d3bae0}
@media(min-width:780px){.sf-hero-shade{background:linear-gradient(0deg,#25162d,#281830bd 30%,#22142922 80%),linear-gradient(90deg,#25162dcc,transparent 42%,#331e3e77)}}

/* Random library portrait, softened to a silhouette behind the welcome caption. */
.welcome-portrait{width:100%;max-width:420px;height:auto;max-height:none;aspect-ratio:161/224;justify-self:center;border-radius:24px;background:#8549a3;border-color:#c29ed4a3;box-shadow:0 22px 65px #00000033}
.welcome-image{object-fit:cover;object-position:center top;filter:blur(22px) grayscale(1) brightness(.58) contrast(.9);transform:scale(1.18);pointer-events:none;user-select:none}
.welcome-portrait::after{background:linear-gradient(180deg,#1b102129 0%,#1b102114 48%,#12171fe6 100%);pointer-events:none}
.welcome-photo-caption{color:#f7ecf7}.welcome-photo-caption>span{color:#ebd2ec}
.gate-scene{background:linear-gradient(132deg,transparent 0 50%,#d2b7df08 50% 67%,transparent 67%)}
@media(max-width:760px){.welcome-portrait{width:100%;max-width:270px;align-self:center;height:auto;max-height:none;aspect-ratio:161/224;border-radius:20px}.welcome-image{object-position:center top;filter:blur(17px) grayscale(1) brightness(.58) contrast(.9)}.welcome-photo-caption{left:18px;right:18px;bottom:18px}}

/* Region collections share the plum palette and preserve portrait proportions. */
.stage[data-page=pref0] .photo-option img{object-fit:cover;object-position:50% 20%}
.guide-region-choice{display:flex;align-items:center;gap:14px;margin:0 0 22px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#ffffff08;color:var(--ink);font-size:14px;font-weight:600}
.guide-region-choice img{width:56px;height:64px;object-fit:cover;object-position:50% 20%;border-radius:9px;flex:none}
.sf-hero-region{border-inline-start:1px solid #ffffff40;padding-inline-start:10px;margin-inline-start:4px}
.sf-collections{position:sticky;top:44px;z-index:25;background:#2b1934f5;border-block:1px solid #dbc6e526;backdrop-filter:blur(14px);scroll-margin-top:44px}
.sf-collection-list{display:flex;align-items:center;gap:9px;max-width:1120px;margin:auto;padding:14px 20px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#995eb7 #2b1934}
.sf-collection,.sf-subcollection{flex:none;min-height:42px;white-space:nowrap;border:1px solid #b58acb54;border-radius:12px;background:#362041;color:#eedaef;padding:10px 17px;font-size:13px;font-weight:650;transition:background .2s,border-color .2s}
.sf-collection:hover,.sf-subcollection:hover{background:#472a55;border-color:#d9c2e4}
.sf-collection.is-active,.sf-subcollection.is-active{color:#25162d;background:#dfcce8;border-color:#dfcce8;box-shadow:0 3px 16px #0002}
.sf-page .sf-people{max-width:1120px;padding-top:32px;scroll-margin-top:60px}
.sf-page .sf-section-heading{align-items:center;gap:15px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid #dbc6e522}
.sf-section-heading h2{display:flex;align-items:center;gap:12px}
.sf-collection-count{font-size:12px;font-weight:500;color:#d9c2e4;background:#ffffff0a;border:1px solid #ceb2dc26;border-radius:30px;padding:3px 10px}
.sf-subcollection{margin-bottom:18px;padding:7px 14px;min-height:36px;font-size:12px}
.sf-page .sf-card{border-radius:16px;background:#291831}
.sf-page .sf-card-image{object-position:50% 20%}
.sf-page .sf-card-bottom{flex-wrap:wrap;align-items:flex-end;gap:8px;font-size:11px}
.sf-page .sf-card-action{margin-inline-start:auto}
.sf-pagination{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:28px}
.sf-pagination button{min-height:44px;border:1px solid #ccafdb4d;border-radius:10px;background:#3b2347;color:#f4e7f5;padding:8px 18px}
.sf-pagination button:disabled{opacity:.35}
.sf-page-count{font-size:13px;color:#ceb2dc}
.sf-hero-ambient{display:none}
@media(min-width:780px){
  .sf-page .sf-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .sf-page .sf-hero-ambient{display:block;position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;filter:blur(24px) brightness(.4);pointer-events:none}
  .sf-page .sf-hero-image{left:auto;right:5%;width:46%;object-fit:contain;object-position:center top}
  .sf-page .sf-hero-content{width:40%;max-width:450px;margin:0 0 0 9%;padding:30px 0;text-align:left;align-self:center}
  .sf-page .sf-hero-title{font-size:clamp(28px,3vw,38px)}
}
@media(max-width:560px){.sf-collection-list{padding:10px 14px;gap:7px}.sf-collection{padding:9px 13px;min-height:40px;font-size:12px}.sf-page .sf-people{padding-top:24px;scroll-margin-top:60px}.sf-page .sf-section-heading p{font-size:11px}.sf-pagination{gap:16px}.sf-hero-region{max-width:180px}}

/* Supplied regional profiles: names remain stable across language changes. */
.sf-profile-identity{display:flex;flex-direction:column;gap:4px;min-width:0;text-align:start}.sf-profile-name{font-size:18px;line-height:1.25;overflow-wrap:anywhere}.sf-profile-region{font-size:11px;line-height:1.3;opacity:.85}.sf-card-bottom{gap:8px}.sf-card-action{flex-shrink:0}

/* Mivora: deep plum, a soft rose glow, and readable lavender accents. */
:root{--canvas:#150d20;--surface:#251633;--raised:#382447;--ink:#fff2fa;--muted:#ceb6d8;--accent:#e8b7d5;--line:#bd84cf40;--night:radial-gradient(ellipse at 100% 0,#6d2f6b55,transparent 55%),radial-gradient(ellipse at 0 100%,#4b2b6855,transparent 50%),linear-gradient(145deg,#2b163c,#150d20 65%,#21112d)}
body.welcome-mode .stage{background:radial-gradient(ellipse at 95% 20%,#77386a38,transparent 50%),radial-gradient(ellipse at 5% 90%,#653e8e30,transparent 55%),linear-gradient(125deg,#150d20,#291534)}
.welcome-wordmark,.guide-logo,.sf-brand{color:#f2c8e6}
.welcome-eyebrow,.welcome-photo-caption>span{color:#dbacd1}
.welcome-eyebrow::before{background:#b783b1}
.welcome-title{color:#fff2fa}.welcome-title-accent{color:#ddb8ef}
.welcome-description,.welcome-footnote{color:#ceb6d8}
.welcome-age{color:#debce7;border-color:#b884c34d}
.welcome-portrait{background:#392044;border-color:#d0a4d15c;box-shadow:0 24px 80px #07020e66,0 0 50px #a3548420}
.welcome-portrait::after{background:linear-gradient(180deg,#933b7d20, #351a493d 48%,#1d0c2de8)}
.welcome-photo-caption{color:#fff0fa}
.welcome-start,.tap.primary-face,.plain-button,.sf-cta,.primary,.policy-agree,.dialog button{
  background:linear-gradient(115deg,#ecc4df,#c8a2e5);color:#2a133d;border-color:#f0cde678;
  box-shadow:0 10px 32px #a55ca424;font-weight:750
}
.success-mark,.copy-dialog-mark{background:linear-gradient(135deg,#ecc4df,#c8a2e5);color:#2a133d}
.form-panel,.sf-form,.policy-dialog{background:linear-gradient(150deg,#321d40,#1f122d);border-color:#b47ac052}
.form-consent-checkbox{accent-color:#d4a5e2}
.guide-body,.hub-body{background:radial-gradient(ellipse at 80% 0,#73386930,transparent 65%),#150d20}
.replica-guide{background:radial-gradient(ellipse at 100% 0,#76396a40,transparent 58%),radial-gradient(ellipse at 0 100%,#623d7c40,transparent 65%),linear-gradient(155deg,#281536,#150d20);border-color:#b783bd30}
.copy-dialog{background:radial-gradient(ellipse at 100% 0,#60316b66,transparent 70%),linear-gradient(135deg,#321c40,#1c1127);border-color:#b281bd}
.replica-copy h1,.replica-copy{color:#f8e9f5}.replica-copy .replica-lead,.replica-action strong{color:#e9bfe2}
.sf-page{--sf-bg:#150d20;--sf-panel:#251633;--sf-border:#c697d433;--sf-muted:#ceb6d8;--sf-purple:#e8b7d5;background:radial-gradient(ellipse at 100% 15%,#60316b33,transparent 55%),#150d20;color:#fff2fa}
body.safari-mode .stage{background:#150d20}
.sf-nav,.sf-sticky{background:#251633ed;border-color:#bf8bce33}
.sf-brand svg{fill:#d9a2d5;stroke:#fff1fb}
.sf-hero-shade{background:linear-gradient(180deg,#24103118,transparent 15%,#351d4544 38%,#21112fde 75%,#150d20 100%),linear-gradient(90deg,#421c4d44,transparent 70%)}
.sf-highlight{background:linear-gradient(100deg,#f2c8e6,#cfabed);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.sf-badge,.sf-card-tag{background:#341e46c9;border-color:#d1a4db55;color:#f6e2f5}
.sf-dot{background:#efc1e4;box-shadow:0 0 12px #d598da55}
.sf-card-overlay{background:linear-gradient(180deg,#2a123126,transparent 33%,transparent 55%,#210e30ed)}
.sf-card-action{color:#efc2e4}.sf-page .sf-card{background:#251633;border-color:#b483c233}
.sf-final{background:radial-gradient(ellipse at 50% 0,#743c7e44,transparent 65%),#251633;border-color:#bb85c53f}
.sf-register,.sf-age-overlay,.sf-age-overlay::backdrop{background:#150d20}
.sf-field-error{color:#ffb6cd}.sf-input:focus,.sf-phone:focus-within{border-color:#d4a5e2}
.sf-age-panel{background:radial-gradient(ellipse at 50% 0,#73417f44,transparent 70%),linear-gradient(145deg,#342041,#21132d);border-color:#bf8bce66}
@media(min-width:780px){.sf-hero-shade{background:linear-gradient(0deg,#150d20,#21132dbd 30%,#24103322 80%),linear-gradient(90deg,#150d20cc,transparent 42%,#3d224a66)}}
.guide-continue{display:block;width:fit-content;margin:18px auto 0;padding:10px 18px;color:#e8b7d5;font-size:14px;text-align:center;text-underline-offset:5px}
.guide-continue:hover{color:#fff2fa}.guide-continue:focus-visible{outline:2px solid #e8b7d5;outline-offset:3px;border-radius:8px}
