.experience-question,.question { position:relative; border-left:3px solid #e2e3e6; padding:16px 16px 32px; background:#fafafb; border-radius:6px; transition:background .15s,border-color .15s; }
.experience-question.is-complete,.question.is-complete { border-color:#267559; background:#f3f8f5; }
.experience-question.is-complete .question-number { background:#267559; color:#fff; }
.answer-state { display:block; font-size:11px; line-height:1.5; color:#7c7c82; margin-top:6px; font-weight:550; }
.experience-question>.answer-state,.question>.answer-state { position:absolute; right:16px; bottom:9px; margin:0; }
.is-complete>.answer-state { color:#246647; }
.is-complete>.answer-state::before { content:'✓ '; }
.field.is-complete select { border-color:#68a288; background:#f8fcf9; }
.field.is-unanswered>.answer-state { color:#85858b; }
.completion-strip { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 0; border-block:1px solid #e7e7e9; margin:22px 0; font-size:13px; }
.completion-strip strong { color:#267559; }
.match-overview { display:grid; grid-template-columns:minmax(0,1fr) 98px; gap:18px; align-items:start; }
.match-eyebrow { font-size:11px; font-weight:550; color:#8c2431; }
.match-overview h4 { margin:5px 0 8px; font-size:20px; line-height:1.4; }
.match-headline { margin:0; font-size:13px; color:#47474d; }
.match-score { text-align:right; min-height:86px; }
.match-score>span { display:block; font-size:10px; color:#73737b; }
.match-score strong { display:block; font-size:34px; line-height:1.35; font-weight:650; color:#246647; font-variant-numeric:tabular-nums; }
.match-score strong small { display:inline; font-size:10px; color:#77777d; margin-left:4px; font-weight:450; }
.match-meter { appearance:none; display:block; width:100%; height:6px; margin:18px 0 20px; background:#e9eeeb; border:0; border-radius:3px; overflow:hidden; }
.match-meter::-webkit-meter-bar { height:6px; background:#e9eeeb; border:0; border-radius:3px; }
.match-meter::-webkit-meter-optimum-value { background:#347a5a; }
.match-meter::-moz-meter-bar { background:#347a5a; }
.match-reason { font-size:14px; line-height:1.7; margin:12px 0 18px; color:#494951; }
.match-story { margin:18px 0; border-block:1px solid #e7e7e9; }
.match-story>div { display:grid; grid-template-columns:76px minmax(0,1fr); gap:12px; padding:12px 0; font-size:13px; line-height:1.6; }
.match-story>div+div { border-top:1px solid #f0f0f2; }
.match-story dt { color:#797981; }
.match-story dd { margin:0; color:#34343b; overflow-wrap:anywhere; }
.match-story>div:last-child dd { color:#8c2431; font-weight:550; }
.match-benefits { border-block:1px solid #e7ebe8; margin:16px 0; padding:6px 0; }
.match-benefits>div { display:grid; gap:4px; padding:10px 0; font-size:13px; }
.match-benefits span { color:#787880; }
.match-benefits strong { color:#286647; font-weight:550; }
.match-difference { font-size:13px; }
.match-difference>span { color:#85858b; font-size:11px; }
.match-difference p { margin:5px 0; color:#4c4c54; }
.match-caution { color:#806335; font-size:12px; margin:14px 0; }
.match-explanation { margin:14px 0 18px; font-size:11px; color:#777780; }
.match-explanation summary { cursor:pointer; min-height:28px; }
.match-explanation ul { list-style:none; padding:0; }
.match-explanation li { display:flex; justify-content:space-between; gap:12px; padding:6px 0; border-bottom:1px solid #ededf0; }
.match-explanation b { font-weight:500; color:#4f6556; }
.candidate { border:1px solid #e3e5e5; border-radius:8px; padding:24px; background:#fff; min-width:0; }
.candidate-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:20px; align-items:stretch; }
.candidate-product { border-top:1px solid #ececee; padding:14px 0 0; margin-top:18px; gap:14px; }
.candidate-product>span { min-width:0; overflow-wrap:anywhere; font-size:12px; }
.candidate-product b { color:#286647; font-weight:550; }
.plan-complement { border-left:2px solid #b32635; padding:10px 14px; font-size:13px; color:#5e5e66; background:#faf8f9; }
.match-disclaimer { margin:16px 0; color:#76767e; font-size:12px; }
.chain-context { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:12px 16px; margin-bottom:24px; background:#f6f7f8; border:1px solid #e6e8eb; border-radius:6px; }
.chain-context strong { font-size:13px; }
.chain-context .field { margin:0; width:250px; max-width:100%; }
.chain-context .field>span { font-size:11px; }
.chain-context select { height:40px; font-size:13px; }
.permission-note { font-size:12px; color:#71717b; }
.frame-measurement-guide { margin:0 0 20px; padding:0; border:0; }
.frame-measurement-guide summary { font-size:13px; margin-bottom:10px; }
.frame-map { margin:0; max-width:640px; }
.frame-map img { width:100%; height:auto; display:block; aspect-ratio:720 / 340; }
.frame-marking-note { max-width:640px; margin:10px 0 0; font-size:12px; line-height:1.65; color:#56565e; }
.frame-map figcaption { margin:8px 0 0; font-size:11px; color:#73737b; line-height:1.6; }
.frame-map svg text { font-family:-apple-system,BlinkMacSystemFont,'Microsoft YaHei',sans-serif; }
.frame-map .measure-width { fill:#315e95; }
.frame-map .measure-height { fill:#267559; }
.frame-map .measure-bridge { fill:#a82332; }
.frame-map .measure-diagonal { fill:#805a36; }
.evaluation-record { border:0; border-bottom:1px solid #e7e7e9; border-radius:0; padding:18px 0; }
.member-plan { margin-top:24px; }
.member-plan>.candidate { margin:14px 0; }
.question+.question { margin-top:12px; }
@media(max-width:640px) {
  .candidate { padding:18px; }
  .match-overview { gap:12px; grid-template-columns:minmax(0,1fr) 86px; }
  .match-overview h4 { font-size:18px; }
  .match-score strong { font-size:30px; }
  .match-headline,.match-reason { font-size:13px; }
  .chain-context { padding:12px; }
  .chain-context .field { width:100%; }
  .candidate-product { flex-wrap:wrap; }
  .candidate-product .button { width:100%; }
  .frame-map { width:100%; }
  .experience-question .field,.question .field { margin:0; }
}
