:root{--deep:#84445d;--ink:#4d4246;--line:#e8dadc;--rose:#b56a80;--pale:#f7edef}
body{background:radial-gradient(circle at 8% 10%,#fae9ed 0,transparent 34%),radial-gradient(circle at 95% 30%,#f2e8e1 0,transparent 27%),linear-gradient(150deg,#fffaf8,#f1e8e6)}
.primary{background:linear-gradient(135deg,#c8788c,#a95170);box-shadow:0 10px 22px #9e486522}
.user{background:var(--rose);box-shadow:0 7px 17px #a951671c}
.row.question .bubble{background:#faf2f4;border-color:#ead8df}
.option:hover{border-color:#b86f87;background:#fcf5f7}
.option-number{background:#f6e8ed;color:#935269}
.thinking,.text-button,.secondary{color:#86596b}
.result{margin-top:20px;padding-top:26px;border-top:1px solid var(--line);scroll-margin-top:18px}
.announcement{display:grid;justify-items:center;gap:18px;margin-bottom:28px}
.result-avatar{width:120px;height:120px;border:4px solid #fff;border-radius:30px;box-shadow:0 10px 25px #79445922}
.announcement-speech{position:relative;width:100%;padding:19px 22px;border:1px solid var(--line);border-radius:20px;background:#f6f0ed;text-align:left}
.announcement-speech::before{position:absolute;top:-9px;left:calc(50% - 9px);width:16px;height:16px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:#f6f0ed;transform:rotate(45deg);content:""}
.announcement-speech p{margin:0;font-size:15px;line-height:1.9}.announcement-speech .welcome-back{margin-bottom:6px;font-weight:700}
.selected-criteria{margin:0 0 30px;padding:20px;border-radius:18px;background:#f8f3f1}
.selected-criteria h3{margin:0 0 14px;color:#876373;font-size:14px;line-height:1.7;font-weight:600}
.criteria-list{display:grid;gap:12px;margin:0}
.criterion{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:12px}
.criterion dt{padding-top:3px;color:#9b6c7f;font-size:12px;line-height:1.8}
.criterion dd{margin:0;color:#56424b;font-size:16px;font-weight:700;line-height:1.75}
.conclusion{margin-bottom:27px;padding:5px 0 24px;border-bottom:1px solid var(--line)}
.result-label{margin:0 0 12px;color:#98667c;font-size:12px;letter-spacing:.09em}
.result h2{margin:0 0 17px;color:var(--deep);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(23px,4.8vw,28px);font-weight:700;line-height:1.7;text-align:left;overflow-wrap:anywhere}
.result-summary{margin:0;font-size:15px;line-height:1.95}
.result-value{padding:23px;border:1px solid #e5cdd7;border-radius:19px;background:linear-gradient(130deg,#f5e5ed,#fcf4f7)}
.result-value h3,.result-rest h3,.result-step h3{margin:0 0 10px;color:#89516a;font-size:14px;line-height:1.7;font-weight:600}
.result-value p{margin:0;color:#724054;font-size:18px;line-height:1.85;font-weight:700}
.result-rest{padding:25px 3px}.result-rest p{margin:0;font-size:15px;line-height:1.9}
.result-step{margin-top:10px;padding:21px 22px;border-left:4px solid #b5748c;background:#fff;box-shadow:0 5px 20px #694b4b0a}
.result-step p{margin:0;font-size:16px;line-height:1.9;font-weight:600}
.referral{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.referral summary{padding:6px 0;color:#86546a;font-size:15px;font-weight:700;line-height:1.7;cursor:pointer}
.referral p{font-size:14px;line-height:1.85}
.support-options{display:grid;gap:9px}
.support-options button{border:1px solid #dfccd4;border-radius:13px;padding:13px;background:#fff;color:#87576b;text-align:left;font-size:14px;line-height:1.7}
.support-options button[aria-pressed="true"]{background:#f8eaf0;border-color:#a86b82}
.service-list{display:grid;gap:10px;margin-top:17px}
.service{padding:17px;border:1px solid #e5d7dd;border-radius:15px;background:#fff}
.service a{display:block;color:#815168;font-size:16px;font-weight:700;line-height:1.7;text-underline-offset:4px;overflow-wrap:anywhere}
.service p{margin:8px 0 0;font-size:13px;color:#71666b}
.pr{display:inline-block;margin-bottom:9px;font-size:11px;color:#88717a}
@media(max-width:520px){
 .result-avatar{width:108px;height:108px;border-radius:27px}
 .announcement-speech{padding:17px}.announcement-speech p{font-size:14px}
 .selected-criteria{padding:17px}.criterion{grid-template-columns:1fr;gap:2px}.criteria-list{gap:15px}.criterion dd{font-size:15px}
 .result-summary,.result-rest p{font-size:14px}.result-value,.result-step{padding:18px}.result-value p{font-size:17px}.result-step p{font-size:15px}
}
