
:root{--ink:#39234b;--muted:#80708c;--purple:#8152de;--mint:#73ffc2;--pink:#ff54a6;--line:#ede6f3;--bg:#faf8ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",sans-serif;-webkit-tap-highlight-color:transparent}button,a,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #34cbb5;outline-offset:3px}header{max-width:1160px;margin:auto;padding:25px 32px;display:flex;justify-content:space-between;align-items:center}a{color:inherit;text-decoration:none}#brand{display:flex;align-items:center;gap:9px;font-weight:900;font-size:20px}.brand-icon{font-size:36px;color:var(--purple)}.brand-en{font-size:9px;letter-spacing:1px;border-left:1px solid #d9cde4;padding-left:10px;max-width:88px}.text-btn{border:0;background:transparent;color:var(--ink);font-size:13px}main{max-width:1100px;margin:auto;padding:22px 28px 30px;min-height:65vh}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--purple);display:flex;gap:8px;align-items:center}.eyebrow:before{content:"";width:7px;height:7px;background:#24d7aa;border-radius:50%}h1{font-size:clamp(36px,5vw,62px);line-height:1.23;letter-spacing:-2px;margin:24px 0 20px;font-weight:900}h1 em{font-style:normal;color:var(--purple)}h2{font-size:25px;line-height:1.5;margin:10px 0 18px}h3{font-size:16px;margin:8px 0 12px}p{line-height:1.85}.muted,.intro{color:var(--muted)}.intro{font-size:15px;max-width:400px}.hero{display:grid;grid-template-columns:1fr 1.04fr;gap:30px;align-items:center;padding:24px 0 38px}.hero-art{position:relative;min-height:460px;border-radius:50%;background:radial-gradient(ellipse at center,#efe6ff 0%,#f6f0ff 55%,transparent 70%)}.orbit{position:absolute;inset:15%;border:1px dashed #d5c3ed;transform:rotate(-20deg);border-radius:50%}.orbit.two{inset:2% 23%;transform:rotate(35deg)}.hero-person{position:absolute;background:white;box-shadow:0 15px 40px #51317c12;border:1px solid #f0e8f8;border-radius:28px;padding:10px;transform:rotate(var(--r));width:42%;height:43%}.hero-person.one{top:0;left:8%;--r:-9deg}.hero-person.two{top:14%;right:0;--r:10deg}.hero-person.three{bottom:0;left:22%;--r:3deg}.hero-person small{position:absolute;bottom:10px;left:14px;background:#f8f3ff;border-radius:9px;padding:4px 9px;font-size:11px}.star{position:absolute;color:var(--purple);font-size:34px}.s1{right:16%;bottom:10%}.s2{left:0;top:52%;color:#ffb028}.primary,.secondary{border:0;padding:16px 23px;border-radius:15px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:14px;transition:transform .2s}.primary{background:var(--purple);color:white;box-shadow:0 7px 0 #663dc0}.primary:hover,.secondary:hover{transform:translateY(-2px)}.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.fine{font-size:11px;color:var(--muted);line-height:1.8}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-size:11px;border:1px solid var(--line);background:#fff;border-radius:99px;padding:6px 11px}.stats{display:flex;gap:24px;margin:25px 0}.stats b{font-size:21px}.stats span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:35px 0 18px}.section-title h2{margin:0;font-size:23px}.section-title small{color:var(--muted);font-size:11px}.role-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.role-card{padding:10px;background:#fff;border:1px solid var(--line);border-radius:18px;text-align:center;transition:transform .2s}.role-card:hover{transform:translateY(-4px)}.role-card strong{display:block;font-size:14px;margin:10px 0 5px}.role-card small{font-size:10px;color:var(--muted)}.sprite{width:100%;aspect-ratio:1.12;overflow:hidden;position:relative;background:#fff;border-radius:12px}.sprite img{position:absolute;max-width:none;display:block;pointer-events:none}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0}.step{padding:20px 0;border-top:1px solid #dcd2e7}.step b{font-size:11px;letter-spacing:2px;color:var(--purple)}.step h3{margin:12px 0 6px}.step p{font-size:12px;margin:0;color:var(--muted)}footer{text-align:center;font-size:12px;padding:35px 20px 115px;color:var(--muted)}footer span{font-size:10px;line-height:3}#bottomNav{position:fixed;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;justify-content:center;gap:70px;padding:9px 20px calc(9px + env(safe-area-inset-bottom));z-index:10}#bottomNav button{border:0;background:none;color:#8d7c9d;font-size:19px;min-width:72px}#bottomNav button.active{color:var(--purple)}#bottomNav span{display:block;font-size:10px;margin-top:4px}#toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:12px;padding:12px 20px;font-size:12px;max-width:90vw;z-index:40;display:none}.quiz-wrap{max-width:630px;margin:0 auto;padding:10px 0}.quiz-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.progress{height:5px;background:#eae1f3;border-radius:10px;overflow:hidden;margin:18px 0 42px}.progress i{display:block;height:100%;background:var(--purple);transition:width .3s}.question-index{color:var(--purple);font-size:12px;letter-spacing:2px}.quiz-wrap h2{font-size:25px;min-height:90px;line-height:1.65;margin-top:18px}.answers{display:grid;gap:12px}.answer{background:white;border:1px solid var(--line);border-radius:16px;padding:17px 19px;text-align:left;display:flex;align-items:center;gap:16px;color:var(--ink);font-size:14px}.answer b{font-size:11px;width:25px;height:25px;border-radius:50%;background:#f4edff;display:grid;place-items:center;color:var(--purple)}.answer.selected{border-color:var(--purple);background:#f1e8ff}.quiz-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.quiz-bottom button:disabled{opacity:.4;cursor:default}.result-wrap{max-width:850px;margin:auto}.result-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#fff;border:1px solid var(--line);border-radius:30px;padding:30px;gap:20px}.result-hero .sprite{max-width:340px;margin:auto}.result-hero h1{font-size:48px;margin:10px 0}.quote{font-weight:600;font-size:17px}.panel{background:white;border:1px solid var(--line);border-radius:22px;padding:24px;margin:18px 0}.panel p{font-size:13px;color:var(--muted);margin-bottom:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.two-col .panel{margin:0}.boundary{margin:18px 0}.boundary-head{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.scale{height:7px;border-radius:8px;background:linear-gradient(to right,#7bffe0,#a56cf0);position:relative}.scale i{position:absolute;width:15px;height:15px;top:-4px;border-radius:50%;background:white;border:3px solid var(--purple);transform:translateX(-50%)}.scale-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:8px}.invite-banner{padding:25px;background:#ece1ff;border-radius:22px;margin:20px 0}.invite-banner h3{font-size:20px}.empty{text-align:center;padding:70px 10px}.empty .big{font-size:55px;color:var(--purple)}.friend-card{display:flex;align-items:center;gap:15px;background:white;border:1px solid var(--line);border-radius:20px;padding:16px;margin:12px 0}.friend-card .sprite{width:75px;flex:none}.friend-card p{font-size:11px;color:var(--muted);margin:4px 0}.friend-card .text-btn{margin-left:auto}.score{font-size:62px;font-weight:900;color:var(--purple);line-height:1}.match-head{text-align:center;padding:24px}.match-avatars{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0}.match-avatars .sprite{width:150px}.match-avatars span{font-size:30px;color:var(--purple)}.match-item{border-top:1px solid var(--line);padding:18px 0}.match-item:first-child{border:0}.match-item h3{display:flex;justify-content:space-between;font-size:14px}.badge{font-size:10px;background:#e2fff1;color:#28805e;border-radius:30px;padding:4px 8px}.badge.diff{background:#fff2d6;color:#946518}.detail-hero{max-width:220px;margin:auto}dialog{border:1px solid var(--line);border-radius:24px;padding:28px;max-width:480px;width:90vw;color:var(--ink)}dialog::backdrop{background:#24123466;backdrop-filter:blur(4px)}dialog h2{font-size:20px;clear:both}dialog p{font-size:12px;color:var(--muted)}dialog .close{float:right}textarea{width:100%;height:105px;border:1px solid #ddcfee;border-radius:12px;padding:12px;background:#faf7ff;color:var(--ink);font-size:12px;word-break:break-all;margin:10px 0 18px}.notice{padding:15px 18px;background:#f0e8ff;border-radius:15px;font-size:12px;line-height:1.8;margin:0 0 18px}.back{margin-bottom:15px}button:disabled{cursor:wait;opacity:.6}.poster-image{display:block;width:100%;border-radius:12px;margin:15px 0}#shareDialog img{max-height:60vh;object-fit:contain}
@media(max-width:700px){header{padding:17px 20px}#brand{font-size:17px}.brand-icon{font-size:30px}.brand-en{display:none}main{padding:10px 20px 25px}.hero{grid-template-columns:1fr;gap:0;padding-top:12px}.hero-copy{text-align:center}.eyebrow{justify-content:center}h1{font-size:39px;margin:19px 0 16px;letter-spacing:-1px}.intro{font-size:13px;margin:auto;max-width:300px}.hero .actions{justify-content:center;margin:20px 0}.hero .fine{text-align:center}.stats{justify-content:center;gap:26px;margin:24px 0 0}.stats b{font-size:18px}.hero-art{min-height:320px;max-width:380px;width:100%;margin:20px auto 0}.hero-person{border-radius:20px}.hero-person small{bottom:8px;font-size:10px}.hero .primary{width:100%;max-width:330px}.role-grid{grid-template-columns:repeat(3,1fr);gap:9px}.role-card{padding:7px;border-radius:15px}.role-card strong{font-size:12px;margin-top:6px}.role-card small{font-size:9px}.section-title{margin-top:25px}.section-title h2{font-size:20px}.section-title small{max-width:115px;text-align:right;line-height:1.6}.steps{gap:12px}.step{padding:14px 0}.step h3{font-size:13px}.step p{font-size:10px}.result-hero{grid-template-columns:1fr;padding:20px;text-align:center;gap:0}.result-hero .sprite{width:75%;max-width:240px}.result-hero h1{font-size:40px}.result-hero .chips{justify-content:center}.result-hero .intro{max-width:100%}.two-col{grid-template-columns:1fr;gap:12px}.panel{padding:20px;border-radius:20px}.result-wrap>.actions{display:grid;grid-template-columns:1fr 1fr}.result-wrap>.actions button{font-size:12px;padding:14px 10px}.result-wrap>.actions .primary{grid-column:1/-1}.quiz-wrap h2{font-size:23px;min-height:105px}.quiz-wrap .eyebrow{justify-content:flex-start}.answer{padding:16px;font-size:13px}.progress{margin-bottom:32px}#bottomNav{gap:38px}.match-avatars .sprite{width:125px}.quote{font-size:15px}.quiz-wrap{padding-top:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
