@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/inter-regular.ttf')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/inter-semibold.ttf')}
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/libre-baskerville.ttf')}
:root{--paper:#f4f6f8;--white:#fff;--ink:#172d38;--muted:#637580;--line:#dce4e9;--accent:#215b60;--canvas:#14202a;--radius:24px;font-family:Inter,Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #68959e;outline-offset:4px}[hidden]{display:none!important}
.site-header{padding:24px 40px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--white)}.brand{text-decoration:none;color:var(--ink);font-size:24px;font-weight:600;letter-spacing:-1px;display:flex;align-items:center;gap:24px}.brand-detail{border-left:1px solid var(--line);padding-left:24px;font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted)}.badge{display:inline-block;background:#e9eff2;color:#425963;border-radius:24px;padding:8px 16px;font-size:12px;white-space:nowrap}.badge.subtle{background:var(--paper);color:var(--muted)}
main{max-width:1480px;margin:auto;padding:40px;display:grid;grid-template-columns:336px minmax(0,1fr);gap:32px}aside,.workspace{display:flex;flex-direction:column;gap:24px;min-width:0}.intro{padding:8px 0 0}h1{font:400 32px/1.3 'Libre Baskerville',Georgia,serif;letter-spacing:-1px;margin:0 0 16px}.intro p{color:var(--muted);font-size:14px;line-height:1.7;max-width:32ch;margin:0}h2{font-size:16px;line-height:1.5;font-weight:600;margin:0}h3{font-size:14px;font-weight:600;margin:0 0 8px}p{line-height:1.6;margin:0}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.patient-card h2{margin-bottom:24px}.patient-card label,.patient-card legend{font-size:12px;font-weight:600}.patient-card :is(#birthday,#scan-date){display:block;width:100%;margin-top:8px;padding:16px;border:1px solid #c4d1d8;border-radius:24px;background:#fff;min-height:48px;min-width:0;color:var(--ink)}.hint{font-size:12px;color:var(--muted);line-height:1.6;margin-top:8px}.patient-card fieldset{border:0;padding:0;margin:24px 0}.patient-card legend{padding:0;margin-bottom:8px}.sex{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sex label{position:relative;border:1px solid var(--line);padding:16px;border-radius:24px;display:flex;justify-content:center;gap:8px;cursor:pointer;color:var(--muted)}.sex label:has(:checked){border-color:var(--accent);background:#edf5f5;color:var(--accent)}input[type=radio]{margin:0;accent-color:var(--accent)}.upload-section{border-top:1px solid var(--line);padding-top:24px;margin-bottom:24px}.upload-button{width:100%;background:var(--paper);border:1px dashed #b8c8d0;color:var(--ink);margin-top:8px;padding:16px 24px;border-radius:24px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:600;min-height:56px}.upload-button:hover{background:#e9eff2}.file-format{font-size:12px;color:var(--muted);margin-top:8px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.visually-hidden:focus-visible+button{outline:3px solid #68959e;outline-offset:4px}svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.5;flex-shrink:0}#analyze{width:100%;min-height:56px;border:0;border-radius:24px;background:var(--accent);color:#fff;font-weight:600;padding:16px 24px}#analyze:not(:disabled):hover{background:#17474b}.privacy-note{font-size:12px;color:var(--muted);text-align:center;margin-top:16px}.model-status{padding:0 8px 24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.section-caption{font-size:12px;color:var(--muted);margin-bottom:8px}.model-status .section-heading{margin-bottom:8px}.model-status p{font-size:12px}.status-label{font-size:12px;color:var(--accent)}progress{width:100%;height:4px;border:0;border-radius:24px;overflow:hidden;margin-top:16px;accent-color:var(--accent)}progress::-webkit-progress-bar{background:#dde7ea}progress::-webkit-progress-value{background:var(--accent)}
.viewer{padding:24px;background:var(--canvas);color:#e8f0f5;border-radius:24px;display:flex;flex-direction:column;min-height:496px}.viewer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.viewer-subtitle{display:block;font-size:12px;color:#9babba;margin-top:8px}.ghost{background:transparent;border:1px solid #3f515e;color:#c3d2dc;border-radius:24px;padding:8px 16px;font-size:12px;min-height:40px}.ghost:hover{background:#243641}#drop-zone{border:1px dashed #3b4d58;border-radius:24px;min-height:336px;display:flex;align-items:center;justify-content:center;flex:1;padding:16px;overflow:hidden}#drop-zone.dragging{border-color:#b4d8db;background:#1c333f}#drop-zone:has(#preview:not([hidden])){border-style:solid;border-color:#263d49}#placeholder{text-align:center;padding:24px;color:#9babba}#placeholder svg{width:64px;height:64px;stroke-width:1;opacity:.8;margin-bottom:16px}#placeholder h2{color:#e8f0f5;margin-bottom:8px}#placeholder p{font-size:12px;line-height:1.8}#preview{display:block;max-width:100%;max-height:560px;object-fit:contain}.viewer-caption{margin-top:16px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:#9babba}.viewer-caption p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-caption span{text-align:right}
.secondary{background:var(--white);color:var(--ink);border:1px solid #bdcdd5;border-radius:24px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:8px 16px;font-weight:600;font-size:12px;white-space:nowrap}.secondary:not(:disabled):hover{background:#edf4f5}.assessment-message{font-size:14px;color:var(--muted);max-width:68ch;line-height:1.7}.assessment-message.error{color:#a33b3b}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0;padding:24px 0;border-block:1px solid var(--line)}.result-grid p{font-size:12px;color:var(--muted);margin-bottom:8px}.result-grid strong{font-size:24px;font-weight:600;letter-spacing:-.8px;line-height:1.4;display:block}.primary-result strong{color:var(--accent)}.result-details{display:flex;flex-direction:column;gap:16px;margin:0 0 24px}.result-details>div{display:grid;grid-template-columns:1fr 1fr;gap:24px;font-size:12px}.result-details dt{color:var(--muted)}.result-details dd{margin:0;overflow-wrap:anywhere}.result-details dd span{display:block;color:var(--muted);margin-top:8px}.explanation{background:var(--paper);border-radius:24px;padding:24px}.explanation p{font-size:12px;color:var(--muted);line-height:1.8}.report-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.report-section label{font-size:12px;font-weight:600}.report-section textarea{display:block;width:100%;resize:vertical;min-height:240px;border:1px solid var(--line);border-radius:24px;padding:24px;color:var(--ink);background:#fbfcfd;font-size:12px;line-height:1.8;margin-top:16px}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.reference-grid figure{margin:0;min-width:0}.reference-grid .reference-image{background:var(--canvas);border-radius:24px;padding:8px;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;overflow:hidden}.reference-image img{width:100%;height:100%;object-fit:contain}.reference-grid figcaption{font-size:12px;line-height:1.5;margin-top:16px}.reference-grid strong{display:block;font-size:14px;margin-top:8px}.reference-grid .reference-unavailable{font-size:12px;color:#b7c8d0;text-align:center;padding:16px}.reference-note{margin-top:16px;color:var(--muted);font-size:12px;line-height:1.7}footer{padding:0 8px 24px;color:var(--muted);font-size:12px;line-height:1.7;max-width:85ch}
@media(max-width:1000px){main{padding:24px;gap:24px;grid-template-columns:304px minmax(0,1fr)}.site-header{padding:24px}.brand-detail{display:none}.viewer-caption{flex-direction:column;gap:8px}.viewer-caption span{text-align:left}.comparison .section-heading{align-items:flex-start;flex-direction:column}.result-grid{grid-template-columns:1fr}}
@media(max-width:760px){main{grid-template-columns:1fr;padding:24px;gap:24px}.site-header{flex-wrap:wrap;gap:16px}.brand{font-size:24px}.intro h1 br{display:none}.intro p{max-width:44ch}.viewer{min-height:400px}#drop-zone{min-height:256px}.model-status{padding-bottom:0}.reference-grid{gap:8px}.reference-grid .reference-image{border-radius:24px}.reference-grid figcaption{font-size:12px}.reference-grid strong{font-size:12px}.result-details>div{grid-template-columns:1fr;gap:8px}.assessment .section-heading{gap:8px}.secondary{padding:8px 16px}.reference-unavailable{overflow-wrap:anywhere}}

.reference-grid button.reference-image{width:100%;border:0;cursor:zoom-in}.reference-grid button.reference-image:hover{background:#233b49}dialog{width:min(800px,calc(100% - 48px));max-height:calc(100dvh - 48px);padding:24px;border:1px solid var(--line);border-radius:24px;color:var(--ink)}dialog::backdrop{background:rgba(13,28,38,.72)}#reference-large{display:block;max-width:100%;height:min(600px,60dvh);margin:auto;object-fit:contain;border-radius:24px;background:var(--canvas)}
@media(max-width:760px){.reference-grid{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;padding-bottom:16px}.reference-grid figure{flex:0 0 80%;flex-basis:80%;scroll-snap-align:start}.reference-grid strong{font-size:14px}.reference-grid .reference-image{aspect-ratio:3/4}}

.report-section summary{font-size:12px;font-weight:600;cursor:pointer;line-height:24px}.report-section summary:focus-visible{outline:3px solid #68959e;outline-offset:4px}

.influence-panel{margin-top:24px;border-top:1px solid var(--line);padding-top:24px}.influence-panel summary{font-size:12px;font-weight:600;cursor:pointer;line-height:24px}.influence-panel summary:focus-visible{outline:3px solid #68959e;outline-offset:4px}#influence-canvas{display:block;width:100%;max-width:480px;height:auto;margin:24px auto 16px;border-radius:24px}.influence-legend{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--muted)}.influence-scale{width:80px;height:8px;border-radius:24px;background:linear-gradient(to right,#192633,#f5b74b)}

/* Refined upload-first workspace. */
:root{--paper:#f7f9fa;--ink:#203b43;--muted:#657b82;--line:#e2e9ec;--accent:#226a68;--canvas:#182a31}
.site-header{max-width:1440px;margin:auto;background:transparent;border-bottom:0;padding:24px 48px}.brand{font-size:24px}.brand-detail{font-size:12px}.badge{background:#edf2f3}
main{max-width:1344px;padding:24px 48px 48px;grid-template-columns:304px minmax(0,1fr);gap:32px;align-items:start}
.intro{grid-column:1/-1;padding:16px 0 8px}.intro h1{font-size:32px;line-height:1.4;margin-bottom:8px}.intro p{max-width:none;font-size:14px}
aside{gap:16px}.workspace{gap:24px}.card{border-color:var(--line);box-shadow:0 8px 32px rgba(30,58,69,.025)}
.patient-card h2{margin-bottom:24px}.patient-card :is(#birthday,#scan-date){background:#f8fafb;border-color:var(--line);font-size:16px;padding:16px;min-height:56px}.patient-card label,.patient-card legend{font-size:14px}.patient-card fieldset{margin:24px 0 32px}.sex{gap:8px}.sex label{background:#f8fafb;padding:16px 8px;font-size:14px}.sex label:has(:checked){background:#e6f3f0;border-color:#7eaaa4}.sex label:has(:focus-visible){outline:3px solid #68959e;outline-offset:4px}#analyze{box-shadow:0 8px 16px rgba(34,106,104,.12)}#analyze:disabled{box-shadow:none;background:#dbe6e7;color:#657b82;opacity:1}.privacy-note{line-height:1.7}
.model-status{padding:16px 8px}.model-status summary{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;cursor:pointer;list-style:none}.model-status summary::-webkit-details-marker{display:none}.model-status summary>span:first-child::after{content:' +';color:var(--muted)}.model-status[open] summary>span:first-child::after{content:' −'}.model-status[open] summary{margin-bottom:16px}.status-label{background:#e8f0ef;padding:8px 16px;border-radius:24px}.model-status summary:focus-visible{outline:3px solid #68959e;outline-offset:4px}
.viewer{min-height:424px;padding:24px;background:var(--canvas)}.viewer-header{margin-bottom:16px}.viewer-subtitle{margin-top:4px}.image-actions{display:flex;gap:8px}.ghost{min-height:40px}.viewer-caption{font-size:12px;gap:8px}#drop-zone{min-height:288px;padding:24px;border-color:#4a6067;cursor:pointer}#drop-zone:hover{border-color:#79969b}#placeholder{padding:8px;max-width:440px;width:100%}#placeholder svg{width:48px;height:48px;margin-bottom:16px;color:#b0cbcb}#placeholder h2{font-size:24px;font-weight:400;font-family:'Libre Baskerville',Georgia,serif;line-height:1.5;margin-bottom:8px}#placeholder p{font-size:14px;color:#b6c9ce}#placeholder .upload-format{font-size:12px;margin-top:16px;color:#a5b9be}.upload-button{display:inline-flex;width:auto;min-height:48px;margin-top:24px;padding:16px 24px;color:#163f40;background:#e5f2f0;border:0;box-shadow:none}.upload-button:hover{background:#fff}#preview{max-height:480px}#drop-zone:has(#preview:not([hidden])){background:#101b20;border-color:#30454d}
.assessment{scroll-margin-top:24px}.assessment .section-heading{margin-bottom:16px}.assessment-message{font-size:14px}.assessment:has(#result[hidden]) .section-heading{margin-bottom:8px}.assessment:has(#result[hidden]) #copy-report{display:none}.result-grid{background:#f0f7f5;border:0;padding:24px;border-radius:24px;margin:24px 0;gap:24px}.result-grid strong{font-size:24px}.result-details{padding:0 8px}.explanation{background:#f7f9fa}.comparison .section-heading{margin-bottom:16px}.reference-note{max-width:72ch}footer{font-size:12px;padding:0 8px;max-width:80ch;color:#70838b}
@media(max-width:1000px){main{padding:24px;gap:24px;grid-template-columns:280px minmax(0,1fr)}.site-header{padding:24px}.viewer-caption{flex-direction:column}.result-grid{grid-template-columns:1fr}.image-actions{flex-wrap:wrap;justify-content:flex-end}.viewer-header{align-items:flex-start}}
@media(max-width:760px){main{display:flex;flex-direction:column;padding:8px 24px 32px;gap:24px}.site-header{padding:24px;gap:8px;flex-wrap:wrap}.brand{font-size:24px}.badge{font-size:12px}.intro{padding:8px 0 0}.intro h1{font-size:32px}.intro p{font-size:14px}.workspace,aside{width:100%}aside{display:contents}.patient-card{order:2;width:100%}.intro{order:0}.workspace{display:contents}.viewer{order:1;width:100%;min-height:352px}.model-status{order:3;width:100%;padding:0 8px}.assessment{order:4;width:100%}.comparison{order:5;width:100%}footer{order:6}.viewer-header{margin-bottom:16px}#drop-zone{min-height:224px;padding:16px}#placeholder{padding:0}#placeholder h2{font-size:24px}#placeholder svg{display:none}.viewer-caption{margin-top:16px}.patient-card fieldset{margin-bottom:24px}.result-grid{padding:24px;gap:24px}.result-details>div{gap:8px}.viewer-header h2{font-size:14px}.ghost{padding:8px;font-size:12px}.image-actions{gap:8px}.reference-grid figure{flex-basis:88%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Shared alignment and quieter empty state. */
.site-header{max-width:1344px}
main{padding-top:16px;gap:24px 32px}
.intro{padding:0 0 8px}
.card{box-shadow:none}
#placeholder svg{display:none}
#placeholder h2{font-family:Inter,Arial,sans-serif;font-size:16px;font-weight:600;letter-spacing:0}
#placeholder p{max-width:40ch;margin-inline:auto}
#drop-zone{border-color:#41575f}
.viewer-subtitle{margin-top:8px}
.viewer-caption{align-items:baseline;line-height:1.6}
.model-status{padding:0 24px}
.status-label{background:transparent;padding:8px 0}
footer{padding:0 24px}
@media(min-width:1001px){.patient-card{min-height:440px;display:flex;flex-direction:column}.patient-card #analyze{margin-top:auto}.viewer:has(#preview[hidden]){height:440px;min-height:440px}.viewer-caption{font-size:12px}.patient-card fieldset{margin-bottom:24px}}
@media(max-width:1000px){main{gap:24px}.viewer-caption{align-items:flex-start}}
@media(max-width:760px){main{padding-top:8px}.intro{padding:0}.model-status{padding:0 24px}#placeholder h2{font-size:16px}.viewer{min-height:336px}footer{padding:0 8px}}

#reference-sd{color:var(--ink);margin-top:0}.result-details a{display:inline-block;margin-top:8px;color:var(--accent);text-underline-offset:3px}

#reference-mode{display:block;margin-top:8px;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:24px;background:var(--white);color:var(--ink);font:inherit;font-size:12px;max-width:100%}#reference-mode[hidden]{display:none}
.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}

.classification-summary{margin:0 8px 24px}.classification-summary strong{font-size:24px;font-weight:600;color:var(--accent)}.classification-summary p{font-size:14px;color:var(--muted);margin:8px 0 0;line-height:1.6}.boundary-note{padding:24px;margin-bottom:24px;border-radius:24px;background:#faf4e8;color:#604b2b}.boundary-note strong{font-size:14px;font-weight:600}.boundary-note p{font-size:12px;line-height:1.7;margin:8px 0 0}#technical-details{margin:0 0 24px}#technical-details .result-details{margin-top:24px}

.patient-card label[for="scan-date"]{display:block;margin-top:24px}

.site-header{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:16px}
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0}
.hiring-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;background:var(--white);border:1px solid var(--line);border-radius:24px}
.hiring-copy{min-width:0}
.hiring-kicker{display:inline-flex;align-items:center;width:fit-content;margin:0 0 8px;padding:8px 16px;border-radius:24px;background:#e8f0ef;color:var(--accent);font-size:12px;font-weight:600;line-height:1.5}
.hiring-employer{margin:0;font-size:14px;font-weight:600;line-height:1.5;text-wrap:balance}
.hiring-place{margin:8px 0 0;font-size:14px;font-weight:400;line-height:1.5;color:var(--muted);text-wrap:balance}
.now-hiring{margin:0;border:0;border-radius:24px;background:var(--accent);color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;min-height:48px;padding:8px 16px;white-space:nowrap;flex-shrink:0}
.now-hiring:hover{background:#17474b}
@media(max-width:760px){
  .brand-row{flex-direction:column;align-items:center;text-align:center;gap:8px}
  .hiring-bar{flex-direction:column;align-items:center;text-align:center;gap:16px;padding:24px}
  .hiring-copy{display:flex;flex-direction:column;align-items:center}
  .now-hiring{align-self:center}
  .hiring-note{text-align:center}
  .hiring-note .hiring{display:inline-block;margin:8px 0 0}
  #hiring-dialog .hiring-action{display:flex;width:fit-content;margin-inline:auto}
}
.hiring{margin:0;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:12px;font-weight:600;line-height:1.5;text-decoration:none;white-space:nowrap}
.hiring:hover{text-decoration:underline}
.hiring-note{margin:24px 8px 0;font-size:12px;line-height:1.6;color:var(--muted)}
.hiring-note .hiring{margin-left:8px}
#hiring-dialog{width:min(440px,calc(100% - 48px))}
#hiring-dialog p{max-width:48ch;margin:0 0 24px;font-size:14px;line-height:1.7}
.hiring-benefits{display:grid;gap:8px;margin:0 0 24px;padding:0;list-style:none;font-size:14px;line-height:1.5}
#hiring-form label{display:block;margin-bottom:8px;font-size:12px;font-weight:600}
#hiring-email{display:block;width:100%;margin:0 0 24px;padding:16px;border:1px solid var(--line);border-radius:24px;background:#fff;min-height:48px;color:var(--ink)}
.hiring-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:8px 16px;border:0;border-radius:24px;background:var(--accent);color:#fff;font-size:12px;font-weight:600;cursor:pointer}
.hiring-action:hover{background:#17474b}
#hiring-status{margin:16px 0 0}
#hiring-status.error{color:#a33b3b}
