:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#263e36;background:#f7f8f2;font-synthesis:none;--blue:#365c49;--muted:#788179;--line:#dde4d9;--paper:#fffef9}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0,#e8eddd80,transparent 45%),#f7f8f2}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a2b697;outline-offset:5px}h1:focus{outline:none}.topbar{max-width:1080px;margin:auto;padding:30px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:#263e36;text-decoration:none;font-size:18px;font-weight:650;letter-spacing:2px}.mark{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#365c49;color:#f8faed;font-family:Georgia,serif;font-size:23px;letter-spacing:0}.brand-sub{font-size:9px;font-weight:400;letter-spacing:2px;color:var(--muted);margin-left:10px}.header-note{font-size:12px;color:var(--muted)}main{max-width:1040px;margin:62px auto 0;padding:0 30px}.eyebrow{font-size:10px;letter-spacing:2.6px;color:#71836c;margin:0 0 24px;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:6px;height:6px;background:#a4b37e;border-radius:50%}h1{font-size:49px;line-height:1.45;letter-spacing:-1.7px;font-weight:550;margin:0}h1 span{color:#6b8661;position:relative}h1 span:after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:6px;border-top:2px solid #c7d2ab;border-radius:50%}.intro-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}.lead{font-size:15px;line-height:2;color:#7a8177;margin:23px 0 0}.facts{display:flex;gap:0;margin:30px 0}.facts>div{display:flex;flex-direction:column;padding:0 27px;border-right:1px solid var(--line);gap:5px}.facts>div:first-child{padding-left:0}.facts>div:last-child{border:0;padding-right:0}.facts strong{font-size:23px;font-family:Georgia,"Songti SC",serif;font-weight:400;line-height:1.4;color:#395642}.facts>div:last-child strong{font-size:19px;line-height:1.7}.facts span{font-size:11px;color:var(--muted)}.primary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;background:var(--blue);color:#fffef5;border:1px solid var(--blue);padding:16px 23px;border-radius:16px;font-size:15px;font-weight:550;box-shadow:0 7px 18px #365c4914;transition:background .2s,transform .2s}.primary:hover:not(:disabled){background:#294b3a;transform:translateY(-1px)}.primary span{font-size:22px;line-height:1}.intro-copy>.primary{width:100%;max-width:360px}.tiny{font-size:10px;color:#92988d;line-height:1.9}.intro-copy>.tiny{max-width:360px;text-align:center;margin:12px 0 0}.viz-card{background:linear-gradient(145deg,#edf0e3,#e4e9d7);border:1px solid #e0e5d6;border-radius:150px 150px 24px 24px;padding:37px 20px 22px;position:relative;overflow:hidden}.viz-top{display:flex;flex-direction:column;text-align:center;gap:7px;font-size:13px;color:#526847;letter-spacing:1px}.viz-top span:last-child{font-size:8px;letter-spacing:2.5px;color:#99a18e}.viz-card svg{width:100%;max-width:320px;display:block;margin:auto}.viz-caption{font-size:11px;text-align:center;color:#7e8a72;margin:0;letter-spacing:.4px}.viz-card:after{content:'';width:190px;height:190px;border:1px solid #cdd7bb;border-radius:50%;position:absolute;right:-135px;bottom:-95px;pointer-events:none}.note{padding:22px 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;line-height:1.95;color:#8a8f83;margin-top:40px}.note strong{display:block;color:#64745f;font-size:13px;font-weight:550;margin-bottom:7px}.note strong:before{content:'i';display:inline-grid;place-items:center;width:14px;height:14px;border:1px solid #9ca992;border-radius:50%;font:10px Georgia;margin-right:8px}.footer{text-align:center;color:#9aa18f;font-size:10px;letter-spacing:1px;margin:36px 0 26px;padding:0 20px}.quiz{max-width:660px;margin:auto}.quiz-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-bottom:18px}.quiz-heading b{color:#365c49;font-family:Georgia,serif;font-size:20px;font-weight:400}.text-button{background:none;border:0;color:#7b8877;min-height:44px;padding:8px 0;font-size:13px}.progress{height:4px;background:#e3e8da;border-radius:8px;overflow:hidden;margin-bottom:32px}.progress>div{height:100%;background:#7b9466;border-radius:8px;transition:width .25s}.question-card{padding:32px;background:var(--paper);border:1px solid #e5e8de;border-radius:24px;box-shadow:0 8px 28px #334a3303}.section-tag{display:flex;gap:12px;align-items:center;font-size:11px;color:#6e855f;letter-spacing:1px;margin:0 0 26px}.section-tag>span{background:#edf1e4;color:#7d9069;padding:7px 10px;border-radius:7px;font-size:10px;letter-spacing:1px}.question-card h1{font-size:27px;line-height:1.65;letter-spacing:0;font-weight:550}.hint{font-size:12px;line-height:1.9;color:#93988c;margin:16px 0 30px}.options{display:grid;gap:12px}.option{display:flex;align-items:center;gap:15px;padding:18px;text-align:left;border:1px solid #e4e8dd;background:#fffefa;border-radius:14px;color:#64705e;line-height:1.7;font-size:14px;min-height:70px;transition:border-color .15s,background .15s}.letter{height:30px;width:30px;flex-shrink:0;border:1px solid #e3e7db;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#8f9984;background:#f7f8f1}.option:after{content:'';height:16px;width:16px;border:1px solid #dce2d2;border-radius:50%;flex-shrink:0;margin-left:auto}.option[aria-checked=true]{background:#eef3e7;border-color:#8ea57a;color:#365c49}.option[aria-checked=true] .letter{color:#fff;background:#718c5e;border-color:#718c5e}.option[aria-checked=true]:after{content:'✓';display:grid;place-items:center;color:white;background:#718c5e;border-color:#718c5e;font-size:10px}.quiz-nav{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:20px}.quiz-nav .primary{min-width:175px}.quiz-bottom{text-align:center;margin-top:20px}.result{max-width:740px;margin:auto}.result-hero{background:var(--paper);border:1px solid var(--line);border-radius:25px;padding:32px}.result-kicker{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.result-kicker .eyebrow{font-size:9px;letter-spacing:1.2px}.pill{padding:6px 10px;border:1px solid #dfe6d5;border-radius:30px;color:#788c66;font-size:10px;white-space:nowrap}.result h1{font-size:32px;letter-spacing:-.6px;line-height:1.6}.result-intro{font-size:13px;line-height:2;color:#84907b;margin:16px 0}.report-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px}.radar-wrap svg{display:block;width:100%}.radar-note{font-size:10px;text-align:center;line-height:1.8;color:#929d85;margin-top:0}.dimension-list{display:grid}.dimension-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #e9ecdf;padding:14px 0;font-size:13px}.dimension-row:last-child{border:0}.dimension-row span:last-child{color:#6b815b;font-size:10px;background:#f0f3e9;border-radius:5px;padding:5px 7px;white-space:nowrap}.dimension-row .attention{background:#f4edde!important;color:#a18753!important}.result h2{font-size:20px;font-weight:550;letter-spacing:.3px;margin:35px 0 8px}.subtext{color:#8b9481;font-size:12px;line-height:1.9;margin-bottom:20px}.detail-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;margin-top:12px;overflow:hidden}.detail-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:13px;padding:21px}.detail-card summary::-webkit-details-marker{display:none}.detail-card summary:after{content:'＋';margin-left:auto;color:#89977e;font-size:18px}.detail-card[open] summary:after{content:'−'}.dimension-icon{width:34px;height:38px;display:grid;place-items:center;border-radius:12px;background:#edf0e4;color:#899c73;font-family:Georgia,serif;font-size:15px}.summary-title{font-size:15px;font-weight:550}.summary-status{display:block;font-size:10px;font-weight:400;color:#929b88;margin-top:5px}.detail-body{padding:0 23px 24px;font-size:13px;line-height:2;color:#7c8674}.detail-body h3{font-size:13px;color:#53694b;margin:20px 0 8px;font-weight:600}.detail-body p{margin:0 0 12px}.detail-body ul{padding-left:18px;margin:8px 0}.detail-body li{padding-left:3px;margin-bottom:7px}.tip-box{padding:16px;background:#eef2e5;border-radius:12px;color:#667e55;margin-top:20px}.tip-box b{font-weight:550}.action-card{background:#e8eddd;border:1px solid #dde5cf;border-radius:20px;padding:24px;margin-top:25px}.action-card h2{margin:0 0 18px;font-size:19px}.action-card p{font-size:13px;line-height:1.95;color:#79886b;margin:12px 0}.action-card b{color:#4c6541;font-weight:550}.result-actions{display:flex;gap:10px;margin:24px 0 12px}.secondary{border:1px solid #dce3d2;background:#fffef9;color:#6d8060;padding:13px 14px;border-radius:12px;min-height:48px;font-size:12px;flex:1}.closing{text-align:center;font-family:"Songti SC",serif;font-size:20px;color:#81906f;line-height:1.9;margin:36px 0}.fade{animation:appear .3s ease-out}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(min-width:701px){.intro-grid+.note{margin-top:48px}.intro-copy{padding:15px 0}.quiz main{margin-top:30px}}@media(max-width:700px){.topbar{padding:21px 24px;max-width:520px}.brand{font-size:16px;gap:9px}.brand-sub{display:none}.mark{width:29px;height:29px;font-size:20px}.header-note{font-size:10px}main{padding:0 24px;margin:32px auto 0;max-width:520px}.intro-grid{display:flex;flex-direction:column;gap:24px;align-items:stretch}.intro-copy{position:relative}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:20px}h1{font-size:36px;line-height:1.5;letter-spacing:-1px}.lead{font-size:13px;line-height:1.95;margin-top:20px}.facts{margin:25px 0}.facts>div{padding:0 25px}.facts strong{font-size:25px}.facts span{font-size:10px}.intro-copy>.primary{max-width:none;min-height:57px}.intro-copy>.tiny{max-width:none;font-size:9px}.viz-card{border-radius:20px;padding:22px 16px 17px;background:linear-gradient(120deg,#edf0e3,#e5ebd9)}.viz-top{flex-direction:row;justify-content:space-between;align-items:center;text-align:left;font-size:12px;letter-spacing:.5px}.viz-top span:last-child{font-size:8px;letter-spacing:1.8px}.viz-card svg{max-width:265px;margin:-6px auto -14px}.viz-caption{font-size:10px}.note{padding:20px 0;margin-top:26px;font-size:11px;line-height:1.9}.note strong{font-size:12px}.footer{font-size:9px;margin:25px 0;padding-bottom:env(safe-area-inset-bottom)}.quiz-heading{margin-bottom:12px}.progress{margin-bottom:22px}.question-card{padding:23px 18px 22px;border-radius:20px}.section-tag{margin-bottom:22px;font-size:10px}.question-card h1{font-size:23px;line-height:1.6}.hint{font-size:11px;margin:14px 0 24px}.option{padding:15px 12px;gap:11px;font-size:13px;min-height:76px}.letter{height:28px;width:28px}.option:after{width:15px;height:15px}.quiz-nav{position:sticky;bottom:0;padding:16px 0 calc(14px + env(safe-area-inset-bottom));background:#f7f8f2f5;backdrop-filter:blur(12px);margin-top:16px;z-index:2}.quiz-nav .primary{min-width:170px;min-height:52px;padding:14px 20px;font-size:14px}.quiz-bottom{margin:4px 0 0;font-size:9px}.result-hero{padding:22px 18px;border-radius:21px}.result-kicker{gap:7px;margin-bottom:20px}.result-kicker .eyebrow{font-size:7px;letter-spacing:1px;gap:6px}.pill{font-size:8px;padding:5px 7px}.result h1{font-size:27px}.result-intro{font-size:12px}.report-grid{grid-template-columns:1fr;gap:5px}.radar-wrap{width:100%;max-width:300px;margin:auto}.dimension-row{font-size:12px;padding:12px 0}.dimension-row span:last-child{font-size:10px}.result h2{font-size:19px}.detail-card summary{padding:18px 15px;gap:11px}.summary-title{font-size:14px}.summary-status{font-size:9px}.detail-body{padding:0 18px 22px;font-size:12px}.action-card{padding:20px}.action-card h2{font-size:18px}.action-card p{font-size:12px}.result-actions{flex-wrap:wrap;gap:8px}.secondary{font-size:11px;padding:12px 9px;white-space:nowrap}.closing{font-size:19px}}@media(max-width:350px){main{padding:0 18px}.topbar{padding:20px 18px}h1{font-size:32px}.facts>div{padding:0 19px}.question-card{padding:20px 14px}.question-card h1{font-size:21px}.option{font-size:12px;padding:14px 10px;gap:9px}.quiz-nav .primary{min-width:150px}.result-kicker .eyebrow{letter-spacing:0}.result-hero{padding:20px 14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.topbar,.footer,.result-actions,.quiz-nav{display:none}body{background:#fff}main{max-width:none;margin:0;padding:0}.result{max-width:none}.detail-card,.result-hero{break-inside:avoid}.report-grid{grid-template-columns:1fr 1fr}.detail-card .detail-body{display:block}.note{color:#555}.detail-body{color:#444}}

/* The welcome screen fits the visible phone viewport, ending at its primary action. */
body[data-screen="intro"]{min-height:100svh;display:flex;flex-direction:column}
body[data-screen="intro"] .topbar{width:100%;flex-shrink:0;margin:0 auto}
body[data-screen="intro"] main{width:100%;flex:1;display:flex;max-width:720px;margin:0 auto;padding:clamp(28px,6svh,64px) 40px max(32px,env(safe-area-inset-bottom))}
body[data-screen="intro"] .intro-grid{display:flex;width:100%;min-width:0;align-items:stretch}
body[data-screen="intro"] .intro-copy{flex:1;display:flex;flex-direction:column;align-items:stretch;width:100%;padding:0}
body[data-screen="intro"] .eyebrow{margin:0 0 clamp(22px,4svh,40px)}
body[data-screen="intro"] h1{font-size:clamp(36px,5vw,52px);line-height:1.4}
body[data-screen="intro"] .lead{margin:clamp(22px,4svh,36px) 0 0;font-size:15px;line-height:1.9}
body[data-screen="intro"] .facts{margin:auto 0 clamp(24px,4svh,40px);padding-top:32px;justify-content:flex-start}
body[data-screen="intro"] .facts>div{padding-right:40px;padding-left:40px}
body[data-screen="intro"] .facts>div:first-child{padding-left:0}
body[data-screen="intro"] .primary{width:100%;max-width:none;min-height:58px}
body[data-screen="intro"] .footer{display:none}
@media(max-width:700px){
 body[data-screen="intro"]{min-height:100svh;min-height:100dvh}
 body[data-screen="intro"] .topbar{padding:20px 24px;max-width:520px}
 body[data-screen="intro"] main{max-width:520px;padding:clamp(26px,6svh,52px) 24px max(22px,env(safe-area-inset-bottom));padding-top:clamp(26px,6dvh,52px)}
 body[data-screen="intro"] .intro-grid{gap:0}
 body[data-screen="intro"] .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:clamp(22px,4svh,34px)}
 body[data-screen="intro"] h1{font-size:clamp(30px,9.2vw,39px);line-height:1.5;letter-spacing:-1px}
 body[data-screen="intro"] .lead{font-size:13px;line-height:1.95;margin-top:clamp(22px,4svh,34px)}
 body[data-screen="intro"] .facts{margin:auto 0 clamp(26px,4svh,36px);padding-top:30px;justify-content:space-between}
 body[data-screen="intro"] .facts>div{padding:0 20px;flex:1}
 body[data-screen="intro"] .facts>div:first-child{padding-left:0;flex:.8}
 body[data-screen="intro"] .facts>div:last-child{padding-right:0;flex:1.3}
 body[data-screen="intro"] .facts strong{font-size:28px}
 body[data-screen="intro"] .facts>div:last-child strong{font-size:22px;white-space:nowrap}
 body[data-screen="intro"] .facts span{font-size:11px}
 body[data-screen="intro"] .primary{min-height:58px;font-size:16px}
}
@media(max-width:700px) and (max-height:680px){
 body[data-screen="intro"] .topbar{padding-top:16px;padding-bottom:16px}
 body[data-screen="intro"] main{padding-top:22px;padding-bottom:max(18px,env(safe-area-inset-bottom))}
 body[data-screen="intro"] .eyebrow{margin-bottom:18px}
 body[data-screen="intro"] h1{font-size:clamp(29px,8.6vw,35px);line-height:1.42}
 body[data-screen="intro"] .lead{margin-top:18px;line-height:1.8}
 body[data-screen="intro"] .facts{padding-top:24px;margin-bottom:24px}
}
@media(max-width:350px){
 body[data-screen="intro"] .topbar{padding-left:20px;padding-right:20px}
 body[data-screen="intro"] main{padding-left:20px;padding-right:20px}
 body[data-screen="intro"] .lead{font-size:12px}
 body[data-screen="intro"] .facts>div{padding-left:15px;padding-right:15px}
 body[data-screen="intro"] .facts>div:last-child strong{font-size:20px}
}

body[data-screen="intro"] .intro-message{flex:1;display:flex;flex-direction:column;justify-content:center;padding-bottom:clamp(28px,6svh,52px)}
body[data-screen="intro"] .facts{margin-top:0;padding-top:0}

body[data-screen="intro"] .fade{animation:none}

/* Keep the question and all three answers above the navigation on phones. */
body[data-screen="quiz"] .topbar,
body[data-screen="quiz"] .footer{display:none}
body[data-screen="quiz"] main{margin-top:24px}
@media(max-width:700px){
 body[data-screen="quiz"] main{margin:0 auto;padding:12px 20px max(12px,env(safe-area-inset-bottom));max-width:520px}
 body[data-screen="quiz"] .fade{animation:none}
 body[data-screen="quiz"] .quiz{display:flex;flex-direction:column;min-height:calc(100svh - 24px);min-height:calc(100dvh - 12px - max(12px,env(safe-area-inset-bottom)))}
 body[data-screen="quiz"] .quiz-heading{margin:0 0 8px;flex-shrink:0}
 body[data-screen="quiz"] .progress{margin-bottom:16px;flex-shrink:0}
 body[data-screen="quiz"] .question-card{padding:20px 18px;flex-shrink:0}
 body[data-screen="quiz"] .section-tag{margin-bottom:16px}
 body[data-screen="quiz"] .question-card h1{font-size:23px;line-height:1.5}
 body[data-screen="quiz"] .hint{margin:12px 0 20px;line-height:1.75}
 body[data-screen="quiz"] .options{gap:10px}
 body[data-screen="quiz"] .option{min-height:66px;padding:13px 12px}
 body[data-screen="quiz"] .quiz-nav{position:static;margin-top:auto;padding:16px 0 8px;flex-shrink:0;background:none;backdrop-filter:none}
 body[data-screen="quiz"] .quiz-bottom{margin:0;font-size:9px;line-height:1.6;flex-shrink:0}
}
@media(max-width:700px) and (max-height:640px){
 body[data-screen="quiz"] main{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
 body[data-screen="quiz"] .quiz{min-height:calc(100svh - 16px);min-height:calc(100dvh - 8px - max(8px,env(safe-area-inset-bottom)))}
 body[data-screen="quiz"] .quiz-heading{margin-bottom:5px}
 body[data-screen="quiz"] .progress{margin-bottom:12px}
 body[data-screen="quiz"] .question-card{padding:16px 14px}
 body[data-screen="quiz"] .section-tag{margin-bottom:12px}
 body[data-screen="quiz"] .section-tag>span{padding:5px 8px}
 body[data-screen="quiz"] .question-card h1{font-size:21px;line-height:1.45}
 body[data-screen="quiz"] .hint{margin:10px 0 14px;font-size:10px;line-height:1.65}
 body[data-screen="quiz"] .options{gap:8px}
 body[data-screen="quiz"] .option{min-height:56px;padding:11px 10px}
 body[data-screen="quiz"] .quiz-nav{padding-top:12px;padding-bottom:6px}
 body[data-screen="quiz"] .quiz-nav .primary{min-height:48px;padding:12px 18px}
}
@media(max-width:350px){
 body[data-screen="quiz"] main{padding-left:16px;padding-right:16px}
 body[data-screen="quiz"] .question-card h1{font-size:20px}
 body[data-screen="quiz"] .option{font-size:12px}
}
