@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Outfit:wght@400;500;600;700&display=swap";.doctor-badge{align-items:center;gap:.75rem;display:flex}.doctor-badge-stack{text-align:center;flex-direction:column;gap:.55rem}.doctor-badge-inline{text-align:left;flex-direction:row}.doctor-avatar{object-fit:cover;background:#d9b0a4;border:2px solid #ffffffd9;border-radius:50%;flex-shrink:0;width:2.5rem;height:2.5rem;display:block;box-shadow:0 8px 20px #50141e38}.doctor-badge-size-sm .doctor-avatar{width:2.5rem;height:2.5rem}.doctor-badge-size-md .doctor-avatar{width:4rem;height:4rem}.doctor-badge-size-lg .doctor-avatar{width:5.5rem;height:5.5rem}.doctor-meta{min-width:0}.doctor-name{color:#1c1416;margin:0;font-family:Fraunces,Georgia,serif;font-size:1rem;font-weight:600;line-height:1.2}.doctor-role{color:#5c4f53;margin:.15rem 0 0;font-size:.8rem}.hero-doctor{margin:1.15rem auto 0}.hero-doctor .doctor-name{color:#8f1524;font-size:1.15rem}.hero-doctor .doctor-avatar{border-width:3px;width:5.5rem;height:5.5rem}:root{--ink:#1c1416;--muted:#5c4f53;--paper:#fff8f6;--line:#1c14161f;--brand:#c41e3a;--brand-deep:#8f1524;--green:#1f8f5a;--amber:#c27803;--red:#b91c1c;--shadow:0 24px 60px #50121c24;--radius:1.25rem;--font-display:"Fraunces", Georgia, serif;--font-body:"Outfit", system-ui, sans-serif;--space-x:clamp(.85rem, 3.5vw, 1.75rem);--space-y:clamp(.65rem, 2.5vw, 1.25rem);--panel-max:36rem;--touch:2.75rem;color:var(--ink);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#1a0f12;font-size:100%}*,:before,:after{box-sizing:border-box}html{height:100%}html,body,#root{min-height:100dvh}body{margin:0;overflow-x:hidden}button,input{font:inherit}.app{min-height:100dvh;color:var(--ink);grid-template-rows:auto 1fr auto;display:grid;position:relative}.atmosphere{z-index:0;background:radial-gradient(80% 55% at 15% 10%,#ff788c59,#0000 55%),radial-gradient(70% 50% at 90% 20%,#ffd2b447,#0000 50%),radial-gradient(60% 45% at 50% 100%,#8c1e3238,#0000 55%),linear-gradient(165deg,#2a1218 0%,#4a1c28 38%,#8b3a48 72%,#d9b0a4 100%);position:fixed;inset:0}.atmosphere:after{content:"";opacity:.07;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");position:absolute;inset:0}.topbar,.stage,.footer{z-index:1;position:relative}.topbar{z-index:2;padding:calc(var(--space-y) + env(safe-area-inset-top,0px)) calc(var(--space-x) + env(safe-area-inset-right,0px)) .55rem calc(var(--space-x) + env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#2a1218b8 0%,#2a121847 70%,#0000 100%);gap:.75rem;display:grid;position:sticky;top:0}.topbar-row{align-items:center;gap:.75rem;display:flex}.brand-mark{font-family:var(--font-display);letter-spacing:.02em;color:#fff4f0eb;align-items:center;gap:.4rem;margin:0;font-size:clamp(1rem,2.4vw,1.15rem);font-weight:600;display:inline-flex}.brand-heart{font-size:1.05em;line-height:1}.progress{height:3px;width:min(100%, var(--panel-max));background:#fff4f02e;border-radius:999px;margin-inline:auto;overflow:hidden}.progress span{border-radius:inherit;background:linear-gradient(90deg,#ffb4be,#fff0eb);height:100%;transition:width .35s;display:block}.stage{width:100%;padding:var(--space-y) calc(var(--space-x) + env(safe-area-inset-right,0px)) calc(1.25rem + env(safe-area-inset-bottom,0px)) calc(var(--space-x) + env(safe-area-inset-left,0px));justify-content:center;align-items:flex-start;display:flex}@media (height>=720px){.stage{align-items:center;padding-block:clamp(.75rem,3vh,2rem)}}.panel{width:min(var(--panel-max), 100%);background:color-mix(in srgb, var(--paper) 92%, white);border-radius:clamp(1rem, 3vw, calc(var(--radius) + .35rem));box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff8c;padding:clamp(1.15rem,3.5vw,2.25rem)}.hero{text-align:center}.hero-heart{place-items:center;margin:0 auto .85rem;display:grid}.hero-heart-svg{filter:drop-shadow(0 12px 24px #b41e3259);width:clamp(4rem,18vw,6.5rem);height:auto;animation:2.8s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.hero-heart-svg{animation:none}}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--brand-deep);margin:0 0 .55rem;font-size:clamp(.7rem,2.2vw,.78rem);font-weight:600}.brand-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--brand-deep);overflow-wrap:anywhere;margin:0;font-size:clamp(2.25rem,8vw,3.75rem);font-weight:600;line-height:.95}.hero-headline{font-family:var(--font-display);color:var(--ink);text-wrap:balance;margin:.85rem 0 0;font-size:clamp(1.15rem,3.6vw,1.65rem);font-weight:500;line-height:1.25}.lede,.panel-copy,.help,.recommendations,.disclaimer,.notes,.score-line{color:var(--muted);line-height:1.55}.lede{margin:1rem 0 0;font-size:clamp(.95rem,2.5vw,1.05rem)}.notes{text-align:left;margin:1.1rem 0 0;padding-left:1.15rem;font-size:clamp(.9rem,2.4vw,.98rem)}.notes li+li{margin-top:.35rem}.panel-title{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;overflow-wrap:break-word;margin:0;font-size:clamp(1.25rem,4.2vw,1.95rem);font-weight:600;line-height:1.2}.panel-copy{margin:.75rem 0 0;font-size:clamp(.92rem,2.3vw,1rem)}.help{margin:.65rem 0 0;font-size:clamp(.86rem,2.2vw,.95rem)}.identity-form{gap:.85rem;margin-top:1.25rem;display:grid}.identity-form label{gap:.35rem;min-width:0;display:grid}.identity-form span{color:var(--ink);font-size:.85rem;font-weight:600}.identity-form input{width:100%;min-height:var(--touch);border:1px solid var(--line);color:var(--ink);background:#ffffffb8;border-radius:.85rem;outline:none;padding:.85rem .95rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.identity-form input:focus{border-color:color-mix(in srgb, var(--brand) 55%, white);box-shadow:0 0 0 3px #c41e3a1f}.identity-form input.input-invalid{border-color:#b91c1c}.identity-form input.input-invalid:focus{border-color:#b91c1c;box-shadow:0 0 0 3px #b91c1c26}.field-hint,.field-error{margin:.15rem 0 0;font-size:.8rem;line-height:1.35}.field-hint{color:var(--muted);font-weight:400}.field-error{color:#b91c1c;font-weight:500}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.basic-fieldset{border:none;min-width:0;margin:1.35rem 0 0;padding:0}.basic-fieldset legend{color:var(--ink);padding:0;font-size:.95rem;font-weight:650}.basic-fieldset .options{margin-top:.65rem}.options-compact{grid-template-columns:1fr 1fr}.state-picker{gap:.35rem;display:grid;position:relative}.field-label{color:var(--ink);font-size:.95rem;font-weight:650}.state-picker-trigger{appearance:none;width:100%;min-height:var(--touch);border:1px solid var(--line);color:var(--muted);text-align:left;cursor:pointer;touch-action:manipulation;background:#ffffffb8;border-radius:.85rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem .95rem;font-size:1rem;transition:border-color .2s,box-shadow .2s;display:flex}.state-picker-trigger.has-value{color:var(--ink)}.state-picker.is-open .state-picker-trigger,.state-picker-trigger:focus{border-color:color-mix(in srgb, var(--brand) 55%, white);outline:none;box-shadow:0 0 0 3px #c41e3a1f}.state-picker-chevron{opacity:.55;border-bottom:2px solid;border-right:2px solid;flex-shrink:0;width:.55rem;height:.55rem;transition:transform .2s;transform:rotate(45deg)}.state-picker.is-open .state-picker-chevron{margin-top:.25rem;transform:rotate(225deg)}.state-picker-dropdown{z-index:5;border:1px solid var(--line);background:#fffcfafa;border-radius:.95rem;gap:.45rem;padding:.55rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0;right:0;box-shadow:0 16px 36px #50121c24}.state-picker-dropdown input{border:1px solid var(--line);width:100%;min-height:2.5rem;color:var(--ink);background:#ffffffe6;border-radius:.75rem;outline:none;padding:.65rem .85rem;font-size:1rem}.state-picker-dropdown input:focus{border-color:color-mix(in srgb, var(--brand) 55%, white);box-shadow:0 0 0 3px #c41e3a1f}.state-picker-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;gap:.2rem;max-height:min(12rem,36vh);display:grid;overflow-y:auto}.state-option{appearance:none;text-align:left;width:100%;min-height:2.4rem;color:var(--ink);cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:.65rem;padding:.55rem .7rem;font-size:.95rem;line-height:1.35}.state-option.is-active{border-color:var(--brand);background:#ffecef;font-weight:600}.state-picker-empty{color:var(--muted);text-align:center;margin:0;padding:.75rem;font-size:.9rem}.question-basic .actions{background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--paper) 88%, white) 28%);padding-top:.75rem;position:sticky;bottom:0}.options{gap:.65rem;margin-top:1.25rem;display:grid}.option{width:100%;min-height:var(--touch);text-align:left;border:1px solid var(--line);color:var(--ink);cursor:pointer;touch-action:manipulation;background:#ffffff8c;border-radius:1rem;grid-template-columns:auto 1fr;align-items:start;gap:.75rem;padding:.9rem 1rem;font-size:clamp(.92rem,2.4vw,1rem);line-height:1.4;transition:border-color .2s,background .2s,transform .2s;display:grid}@media (hover:hover) and (pointer:fine){.option:hover{border-color:color-mix(in srgb, var(--brand) 40%, var(--line));transform:translateY(-1px)}.btn:not(:disabled):hover{transform:translateY(-1px)}}.option.is-active{border-color:var(--brand);background:#ffecef}.option-dot{border:2px solid color-mix(in srgb, var(--ink) 25%, transparent);background:0 0;border-radius:50%;flex-shrink:0;width:1.05rem;height:1.05rem;margin-top:.15rem}.option.is-active .option-dot{border-color:var(--brand);background:radial-gradient(circle at center, var(--brand) 0 45%, transparent 48%)}.actions{flex-wrap:wrap;justify-content:space-between;gap:.65rem;margin-top:1.5rem;display:flex}.btn{appearance:none;min-height:var(--touch);cursor:pointer;touch-action:manipulation;border:none;border-radius:999px;padding:.85rem 1.35rem;font-weight:600;transition:transform .18s,opacity .18s,background .18s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg, #e23b52, var(--brand-deep));color:#fff8f6;box-shadow:0 10px 24px #8f152447}.privacy-panel{text-align:left}.privacy-list{color:var(--muted);margin:1rem 0 0;padding-left:1.15rem;font-size:clamp(.92rem,2.4vw,1.02rem);line-height:1.55}.privacy-list li+li{margin-top:.5rem}.privacy-list strong{color:var(--ink)}.privacy-callout{border-left:3px solid var(--brand);color:var(--ink);background:#ffecef;border-radius:.95rem;margin:1.1rem 0 0;padding:.85rem .95rem;font-size:.92rem;line-height:1.5}.privacy-callout strong{color:var(--brand-deep)}.privacy-panel .actions{margin-top:1.5rem}.hero .btn.primary{width:min(100%,18rem);margin:1.5rem auto 0;display:block}.link-quiet{width:fit-content;color:var(--muted);font:inherit;text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;margin:1rem auto 0;padding:0;font-size:.92rem;text-decoration:underline;display:block}.link-quiet:hover,.link-quiet:focus-visible{color:var(--brand-deep)}.btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.result{text-align:center}.result-heart{filter:drop-shadow(0 14px 28px #50141e40);width:clamp(4.5rem,16vw,6rem);height:auto;margin-bottom:.5rem}.band{letter-spacing:.16em;border-radius:999px;padding:.35rem .75rem;display:inline-block}.band-mild{color:var(--green);background:#e0f7ea}.band-moderate{color:#9a5b00;background:#ffecc6}.band-high,.urgent-label{color:var(--red);background:#fdd}.score-line{margin:.85rem 0 0;font-size:clamp(.92rem,2.4vw,1rem)}.score-line strong{color:var(--ink);font-size:1.15rem}.recommendations{text-align:left;color:var(--ink);margin:.85rem 0 0;padding-left:1.2rem;font-size:clamp(.92rem,2.4vw,1.02rem)}.recommendations li+li{margin-top:.4rem}.cad-modifier{text-align:left;margin:1.15rem 0 0}.cad-modifier-label{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;margin:0;padding:.3rem .7rem;font-size:clamp(.72rem,2vw,.8rem);font-weight:600;display:inline-block}.cad-modifier-copy{color:var(--ink);margin:.65rem 0 0;font-size:clamp(.9rem,2.3vw,.98rem);line-height:1.55}.disclaimer{margin:1.1rem 0 0;font-size:clamp(.82rem,2.2vw,.9rem)}.calculating{justify-items:center;gap:.35rem;display:grid}.loader{border:3px solid color-mix(in srgb, var(--brand) 18%, white);border-top-color:var(--brand);border-radius:50%;width:2.75rem;height:2.75rem;margin:.35rem auto .85rem;animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loader{border-top-color:color-mix(in srgb, var(--brand) 18%, white);border-color:var(--brand);animation:none}}.result .btn.primary,.urgent .btn.primary{width:min(100%,16rem);margin-top:1.4rem}.footer{padding:.65rem calc(var(--space-x) + env(safe-area-inset-right,0px)) calc(.9rem + env(safe-area-inset-bottom,0px)) calc(var(--space-x) + env(safe-area-inset-left,0px));text-align:center;justify-items:center;gap:.55rem;display:grid}.footer-doctor .doctor-name,.footer-doctor .doctor-role{color:#fff4f0e0}.footer-doctor .doctor-role{color:#fff4f09e}.footer p{letter-spacing:.04em;color:#fff4f0b8;margin:0;font-size:clamp(.7rem,2vw,.78rem)}@media (width<=640px){.actions{background:linear-gradient(180deg, #fff8f600 0%, color-mix(in srgb, var(--paper) 92%, white) 28%);flex-direction:column-reverse;margin-inline:-.15rem;padding-top:.85rem;position:sticky;bottom:0}.actions .btn,.hero .btn.primary,.result .btn.primary,.urgent .btn.primary{width:100%}}@media (width>=768px){:root{--panel-max:42rem}.identity-form{grid-template-columns:1fr 1fr}.identity-form label:first-child,.identity-form .actions{grid-column:1/-1}.options{gap:.75rem}}@media (width>=1024px){:root{--panel-max:46rem}.topbar{padding-inline:max(2rem, calc((100vw - var(--panel-max)) / 2))}.stage{padding-inline:max(2rem, calc((100vw - var(--panel-max)) / 2 - .5rem))}.panel{padding:2.35rem 2.5rem}.option{padding:1rem 1.15rem}}@media (height<=520px) and (orientation:landscape){.stage{align-items:flex-start;padding-block:.5rem 1rem}.hero-heart-svg{width:3.25rem}.brand-title{font-size:2rem}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;position:static}}.export-app{color:#1c1416;min-height:100dvh;font-family:Outfit,system-ui,sans-serif;position:relative}.export-atmosphere{z-index:0;background:radial-gradient(70% 50% at 20% 10%,#ff788c47,#0000 55%),linear-gradient(165deg,#2a1218 0%,#4a1c28 45%,#c48a7a 100%);position:fixed;inset:0}.export-stage{z-index:1;place-items:center;min-height:100dvh;padding:1.25rem;display:grid;position:relative}.export-stage.is-wide{place-items:start center;padding-block:1.5rem 2rem}.export-panel{background:#fff9f7;border:1px solid #ffffff8c;border-radius:1.35rem;width:min(28rem,100%);padding:1.6rem 1.5rem;box-shadow:0 24px 60px #50121c24}.export-panel.is-wide{width:min(1100px,100%)}.export-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#8f1524;margin:0 0 .45rem;font-size:.75rem;font-weight:600}.export-title{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.85rem;line-height:1.15}.export-doctor{margin-top:.9rem}.export-copy,.export-note,.export-meta{color:#5c4f53;margin:.7rem 0 0;line-height:1.5}.export-form,.export-actions{gap:.75rem;margin-top:1.25rem;display:grid}.export-dashboard .export-actions{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin-top:0}.export-form label{gap:.35rem;display:grid}.export-form span{font-size:.85rem;font-weight:600}.export-form input{min-height:2.75rem;font:inherit;background:#ffffffb8;border:1px solid #1c14161f;border-radius:.85rem;padding:.85rem .95rem;font-size:1rem}.export-btn{appearance:none;min-height:2.75rem;font:inherit;cursor:pointer;color:#fff8f6;background:linear-gradient(135deg,#e23b52,#8f1524);border:none;border-radius:999px;padding:.85rem 1.25rem;font-weight:600}.export-btn:disabled{opacity:.45;cursor:not-allowed}.export-btn.ghost{color:#1c1416;background:0 0;border:1px solid #1c14161f}.export-error{color:#b91c1c;margin:0;font-size:.92rem}.export-dashboard{gap:1rem;margin-top:1.25rem;display:grid}.export-stats{flex-wrap:wrap;gap:.75rem;display:flex}.export-stat{color:#5c4f53;background:#ffffff8c;border:1px solid #1c141614;border-radius:1rem;gap:.2rem;min-width:10rem;margin:0;padding:.85rem 1rem;font-size:.88rem;display:grid}.export-stat strong{color:#1c1416;font-family:Fraunces,Georgia,serif;font-size:1.75rem;font-weight:600;line-height:1}.export-mobile-only{color:#5c4f53;background:#ffffff8c;border:1px dashed #1c141629;border-radius:1rem;margin-top:.25rem;padding:1rem 1.1rem;line-height:1.5}.export-mobile-title{color:#1c1416;margin:0 0 .4rem;font-weight:700}.export-table-wrap{background:#ffffffa6;border:1px solid #1c14161a;border-radius:1rem;max-height:min(60vh,560px);overflow:auto}.export-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.86rem}.export-table th,.export-table td{text-align:left;border-bottom:1px solid #1c141614;padding:.7rem .8rem}.export-table th{letter-spacing:.06em;text-transform:uppercase;color:#8f1524;z-index:1;background:#fff1ee;font-size:.72rem;position:sticky;top:0}.export-table tbody tr:hover{background:#ffe4e873}.pill{letter-spacing:.04em;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.pill-mild{color:#1f8f5a;background:#d8f5e5}.pill-moderate{color:#9a5b00;background:#ffe7b8}.pill-high,.pill-urgent_symptoms{color:#b91c1c;background:#ffd4d4}.export-pager{color:#5c4f53;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;font-size:.92rem;display:flex}.export-pager .export-btn{min-width:7.5rem}html{scroll-behavior:smooth}body{min-width:320px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
