*{box-sizing:border-box}body{margin:0;background:#fff;color:#122879;font:16px/1.45 system-ui,sans-serif}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;border-bottom:1px solid #e3e5f0;flex-wrap:wrap}header span{font-weight:700}a{color:#263c93}button{font:inherit;cursor:pointer}.zoom{display:flex;gap:6px}.zoom button{border:1px solid #d7daea;background:#f6f7fd;color:#152b80;border-radius:8px;padding:8px 12px;min-height:44px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ee9d00;outline-offset:3px}main{max-width:1536px;margin:auto;padding:0 12px}.hint,#status{font-size:13px;color:#53617a;margin:8px 0}#viewport{overflow:auto;max-height:calc(100dvh - 150px);overscroll-behavior:contain}svg{display:block;width:100%;height:auto}svg a{cursor:pointer}svg rect{fill:#fff;fill-opacity:0;stroke:transparent;stroke-width:4;vector-effect:non-scaling-stroke}svg a:hover rect,svg a:focus rect{fill:#ffcf33;fill-opacity:.22;stroke:#e49900}svg .active rect{fill:#ffdf42;fill-opacity:.34;stroke:#e08000}#popup{position:fixed;z-index:5;width:340px;max-width:calc(100vw - 24px);max-height:60dvh;overflow:auto;background:white;color:#21344a;border:2px solid #4d4298;border-radius:15px;box-shadow:0 8px 40px #10204555;padding:20px}#popup[hidden]{display:none}#close{position:absolute;right:7px;top:6px;width:36px;height:36px;border:0;border-radius:50%;background:#f0edf8;font-size:24px;color:#4d4298}#popup h2{font-size:21px;margin:4px 24px 10px 0}#popup p{white-space:pre-line}#popup img{width:56px;height:65px;object-fit:contain;float:left;margin:0 12px 8px 0}.place{font-size:13px;color:#66568a;font-weight:700}.dismiss{font-size:11px;color:#65718a;border-top:1px solid #ddd;padding-top:10px;clear:both}details{margin:16px 0}summary{cursor:pointer;padding:12px;background:#f5f4fb;border-radius:10px}#list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;padding:10px 0}#list button{text-align:left;border:1px solid #dcddeb;border-radius:8px;padding:12px;background:white;color:#203276;min-height:48px}footer{padding:14px 0;font-size:13px}@media(max-width:600px){header{padding:8px 12px;font-size:13px}header span{display:none}main{padding:0 5px}.hint,#status{padding:0 7px;font-size:12px}.zoom button{padding:6px 10px}#viewport{max-height:72dvh}#popup{max-height:52dvh}}

/* Standalone QR destination: only plan, zoom and room popovers. */
body{height:100dvh;overflow:hidden}header{justify-content:center;padding:6px;background:#fff;height:58px}main{padding:0;max-width:none;height:calc(100dvh - 58px)}#viewport{height:100%;max-height:none;overflow:auto;touch-action:pan-x pan-y pinch-zoom}svg{margin:auto}#status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#popup{z-index:10}@media(orientation:landscape){svg{max-width:calc((100dvh - 58px)*1.5)}svg[style]{max-width:none}}

#viewport{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#9087bd #f1eff8}#map{flex-shrink:0}#viewport::-webkit-scrollbar{width:8px;height:8px}#viewport::-webkit-scrollbar-thumb{background:#9087bd;border-radius:8px}@media(max-width:900px){#popup{left:12px!important;right:12px;top:auto!important;bottom:12px;width:auto;max-width:none;max-height:48dvh}}

svg .offer-button rect{stroke:#4d429866;stroke-width:1;fill:#fff;fill-opacity:.01}svg .offer-button.active rect{stroke:#e08000;stroke-width:4;fill:#ffdf42;fill-opacity:.34}.info-badge{font: bold 17px system-ui;fill:#253d96;pointer-events:none}

#language-toggle{width:100%;min-height:44px;padding:8px;border:1px solid #cec8e2;border-radius:8px;background:#f5f2ff;color:#30266b}#language-picker:not([hidden]){display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}#language-picker button{min-height:44px;padding:8px 12px;border:1px solid #cec8e2;border-radius:8px;background:white}#language-picker button[aria-pressed=true]{background:#4d4298;color:white}#popup-body[dir=rtl] img{float:right;margin:0 0 8px 12px}#popup-body[dir=rtl] h2{margin-left:24px;margin-right:0}#popup{max-height:75dvh}@media(max-width:900px){#popup{max-height:60dvh}}

#read-aloud{width:100%;min-height:48px;margin-top:10px;background:#4d4298;color:white;border:0;border-radius:9px;font-weight:700}#speech-status{font-size:13px;color:#715117}#speech-status:empty{display:none}

#audio-player{display:block;width:100%;height:44px;margin-top:8px}

.footer-heading{font:600 16px system-ui;fill:#253d76}.clean-card rect{fill:#f8f9fd!important;fill-opacity:1!important;stroke:#d9dfea!important;stroke-width:1!important}.clean-card:hover rect,.clean-card:focus rect,.clean-card.active rect{fill:#fff2bf!important;stroke:var(--card-color)!important;stroke-width:2!important}.clean-card text,.clean-card path{pointer-events:none}.card-title{font:700 17px system-ui;fill:#20376e}.card-subtitle{font:400 14px system-ui;fill:#425270}

.original-detail{pointer-events:none}.clean-card rect{fill:#fff!important}@media(orientation:landscape){#map{max-width:calc((100dvh - 58px)*1.4436)}#map[style]{max-width:none}}
