.osceLayout{grid-template-columns:minmax(420px,1.25fr) minmax(330px,1fr);align-items:start;gap:24px}.patientPanel{position:sticky;top:100px}.clinicalStage{position:relative;background:#dce5e6;border-radius:16px;overflow:hidden}.clinicalStage canvas{display:block;touch-action:none}#clinicalViewport{height:560px;min-width:0}.cameraTools{position:absolute;bottom:14px;left:14px;right:14px;display:flex;gap:8px;flex-wrap:wrap}.cameraTools button{font-size:12px;padding:8px 13px;background:#ffffffdd;backdrop-filter:blur(8px)}.physicalControls{background:#132b35;color:#e2eff0;border-radius:16px;padding:22px}.physicalControls h3{color:#fff}.physicalControls label{display:block;margin:15px 0 6px;font-weight:600}.physicalControls input[type=range]{width:100%;accent-color:#5acdc0;cursor:ew-resize}.physicalControls output{font-variant-numeric:tabular-nums;font-size:32px;display:block;margin:12px 0}.physicalControls p{color:#c0d0d6;font-size:13px;line-height:1.6}.physicalControls .scaleState{font-size:14px;padding:10px 0}.physicalControls .flex{gap:10px}.physicalControls button{background:#e9f1f0;color:#19353e}.physicalControls select{max-width:100%}.osceActions button{line-height:1.4}.osceControls .panel{padding:20px}.clinicalStage+ .patientLegend{font-size:11px}.cameraTools button:focus-visible{outline:3px solid #0d766e;outline-offset:2px}
@media(max-width:1000px){.osceLayout{grid-template-columns:1fr}.patientPanel{position:static}#clinicalViewport{height:480px}.osceControls{max-width:none}}@media(max-width:600px){#clinicalViewport{height:390px}.physicalControls{padding:17px}.cameraTools{gap:4px}.cameraTools button{padding:7px 10px}}

.equipmentDemo{width:min(1080px,calc(100vw - 32px));max-height:92vh;border:0;border-radius:14px;background:#f3f6f3;color:#19353c;padding:28px;overflow:auto;box-sizing:border-box}.equipmentDemo::backdrop{background:#07171cbb}.equipmentDemo h2{margin:8px 0 20px}.demoColumns{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin-top:22px}.demoScene{height:440px;border-radius:12px;overflow:hidden}.equipmentDemo output{display:block;font-size:28px;color:#17695f;margin:20px 0}.equipmentDemo [data-next],.equipmentDemo [data-restart]{margin:8px 8px 0 0}@media(max-width:760px){.equipmentDemo{padding:18px}.demoColumns{grid-template-columns:1fr;gap:16px}.demoScene{height:360px}.equipmentDemo h2{font-size:25px}}
