:root { color-scheme: light; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#183c35; background:#f4f3ec; }
* { box-sizing:border-box; }
body { margin:0; }
main { max-width:620px; margin:0 auto; padding:48px 24px 28px; }
.eyebrow { font-size:11px; letter-spacing:2px; font-weight:700; color:#51776b; }
h1 { font-size:clamp(34px,8vw,51px); line-height:1.08; letter-spacing:-1.8px; margin:22px 0; font-weight:650; }
p { line-height:1.6; font-size:14px; }
.intro { font-size:17px; max-width:470px; }
.notice { padding:14px 16px; border-left:3px solid #cba36f; color:#5b5546; background:#ece8dd; }
.transport { font-size:12px; color:#695b46; }
label { display:block; font-size:13px; margin:24px 0 9px; font-weight:600; }
select { width:100%; font:inherit; color:inherit; border:1px solid #bac7be; border-radius:8px; padding:13px; background:#fafaf5; }
.checkbox { display:flex; gap:10px; align-items:center; min-height:32px; margin-top:15px; }
input { width:19px; height:19px; accent-color:#245447; }
[hidden] { display:none !important; }
textarea { width:100%; padding:12px; border:1px solid #bac7be; border-radius:8px; background:#fafaf5; color:#183c35; font-size:12px; resize:vertical; }
.actions { display:flex; gap:10px; margin:21px 0; }
button { font:inherit; font-size:14px; font-weight:650; min-height:46px; padding:13px 19px; border:1px solid #245447; border-radius:8px; background:#245447; color:#fff; cursor:pointer; }
.secondary { color:#245447; background:transparent; border-color:#bac7be; }
button:disabled { opacity:.45; cursor:default; }
button:focus-visible, select:focus-visible, input:focus-visible { outline:3px solid #ae7650; outline-offset:3px; }
.results { padding:22px; border:1px solid #cdd4c8; border-radius:10px; background:#fffef8; }
.results span { display:block; font-size:13px; }
.results strong { display:block; font-size:40px; letter-spacing:-1px; margin:10px 0; }
#conclusion { color:#52685f; min-height:45px; }
footer { margin-top:40px; padding-top:18px; border-top:1px solid #d1d7cc; font-size:11px; letter-spacing:1.5px; font-weight:700; }
footer span { display:block; letter-spacing:0; font-weight:400; margin-top:6px; color:#61746b; }
@media(max-width:390px) { main { padding:32px 18px; } .actions { flex-wrap:wrap; } }
