:root { color-scheme:light; --ink:#28334a; --muted:#626b7b; --line:#e8eaf0; --blue:#596d98; --rose:#a94d6d; --pink:#f8eef2; --surface:#f6f7fa; --font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:40px; }
body { margin:0; background:#fff; color:var(--ink); font:16px/1.8 var(--font); -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; color:inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
button { border:0; background:none; cursor:pointer; }
button:disabled { cursor:wait; opacity:.6; }
a { color:inherit; text-decoration:none; }
:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
h1:focus { outline:0; }
h1,h2,h3,h4,p { margin:0; }
h1,h2,h3,h4 { overflow-wrap:anywhere; }
img { max-width:100%; height:auto; }
[hidden] { display:none !important; }
.sr-only,.skip-link:not(:focus) { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link:focus { position:fixed; top:8px; left:8px; z-index:20; padding:8px 16px; background:#fff; }
.site-header { width:min(1200px,calc(100% - 96px)); min-height:96px; margin:auto; display:flex; align-items:center; gap:36px; border-bottom:1px solid var(--line); }
.site-brand { display:inline-flex; gap:12px; align-items:center; font-size:20px; font-weight:600; white-space:nowrap; }
.brand-mark { display:grid; place-items:center; width:36px; height:36px; background:var(--ink); color:#fff; border-radius:12px 12px 12px 2px; font:22px "Songti SC",SimSun,serif; }
.header-actions { margin-left:auto; display:flex; align-items:center; gap:24px; }
.text-button { color:var(--muted); font-size:15px; padding:10px 0; }
.text-button:hover,a:hover { color:var(--rose); }
.primary,.secondary { display:inline-flex; align-items:center; justify-content:center; gap:30px; padding:15px 28px; min-height:54px; border-radius:10px; font-weight:500; line-height:1.5; transition:background .15s,transform .15s; }
.primary { color:#fff; background:var(--ink); }
.primary:hover:not(:disabled) { background:#405171; transform:translateY(-1px); }
.primary span { font-size:22px; line-height:1; }
.secondary { border:1px solid #dce0e8; background:#fff; }
.secondary:hover { background:var(--surface); }
.eyebrow { font-size:16px; font-weight:500; color:var(--muted); }
.home-hero { width:min(1120px,calc(100% - 96px)); margin:auto; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:30px; padding:66px 0 70px; }
.hero-copy h1 { font-size:clamp(38px,4.5vw,58px); line-height:1.45; letter-spacing:.02em; font-weight:600; margin:20px 0 24px; }
.hero-copy h1 span { color:var(--rose); }
.hero-description { font-size:18px; color:var(--muted); line-height:1.95; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:36px; }
.hero-actions .primary { min-width:198px; }
.hero-meta { font-size:14px; color:var(--muted); margin-top:18px; }
.hero-meta span { padding:0 12px; color:#b0b5c0; }
.creator-credit { color:var(--muted); font-size:15px; margin-top:18px; }
.creator-credit strong { color:var(--rose); font-weight:500; margin:0 3px; }
.hero-art { align-self:center; padding-top:14px; }
.hero-art img { display:block; width:100%; }
.home-outcomes { background:var(--surface); padding:60px max(48px,calc((100vw - 1120px)/2)); }
.outcome-heading h2 { font-size:28px; font-weight:600; margin-top:10px; line-height:1.5; }
.outcomes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:48px; margin-top:38px; }
.outcomes-grid h3 { font-size:19px; font-weight:600; margin:18px 0 10px; }
.outcomes-grid p { color:var(--muted); font-size:16px; }
.outcome-symbol { display:block; position:relative; width:36px; height:36px; }
.outcome-symbol.self { border:2px solid #7c8cac; border-radius:50% 50% 10px 10px; width:26px; }
.outcome-symbol.self::before { content:''; position:absolute; width:8px; height:8px; top:5px; left:7px; border:2px solid #7c8cac; border-radius:50%; }
.outcome-symbol.together::before,.outcome-symbol.together::after { content:''; position:absolute; width:24px; height:30px; border:2px solid #b7788f; border-radius:50%; top:2px; }
.outcome-symbol.together::after { left:14px; }
.outcome-symbol.direction { border:2px solid #82988c; border-radius:50%; }
.outcome-symbol.direction::after { content:'↗'; position:absolute; inset:0; text-align:center; line-height:31px; color:#82988c; font-size:25px; }
.home-faq { width:min(760px,calc(100% - 48px)); margin:72px auto 86px; }
.home-faq h2 { font-size:24px; font-weight:600; margin-bottom:24px; }
details>summary { list-style:none; cursor:pointer; }
details>summary::-webkit-details-marker { display:none; }
.home-faq details { border-bottom:1px solid var(--line); }
.home-faq summary { padding:21px 30px 21px 0; position:relative; font-size:17px; }
.home-faq summary::after { content:'+'; position:absolute; right:4px; color:var(--muted); font-size:22px; }
.home-faq details[open] summary::after { content:'−'; }
.home-faq details p { padding:0 24px 24px 0; color:var(--muted); }
.site-footer { width:min(1200px,calc(100% - 96px)); margin:auto; padding:28px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:14px; }
.mobile-privacy { display:none; }
.app-error { width:min(1000px,calc(100% - 40px)); margin:20px auto; padding:16px 20px; background:#fff1ed; border:1px solid #eec8bd; border-radius:10px; color:#8c3923; }
.app-error button { text-decoration:underline; padding:4px 12px; font-weight:600; }
.loading-state { padding:120px 24px; text-align:center; min-height:60vh; }
.loading-state h1 { font-size:28px; }
.question-layout { width:min(1120px,calc(100% - 96px)); display:grid; grid-template-columns:240px minmax(0,1fr); gap:80px; margin:48px auto 80px; min-height:65vh; }
.question-aside h2 { font-size:22px; line-height:1.7; font-weight:500; margin:25px 0 32px; }
.group-list { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.group-list button { display:flex; align-items:center; gap:12px; padding:10px 0; color:var(--muted); font-size:16px; }
.group-list button[aria-current] { color:var(--rose); font-weight:600; }
.group-dot { width:6px; height:6px; border:1px solid #adb3c0; border-radius:50%; }
[aria-current] .group-dot { border-color:var(--rose); background:var(--rose); }
.question-progress { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; color:var(--muted); font-size:15px; }
progress { appearance:none; width:100%; height:4px; border:0; border-radius:4px; background:#eceef3; display:block; margin-top:6px; }
progress::-webkit-progress-bar { background:#eceef3; border-radius:4px; }
progress::-webkit-progress-value { background:var(--rose); border-radius:4px; }
progress::-moz-progress-bar { background:var(--rose); border-radius:4px; }
.question-heading { margin:42px 0 28px; }
.question-heading h1 { font-size:30px; line-height:1.65; font-weight:600; letter-spacing:.01em; }
.field-instruction { color:var(--rose); font-size:15px; margin:10px 0; }
.question-fields,.subquestion { border:0; padding:0; margin:0; min-width:0; }
.choices { display:grid; gap:12px; }
.choice { display:flex; position:relative; align-items:center; justify-content:space-between; gap:18px; min-height:64px; padding:15px 22px; border:1px solid #dfe3ec; border-radius:11px; background:#fff; cursor:pointer; transition:background .15s,border-color .15s; }
.choice:hover { background:var(--surface); border-color:#adb8cd; }
.choice:has(input:checked) { border-color:#ad718a; background:var(--pink); }
.choice input { position:absolute; opacity:0; width:1px; height:1px; }
.choice:has(input:focus-visible) { outline:3px solid var(--blue); outline-offset:3px; }
.choice-copy { font-size:17px; line-height:1.7; overflow-wrap:anywhere; }
.choice-indicator { width:21px; height:21px; border:1.5px solid #b7becb; border-radius:50%; flex:0 0 21px; }
input[type=checkbox]~.choice-indicator { border-radius:5px; }
input:checked~.choice-indicator { background:var(--rose); border-color:var(--rose); position:relative; }
input:checked~.choice-indicator::after { content:''; position:absolute; width:8px; height:4px; border-left:2px solid white; border-bottom:2px solid white; transform:rotate(-45deg); top:6px; left:5px; }
.entry-wrap { display:flex; align-items:center; gap:18px; max-width:500px; }
.answer-input { width:100%; min-width:0; padding:16px 20px; min-height:64px; background:#fff; border:1px solid #dfe3ec; border-radius:10px; font-size:22px; }
.answer-input::placeholder { font-size:17px; color:#858d9c; }
.entry-wrap>span { font-size:18px; color:var(--muted); }
.subquestion+.subquestion { margin-top:32px; }
.subquestion legend { font-size:18px; font-weight:500; padding:0 0 14px; }
.select-row+.select-row { margin-top:24px; }
.select-label { display:block; margin-bottom:12px; font-size:18px; }
.select-control { position:relative; }
.select-trigger { display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; min-height:62px; padding:16px 20px; border:1px solid #dfe3ec; border-radius:10px; background:#fff; color:var(--muted); text-align:left; font-size:17px; line-height:1.65; }
.select-trigger.has-value { color:var(--ink); }
.select-trigger[aria-expanded=true] { border-color:#ad718a; background:#fdf8fa; }
.select-chevron { flex:0 0 8px; width:8px; height:8px; border-bottom:1.5px solid var(--muted); border-right:1.5px solid var(--muted); transform:rotate(45deg); margin-right:3px; transition:transform .15s; }
[aria-expanded=true] .select-chevron { transform:rotate(225deg); }
.select-menu { position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:30; max-height:320px; overflow:auto; overscroll-behavior:contain; padding:6px; border:1px solid #e3d4dc; border-radius:12px; background:#fff; box-shadow:0 10px 30px #28334a1a; }
.select-menu.opens-up { top:auto; bottom:calc(100% + 8px); }
.select-option { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; min-height:54px; padding:13px 14px; border-radius:7px; color:var(--ink); text-align:left; font-size:16px; line-height:1.7; }
.select-option:hover,.select-option:focus-visible { background:var(--surface); }
.select-option:focus-visible { outline:2px solid #b8c3d8; outline-offset:-2px; }
.select-option[aria-selected=true] { background:var(--pink); color:var(--rose); }
.select-check { flex:0 0 18px; visibility:hidden; text-align:center; }
[aria-selected=true] .select-check { visibility:visible; }
.city-follow-up { margin-top:24px; }
.city-follow-up label { display:block; margin-bottom:12px; }
.city-follow-up .answer-input { font-size:18px; }
.field-error { margin-top:20px; color:#9f3943; font-size:16px; }
.question-actions { display:flex; justify-content:space-between; gap:16px; padding-top:30px; margin-top:32px; border-top:1px solid var(--line); }
.question-actions .primary { min-width:154px; }
.report-layout { width:min(1120px,calc(100% - 96px)); margin:52px auto 80px; display:grid; grid-template-columns:220px minmax(0,1fr); gap:70px; align-items:start; }
.report-menu { position:sticky; top:30px; }
.report-menu>p { font-size:22px; font-weight:600; margin-bottom:28px; }
.report-menu nav { display:grid; gap:8px; }
.report-menu nav a { display:flex; justify-content:space-between; padding:10px 4px 10px 0; color:var(--muted); }
.report-menu nav a span { color:#b2b7c2; }
.report-menu .text-button { margin-top:30px; color:var(--rose); }
.report-document { min-width:0; }
.result-intro h1 { font-size:38px; font-weight:600; line-height:1.6; margin:18px 0 22px; }
.result-summary { font-size:18px; color:var(--muted); }
.result-scores { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:34px 0 16px; }
.result-scores>div { padding:26px 30px; background:#eef1f7; border-radius:14px; }
.result-scores>div+div { background:var(--pink); }
.result-scores span { font-size:16px; display:block; }
.result-scores strong { display:block; font-family:Georgia,serif; font-size:64px; line-height:1.35; color:var(--blue); font-weight:400; }
.result-scores>div+div strong { color:var(--rose); }
.result-scores small { font:16px var(--font); color:var(--muted); }
.score-context,.report-note,.report-date { color:var(--muted); font-size:15px; line-height:1.9; }
.key-takeaway { margin:32px 0 40px; padding-left:22px; border-left:3px solid #d5b1c0; }
.key-takeaway h2 { font-size:21px; font-weight:500; line-height:1.7; }
.difficulty-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.difficulty-heading h2 { font-size:22px; font-weight:600; }
.difficulty-pill { color:#4d6c5c; background:#edf3ef; padding:4px 16px; font-size:15px; border-radius:30px; white-space:nowrap; }
.difficulty-pill[data-level="高"] { color:#96445c; background:#f8eaf0; }
.difficulty-pill[data-level="中"] { color:#876037; background:#faf1e6; }
.relationship-advice>p,.comparison>p { color:var(--muted); margin-top:10px; }
.report-section { border-top:1px solid var(--line); padding-top:44px; margin-top:48px; }
.report-section>h2 { font-size:30px; line-height:1.6; font-weight:600; margin:12px 0 26px; }
.chart-legend { display:flex; gap:24px; font-size:15px; margin-bottom:22px; color:var(--muted); }
.chart-legend span::before { content:''; display:inline-block; width:9px; height:9px; margin-right:8px; background:var(--blue); border-radius:3px; }
.chart-legend span+span::before { background:#bb7a94; }
.dimension-row { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:center; gap:24px; margin:25px 0; }
.dimension-row h3 { font-size:17px; font-weight:500; }
.dimension-bars { display:grid; gap:9px; }
.dimension-line { display:flex; gap:12px; align-items:center; }
.dimension-line span { width:26px; font-size:15px; font-variant-numeric:tabular-nums; }
meter { appearance:none; display:block; width:100%; min-width:0; height:9px; background:#f0f2f6; border-radius:6px; border:0; }
meter::-webkit-meter-bar { background:#f0f2f6; border:0; border-radius:6px; height:9px; }
meter::-webkit-meter-optimum-value { background:var(--blue); border-radius:6px; }
meter::-moz-meter-bar { background:var(--blue); border-radius:6px; }
.target meter::-webkit-meter-optimum-value { background:#bb7a94; }
.target meter::-moz-meter-bar { background:#bb7a94; }
.comparison { padding:28px 0; border-bottom:1px solid var(--line); }
.comparison h3,.relationship-advice h3 { font-size:21px; font-weight:600; }
.comparison-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:20px 0; }
.comparison-pair>div { padding:16px 20px; border-radius:9px; background:#f0f3f8; }
.comparison-pair>div+div { background:var(--pink); }
.comparison-pair span { color:var(--muted); font-size:15px; }
.comparison-pair p { margin-top:4px; font-size:17px; }
.portrait-table { margin:28px 0; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.portrait-head { display:grid; grid-template-columns:1fr 1fr; text-align:center; }
.portrait-head h3 { font-size:18px; font-weight:500; padding:18px 8px; background:#f0f3f8; }
.portrait-head h3+h3 { background:var(--pink); }
.portrait-row { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.portrait-row>p { grid-column:1/-1; text-align:center; color:var(--muted); font-size:15px; padding-top:12px; }
.portrait-row>div { padding:8px 20px 18px; font-size:16px; overflow-wrap:anywhere; }
.portrait-row>div+div { border-left:1px solid var(--line); }
.relationship-advice { padding:30px 0; border-bottom:1px solid var(--line); }
.suggested-action { padding:18px 22px; background:var(--surface); border-radius:10px; margin-top:24px; }
.suggested-action h4,.signal-pair h4,.action-observe h4 { font-size:16px; font-weight:500; margin-bottom:8px; }
.signal-pair { display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:24px; }
.signal-pair p { color:var(--muted); }
.action-list { list-style:none; counter-reset:actions; padding:0; }
.action-list li { position:relative; counter-increment:actions; padding:20px 0 30px 48px; }
.action-list li::before { content:counter(actions); position:absolute; left:0; top:21px; border-radius:50%; width:30px; height:30px; line-height:30px; text-align:center; color:var(--rose); background:var(--pink); font-family:Georgia,serif; font-size:19px; }
.action-list h3 { font-size:20px; font-weight:600; margin-bottom:12px; }
.action-observe { margin-top:20px; padding-left:18px; border-left:2px solid #dce3df; }
.action-observe p { color:var(--muted); }
.report-date { margin:16px 0 28px; }
.saved-report-note { width:min(1120px,calc(100% - 48px)); margin:24px auto 0; padding:16px 20px; background:#f8f0e5; border-radius:10px; font-size:16px; }
dialog { width:min(560px,calc(100% - 32px)); max-height:90dvh; overflow:auto; border:1px solid var(--line); border-radius:18px; padding:32px; color:var(--ink); }
dialog::backdrop { background:#1f293c66; }
.dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:24px; }
.dialog-heading h2 { font-size:23px; font-weight:600; }
dialog p { margin-bottom:18px; }
.danger-button { color:#9e3d4b; padding:12px 0; }
.delete-confirmation { background:#fff1ed; padding:18px; border-radius:10px; margin-top:20px; }
.dialog-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; }
#privacy-error { color:#9e3d4b; }
@media (min-width:1500px) { .home-hero { padding-top:85px; padding-bottom:90px; } }
@media (max-width:1000px) {
  .site-header,.site-footer { width:calc(100% - 48px); }
  .site-header { gap:24px; min-height:84px; } .header-actions { gap:14px; }
  .home-hero { width:calc(100% - 64px); gap:10px; padding:52px 0; } .hero-copy h1 { font-size:42px; } .hero-description { font-size:16px; }
  .home-outcomes { padding:48px 32px; } .outcomes-grid { gap:24px; }
  .question-layout { width:calc(100% - 64px); grid-template-columns:180px minmax(0,1fr); gap:35px; }
  .report-layout { width:calc(100% - 64px); grid-template-columns:150px minmax(0,1fr); gap:35px; }
  .report-menu>p { font-size:19px; } .result-scores>div { padding:20px; }
}
@media (max-width:700px) {
  html { scroll-padding-top:20px; }
  .site-header { width:calc(100% - 40px); min-height:76px; gap:10px; flex-wrap:wrap; }
  .site-brand { gap:8px; font-size:17px; } .brand-mark { width:29px; height:29px; font-size:19px; border-radius:9px 9px 9px 2px; }
  .header-actions { display:none; }
  .home-hero { width:calc(100% - 48px); grid-template-columns:1fr; gap:18px; padding:34px 0 24px; }
  .hero-copy h1 { font-size:clamp(34px,9.7vw,44px); margin:12px 0 18px; line-height:1.5; }
  .hero-description { font-size:16px; line-height:1.9; } .hero-actions { margin-top:25px; gap:14px; } .hero-actions .primary { min-width:190px; }
  .hero-meta { font-size:14px; margin-top:15px; } .hero-meta span { padding:0 8px; }
  .hero-art { padding-top:0; width:min(100%,370px); justify-self:center; } .hero-art img { margin:-4px 0 0; }
  .home-outcomes { padding:34px 24px 38px; } .outcome-heading h2 { font-size:24px; }
  .outcomes-grid { grid-template-columns:1fr; gap:26px; margin-top:30px; } .outcomes-grid article { position:relative; padding-left:62px; }
  .outcome-symbol { position:absolute; top:4px; left:2px; } .outcomes-grid h3 { margin:0 0 7px; font-size:18px; } .outcomes-grid p br { display:none; }
  .home-faq { margin:42px auto 48px; } .home-faq h2 { font-size:22px; line-height:1.6; } .home-faq summary { font-size:16px; }
  .site-footer { width:calc(100% - 48px); flex-direction:column; align-items:flex-start; gap:6px; padding:22px 0; font-size:14px; }
  .mobile-privacy { display:block; color:var(--muted); padding:8px 0; }
  .question-layout { display:block; width:calc(100% - 40px); margin:20px auto 44px; min-height:60vh; }
  .question-aside { display:flex; justify-content:space-between; margin-bottom:24px; } .question-aside h2,.group-list { display:none; }
  .question-progress { font-size:14px; } .question-heading { margin:26px 0 24px; } .question-heading h1 { font-size:25px; line-height:1.65; }
  .choice { padding:14px 17px; min-height:62px; gap:14px; } .choice-copy { font-size:16px; } .choices { gap:11px; }
  .answer-input { font-size:22px; min-height:62px; } .subquestion legend,.select-label { font-size:17px; }
  .question-actions { gap:14px; padding-top:24px; margin-top:28px; } .question-actions .primary { min-width:0; flex:1; gap:18px; }
  .question-actions .secondary { min-width:100px; padding-left:18px; padding-right:18px; }
  .report-layout { display:block; width:calc(100% - 40px); margin:22px auto 48px; } .report-menu { position:static; margin-bottom:30px; }
  .report-menu>p { display:none; } .report-menu nav { display:flex; overflow:auto; gap:20px; border-bottom:1px solid var(--line); }
  .report-menu nav a { white-space:nowrap; font-size:15px; } .report-menu nav a span,.report-menu .text-button { display:none; }
  .result-intro h1 { font-size:30px; margin:12px 0 20px; } .result-summary { font-size:17px; }
  .result-scores { gap:12px; margin-top:26px; } .result-scores>div { padding:20px 15px; border-radius:12px; }
  .result-scores span { font-size:14px; } .result-scores strong { font-size:50px; margin-top:8px; } .result-scores small { font-size:14px; }
  .key-takeaway { padding-left:16px; } .key-takeaway h2 { font-size:19px; } .difficulty-heading h2 { font-size:20px; }
  .report-section { margin-top:36px; padding-top:30px; } .report-section>h2 { font-size:25px; }
  .dimension-row { grid-template-columns:85px minmax(0,1fr); gap:10px; } .dimension-row h3 { font-size:16px; }
  .comparison h3,.relationship-advice h3 { font-size:20px; } .comparison-pair { gap:12px; } .comparison-pair>div { padding:14px; } .comparison-pair p { font-size:16px; }
  .portrait-row>div { padding:8px 14px 18px; } .signal-pair { grid-template-columns:1fr; gap:20px; }
  .action-list li { padding-left:42px; } .action-list h3 { font-size:19px; }
  dialog { padding:24px; } .dialog-heading h2 { font-size:21px; }
}
@media (max-width:360px) {
  .site-header { width:calc(100% - 32px); gap:8px; } .site-brand { font-size:15px; gap:6px; }
  .home-hero { width:calc(100% - 40px); } .hero-description br { display:none; }
  .result-scores { gap:8px; } .result-scores>div { padding:16px 11px; } .result-scores strong { font-size:44px; }
}
.highlights-intro { font-size:17px; color:var(--muted); margin-bottom:28px; }
.conclusion-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:28px 0 22px; }
.conclusion-card { padding:24px; border-radius:13px; background:#f1f3f8; }
.conclusion-card h2 { font-size:15px; color:var(--muted); font-weight:400; margin-bottom:9px; }
.conclusion-card strong { display:block; font-size:27px; line-height:1.5; font-weight:600; color:var(--blue); }
.conclusion-card p { font-size:15px; color:var(--muted); line-height:1.8; margin-top:10px; }
.conclusion-card.difficulty,.conclusion-card.stretch { background:var(--pink); }
.conclusion-card.difficulty strong,.conclusion-card.stretch strong { color:var(--rose); }
.conclusion-card.strength { background:#eef4f0; }
.conclusion-card.strength strong { color:#506d5c; }
.conclusion-card.action { background:#f8f3ec; }
.conclusion-card.action strong { color:#846142; }
.score-section-title { font-size:23px; font-weight:600; margin-top:36px; }
.analysis-screen { width:min(560px,calc(100% - 48px)); margin:80px auto 100px; min-height:50vh; text-align:center; }
.analysis-screen h1 { font-size:32px; font-weight:600; line-height:1.5; margin:34px 0 14px; }
.analysis-screen>p { color:var(--muted); font-size:17px; }
.analysis-orbit { position:relative; width:110px; height:110px; margin:0 auto; display:grid; place-items:center; }
.analysis-orbit span { position:absolute; inset:0; border:2px solid #e9dce2; border-top-color:var(--rose); border-radius:50%; animation:analysis-turn 1.6s linear infinite; }
.analysis-orbit span:nth-child(2) { inset:12px; border-color:#e5e9f1; border-bottom-color:var(--blue); animation-direction:reverse; animation-duration:2.4s; }
.analysis-orbit span:nth-child(3) { inset:25px; border-color:#e9dce2; border-right-color:#c58ca4; animation-duration:2s; }
.analysis-orbit i { font:30px "Songti SC",SimSun,serif; color:var(--ink); font-style:normal; }
.analysis-stages { display:grid; gap:12px; width:max-content; max-width:100%; margin:32px auto 0; text-align:left; }
.analysis-stages span { color:#818898; font-size:16px; padding-left:24px; position:relative; }
.analysis-stages span::before { content:''; position:absolute; left:0; top:11px; width:6px; height:6px; border:1px solid #c9cfda; border-radius:50%; }
.analysis-stages .is-current { color:var(--rose); }
.analysis-stages .is-current::before { background:var(--rose); border-color:var(--rose); }
.analysis-screen .analysis-wait { margin-top:24px; font-size:15px; }
@keyframes analysis-turn { to { transform:rotate(360deg); } }
@media (max-width:700px) {
  .select-trigger { font-size:16px; padding:15px 17px; }
  .select-option { padding:13px 12px; }
  .report-menu nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; }
  .report-menu nav a { justify-content:center; font-size:14px; }
  .result-intro .report-verdict { font-size:27px; line-height:1.6; }
  .conclusion-grid { gap:12px; margin-top:24px; }
  .conclusion-card { padding:18px 15px; border-radius:11px; }
  .conclusion-card h2 { font-size:14px; margin-bottom:8px; }
  .conclusion-card strong { font-size:21px; }
  .conclusion-card p { font-size:14px; line-height:1.8; margin-top:8px; }
  .highlights-intro { font-size:16px; margin-bottom:20px; }
  .score-section-title { font-size:21px; }
  .analysis-screen { margin:65px auto 80px; }
  .analysis-screen h1 { font-size:27px; }
  .analysis-screen>p { font-size:16px; }
}
@media (max-width:360px) { .conclusion-card { padding:16px 12px; } .conclusion-card strong { font-size:19px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }

/* The report begins with a bottleneck and a concrete next meeting, rather than scores. */
.site-brand { letter-spacing:.03em; }
.bottleneck-tag { display:inline-block; margin-top:20px; padding:5px 14px; border-radius:6px; background:var(--pink); color:var(--rose); font-size:15px; }
.breakthrough-lead { font-size:19px; line-height:1.95; }
.focus-note { margin:30px 0 8px; padding:19px 22px; border-left:3px solid #b77990; background:#faf6f8; }
.focus-note span { font-size:14px; color:var(--muted); }
.focus-note p { margin-top:7px; font-size:18px; }
.first-move { background:#f9f4ee; border:0; border-radius:15px; padding:30px; }
.first-move>h2 { margin-bottom:22px; }
.move-action { font-size:19px; line-height:1.95; }
.response-judgment { margin-top:22px!important; padding-top:20px; border-top:1px solid #e5d9df; font-size:17px; color:var(--ink)!important; }
.market-check { margin-top:30px; padding-top:26px; border-top:1px solid #e3d8cd; }
.market-check h3 { font-size:19px; margin-bottom:15px; }
.market-check p { color:var(--muted); margin-top:12px; }
.screening-combination { font-size:18px; }
.core-conditions { margin:22px 0; font-weight:500; color:var(--rose); }
.condition-memo>h2 { font-size:25px; }
.condition-memo .comparison { padding:20px 0; }
.condition-memo .comparison-pair { margin:15px 0 0; }
@media(max-width:700px) {
  .breakthrough-lead,.move-action { font-size:17px; }
  .focus-note { padding:16px 18px; } .focus-note p { font-size:17px; }
  .first-move { padding:24px 20px; } .first-move>h2 { font-size:24px; }
  .response-judgment,.screening-combination { font-size:16px; }
  .site-brand { font-size:17px; }
}
/* Score anchor, reality comparison and two distinct partner portraits. */
.score-intro .score-anchor{font:88px/1.1 Georgia,serif;color:var(--ink);margin:12px 0}.score-anchor small{font:20px var(--font);color:var(--muted)}
.score-basis{font-size:14px;color:var(--muted);line-height:1.8}.target-anchor{margin-top:14px;font-size:16px}.target-anchor strong{color:var(--rose);font-size:21px;margin-left:6px}.target-anchor span{color:var(--muted);font-size:13px;margin-left:12px}.anchor-note{font-size:13px;color:var(--muted);margin-top:8px}.anchor-conclusion{margin-top:22px;padding:17px 19px;background:var(--pink);border-radius:10px}.anchor-conclusion>span{font-size:13px;color:var(--rose)}.anchor-conclusion h2{font-size:21px;line-height:1.7;margin-top:5px}
.report-expand{margin-top:22px;border:1px solid var(--line);padding:15px 18px;border-radius:10px;color:var(--muted);font-size:15px}.report-expand summary{color:var(--ink)}.report-expand summary::after{content:' ＋';color:var(--rose)}.report-expand[open] summary::after{content:' −'}.report-expand p{margin-top:12px}.score-evidence,.memo-pair{padding:14px 0;border-bottom:1px solid var(--line)}.score-evidence p{margin-top:4px}
.reality-legend{display:grid;grid-template-columns:1fr 1fr;gap:14px}.reality-legend span{padding:12px;background:#edf2fa;border-radius:8px;color:var(--blue);text-align:center;font-weight:500}.reality-legend span+span{background:var(--pink);color:var(--rose)}.reality-dimension{margin-top:21px}.reality-dimension h3{font-size:16px;margin-bottom:8px}.reality-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.reality-pair>div{background:#f6f8fc;padding:13px;border-radius:8px;display:flex;flex-direction:column}.reality-pair>div+div{background:#fcf6f8}.reality-pair p{font-size:14px;line-height:1.7;flex:1;margin-bottom:12px;overflow-wrap:anywhere}.reality-pair small{font-size:13px;color:var(--muted);margin-top:4px}.reality-pair>div+div meter::-webkit-meter-optimum-value{background:var(--rose)}
.portrait-differences{color:var(--rose);font-weight:500;margin-bottom:20px}.object-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.object-card{display:grid;grid-template-rows:subgrid;grid-row:span 10;border:1px solid #dce4ef;border-radius:12px;overflow:hidden;background:#f6f8fc;min-width:0}.object-card.lower{border-color:#ecdce3;background:#fcf7f9}.object-card>header{padding:20px 15px;background:#eaf0f9}.object-card.lower>header{background:#f7eaf0}.object-card header>p{font-size:12px;color:var(--muted)}.object-card h3{font-size:20px;margin:5px 0;color:var(--blue)}.object-card.lower h3{color:var(--rose)}.object-card header>span{font-size:12px;line-height:1.6;display:block;color:var(--muted)}.object-field{padding:16px 14px;border-top:1px solid #e5e9f0;min-width:0}.object-field h4{font-size:13px;color:var(--muted);font-weight:400;margin-bottom:7px}.object-field h4 span{display:inline-block;font-size:10px;border-radius:3px;padding:0 4px;background:#fff8;margin-left:4px}.object-field p{font-size:15px;line-height:1.7;overflow-wrap:anywhere}.object-field.is-changed{background:#dfebfc;color:#355880}.lower .object-field.is-changed{background:#f9e2ed;color:#923f62}.object-field.is-changed h4{color:inherit}
.choice-range{margin:24px 0;padding:22px;background:#f0f6f2;border:1px solid #dce9df;border-radius:12px}.choice-range header{text-align:center}.choice-range header>span,.choice-range footer{font-size:13px;color:#5f7868}.choice-range i{display:block;color:#789582;font-style:normal}.choice-range h3{font-size:21px;color:#42654f}.choice-range header p{font-size:14px;color:#5f7868;margin-top:9px}.range-option{padding:13px 0;border-bottom:1px solid #dce6df}.range-option h4{font-size:14px;color:#42654f}.range-option p{font-size:15px;margin-top:5px}.choice-range footer{text-align:center;padding-top:14px}
@media(max-width:700px){.score-intro .score-anchor{font-size:76px;margin:8px 0}.score-basis{font-size:12px}.anchor-conclusion h2{font-size:18px}.anchor-conclusion{padding:14px 16px;margin-top:17px}.object-duo{gap:0 10px}.object-card>header{padding:16px 10px}.object-card h3{font-size:18px}.object-field{padding:13px 10px}.object-field p{font-size:14px}.object-field h4{font-size:12px}.object-field h4 span{font-size:9px}.choice-range{padding:18px}.target-anchor span{font-size:12px}}
@media(max-width:700px){.report-menu{display:none}.score-intro .score-anchor{font-size:70px}.score-intro .anchor-conclusion{margin-top:14px}}
