@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app.theme-light{--bg:#f5f3fb;--surface:#fff;--surface-secondary:#f8f6fd;--text-primary:#292442;--text-secondary:#625d78;--text-muted:#77718f;--heading-color:#30264f;--hero-heading-color:#30264f;--hero-accent-color:#765bd2;--eyebrow-color:#7054c8;--border-color:#e8e3f2;--input-bg:#fff;--input-text:#292442;color:var(--text-primary);background:var(--bg)}.app.theme-dark{--bg:#171827;--surface:#222438;--surface-secondary:#292c43;--text-primary:#f4f1ff;--text-secondary:#c1bdd7;--text-muted:#a5a0bf;--heading-color:#f4f1ff;--hero-heading-color:#f4f1ff;--hero-accent-color:#ad96ff;--eyebrow-color:#ad96ff;--border-color:#393952;--input-bg:#292c43;--input-text:#f4f1ff;color:var(--text-primary);background:var(--bg)}.app .welcome h1{color:var(--hero-heading-color)}.app .welcome h1 span{color:var(--hero-accent-color)}.app .panel-heading h2,.app .section-heading h2,.app .vessel-info-panel h3{color:var(--heading-color)}.app .eyebrow{color:var(--eyebrow-color)}.app .panel-description,.app .welcome-copy-block p{color:var(--text-secondary)}.app .explanation-panel .panel-heading h2{color:var(--heading-color)}.app .explanation-panel .panel-description,.app .shap-feature-meta,.app .shap-feature-meta span,.app .shap-caveat{color:var(--text-secondary)}.app .shap-feature-heading strong,.app .explanation-target-label,.app .explanation-target-label span{color:var(--text-primary)}.app input,.app select{color:var(--input-text);background-color:var(--input-bg);border-color:var(--border-color)}.app .explanation-empty{color:var(--text-secondary)}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app{--bg:#f6f5fb;--surface:#fff;--surface-soft:#faf9fe;--text:#292b43;--muted:#85869b;--border:#eeedf5;--accent:#8471d7;--accent-hover:#725fc5;--shadow:0 8px 30px #3d30640e;--input-bg:#fbfaff;min-height:100vh;color:var(--text);background:var(--bg);transition:background .25s,color .25s}.app.theme-dark{--bg:#171927;--surface:#222538;--surface-soft:#292c41;--text:#f0effb;--muted:#a4a6bd;--border:#353850;--accent:#b5a6ff;--accent-hover:#c6bbff;--shadow:0 8px 30px #00000026;--input-bg:#1c1f30}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:14px max(5%,50% - 720px);display:flex}.brand{color:var(--text);align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#c7b6ff,#8e7ad9);border-radius:15px;place-items:center;width:43px;height:43px;font-size:23px;display:grid;box-shadow:0 5px 12px #a493df40}.brand strong,.brand small{display:block}.brand strong{letter-spacing:-.7px;font-family:Manrope,sans-serif;font-size:19px;font-weight:800}.brand small{color:var(--muted);margin-top:2px;font-size:11px}.topbar-actions{align-items:center;gap:14px;display:flex}.status-chip,.theme-toggle{border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:10px 13px;font-size:12px;font-weight:600;display:inline-flex}.status-chip{color:var(--muted);background:var(--surface-soft);border:1px solid var(--border)}.status-dot{background:#80cbb0;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #80cbb01c}.theme-toggle{color:var(--text);background:var(--surface);border:1px solid var(--border);transition:all .2s}.theme-toggle:hover{border-color:var(--accent);transform:translateY(-1px)}.theme-toggle span{font-size:17px}.dashboard{width:min(1440px,90%);margin:0 auto}.welcome{color:#373052;background:linear-gradient(115deg,#e8e2ff 0%,#f3e9fa 52%,#e2f5f0 100%);border-radius:28px;justify-content:space-between;align-items:center;min-height:250px;margin:30px 0;padding:38px 48px;display:flex;position:relative;overflow:hidden}.theme-dark .welcome{color:#f5f0ff;background:linear-gradient(115deg,#34304f,#382e49 55%,#24403e)}.welcome-copy-block{z-index:2;max-width:600px;position:relative}.eyebrow{color:var(--accent);letter-spacing:1.7px;margin:0 0 9px;font-size:10px;font-weight:800;display:block}.welcome .eyebrow{color:#8270c5}.theme-dark .welcome .eyebrow{color:#c5b9ff}.welcome h1{letter-spacing:-2px;margin:0;font-family:Manrope,sans-serif;font-size:clamp(31px,4vw,47px);font-weight:800;line-height:1.15}.welcome h1 span{color:#8772d2}.theme-dark .welcome h1 span{color:#c5b9ff}.welcome-copy-block>p:last-child{color:#716d8b;max-width:480px;margin:16px 0 0;font-size:14px;line-height:1.8}.theme-dark .welcome-copy-block>p:last-child{color:#d1cce5}.welcome-art{flex:0 0 235px;width:235px;height:180px;position:relative}.art-orbit{border:1px solid #a797e980;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-24deg)}.orbit-one{width:200px;height:115px}.orbit-two{width:155px;height:180px;transform:translate(-50%,-50%)rotate(35deg)}.art-heart{color:#d78fae;text-shadow:0 12px 30px #c9828850;font-size:100px;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-8deg)}.art-bubble{z-index:1;color:#51466f;background:#ffffffd9;border-radius:14px;place-items:center;width:42px;height:42px;font-size:11px;font-weight:800;display:grid;position:absolute;box-shadow:0 8px 20px #6f609020}.bubble-one{top:15px;right:4px}.bubble-two{background:#d8f3e9;bottom:9px;left:5px}.section-block{margin:34px 0}.section-heading,.panel-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.section-heading{margin-bottom:17px}.section-heading h2,.panel-heading h2{letter-spacing:-.7px;margin:0;font-family:Manrope,sans-serif;font-size:20px;font-weight:800}.demo-note{color:#9c7640;background:#fff0d9;border-radius:10px;padding:8px 12px;font-size:11px;font-weight:700}.theme-dark .demo-note{color:#f0d1a2;background:#4b3d2d}.risk-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;display:grid}.risk-card,.panel{background:var(--surface);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow);border-radius:21px}.risk-card{padding:21px;transition:transform .2s,box-shadow .2s}.risk-card:hover{transform:translateY(-3px);box-shadow:0 13px 35px #3d306417}.risk-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.risk-icon{color:#49415f;border-radius:13px;place-items:center;min-width:39px;height:39px;padding:0 7px;font-size:11px;font-weight:800;display:grid}.theme-dark .risk-icon{color:#29263a}.risk-pill{border-radius:8px;padding:6px 9px;font-size:10px;font-weight:700}.risk-pill.high{color:#b85c72;background:#ffe6eb}.risk-pill.moderate{color:#9a793e;background:#fff0d7}.risk-pill.low,.risk-pill.lower{color:#438a75;background:#ddf6ed}.theme-dark .risk-pill.high{color:#ffb8c7;background:#51313e}.theme-dark .risk-pill.moderate{color:#f0d39d;background:#4c412e}.theme-dark .risk-pill.low,.theme-dark .risk-pill.lower{color:#a9ebd5;background:#26453d}.risk-card-label{color:var(--muted);margin:19px 0 5px;font-size:12px;font-weight:600}.risk-value{letter-spacing:-1.5px;font-family:Manrope,sans-serif;font-size:35px;font-weight:800}.risk-value span{color:var(--muted);margin-left:2px;font-size:17px;font-weight:600}.risk-track,.bar-track{background:var(--surface-soft);border-radius:100px;overflow:hidden}.risk-track{height:7px;margin:13px 0 12px}.risk-fill{border-radius:inherit;height:100%;transition:width .45s}.risk-description{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.analytics-grid{grid-template-columns:1.15fr .85fr;gap:20px;margin:32px 0;display:grid}.panel{padding:25px}.panel-symbol{color:#8571d1;background:#eee9ff;border-radius:14px;place-items:center;width:40px;height:40px;font-size:23px;display:grid}.theme-dark .panel-symbol{color:#c1b3ff;background:#39334f}.panel-description{color:var(--muted);margin:11px 0 24px;font-size:12px;line-height:1.7}.bar-chart{padding-top:7px}.bar-row{grid-template-columns:43px minmax(0,1fr) 43px;align-items:center;gap:13px;margin:21px 0;display:grid}.bar-label{color:var(--muted);font-size:11px;font-weight:800}.bar-track{background-image:linear-gradient(to right, var(--border) 1px, transparent 1px);background-size:25% 100%;height:15px}.bar-fill{border-radius:100px;min-width:3px;height:100%;transition:width .45s}.bar-value{text-align:right;font-size:12px;font-weight:800}.chart-scale{color:var(--muted);justify-content:space-between;margin:6px 53px 0 56px;font-size:9px;display:flex}.donut-layout{justify-content:center;align-items:center;gap:28px;min-height:220px;display:flex}.donut{border-radius:50%;flex:0 0 180px;place-items:center;width:180px;height:180px;display:grid;position:relative}.donut:before{content:"";background:var(--surface);border-radius:50%;width:118px;height:118px;position:absolute}.donut-center{z-index:1;flex-direction:column;align-items:center;gap:3px;display:flex;position:relative}.donut-center strong{letter-spacing:-1px;font-family:Manrope,sans-serif;font-size:28px}.donut-center span{color:var(--muted);font-size:10px}.donut-legend{gap:16px;width:100%;max-width:180px;display:grid}.legend-row{grid-template-columns:9px 1fr auto;align-items:center;gap:8px;font-size:11px;display:grid}.legend-dot{border-radius:50%;width:8px;height:8px}.legend-row>span:nth-child(2){color:var(--muted)}.legend-row strong{font-size:11px}.content-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:20px;margin:32px 0;display:grid}.live-tag{color:#468b77;letter-spacing:.7px;background:#dcf6ed;border-radius:9px;padding:8px 10px;font-size:9px;font-weight:800}.heart-canvas{border:1px solid var(--border);background:#f5f2fb;border-radius:17px;overflow:hidden}.theme-dark .heart-canvas{background:#20243a}.vessel-selector{flex-wrap:wrap;align-items:center;gap:8px;margin-top:19px;display:flex}.vessel-selector>span{color:var(--muted);margin-right:5px;font-size:11px;font-weight:600}.vessel-button{border:1px solid var(--border);background:var(--surface-soft);color:var(--text);border-radius:10px;padding:9px 14px;font-size:11px;font-weight:800;transition:all .2s}.vessel-button:hover{border-color:var(--accent)}.vessel-button.active{color:#6755ad;background:#e9e2ff;border-color:#b7a5f5}.theme-dark .vessel-button.active{color:#e0d7ff;background:#42385f;border-color:#7161a5}.selection-note{color:var(--muted);margin:15px 0 0;font-size:11px;line-height:1.7}.selection-note strong{color:var(--text)}.patient-form{gap:18px;display:grid}.patient-form label{gap:8px;display:grid}.patient-form label>span{color:var(--text);font-size:11px;font-weight:700}.patient-form input,.patient-form select{border:1px solid var(--border);background:var(--input-bg);width:100%;min-width:0;min-height:46px;color:var(--text);border-radius:12px;outline:none;padding:12px 13px;font-size:12px;transition:border-color .2s,box-shadow .2s}.patient-form input:focus,.patient-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #a99aec25}.input-wrap{position:relative}.input-wrap input{padding-right:74px}.input-wrap>span{color:var(--muted);pointer-events:none;font-size:10px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.submit-button{color:#fff;background:#8a77d8;border:0;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;min-height:49px;padding:13px 17px;font-size:12px;font-weight:800;transition:background .2s,transform .2s;display:flex;box-shadow:0 7px 15px #8a77d82e}.submit-button:hover:not(:disabled){background:#7561c4;transform:translateY(-1px)}.submit-button:disabled{cursor:wait;opacity:.7}.submit-button>span{font-size:19px}.error-message{color:#a53e55;overflow-wrap:anywhere;white-space:pre-wrap;background:#fff0f2;border:1px solid #f0bac4;border-radius:11px;padding:12px;font-size:11px;line-height:1.6}.privacy-note{background:var(--surface-soft);color:var(--muted);border-radius:12px;gap:10px;margin-top:20px;padding:13px;display:flex}.privacy-note>span{color:var(--accent);font-size:17px}.privacy-note p{margin:0;font-size:10px;line-height:1.7}.footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:23px 0 30px;font-size:10px;display:flex}.footer-brand{color:var(--text);font-weight:800}@media (width>=1500px){.dashboard{width:min(1440px,88%)}}@media (width<=1050px){.risk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid,.content-grid{grid-template-columns:1fr}.donut-layout{justify-content:flex-start}}@media (width<=650px){.topbar{padding:13px 5%}.brand small,.status-chip{display:none}.topbar-actions{gap:8px}.theme-toggle{padding:9px 10px;font-size:11px}.dashboard{width:92%}.welcome{border-radius:22px;min-height:0;margin:19px 0 27px;padding:28px 24px}.welcome h1{letter-spacing:-1.5px;font-size:34px}.welcome-copy-block>p:last-child{font-size:12px}.welcome-art{display:none}.section-heading{align-items:flex-start}.section-heading h2,.panel-heading h2{font-size:18px}.demo-note{text-align:center;max-width:135px;font-size:9px;line-height:1.5}.risk-grid{gap:10px}.risk-card{border-radius:17px;padding:14px}.risk-icon{border-radius:11px;min-width:34px;height:34px}.risk-pill{padding:5px 6px;font-size:9px}.risk-value{font-size:30px}.risk-card-label{margin-top:14px;font-size:11px}.risk-description{font-size:9px}.panel{border-radius:18px;padding:19px}.donut-layout{flex-direction:column;gap:23px}.donut-legend{max-width:none}.legend-row{font-size:12px}.footer{flex-direction:column;align-items:flex-start;gap:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.vessel-info-panel{border:1px solid var(--border-color,#343950);background:var(--panel-bg,#8080a014);border-radius:16px;margin-top:20px;padding:18px}.vessel-info-panel h3{margin:0 0 14px;font-size:1.05rem;line-height:1.5}.vessel-reference-image{object-fit:contain;background:#fff;border-radius:12px;width:100%;max-width:520px;max-height:360px;margin:0 auto;display:block}.vessel-info-panel p{opacity:.85;margin:14px 0 0;font-size:.92rem;line-height:1.6}.clinical-fieldset{border:1px solid var(--border,#8278a038);border-radius:16px;min-width:0;margin:0 0 16px;padding:16px}.clinical-fieldset legend{text-transform:capitalize;color:var(--text,#29263b);padding:0 8px;font-size:.92rem;font-weight:800}.clinical-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.clinical-field{min-width:0;color:var(--text,#29263b);flex-direction:column;gap:7px;font-size:.9rem;display:flex}.clinical-field>span{font-weight:650;line-height:1.35}.clinical-field input,.clinical-field select,.explanation-target-label select{box-sizing:border-box;width:100%;min-width:0}.field-range{opacity:.68;font-size:.76rem}.explanation-panel{grid-column:1/-1}.explanation-empty{border:1px dashed var(--border,#8278a047);color:var(--muted,#777287);border-radius:14px;padding:18px;line-height:1.5}.explanation-target-label{align-items:center;gap:12px;max-width:420px;margin:18px 0;font-weight:700;display:flex}.explanation-target-label select{border:1px solid var(--border,#8278a047);background:var(--surface,#fff);color:inherit;border-radius:10px;flex:1;padding:10px 12px}.shap-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;display:grid}.shap-feature{border:1px solid var(--border,#8278a02e);background:var(--surface-soft,#a096be0f);border-radius:13px;min-width:0;padding:13px 14px}.shap-feature-heading,.shap-feature-meta{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.shap-feature-heading strong{overflow-wrap:anywhere;font-size:.9rem}.shap-contribution{font-variant-numeric:tabular-nums;flex:none;font-size:.86rem;font-weight:800}.shap-contribution.positive{color:#d14b5b}.shap-contribution.negative{color:#16866f}.shap-bar-track{background:#8c82a029;border-radius:999px;height:8px;margin:10px 0 8px;overflow:hidden}.shap-bar{border-radius:inherit;min-width:2px;height:100%}.shap-bar.positive{background:#e56b7d}.shap-bar.negative{background:#39a991}.shap-feature-meta{color:var(--muted,#777287);flex-wrap:wrap;font-size:.76rem}.shap-feature-meta strong{color:var(--text,#29263b)}.shap-caveat{background:#91d8c329;border-radius:12px;margin-top:18px;padding:12px 14px;font-size:.84rem;line-height:1.5}.selected-vessel-risk{margin-top:10px}@media (width<=720px){.clinical-fields-grid,.shap-list{grid-template-columns:minmax(0,1fr)}.explanation-target-label{flex-direction:column;align-items:stretch}.clinical-fieldset{padding:12px}}
