:root{--bg:#f7f3fa;--bg2:#f1ebf6;--purple:#8e78a8;--deep:#665474;--lilac:#ded3e8;--gold:#c9ad79;--ink:#242126;--text:#68616d;--muted:#99919d;--line:rgba(90,70,105,.10);--white:rgba(255,255,255,.78);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 16% 8%,#fff9ff 0,transparent 32%),radial-gradient(circle at 85% 36%,#eee4f6 0,transparent 32%),var(--bg);font-size:14px;line-height:1.65}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #ae93cd;outline-offset:3px}.hidden{display:none!important}.app-shell{width:min(100%,420px);min-height:100vh;margin:0 auto;background:linear-gradient(180deg,#faf7fb 0%,#f2ebf7 100%);box-shadow:0 15px 70px rgba(58,42,72,.09);overflow:hidden}.screen{min-height:100svh;padding:28px 18px max(24px,env(safe-area-inset-bottom));position:relative;display:flex;flex-direction:column;background:radial-gradient(circle at 10% 36%,rgba(220,207,235,.32),transparent 28%),linear-gradient(180deg,#faf7fb,#f2ebf7)}.screen::before{content:"";position:absolute;right:-58px;top:24%;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.24);filter:blur(5px);pointer-events:none}.page-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;gap:8px}.brand{font-size:12px;letter-spacing:.06em;color:var(--deep);font-weight:650;white-space:nowrap}.brand-star{color:var(--gold);margin-right:7px;font-size:15px}.page-mark,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#a994b7}.page-mark{letter-spacing:1.25px;white-space:nowrap}.eyebrow{margin:0 0 12px}.primary-button{min-height:52px;width:100%;border:0;border-radius:28px;color:#fff;font-size:16px;font-weight:650;letter-spacing:.02em;background:linear-gradient(135deg,#927dac,#77638f);box-shadow:0 10px 24px rgba(114,88,143,.20);display:flex;align-items:center;justify-content:center;gap:10px;transition:transform .2s,box-shadow .2s}.primary-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(114,88,143,.23)}.primary-button:active{transform:scale(.99)}.primary-button span{font-size:19px;font-weight:400}.text-button{border:0;background:transparent;color:var(--deep);padding:12px 2px;font-weight:600}.footnote,.disclaimer-small{font-size:12px;color:var(--muted);line-height:1.7;text-align:center}.home-screen{justify-content:space-between;gap:12px}.home-copy{text-align:center;position:relative;z-index:2;padding-top:29px}.home-copy h1{font-size:clamp(34px,9.6vw,39px);line-height:1.27;letter-spacing:-.04em;margin:0;font-weight:760}.home-subtitle{color:var(--deep);font-size:14px;margin:15px 0 0;letter-spacing:.02em}.door-scene{height:clamp(245px,35svh,340px);min-height:245px;position:relative;margin:2px -18px 0;overflow:hidden}.scene-glow{position:absolute;width:260px;height:250px;top:37px;left:calc(50% - 130px);border-radius:50%;background:radial-gradient(circle,rgba(255,248,232,.95) 0%,rgba(239,222,247,.72) 38%,transparent 72%);filter:blur(10px)}.scene-moon{position:absolute;right:18%;top:18px;width:30px;height:30px;border-radius:50%;box-shadow:-8px 1px 0 1px rgba(201,173,121,.73);transform:rotate(-20deg);opacity:.72}.scene-star{position:absolute;color:var(--gold);font-size:15px;opacity:.85}.star-one{left:17%;top:35%}.star-two{right:18%;top:50%;font-size:10px}.star-three{left:28%;top:13%;font-size:26px}.scene-arch{position:absolute;left:calc(50% - 100px);top:28px;width:200px;height:230px;border-radius:104px 104px 12px 12px;border:10px solid #d5c1df;border-bottom:0;box-shadow:0 0 0 1px rgba(171,139,187,.3),0 0 32px rgba(204,177,216,.6),inset 0 0 20px rgba(255,255,255,.8);overflow:hidden;background:linear-gradient(180deg,#faf4ff 0%,#f9f0f5 27%,#eadcea 57%,#d4c8dc 100%)}.scene-arch::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 34%,rgba(255,255,247,.98),transparent 58%);z-index:1}.scene-distance{position:absolute;inset:0;overflow:hidden}.hill{position:absolute;left:-20%;width:140%;height:75px;border-radius:50% 50% 0 0}.hill-back{bottom:14px;background:#d8c8e3;transform:rotate(-6deg)}.hill-front{bottom:-28px;background:#baa8cc;transform:rotate(7deg)}.scene-path{position:absolute;bottom:-36px;left:50%;width:50px;height:120px;border-radius:50% 50% 0 0;background:linear-gradient(#fffaf1,rgba(255,255,255,.25));transform:translateX(-50%) perspective(80px) rotateX(30deg);z-index:2;filter:blur(2px)}.scene-ground{position:absolute;bottom:1px;left:0;right:0;height:52px;background:linear-gradient(transparent,#eee5f2);filter:blur(9px)}.home-bottom{text-align:center;position:relative;z-index:2}.home-promise{font-size:15px;line-height:1.7;color:var(--text);margin:2px 0 17px}.meta-row{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--deep);font-size:12px;margin-bottom:24px}.meta-row i{display:inline-block;width:3px;height:3px;background:#bdaeca;border-radius:50%}.home-bottom .footnote{margin:12px 0 0}.info-screen{gap:20px}.info-head{position:relative;z-index:1;margin-top:48px}.info-head h2{font-size:31px;line-height:1.32;letter-spacing:-.035em;margin:0 0 13px}.info-head>p:last-child{color:var(--text);margin:0;font-size:14px}.intro-grid,.guide-list{display:grid;gap:12px;position:relative;z-index:1}.info-card{display:flex;gap:15px;border-radius:22px;background:var(--white);border:1px solid rgba(125,100,145,.08);padding:17px 18px;box-shadow:0 8px 30px rgba(83,63,96,.06)}.card-num{font-size:11px;font-weight:700;color:#b8a4c8;padding-top:3px;letter-spacing:.1em}.info-card h3{font-size:17px;margin:0 0 4px;line-height:1.45}.info-card p{font-size:13px;color:var(--text);margin:0}.mini-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.mini-tags span,.pill{background:#f1eaf5;color:var(--deep);border-radius:99px;padding:3px 9px;font-size:11px}.soft-note{font-size:12px;color:var(--muted);text-align:center;margin:auto 0 0}.info-screen>.primary-button{margin-top:auto}.guide-list{margin-top:25px}.guide-summary{display:flex;justify-content:center;gap:8px;margin:auto 0 0}.guide-summary span{color:var(--deep);background:#eee5f4;border-radius:99px;padding:4px 15px;font-size:12px}.disclaimer-small{margin:0}.question-screen{gap:0}.question-progress{display:flex;justify-content:space-between;align-items:end;color:var(--muted);font-size:11px;margin:41px 0 10px}.question-progress span:first-child{font-size:19px;letter-spacing:.05em;color:var(--deep);font-weight:700}.progress-track{height:3px;border-radius:9px;background:#e5deea;overflow:hidden}.progress-track span{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,#b9a3ca,#8e78a8);transition:width .28s}.question-notice{margin:23px 0 -11px;color:var(--purple);font-size:12px}.question-body{margin-top:42px;position:relative;z-index:1;animation:rise .25s both}.question-body h2{font-size:clamp(23px,6vw,26px);line-height:1.43;letter-spacing:-.025em;margin:0 0 30px}.options{display:grid;gap:12px}.option{width:100%;min-height:61px;text-align:left;padding:13px 16px;display:flex;align-items:center;gap:13px;border:1px solid rgba(125,100,145,.13);border-radius:19px;background:rgba(255,255,255,.8);color:var(--ink);box-shadow:0 6px 20px rgba(83,63,96,.035);transition:background .22s,border-color .22s,transform .22s}.option:hover{border-color:#bca8cc}.option.selected{background:#eee4f5;border-color:#a68ab9;transform:scale(.99)}.option-letter{width:32px;height:32px;min-width:32px;border-radius:50%;display:grid;place-items:center;background:#f0eaf4;color:var(--deep);font-size:12px;font-weight:750}.option.selected .option-letter{background:var(--purple);color:#fff}.option-text{font-size:14px;line-height:1.55}.question-actions{margin-top:auto;padding-top:24px;display:flex;align-items:center;gap:15px}.question-actions .primary-button{flex:1}.question-actions .text-button{white-space:nowrap}.loading-screen{justify-content:center;text-align:center}.loading-inner{position:relative;z-index:1}.loading-door{width:120px;height:145px;border:8px solid #d9c8e3;border-bottom:0;border-radius:70px 70px 8px 8px;margin:0 auto 35px;position:relative;box-shadow:0 0 38px #eee2f7;background:linear-gradient(#f7f0fb,#e1d6eb);overflow:hidden}.loading-door span{position:absolute;inset:0;background:radial-gradient(circle at 50% 52%,#fff9e9,#e9d9f3 65%);transform-origin:left;animation:doorOpen 2.4s ease-in-out forwards}.loading-inner h2{font-size:24px;margin:0 0 6px}.loading-inner>p:last-child{color:var(--text);font-size:13px}.result-page{background:var(--bg);padding-bottom:env(safe-area-inset-bottom)}.report-topline{padding:25px 18px 0;display:flex;justify-content:space-between}.report-hero{position:relative;overflow:hidden;padding:42px 18px 30px;background:radial-gradient(circle at 82% 14%,rgba(255,252,230,.8),transparent 28%),linear-gradient(155deg,#eee4f5 0%,#f9f5fa 62%,#fff 100%)}.report-hero::after{content:"✧";position:absolute;right:26px;top:34px;color:var(--gold);font-size:24px}.report-hero h1{font-size:32px;line-height:1.25;margin:0 0 14px;letter-spacing:-.03em}.report-lead{color:var(--text);margin:0 0 24px}.hero-result{padding:21px;border-radius:26px;background:rgba(255,255,255,.78);border:1px solid rgba(125,100,145,.1);box-shadow:0 12px 32px rgba(83,63,96,.07);margin-bottom:12px}.hero-result.primary{background:linear-gradient(145deg,#f5ecf9,#fff)}.hero-result small,.section-label{font-size:10px;letter-spacing:1.5px;color:#9c86ae;font-weight:700}.hero-result h2{font-size:30px;line-height:1.3;margin:7px 0 4px}.hero-result h3{font-size:20px;margin:4px 0}.hero-result p{font-size:14px;color:var(--text);margin:0}.hero-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero-pair .hero-result{padding:16px}.hero-pair h3{font-size:17px}.hero-combo{padding:21px;border-radius:26px;border:1px solid rgba(187,154,190,.36);background:linear-gradient(135deg,#eee3f5 0%,#fff9fb 100%);box-shadow:0 12px 30px rgba(83,63,96,.07)}.hero-combo h2{font-size:28px;margin:5px 0}.hero-combo p{margin:0;color:var(--text)}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.tag-row .pill{padding:4px 10px}.report-section{padding:42px 18px 44px;position:relative}.report-section:nth-of-type(even){background:#fffdfd}.report-section.purple-zone{background:linear-gradient(180deg,#f1e9f7,#f7f1fa)}.report-section.rose-zone{background:linear-gradient(180deg,#f7eff6,#fffafc)}.report-section h2{font-size:25px;letter-spacing:-.03em;line-height:1.35;margin:7px 0 20px}.report-section>p.section-intro{color:var(--text);margin:-6px 0 20px}.section-divider{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:13px;margin-bottom:25px}.section-divider::after{content:"";width:70px;height:1px;background:linear-gradient(90deg,rgba(201,173,121,.6),transparent)}.result-card{padding:18px 19px;border-radius:22px;border:1px solid rgba(125,100,145,.08);background:rgba(255,255,255,.79);box-shadow:0 8px 30px rgba(83,63,96,.05);margin-top:12px}.result-card.highlight{background:linear-gradient(145deg,#f3ebf8,#fff);border-radius:26px;border-color:rgba(168,139,183,.18)}.result-card h3{font-size:17px;line-height:1.45;margin:3px 0 7px}.result-card p{color:var(--text);margin:0}.result-card .card-kicker{font-size:11px;color:#9c86ae;letter-spacing:.08em;font-weight:650}.result-card strong{color:var(--deep)}.result-card .tag-row{margin-top:8px}.result-card .tag-row .pill{font-size:11px}.rank-list{display:grid;gap:19px;margin:8px 0 21px}.rank-item-head{display:flex;justify-content:space-between;margin-bottom:7px;font-size:14px}.rank-item-head strong{color:var(--deep)}.rank-track{height:7px;border-radius:99px;background:#ebe5ee;overflow:hidden}.rank-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#c8b6d6,#8e78a8);width:0}.rank-item:not(:first-child) .rank-fill{background:linear-gradient(90deg,#e0d3e9,#b8a4c8)}.fine-print{font-size:12px;color:var(--muted);line-height:1.7;margin:18px 0 0}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-grid .result-card{margin-top:0;padding:16px}.result-grid .result-card h3{font-size:16px}.result-grid .result-card p{font-size:13px}.converge{display:flex;align-items:center;justify-content:center;gap:12px;padding:13px 0 20px;color:var(--deep)}.converge span{flex:1;text-align:center;border-radius:99px;background:rgba(255,255,255,.73);padding:8px 5px;font-size:12px}.converge b{color:var(--gold);font-size:20px}.combo-title{text-align:center;font-size:30px!important;margin:0 0 8px!important}.combo-line{text-align:center;color:var(--text);margin:0 0 20px}.flow{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:16px}.flow span{background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 10px;font-size:12px;color:var(--deep)}.flow i{font-style:normal;color:var(--gold)}.quote-card{padding:20px;border-left:2px solid #c9ad79;background:rgba(255,255,255,.6);border-radius:0 18px 18px 0;color:var(--deep);font-size:15px;line-height:1.75;margin-top:15px}.number-list{padding:0;margin:16px 0 0;list-style:none;display:grid;gap:9px}.number-list li{display:flex;gap:12px;padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.72);color:var(--text)}.number-list b{font-size:11px;color:var(--purple)}.report-footer{padding:43px 18px 35px;background:#f4f1f5}.report-footer h2{font-size:21px;margin:0 0 12px}.report-footer .result-card{background:rgba(255,255,255,.55);box-shadow:none}.end-scene{text-align:center;padding:55px 18px 40px;background:radial-gradient(circle at 50% 27%,#fffcf3,transparent 38%),linear-gradient(180deg,#eee5f4,#f7f3fa)}.end-scene .mini-door{height:115px;width:95px;border:7px solid #ceb9da;border-bottom:0;border-radius:55px 55px 0 0;background:radial-gradient(circle at 50% 38%,#fffef3,#dccce5 70%);margin:0 auto 27px;box-shadow:0 0 25px #e8d7ee}.end-scene h2{font-size:28px;line-height:1.35;margin:7px 0 12px}.end-scene p{color:var(--text);margin:0 auto 24px;max-width:310px}.end-scene .primary-button{margin-bottom:12px}.end-scene .text-button{color:var(--muted)}@keyframes rise{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes doorOpen{0%{transform:scaleX(1)}80%,100%{transform:scaleX(.12)}}@media(max-width:360px){.home-copy{padding-top:13px}.door-scene{min-height:215px;height:29svh}.info-head{margin-top:30px}.question-body{margin-top:31px}.question-body h2{margin-bottom:22px}.options{gap:9px}.option{min-height:56px;padding:10px 12px}}@media(min-width:700px){.app-shell{margin:28px auto;border-radius:30px;min-height:calc(100vh - 56px)}.screen{min-height:calc(100vh - 56px)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
:root{--save-layer:rgba(34,27,42,.68)}.result-card .single-line-body{margin-top:8px;color:var(--ink);font-size:15px;font-weight:520;line-height:1.65}.capture-actions{display:grid;justify-items:center;gap:6px}.capture-actions .primary-button{width:100%;margin-bottom:1px}.capture-actions .text-button{width:100%}.primary-button:disabled{opacity:.67;cursor:wait;transform:none}.save-preview{position:fixed;inset:0;z-index:999;background:var(--save-layer);padding:12px;display:grid;place-items:center}.save-preview-panel{width:min(100%,430px);max-height:94svh;overflow:hidden;background:#faf7fb;border-radius:22px;padding:15px;display:flex;flex-direction:column;box-shadow:0 25px 80px rgba(0,0,0,.2)}.save-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.save-preview-head h2{font-size:18px;margin:0}.save-preview-head .text-button{padding:5px;color:var(--deep)}.save-preview-panel>p{font-size:12px;line-height:1.6;color:var(--text);margin:5px 0 12px}.save-preview-image{flex:1;overflow:auto;border-radius:12px;background:#fff;border:1px solid var(--line);min-height:120px}.save-preview-image img{display:block;width:100%;height:auto}.save-preview-panel>.primary-button{margin-top:12px;flex:none}
