:root{--teal:#0d9488;--teal-dark:#0f766e;--ink:#1f2937;--muted:#6b7280;--line:#e5e7eb;--bg:#f9fafb;--card:#ffffff;--good:#047857;--warn:#b45309;--callout:#ecfeff;--rec:#f0fdf4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}.wrap{max-width:720px;margin:0 auto;padding:32px 20px 80px}.title{font-size:1.6rem;margin:0 0 8px}.intro{color:var(--muted);margin:0 0 24px}.progress{height:6px;background:var(--line);border-radius:999px;overflow:hidden;margin-bottom:8px}.progress>div{height:100%;background:var(--teal);transition:width .2s ease}.stepcount{font-size:.8rem;color:var(--muted);margin-bottom:24px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px}.section-title{font-size:1.2rem}.para,.section-title{margin:0 0 12px}.callout{background:var(--callout);border-left:3px solid var(--teal);margin:0 0 12px}.callout,.recommended{padding:10px 14px;border-radius:6px}.recommended{background:var(--rec);border-left:3px solid var(--good);margin:0 0 16px;font-weight:500}hr{border:none;border-top:1px solid var(--line);margin:20px 0}.field{margin:0 0 18px}.label{font-weight:600;margin-bottom:8px}.help,.label{display:block}.help{font-weight:400;color:var(--muted);font-size:.85rem;margin-top:2px}input[type=text],select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;color:inherit;background:#fff}textarea{min-height:80px;resize:vertical}.option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;cursor:pointer}.option:hover{border-color:var(--teal)}.option input{margin-top:3px}.option .pros{color:var(--good)}.option .cons,.option .pros{font-size:.82rem;display:block}.option .cons{color:var(--warn)}.nav{display:flex;justify-content:space-between;margin-top:24px}button{font:inherit;padding:10px 18px;border-radius:8px;border:1px solid var(--teal);background:var(--teal);color:#fff;cursor:pointer}button.secondary{background:#fff;color:var(--teal)}button:disabled{opacity:.5;cursor:not-allowed}.done{text-align:center;padding:48px 20px}.error{color:#b91c1c}