:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eaf2f4;background:#0b121b;font-synthesis:none}*[hidden]{display:none!important}*{box-sizing:border-box}body{margin:0;min-width:320px}.shell{max-width:1700px;margin:auto;padding:24px clamp(16px,3vw,48px)}button,input,select{font:inherit}button,select,input[type=search]{border:1px solid #385064;border-radius:8px;background:#152432;color:#eaf2f4}button{cursor:pointer}button:disabled,select:disabled,input:disabled{opacity:.5;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #5beae7;outline-offset:3px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}.identity{display:flex;gap:14px;align-items:center}.identity-mark{display:block;width:37px;height:37px;border:2px solid #5beae7;border-radius:50%;box-shadow:inset 0 0 0 7px #112534;position:relative}.identity-mark:after{content:"";position:absolute;inset:15px;background:#ff8b78;border-radius:50%}h1{font-size:clamp(21px,2vw,30px);letter-spacing:-.035em;margin:0}h2{font-size:14px;letter-spacing:.015em;margin:0}.identity p{color:#9eb2be;margin:4px 0 0;font-size:13px}.status{display:flex;align-items:center;gap:8px;color:#aebdc7;font-size:12px}.status-dot{width:8px;height:8px;border-radius:50%;background:#f4c576;box-shadow:0 0 12px #f4c57677}.status[data-mode=ready] .status-dot{background:#5beae7;box-shadow:0 0 12px #5beae777}.status[data-mode=error] .status-dot{background:#ff8b78}.toolbar{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);gap:14px;margin-bottom:14px}.toolbar section,.panel,.readout{border:1px solid #263c4d;border-radius:12px;background:#111d29}.toolbar section{padding:15px 17px}.control-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.control-heading span,.control-hint{color:#8ca5b3;font-size:12px}.sequence-list{display:flex;gap:6px;margin-top:13px}.sequence-list button{flex:1;min-width:0;padding:9px 4px;font-size:13px;font-weight:700;letter-spacing:.025em}.sequence-list button[aria-pressed=true]{color:#081a20;background:#5beae7;border-color:#5beae7}.structure-control{display:flex;flex-direction:column;gap:8px}.structure-control label{font-size:14px;font-weight:700}.structure-control input,.structure-control select{width:100%;padding:8px 10px}.structure-control select{appearance:auto}.study-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.panel{overflow:hidden;min-width:0}.panel-heading,.slice-footer,.model-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}.panel-heading{border-bottom:1px solid #233a4b}.panel-heading h2{font-size:15px}.panel-heading span,.panel-heading output,.slice-footer,.model-footer{font-size:12px;color:#9cb3bf}.panel-heading div span{display:block;margin-top:3px}.image-stage,.model-stage{height:clamp(245px,29vw,430px);position:relative;background:#070d15;overflow:hidden}.image-stage canvas,.model-stage canvas{display:block;width:100%;height:100%;touch-action:none}.image-stage canvas{cursor:crosshair}.model-stage canvas{cursor:grab}.model-stage canvas:active{cursor:grabbing}.axis{position:absolute;color:#e2edee;background:#101b26a8;border-radius:4px;padding:2px 5px;font-size:11px;font-weight:700;pointer-events:none}.axis.top{top:6px;left:50%;transform:translateX(-50%)}.axis.bottom{bottom:6px;left:50%;transform:translateX(-50%)}.axis.left{left:6px;top:50%;transform:translateY(-50%)}.axis.right{right:6px;top:50%;transform:translateY(-50%)}.slice-footer{border-top:1px solid #233a4b;gap:10px}.slice-footer input{min-width:0;flex:1;accent-color:#5beae7}.model-empty{position:absolute;inset:0;display:grid;place-items:center;color:#9cb3bf;font-size:13px;pointer-events:none}.model-empty[hidden]{display:none}.orientation{position:absolute;bottom:10px;right:13px;color:#7f9aaa;font-size:11px;pointer-events:none}.model-footer{border-top:1px solid #233a4b;justify-content:flex-start;min-height:43px}.model-footer .swatch{height:9px;width:9px;background:#ff8b78;border-radius:50%}.model-footer #selected-name{flex:1}.model-footer button{padding:5px 9px;font-size:11px}.mesh-switch{white-space:nowrap;display:flex;align-items:center;gap:5px}.mesh-switch input{accent-color:#5beae7}.readout{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:14px;padding:12px 17px;color:#90aab8;font-size:12px}.readout strong{color:#def1f2;font-weight:600;margin-left:5px}footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:22px;color:#8ea5b3;font-size:12px;line-height:1.6}footer a{color:#91dcd9}.error{padding:12px 15px;border:1px solid #bb665f;background:#472a30;color:#ffdbd4;border-radius:9px;margin-bottom:14px}.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}@media(max-width:850px){.toolbar{grid-template-columns:1fr}.image-stage,.model-stage{height:clamp(255px,43vw,400px)}}@media(max-width:600px){.shell{padding:16px 12px}.masthead{display:grid;grid-template-columns:1fr auto;align-items:start;gap:10px}.identity{grid-column:1/-1}.identity-mark{display:none}.case-picker{grid-column:1;justify-self:start}.status{grid-column:2;grid-row:2;margin-top:5px}.study-layout{grid-template-columns:1fr}.image-stage,.model-stage{height:clamp(275px,75vw,430px)}.control-heading{display:block}.control-heading span{display:block;margin-top:5px}.readout{display:grid;gap:5px}.model-footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

.image-stage canvas{touch-action:pan-y pinch-zoom}.model-stage canvas{touch-action:pan-y}
.how-to{margin:14px 0 0;color:#9cb3bf;font-size:13px;line-height:1.5}.credits{margin:8px 0 24px;padding:14px 16px;border:1px solid #233a4b;border-radius:12px;background:#0f1924;color:#9cb3bf;font-size:12px;line-height:1.6}.credits h2{margin:0 0 6px;font-size:13px;color:#d9e6ea}.credits ul{margin:0 0 8px;padding-left:18px}.credits li{margin:0 0 4px}.credits p{margin:0}.credits a{color:#91dcd9;overflow-wrap:anywhere}#attribution{overflow-wrap:anywhere}
.case-warning{margin:0 0 10px;padding:10px 13px;border:1px solid #7a5a45;border-radius:9px;background:#2a1f1a;color:#efd2bd;font-size:13px;line-height:1.5}
