*{box-sizing:border-box}
body{margin:0;background:#f3f5ee;color:#192f2d;font:19px/1.5 system-ui,sans-serif}
header,footer{max-width:900px;margin:auto;padding:18px 24px}
header{display:flex;gap:16px;align-items:center;justify-content:flex-end}
a{color:#174a46}
main{max-width:760px;margin:12px auto;padding:30px;background:white;border-radius:22px;box-shadow:0 12px 45px #174a4612;min-height:400px}
h1{font-size:clamp(29px,5vw,45px);line-height:1.14;margin:15px 0 24px}
h2{font-size:25px;line-height:1.25}
p{margin:14px 0}
button,.button{border:2px solid #174a46;border-radius:12px;background:#174a46;color:white;padding:15px 20px;min-height:52px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
button:disabled{opacity:.45;cursor:not-allowed}
.small{font-size:14px;min-height:48px;padding:8px 12px;background:white;color:#174a46}
.hero{display:block;width:100%;aspect-ratio:8/3;object-fit:cover;border-radius:16px;margin:0 0 22px;box-shadow:0 10px 28px #174a4620}
.options{display:grid;gap:10px;margin:22px 0}
label.option{border:2px solid #cad5cd;border-radius:12px;padding:14px;display:flex;gap:12px;align-items:center;min-height:58px;cursor:pointer}
label:has(input:checked){border-color:#174a46;background:#e6f0e6}
input[type=radio],input[type=checkbox]{width:22px;height:22px;flex-shrink:0;accent-color:#174a46}
input[type=email],input[type=password]{display:block;width:100%;padding:14px;font:inherit;border:2px solid #617873;border-radius:8px;margin:8px 0 20px}
nav{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}
.eyebrow{font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#46625d}
progress{width:100%;height:10px;accent-color:#174a46}
.card{border-left:5px solid #52725e;background:#f3f5ee;padding:15px 20px;margin:18px 0}
.card.action{border-color:#ce7735;background:#fbf4e9}
.note{font-size:15px;color:#46625d}
footer{font-size:14px}
.result-summary{display:grid;grid-template-columns:170px 1fr;gap:26px;align-items:center;padding:24px;background:#edf3ec;border-radius:18px;margin:18px 0}
.score{--score:0;width:160px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;position:relative;background:conic-gradient(#174a46 calc(var(--score)*1%),#d8e2da 0)}
.score:before{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}
.score>*{position:relative;z-index:1}
.score strong{font-size:42px;line-height:1;color:#174a46}
.score small{font-size:22px}
.score span{font-size:13px;max-width:90px;margin:5px auto 0;line-height:1.15}
.result-details{display:grid;gap:15px;margin:26px 0}
.result-row>div:first-child{display:flex;justify-content:space-between;gap:18px;font-size:16px}
.result-row strong{white-space:nowrap}
.bar{height:10px;background:#dce5de;border-radius:10px;overflow:hidden;margin-top:6px}
.bar i{display:block;height:100%;background:#52725e;border-radius:inherit}
*:focus-visible{outline:4px solid #ce7735;outline-offset:4px}
table{border-collapse:collapse;width:100%;font-size:16px}
th,td{padding:8px;border-bottom:1px solid #cad5cd;text-align:left}
#idle{position:fixed;inset:0;background:#102b28ed;display:grid;place-items:center;color:white;padding:30px;z-index:20}
#idle>div{max-width:500px}
@media(max-width:600px){
  main{margin:0 10px;padding:22px 18px}
  header{padding:12px;gap:8px}
  body{font-size:18px}
  .hero{aspect-ratio:4/3;object-position:58% center}
  .result-summary{grid-template-columns:1fr;text-align:center}
  .score{margin:auto}
  .result-row>div:first-child{text-align:left}
}
@media(prefers-reduced-motion:no-preference){button:hover{filter:brightness(1.1)}}
