:root{--ink:#1a1a1a;--muted:#6b6b6b;--line:#ebe6e8;--paper:#fffdfd;--pink:#d4537e;--pink-soft:#fbeaf0;--purple:#7f77dd;--purple-soft:#eeedfe;--green:#1d9e75;--green-soft:#e1f5ee;--yellow:#ba7517;--shadow:0 18px 48px rgba(75,47,58,.11)}*{box-sizing:border-box}html{background:#f5f1ef}body{margin:0;min-width:320px;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;background:var(--paper);overflow:hidden}.view{display:none;min-height:100vh;padding:20px 18px max(24px,env(safe-area-inset-bottom));flex-direction:column}.view.active{display:flex;animation:enter .35s ease both}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}h1,h2,h3,p{margin-top:0}.home-hero{position:relative;margin:-20px -18px 0;padding:43px 25px 34px;color:#241d26;border-radius:0 0 28px 28px;background:radial-gradient(circle at 82% 18%,#e2f5ed 0 15%,transparent 38%),radial-gradient(circle at 38% 72%,#f7dbe8 0 18%,transparent 43%),linear-gradient(132deg,#fbeaf0 0%,#eeedfe 55%,#e1f5ee 100%);overflow:hidden}.home-hero:after{content:"♡";position:absolute;right:-16px;bottom:-52px;color:rgba(127,119,221,.11);font-size:184px;line-height:1}.hero-mark{display:inline-grid;place-items:center;width:44px;height:44px;margin-bottom:21px;border:1px solid rgba(212,83,126,.2);border-radius:14px;background:#ffffffaa;font-size:24px}.eyebrow{margin-bottom:10px;color:var(--pink);font-size:10px;font-weight:800;letter-spacing:.14em}.home-hero h1{position:relative;z-index:1;margin-bottom:15px;font-size:45px;line-height:1.06;letter-spacing:-.07em}.home-hero h1 em{color:var(--pink);font-style:normal}.hero-copy{position:relative;z-index:1;margin-bottom:22px;color:#584e58;font-size:14px;line-height:1.7}.pill-row{position:relative;z-index:1;display:flex;gap:7px;flex-wrap:wrap}.pill-row span{padding:7px 9px;border:1px solid #ffffffaa;border-radius:99px;background:#ffffff9c;font-size:11px;font-weight:700}.home-content{flex:1;padding:23px 2px 4px}.privacy-card{display:flex;gap:11px;align-items:flex-start;margin-bottom:15px;padding:13px 14px;border:1px solid #ccebdd;border-radius:12px;background:var(--green-soft)}.privacy-card span{font-size:18px}.privacy-card p{margin:0;color:#28745d;font-size:12px;font-weight:600;line-height:1.65}.intro-card{margin-bottom:22px;padding:18px 17px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(85,42,57,.04)}.card-kicker{margin-bottom:7px;color:var(--purple);font-size:10px;font-weight:800;letter-spacing:.12em}.intro-card h2{margin-bottom:9px;font-size:22px;line-height:1.3;letter-spacing:-.04em}.intro-card>p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.75}.gender-fieldset{margin:0 0 19px;padding:0;border:0}.gender-fieldset legend{margin-bottom:11px;font-size:14px;font-weight:750}.gender-fieldset small{color:var(--muted);font-size:11px;font-weight:500}.gender-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gender-choice,.option-card{position:relative;width:100%;border:1px solid var(--line);border-radius:10px;background:white;text-align:left;transition:.18s}.gender-choice{padding:14px 15px;font-size:14px;font-weight:700}.gender-choice.selected,.option-card.selected{color:#a83b61;border-color:#e89ab4;background:var(--pink-soft);box-shadow:inset 3px 0 var(--pink)}.check{position:absolute;right:14px;top:50%;color:var(--pink);font-size:19px;font-weight:900;transform:translateY(-50%);opacity:0}.selected .check{opacity:1}.button{min-height:50px;padding:0 18px;border:1px solid transparent;border-radius:999px;font-weight:800;transition:.18s}.button:focus-visible,.option-card:focus-visible,.gender-choice:focus-visible{outline:3px solid #b9b3f2;outline-offset:3px}.button.primary{color:#fff;background:linear-gradient(98deg,var(--pink),var(--purple));box-shadow:0 8px 17px rgba(181,81,135,.2)}.button.primary span{margin-left:8px;font-size:19px}.button.secondary{color:#59515a;border-color:var(--line);background:#fff}.button:disabled{opacity:.4;box-shadow:none;cursor:not-allowed}.fine-print{margin:13px 7px 0;color:#969096;text-align:center;font-size:10px;line-height:1.5}.quiz-header{padding:3px 1px 0}.mini-brand{color:var(--pink);font-size:13px;font-weight:800}.mini-brand span{margin-left:5px;color:#4a424a}.progress-meta{display:flex;justify-content:space-between;margin-top:29px;color:var(--muted);font-size:13px}.progress-meta strong{color:#56505a;font-size:13px}.progress-meta b{color:var(--pink);font-size:17px}.progress-track{height:7px;margin-top:10px;overflow:hidden;border-radius:99px;background:#f0edef}.progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--pink),var(--purple));transition:width .3s}.question-area{flex:1;padding-top:34px}.question-area h2{margin-bottom:25px;font-size:29px;line-height:1.3;letter-spacing:-.05em}.question-list{display:grid;gap:23px}.question-block h3{margin:0 0 11px;font-size:14px;line-height:1.45}.question-note{margin:-5px 0 11px;color:var(--muted);font-size:11px;line-height:1.55}.options-grid{display:grid;gap:9px}.option-card{min-height:53px;padding:13px 41px 13px 14px;color:#373137;font-size:13px;line-height:1.45}.option-card:hover{border-color:#dbbdc8}.range-wrap{padding:16px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}.range-value{margin-bottom:12px;color:var(--pink);font-size:18px;font-weight:850}.range-wrap input{width:100%;accent-color:var(--pink)}.range-labels{display:flex;justify-content:space-between;gap:8px;margin-top:7px;color:#878187;font-size:10px}.preference-count{margin:0 0 8px;color:var(--pink);font-size:11px;font-weight:750}.step-nav{position:sticky;bottom:0;display:grid;grid-template-columns:95px 1fr;gap:10px;margin:20px -18px -24px;padding:13px 18px max(15px,env(safe-area-inset-bottom));background:linear-gradient(0deg,var(--paper) 80%,rgba(255,253,253,.2))}.analysis-view{justify-content:center;align-items:center;text-align:center;background:radial-gradient(circle at 50% 43%,var(--purple-soft),transparent 28%),var(--paper)}.analysis-orb{display:grid;place-items:center;width:96px;height:96px;margin-bottom:27px;border:1px solid #dad6f6;border-radius:50%;background:linear-gradient(145deg,#fff,#eeeafd);box-shadow:0 12px 34px rgba(127,119,221,.2);font-size:41px;animation:float 1.6s ease-in-out infinite}@keyframes float{50%{transform:translateY(-8px) rotate(5deg)}}.analysis-view h2{margin-bottom:8px;font-size:26px;letter-spacing:-.04em}.analysis-view>p:not(.eyebrow){color:var(--muted);font-size:13px}.loading-dots{display:flex;gap:8px;margin-top:18px}.loading-dots i{width:8px;height:8px;border-radius:50%;background:var(--pink);animation:dot 1s infinite}.loading-dots i:nth-child(2){animation-delay:.15s;background:var(--purple)}.loading-dots i:nth-child(3){animation-delay:.3s;background:var(--green)}@keyframes dot{50%{transform:translateY(-7px);opacity:.4}}.result-head{padding:8px 1px 0}.result-badge{display:inline-block;margin-bottom:12px;padding:7px 10px;color:#a63c61;border-radius:99px;background:var(--pink-soft);font-size:11px;font-weight:800}.result-head h1{margin-bottom:8px;font-size:34px;line-height:1.12;letter-spacing:-.06em}.result-summary{margin:0;color:var(--muted);font-size:13px;line-height:1.75}.score-hero{display:grid;place-items:center;margin:25px 0 27px;padding:23px;border:1px solid #eee7eb;border-radius:18px;background:linear-gradient(145deg,#fff,#fff7fa)}.score-ring{position:relative;display:grid;place-items:center;width:146px;height:146px}.score-ring svg{position:absolute;width:100%;height:100%;transform:rotate(-90deg)}.score-ring circle{fill:none;stroke-width:9}.score-ring .track{stroke:#f1e9ed}.score-ring .value{stroke:url(#scoreGradient);stroke-linecap:round;transition:stroke-dashoffset 1s ease}.score-number{font-size:42px;font-weight:850;letter-spacing:-.07em}.score-label{color:var(--muted);font-size:11px;font-weight:650}.section-title{margin:30px 0 13px;font-size:20px;letter-spacing:-.04em}.dimension-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dimension-card{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.dimension-card header{display:flex;justify-content:space-between;gap:5px;margin-bottom:9px;font-size:11px;font-weight:700}.dimension-card header b{color:var(--purple)}.meter{height:5px;overflow:hidden;border-radius:99px;background:#efedf0}.meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--pink),var(--purple))}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.insight-card{padding:14px;border-radius:12px}.insight-card.pink{background:var(--pink-soft)}.insight-card.purple{background:var(--purple-soft)}.insight-card h3{margin-bottom:8px;font-size:13px}.insight-card p{margin:0;color:#5e555d;font-size:12px;line-height:1.65}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-card{padding:15px 13px;border:1px solid var(--line);border-radius:14px;background:#fff}.profile-card.ideal{border-color:#e8bbcb;background:linear-gradient(150deg,#fff,#fff7fa)}.profile-card.acceptable{border-color:#d9d6f4;background:linear-gradient(150deg,#fff,#f8f7ff)}.profile-card .profile-label{margin-bottom:7px;font-size:10px;font-weight:850;letter-spacing:.08em}.ideal .profile-label{color:var(--pink)}.acceptable .profile-label{color:var(--purple)}.profile-card h3{margin-bottom:9px;font-size:18px;letter-spacing:-.04em}.profile-card ul{margin:0;padding:0;list-style:none}.profile-card li{padding:7px 0;border-top:1px solid #eee9eb;color:#59515a;font-size:11px;line-height:1.45}.profile-card li b{display:block;margin-bottom:1px;color:#242026;font-size:10px}.profile-note{margin:11px 0 0;padding:12px 13px;color:#5d5660;border-left:3px solid var(--green);border-radius:0 10px 10px 0;background:var(--green-soft);font-size:12px;line-height:1.65}.analysis-list{display:grid;gap:10px}.analysis-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.analysis-card h3{margin-bottom:6px;font-size:14px}.analysis-card p{margin:0;color:#625b62;font-size:12px;line-height:1.75}.advice-list{display:grid;gap:9px}.advice-item{display:flex;gap:10px;padding:13px;border-radius:12px;background:#faf8f8}.advice-item b{display:grid;flex:0 0 23px;place-items:center;width:23px;height:23px;color:#fff;border-radius:50%;background:var(--purple);font-size:11px}.advice-item p{margin:1px 0 0;color:#5e565e;font-size:12px;line-height:1.65}.closing{margin-top:28px;padding:16px;border-radius:13px;background:#f7f5f5}.closing h3{margin-bottom:8px;font-size:15px}.closing p{margin:0;color:#686168;font-size:12px;line-height:1.75}.restart-button{width:100%;margin-top:20px}@media(min-width:600px){body{padding:28px;background:#f4f0ee}.app-shell{width:min(520px,100%);min-height:calc(100vh - 56px);margin:auto;border-radius:24px;box-shadow:var(--shadow)}.view{min-height:calc(100vh - 56px);padding-left:26px;padding-right:26px}.home-hero{margin-left:-26px;margin-right:-26px}.step-nav{margin-left:-26px;margin-right:-26px;padding-left:26px;padding-right:26px}}@media(min-width:960px){.app-shell{width:560px}}@media(max-width:360px){.home-hero h1{font-size:40px}.question-area h2{font-size:26px}.profile-grid{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){:root{--ink:#f4eff2;--muted:#c6bcc2;--line:#383037;--paper:#211d20}html,body{background:#161315}.app-shell{background:var(--paper)}.intro-card,.gender-choice,.option-card,.range-wrap,.dimension-card,.profile-card,.analysis-card{background:#2a2529;color:var(--ink)}.home-hero{color:#241d26}.privacy-card{background:#183e33;border-color:#2b6956}.privacy-card p{color:#a7e2ca}.step-nav{background:linear-gradient(0deg,var(--paper) 80%,rgba(33,29,32,.2))}.score-hero{background:linear-gradient(145deg,#2a2529,#332632)}.closing,.advice-item{background:#2a2529}.profile-note{background:#193b32;color:#c9e6da}.meter{background:#443b42}}
.access-field{display:grid;gap:6px;margin:0 0 12px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.access-field>span{font-size:13px;font-weight:750}.access-field input{width:100%;padding:8px 0;color:var(--ink);border:0;border-bottom:1px solid var(--line);outline:0;background:transparent;font-size:15px;letter-spacing:.12em}.access-field input:focus{border-color:var(--purple)}.access-field small{color:var(--muted);font-size:10px}.access-error{min-height:16px;margin:-6px 2px 10px;color:#bd3e67;font-size:11px;font-weight:650}@media(prefers-color-scheme:dark){.access-field{background:#2a2529}}
