:root{--main_bkg_color:#242426;--test_color:#5c2b00}body.mapcontroller_index{height:100dvh;overflow:hidden}@media (max-width:720px){body.mapcontroller_index{height:auto}}#player.is-hoverable,#player.is-hoverable #stage{cursor:pointer}#player.is-orbitable,#player.is-orbitable #stage{cursor:grab}#player.is-orbiting,#player.is-orbiting #stage{cursor:grabbing}#map-layout{--map-sidebar-w:minmax(250px,min(31vw,340px));--map-sidebar-collapsed-w:48px;position:relative;display:grid;grid-template-columns:var(--map-sidebar-w) minmax(0,1fr);width:100vw;height:calc(100dvh - var(--topnav-height));background:#dfe5e8;overflow:hidden}#map-layout.is-sidebar-collapsed{grid-template-columns:var(--map-sidebar-collapsed-w) minmax(0,1fr)}#map-sidebar{position:relative;display:flex;flex-direction:column;gap:0;min-width:0;min-height:0;overflow:visible;background:rgba(36,36,38,.88);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-right:1px solid rgba(255,255,255,.08);box-shadow:0 20px 60px rgba(0,0,0,.18);z-index:20}#map-sidebar-content{position:relative;z-index:1;display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0;overflow:hidden}#map-layout.is-map-ready #map-sidebar-content{opacity:1;visibility:visible;transform:translateX(0);transition:opacity .45s ease,transform .45s ease,visibility 0s linear 0s}#map-layout.is-sidebar-collapsed #map-sidebar-content{opacity:0;visibility:hidden;transform:translateX(-10px);pointer-events:none;transition:opacity .14s ease,transform .18s ease,visibility 0s linear .18s}#map-stage-wrap{position:relative;min-width:0;min-height:0;background:linear-gradient(180deg,#e5ebee 0,#dce3e7 100%);overflow:hidden}#map-search-wrap{opacity:0;transform:translateY(-8px)}#map-room-list{opacity:0;transform:translateY(8px)}#map-room-list .scroll-content{padding:1em 1em}#map-layout.is-map-ready #map-search-wrap{opacity:1;transform:translateY(0);transition:opacity .38s ease,transform .45s cubic-bezier(.2,.8,.2,1)}#map-layout.is-map-ready #map-room-list{opacity:1;transform:translateY(0);transition:opacity .45s ease .08s,transform .48s cubic-bezier(.2,.8,.2,1) .08s}.map-sidebar-toggle{position:absolute;z-index:2;top:23px;right:-48px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(255,255,255,.2);box-shadow:0 4px 14px rgba(0,0,0,.16);cursor:pointer;z-index:100;transition:background-color .2s ease,transform .2s ease}.map-sidebar-toggle:hover{background:#fff}.map-sidebar-toggle-icon{display:block;width:7px;height:7px;border-left:2px solid #555;border-bottom:2px solid #555;transform:rotate(45deg);transition:transform .3s ease}#map-layout.is-sidebar-collapsed .map-sidebar-toggle-icon{transform:rotate(225deg)}#map-search-wrap{position:relative;padding:18px 16px 10px 16px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.map-room-search{box-shadow:0 0 0 0 rgba(255,255,255,.4),inset 0 0 0 0 rgba(255,255,255,.8);display:block;width:100%;max-width:100%;height:40px;padding:0 14px 0 40px;border:1px solid rgba(255,255,255,.14);border-radius:999px;outline:0;box-sizing:border-box;background-color:rgba(255,255,255,.96);background-image:url("../svg/form/magnifying-glass.svg");background-repeat:no-repeat;background-position:14px 50%;background-size:14px 14px;font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:500;color:#1f2328;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,transform .2s ease}.map-room-search::placeholder{color:#9aa1a8;font-style:italic;opacity:1}.map-room-search:focus{box-shadow:0 0 0 5px rgba(255,255,255,.4),inset 0 0 5px 5px rgba(255,255,255,.8);background-color:#fff}.map-room-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;width:100%}.map-room-row:not(:has(.map-room-actions)){grid-template-columns:minmax(0,1fr)}.map-room-actions{display:flex;align-items:center;gap:1px;padding:0}.map-room-action{position:relative;display:flex;align-items:center;justify-content:center;width:26px;height:30px;margin:0;cursor:pointer}.map-room-action-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.map-room-action-icon{display:block;width:24px;height:24px;background-color:rgba(255,255,255,.35);transition:background-color .18s ease}.map-room-action-icon:hover{background-color:rgba(255,255,255,.95)}.map-room-action-icon-light{-webkit-mask:url("../icons/sun-fill.svg") center/contain no-repeat;mask:url("../icons/sun-fill.svg") center/contain no-repeat}.map-room-action-icon-text{-webkit-mask:url("../icons/text-t-fill.svg") center/contain no-repeat;mask:url("../icons/text-t-fill.svg") center/contain no-repeat}.map-room-action-input:checked+.map-room-action-icon{background-color:#ffd890}.map-room-action-input:checked+.map-room-action-icon-light{-webkit-mask:url("../icons/sun-fill-active.svg") center/contain no-repeat;mask:url("../icons/sun-fill-active.svg") center/contain no-repeat}.map-room-action-input:checked+.map-room-action-icon-text{-webkit-mask:url("../icons/text-t-fill-active.svg") center/contain no-repeat;mask:url("../icons/text-t-fill-active.svg") center/contain no-repeat}.map-room-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:7px 12px;border:0;border-radius:8px;background:0 0;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.map-room-item:hover{background:rgba(255,255,255,.1)}.map-room-item:focus-visible{outline:0;background:rgba(255,255,255,.1);box-shadow:0 0 0 2px rgba(255,255,255,.2)}.map-room-item.is-active{background:#ffdea297;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.map-room-item-label{display:block;min-width:0;font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:500;line-height:1.3;color:#f5f7f8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-room-item-floor{display:block;flex:0 0 auto;font-family:'IBM Plex Sans',sans-serif;font-size:11px;font-weight:500;line-height:1;color:rgba(255,255,255,.42);text-transform:uppercase;letter-spacing:.03em;transition:color .25s ease}.map-room-item-floor.is-current-floor{color:rgba(255,255,255,.85)}.map-room-item-floor.is-other-floor{color:rgba(255,255,255,.2)}.map-room-item.is-active .map-room-item-floor.is-current-floor{color:rgba(255,255,255,.68)}.map-room-item.is-active .map-room-item-floor.is-other-floor{color:rgba(0,0,0,.2)}.map-room-empty{padding:12px 14px;font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:rgba(255,255,255,.6)}.map-room-highlight{padding:0 .08em;border-radius:.3em;background:rgba(255,140,0,.4);color:#fff}.map-room-search-empty{margin-top:4px}.map-sidebar-footer{flex:0 0 auto;padding:.65rem .75rem .8rem;border-top:1px solid rgba(255,255,255,.12)}.map-download-btn{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;min-height:36px;padding:.45rem .7rem;border:0;border-radius:var(--main-radius);background:rgba(255,255,255,.12);color:rgba(255,255,255,.82);font-family:'IBM Plex Sans',sans-serif;font-size:.78rem;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,opacity .2s}.map-download-btn:hover{background:rgba(255,255,255,.22);color:#fff}.map-download-btn:disabled{opacity:.4;cursor:default}.map-download-btn-icon{display:block;width:16px;height:16px;flex:0 0 16px;background:currentColor;-webkit-mask:url("../svg/form/download.svg") center/contain no-repeat;mask:url("../svg/form/download.svg") center/contain no-repeat}#map-layout.is-sidebar-collapsed .map-sidebar-footer{position:absolute;left:0;bottom:10px;display:flex;justify-content:center;width:48px;padding:0;border-top:0}#map-layout.is-sidebar-collapsed .map-download-btn{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;gap:0}#map-layout.is-sidebar-collapsed .map-download-btn-label{display:none}#map-layout.is-sidebar-collapsed .map-download-btn-icon{width:18px;height:18px;flex:0 0 18px}#player{position:absolute;inset:0;background:#dfe5e8;overflow:hidden}#player>canvas{position:absolute;inset:0;display:block;width:100%;height:100%}body:not(.js-size-control) #player{width:100%;height:100%;image-rendering:auto}.css3d-renderer{position:absolute;inset:0;width:100%;height:100%;z-index:12;pointer-events:none}.css3d-renderer .episode-title{white-space:pre;font-family:Arial,sans-serif;font-weight:700;text-transform:uppercase;width:550px;height:50px;transform:scale(4);opacity:0;color:#fff;display:flex;justify-content:center;align-items:center}.map-room-bubble-root{position:relative;pointer-events:none!important;opacity:0;transition:opacity .18s ease}.map-room-bubble-root.is-visible{opacity:1}.map-room-bubble{position:absolute;left:50%;top:0;transform:translate(-50%,-100%);pointer-events:none!important}.map-room-bubble-text{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:10px 25px;border-radius:999px;background:var(--main_bkg_color);font-family:'IBM Plex Sans',sans-serif;font-size:25px;font-weight:500;line-height:1;color:#fff;white-space:nowrap;pointer-events:none!important;user-select:none;-webkit-user-select:none}.map-room-bubble-tail{position:absolute;left:50%;bottom:-10px;width:20px;height:12px;margin-left:-10px;background:var(--main_bkg_color);clip-path:polygon(50% 100%,0 0,100% 0);pointer-events:none!important;z-index:1}.map-room-bubble-root-path{position:relative;pointer-events:none!important;opacity:0;transition:opacity .18s ease}.map-room-bubble-root-path.is-visible{opacity:1}.map-room-bubble-root-path .map-room-bubble-path{position:absolute;left:50%;top:0;transform:translate(-50%,-100%);pointer-events:none!important;overflow:visible}.map-room-bubble-root-path .map-room-bubble-text-path{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:7px 28px;box-shadow:0 5px 30px rgba(0,0,0,.14);border-radius:999px;background:#fff;font-family:'IBM Plex Sans',sans-serif;font-size:28px;font-weight:600;line-height:1;color:#111;white-space:nowrap;pointer-events:none!important;user-select:none;-webkit-user-select:none}.map-room-bubble-root-path .map-room-bubble-tail-path{position:absolute;left:50%;bottom:-12px;z-index:3;width:24px;height:14px;margin-left:-12px;background:#fff;clip-path:polygon(50% 100%,0 0,100% 0);pointer-events:none!important}#map-view-switcher{position:absolute;top:20px;right:20px;width:auto;z-index:25;padding:8px;border-radius:18px;background:rgba(255,255,255,.2);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid rgba(255,255,255,.6);box-shadow:0 2px 10px rgba(69,81,89,.05)}.map-view-switcher-grid{display:grid;grid-template-columns:42px 64px 42px;grid-template-rows:40px 40px;gap:4px;align-items:stretch;justify-items:stretch}.map-switch-btn{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0;padding:0;margin:0;border:0;border-radius:10px;background:0 0;font-family:'IBM Plex Sans Condensed',sans-serif;font-size:14px;font-weight:700;line-height:1;color:rgba(46,52,56,.5);cursor:pointer;box-sizing:border-box;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.map-switch-btn-side{padding-left:1px;padding-right:1px}.map-switch-btn-floor{padding-left:4px;padding-right:4px}.map-switch-btn:hover{background:rgba(255,255,255,.38);color:rgba(25,29,32,.72)}.map-switch-btn.is-active{background:rgba(255,255,255,.78);color:#0e1113;box-shadow:0 4px 12px rgba(0,0,0,.08)}.map-switch-btn.is-disabled{color:rgba(46,52,56,.22)}.map-switch-btn:focus-visible{outline:0;box-shadow:0 0 0 2px rgba(255,255,255,.75)}#progress-container{pointer-events:none;opacity:0;visibility:hidden;display:flex;align-items:center;justify-content:center;position:absolute;inset:0;background:#fff;z-index:200;transition:opacity .42s ease,visibility 0s linear .42s}#progress-container.visible{opacity:1;visibility:visible;transition:opacity .42s ease,visibility 0s linear 0s}#progress-bar-main-container{opacity:1;position:absolute;display:flex;align-items:center;width:min(20vw,350px);min-width:220px;height:4px;border-radius:999px;background:rgba(0,0,0,.08)}#progress-text{color:#333;height:2em;display:flex;align-items:center;justify-content:center;margin-bottom:.5em;width:100%;transform:translateY(-50%);font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:600}#progress-bar-container{position:absolute;inset:0;border-radius:999px;overflow:hidden;z-index:2}#progress-bar{position:absolute;width:0%;height:100%;background:#333;transition:width .1s}body.js-size-control #start-panel{transition:none}body.js-size-control #intro_panel{transition:none}body.js-size-control #controls{height:30px}body.js-size-control #controls-wake{opacity:0;visibility:hidden}body.js-size-control #sapa_corner_logo{opacity:0;visibility:hidden}@media (max-width:720px){#map-layout{grid-template-columns:1fr;grid-template-rows:minmax(300px,65dvh) minmax(180px,35dvh)}#map-stage-wrap{order:1;min-height:0}#map-sidebar{order:2;border-right:0;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -10px 30px rgba(0,0,0,.12)}#map-search-wrap{position:relative;padding:18px 52px 10px 16px}#map-room-search{height:38px;font-size:16px;padding-left:57px;background-position:25px 50%;background-size:25px 25px}#map-room-list{padding:4px 16px 12px 8px}.map-room-item{padding:8px 16px}.map-room-item-label{font-size:16px}.map-room-item-floor{font-size:14px;transition:color .25s ease}.map-room-item-floor.is-current-floor{color:rgba(255,255,255,.9)}.map-room-item-floor.is-other-floor{color:rgba(255,255,255,.42)}#map-view-switcher{top:14px;right:14px;padding:7px;border-radius:16px}.map-view-switcher-grid{grid-template-columns:36px 54px 36px;grid-template-rows:36px 36px;gap:4px}.map-switch-btn{font-size:13px;border-radius:9px}.map-switch-btn-side{padding-left:1px;padding-right:1px}.map-switch-btn-floor{padding-left:4px;padding-right:4px}#map-layout.is-sidebar-collapsed{grid-template-columns:1fr;grid-template-rows:minmax(240px,50dvh) minmax(280px,50dvh)}.map-sidebar-toggle{display:none}#map-sidebar-content{opacity:1!important;visibility:visible!important;pointer-events:auto!important}}