:root{--navy: #0a1a3c;--navy-soft: #1c2f57;--red: #c8102e;--red-dark: #a20c25;--bg: #f4f6fa;--card: #ffffff;--text: #101828;--muted: #4b5563;--line: #dfe4ee;--focus: #1554d1;--radius: 14px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.app{display:flex;flex-direction:column;min-height:100vh}.masthead{background:var(--navy);padding:16px;text-align:center}.wordmark{color:#fff;font-size:24px;font-weight:800;letter-spacing:.08em}.wordmark-dot{color:var(--red)}.main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:20px 16px 40px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 18px}.intro-title{margin:0 0 12px;font-size:30px;line-height:1.15;letter-spacing:-.02em;color:var(--navy)}.intro-copy{margin:0 0 24px;color:var(--muted)}.intro-meta{margin:12px 0 0;text-align:center;font-size:15px;color:var(--muted)}.intro-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:20px 0 0;padding:0;list-style:none}.intro-list li{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600;color:var(--navy-soft)}.progress{margin-bottom:22px}.progress-text{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--muted)}.progress-track,.category-track{height:8px;background:#e8ecf4;border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:var(--red);border-radius:999px;transition:width .25s ease}.section-tag{margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}.question-title{margin:0 0 8px;font-size:23px;line-height:1.25;color:var(--navy)}.question-help{margin:0 0 16px;font-size:15px;color:var(--muted)}.options{display:flex;flex-direction:column;gap:10px;margin:18px 0 0;padding:0;border:0}.option{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 14px;border:2px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.option:hover{border-color:var(--navy-soft)}.option input{position:absolute;opacity:0;width:1px;height:1px}.option-mark{flex:0 0 auto;width:22px;height:22px;border:2px solid #9aa4b8;border-radius:50%;transition:border-color .15s ease,box-shadow .15s ease}.option-label{font-weight:500}.option-selected{border-color:var(--red);background:#fdf3f5}.option-selected .option-mark{border-color:var(--red);box-shadow:inset 0 0 0 5px var(--red)}.option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.number-field{margin-top:18px}.unit-switch{display:flex;gap:8px;margin-bottom:16px}.unit-option{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 8px;border:2px solid var(--line);border-radius:12px;font-size:16px;font-weight:700;color:var(--navy);text-align:center;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.unit-option:hover{border-color:var(--navy-soft)}.unit-option input{position:absolute;opacity:0;width:1px;height:1px}.unit-option-selected{border-color:var(--navy);background:var(--navy);color:#fff}.unit-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.imperial-row{display:flex;gap:10px}.imperial-field{flex:1;min-width:0}.number-label{display:block;margin-bottom:6px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.number-input{width:100%;min-height:56px;padding:12px 14px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font:inherit;font-size:20px;font-weight:600}.number-input:focus{border-color:var(--navy-soft)}.field-hint{margin:8px 0 0;font-size:14px;color:var(--muted)}.error{margin:14px 0 0;padding:10px 12px;border-left:4px solid var(--red);background:#fdf3f5;border-radius:6px;font-size:15px;font-weight:600;color:#8c0a20}.actions{display:flex;gap:10px;margin-top:24px}.actions-stacked{flex-direction:column}.button{min-height:54px;padding:14px 20px;border:2px solid transparent;border-radius:12px;font:inherit;font-size:17px;font-weight:700;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.button-primary{flex:1;width:100%;background:var(--red);color:#fff}.button-primary:hover{background:var(--red-dark)}.button-quiet{flex:0 0 34%;background:#fff;border-color:var(--line);color:var(--navy)}.button-quiet:hover{border-color:var(--navy-soft)}.button-disabled{width:100%;background:#eef1f7;color:#565f73;cursor:not-allowed}.results-title{margin:0 0 4px;text-align:center;font-size:22px;color:var(--navy)}.ring{position:relative;width:200px;max-width:100%;margin:8px auto 0}.ring svg{width:100%;height:auto;transform:rotate(-90deg)}.ring-track,.ring-value{fill:none;stroke-width:14}.ring-track{stroke:#e8ecf4}.ring-value{stroke:var(--red);stroke-linecap:round;transition:stroke-dashoffset .5s ease}.ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-score{font-size:58px;font-weight:800;line-height:1;color:var(--navy)}.ring-total{font-size:17px;font-weight:700;color:var(--muted)}.results-label{margin:12px 0 22px;text-align:center;font-size:21px;font-weight:800;color:var(--red)}.fitness-age{display:flex;align-items:center;gap:14px;padding:16px;background:var(--navy);border-radius:12px;color:#fff}.fitness-age-value{font-size:40px;font-weight:800;line-height:1}.fitness-age-copy{font-size:15px}.results-subtitle{margin:26px 0 12px;font-size:17px;color:var(--navy)}.categories{margin:0;padding:0;list-style:none}.category+.category{margin-top:14px}.category-head{display:flex;justify-content:space-between;margin-bottom:6px;font-size:15px;font-weight:600}.category-score{color:var(--navy);font-weight:800}.category-bar{height:100%;background:var(--navy-soft);border-radius:999px;transition:width .4s ease}.highlights{margin-top:22px;padding:14px 16px;background:#f7f9fc;border:1px solid var(--line);border-radius:12px;font-size:15px}.highlights p{margin:0}.highlights p+p{margin-top:10px}.share-nudge{margin:10px 0 4px;text-align:center;font-size:15px;color:var(--muted)}.button-wide{flex:1 1 auto;width:100%}.share-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-start;justify-content:center;padding:16px;background:#060e20b8;overflow-y:auto}.share-panel{width:100%;max-width:460px;margin:auto;padding:20px 16px;background:var(--card);border-radius:var(--radius)}.share-heading{margin:0 0 14px;font-size:20px;color:var(--navy)}.share-preview{display:block;width:100%;max-width:280px;height:auto;margin:0 auto 16px;border:1px solid var(--line);border-radius:10px}.share-note{margin:0 0 14px;font-size:15px;color:var(--muted);text-align:center}.share-actions{display:flex;flex-direction:column;gap:10px}.share-status{margin:14px 0 0;padding:10px 12px;background:#f1f5fb;border-left:4px solid var(--navy-soft);border-radius:6px;font-size:15px;font-weight:600;color:var(--navy);text-align:center}.share-text{margin:16px 0;padding:12px 14px;background:#f7f9fc;border:1px solid var(--line);border-radius:10px;font-size:14px;color:var(--muted);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.disclaimer{margin:20px 0 0;font-size:13px;line-height:1.55;color:var(--muted)}.feedback{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.feedback-heading{margin:0 0 14px;font-size:17px;color:var(--navy)}.feedback-group{margin:0 0 16px;padding:0;border:0}.feedback-legend{padding:0;margin-bottom:10px;font-size:15px;font-weight:600;color:var(--text)}.feedback-optional{font-weight:400;font-size:13px;color:var(--muted)}.feedback-options{display:flex;flex-wrap:wrap;gap:8px}.feedback-option{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;border:2px solid var(--line);border-radius:12px;font-size:15px;font-weight:600;color:var(--navy);text-align:center;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.feedback-option:hover{border-color:var(--navy-soft)}.feedback-option input{position:absolute;opacity:0;width:1px;height:1px}.feedback-option-selected{border-color:var(--navy);background:var(--navy);color:#fff}.feedback-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.feedback-thanks{margin:0;padding:12px 14px;background:#f1f5fb;border-left:4px solid var(--navy-soft);border-radius:6px;font-size:15px;font-weight:600;color:var(--navy)}.privacy-body{font-size:15px;color:var(--muted)}.privacy-body p{margin:0 0 12px}.footer-link{padding:6px 4px;border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--navy);text-decoration:underline;cursor:pointer}.footer-link:hover{color:var(--red)}.footer{padding:18px 16px 26px;text-align:center;font-size:13px;color:var(--muted)}.footer p{margin:0}@media(min-width:600px){.card{padding:34px 32px}.main{padding:32px 20px 56px}.intro-title{font-size:38px}.question-title{font-size:26px}.wordmark{font-size:28px}}
