:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.image{width:min(40vw,200px);height:min(60vw,300px);max-width:200px;max-height:300px;object-fit:cover;border-radius:8px;box-shadow:0 4px 12px #00000026}.map-screen{width:100%;height:calc(100vh - 56px);overflow:hidden}.floorplan-wrapper{width:100%;height:100%;background:#fafafa;display:flex;align-items:center;justify-content:center;overflow:auto;touch-action:auto}.floorplan{display:grid;grid-template-rows:auto 100px auto;padding:16px 24px;background:#fafafa;justify-content:start}.row{display:grid;align-items:center;column-gap:4px}.row.top{grid-template-columns:400px 400px 180px 700px}.row.connectors{grid-template-columns:400px 1000px 300px}.row.bottom{grid-template-columns:400px 94px 300px 180px 700px}.exhibit{background-color:#ffa8a8;border:1px solid #000;display:flex;justify-content:center;align-items:center}.exhibit.one{height:320px;align-self:flex-end}.exhibit.two{height:260px;align-self:flex-end}.exhibit.three{height:420px;align-self:flex-end}.exhibit.four{height:300px;align-self:flex-end}.exhibit.five{height:220px;align-self:flex-end}.exhibit.six{height:300px;align-self:flex-end}.exhibitContent{display:flex;flex-direction:column;align-items:center;text-align:center}.title{margin-bottom:12px;color:#000}.corridor{background:#f3dede;border:1px dashed #caa;align-self:center}.corridor.door{width:100%;border-top:2px dotted #999}.corridor.hallOne{height:32px;width:100%}.connector{width:0;justify-self:center;height:100%;border-left:2px dotted #999}button{padding:8px 14px;border-radius:6px;border:none;background:#000;color:#fff;cursor:pointer}button:hover{opacity:.85}@media(max-width:768px){.exhibit{border-width:2px}button{padding:12px 18px;font-size:16px}.corridor.thin{height:10px}.corridor.hall,.corridor.full{height:40px}}body{overscroll-behavior:none}#root{margin:0 auto;padding:2rem;text-align:center}.appShell{min-height:100vh;width:100%}.topBar{position:fixed;top:0;left:0;right:0;height:56px;display:flex;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid #282829;background:#2c2a2a;z-index:1000}.hamburgerBtn{font-size:22px;width:44px;height:44px;border:none;background:transparent;cursor:pointer}.topBarTitle{font-weight:600}.pageContent{padding-top:56px}.backdrop{position:fixed;inset:0;background:#00000059;z-index:999}.drawer{position:fixed;top:0;left:0;height:100vh;width:260px;background:#242323;border-right:1px solid #383838;transform:translate(-100%);transition:transform .2s ease;z-index:1001;padding-top:8px}.drawer.open{transform:translate(0)}.drawerHeader{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #383838}.closeBtn{border:none;background:transparent;cursor:pointer;font-size:18px}.drawerLink{display:block;padding:12px;text-decoration:none;color:inherit;border-bottom:1px solid #383838}.drawerLink:hover{background:#f3f4f6}.image-container{display:grid;grid-template-columns:1fr;gap:16px;justify-items:center;margin:24px 0}.exhibit-image{width:min(40vw,200px);height:min(60vw,300px);max-width:200px;max-height:300px;object-fit:cover;border-radius:8px;box-shadow:0 4px 12px #00000026}.exhibit-item{display:flex;flex-direction:column;align-items:center;gap:1px;margin:12px 0}.exhibit-title h4{margin:0 0 15px;font-size:1.5rem;text-align:center}.exhibit-description p{margin:0 0 20px;font-size:1.25rem;text-align:center;opacity:.85}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}
