:root {
  --bg: #10100f;
  --panel: #191918;
  --panel-2: #232220;
  --paper: #f2efe8;
  --ink: #191817;
  --muted: #9b978e;
  --red: #8d2639;
  --red-bright: #b53d50;
  --gold: #c5a875;
  --line: rgba(255,255,255,.1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: #f3f0e9; font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif; }
button, select, textarea { font: inherit; }
button { cursor: pointer; }
.topbar { height: 76px; display: flex; align-items: center; padding: 0 4vw; border-bottom: 1px solid var(--line); background: rgba(15,15,14,.96); position: sticky; top: 0; z-index: 20; }
.brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; min-width: 310px; }
.brand-mark { display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid var(--gold); color: var(--gold); font-family: serif; font-size: 22px; }
.brand b, .brand small { display: block; }
.brand b { font-family: serif; font-size: 20px; letter-spacing: .25em; }
.brand small { margin-top: 3px; color: #88847d; font-size: 10px; letter-spacing: .16em; }
nav { display: flex; align-self: stretch; justify-content: center; flex: 1; gap: 6px; }
.nav-item { padding: 0 20px; border: 0; border-bottom: 2px solid transparent; background: none; color: #aaa69e; }
.nav-item:hover, .nav-item.active { color: white; border-color: var(--red-bright); }
.student { display: flex; align-items: center; justify-content: flex-end; gap: 10px; min-width: 310px; }
.student b, .student small { display: block; font-size: 12px; }
.student small { color: #817e78; margin-top: 4px; }
.avatar { border: 1px solid #58534e; color: white; background: #2b2926; border-radius: 50%; width: 36px; height: 36px; }
.fullscreen-button { width: 34px; height: 34px; border: 1px solid #4b4843; background: transparent; color: #aaa69e; font-size: 17px; }
.fullscreen-button:hover { color: white; border-color: var(--gold); }
.progress-ring { width: 38px; height: 38px; border-radius: 50%; background: conic-gradient(var(--red-bright) 68%, #34322e 0); display: grid; place-items: center; }
.progress-ring:after { content: ""; grid-area: 1/1; width: 29px; height: 29px; border-radius: 50%; background: var(--bg); }
.progress-ring span { grid-area: 1/1; z-index: 1; font-size: 9px; }
.view { display: none; min-height: calc(100vh - 76px); }
.view.active { display: block; animation: gallery-arrival .65s cubic-bezier(.2,.75,.25,1) both; }
#home > .hero, #home > .home-grid { display: none; }
.museum-walk { --walk-z: 0px; --museum-bg-scale: 1; --museum-bg-y: 0px; position: relative; height: calc(100vh - 76px); min-height: 620px; overflow: hidden; background: #17120d; color: #f4f0e8; }
.museum-viewport { position: absolute; inset: 0; overflow: hidden; perspective: 900px; perspective-origin: 50% 47%; isolation: isolate; }
.museum-viewport:before { content: ""; position: absolute; z-index: -3; inset: -7%; background: url("museum-corridor-realistic.png") center center / cover no-repeat; transform: translateY(var(--museum-bg-y)) scale(var(--museum-bg-scale)); transition: transform .7s cubic-bezier(.2,.72,.18,1); filter: saturate(.82) brightness(.78) contrast(1.05); }
.museum-viewport:after { content: ""; position: absolute; z-index: -2; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(12,8,5,.16), transparent 28% 70%, rgba(8,6,4,.42)), linear-gradient(90deg, rgba(7,5,3,.32), transparent 22% 78%, rgba(7,5,3,.32)); }
.museum-world { position: absolute; left: 50%; top: 50%; width: 1200px; height: 700px; margin: -350px 0 0 -600px; transform-style: preserve-3d; transform: translateZ(var(--walk-z)); transition: transform .7s cubic-bezier(.2,.72,.18,1); }
.museum-floor-plane, .museum-ceiling, .museum-wall, .museum-end-wall { position: absolute; backface-visibility: hidden; }
.museum-floor-plane { left: -500px; top: 530px; width: 2200px; height: 6500px; transform-origin: top; transform: rotateX(90deg); background: repeating-linear-gradient(90deg, transparent 0 198px, rgba(197,168,117,.12) 199px 201px), repeating-linear-gradient(0deg, rgba(30,25,20,.08) 0 198px, rgba(197,168,117,.1) 199px 201px); opacity: .22; }
.museum-ceiling { left: -500px; top: 70px; width: 2200px; height: 6500px; transform-origin: top; transform: rotateX(90deg); background: repeating-linear-gradient(90deg, transparent 0 295px, rgba(197,168,117,.12) 298px 300px); opacity: .12; }
.museum-wall { top: -300px; width: 6500px; height: 1500px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 2px, transparent 2px 160px); opacity: .1; }
.wall-left { left: 0; transform-origin: left; transform: rotateY(90deg); }
.wall-right { right: 0; transform-origin: right; transform: rotateY(-90deg); }
.museum-end-wall { left: 0; top: 0; width: 1200px; height: 700px; transform: translateZ(-6800px); display: grid; place-items: center; align-content: center; border: 1px solid rgba(197,168,117,.25); background: radial-gradient(circle at 50% 44%, rgba(53,48,38,.7), rgba(18,18,17,.55) 62%); }
.museum-end-wall span { color: var(--gold); font: 118px/1 "SimSun",serif; letter-spacing: .18em; text-shadow: 0 0 50px rgba(197,168,117,.28); }
.museum-end-wall small { margin-top: 25px; color: #aaa299; letter-spacing: .5em; }
.museum-exhibit { position: absolute; width: 360px; height: 390px; padding: 0; border: 0; background: transparent; color: white; transform-style: preserve-3d; transition: filter .35s, opacity .35s; }
.museum-exhibit:focus-visible { outline: 2px solid var(--gold); outline-offset: 8px; }
.exhibit-squamous { left: 70px; top: 160px; transform: translateZ(-350px) rotateY(12deg); }
.exhibit-adeno { right: 60px; top: 160px; transform: translateZ(-980px) rotateY(-12deg); }
.exhibit-lobar-red { left: 85px; top: 160px; transform: translateZ(-1580px) rotateY(12deg); }
.exhibit-lobar-gray { right: 60px; top: 160px; transform: translateZ(-2140px) rotateY(-12deg); }
.exhibit-bronchopneumonia { left: 75px; top: 160px; transform: translateZ(-2750px) rotateY(12deg); }
.exhibit-tuberculosis { right: 60px; top: 160px; transform: translateZ(-3370px) rotateY(-12deg); }
.exhibit-caseous { left: 75px; top: 160px; transform: translateZ(-4000px) rotateY(12deg); }
.exhibit-fibrocavitary { right: 60px; top: 160px; transform: translateZ(-4630px) rotateY(-12deg); }
.exhibit-infarct { left: 75px; top: 160px; transform: translateZ(-5350px) rotateY(12deg); }
.exhibit-gastric-ulcer { right: 60px; top: 160px; transform: translateZ(-6150px) rotateY(-12deg); }
.exhibit-frame { position: absolute; inset: 0 35px 82px; display: grid; place-items: center; overflow: hidden; border: 9px solid #3d3932; border-bottom-width: 18px; background: radial-gradient(circle, #f0ece3, #bdb5a8); box-shadow: 0 20px 45px #000, inset 0 0 30px rgba(0,0,0,.3); }
.exhibit-frame:after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255,255,255,.32), transparent 24% 66%, rgba(255,255,255,.12)); pointer-events: none; }
.exhibit-frame img { width: 92%; height: 92%; object-fit: contain; filter: drop-shadow(0 15px 10px rgba(0,0,0,.55)); transition: transform .5s; }
.museum-exhibit:hover .exhibit-frame img, .museum-exhibit.nearby .exhibit-frame img { transform: scale(1.06); }
.exhibit-light { position: absolute; left: 75px; right: 75px; top: -90px; height: 180px; background: linear-gradient(180deg, rgba(255,236,188,.55), transparent); clip-path: polygon(35% 0,65% 0,100% 100%,0 100%); filter: blur(8px); opacity: .65; }
.exhibit-plaque { position: absolute; left: 35px; right: 35px; bottom: 0; min-height: 70px; padding: 12px 16px; text-align: left; border-left: 2px solid var(--gold); background: rgba(13,13,12,.92); box-shadow: 0 12px 30px #000; }
.exhibit-plaque small, .exhibit-plaque b, .exhibit-plaque em { display: block; }
.exhibit-plaque small { color: var(--gold); font-size: 9px; letter-spacing: .14em; }
.exhibit-plaque b { margin-top: 6px; font: 20px "SimSun",serif; }
.exhibit-plaque em { margin-top: 4px; color: #78736b; font-size: 9px; font-style: normal; }
.museum-exhibit.nearby { filter: drop-shadow(0 0 25px rgba(197,168,117,.5)); }
.museum-exhibit.nearby .exhibit-plaque { background: rgba(88,31,42,.96); }
.museum-sign { position: absolute; width: 380px; padding: 14px 20px; text-align: center; border: 1px solid #6a5e49; background: #171613; box-shadow: 0 10px 28px #000; }
.museum-sign span, .museum-sign i { display: block; }.museum-sign span { font: 22px serif; }.museum-sign i { margin-top: 5px; color: var(--gold); font-size: 8px; font-style: normal; letter-spacing: .25em; }
.sign-one { left: 410px; top: 75px; transform: translateZ(-650px); }.sign-two { left: 410px; top: 75px; transform: translateZ(-1400px); }.sign-three { left: 410px; top: 75px; transform: translateZ(-3100px); }.sign-four { left: 410px; top: 75px; transform: translateZ(-5050px); }.sign-five { left: 410px; top: 75px; transform: translateZ(-5850px); }
.museum-hud { position: absolute; z-index: 8; left: 4vw; right: 4vw; top: 28px; display: flex; justify-content: space-between; pointer-events: none; text-shadow: 0 2px 8px #000; }
.museum-hud h1 { margin: 5px 0; font: 27px "SimSun",serif; letter-spacing: .12em; }.museum-hud p { margin: 0; color: #9f9a91; font-size: 11px; }
.museum-floor { color: var(--gold); font-size: 9px; letter-spacing: .25em; }
.walk-progress { width: 150px; height: 3px; margin-top: 22px; background: rgba(255,255,255,.18); }.walk-progress i { display: block; width: 0; height: 100%; background: var(--gold); transition: width .4s; }
.museum-vignette { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at center, transparent 52%, rgba(20,12,7,.42) 100%), linear-gradient(180deg, rgba(0,0,0,.2), transparent 25% 75%, rgba(0,0,0,.52)); }
.museum-reticle { position: absolute; z-index: 7; left: 50%; bottom: 95px; transform: translateX(-50%); text-align: center; pointer-events: none; }
.museum-reticle i { display: block; width: 22px; height: 22px; margin: 0 auto 10px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; box-shadow: 0 0 12px rgba(255,255,255,.25); }
.museum-reticle span { padding: 7px 12px; background: rgba(10,10,9,.72); color: #bbb5ac; font-size: 10px; }
.museum-controls { position: absolute; z-index: 9; left: 4vw; right: 4vw; bottom: 25px; display: flex; justify-content: space-between; align-items: end; }
.key-guide { display: flex; gap: 15px; color: #8b867e; font-size: 9px; }.key-guide span { display: flex; align-items: center; gap: 5px; }
kbd { min-width: 22px; padding: 4px 6px; border: 1px solid #686159; border-radius: 2px; background: rgba(20,20,19,.8); color: white; text-align: center; box-shadow: inset 0 -2px rgba(0,0,0,.5); }
.walk-buttons { display: flex; gap: 8px; }.walk-buttons button { min-height: 40px; padding: 0 17px; border: 1px solid #625c53; background: rgba(16,16,15,.82); color: #c6c0b7; backdrop-filter: blur(8px); }
.walk-buttons button:hover:not(:disabled) { border-color: var(--gold); color: white; }.walk-buttons #enterNearby:not(:disabled) { border-color: var(--gold); background: var(--red); color: white; }.walk-buttons button:disabled { opacity: .35; cursor: default; }
.museum-intro { position: absolute; z-index: 15; inset: 0; display: none; place-items: center; align-content: center; text-align: center; padding: 34px; background: linear-gradient(90deg, rgba(8,6,4,.94), rgba(15,10,7,.76) 52%, rgba(8,6,4,.9)), url("museum-corridor-realistic.png") center / cover; backdrop-filter: blur(5px); overflow-y: auto; }
.museum-intro.show { display: grid; animation: intro-in .8s ease both; }.museum-intro.leaving { animation: intro-out .9s ease both; pointer-events: none; }
.museum-intro > span { color: var(--gold); font-size: 10px; letter-spacing: .45em; }.museum-intro h2 { margin: 14px 0 8px; font: 46px "SimSun",serif; letter-spacing: .14em; }.museum-intro > p { margin: 0 0 20px; max-width: 520px; color: #bdb6ad; font-size: 12px; line-height: 1.8; }
.hall-quick-links { width: min(960px, 92vw); display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; text-align: left; }
.hall-quick-card { min-height: 105px; display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 13px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.2); background: rgba(19,17,14,.82); color: white; backdrop-filter: blur(12px); transition: .25s; }
.hall-quick-card:hover { transform: translateY(-3px); border-color: var(--gold); background: rgba(46,38,29,.94); }
.hall-quick-card i { color: rgba(197,168,117,.78); font: 34px/1 serif; font-style: normal; }
.hall-quick-card span, .hall-quick-card b, .hall-quick-card small { display: block; }
.hall-quick-card b { font: 20px "SimSun",serif; letter-spacing: .06em; }.hall-quick-card small { margin-top: 7px; color: #918b82; font-size: 10px; }
.hall-quick-card em { color: var(--gold); font-size: 9px; font-style: normal; white-space: nowrap; }
.hall-quick-card.respiratory { border-left: 3px solid #9c594c; }.hall-quick-card.cardiovascular { border-left: 3px solid #8d2639; }.hall-quick-card.digestive { border-left: 3px solid #927e42; }.hall-quick-card.infectious { border-left: 3px solid #657b67; }
.hall-quick-card.planned { opacity: .72; }.hall-quick-card.planned em { padding: 4px 7px; border: 1px solid #726b60; color: #aaa39a; }
.hall-quick-card.notice-pulse { animation: hall-notice .55s ease; }
.hall-quick-notice { min-height: 18px; margin-top: 12px; color: #a49d93; font-size: 10px; }
.museum-enter-button { margin-top: 12px; min-width: 220px; min-height: 46px; border: 1px solid var(--gold); background: rgba(20,17,13,.72); color: white; letter-spacing: .12em; }.museum-enter-button:hover { background: var(--red); }
.hall-transition { --hall-accent: #9c594c; position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; visibility: hidden; pointer-events: none; overflow: hidden; background: #0b0907; }
.hall-transition.show { visibility: visible; }
.hall-transition-door { position: absolute; top: 0; bottom: 0; width: 51%; background: linear-gradient(90deg, #100d0a, #35291f); box-shadow: inset 0 0 0 1px rgba(197,168,117,.25); }
.hall-transition-door:after { content: ""; position: absolute; top: 8%; bottom: 8%; width: 2px; background: linear-gradient(transparent, var(--hall-accent), transparent); box-shadow: 0 0 28px var(--hall-accent); }
.hall-transition-door.left { left: 0; }.hall-transition-door.left:after { right: 0; }
.hall-transition-door.right { right: 0; background: linear-gradient(-90deg, #100d0a, #35291f); }.hall-transition-door.right:after { left: 0; }
.hall-transition.show .hall-transition-door.left { animation: hall-door-left 1.65s cubic-bezier(.75,0,.2,1) both; }
.hall-transition.show .hall-transition-door.right { animation: hall-door-right 1.65s cubic-bezier(.75,0,.2,1) both; }
.hall-transition-content { position: relative; z-index: 2; text-align: center; opacity: 0; transform: scale(.88); text-shadow: 0 5px 24px #000; }
.hall-transition.show .hall-transition-content { animation: hall-title-pass 1.65s ease both; }
.hall-transition-content span { color: var(--hall-accent); font-size: 10px; letter-spacing: .45em; }.hall-transition-content h2 { margin: 18px 0 9px; font: 52px "SimSun",serif; letter-spacing: .1em; }.hall-transition-content p { margin: 0; color: #aaa39a; font-size: 10px; letter-spacing: .35em; }
.hall-transition-content i { display: block; width: 150px; height: 1px; margin: 24px auto 0; background: linear-gradient(90deg, transparent, var(--hall-accent), transparent); }
.hall-transition.respiratory { --hall-accent: #b06c58; }.hall-transition.cardiovascular { --hall-accent: #b53d50; }.hall-transition.digestive { --hall-accent: #b19a55; }.hall-transition.infectious { --hall-accent: #769078; }
.module-copy-note { margin: 12px 8px 0; padding: 12px; border: 1px solid rgba(118,144,120,.32); color: #9ead9f; background: rgba(118,144,120,.08); font-size: 11px; line-height: 1.65; }
@keyframes intro-in { from { opacity: 0; transform: scale(1.04); } }
@keyframes intro-out { to { opacity: 0; transform: scale(1.08); filter: blur(8px); } }
@keyframes hall-notice { 50% { border-color: var(--gold); box-shadow: 0 0 28px rgba(197,168,117,.3); } }
@keyframes hall-door-left { 0%, 38% { transform: translateX(0); } 100% { transform: translateX(-103%); } }
@keyframes hall-door-right { 0%, 38% { transform: translateX(0); } 100% { transform: translateX(103%); } }
@keyframes hall-title-pass { 0% { opacity: 0; transform: scale(.88); filter: blur(8px); } 23%, 57% { opacity: 1; transform: scale(1); filter: none; } 100% { opacity: 0; transform: scale(1.12); filter: blur(5px); } }
.hero { height: 580px; position: relative; overflow: hidden; }
.hero > img { width: 100%; height: 100%; object-fit: cover; object-position: center 56%; opacity: .8; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,9,8,.94) 0%, rgba(10,10,9,.66) 38%, rgba(10,10,9,.08) 68%), linear-gradient(0deg, var(--bg), transparent 34%); }
.hero-content { position: absolute; left: 9vw; top: 100px; width: 550px; }
.eyebrow, .kicker { color: var(--gold); font-size: 11px; letter-spacing: .25em; }
.hero h1 { margin: 20px 0; font-family: "SimSun", serif; font-size: clamp(48px, 5.1vw, 78px); font-weight: 400; line-height: 1.12; letter-spacing: .04em; }
.lead { color: #b7b2aa; font-size: 16px; line-height: 1.9; max-width: 470px; }
.hero-actions { display: flex; gap: 12px; margin-top: 35px; }
.primary, .ghost, .outline { min-height: 44px; padding: 0 22px; border: 1px solid transparent; color: white; transition: .2s; }
.primary { background: var(--red); }
.primary:hover { background: var(--red-bright); transform: translateY(-1px); }
.ghost { background: rgba(20,20,19,.45); border-color: #77716a; backdrop-filter: blur(5px); }
.outline { background: transparent; border-color: #5b5751; }
.today-card { position: absolute; right: 7vw; bottom: 36px; width: 300px; padding: 24px; border: 1px solid rgba(255,255,255,.16); background: rgba(22,21,20,.84); backdrop-filter: blur(12px); }
.tag { display: inline-block; color: var(--gold); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.task-number { position: absolute; right: 22px; top: 14px; color: rgba(255,255,255,.09); font: 66px/1 serif; }
.today-card h3 { margin: 22px 0 7px; font: 23px serif; }
.today-card p, .task-meta { color: #928e87; font-size: 11px; }
.task-progress { height: 3px; background: #46413d; margin: 24px 0 9px; }
.task-progress i { display: block; height: 100%; background: var(--red-bright); }
.task-meta { display: flex; justify-content: space-between; }
.task-meta b { color: #c2bdb4; }
.home-grid { display: grid; grid-template-columns: 1fr 320px; gap: 44px; padding: 22px 7vw 70px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 22px; }
.section-heading h2, .achievement h2 { margin: 6px 0 0; font: 28px serif; }
.text-button, .next-link { color: #a9a39b; border: 0; background: none; }
.hall-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.hall-card { min-height: 280px; position: relative; overflow: hidden; border: 1px solid var(--line); background: var(--panel); transition: .25s; cursor: pointer; }
.hall-card:hover { transform: translateY(-5px); border-color: #766f64; }
.hall-art { height: 165px; display: grid; place-items: center; overflow: hidden; }
.lung-art { background: radial-gradient(circle at 50% 42%, #6d2732 0, #25191a 40%, #131313 70%); }
.heart-art { background: radial-gradient(circle, #63323a, #181617 65%); }
.cell-art { background: radial-gradient(circle, #395b60, #172326 50%, #121313 70%); }
.organ { color: rgba(202,132,125,.7); font: 80px serif; filter: drop-shadow(0 0 24px rgba(182,55,70,.5)); }
.organ-lung { letter-spacing: -20px; transform: scaleY(1.35); }
.cell-orbit { width: 90px; height: 90px; border: 1px solid #6ca1a6; border-radius: 50%; box-shadow: 0 0 35px #31565a, inset 0 0 20px #213b3e; position: relative; }
.cell-orbit:before, .cell-orbit:after { content: ""; position: absolute; border: 1px solid #648b8e; border-radius: 50%; inset: 18px -20px; transform: rotate(55deg); }
.cell-orbit:after { transform: rotate(-55deg); }
.hall-info { padding: 18px 20px; }
.hall-info span { color: var(--red-bright); font-size: 10px; }
.hall-info h3 { margin: 7px 0; font: 18px serif; }
.hall-info p { margin: 0; color: #7c7871; font-size: 11px; }
.hall-index { position: absolute; right: 16px; bottom: 14px; color: rgba(255,255,255,.12); font: 35px serif; }
.achievement { background: #e9e4db; color: var(--ink); padding: 28px; margin-top: -60px; position: relative; z-index: 2; }
.score-orbit { width: 138px; height: 138px; margin: 25px auto; border: 1px solid #c9bfae; border-radius: 50%; display: grid; place-items: center; align-content: center; box-shadow: inset 0 0 0 8px #ded7cc; }
.score-orbit strong { font: 48px serif; color: var(--red); }
.score-orbit span { font-size: 10px; color: #80796f; }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid #ccc3b6; padding: 18px 0; }
.stats div { text-align: center; border-right: 1px solid #ccc3b6; }
.stats div:last-child { border: 0; }
.stats b, .stats span { display: block; }
.stats b { font: 19px serif; }
.stats span { margin-top: 5px; color: #877f75; font-size: 9px; }
.tip { display: flex; gap: 10px; margin: 20px 0 0; font-size: 11px; line-height: 1.6; color: #69635a; }
.tip i { flex: 0 0 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--red); color: white; font-style: normal; }
.tip b { display: block; color: var(--ink); }
.page-head, .lab-head { display: flex; justify-content: space-between; align-items: end; padding: 42px 6vw 28px; border-bottom: 1px solid var(--line); }
.page-head h1, .lab-head h1 { margin: 7px 0; font: 38px serif; }
.page-head p { color: var(--muted); margin: 0; }
.gallery-layout { display: grid; grid-template-columns: 260px 1fr; min-height: calc(100vh - 215px); }
.lesson-list { border-right: 1px solid var(--line); padding: 28px 20px 40px 5vw; }
.lesson-list > p { color: #77736c; font-size: 11px; letter-spacing: .15em; }
.lesson-list button { width: 100%; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; text-align: left; gap: 10px; border: 0; border-left: 2px solid transparent; background: none; color: #aaa69e; padding: 16px 12px; }
.lesson-list button.active { background: #211d1d; border-left-color: var(--red-bright); color: white; }
.lesson-list i { color: #766f67; font-style: normal; font: 17px serif; }
.lesson-list small { color: #66625c; }
.lesson-list b { color: var(--red-bright); font-size: 11px; }
.exhibit { display: grid; grid-template-columns: minmax(400px, 1.4fr) minmax(340px, .7fr); gap: 1px; background: var(--line); }
.exhibit-stage { position: relative; display: grid; place-items: center; min-height: 610px; background: radial-gradient(circle at 50% 40%, #443b34 0, #1d1c1a 37%, #111 72%); }
.exhibit-stage:before { content: ""; position: absolute; width: 62%; height: 20%; left: 19%; bottom: 5%; border-radius: 50%; background: radial-gradient(ellipse, rgba(197,168,117,.22), transparent 68%); filter: blur(12px); }
.exhibit-switcher { position: absolute; top: 16px; left: 50%; z-index: 7; display: flex; flex-wrap: wrap; justify-content: center; width: min(720px, 92%); transform: translateX(-50%); padding: 4px; border: 1px solid rgba(255,255,255,.12); background: rgba(12,12,11,.76); backdrop-filter: blur(12px); }
.exhibit-switcher button { border: 0; padding: 8px 13px; background: transparent; color: #827d75; font-size: 10px; }
.exhibit-switcher button span { color: var(--gold); margin-right: 6px; font-family: serif; }
.exhibit-switcher button.active { color: white; background: var(--red); box-shadow: 0 0 22px rgba(181,61,80,.28); }
.gross-specimen-viewer { width: min(390px, 62%); height: 470px; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.12); background: linear-gradient(145deg, #f4f1ea, #d7d1c7); box-shadow: 0 24px 70px rgba(0,0,0,.42); perspective: 900px; }
.specimen-scene { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; visibility: hidden; transform: scale(.82) rotateY(14deg); filter: blur(8px); transition: opacity .5s ease, transform .72s cubic-bezier(.16,.9,.25,1), filter .45s ease, visibility .5s; }
.specimen-scene.active { opacity: 1; visibility: visible; transform: scale(1) rotateY(0); filter: blur(0); z-index: 2; }
.specimen-scene.leaving { transform: scale(1.12) rotateY(-12deg); opacity: 0; filter: blur(7px); }
.specimen-scene img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }
.adeno-scene { background: radial-gradient(circle at 50% 40%, #3e4e48 0, #17201d 54%, #0d1110 100%); }
.adeno-scene img { width: 88%; height: 88%; filter: drop-shadow(0 22px 18px rgba(0,0,0,.5)); animation: specimen-float 5s ease-in-out infinite; }
.infarct-scene { background: radial-gradient(circle at 50% 42%, #f5f1e9 0, #ddd7ce 68%, #b8afa4 100%); }
.infarct-scene img { width: 94%; height: 94%; filter: drop-shadow(0 18px 15px rgba(0,0,0,.55)); }
.pneumonia-scene { background: radial-gradient(circle at 50% 42%, #e7e2da 0, #c3bbb0 68%, #92887d 100%); }
.pneumonia-scene img { width: 94%; height: 94%; object-fit: contain; filter: drop-shadow(0 18px 15px rgba(0,0,0,.5)); }
.lobar-red-scene { background: #f2ece8; }
.gastric-ulcer-scene { background: radial-gradient(circle at 50% 42%, #f6f0e9 0, #d9ccc0 68%, #a89585 100%); }
.gastric-ulcer-scene img { width: 96%; height: 96%; object-fit: contain; filter: drop-shadow(0 18px 15px rgba(0,0,0,.48)); }
.scan-beam { position: absolute; inset: -20% 0 auto; z-index: 5; height: 28%; opacity: 0; pointer-events: none; background: linear-gradient(180deg, transparent, rgba(196,238,224,.08) 38%, rgba(151,255,222,.72) 50%, rgba(196,238,224,.08) 54%, transparent); mix-blend-mode: screen; }
.gross-specimen-viewer.switching .scan-beam { animation: specimen-scan .9s ease-in-out; }
.gross-specimen-viewer.pins-hidden .lesion-pin { display: none; }
.lesion-pin { position: absolute; display: flex; align-items: center; gap: 7px; border: 0; background: none; color: #fff; filter: drop-shadow(0 2px 3px #000); }
.lesion-pin i { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--red); border: 2px solid #fff; font-style: normal; font-size: 10px; animation: pulse-pin 2s infinite; }
.lesion-pin span { padding: 4px 7px; background: rgba(20,18,17,.78); font-size: 9px; white-space: nowrap; }
.pin-primary { left: 51%; top: 23%; }.pin-bronchus { left: 31%; top: 47%; }.pin-distal { left: 23%; top: 69%; }
.adeno-mass { left: 50%; top: 18%; }.adeno-margin { left: 36%; top: 35%; }.adeno-parenchyma { left: 59%; top: 68%; }
.infarct-zone { left: 28%; top: 63%; }.infarct-wall { left: 69%; top: 48%; }.infarct-compare { left: 31%; top: 31%; }
.pneumonia-field { left: 25%; top: 24%; }.pneumonia-alveoli { left: 55%; top: 49%; }.pneumonia-vessel { left: 32%; top: 72%; }
.ulcer-crater { left: 49%; top: 43%; }.ulcer-folds { left: 65%; top: 28%; }.ulcer-wall { left: 34%; top: 59%; }
.lesion-note { position: absolute; left: 28px; top: 25px; width: 210px; padding: 13px 15px; border-left: 2px solid var(--red-bright); background: rgba(17,16,15,.8); backdrop-filter: blur(6px); }
.lesion-note.note-enter { animation: card-reveal .5s cubic-bezier(.2,.8,.2,1); }
.lesion-note b, .lesion-note span { display: block; }.lesion-note b { font: 14px serif; }.lesion-note span { margin-top: 5px; color: #98938b; font-size: 10px; line-height: 1.6; }
.specimen-jar { width: 250px; height: 350px; border: 4px solid rgba(220,229,220,.4); border-radius: 10px 10px 50px 50px; background: linear-gradient(90deg, rgba(255,255,255,.12), rgba(205,222,208,.18) 20%, rgba(170,188,172,.08)); position: relative; box-shadow: 0 0 60px rgba(192,179,139,.13), inset 0 -40px 60px rgba(143,171,144,.15); }
.specimen-jar:before { content: ""; position: absolute; left: -8px; right: -8px; top: -22px; height: 32px; border: 5px solid #76736c; background: #282724; }
.specimen { position: absolute; inset: 70px 30px 40px; background: radial-gradient(ellipse at 55% 36%, #5d403c 0 12%, transparent 13%), radial-gradient(ellipse, #8b6960 0 45%, #55453e 70%); border-radius: 45% 55% 48% 52%; filter: saturate(.65); transform: rotate(-8deg); }
.specimen:before { content: ""; position: absolute; inset: 34% 18%; border: 7px solid #4b312e; border-radius: 50%; }
.stage-label { position: absolute; left: 30px; bottom: 28px; padding-left: 14px; border-left: 2px solid var(--gold); }
.stage-label span, .stage-label b { display: block; }
.stage-label span { color: #8f8a82; font-size: 10px; margin-bottom: 6px; }
.stage-label b { font: 18px serif; }
.stage-tools { position: absolute; right: 22px; top: 22px; display: flex; flex-direction: column; gap: 7px; }
.stage-tools button { width: 55px; height: 52px; border: 1px solid var(--line); background: rgba(20,20,19,.6); color: white; }
.stage-tools small { display: block; color: #777; font-size: 8px; margin-top: 3px; }
.observation-panel, .diagnosis-panel, .reasoning { background: var(--panel); padding: 38px; }
.observation-panel.panel-shift > * { animation: panel-content-in .55s cubic-bezier(.2,.8,.2,1) both; }
.observation-panel h2, .diagnosis-panel h2, .reasoning h2 { font: 27px serif; margin: 12px 0; }
.observation-panel > p, .diagnosis-panel > p { color: #99958e; font-size: 13px; line-height: 1.8; margin-bottom: 24px; }
.choice { display: flex; gap: 12px; padding: 15px; border: 1px solid #363431; margin-bottom: 9px; color: #bdb8b0; font-size: 12px; line-height: 1.5; transition: .2s; }
.choice:hover { border-color: #686159; background: #211f1d; }
.choice input { accent-color: var(--red-bright); margin-top: 2px; }
.wide { width: 100%; }
.feedback { min-height: 22px; margin: 10px 0; color: var(--gold); font-size: 12px; line-height: 1.5; }
.next-link { display: block; margin: 18px auto 0; }
.next-link:disabled { color: #5e5a54; cursor: not-allowed; text-decoration: line-through; }
.lab-head { padding-block: 25px; }
.slide-id { text-align: right; }
.slide-id span, .slide-id b { display: block; }
.slide-id span { color: #777; font-size: 10px; }
.slide-id b { color: var(--gold); font: 16px serif; margin-top: 5px; }
.microscope-layout { display: grid; grid-template-columns: 1fr 390px; min-height: calc(100vh - 182px); }
.slide-workspace { min-width: 0; background: #0a0a09; padding: 20px 28px 15px; display: grid; grid-template-rows: auto 1fr auto; }
.slide-toolbar { display: flex; justify-content: space-between; padding-bottom: 14px; }
.slide-toolbar button { border: 1px solid #3d3b37; background: #191817; color: #99958e; padding: 9px 15px; }
.slide-toolbar button.active { color: white; background: var(--red); border-color: var(--red); }
.slide-toolbar button:disabled { opacity: .28; cursor: not-allowed; text-decoration: line-through; }
.slide-viewport { min-height: 500px; position: relative; overflow: hidden; background: #e6bea8; cursor: grab; }
.slide-viewport:active { cursor: grabbing; }
.real-slide, .tissue { position: absolute; inset: -10%; transform-origin: center; }
.real-slide { background: #f1eee8; }
.real-slide img { width: 100%; height: 100%; object-fit: contain; display: block; }
.real-slide.hidden { display: none; }
.tissue { display: none; background-color: #e7adad; background-image: radial-gradient(ellipse at 20% 30%, rgba(144,62,132,.72) 0 2%, transparent 2.4%), radial-gradient(ellipse at 50% 65%, rgba(112,44,118,.65) 0 1.5%, transparent 2%), radial-gradient(ellipse at 80% 20%, rgba(153,52,135,.68) 0 2.5%, transparent 3%), radial-gradient(circle at 35% 50%, rgba(243,193,188,.8) 0 7%, transparent 7.5%); background-size: 42px 37px, 33px 31px, 55px 48px, 110px 100px; }
.tissue.active { display: block; }
.micro-pin { position: absolute; display: flex; align-items: center; gap: 6px; border: 0; background: none; color: white; filter: drop-shadow(0 1px 3px #5b2952); }
.micro-pin i { width: 25px; height: 25px; display: grid; place-items: center; border: 2px solid white; border-radius: 50%; background: #814176; font-style: normal; font-size: 10px; }
.micro-pin span { padding: 4px 7px; background: rgba(72,36,69,.8); font-size: 9px; white-space: nowrap; }
.low-nests { left: 66%; top: 34%; }.low-keratin { left: 78%; top: 58%; }.low-stroma { left: 51%; top: 69%; }
.adeno-fourx-glands { left: 38%; top: 48%; }.adeno-fourx-stroma { left: 62%; top: 34%; }.adeno-fourx-inflammation { left: 17%; top: 69%; }
.adeno-tenx-gland { left: 47%; top: 30%; }.adeno-tenx-papillary { left: 68%; top: 51%; }.adeno-tenx-stroma { left: 25%; top: 65%; }
.adeno-twentyx-lumen { left: 45%; top: 34%; }.adeno-twentyx-edge { left: 69%; top: 61%; }.adeno-twentyx-stroma { left: 23%; top: 56%; }
.adeno-fortyx-atypia { left: 59%; top: 33%; }.adeno-fortyx-lumen { left: 47%; top: 63%; }.adeno-fortyx-cytoplasm { left: 21%; top: 38%; }
.adeno-onetwosixx-atypia { left: 36%; top: 48%; }.adeno-onetwosixx-nucleolus { left: 62%; top: 34%; }.adeno-onetwosixx-vacuole { left: 72%; top: 66%; }
.infarct-fourx-necrosis { left: 26%; top: 23%; }.infarct-fourx-inflammation { left: 59%; top: 43%; }.infarct-fourx-border { left: 38%; top: 69%; }
.infarct-tenx-necrosis { left: 30%; top: 20%; }.infarct-tenx-inflammation { left: 62%; top: 43%; }.infarct-tenx-edema { left: 45%; top: 70%; }
.infarct-twentyx-myocytes { left: 48%; top: 36%; }.infarct-twentyx-cells { left: 72%; top: 47%; }.infarct-twentyx-hemorrhage { left: 27%; top: 73%; }
.infarct-fortyx-eosinophilia { left: 66%; top: 32%; }.infarct-fortyx-nuclei { left: 52%; top: 69%; }.infarct-fortyx-inflammation { left: 22%; top: 42%; }
.infarct-onetwosixx-eosinophilia { left: 42%; top: 33%; }.infarct-onetwosixx-striation { left: 61%; top: 57%; }.infarct-onetwosixx-nucleus { left: 25%; top: 67%; }
.pneumonia-pin-one { left: 25%; top: 28%; }.pneumonia-pin-two { left: 61%; top: 45%; }.pneumonia-pin-three { left: 38%; top: 70%; }
.tenx-nest { left: 36%; top: 37%; }.tenx-pearl { left: 44%; top: 59%; }.tenx-stroma { left: 73%; top: 71%; }
.fortyx-pearl { left: 43%; top: 47%; }.fortyx-atypia { left: 70%; top: 37%; }.fortyx-bridge { left: 19%; top: 31%; }
.onetwosixx-atypia { left: 31%; top: 48%; }.onetwosixx-keratin { left: 72%; top: 22%; }.onetwosixx-contact { left: 54%; top: 67%; }
.real-slide:not(.labels-on) .micro-pin { display: none; }
.micro-observation { position: absolute; left: 18px; bottom: 18px; z-index: 3; width: 260px; padding: 10px 13px; background: rgba(48,28,46,.82); border-left: 2px solid #e6bfdc; color: white; pointer-events: none; }
.micro-observation b, .micro-observation span { display: block; }.micro-observation b { font: 13px serif; }.micro-observation span { margin-top: 4px; font-size: 9px; line-height: 1.5; color: #ded1db; }
.nest { position: absolute; width: 180px; height: 130px; border-radius: 48%; background: radial-gradient(circle, #df9ba5 0 3px, #784278 4px 6px, transparent 7px), radial-gradient(ellipse, rgba(130,56,125,.8), rgba(203,119,147,.8) 65%, transparent 67%); background-size: 15px 16px, auto; box-shadow: 0 0 0 9px rgba(126,45,117,.28); }
.n1 { left: 13%; top: 18%; transform: rotate(23deg); }.n2 { right: 14%; top: 12%; transform: rotate(-18deg) scale(.85); }.n3 { left: 38%; bottom: 12%; transform: rotate(8deg) scale(1.2); }.n4 { right: 6%; bottom: 5%; transform: rotate(50deg) scale(.7); }
.pearl { position: absolute; width: 74px; height: 74px; border-radius: 50%; background: repeating-radial-gradient(circle, #f2c3bb 0 5px, #c77e91 6px 10px, #8d4d80 11px 13px); box-shadow: 0 0 8px #804272; }
.p1 { left: 19%; top: 25%; }.p2 { right: 21%; top: 22%; transform: scale(.72); }.p3 { left: 51%; bottom: 21%; transform: scale(.9); }
.label-marker { display: none; position: absolute; padding: 5px 8px; border: 1px solid #fff; background: rgba(95,24,48,.8); font-size: 10px; border-radius: 2px; }
.labels-on .label-marker { display: block; }
.m1 { left: 25%; top: 13%; }.m2 { left: 56%; bottom: 17%; }
.scale { position: absolute; right: 22px; bottom: 20px; color: #3c3030; font-size: 10px; }
.scale i { display: block; width: 85px; border-top: 3px solid #3c3030; }
.slide-footer { display: flex; justify-content: space-between; color: #68645e; font-size: 10px; padding-top: 10px; }
.diagnosis-panel { border-left: 1px solid var(--line); overflow-y: auto; }
.choice.compact b, .choice.compact small { display: block; }
.choice.compact b { color: #ddd8d0; }
.choice.compact small { color: #75716b; margin-top: 3px; }
.note-box { margin: 20px 0; }
.note-box label, .reasoning label { display: block; color: #aaa69e; font-size: 11px; margin-bottom: 14px; }
textarea, select { width: 100%; border: 1px solid #403d39; background: #11110f; color: white; padding: 12px; margin-top: 8px; resize: vertical; }
textarea { min-height: 90px; }
.case-status { padding: 10px 14px; border: 1px solid #665f56; color: var(--gold); font-size: 11px; }
.case-grid { display: grid; grid-template-columns: 1fr 400px; gap: 1px; background: var(--line); padding: 1px 6vw 60px; }
.case-record { background: var(--panel); padding: 35px; }
.patient { display: grid; grid-template-columns: 60px 1fr; gap: 18px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.patient-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: #282f35; color: #a9c5d4; border: 1px solid #526674; }
.patient span { color: var(--gold); font-size: 10px; }.patient h2 { font: 25px serif; margin: 5px 0; }.patient p { color: #99958e; line-height: 1.8; margin: 0; font-size: 13px; }
.evidence-tabs { display: flex; gap: 5px; margin: 25px 0 18px; }
.evidence-tabs button { border: 0; border-bottom: 2px solid transparent; background: none; color: #777; padding: 10px 16px; }
.evidence-tabs button.active { color: white; border-color: var(--red-bright); }
.evidence { display: none; grid-template-columns: minmax(260px, .8fr) 1fr; gap: 28px; align-items: center; background: #121211; padding: 25px; min-height: 315px; }
.evidence.active { display: grid; }
.evidence p { color: #99958e; line-height: 1.8; font-size: 13px; }
.xray { height: 265px; position: relative; border-radius: 48% 48% 35% 35%; background: radial-gradient(ellipse, #6e7a84, #192126 69%); overflow: hidden; }
.xray:before { content: ""; position: absolute; left: 49%; top: 0; bottom: 0; width: 3px; background: rgba(220,230,232,.34); box-shadow: 0 20px 20px 4px rgba(220,230,232,.12); }
.xray .lung { position: absolute; width: 37%; height: 72%; top: 17%; background: #10191e; border: 4px solid rgba(180,197,203,.2); }
.xray .left { left: 10%; border-radius: 50% 35% 45% 55%; }.xray .right { right: 10%; border-radius: 35% 50% 55% 45%; }
.xray i { position: absolute; right: 23%; top: 28%; width: 55px; height: 55px; border-radius: 50%; background: rgba(222,229,226,.67); filter: blur(4px); box-shadow: 0 0 20px #dbe2df; }
.lab-table { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #353330; grid-column: 1/-1; }
.lab-table > * { padding: 18px; background: #181715; }
.lab-table b { color: #d59c7d; }
.mini-specimen { height: 220px; background: radial-gradient(ellipse at 55% 50%, #49312f 0 10%, #8b6a61 11% 45%, #3b302b 47% 50%, transparent 52%), radial-gradient(circle, #30302d, #111); }
.reasoning label { margin-top: 18px; }
.result-card { display: none; margin-top: 20px; padding: 20px; border: 1px solid #6d5943; background: #252017; text-align: center; }
.result-card.show { display: block; animation: rise .3s ease; }
.result-card span, .result-card b { display: block; }
.result-card strong { display: block; color: var(--gold); font: 52px serif; margin: 8px; }
.result-card strong small { font-size: 18px; }
.result-card b { color: #d6d0c6; }
.result-card p { color: #9e978d; font-size: 11px; line-height: 1.7; }
.modal { display: none; position: fixed; inset: 0; z-index: 50; background: rgba(0,0,0,.78); place-items: center; padding: 20px; }
.modal.show { display: grid; }
.modal-card { width: min(760px, 100%); background: var(--paper); color: var(--ink); padding: 40px; position: relative; }
.modal-card h2 { font: 31px serif; margin: 8px 0 25px; }
.modal-close { position: absolute; right: 15px; top: 12px; border: 0; background: none; font-size: 28px; }
.journey { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 28px; }
.journey div { padding: 18px 12px; border-top: 2px solid var(--red); background: #ded8ce; }
.journey i, .journey b, .journey span { display: block; }
.journey i { color: var(--red); font: 24px serif; }.journey b { margin: 12px 0 8px; }.journey span { color: #706a61; font-size: 10px; line-height: 1.6; }
.save-state { position: fixed; right: 22px; bottom: 22px; z-index: 60; padding: 11px 16px; background: #2d281f; border: 1px solid #806d4c; color: #d5c39e; font-size: 11px; opacity: 0; transform: translateY(8px); pointer-events: none; transition: .25s; }
.save-state.show { opacity: 1; transform: translateY(0); }
.image-modal { display: none; position: fixed; inset: 0; z-index: 70; place-items: center; padding: 50px; background: rgba(5,5,5,.92); }
.image-modal.show { display: grid; grid-template-rows: minmax(0, 1fr) auto; }
.image-modal img { max-width: 90vw; max-height: 78vh; object-fit: contain; background: #eeeae3; box-shadow: 0 20px 80px #000; }
.image-modal > div { margin-top: 15px; text-align: center; }.image-modal b, .image-modal span { display: block; }.image-modal span { color: #9a958d; font-size: 11px; margin-top: 5px; }
.image-modal-close { position: fixed; right: 30px; top: 22px; border: 0; background: none; color: white; font-size: 36px; }
@keyframes pulse-pin { 0%, 100% { box-shadow: 0 0 0 0 rgba(181,61,80,.5); } 50% { box-shadow: 0 0 0 7px rgba(181,61,80,0); } }
@keyframes rise { from { opacity: 0; transform: translateY(10px); } }
@keyframes gallery-arrival { from { opacity: 0; transform: translateY(14px) scale(.995); filter: blur(5px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes specimen-scan { 0% { top: -25%; opacity: 0; } 15% { opacity: 1; } 85% { opacity: .9; } 100% { top: 105%; opacity: 0; } }
@keyframes specimen-float { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-8px) rotate(1deg); } }
@keyframes card-reveal { from { opacity: 0; transform: translateX(-18px); filter: blur(3px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes panel-content-in { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (max-width: 1050px) {
  .student { display: none; }.brand { min-width: 240px; }.home-grid { grid-template-columns: 1fr; }.achievement { margin: 0; }.hall-grid { grid-template-columns: 1fr 1fr; }.exhibit { grid-template-columns: 1fr; }.microscope-layout, .case-grid { grid-template-columns: 1fr; }.diagnosis-panel { border: 0; }.case-grid { padding-inline: 3vw; }
}
@media (max-width: 720px) {
  .topbar { height: auto; padding: 12px 16px; flex-wrap: wrap; }.brand { min-width: 100%; }.topbar nav { width: 100%; overflow-x: auto; margin-top: 8px; }.nav-item { padding: 10px; white-space: nowrap; }.hero { height: 650px; }.hero-content { left: 7vw; top: 75px; width: 86vw; }.hero h1 { font-size: 48px; }.today-card { left: 7vw; right: auto; width: 86vw; }.home-grid { padding-inline: 5vw; }.hall-grid { grid-template-columns: 1fr; }.gallery-layout { grid-template-columns: 1fr; }.lesson-list { display: none; }.exhibit-stage { min-height: 560px; }.gross-specimen-viewer { width: 65%; height: 410px; }.lesion-note { left: 12px; top: 12px; width: 180px; }.page-head, .lab-head { padding-inline: 5vw; align-items: flex-start; }.page-head p { max-width: 250px; }.slide-workspace { padding: 12px; }.slide-viewport { min-height: 430px; }.case-grid { padding: 1px 0 30px; }.evidence { grid-template-columns: 1fr; }.journey { grid-template-columns: 1fr 1fr; }
  .museum-walk { height: calc(100vh - 126px); }.museum-world { transform: translateZ(var(--walk-z)) scale(.72); }.museum-hud { top: 18px; }.museum-hud h1 { font-size: 20px; }.walk-progress,.key-guide { display: none; }.museum-controls { justify-content: center; bottom: 20px; }.museum-reticle { bottom: 85px; }.walk-buttons button { padding: 0 11px; }.museum-intro { padding: 24px 14px; align-content: start; }.museum-intro h2 { font-size: 34px; }.hall-quick-links { grid-template-columns: 1fr; width: 94vw; }.hall-quick-card { min-height: 85px; padding: 12px; }.hall-quick-card b { font-size: 17px; }
}
