*{box-sizing:border-box}
body{margin:0;min-height:100vh;padding:2rem 1.5rem;background:#f5f0eb;color:#3e3a35;font:16px/1.6 "Noto Serif SC","Times New Roman","宋体",serif}
.container{max-width:700px;margin:auto;padding:2rem 1.8rem;border:1px solid #e7d7c4;border-radius:2.5rem;background:#fffbf7f2;box-shadow:0 20px 35px #78503214}
h1{margin:0;text-align:center;color:#5d4b3a;font:400 2.2rem "KaiTi","STKaiti",serif;letter-spacing:2px}
h2{margin:0 0 .5rem;color:#5e3e1e;font-weight:400}
.sub{text-align:center;color:#9b8b7a;margin:.25rem 0 1.2rem;padding-bottom:1rem;border-bottom:1px dashed #d9c9b6}
.disclaimer{margin:0 0 1.5rem;padding:.7rem 1rem;border:1px dashed #d9c9b6;border-radius:1rem;background:#faf5ee;color:#806f5d;font-size:.82rem}
.phase-title{margin:1.8rem 0 .35rem;padding-left:.5rem;border-left:6px solid #b99e7c;color:#6b5843;font:500 1.15rem "KaiTi",serif}
.phase-desc{margin:0 0 1rem .6rem;color:#9b8b7a;font-size:.85rem}
.question-card{margin:0 0 1.5rem;padding:1.5rem 1.3rem;border:1px solid #ede3d6;border-radius:1.8rem;background:#fffdf9;box-shadow:0 6px 14px #00000005}
.question-card[hidden]{display:none}
.q-text{margin:0 0 1.1rem;color:#4b3a2b;font-size:1.08rem;font-weight:500}
.q-num{display:inline-block;margin-right:.4rem;padding:.1rem .5rem;border-radius:2rem;background:#f3ede5;color:#b28b5e;font-weight:600}
.options{display:grid;gap:.7rem}
.option-item{display:flex;align-items:flex-start;gap:.6rem;padding:.65rem 1rem;border:1px solid transparent;border-radius:2.5rem;background:#faf7f2;cursor:pointer}
.option-item:hover,.option-item:has(input:checked){background:#f3ede4;border-color:#d6c3aa}
.option-item input{width:1rem;height:1rem;margin-top:.25rem;accent-color:#b28b5e}
.option-item span{flex:1;color:#3b362e;font-size:.98rem}
.consent{display:flex;gap:.6rem;margin:2rem .25rem 0;color:#6b5843;font-size:.88rem}
.consent input{margin-top:.3rem;accent-color:#b28b5e}
.buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem;margin-top:2rem;margin-bottom:1.5rem}
.btn{padding:.9rem 2.2rem;border:1px solid #cdb69b;border-radius:3rem;background:#dacbbc;color:#4e3e2e;font:500 1.1rem "KaiTi",serif;letter-spacing:1px;cursor:pointer;box-shadow:0 4px 10px #8c64461a}
.btn-primary{background:#b28b5e;border-color:#9c7a52;color:#fefaf5}
.btn-primary:hover{background:#9e784b}
.btn:hover{box-shadow:0 8px 16px #78502826;transform:translateY(-1px)}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.result-box{margin-top:2rem;padding:1.8rem;border:1px solid #e0cfb8;border-radius:2rem;background:#fcf8f2;box-shadow:0 12px 24px #00000008}
.result-title{margin:0 0 .5rem;color:#5e3e1e;font-size:1.5rem;font-weight:400;display:flex;align-items:center;gap:.4rem}
.safety-banner{margin-bottom:1.2rem;padding:1rem 1.2rem;border:1px solid #e3b7a6;border-radius:1.2rem;background:#fff0ec;color:#7a4231;font-size:.95rem;white-space:pre-line}
.lifestyle-banner{margin-bottom:1.2rem;padding:1rem 1.2rem;border:1px solid #b9c9a1;border-radius:1.2rem;background:#f2f6ec;color:#4d5c3a;font-size:.92rem;white-space:pre-line}
.syndrome-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.syndrome-tag{display:inline-block;padding:.3rem 1rem;border-radius:2rem;background:#efe2d1;color:#4b3621;font-weight:500;font-size:.9rem}
.syndrome-tag.main{background:#c9a87c;color:#fff;font-weight:600}
.syndrome-tag.accompanied{background:#e8d5c0;border:1px dashed #b28b5e}
.formula-name{display:inline-block;margin-bottom:.8rem;padding:.2rem 1rem;border-radius:2rem;background:#efe2d1;color:#4b3621;font-weight:600;font-size:1rem}
.advice-text{margin:1rem 0;padding:1rem 1.2rem;border-left:4px solid #b28b5e;border-radius:0 1.5rem 1.5rem 0;background:#fffaf4;color:#3b3328;white-space:pre-line}
.priority-list{list-style:none;margin:.8rem 0 0 0;padding:.8rem 1rem;border-radius:1rem;background:#fdf9f3}
.priority-list li{padding:.4rem 0 .4rem 1.5rem;position:relative;color:#4b3a2b;font-size:.95rem}
.priority-list li::before{content:"▸";position:absolute;left:0;color:#b28b5e;font-weight:bold}
.priority-title{font-weight:600;color:#5e3e1e}
.priority-note{color:#9b8b7a;font-style:italic}
.warning{margin-top:1rem;padding:.6rem 1rem;border-radius:1rem;background:#fff5f0;color:#a65a3c;font-style:italic;font-size:.9rem;white-space:pre-line}
.consistency-note{margin-bottom:1.2rem;padding:.8rem 1rem;border:1px dashed #b28b5e;border-radius:1.2rem;background:#f3ede5;color:#6b5843;font-size:.88rem;white-space:pre-line}
.footer-disclaimer{margin-top:1.5rem;padding-top:1rem;border-top:1px dashed #d9c9b6;text-align:center;color:#9b8b7a;font-size:.8rem}
@media (max-width:480px){body{padding:1rem .5rem}.container{padding:1.5rem 1.2rem}}