:root{color:#17201c;background:#f4f7f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#ffffffd1,#f4f7f2e0),#f4f7f2;color:#17201c}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:#1f7a5f;font-weight:700}.app-shell{width:100%;min-height:100vh;padding:32px 18px 56px}.container{width:min(100%,560px);margin:0 auto}.progress-shell{width:min(100%,560px);margin:0 auto 18px}.progress-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#60716b;font-size:13px;font-weight:700}progress{width:100%;height:8px;overflow:hidden;border:0;border-radius:999px;background:#dce5df}progress::-webkit-progress-bar{background:#dce5df}progress::-webkit-progress-value{border-radius:999px;background:#1f7a5f}progress::-moz-progress-bar{border-radius:999px;background:#1f7a5f}.step-card,.result-card,.paywall-panel,.status-card{border:1px solid #dce5df;border-radius:8px;background:#fffffff0;box-shadow:0 18px 40px #23342d14}.step-card,.result-card{padding:clamp(24px,5vw,40px)}.paywall-panel{display:grid;grid-template-columns:1fr;gap:18px;margin-top:16px;padding:24px;background:#fffdf7}.status-card{padding:28px;color:#40514b}.eyebrow{margin:0 0 8px;color:#1f7a5f;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;color:#17201c;font-size:clamp(28px,6vw,42px);line-height:1.05;letter-spacing:0}h2{margin:0;color:#17201c;font-size:24px;line-height:1.2;letter-spacing:0}h3{margin:0;color:#17201c;font-size:20px;line-height:1.2;letter-spacing:0}.supporting-copy{margin:12px 0 0;color:#60716b;line-height:1.65}.choice-grid{display:grid;gap:12px;margin:26px 0}.choice-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-button,.primary-button,.secondary-button{min-height:48px;border-radius:8px;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.choice-button{width:100%;border:1px solid #ccd9d2;background:#fbfcfa;color:#17201c;padding:14px 16px;font-weight:700;text-align:left}.choice-button:hover,.choice-button[aria-pressed=true]{border-color:#1f7a5f;background:#e9f5ef}.choice-button[aria-pressed=true]{box-shadow:inset 0 0 0 1px #1f7a5f}.primary-button{width:100%;border:0;background:#17201c;color:#fff;padding:14px 18px;font-weight:800}.primary-button:hover:not(:disabled){transform:translateY(-1px);background:#1f7a5f}.primary-button:disabled{background:#b7c4be;color:#f8fbf9}.secondary-button{width:100%;border:1px solid #ccd9d2;background:#fbfcfa;color:#17201c;padding:13px 16px;font-weight:800}.secondary-button:hover:not(:disabled){border-color:#1f7a5f;background:#e9f5ef}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:26px 0}.field{display:grid;gap:7px}.field label{color:#40514b;font-size:13px;font-weight:800}.field input{width:100%;min-height:48px;border:1px solid #ccd9d2;border-radius:8px;background:#fbfcfa;color:#17201c;padding:12px 13px}.field input:focus{border-color:#1f7a5f;outline:3px solid rgba(31,122,95,.14)}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.metric{min-height:116px;border:1px solid #dce5df;border-radius:8px;background:#fbfcfa;padding:16px}.metric.accent{background:#e9f5ef}.metric span,.metric small{display:block;color:#60716b;font-size:13px;font-weight:700}.metric strong{display:block;margin:8px 0 4px;color:#17201c;font-size:30px;line-height:1.1}.result-disclaimer{margin:18px 0 0;color:#60716b;font-size:13px;line-height:1.55}.result-actions{margin-top:14px}.sync-banner,.error-banner{margin-top:14px;border-radius:8px;padding:12px 14px;font-weight:700}.sync-banner{border:1px solid #ccd9d2;background:#eef6f2;color:#1f5f4b}.error-banner{border:1px solid #f1b7ad;background:#fff1ee;color:#9a3525}@media (max-width: 560px){.app-shell{padding:18px 12px 40px}.choice-grid.two-col,.field-grid,.metric-grid{grid-template-columns:1fr}.step-card,.result-card,.paywall-panel,.status-card{padding:22px}}
