
/* VERBLIN v23 — the portal hall is the museum foyer itself. */
.museum-page.location-page { overflow:hidden; background:#080306; }
.museum-experience--portal { height:100svh; min-height:620px; overflow:hidden; background:#080306; }
.museum-experience--portal .museum-view { inset:0; }
.museum-portal-foyer { padding:0 !important; background:#080306 !important; }
.museum-portal-foyer .location-scene { height:100svh; min-height:620px; }
.location-page--museumgate { --line:rgba(255,187,117,.22); }
.location-scene--museumgate { background:#080306; }
.location-scene__image--museumgate {
  background-image:url('assets/locations/museum-archive-hall.png');
  transform:scale(1.04);
  animation:scene-breathe-museum 30s ease-in-out infinite alternate;
}
.location-scene__grade--museumgate {
  background:linear-gradient(180deg,rgba(8,2,4,.15),rgba(8,2,4,.025) 42%,rgba(5,2,5,.42) 100%),
             radial-gradient(circle at 50% 62%,rgba(255,149,77,.08),transparent 17%),
             radial-gradient(circle at 50% 85%,rgba(0,0,0,.25),transparent 42%);
}
.location-scene__cloud--museum { opacity:.08; background:radial-gradient(ellipse at center,rgba(255,209,166,.65) 0 16%,rgba(184,89,52,.28) 40%,transparent 72%); }
.location-scene__haze--museum { bottom:3%;height:36%;opacity:.24;filter:blur(28px);background:linear-gradient(180deg,rgba(255,152,81,.03),rgba(111,60,31,.10) 48%,rgba(0,0,0,0) 100%);animation:haze-rise 18s ease-in-out infinite alternate; }
.location-scene__lights--museum .city-light { background:#ffd7b0;box-shadow:0 0 6px rgba(255,196,123,.9),0 0 16px rgba(255,141,66,.8); }
.location-scene__lights--museum .city-light.cyan { background:#d6ffff;box-shadow:0 0 6px #7ef7ff,0 0 16px rgba(99,255,234,.85); }
.location-scene__sparks .petal { width:3px;height:14px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,221,150,.92),rgba(255,155,78,.18));opacity:.38;filter:blur(.3px);animation-name:spark-fall; }
.location-hud--minimal { grid-template-columns:1fr 1fr; background:linear-gradient(180deg,rgba(3,2,6,.68),transparent); }
.location-hud--minimal .location-return { grid-column:2; justify-self:end; }
.location-status--museum { top:76px; border-left-color:rgba(255,181,104,.5); }
.location-caption--museumgate { max-width:520px;border-left-color:rgba(255,192,133,.58); }
.location-caption--museumgate p { margin:0; color:#e8d8ca; }
.museum-panels { position:absolute;inset:0;z-index:1;pointer-events:none; }
.museum-panel { position:absolute;width:16px;height:58px;border-radius:2px;background:linear-gradient(180deg,rgba(255,233,176,.05),rgba(255,178,96,.92),rgba(255,114,62,.12));box-shadow:0 0 16px rgba(255,154,70,.38);opacity:.22;animation:panel-flicker var(--pdur,4.5s) steps(2,end) infinite; }
.museum-panel--a{left:19.8%;top:32%;--pdur:3.9s}.museum-panel--b{left:47.8%;top:55%;height:76px;--pdur:4.7s}.museum-panel--c{right:22%;top:28%;height:52px;--pdur:5.4s}.museum-panel--d{right:39%;top:63%;height:48px;--pdur:4.1s}
.museum-rain { position:absolute;top:0;bottom:0;width:30%;z-index:0;pointer-events:none;opacity:.12;background:repeating-linear-gradient(100deg,rgba(255,200,150,0) 0 10px,rgba(255,200,150,.14) 10px 11px,rgba(255,200,150,0) 11px 22px);filter:blur(.4px);animation:rain-slice 12s linear infinite; }
.museum-rain--left{left:-8%;transform:skewX(-18deg)}.museum-rain--right{right:-8%;transform:skewX(-18deg) scaleX(-1);animation-duration:15s}

/* Interactive exhibit portals */
.museum-portal-map { position:absolute; inset:0; z-index:8; pointer-events:none; }
.museum-portal { position:absolute; margin:0; padding:0; border:0; background:transparent; color:#fff; cursor:pointer; pointer-events:auto; outline:none; }
.museum-portal::before { content:"";position:absolute;inset:3%;border:1px solid rgba(255,211,158,0);border-radius:14px;box-shadow:0 0 0 rgba(255,154,83,0);transition:.22s ease; }
.museum-portal__reticle { position:absolute;left:50%;top:48%;width:18px;height:18px;transform:translate(-50%,-50%) rotate(45deg);border:1px solid rgba(255,229,193,.22);opacity:.28;transition:.22s ease; }
.museum-portal__label { position:absolute;left:50%;bottom:-8px;min-width:190px;transform:translate(-50%,10px);padding:8px 11px 9px;background:rgba(8,5,8,.80);border:1px solid rgba(255,190,126,.30);box-shadow:0 8px 24px rgba(0,0,0,.35);opacity:0;transition:.22s ease;backdrop-filter:blur(7px);text-align:center;white-space:nowrap; }
.museum-portal__label b { display:block;font:700 11px/1.15 Orbitron,sans-serif;letter-spacing:.06em;color:#fff0df; }
.museum-portal__label em { display:block;margin-top:4px;font:14px/1 VT323,monospace;font-style:normal;letter-spacing:.08em;color:#ffc883; }
.museum-portal:hover::before,.museum-portal:focus-visible::before { border-color:rgba(255,216,169,.64);box-shadow:0 0 18px rgba(255,153,67,.23), inset 0 0 22px rgba(255,177,93,.05);background:rgba(255,170,90,.025); }
.museum-portal:hover .museum-portal__reticle,.museum-portal:focus-visible .museum-portal__reticle { width:30px;height:30px;opacity:.95;border-color:#fff3dd;box-shadow:0 0 14px #ffaf61;animation:portal-reticle 3s linear infinite; }
.museum-portal:hover .museum-portal__label,.museum-portal:focus-visible .museum-portal__label { opacity:1;transform:translate(-50%,0); }
/* positions matched to the painted portals */
.museum-portal--adventure { left:12.8%; top:14%; width:24%; height:27%; }
.museum-portal--rpg       { left:40.5%; top:22%; width:19%; height:29%; }
.museum-portal--action    { left:69.3%; top:14%; width:22.8%; height:27%; }
.museum-portal--rogue     { left:5.5%;  top:39%; width:21%; height:24%; }
.museum-portal--survival  { left:25.0%; top:39%; width:18%; height:24%; }
.museum-portal--puzzle    { left:62.5%; top:39%; width:16.5%; height:24%; }
.museum-portal--strategy  { left:79.0%; top:39%; width:18.5%; height:24%; }
.museum-portal--online    { left:40.0%; top:59%; width:20%; height:24%; }
.museum-portal--sports    { left:70.5%; top:60%; width:20%; height:23%; }
.museum-portal--rpg .museum-portal__label { bottom:1%; }

/* When a wing opens, it replaces the portal hall; this is the actual museum navigation, not a legacy page hop. */
.museum-experience--portal .museum-view--wing { background:#15100b; }
.museum-experience--portal .wing-room { inset:0; padding-top:34px; }

@keyframes scene-breathe-museum { 0%{transform:scale(1.04) translate3d(-.6%,0,0)} 100%{transform:scale(1.065) translate3d(.45%,-.45%,0)} }
@keyframes haze-rise { from{transform:translate3d(0,3%,0)} to{transform:translate3d(0,-3%,0)} }
@keyframes panel-flicker { 0%,100%{opacity:.16} 12%,18%{opacity:.62} 22%,35%{opacity:.22} 36%,38%{opacity:.82} 55%{opacity:.20} 82%,84%{opacity:.58} }
@keyframes rain-slice { from{transform:skewX(-18deg) translateX(0)} to{transform:skewX(-18deg) translateX(-80px)} }
@keyframes spark-fall { 0%{transform:translate3d(0,-8vh,0) rotate(8deg)} 100%{transform:translate3d(3vw,115vh,0) rotate(12deg)} }
@keyframes portal-reticle { to{transform:translate(-50%,-50%) rotate(405deg)} }
@media (max-width:900px) {
  .museum-portal__label { min-width:150px; }
  .location-caption--museumgate { left:15px;right:15px;bottom:40px; }
}
@media (max-width:760px) {
  .location-hud--minimal { grid-template-columns:1fr auto; }
  .location-status--museum { top:62px;left:15px; }
  .museum-portal__label { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .museum-panel,.museum-rain,.museum-portal__reticle { animation:none !important; }
}


/* VERBLIN v24 — portal precision + unified neon archive wings */

/* Portal hitboxes now hug the painted portals instead of sprawling across neighbours. */
.museum-portal::before { inset:10%; border-radius:10px; }
.museum-portal__reticle { width:12px; height:12px; top:50%; opacity:.16; }
.museum-portal:hover .museum-portal__reticle,
.museum-portal:focus-visible .museum-portal__reticle { width:20px; height:20px; opacity:.9; }
.museum-portal__label {
  min-width:0;
  max-width:150px;
  width:max-content;
  padding:5px 8px 6px;
  bottom:7%;
  transform:translate(-50%,5px);
  border-color:rgba(255,199,142,.34);
  box-shadow:0 6px 16px rgba(0,0,0,.28);
  background:rgba(7,4,9,.74);
  backdrop-filter:blur(5px);
  pointer-events:none;
  white-space:normal;
}
.museum-portal__label b {
  font:700 9px/1.12 Orbitron,sans-serif;
  letter-spacing:.045em;
  white-space:nowrap;
}
.museum-portal__label em {
  margin-top:2px;
  font:11px/1 VT323,monospace;
  letter-spacing:.06em;
}
.museum-portal:hover .museum-portal__label,
.museum-portal:focus-visible .museum-portal__label { transform:translate(-50%,0); }

/* Tightened geometry aligned to each visible frame in the refined atrium art. */
.museum-portal--adventure { left:11.8%; top:14.0%; width:16.9%; height:25.0%; }
.museum-portal--rpg       { left:41.7%; top:24.0%; width:16.6%; height:26.0%; }
.museum-portal--action    { left:72.0%; top:14.0%; width:17.0%; height:25.0%; }
.museum-portal--rogue     { left:4.4%;  top:42.0%; width:15.4%; height:20.5%; }
.museum-portal--survival  { left:23.6%; top:42.0%; width:16.0%; height:20.5%; }
.museum-portal--puzzle    { left:61.7%; top:42.0%; width:15.0%; height:20.5%; }
.museum-portal--strategy  { left:79.1%; top:42.0%; width:15.3%; height:20.5%; }
.museum-portal--online    { left:41.4%; top:63.0%; width:17.3%; height:18.7%; }
.museum-portal--sports    { left:72.0%; top:64.0%; width:16.2%; height:18.7%; }
.museum-portal--rpg .museum-portal__label { bottom:10%; }

/* Keep labels inside their own portal footprint wherever possible. */
.museum-portal--adventure .museum-portal__label,
.museum-portal--rogue .museum-portal__label,
.museum-portal--survival .museum-portal__label { left:48%; }
.museum-portal--action .museum-portal__label,
.museum-portal--puzzle .museum-portal__label,
.museum-portal--strategy .museum-portal__label,
.museum-portal--sports .museum-portal__label { left:52%; }

/* The old paper/brown wing presentation is gone. Every wing now lives inside the same archive universe. */
.museum-experience--portal .museum-view--wing {
  background:#07030b;
  overflow:hidden;
}
.museum-experience--portal .wing-room {
  --wing-rgb:216,104,255;
  --wing-accent:rgb(var(--wing-rgb));
  position:absolute;
  inset:0;
  padding:28px clamp(24px,3.1vw,56px) 30px;
  overflow:hidden;
  isolation:isolate;
  background:#07030b !important;
  filter:none !important;
}
.museum-experience--portal .wing-room::before {
  content:"";
  position:absolute;
  inset:-2%;
  z-index:-3;
  background-image:url('assets/locations/museum-archive-hall.png');
  background-position:center;
  background-size:cover;
  opacity:.28;
  filter:brightness(.48) saturate(.78) blur(1.5px);
  transform:scale(1.04);
  animation:wing-scene-drift 26s ease-in-out infinite alternate;
}
.museum-experience--portal .wing-room::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 68% 40%,rgba(var(--wing-rgb),.12),transparent 25%),
    radial-gradient(circle at 20% 74%,rgba(255,83,184,.09),transparent 28%),
    linear-gradient(180deg,rgba(6,2,11,.58),rgba(8,3,12,.78) 66%,rgba(4,2,7,.93)),
    repeating-linear-gradient(110deg,transparent 0 52px,rgba(255,255,255,.012) 53px,transparent 54px 108px);
  animation:wing-ambient-pulse 11s ease-in-out infinite alternate;
}
.museum-experience--portal .wing-room__cornice,
.museum-experience--portal .wing-room__floor { display:none; }

/* Per-wing spectral accents, same UI language but each room keeps some identity. */
.museum-experience--portal .wing-room[data-theme="adventure"] { --wing-rgb:255,183,86; }
.museum-experience--portal .wing-room[data-theme="fantasy"]   { --wing-rgb:111,244,175; }
.museum-experience--portal .wing-room[data-theme="action"]    { --wing-rgb:255,92,108; }
.museum-experience--portal .wing-room[data-theme="rogue"]     { --wing-rgb:103,203,255; }
.museum-experience--portal .wing-room[data-theme="survival"]  { --wing-rgb:112,231,160; }
.museum-experience--portal .wing-room[data-theme="scifi"]     { --wing-rgb:255,184,90; }
.museum-experience--portal .wing-room[data-theme="strategy"]  { --wing-rgb:105,226,255; }
.museum-experience--portal .wing-room[data-theme="online"]    { --wing-rgb:125,166,255; }
.museum-experience--portal .wing-room[data-theme="sports"]    { --wing-rgb:255,142,210; }
.museum-experience--portal .wing-room[data-wing="sports"]::before {
  background-image:url('assets/locations/museum-sports-atmosphere.png');
  opacity:.34;
  filter:brightness(.30) saturate(.72) blur(2px);
  transform:scale(1.055);
}

.museum-experience--portal .wing-heading {
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:180px 1fr auto;
  align-items:start;
  gap:24px;
  margin:0;
  padding:14px 16px 16px;
  border:1px solid rgba(var(--wing-rgb),.20);
  background:linear-gradient(90deg,rgba(9,5,14,.78),rgba(16,7,20,.48) 62%,rgba(9,5,14,.62));
  box-shadow:0 16px 46px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(12px);
}
.museum-experience--portal .museum-back {
  border:1px solid rgba(var(--wing-rgb),.32);
  background:rgba(9,5,13,.68);
  color:rgba(255,240,225,.88);
  padding:9px 12px;
  font:14px/1 VT323,monospace;
  letter-spacing:.09em;
  box-shadow:inset 3px 0 0 rgba(var(--wing-rgb),.32);
}
.museum-experience--portal .museum-back:hover {
  background:rgba(var(--wing-rgb),.10);
  border-color:rgba(var(--wing-rgb),.62);
  color:#fff;
}
.museum-experience--portal .wing-kicker {
  color:rgba(var(--wing-rgb),.90);
  font:15px/1 VT323,monospace;
  letter-spacing:.13em;
  text-shadow:0 0 12px rgba(var(--wing-rgb),.24);
}
.museum-experience--portal .wing-heading h1 {
  margin:.18rem 0 .32rem;
  color:#fff3f6;
  font:700 clamp(2rem,3.4vw,3.4rem)/.96 "Cormorant Garamond",Georgia,serif;
  text-shadow:0 3px 20px rgba(0,0,0,.58),0 0 26px rgba(var(--wing-rgb),.12);
}
.museum-experience--portal .wing-heading p {
  margin:0;
  max-width:820px;
  color:rgba(235,225,235,.74);
  font:500 .96rem/1.4 Inter,system-ui,sans-serif;
}
.museum-experience--portal .wing-count {
  justify-self:end;
  padding:8px 10px;
  color:rgba(255,232,214,.80);
  border:1px solid rgba(var(--wing-rgb),.22);
  background:rgba(7,4,10,.48);
  font:14px/1 VT323,monospace;
  letter-spacing:.10em;
}

.museum-experience--portal .wing-layout {
  position:relative;
  z-index:3;
  height:calc(100% - 124px);
  display:grid;
  grid-template-columns:minmax(250px,27%) 1fr;
  gap:20px;
  padding-top:18px;
  min-height:0;
}
.museum-experience--portal .exhibit-index {
  min-height:0;
  padding:14px;
  border:1px solid rgba(var(--wing-rgb),.20);
  background:linear-gradient(180deg,rgba(10,6,14,.78),rgba(5,3,9,.86));
  box-shadow:0 20px 48px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter:blur(12px);
}
.museum-experience--portal .exhibit-index__heading {
  padding:6px 7px 11px;
  color:rgba(var(--wing-rgb),.86);
  font:14px/1 VT323,monospace;
  letter-spacing:.12em;
}
.museum-experience--portal .museum-search-wrap span {
  color:rgba(230,211,226,.58);
}
.museum-experience--portal .museum-search {
  color:#f8edf5;
  background:rgba(4,3,8,.62);
  border:1px solid rgba(var(--wing-rgb),.17);
}
.museum-experience--portal .museum-search:focus {
  border-color:rgba(var(--wing-rgb),.56);
  box-shadow:0 0 0 2px rgba(var(--wing-rgb),.08),0 0 18px rgba(var(--wing-rgb),.08);
}
.museum-experience--portal .exhibit-list {
  scrollbar-color:rgba(var(--wing-rgb),.35) rgba(8,5,10,.6);
}
.museum-experience--portal .exhibit-drawer {
  grid-template-columns:32px 1fr;
  padding:9px 10px;
  border:1px solid rgba(var(--wing-rgb),.10);
  background:rgba(11,7,14,.62);
  color:rgba(238,225,235,.78);
  transition:.16s ease;
}
.museum-experience--portal .exhibit-drawer>span {
  color:rgba(var(--wing-rgb),.52);
}
.museum-experience--portal .exhibit-drawer b {
  color:#efe7ef;
  font:700 .92rem/1.08 Inter,system-ui,sans-serif;
}
.museum-experience--portal .exhibit-drawer small {
  color:rgba(220,204,217,.48);
}
.museum-experience--portal .exhibit-drawer:hover,
.museum-experience--portal .exhibit-drawer.is-selected {
  background:linear-gradient(90deg,rgba(var(--wing-rgb),.14),rgba(12,7,15,.72));
  border-color:rgba(var(--wing-rgb),.38);
  box-shadow:inset 3px 0 0 rgba(var(--wing-rgb),.72),0 0 18px rgba(var(--wing-rgb),.06);
  color:#fff;
}
.museum-experience--portal .exhibit-drawer.is-selected>span { color:rgb(var(--wing-rgb)); }

.museum-experience--portal .display-case {
  position:relative;
  min-width:0;
  min-height:0;
  border:1px solid rgba(var(--wing-rgb),.28);
  background:
    radial-gradient(circle at 50% 26%,rgba(var(--wing-rgb),.10),transparent 27%),
    linear-gradient(180deg,rgba(8,5,13,.76),rgba(3,2,7,.91));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 24px 60px rgba(0,0,0,.36),0 0 36px rgba(var(--wing-rgb),.06);
  overflow:hidden;
  backdrop-filter:blur(9px);
}
.museum-experience--portal .display-case::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0 9%,rgba(var(--wing-rgb),.05) 9.1%,transparent 9.3% 90%,rgba(var(--wing-rgb),.04) 90.2%,transparent 90.4%),
    repeating-linear-gradient(0deg,transparent 0 44px,rgba(255,255,255,.013) 45px,transparent 46px 90px);
  opacity:.65;
}
.museum-experience--portal .display-case__glass {
  left:3.5%; right:3.5%; top:4%; bottom:31%;
  border:1px solid rgba(var(--wing-rgb),.19);
  background:linear-gradient(125deg,rgba(255,255,255,.05),transparent 17%,transparent 70%,rgba(var(--wing-rgb),.04));
  box-shadow:inset 0 0 48px rgba(var(--wing-rgb),.05),0 0 18px rgba(var(--wing-rgb),.03);
}
.museum-experience--portal .display-case__base {
  left:30%; right:30%; bottom:31%; height:8%;
  background:linear-gradient(180deg,rgba(var(--wing-rgb),.24),rgba(25,14,28,.94));
  box-shadow:0 10px 22px rgba(0,0,0,.56),0 -1px 16px rgba(var(--wing-rgb),.10);
}
.museum-experience--portal .display-case__object {
  top:28%;
  filter:drop-shadow(0 18px 20px rgba(0,0,0,.66)) drop-shadow(0 0 18px rgba(var(--wing-rgb),.22));
}
.museum-experience--portal .exhibit-plaque {
  left:3.5%; right:3.5%; bottom:3.5%; min-height:24%;
  padding:14px 17px;
  color:#f5edf5;
  background:linear-gradient(115deg,rgba(18,10,22,.88),rgba(7,5,12,.90));
  border:1px solid rgba(var(--wing-rgb),.30);
  box-shadow:0 10px 28px rgba(0,0,0,.42),inset 3px 0 0 rgba(var(--wing-rgb),.36);
  backdrop-filter:blur(12px);
}
.museum-experience--portal .exhibit-accession {
  color:rgba(var(--wing-rgb),.86);
  font:14px/1 VT323,monospace;
}
.museum-experience--portal .exhibit-plaque h2 {
  margin:.25rem 0 .38rem;
  color:#fff4fb;
  font:700 clamp(1.35rem,2.1vw,2rem)/1.02 "Cormorant Garamond",Georgia,serif;
}
.museum-experience--portal .exhibit-plaque p {
  margin:0;
  color:rgba(232,220,230,.74);
  font:500 .94rem/1.42 Inter,system-ui,sans-serif;
}
.museum-experience--portal .exhibit-tags span {
  color:rgba(244,232,241,.74);
  background:rgba(var(--wing-rgb),.07);
  border:1px solid rgba(var(--wing-rgb),.20);
}
.museum-experience--portal .museum-steam-link {
  color:#fff1e9;
  border-color:rgba(var(--wing-rgb),.28);
  background:rgba(var(--wing-rgb),.08);
}

/* Sports wing stays gloriously dormant, now in the same universe. */
.museum-experience--portal .wing-room[data-wing="sports"] .display-case::after {
  content:"";
  position:absolute;
  inset:4% 4% 31%;
  pointer-events:none;
  opacity:.28;
  background:
    repeating-radial-gradient(circle at 5% 8%,transparent 0 17px,rgba(230,220,235,.16) 18px,transparent 19px 31px),
    repeating-radial-gradient(circle at 96% 5%,transparent 0 21px,rgba(230,220,235,.12) 22px,transparent 23px 36px);
  mask-image:linear-gradient(135deg,#000 0 25%,transparent 47%,transparent 62%,#000 100%);
}
.museum-experience--portal .wing-room[data-wing="sports"] .display-case__object--ball {
  opacity:.48;
  filter:grayscale(.72) drop-shadow(0 18px 18px rgba(0,0,0,.75)) drop-shadow(0 0 20px rgba(255,160,220,.08));
}
.museum-experience--portal .wing-room[data-wing="sports"] .exhibit-plaque {
  border-color:rgba(255,139,208,.23);
}

@keyframes wing-scene-drift {
  from { transform:scale(1.04) translate3d(-.4%,0,0); }
  to   { transform:scale(1.065) translate3d(.5%,-.35%,0); }
}
@keyframes wing-ambient-pulse {
  from { opacity:.88; }
  to   { opacity:1; }
}

@media (max-width:1100px) {
  .museum-experience--portal .wing-heading { grid-template-columns:150px 1fr auto; gap:14px; }
  .museum-experience--portal .wing-layout { grid-template-columns:minmax(220px,31%) 1fr; }
  .museum-portal__label { max-width:128px; }
  .museum-portal__label b { font-size:8px; }
}
@media (max-width:760px) {
  .museum-page.location-page { overflow:auto; }
  .museum-experience--portal { height:auto; min-height:100svh; overflow:visible; }
  .museum-experience--portal .museum-view--wing { min-height:100svh; overflow:visible; }
  .museum-experience--portal .wing-room { position:relative; min-height:100svh; padding:18px 14px 36px; overflow:visible; }
  .museum-experience--portal .wing-heading { grid-template-columns:1fr; gap:9px; }
  .museum-experience--portal .wing-count { justify-self:start; }
  .museum-experience--portal .wing-layout { height:auto; grid-template-columns:1fr; }
  .museum-experience--portal .exhibit-index { max-height:300px; }
  .museum-experience--portal .display-case { min-height:570px; }
  .museum-portal__label { display:none; }
}


/* VERBLIN v25 — corrected museum wing rendering.
   v24 put the scenic pseudo-layer behind the room's own background, effectively hiding it.
   This pass brings the actual archive environment forward and makes the Sports Wing use the approved cinematic scene. */

/* Portal tooltips: tiny HUD tags only. The art itself does the heavy lifting. */
.museum-portal__label {
  max-width:132px;
  padding:4px 7px 5px;
  bottom:10%;
  border-radius:2px;
  background:rgba(8,5,10,.70);
  border-color:rgba(255,205,151,.28);
  box-shadow:0 4px 12px rgba(0,0,0,.24);
}
.museum-portal__label b { font-size:8px; letter-spacing:.04em; }
.museum-portal__label em { font-size:10px; margin-top:1px; }
.museum-portal::before { inset:15%; border-radius:8px; }
.museum-portal__reticle { width:9px; height:9px; opacity:.12; }
.museum-portal:hover .museum-portal__reticle,
.museum-portal:focus-visible .museum-portal__reticle { width:16px; height:16px; }

/* Crucial fix: scenic layers must sit ABOVE the room background, not behind it. */
.museum-experience--portal .wing-room {
  background:transparent !important;
}
.museum-experience--portal .wing-room::before {
  z-index:0;
  opacity:.58;
  filter:brightness(.56) saturate(.92) blur(.35px);
}
.museum-experience--portal .wing-room::after {
  z-index:1;
  background:
    radial-gradient(circle at 68% 38%,rgba(var(--wing-rgb),.13),transparent 25%),
    radial-gradient(circle at 13% 78%,rgba(255,77,183,.10),transparent 28%),
    linear-gradient(180deg,rgba(5,2,9,.28),rgba(8,3,12,.53) 64%,rgba(4,2,7,.78));
}
.museum-experience--portal .wing-heading,
.museum-experience--portal .wing-layout,
.museum-experience--portal .sports-return-overlay,
.museum-experience--portal .wing-ambient { position:relative; z-index:3; }

/* Atmosphere inside every wing. */
.wing-ambient { position:absolute !important; inset:0; z-index:2 !important; overflow:hidden; pointer-events:none; }
.wing-ambient__mist {
  position:absolute; left:-12%; right:-12%; bottom:-9%; height:40%;
  background:radial-gradient(ellipse at center,rgba(245,196,255,.14),rgba(123,67,148,.07) 38%,transparent 70%);
  filter:blur(30px); opacity:.6; animation:wing-mist 20s ease-in-out infinite alternate;
}
.wing-ambient__scan {
  position:absolute; inset:-15% 0; opacity:.15;
  background:linear-gradient(180deg,transparent 0 44%,rgba(var(--wing-rgb),.15) 49%,transparent 54%);
  animation:wing-scan 11s linear infinite;
}
.wing-ambient__sparks {
  position:absolute; inset:0; opacity:.35;
  background:
    radial-gradient(circle at 16% 82%,rgba(255,180,221,.85) 0 1px,transparent 2px),
    radial-gradient(circle at 34% 66%,rgba(var(--wing-rgb),.80) 0 1px,transparent 2px),
    radial-gradient(circle at 63% 78%,rgba(255,221,176,.75) 0 1px,transparent 2px),
    radial-gradient(circle at 84% 64%,rgba(var(--wing-rgb),.72) 0 1px,transparent 2px);
  background-size:180px 180px,240px 220px,210px 260px,280px 230px;
  animation:wing-sparks 24s linear infinite;
}

/* Header now floats inside the world instead of looking like an unrelated black web app. */
.museum-experience--portal .wing-heading {
  grid-template-columns:170px minmax(0,1fr) auto;
  padding:13px 16px 14px;
  border:1px solid rgba(var(--wing-rgb),.30);
  border-top-color:rgba(255,209,161,.28);
  background:
    linear-gradient(90deg,rgba(13,6,17,.74),rgba(15,7,22,.48) 58%,rgba(9,4,13,.68));
  box-shadow:0 14px 38px rgba(0,0,0,.28),0 0 28px rgba(var(--wing-rgb),.045),inset 0 1px 0 rgba(255,222,190,.06);
}
.museum-experience--portal .wing-heading::before {
  content:"OLD WEB MUSEUM // VESPERA ARCHIVE";
  position:absolute; left:18px; bottom:-17px;
  font:11px/1 VT323,monospace; letter-spacing:.12em;
  color:rgba(255,205,154,.48);
}

/* Stronger glass/archive furniture, while keeping live exhibit data functional. */
.museum-experience--portal .wing-layout {
  height:calc(100% - 125px);
  gap:18px;
  padding-top:22px;
}
.museum-experience--portal .exhibit-index {
  border:1px solid rgba(255,185,126,.24);
  background:
    linear-gradient(180deg,rgba(14,7,18,.80),rgba(7,4,12,.83)),
    radial-gradient(circle at 20% 0,rgba(var(--wing-rgb),.12),transparent 38%);
  box-shadow:0 18px 46px rgba(0,0,0,.38),inset 2px 0 0 rgba(255,171,103,.16),inset 0 1px 0 rgba(255,230,204,.045);
}
.museum-experience--portal .exhibit-index::before {
  content:""; display:block; height:2px; margin:-14px -14px 13px;
  background:linear-gradient(90deg,transparent,rgba(255,151,84,.75),rgba(var(--wing-rgb),.72),transparent);
  box-shadow:0 0 12px rgba(var(--wing-rgb),.22);
}
.museum-experience--portal .display-case {
  border:1px solid rgba(255,183,118,.28);
  border-radius:3px;
  background:
    radial-gradient(circle at 50% 21%,rgba(var(--wing-rgb),.14),transparent 27%),
    linear-gradient(180deg,rgba(8,4,14,.60),rgba(4,2,8,.76));
  box-shadow:0 24px 64px rgba(0,0,0,.42),0 0 42px rgba(var(--wing-rgb),.08),inset 0 0 0 1px rgba(255,230,206,.025);
}
.museum-experience--portal .display-case::before {
  opacity:.9;
  background:
    radial-gradient(circle at 50% -2%,rgba(255,218,164,.11),transparent 18%),
    linear-gradient(90deg,rgba(255,162,87,.16) 0 1px,transparent 1px calc(100% - 1px),rgba(255,162,87,.16) calc(100% - 1px)),
    repeating-linear-gradient(0deg,transparent 0 42px,rgba(255,255,255,.015) 43px,transparent 44px 88px);
}
.museum-experience--portal .display-case__glass {
  left:3.2%; right:3.2%; top:4%; bottom:30%;
  border-color:rgba(255,208,164,.18);
  background:
    linear-gradient(122deg,rgba(255,255,255,.07),transparent 18%,transparent 66%,rgba(var(--wing-rgb),.055)),
    radial-gradient(circle at 50% 15%,rgba(255,217,173,.07),transparent 24%);
}
.museum-experience--portal .display-case__glass::before {
  content:"✦"; position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  color:#ffc67f; font-size:22px; text-shadow:0 0 12px #ff9446,0 0 28px rgba(var(--wing-rgb),.45);
}
.museum-experience--portal .display-case__base {
  left:31%; right:31%; bottom:30%; height:7%;
  background:linear-gradient(180deg,rgba(255,169,91,.22),rgba(25,10,28,.96));
}
.museum-experience--portal .exhibit-plaque {
  bottom:3%; left:3.2%; right:3.2%;
  background:linear-gradient(112deg,rgba(21,10,26,.88),rgba(8,4,14,.90));
  border-color:rgba(255,182,119,.22);
  box-shadow:0 14px 36px rgba(0,0,0,.45),inset 3px 0 0 rgba(var(--wing-rgb),.50),0 0 28px rgba(var(--wing-rgb),.05);
}

/* Sports Wing: approved cinematic empty-state is the page. No duplicate black UI over the artwork. */
.sports-return-overlay { display:none; }
.museum-experience--portal .wing-room[data-wing="sports"] { padding:0; }
.museum-experience--portal .wing-room[data-wing="sports"]::before {
  inset:0;
  z-index:0;
  background-image:url('assets/locations/museum-sports-atmosphere.png');
  background-size:cover;
  background-position:center;
  opacity:1;
  filter:none;
  transform:none;
  animation:sports-breathe 22s ease-in-out infinite alternate;
}
.museum-experience--portal .wing-room[data-wing="sports"]::after {
  z-index:1;
  background:linear-gradient(180deg,rgba(3,2,8,.02),rgba(3,2,8,.05) 75%,rgba(3,2,8,.18));
}
.museum-experience--portal .wing-room[data-wing="sports"] .wing-heading,
.museum-experience--portal .wing-room[data-wing="sports"] .wing-layout,
.museum-experience--portal .wing-room[data-wing="sports"] .wing-ambient { display:none; }
.museum-experience--portal .wing-room[data-wing="sports"] .sports-return-overlay {
  display:block;
  position:absolute; z-index:6; left:2.2%; top:16.7%;
  width:13.5%; min-width:155px; height:42px;
  border:1px solid rgba(255,204,151,.44);
  background:rgba(10,5,13,.42);
  color:#ffe1b8;
  font:14px/1 VT323,monospace; letter-spacing:.09em;
  backdrop-filter:blur(6px); cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
}
.museum-experience--portal .wing-room[data-wing="sports"] .sports-return-overlay:hover {
  background:rgba(49,20,38,.58); border-color:rgba(255,183,117,.72); color:#fff;
}

@keyframes wing-mist { from{transform:translate3d(-3%,3%,0) scale(1)} to{transform:translate3d(4%,-2%,0) scale(1.06)} }
@keyframes wing-scan { from{transform:translateY(-55%)} to{transform:translateY(55%)} }
@keyframes wing-sparks { from{background-position:0 0,0 0,0 0,0 0} to{background-position:90px 180px,-120px 220px,100px 260px,-140px 230px} }
@keyframes sports-breathe { from{transform:scale(1.00)} to{transform:scale(1.018)} }

@media (max-width:900px) {
  .museum-experience--portal .wing-heading { grid-template-columns:140px minmax(0,1fr); }
  .museum-experience--portal .wing-count { grid-column:2; justify-self:start; }
  .museum-experience--portal .wing-room[data-wing="sports"] .sports-return-overlay { left:3%; top:17%; width:auto; padding:0 18px; }
}
