:root{--bg: #ffffff;--card: #f5f5f7;--surface: #ffffff;--text: #1d1d1f;--muted: #6e6e73;--border: #d2d2d7;--hairline: #e3e3e8;--accent: #0071e3;--accent-text: #0066cc;--accent-soft: #e8f2fd;--good: #1d6b3c;--good-soft: #e9f6ee;--warn: #8a5300;--warn-soft: #fdf3dc;--error: #c42b1c;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.47 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent-text)}.app{min-height:100vh;display:flex;flex-direction:column}.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 32px}@media (max-width: 640px){.wrap{padding:0 16px}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:22px;padding-bottom:22px}.brand{font-size:19px;font-weight:600;letter-spacing:-.01em}.topbar-right{display:flex;align-items:center;gap:20px;font-size:14px;color:var(--muted)}.progress{display:flex;align-items:center;gap:12px}.progress-track{width:120px;height:4px;border-radius:2px;background:#e8e8ed;overflow:hidden}.progress-bar{height:4px;background:var(--text);border-radius:2px;transition:width .3s}@media (max-width: 640px){.progress-track{width:64px}}.chips{list-style:none;margin:0;padding:4px 0 2px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap;padding:8px 16px;border-radius:999px;font:inherit;font-size:14px;border:1px solid var(--border);background:var(--surface);color:var(--muted)}.chip.done{color:var(--text);cursor:pointer}.chip.done:hover{border-color:var(--text)}.chip.current{background:var(--text);border-color:var(--text);color:#fff}main.wrap{flex:1;padding-top:64px;padding-bottom:140px}.hero{text-align:center;max-width:860px;margin:0 auto 64px}.eyebrow{margin:0 0 14px;font-size:17px;font-weight:600;color:var(--muted)}h1{margin:0;font-size:72px;line-height:1.05;font-weight:700;letter-spacing:-.035em;outline:none}.intro{margin:20px 0 0;font-size:24px;line-height:1.33;color:var(--muted);letter-spacing:-.01em}@media (max-width: 640px){main.wrap{padding-top:40px}h1{font-size:44px}.intro{font-size:19px}.hero{margin-bottom:40px}}.group{scroll-margin-top:24px;background:var(--card);border-radius:28px;padding:44px;margin:0 0 24px}@media (max-width: 640px){.group{padding:26px 20px;border-radius:22px}}.group h2,.group h3{margin:0 0 10px;font-size:32px;line-height:1.15;font-weight:600;letter-spacing:-.02em}.group h2,.group h3,.group h4,.save-dialog h2{color:var(--accent)}.mental-row .opt.selected.some,.mental-row .opt.selected.severe{background:var(--accent);color:#fff}.mental-rows{align-items:start}.mental-row .choice{justify-content:flex-start}.mental-row .choice .hint{font-size:17px;margin:-8px 0 18px;clear:both}@media (max-width: 640px){.mental-row .opt{flex:1 1 100%}}.row-details{margin-top:18px;padding-top:16px;border-top:1px solid var(--hairline)}.row-details .hint{margin:0 0 10px}.tick-list{display:grid;gap:8px;margin-bottom:16px}.tick{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--card);cursor:pointer;font-size:16px;line-height:1.4}.tick input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent)}.group>.tick-list .tick{background:var(--surface)}.condition-group+.condition-group{margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}.group .condition-heading{margin:28px 0 16px;font-size:24px;letter-spacing:-.01em}.condition-group+.condition-group .condition-heading{margin-top:0}.group h4{margin:32px 0 14px;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.two-up{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:24px;margin-bottom:24px}.two-up>.group{margin:0;padding:40px}.two-up h3{font-size:26px}.white{background:var(--surface);border-radius:20px;padding:26px}.lead{font-size:21px;line-height:1.42;color:var(--muted);margin:0 0 24px}.hint{color:var(--muted);font-size:17px;line-height:1.42;margin:6px 0 24px}.error{color:var(--error);font-weight:500}.row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media (max-width: 640px){.row{grid-template-columns:1fr}}.field{margin:0 0 18px}.field label{display:block;font-size:15px;color:var(--muted);margin-bottom:8px}.field .hint{font-size:14px;margin:-4px 0 8px}input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;font:inherit;font-size:19px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:13px 16px}textarea{border-color:transparent;border-radius:20px;padding:18px 20px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #0071e326}button:focus-visible,.opt:focus-within,.chip:focus-visible{outline:3px solid rgba(0,113,227,.35);outline-offset:2px}.has-error input{border-color:var(--error)}.year-input{max-width:200px}.choice{border:0;padding:0;margin:0 0 26px;min-width:0}.choice legend{padding:0;margin-bottom:14px;font-size:19px;line-height:1.4;font-weight:600}.choice legend:has(.key){font-weight:400}.key{font-weight:600}.choice .hint{margin-top:-6px;font-size:15px}.choice-options{display:flex;flex-wrap:wrap;gap:10px}.opt{position:relative;flex:1 1 90px;display:flex;flex-direction:column;justify-content:center;gap:4px;text-align:center;padding:13px 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.opt input{position:absolute;opacity:0;pointer-events:none}.opt-label{font-size:17px}.opt.selected{border:2px solid var(--accent);padding:12px 15px}.opt.selected .opt-label{font-weight:600}.choice.big legend{font-size:32px;line-height:1.2;font-weight:600;letter-spacing:-.02em}.choice.big legend:has(.key){font-weight:400}.choice.big .hint{font-size:17px;margin:0 0 24px}.choice.big .choice-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}.choice.big .opt{text-align:left;padding:22px 24px;border-radius:18px}.choice.big .opt.selected{padding:21px 23px}.choice.big .opt-label{font-size:21px;font-weight:600}.opt-caption{font-size:15px;color:var(--muted)}@media (max-width: 640px){.choice.big legend{font-size:24px}}.questions{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,480px),1fr));gap:14px}.question,.q-card{background:var(--surface);border-radius:20px;padding:26px;border:2px solid transparent;display:flex}.question .choice,.q-card .choice,.q-card .field{margin:0;display:flex;flex-direction:column;justify-content:space-between;width:100%}.question .choice legend,.q-card .choice legend{float:left;width:100%;margin-bottom:20px}.question .choice-options,.q-card .choice-options{clear:both}.question{flex-direction:column}.question .choice{flex:1}.question.answered-yes{border-color:var(--accent);box-shadow:0 4px 18px #0071e31f}.question .opt.selected.yes{background:var(--accent);color:#fff}.question .opt.selected.no{border-color:var(--text)}.tag{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:10px}.answered-yes .tag{color:var(--accent-text)}.cards{display:grid;gap:12px}.check-card{background:var(--surface);border-radius:20px;border:2px solid transparent}.check-card.checked{border-color:var(--accent)}.check-card>label{display:flex;gap:14px;align-items:center;padding:22px 24px;cursor:pointer;font-size:19px}.check-card input[type=checkbox]{width:22px;height:22px;flex:none;accent-color:var(--accent)}.check-card-detail{padding:0 24px 6px 60px}.pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.pill{position:relative;padding:12px 18px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:16px;cursor:pointer}.pill input{position:absolute;opacity:0;pointer-events:none}.pill.checked{border:2px solid var(--accent);padding:11px 17px;font-weight:600}.pill:focus-within{outline:3px solid rgba(0,113,227,.35);outline-offset:2px}.badge{display:inline-block;font-size:14px;font-weight:600;padding:6px 14px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);margin:0 0 16px}.callout{border-radius:20px;padding:20px 24px;margin:0 0 24px;background:var(--accent-soft);font-size:17px}.callout.good{background:var(--good-soft);color:var(--good)}.callout.warn{background:var(--warn-soft)}button{font:inherit;cursor:pointer}button.primary{border:0;border-radius:999px;background:var(--text);color:#fff;font-size:17px;font-weight:500;padding:14px 34px}button.primary:hover{background:#000}button.primary.blue{background:var(--accent)}button.primary.blue:hover{background:#0062c4}button.primary.green{background:var(--good)}button.primary.green:hover{background:#15532e}button.primary.orange{background:#b45309}button.primary.orange:hover{background:#92400e}mark.hl-yellow,mark.hl-lavender{color:inherit;padding:0 .2em;border-radius:3px}mark.hl-yellow{background:#fff49d}mark.hl-lavender{background:#e3dbff}button.secondary,a.button-link.secondary{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:17px;padding:13px 26px}button.secondary:hover,a.button-link.secondary:hover{border-color:var(--text)}button:disabled{opacity:.55;cursor:wait}button.large{font-size:19px;padding:17px 40px}button.link{background:none;border:0;padding:0;color:var(--accent-text);font-size:inherit}button.link:hover{text-decoration:underline}.reset-link{color:var(--muted)!important}button.danger{background:none;border:2px solid var(--error);color:var(--error);border-radius:999px;padding:12px 22px;font:inherit;font-weight:600;cursor:pointer}button.danger:hover{background:var(--error);color:#fff}.actionbar{position:sticky;bottom:0;z-index:5;background:#fffc;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--hairline)}.actionbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}.actionbar-right{display:flex;align-items:center;gap:18px}.next-label{font-size:14px;color:var(--muted)}@media (max-width: 640px){.next-label{display:none}}.missing{margin:0 0 24px;padding:16px 22px;border-radius:16px;background:#fdecea;color:var(--error);font-weight:500}.summary{display:grid;grid-template-columns:max-content 1fr;margin:0;background:var(--surface);border-radius:20px;overflow:hidden}.summary-row{display:contents}.summary dt,.summary dd{margin:0;padding:16px 24px;border-top:1px solid var(--hairline)}.summary-row:first-child dt,.summary-row:first-child dd{border-top:0}.summary dt{font-weight:600}.summary dd{display:flex;justify-content:space-between;gap:16px}@media (max-width: 640px){.summary{grid-template-columns:1fr}.summary dd{border-top:0;padding-top:0}}.check-intro{margin-bottom:20px}.check-bar{height:6px;border-radius:3px;background:var(--hairline);overflow:hidden;margin-bottom:20px}.check-bar>div{height:100%;border-radius:3px;background:var(--accent);transition:width .4s ease}.check-bar>div.done{background:var(--good)}.check-list{list-style:none;margin:0 0 24px;padding:0;background:var(--surface);border:1px solid var(--hairline);border-radius:16px}.check{display:flex;gap:14px;align-items:flex-start;padding:16px 18px}.check+.check{border-top:1px solid var(--hairline)}.check.flag{background:var(--warn-soft)}.check:first-child{border-radius:16px 16px 0 0}.check:last-child{border-radius:0 0 16px 16px}.check-icon{flex:0 0 24px;margin-top:1px}.check-icon.active{animation:check-spin .9s linear infinite}@keyframes check-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.check-icon.active{animation:none}.check-bar>div{transition:none}}.check-title{display:block;font-size:17px;font-weight:600}.check.pending .check-title{color:var(--muted)}.check-detail,.check-flag{display:block;font-size:15px;line-height:1.45;color:var(--muted);margin-top:2px}.check-flag{color:var(--text);margin-top:8px}.download-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 12px}.next-steps ol{margin:0;padding-left:24px}.next-steps li{margin-bottom:14px;font-size:17px;line-height:1.5}.mail-to{display:grid;margin:8px 0 4px;padding:12px 16px;border-left:3px solid var(--accent);background:var(--surface);border-radius:8px;font-style:normal;font-weight:600}.next-steps ul{margin-top:8px}.picker-label{display:block;font-size:19px;font-weight:600;margin-bottom:4px}.picker-box{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.picker-box.open,.picker-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #0071e326}.picker-box input[type=search]{border:0;border-radius:0;box-shadow:none;padding:16px 18px}.picker-panel{border-top:1px solid var(--hairline)}.picker-panel ul{list-style:none;margin:0;padding:6px;max-height:min(380px,calc(100dvh - 300px));overflow-y:auto;overscroll-behavior:contain}.picker-option{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;cursor:pointer}.picker-option.active{background:var(--card)}.picker-option.selected{font-weight:600}.picker-option.custom{color:var(--accent-text)}.picker-check{flex:none;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--border);display:grid;place-items:center;font-size:14px;line-height:1;color:#fff}.picker-option.selected .picker-check{background:var(--accent);border-color:var(--accent)}.picker-option.custom .picker-check{border-color:var(--accent);color:var(--accent-text);font-size:18px}.picker-footer{display:flex;justify-content:flex-end;padding:10px 12px;border-top:1px solid var(--hairline)}.picked{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}.picked li{display:flex;align-items:center;gap:14px;background:var(--surface);border:2px solid var(--accent);border-radius:18px;padding:10px 10px 10px 20px}.picked-name{flex:1;font-weight:600}.picked-year{display:flex;align-items:center;gap:10px;font-size:16px;color:var(--muted);white-space:nowrap}.picked-year select{width:130px;min-width:0;font-size:16px;padding:10px 14px;text-align:center;text-align-last:center}.picked-year select.empty{color:#aeaeb2}.picked-remove{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:var(--card);color:var(--muted);font-size:22px;line-height:1;cursor:pointer}.picked-remove:hover{color:var(--text)}@media (max-width: 640px){.picked li{flex-wrap:wrap;padding:12px 10px 12px 16px;gap:8px 12px}.picked-name{flex:1 1 calc(100% - 60px)}.picked-year{order:3;flex:1 1 100%;min-width:0}.picked-year select{flex:1 1 0;width:0}}footer{border-top:1px solid var(--hairline);background:var(--card);color:var(--muted);font-size:12px;line-height:1.5}footer p{margin:0;padding-top:20px;padding-bottom:20px}@media (max-width: 640px){.opt{flex:1 1 70px;padding:13px 8px}.opt.selected{padding:12px 7px}.question,.q-card{padding:20px 18px}.question .choice legend,.q-card .choice legend{font-size:18px}.two-up>.group{padding:26px 20px}.group h2,.group h3{font-size:26px}.back-target{display:none}.actionbar-right{gap:8px}.actionbar button.primary{padding:12px 24px}.actionbar button.secondary{padding:11px 14px;font-size:15px}.topbar-right{gap:12px}}.group.invalid,.question.invalid,.q-card.invalid{border:2px solid var(--error)}.group.invalid{padding:42px}@media (max-width: 640px){.group.invalid{padding:24px 18px}}.choice.invalid .opt,.has-error input,.has-error select,.has-error textarea{border-color:var(--error)}.invalid{scroll-margin-top:24px}.tag{display:flex;align-items:center;gap:6px}.question,.q-card{position:relative}.infotip{display:inline-flex}.infotip-button{width:18px;height:18px;padding:0;border-radius:50%;border:1.5px solid currentColor;background:transparent;color:inherit;font:600 11px/1 Georgia,Times New Roman,serif;font-style:italic;display:inline-flex;align-items:center;justify-content:center}.infotip-bubble{display:none;position:absolute;z-index:20;top:52px;left:18px;right:18px;max-width:440px;padding:16px 18px;border-radius:16px;background:var(--text);color:#fff;font-size:14px;font-weight:400;line-height:1.45;box-shadow:0 10px 30px #0000002e}.infotip-bubble strong{display:block;margin-bottom:6px;font-size:15px}.infotip-bubble .source{display:block;margin-top:8px;color:#c7c7cc;font-size:12px}.infotip.open .infotip-bubble,.infotip:focus-within .infotip-bubble{display:block}@media (hover: hover){.infotip:hover .infotip-bubble{display:block}}.saved{color:var(--good);font-size:14px}.saved.not-saved{color:var(--error);font-weight:600}.short-label{display:none}.save-dialog{border:0;border-radius:28px;padding:40px;max-width:520px;width:calc(100% - 32px);color:var(--text);box-shadow:0 30px 80px #00000040}.save-dialog::backdrop{background:#00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.save-dialog h2{margin:0 0 14px;font-size:32px;line-height:1.15;letter-spacing:-.02em}.save-dialog p{font-size:17px;line-height:1.5;margin:0 0 14px}.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}@media (max-width: 640px){.long-label,.progress-label{display:none}.short-label{display:inline}.save-dialog{padding:28px 22px}.dialog-actions:has(.danger){flex-direction:column;align-items:stretch}.save-dialog h2{font-size:26px}}a.brand{color:inherit;text-decoration:none}a.button-link{display:inline-block;margin-top:12px;text-decoration:none}
