.patient{background:#f7f8f3}.patient header{max-width:1200px;margin:auto;background:transparent}.patient main{max-width:1160px;padding-top:24px}.patient-intro{text-align:center;margin:12px 0 38px}.patient h1{font-size:clamp(38px,5vw,62px);letter-spacing:-1.6px}.patient .lead{font-size:18px;margin:14px 0;color:#587366}.patient-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.patient .panel{padding:28px;border-radius:20px}.upload-card h2{font:30px Georgia,serif;margin:20px 0 10px}.upload-card p{font-size:15px}.step{font-size:10px;letter-spacing:1.5px;color:#648271}.patient-upload{position:relative;display:block;background:#246b57;color:white;font-size:18px;font-weight:600;padding:20px;border-radius:12px;text-align:center;cursor:pointer;margin:26px 0 10px}.patient-upload:hover{background:#1c5946}.patient-upload:focus-within{outline:3px solid #91b59f;outline-offset:4px}.patient-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.patient .file-help{text-align:center;font-size:11px;color:#728778}.patient #status{font-size:13px;line-height:1.7;margin:22px 0}.upload-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.upload-actions button{border:0;background:transparent;text-decoration:underline;font-size:13px}.image-help{margin-top:25px;padding-top:18px;border-top:1px solid #e3e9df}.patient details p{font-size:13px}.patient .image-panel{margin-top:20px}.patient:not(.has-image) .image-panel{display:none}.patient #stage{height:420px}.patient .image-panel .legend,.patient .image-panel #active-point,.patient .image-panel>details{display:none}.patient:has(#review-tools[open]) .legend,.patient:has(#review-tools[open]) #active-point,.patient:has(#review-tools[open]) .image-panel>details{display:block}.patient #review-tools{margin-top:20px;padding:18px 22px;background:transparent}.patient #review-tools>summary{font-size:12px}.patient .metrics strong{font-size:33px}.patient .metrics span{font-size:13px}.patient .metrics small{font-size:11px}.patient .panel-title h2{font-size:18px}.patient .results{display:block}.patient .results p{font-size:13px}.patient:not(.has-result) .grid-head,.patient:not(.has-result) #cpak-grid,.patient:not(.has-result) #jlo{display:none}.patient #result-kind{max-width:100px;text-align:right;line-height:1.5}.patient-download{text-align:right;margin:5px 0 30px}.patient-download button{font-size:14px;padding:13px 20px}.patient footer{text-align:center;line-height:1.9;font-size:12px}.patient .results .panel{margin-bottom:20px}.patient #cpak-type{white-space:nowrap}.patient #empty{font-size:15px}@media(max-width:760px){.patient-layout{grid-template-columns:1fr}.patient header{padding:18px}.patient main{padding:12px 18px}.patient-intro{margin-bottom:26px}.patient .panel{padding:22px}.patient .results{display:block}.patient-download{text-align:center}.patient #stage{height:380px}.patient h1{letter-spacing:-1px}}
.patient-image-row{display:flex;align-items:center;gap:12px;margin:10px 0;padding:12px;background:#f1f5ed;border-radius:10px;font-size:12px}.patient-image-row span{flex:1;min-width:0;overflow-wrap:anywhere}.patient-image-row select{width:auto;max-width:48%;padding:8px;border:1px solid #cbd9ca;border-radius:8px;background:white}#patient-upload-status{font-size:13px;color:#355d4d}.patient [hidden]{display:none!important}
.upload-with-xray{display:flex;align-items:center;gap:18px;margin:22px 0 10px}.upload-xray{flex:0 0 105px;margin:0;background:#172b30;border-radius:12px;overflow:hidden}.upload-xray img{display:block;width:105px;height:154px;object-fit:cover}.upload-xray figcaption{font-size:9px;text-align:center;padding:6px;color:#d6e5de}.upload-with-xray .patient-upload{flex:1;margin:0;padding:20px 12px}.sample-model-image{margin:18px 0 0;background:radial-gradient(ellipse,#3d535d,#182b34 80%);border-radius:20px;text-align:center;overflow:hidden}.sample-model-image img{display:block;width:100%;height:360px;object-fit:contain}.sample-model-image figcaption{font-size:13px;color:#d7e7df;padding:0 15px 20px}.sample-model-credit{font-size:11px;color:#647c6f;margin:10px 0 0}#sample-knee-model:not([hidden])+#patient-reconstruction .reconstruction-heading,#sample-knee-model:not([hidden])+#patient-reconstruction .reconstruction-intro{display:none}@media(max-width:480px){.upload-with-xray{gap:12px}.upload-xray{flex-basis:82px}.upload-xray img{width:82px;height:130px}.upload-with-xray .patient-upload{font-size:15px}.sample-model-image img{height:300px}}
.patient:not(.review-mode) #review-tools,.patient:not(.review-mode) #patient-reconstruction>details,.patient:not(.review-mode) #auto-panel>label,.patient:not(.review-mode) #auto-retry,.patient:not(.review-mode) #auto-panel>.hint{display:none!important}.patient:not(.has-result) .results .panel>.metrics,.patient:not(.has-result) #result-kind,.patient:not(.has-result) #cpak-type,.patient:not(.has-result) #explanation,.patient:not(.has-result) #phenotype,.patient:not(.has-result) #boundary{display:none!important}.patient.has-result .example-only{display:none}.example-invitation{padding:13px 15px;background:#e8f0e3;border-radius:12px;color:#3e644d;line-height:1.6}.example-invitation strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.patient:not(.has-result) #cpak-grid{opacity:1}.patient:not(.has-result) .cell[data-type="II"]{background:#246b57;color:white;border:2px solid #246b57;box-shadow:0 3px 12px #246b5730}.patient:not(.has-result) .cell[data-type="II"]::after{content:'Most common*';display:block;font:9px system-ui;letter-spacing:0;margin-top:4px}.cpak-common{font-size:11px!important;color:#627664;line-height:1.6}.sample-model-image canvas{display:block;width:100%;touch-action:none;cursor:grab}.sample-model-image canvas:active{cursor:grabbing}.sample-model-image canvas:focus-visible{outline:3px solid #9ad2b4;outline-offset:-4px}.sample-model-actions{display:flex;justify-content:center;margin:10px 0}.sample-model-actions button{padding:8px 18px;border:1px solid #bdcfc2;border-radius:20px;background:transparent;color:#355448;cursor:pointer}
/* Patient visual refresh: anatomy first, the uploaded film becomes the focal point. */
.patient{background:#f4f5ef}.patient main{max-width:1240px;padding-top:10px}.patient header{max-width:1280px}.patient-intro{display:flex;position:relative;overflow:hidden;isolation:isolate;background:#163f35;border-radius:28px;text-align:left;min-height:300px;margin:6px 0 28px;color:#fff}.hero-copy{position:relative;z-index:2;padding:34px 42px;width:65%}.patient .patient-intro .eyebrow{color:#b8d6ba;letter-spacing:1.8px}.patient .patient-intro h1{font-size:clamp(40px,5vw,64px);line-height:1.03;color:#f4f3df;margin:16px 0}.patient .patient-intro .lead{font-size:16px;color:#d0dfd3;max-width:380px}.hero-tags{display:flex;gap:20px;flex-wrap:wrap;margin-top:26px;font-size:11px;color:#bad1bf}.hero-anatomy{position:absolute;right:0;top:0;width:45%;height:100%;margin:0;background:radial-gradient(ellipse,#49735e80,transparent 70%)}.hero-anatomy img{height:100%;width:100%;object-fit:cover;mix-blend-mode:screen;opacity:.94}.hero-anatomy figcaption{position:absolute;bottom:12px;right:18px;font-size:9px;color:#d9e2d3;background:#163f35b0;padding:5px 8px;border-radius:12px}.patient-layout{grid-template-columns:1.15fr 1fr;gap:24px}.patient .panel{box-shadow:0 7px 30px #24403905;border-color:#e0e6db}.patient .metrics{gap:12px}.patient .metrics>div{position:relative;padding:18px;border:0;background:#f4f7f0;border-radius:14px}.patient .metrics>div:nth-child(2){background:#f6f4eb}.patient .metrics>div:nth-child(3){background:#edf3f3}.patient .metrics>div:nth-child(4){background:#f2f0f6}.patient .metrics .angle-icon{position:absolute;right:12px;top:9px;font:30px Georgia;color:#a3b5a1}.patient .metrics span:not(.angle-icon){max-width:125px;line-height:1.4;padding-right:15px}.patient .metrics strong{margin:12px 0 7px}.patient .profile-note{background:#f8f9f5;padding:12px 14px;border-radius:10px;line-height:1.6}.patient #cpak-grid{display:grid!important}.patient .grid-head{display:grid!important}.patient:not(.has-result) #cpak-grid{opacity:.45}.patient .panel-title h2 small{font-size:10px;letter-spacing:1px;color:#7c8e80;margin-left:7px}.patient .patient-upload{box-shadow:0 6px 16px #246b5720}.patient .patient-upload>span{font-size:24px;margin-right:6px;font-weight:400}.patient.has-image .upload-card{padding:18px 24px}.patient.has-image .upload-card h2,.patient.has-image .upload-card>p:not(#status),.patient.has-image .upload-card>.step{display:none}.patient.has-image .patient-upload{margin:0 0 12px;padding:13px}.patient.has-image #status{margin:10px 0;font-size:12px}.patient.has-image .image-help{margin-top:12px;padding-top:12px}.patient.has-image .image-panel{padding:18px;background:#fff}.patient #stage{background:#101715;height:450px}.patient .image-panel .panel-title span{background:#eaf1e8;border-radius:20px;padding:6px 9px;letter-spacing:.3px}.patient.has-image .patient-intro{min-height:230px}.patient.has-image .hero-copy{padding-top:25px;padding-bottom:25px}.patient.has-image .patient-intro h1{font-size:48px}.patient.has-image .hero-tags{display:none}.patient:not(.has-result) #result-kind{background:#f2f3ed;border-radius:20px;padding:7px 10px}.patient #review-tools{border-style:dashed}.patient-download{margin-top:20px}@media(max-width:760px){.patient-layout{grid-template-columns:1fr}.patient-intro{min-height:270px;border-radius:22px}.hero-copy{width:78%;padding:26px 24px}.hero-anatomy{right:-55px;width:62%;opacity:.42;z-index:-1}.patient .patient-intro h1{font-size:45px}.patient .patient-intro .lead{max-width:230px;font-size:14px}.hero-tags{gap:8px;font-size:10px;flex-direction:column}.hero-anatomy figcaption{font-size:8px;right:60px;bottom:8px}.patient.has-image .patient-intro h1{font-size:40px}.patient #stage{height:350px}.patient .metrics>div{padding:16px 12px}.patient .metrics .angle-icon{opacity:.6}.patient .metrics span:not(.angle-icon){font-size:12px}.patient .panel{padding:22px}}
#auto-panel{margin-top:20px;background:#fff8e8;border-color:#e2d4b0}#auto-panel h2 small{font-size:9px;color:#8e6e32;letter-spacing:1px;margin-left:8px}#auto-candidates{display:flex;flex-wrap:wrap;gap:10px}#auto-candidates button[aria-pressed=true]{background:#246b57;color:white}#auto-message{font-size:13px}.patient #result-kind{max-width:150px}.patient #cpak-type{font-size:20px}.patient:has(#result-kind:not(:empty)) #result-kind{line-height:1.6}
.patient #cpak-type{white-space:normal;text-align:right;line-height:1.4;max-width:210px;font-size:23px}
.patient:not(.has-result) #cpak-grid{opacity:1}
.patient:not(.has-result) #cpak-grid .cell[data-type="II"]{background:#246b57;color:white;border:2px solid #246b57;box-shadow:0 3px 12px #246b5730}

.patient header{display:none}.patient main{padding-top:4px}.patient footer{margin-bottom:0}
