:root{--med-ink:#000;--med-text:var(--med-ink);--med-muted:#000;--med-accent:#000;--med-glass:transparent;--med-ui-font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--med-line:rgba(34,34,40,.12);--med-panel:transparent;--med-shadow:none}
html.dark-mode{--med-ink:#f5f5f7;--med-muted:#c5c5cb;--med-accent:#f1f1f4;--med-glass:transparent;--med-line:rgba(255,255,255,.15);--med-panel:transparent;--med-shadow:none}
body.med-space-mode{padding:0;overflow:hidden}body.med-space-mode>.container{display:none}body.med-materials-mode .medical-space{display:none}body.med-materials-mode .med-return-space{display:block}
.med-return-space{display:none;position:fixed;left:82px;top:25px;z-index:510;border:1px solid var(--med-line);border-radius:30px;padding:12px 18px;background:var(--med-glass);color:var(--med-ink);backdrop-filter:blur(22px);font:16px 'Times New Roman',serif;cursor:pointer}
.medical-space{position:fixed;inset:0;bottom:auto;height:var(--med-vh,100dvh);isolation:isolate;color:var(--med-ink);font-family:var(--med-ui-font);font-size:16px}
.medical-space *{box-sizing:border-box}.medical-space :is(button,input,select,textarea){font-family:inherit}.medical-space button{cursor:pointer}.medical-space button:disabled{opacity:.48;cursor:default}.medical-space a{color:inherit;text-underline-offset:4px}.medical-space :is(button,a,input,select,textarea):focus-visible,.med-return-space:focus-visible{outline:2px solid var(--med-accent);outline-offset:4px}.medical-space [hidden]{display:none!important}
.medical-space::before{content:none}
.medical-scene{position:absolute;inset:0;z-index:-2;touch-action:none;cursor:grab}.medical-scene:active{cursor:grabbing}.medical-scene canvas{width:100%;height:100%;display:block}
.med-topbar{position:absolute;top:29px;left:82px;right:82px;display:flex;justify-content:space-between;align-items:center;gap:15px;z-index:10}.med-brand{display:flex;gap:9px;align-items:center;text-decoration:none;font-size:22px;white-space:nowrap}.med-brand-mark{font-size:28px;font-weight:normal}.med-brand i{font-weight:normal}.med-brand small,.med-local-status{display:none}.med-top-actions{display:flex;align-items:center}.med-top-actions .med-button{padding:8px 0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;font-size:14px;gap:10px}
.med-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--med-line);background:var(--med-glass);color:var(--med-ink);border-radius:14px;padding:10px 16px;font:16px 'Times New Roman',Times,serif;line-height:1.2;transition:background .2s}.med-button:hover{background:transparent}.med-small{font-size:14px;padding:8px 12px}.med-button--primary{background:transparent;color:var(--med-ink)}
.med-eyebrow{font:13px 'Times New Roman',Times,serif;color:var(--med-muted);letter-spacing:.1px;font-weight:normal;margin:0 0 10px}.med-text-reveal{opacity:0;filter:blur(20px);transform:translateY(-30px);transition:opacity 1.5s cubic-bezier(.16,1,.3,1),filter 1.5s cubic-bezier(.16,1,.3,1),transform 1.5s cubic-bezier(.16,1,.3,1)}.med-ready .med-text-reveal{opacity:1;filter:blur(0);transform:none}.med-text-reveal:nth-child(2){transition-delay:.1s}.med-text-reveal:nth-child(3){transition-delay:.2s}
.med-world-heading{font-family:'Times New Roman',Times,serif;position:absolute;top:16%;left:50%;transform:translateX(-50%);text-align:center;width:900px;max-width:88%;pointer-events:none;transition:opacity .3s,filter .3s}.med-world-heading .med-eyebrow{display:none}.med-world-heading h1{font-size:clamp(38px,4.8vw,76px);font-weight:normal;letter-spacing:-1.3px;line-height:1.08;margin:0 0 20px;text-shadow:0 2px 16px rgba(255,255,255,.1)}.med-world-heading h1 br{display:none}.med-world-heading i{font-weight:normal}.med-heading-description{font-size:16px;color:var(--med-muted);line-height:1.4}.med-heading-description br{display:none}
.med-world-nodes{position:absolute;inset:0;pointer-events:none;transition:opacity .28s,filter .28s}.med-bubble{position:absolute;left:0;top:0;width:144px;height:144px;margin:-72px;border:0;border-radius:0;color:var(--med-ink);background:var(--med-glass);backdrop-filter:blur(8px);box-shadow:var(--med-shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:auto;will-change:transform;transition:background .3s}.med-bubble-icon{font:28px 'Times New Roman',Times,serif;line-height:1}.med-bubble-label{font-size:23px;font-weight:normal;line-height:1.1}.med-bubble:hover{background:transparent}.med-bubble small,.med-bubble-number{display:none}
.med-place-indicator,.med-world-caption,.med-world-hint{display:none}.med-world-controls{position:absolute;right:30px;bottom:110px;display:flex;gap:9px;z-index:4;transition:opacity .2s}.med-control{width:34px;height:34px;border-radius:50%;border:0;background:transparent;color:var(--med-ink);font:22px 'Times New Roman',Times,serif;display:flex;align-items:center;justify-content:center;transition:background .2s}.med-control:hover{background:transparent}.med-world-controls .med-control{font-size:18px;color:var(--med-muted)}
.med-dock{position:absolute;bottom:calc(22px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:7px;border:0;border-radius:999px;background:var(--med-glass);backdrop-filter:blur(20px);box-shadow:var(--med-shadow);z-index:12;max-width:calc(100% - 28px)}.med-dock button{border:0;background:transparent;border-radius:999px;color:var(--med-muted);padding:11px 18px;font-size:16px;white-space:nowrap;transition:background .25s,color .25s}.med-dock button>span:first-child{display:none}.med-dock button[data-med-route="home"]{width:42px;padding:10px 0;font-size:22px}.med-dock button[data-med-route="home"]>span:first-child{display:inline}.med-dock button[data-med-route="home"]>span:last-child{display:none}.med-dock button:hover,.med-dock button.active{background:rgba(255,255,255,.3);color:var(--med-ink)}html.dark-mode .med-dock button.active{background:rgba(255,255,255,.1)}
.med-workspace{position:absolute;top:108px;left:max(28px,calc((100% - 1240px)/2));right:max(28px,calc((100% - 1240px)/2));bottom:100px;border:1px solid var(--med-line);border-radius:24px;background:transparent;backdrop-filter:none;box-shadow:none;overflow:hidden;z-index:7;--med-enter-x:0px;--med-enter-y:20px}.med-panel-header{display:flex;align-items:center;gap:16px;padding:24px 32px 20px;border-bottom:1px solid var(--med-line);height:96px}.med-panel-header>div{flex:1;min-width:0}.med-panel-header .med-eyebrow{display:none}.med-panel-header h2{font-size:42px;font-weight:normal;line-height:1.1;letter-spacing:-.7px;margin:0}.med-panel-header h2:focus{outline:none}.med-panel-content{height:calc(100% - 96px);overflow:auto;padding:28px 32px;scrollbar-width:thin;scrollbar-color:var(--med-muted) transparent;overscroll-behavior:contain}.med-panel-content h3{font-size:28px;font-weight:normal;line-height:1.2;margin:0 0 14px}.med-panel-content h4{font-size:21px;font-weight:normal;margin:16px 0 10px}.med-panel-content p{line-height:1.6}.med-panel-content :is(input,select,textarea){color:var(--med-ink)}
.med-card{border:1px solid var(--med-line);border-radius:16px;padding:20px;background:transparent}.med-muted{color:var(--med-muted);font-size:15px;line-height:1.6}.med-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.med-field{display:block;width:100%;padding:11px 14px;border-radius:12px;border:1px solid var(--med-line);background:transparent;font-size:16px;outline:none}.med-field:focus{border-color:var(--med-accent)}.med-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.med-tag{font-size:12px;padding:5px 8px;border:1px solid var(--med-line);border-radius:10px}.med-topic-copy{white-space:pre-wrap;font-size:18px;line-height:1.7}.med-topic-links{display:flex;flex-direction:column;gap:9px;margin-top:24px}.med-topic-links button{justify-content:space-between;text-align:left}.med-topic-meta{display:none}
.med-workspace.med-atlas-panel,.med-liquid-material .med-workspace.med-atlas-panel{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none;overflow:visible}.med-workspace.med-atlas-panel::before,.med-workspace.med-atlas-panel::after{display:none}.med-atlas-panel .med-panel-header{border:0;padding:10px 8px 16px;height:76px;background:transparent}.med-atlas-panel .med-panel-content{padding:0;height:calc(100% - 76px);overflow:hidden}.med-atlas-layout{position:relative;height:100%;display:flex;flex-direction:column;min-height:0}.med-atlas-frame{width:100%;flex:1;min-height:0;border:0;background:transparent;border-radius:0}.med-atlas-frame:fullscreen{background:var(--med-panel)!important}.med-atlas-status{position:absolute;bottom:0;left:10px;max-width:65%;font-size:12px;color:var(--med-muted);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.med-atlas-credit{position:absolute;bottom:0;right:10px;font-size:11px;color:var(--med-muted);margin:0}.med-atlas-credit a{text-decoration:none}
.med-toast{position:absolute;bottom:104px;left:50%;transform:translate(-50%,12px);padding:12px 20px;border-radius:20px;background:var(--med-panel);backdrop-filter:blur(20px);border:1px solid var(--med-line);font-size:15px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:20;max-width:90%;text-align:center}.med-toast.show{opacity:1;transform:translate(-50%,0)}
.med-flight-label{position:absolute;left:50%;bottom:106px;transform:translate(-50%,8px);font-size:22px;font-weight:normal;opacity:0;filter:blur(8px);transition:opacity .25s,filter .25s,transform .25s;pointer-events:none;z-index:5;white-space:nowrap}.med-traveling .med-flight-label{opacity:1;filter:blur(0);transform:translate(-50%,0)}.med-traveling .med-world-heading,.med-panel-open .med-world-heading{opacity:0;filter:blur(8px)}.med-traveling .med-world-nodes,.med-panel-open .med-world-nodes{opacity:0;pointer-events:none}.med-traveling .med-bubble,.med-panel-open .med-bubble{pointer-events:none}.med-panel-open .med-world-controls,.med-traveling .med-world-controls{opacity:0;pointer-events:none}.med-entering{animation:med-panel-in .6s cubic-bezier(.16,1,.3,1) both}.med-leaving{animation:med-panel-out .22s cubic-bezier(.4,0,1,1) both;pointer-events:none}
@keyframes med-panel-in{from{opacity:0;filter:blur(15px);transform:translate3d(var(--med-enter-x),var(--med-enter-y),0) scale(.98)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes med-panel-out{from{opacity:1;filter:blur(0);transform:none}to{opacity:0;filter:blur(12px);transform:translate3d(calc(var(--med-enter-x)*-.55),calc(var(--med-enter-y)*-.55),0) scale(.985)}}
.med-list-mode .med-world-nodes{top:38%;bottom:130px;left:18%;right:18%;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;align-content:center;overflow:auto;pointer-events:auto}.med-list-mode .med-bubble{position:relative;left:auto;top:auto;width:100%;height:140px;margin:0;transform:none!important;visibility:visible!important;will-change:auto}
@media(max-width:1050px){.med-world-heading h1{font-size:48px}.med-bubble{width:128px;height:128px;margin:-64px}.med-bubble-label{font-size:21px}.med-dock button{padding:10px 14px}.med-panel-header h2{font-size:36px}}
@media(max-width:650px){.med-topbar{top:32px;left:78px;right:78px;gap:12px}.med-brand{font-size:19px}.med-brand-mark{display:none}.med-top-actions .med-button{font-size:12px;white-space:nowrap}.med-top-actions .med-button span{display:none}.med-world-heading{top:17%;max-width:85%}.med-world-heading h1{font-size:36px;line-height:1.1;letter-spacing:-.8px;margin-bottom:14px}.med-heading-description{font-size:13px;max-width:285px;margin:auto}.med-bubble{width:108px;height:108px;margin:-54px;gap:10px}.med-bubble-label{font-size:18px}.med-bubble-icon{font-size:25px}.med-world-controls{right:20px;bottom:99px;gap:3px}.med-control{width:32px;height:32px}.med-dock{width:calc(100% - 28px);padding:6px;gap:0;border-radius:999px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}.med-dock button{padding:12px 4px;font-size:13px;min-width:0;flex:1 1 0}.med-dock button[data-med-route="home"]{flex:0 0 34px;width:34px;font-size:20px}.med-workspace{top:92px;left:14px;right:14px;bottom:calc(90px + env(safe-area-inset-bottom,0px));border-radius:20px}.med-panel-header{height:78px;padding:19px 20px 16px;gap:8px}.med-panel-header h2{font-size:32px;letter-spacing:-.5px}.med-panel-content{padding:20px;height:calc(100% - 78px)}.med-panel-content h3{font-size:25px}.med-grid{grid-template-columns:1fr}.med-card{padding:16px}.med-atlas-panel .med-panel-header{height:64px;padding:8px 6px 14px}.med-atlas-panel .med-panel-header h2{font-size:30px}.med-atlas-panel .med-panel-content{height:calc(100% - 64px)}.med-atlas-status{bottom:0;left:0;max-width:57%;font-size:10px}.med-atlas-credit{right:0;font-size:9px}.med-flight-label{bottom:94px;font-size:19px}.med-toast{bottom:92px;font-size:14px}.med-list-mode .med-world-nodes{left:12%;right:12%;top:36%;bottom:122px;gap:14px}.med-list-mode .med-bubble{height:125px}}
@media(max-width:650px) and (max-height:700px){.med-world-heading{top:106px;max-width:90%}.med-world-heading h1{font-size:28px;margin-bottom:0}.med-heading-description{display:none}.med-bubble{width:82px;height:82px;margin:-41px;gap:6px}.med-bubble-label{font-size:15px}.med-bubble-icon{font-size:21px}.med-world-controls{bottom:92px}.med-world-controls .med-control{width:26px;height:26px;font-size:16px}.med-list-mode .med-world-nodes{top:165px;bottom:118px}.med-list-mode .med-bubble{height:100px}}
@media(max-width:350px){.med-topbar{left:73px;right:73px}.med-brand{font-size:16px}.med-top-actions .med-button{font-size:11px}.med-dock button{font-size:11px}.med-panel-header h2{font-size:28px}}
@media(max-width:650px){.med-dock button[data-med-route="home"]{flex-basis:44px;width:44px;min-width:44px}}
@media(max-height:600px) and (min-width:651px){.med-world-heading{top:100px}.med-world-heading h1{font-size:32px;margin-bottom:0}.med-heading-description{display:none}.med-bubble{width:100px;height:100px;margin:-50px}.med-bubble-label{font-size:18px}.med-list-mode .med-world-nodes{top:160px;bottom:110px;grid-template-columns:repeat(4,1fr);left:8%;right:8%}.med-list-mode .med-bubble{height:110px}}
@media(prefers-reduced-motion:reduce){.med-text-reveal{opacity:1;filter:none;transform:none}.medical-space *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.med-flight-label{display:none}.med-list-mode .med-world-nodes{pointer-events:auto}}
html.is-kindle .med-text-reveal{opacity:1;filter:none;transform:none}html.is-kindle .medical-space *{box-shadow:none;animation:none}
/* The real DOM clip and SDF retain the n=4 superellipse without painted rims. */
.medical-space.med-liquid-material .med-bubble{border:0;border-radius:0}
.medical-space.med-liquid-material .med-bubble::after{content:none;display:none}
.medical-space.med-liquid-material .med-bubble::before{border-radius:0}
@media(max-width:650px){.med-world-heading{top:14.5%}}
@media(max-width:650px) and (max-height:700px){.med-world-heading{top:104px}.med-world-heading h1{font-size:25px}}
/* Home lenses never remain behind another room, even during a resize or flight. */
.med-traveling .med-bubble,.med-panel-open .med-bubble{visibility:hidden!important}
/* Anatomy uses the entire room; its own HUD supplies the controls and title. */
.med-workspace.med-atlas-panel{top:92px;bottom:100px;left:12px;right:12px}
.med-atlas-panel .med-panel-header{position:absolute;top:4px;right:10px;z-index:5;height:auto;padding:0;gap:4px}
.med-atlas-panel .med-panel-header>div{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
.med-atlas-panel .med-panel-header .med-control{width:32px;height:32px;background:var(--med-glass);backdrop-filter:blur(10px);border:1px solid var(--med-line)}
.med-atlas-panel .med-panel-content{height:100%;padding:0}
@media(max-width:650px){.med-workspace.med-atlas-panel{top:76px;bottom:calc(82px + env(safe-area-inset-bottom,0px));left:0;right:0}.med-atlas-panel .med-panel-header{top:2px;right:8px;gap:2px}.med-atlas-panel .med-panel-header .med-control{width:30px;height:30px;font-size:20px}.med-atlas-panel .med-panel-content{height:100%}}
.medical-space .med-workspace.med-atlas-panel .med-panel-header{position:absolute;z-index:5}

/* Daytime text is true black; surface transparency never dims the glyphs. */
html:not(.dark-mode) .medical-space :is(.med-muted,.med-eyebrow,.med-atlas-status,.med-atlas-credit,.med-dock button,.med-bubble-label,.med-bubble-icon):not(.med-text-reveal){color:#000;opacity:1}
html:not(.dark-mode) .medical-space :is(input,textarea)::placeholder{color:#000;opacity:1}
html:not(.dark-mode) .medical-space :is(button,input,textarea,select,a):is(:disabled,[aria-disabled="true"],[aria-busy="true"],[data-pending="true"],.is-pending,.is-busy):not([hidden]):not([inert]):not(.med-text-reveal):not(.med-entering):not(.med-leaving):not(.is-hidden){color:#000!important;opacity:1!important;-webkit-text-fill-color:#000}
html:not(.dark-mode) .medical-space :is(.clinical-case-index,.clinical-case-arrow,.clinical-step,.clinical-choice-letter,.clinical-session-score small,.clinical-thinking-icon,.clinical-empty-scan i,.clinical-score-change,.clinical-ai-message-label,.med-delete-note,.med-detail-close,.med-wikilink-missing){color:#000!important;opacity:1!important}
html:not(.dark-mode) .medical-space :is(.med-button--primary,.med-button-primary,.med-button.primary){color:#000;background:transparent;border-color:rgba(0,0,0,.15)}
html:not(.dark-mode) :is(.med-return-space,.preview-settings,.settings-toggle-btn,.theme-toggle-btn){color:#000}

/* Modern shared UI: the welcome headline remains editorial serif. */
.med-dock{font-family:var(--med-ui-font);padding:7px 9px;gap:4px;border-radius:999px;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.med-dock button{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-width:44px;min-height:44px;padding:11px 16px;border-radius:999px;font-family:var(--med-ui-font);font-size:13px;font-weight:500;line-height:1.2;background:transparent;color:var(--med-ink)}
.med-dock button svg{width:20px;height:20px;flex-shrink:0;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.med-dock button .med-dock-label{display:inline}
.med-dock button[data-med-route="home"]{width:44px;min-width:44px;padding:10px;flex:none;font-size:13px}
.med-dock button[data-med-route="home"] .med-dock-label{display:none}
.med-dock button::after{content:'';position:absolute;bottom:5px;left:calc(50% - 9px);width:18px;height:2px;border-radius:999px;background:currentColor;opacity:0;transform:scaleX(.6);transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}
.med-dock button.active::after{opacity:1;transform:scaleX(1)}
.med-dock button:hover,.med-dock button.active,html.dark-mode .med-dock button.active{background:transparent;color:var(--med-ink);box-shadow:none}
.med-dock button:hover svg{transform:translateY(-1px)}
.med-dock button:focus-visible{outline:2px solid var(--med-ink);outline-offset:2px}
.med-panel-header{font-family:var(--med-ui-font);height:82px;padding:22px 28px 18px;border-bottom-color:var(--med-line)}
.med-panel-header h2{font-family:var(--med-ui-font);font-size:28px;font-weight:600;line-height:1.18;letter-spacing:-.6px}
.med-panel-content{height:calc(100% - 82px);padding:24px 28px}
.med-top-actions,.med-control{font-family:var(--med-ui-font)}
.med-entering{animation:med-room-enter .68s cubic-bezier(.16,1,.3,1) both}
.med-leaving{animation:med-room-exit .22s cubic-bezier(.16,1,.3,1) both;pointer-events:none}
@keyframes med-room-enter{from{opacity:0;filter:blur(10px);transform:translate3d(var(--med-enter-x),var(--med-enter-y),0) scale(.995)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes med-room-exit{from{opacity:1;filter:blur(0);transform:none}to{opacity:0;filter:blur(3px);transform:translate3d(calc(var(--med-enter-x)*-.5),calc(var(--med-enter-y)*-.5),0) scale(.998)}}
@media(max-width:650px){
 .med-dock{width:calc(100% - 24px);max-width:390px;padding:6px;gap:3px}
 .med-dock button,.med-dock button[data-med-route="home"]{flex:1 1 0;width:auto;min-width:44px;min-height:44px;padding:10px 6px}
 .med-dock button .med-dock-label{display:none}
 .med-panel-header{height:70px;padding:18px 20px 15px}.med-panel-header h2{font-size:24px;letter-spacing:-.45px}
 .med-panel-content{height:calc(100% - 70px);padding:22px 20px}
}
/* Atlas keeps its independent full-room layout and compact parent controls. */
.medical-space .med-atlas-panel .med-panel-content{height:100%;padding:0}
@media(prefers-reduced-motion:reduce){.med-entering,.med-leaving{animation:none!important}.med-dock button svg,.med-dock button::after{transition:none}.med-dock button:hover svg{transform:none}}

/* Distant wallpaper follows the camera without changing the selected image. */
html.med-space-background::before{inset:-12px;width:calc(100vw + 24px);height:calc(100dvh + 24px);transform:translate3d(var(--med-wallpaper-x,0px),var(--med-wallpaper-y,0px),0) scale(1.035);transform-origin:center;will-change:transform}
.med-entering .med-panel-header{animation:med-room-detail .55s cubic-bezier(.16,1,.3,1) .07s both}
.med-entering .med-panel-content:not([hidden]){animation:med-room-detail .58s cubic-bezier(.16,1,.3,1) .1s both}
@keyframes med-room-detail{from{opacity:0;filter:blur(8px);transform:translateY(9px)}to{opacity:1;filter:blur(0);transform:none}}
@media(prefers-reduced-motion:reduce){html.med-space-background::before{transform:none!important}.med-entering .med-panel-header,.med-entering .med-panel-content{animation:none!important}}
/* Frame the light Tahoe scene around its brighter region on narrow screens,
   keeping black controls readable without painting white onto the glass. */
@media(max-width:650px){html.med-space-background[data-wallpaper="tahoe"]:not(.dark-mode)::before{background-size:auto 135%;background-position:center top}}
