@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#392c36;--muted:#8d7c87;--rose:#fa708f;--purple:#9e86ed;--cream:#fff9f8;--line:#f2e0e5;--shadow:0 20px 60px rgba(121,71,90,.13)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:'Noto Sans SC','Microsoft YaHei',sans-serif;color:var(--ink);background:radial-gradient(circle at 8% 4%,#ffe4ea 0,transparent 25%),radial-gradient(circle at 97% 15%,#eee8ff 0,transparent 25%),var(--cream)}button,input{font:inherit}.page-shell{width:min(100%,980px);margin:auto;padding:20px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;font-size:12px;color:#a18e99}.brand{font-weight:900;letter-spacing:.05em;color:var(--ink);font-size:15px}.brand span{font-size:20px;color:var(--rose);margin-right:7px}.main-card{min-height:650px;overflow:hidden;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.9);border-radius:30px;box-shadow:var(--shadow)}.hero{display:grid;grid-template-columns:1.12fr .88fr;min-height:650px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px 62px}.eyebrow{color:var(--rose);font-size:12px;font-weight:900;letter-spacing:.14em}.hero h1{margin:17px 0;font-size:clamp(40px,6vw,65px);line-height:1.08;letter-spacing:-.07em}.hero h1 em{font-style:normal;color:var(--rose)}.hero p{margin:0 0 28px;color:var(--muted);line-height:1.9}.buttons{display:flex;gap:11px;flex-wrap:wrap}.primary,.secondary,.ghost{min-height:50px;padding:13px 20px;border-radius:15px;border:0;font-weight:800;cursor:pointer;transition:.2s}.primary{color:#fff;background:linear-gradient(105deg,#fa708f,#a087ed);box-shadow:0 10px 22px rgba(236,92,133,.23)}.primary:hover{transform:translateY(-2px)}.secondary{color:#8b6182;background:#fff1f5;border:1px solid #f8dce5}.ghost{color:var(--muted);background:#fff;border:1px solid var(--line)}.note{margin-top:15px;color:#a998a2;font-size:12px}.hero-art{display:grid;place-items:center;background:linear-gradient(145deg,#fff0f3,#f0eaff)}.challenge-art{position:relative;width:min(73vw,355px);aspect-ratio:1;border:1px dashed #d9c0e8;border-radius:50%;display:grid;place-items:center}.challenge-art:before,.challenge-art:after{content:'';position:absolute;border:1px solid rgba(250,112,143,.24);border-radius:50%}.challenge-art:before{inset:13%}.challenge-art:after{inset:27%}.score-bubble{position:relative;z-index:1;width:148px;height:148px;border-radius:49% 51% 52% 48%;display:grid;place-items:center;color:#fff;background:linear-gradient(140deg,#fb7496,#a58df1);font-size:38px;font-weight:900;transform:rotate(-10deg);box-shadow:0 18px 36px rgba(163,115,205,.3)}.float{position:absolute;font-size:24px;color:#f47f9b}.a{top:5%;left:42%}.b{top:21%;right:9%}.c{bottom:17%;right:9%}.d{bottom:3%;left:43%}.e{bottom:18%;left:8%}.f{top:21%;left:8%}.flow,.invite,.handoff,.result{max-width:800px;margin:auto;padding:45px 52px 57px}.mode-title,.invite h1,.handoff h1{margin:13px 0 9px;font-size:clamp(29px,5vw,45px);letter-spacing:-.05em}.mode-desc,.invite p,.handoff p{margin:0 0 28px;color:var(--muted);line-height:1.8}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mode-card{padding:25px;background:#fff;border:1px solid var(--line);border-radius:20px;text-align:left;cursor:pointer;transition:.2s}.mode-card:hover{border-color:#fa9bb2;transform:translateY(-2px)}.mode-icon{font-size:35px}.mode-card h2{margin:13px 0 7px;font-size:19px}.mode-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}.quiz{max-width:760px;margin:auto;padding:38px 54px 50px}.quiz-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:26px}.counter{margin-top:5px;color:var(--rose);font-weight:900;font-size:14px}.tip{font-size:12px;color:var(--muted)}.progress{height:8px;margin-bottom:40px;overflow:hidden;background:#f7e8ed;border-radius:10px}.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rose),var(--purple));transition:.25s}.quiz h2{margin:0 0 26px;font-size:clamp(24px,4vw,33px);line-height:1.42;letter-spacing:-.03em}.options{display:grid;gap:13px}.option{display:flex;align-items:center;gap:15px;width:100%;padding:17px 18px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:.18s}.option:hover{background:#fff7f9;border-color:#fb9db4;transform:translateX(3px)}.letter{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:#f0ebff;color:#8872d0;font-size:13px;font-weight:900}.back{margin-top:23px;padding:8px 0;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:13px}.link-box{display:flex;gap:8px;align-items:center;padding:8px;background:#fff;border:1px solid var(--line);border-radius:15px}.link-box input{min-width:0;flex:1;padding:8px;border:0;outline:0;color:var(--muted);font-size:12px}.tiny{min-height:38px;padding:8px 13px;border-radius:10px}.steps{display:grid;gap:10px;margin:24px 0}.step{display:flex;gap:12px;align-items:flex-start;padding:15px;background:#fffafc;border:1px solid #f4e4e9;border-radius:15px;color:var(--muted);font-size:13px;line-height:1.7}.step strong{display:grid;place-items:center;flex:none;width:24px;height:24px;background:#ffe4eb;color:#da6886;border-radius:50%;font-size:12px}.handoff{text-align:center}.handoff-icon{font-size:64px;margin:16px 0}.result-intro{text-align:center}.result-intro h1{margin:11px 0 8px;font-size:clamp(30px,5vw,46px);letter-spacing:-.05em}.result-intro p{color:var(--muted);margin:0 0 25px}.score-card{position:relative;overflow:hidden;padding:29px;color:#5d3948;background:linear-gradient(135deg,#fff0f4,#f1ebff);border:1px solid #f4dce5;border-radius:25px}.score-card:after{content:'♡';position:absolute;right:18px;bottom:-55px;color:rgba(255,255,255,.66);font-size:175px}.score-ring{position:relative;z-index:1;display:grid;place-items:center;width:126px;height:126px;margin:0 auto 16px;border:10px solid rgba(255,255,255,.65);border-radius:50%;background:conic-gradient(var(--rose) calc(var(--score)*1%),#f5dce6 0)}.score-ring div{display:grid;place-items:center;width:88px;height:88px;background:#fff8fa;border-radius:50%;font-size:29px;font-weight:900}.score-card h2,.score-card p,.tags{position:relative;z-index:1;text-align:center}.score-card h2{margin:0;font-size:27px}.score-card p{margin:8px 0 0;line-height:1.7}.tags{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:15px}.tags span{padding:6px 10px;background:rgba(255,255,255,.66);border-radius:20px;font-size:12px;font-weight:700}.dimension-title{margin:28px 0 14px;font-size:20px}.dimensions{display:grid;gap:11px}.dimension{display:grid;grid-template-columns:92px 1fr 38px;gap:11px;align-items:center;padding:13px 15px;background:#fff;border:1px solid var(--line);border-radius:14px;font-size:13px}.track{height:8px;overflow:hidden;border-radius:9px;background:#f7e8ed}.track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fa7898,#a58cef)}.dimension b{color:var(--rose);text-align:right}.insights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.insight{padding:16px;background:#fffafc;border:1px solid #f4e4e9;border-radius:16px}.insight h3{margin:0 0 7px;font-size:13px;color:#a36880}.insight p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}.actions{display:flex;justify-content:center;gap:11px;flex-wrap:wrap;margin-top:27px}.disclaimer{margin-top:27px;padding:14px 16px;background:#fffafc;border:1px solid #f4e3e9;border-radius:14px;color:#998791;font-size:12px;line-height:1.8}footer{text-align:center;padding:22px;color:#a18e99;font-size:12px}@media(max-width:700px){.page-shell{padding:13px 12px 23px}.topbar{margin-bottom:14px}.main-card{min-height:0;border-radius:22px}.hero{display:block;min-height:0}.hero-copy{padding:42px 26px 37px}.hero h1{font-size:42px}.hero-art{min-height:270px}.challenge-art{width:230px}.score-bubble{width:105px;height:105px;font-size:28px}.flow,.invite,.handoff,.result{padding:34px 18px 43px}.mode-grid,.insights{grid-template-columns:1fr}.quiz{padding:28px 20px 37px}.tip{display:none}.progress{margin-bottom:30px}.primary,.secondary{width:100%}.link-box{align-items:stretch;flex-direction:column}.link-box input{width:100%}.dimension{grid-template-columns:81px 1fr 35px;padding:12px}.score-card{padding:23px}}
