@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/open-sans-400-BCdjR_up.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/open-sans-500-Cd2zuB1H.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/open-sans-600-8xi7cHyI.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/open-sans-700-BgrFBrua.ttf) format("truetype")}:root{--bg: #fafaf8;--surface: #ffffff;--surface-muted: #f2f4ee;--text: #1a1a1a;--muted: #5f6a62;--border: rgba(26, 26, 26, .14);--border-strong: rgba(26, 26, 26, .24);--primary: #1a6847;--primary-strong: #14543a;--success: #2d7d46;--danger: #c0392b;--warning: #f39c12;--focus: rgba(26, 104, 71, .18);--shadow: 0 4px 16px rgba(20, 32, 26, .04)}:root[data-theme=dark]{--bg: #121212;--surface: #1e1e1e;--surface-muted: #232323;--text: #e8e8e8;--muted: #adb6af;--border: rgba(232, 232, 232, .12);--border-strong: rgba(232, 232, 232, .24);--primary: #4d9b78;--primary-strong: #6ab38f;--success: #56b974;--danger: #dd6658;--warning: #f0b65c;--focus: rgba(106, 179, 143, .22);--shadow: 0 4px 18px rgba(0, 0, 0, .18)}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;background:var(--bg);font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}button,input,textarea{font:inherit}button,input,textarea{min-height:48px}button{cursor:pointer}a{color:inherit}#root{min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{width:min(100%,760px);min-height:100vh;margin:0 auto;padding:max(.85rem,env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));display:grid;gap:1rem}.app-main,.screen,.vindicate-stack,.diagnosis-stack,.result-stack{display:grid;gap:1rem}.screen{animation:screen-slide .22s ease}.app-topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:.75rem;min-height:48px;padding:.15rem 0;background:var(--bg)}.app-topbar__title{min-width:0;text-align:center;font-weight:600;letter-spacing:-.015em}.theme-toggle-floating,.icon-button,.primary-button,.ghost-button,.example-button,.fallback-button,.pretest-option,.impact-entry,.category-row,.prompt-form__submit{border:.5px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);transition:border-color .16s ease,transform .16s ease,background .16s ease}.theme-toggle-floating,.icon-button{width:48px;display:inline-flex;align-items:center;justify-content:center}.theme-toggle-floating{justify-self:end}.theme-toggle-floating:hover,.icon-button:hover,.primary-button:hover,.ghost-button:hover,.example-button:hover,.fallback-button:hover,.pretest-option:hover,.impact-entry:hover,.category-row:hover{transform:translateY(-1px);border-color:var(--border-strong)}.theme-toggle-floating:focus-visible,.icon-button:focus-visible,.primary-button:focus-visible,.ghost-button:focus-visible,.example-button:focus-visible,.fallback-button:focus-visible,.pretest-option:focus-visible,.impact-entry:focus-visible,.category-row:focus-visible,.prompt-form__submit:focus-visible,.prompt-form__field textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.primary-button{width:100%;background:var(--primary);color:#f7f8f4;border-color:transparent;font-weight:500}.ghost-button{width:100%;background:transparent}.card{border:.5px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);padding:1rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.section-heading h2,.section-heading h3,.input-screen__hero h1,.vindicate-category__header h3{margin:0;color:var(--text);letter-spacing:-.02em}.section-heading p,.input-screen__hero p,.muted-copy,.category-row__copy p,.impact-entry__note,.source-link span,.message-card p,.empty-state p,.interpretation-copy,.note-card p{margin:.35rem 0 0;color:var(--muted);line-height:1.5}.eyebrow{display:inline-block;margin-bottom:.35rem;color:var(--primary);font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.badge{display:inline-flex;align-items:center;gap:.3rem;min-height:28px;padding:.2rem .55rem;border-radius:999px;font-size:.8125rem;font-weight:500;border:.5px solid transparent}.badge--success{background:#2d7d4624;color:var(--success)}.badge--warning{background:#f39c1229;color:#9a5f00}.badge--danger{background:#c0392b24;color:var(--danger)}.badge--up{background:#1a68471f;color:var(--primary)}.badge--down{background:#45681a1f;color:#6d8622}.badge--outline{background:transparent;border-color:var(--border);color:var(--muted)}.badge--subtle{background:var(--surface-muted);color:var(--muted)}.input-screen{min-height:calc(100vh - 6.5rem);display:grid;align-content:center;gap:1rem}.input-screen__hero{display:grid;gap:.45rem;text-align:center}.input-screen__hero h1{font-size:clamp(1.9rem,8vw,2.4rem);font-weight:600;line-height:1.02}.input-screen__hero p{max-width:34rem;margin-inline:auto;font-size:1rem}.prompt-form{display:grid}.prompt-form__field{display:grid;grid-template-columns:1fr 48px;gap:.75rem;align-items:end;padding:.85rem;border:.5px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.prompt-form__field textarea{width:100%;min-height:112px;resize:vertical;border:0;outline:none;background:transparent;color:var(--text);line-height:1.5;font-size:1rem}.prompt-form__submit{background:var(--primary);color:#f7f8f4;border-color:transparent}.prompt-form__submit:disabled{opacity:.45;cursor:not-allowed;transform:none}.example-grid{display:grid;gap:.75rem}.example-button,.fallback-button,.pretest-option,.impact-entry,.category-row{width:100%;text-align:left;padding:.9rem 1rem}.warning-banner{border:.5px solid rgba(243,156,18,.35);border-radius:18px;background:#f39c121f;padding:1rem}.warning-banner p{margin:.35rem 0 0;color:var(--text)}.fallback-list{display:grid;gap:.6rem;margin-top:.85rem}.input-disclaimer,.app-footer{font-size:.8125rem;color:var(--muted);line-height:1.5}.app-footer{padding-bottom:env(safe-area-inset-bottom)}.vindicate-category{border-left:4px solid var(--category-accent);opacity:0;animation:category-fade .24s ease forwards}.vindicate-category__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem}.vindicate-category__header h3{display:flex;align-items:center;gap:.55rem;font-size:1.02rem;font-weight:600}.vindicate-category__header h3 span{display:inline-flex;width:1.6rem;height:1.6rem;border-radius:999px;background:color-mix(in srgb,var(--category-accent) 12%,transparent);align-items:center;justify-content:center;font-weight:600}.category-list,.history-list,.source-list,.note-stack,.button-stack,.action-stack{display:grid;gap:.75rem}.category-empty{margin:0;color:var(--muted)}.category-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.category-row__copy{min-width:0}.category-row__title,.impact-entry__badges{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.category-row__title{margin-bottom:.18rem;font-weight:600;letter-spacing:-.01em}.category-row__probability,.impact-entry__posttest,.probability-block strong,.metric-strip strong{font-size:1.2rem;font-weight:600;letter-spacing:-.025em;white-space:nowrap}.probability-block span,.impact-entry__meta,.metric-strip span,.history-item span{color:var(--muted);font-size:.9375rem}.probability-block,.history-item,.impact-entry__meta,.metric-strip{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.probability-block{margin-bottom:.85rem}.pretest-selector{margin-top:1rem}.pretest-selector__heading h3{margin:0;font-weight:600;letter-spacing:-.015em}.pretest-selector__heading p{margin:.35rem 0 .85rem;color:var(--muted)}.pretest-selector__list,.impact-list{display:grid;gap:.75rem}.pretest-option{display:flex;justify-content:space-between;align-items:center}.pretest-option span{color:var(--text);font-weight:500}.pretest-option--active{border-color:var(--primary);background:#1a684714}.history-item{padding:.85rem 1rem;border-radius:16px;background:var(--surface-muted)}.impact-entry{display:grid;gap:.65rem;border-left:4px solid transparent}.impact-entry--rule-out{border-left-color:var(--success)}.impact-entry--rule-in{border-left-color:var(--danger)}.impact-entry__header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.impact-entry__meta{color:var(--muted);font-size:.9rem}.threshold-bar{display:grid;gap:.4rem;padding-top:1.55rem;padding-inline:.5rem}.threshold-bar__zones{position:relative;display:flex;height:48px;overflow:visible;border-radius:999px;border:.5px solid var(--border);background:var(--surface-muted)}.threshold-bar--compact .threshold-bar__zones{height:36px}.threshold-bar__zone{position:relative;min-width:0;display:flex;align-items:flex-end;justify-content:center;padding:.3rem}.threshold-bar__zone-label{display:inline-flex;flex-direction:column;align-items:center;gap:.05rem;color:#fffffff5;font-size:.72rem;text-align:center}.threshold-bar__zone-label small{font-size:.72rem}.threshold-bar__boundary{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed rgba(255,255,255,.75)}.threshold-bar__boundary span{position:absolute;top:-1.35rem;left:.15rem;font-size:.78rem;color:var(--muted)}.threshold-bar__arrow{position:absolute;top:calc(50% - 2px);height:4px;border-radius:999px;background:#fffffff5}.threshold-bar__arrow:after{content:"";position:absolute;right:-.05rem;top:-.3rem;border-top:.5rem solid transparent;border-bottom:.5rem solid transparent;border-left:.7rem solid rgba(255,255,255,.96)}.threshold-bar__marker{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;transform:translate(-50%,-50%);background:var(--surface);border:3px solid var(--primary);box-shadow:0 0 0 2px #ffffffbf}.threshold-bar__marker--secondary{width:12px;height:12px;border-width:2px;border-color:#ffffffe6;background:#ffffff47}.metric-strip{margin-bottom:.85rem;flex-wrap:wrap}.metric-strip__item{display:grid;gap:.15rem;min-width:0}.nomogram-card{overflow:hidden}.nomogram{width:100%;height:auto;display:block}.nomogram__axis{stroke:var(--border-strong);stroke-width:1.4}.nomogram__axis-label,.nomogram__tick-label,.nomogram__value,.nomogram__lr-text{fill:var(--text);font-size:13px}.nomogram__tick{stroke:var(--border-strong);stroke-width:1}.nomogram__line{fill:none;stroke:var(--line-color, var(--primary));stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:780;stroke-dashoffset:780;animation:draw-line .8s ease forwards}.nomogram__marker{stroke:var(--surface);stroke-width:2.5}.nomogram__marker--pre{fill:#2980b9}.nomogram__marker--lr{fill:var(--warning)}.nomogram__tap-target{fill:transparent}.nomogram__lr-pill{fill:var(--surface-muted);stroke:var(--border)}.interpretation-card,.source-card,.message-card,.impact-card,.history-card,.diagnosis-card,.summary-card{overflow:hidden}.source-link{display:grid;gap:.2rem;padding:.85rem 1rem;border-radius:16px;border:.5px solid var(--border);background:var(--surface-muted);text-decoration:none}.source-link--static{cursor:default}.skeleton{border-radius:14px;background:linear-gradient(90deg,#ffffff14,#ffffff3d,#ffffff14),var(--surface-muted);background-size:180% 100%;animation:pulse 1.4s ease infinite}.skeleton-card{display:grid;gap:.7rem}.skeleton--title{width:40%;height:24px}.skeleton--row{width:100%;height:64px}.skeleton--text-block{width:100%;min-height:96px}@media (min-width: 560px){.example-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes screen-slide{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes category-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes draw-line{to{stroke-dashoffset:0}}
