:root{font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.4;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;min-height:100%;width:100%}body{min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 20% 10%,#1b2230,#0b0e14 50%,#07090d)}.campus-map-shell{position:relative;width:min(100%,3000px);max-width:none;height:100%;margin:0 auto;border-radius:clamp(10px,1.1vw,18px);border:1px solid rgb(255 255 255 / .14);overflow:hidden;background:#0f1115}.map-container{position:relative;z-index:0;width:100%;height:100%;aspect-ratio:auto;overflow:hidden;transition:filter .42s ease,opacity .42s ease;will-change:filter,opacity}.map-no-transition{transition:none!important}.map-dimmed{filter:brightness(.86) saturate(.95);opacity:.92}.map-hidden{opacity:0;filter:none}.map-image{width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none}.map-fallback{width:100%;height:100%;display:grid;place-items:center;color:#ffffffbf;background:radial-gradient(circle at 20% 20%,rgb(55 77 117 / .35),transparent 55%),linear-gradient(145deg,#111824,#0c121e 40%,#090d15);border:1px dashed rgb(255 255 255 / .2)}.map-marker{position:absolute;transform:translate(-50%,-50%);background:transparent;border:0;cursor:pointer;padding:0;display:grid;place-items:center;gap:8px;z-index:2}.map-marker:disabled{cursor:default;opacity:.55}.marker-dot{width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 0 0 8px #ffffff3b;animation:markerPulse 2.1s ease-out infinite}.marker-label{font-size:.82rem;color:#fff;background:#0d0f12a8;border:1px solid rgb(255 255 255 / .2);padding:.2rem .55rem;border-radius:999px;white-space:nowrap}.video-overlay{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .56s ease;z-index:3;contain:paint}.detail-photo-overlay{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 80ms linear;z-index:2}.detail-photo-overlay.visible{opacity:1}.detail-photo-overlay img{width:100%;height:100%;object-fit:cover}.video-overlay.visible{opacity:1}.video-overlay.leaving{opacity:0}.transition-video{width:100%;height:100%;object-fit:cover;border:0;outline:none;will-change:transform,filter,opacity}.info-panel{position:absolute;left:24px;right:24px;bottom:24px;padding:1rem 1.15rem;border-radius:14px;color:#f7f8fa;background:#0c0e12d1;border:1px solid rgb(255 255 255 / .16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:panelIn .36s ease both;z-index:4}.info-panel h2{margin:0 0 .4rem;font-size:1.25rem}.info-panel p{margin:0 0 .8rem;color:#f7f8fade}.info-panel button{border:1px solid rgb(255 255 255 / .24);background:#ffffff14;color:#f7f8fa;border-radius:10px;padding:.55rem .8rem}@keyframes panelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes markerPulse{0%{box-shadow:0 0 #ffffff52}to{box-shadow:0 0 0 16px #fff0}}@media(prefers-reduced-motion:reduce){.map-container,.video-overlay,.transition-video,.info-panel,.marker-dot{transition:none;animation:none}}.dropdown-control[data-v-43253d04]{position:absolute;top:12px;left:18px;z-index:60}.dropdown-control select[data-v-43253d04]{background:#fff;border:1px solid rgba(0,0,0,.15);border-radius:4px;padding:6px 10px;font-size:14px}.visually-hidden[data-v-43253d04]{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.app-root[data-v-c8d837fa]{min-height:100vh;min-height:100dvh;height:100dvh;width:100%;display:grid;place-items:stretch;padding:clamp(.5rem,1.2vw,1.1rem)}
