body{height:100dvh;display:flex;flex-direction:column}body>header{flex-shrink:0}main{flex:1;min-height:0;display:flex;flex-direction:column;padding:0}#guest-status{margin:.5rem 1rem;color:#587063}#map{flex:1;min-height:250px;width:100%}
.guest-toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;flex-wrap:wrap}.guest-toolbar select{width:auto;min-width:140px;margin:0}.guest-toolbar button{margin:0}.guest-toolbar [hidden]{display:none}:root body>header nav .guest-login{background:#286348;color:#fff;border-radius:9px;padding:8px 16px}

body>header nav{margin-inline-start:auto}.guest-point{box-sizing:border-box!important;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;padding:0!important;border:1px solid #688575!important;border-radius:4px!important;background:white!important;color:#294f3b!important;font:600 14px/20px system-ui!important}.guest-point.guest-hazard{background:#ff8a00!important;color:#251b0b!important}.guest-toolbar label{display:flex;align-items:center;gap:4px;font-size:13px}.guest-toolbar input[type=checkbox]{width:auto}

body[data-guest]>header{position:relative;z-index:20;isolation:isolate}body[data-guest]>main{position:relative;z-index:0;isolation:isolate;overflow:hidden}body[data-guest] #map{position:relative;inset:auto;min-height:0;flex:1 1 0}body[data-guest]>header nav{overflow:visible;gap:12px}body[data-guest]>header nav a{flex-shrink:0}

html body[data-guest]>header{height:44px;min-height:44px;padding:3px 10px;gap:8px;flex-wrap:nowrap}
html body[data-guest]>header .brand{display:flex;flex:none}html body[data-guest]>header .brand-logo{width:32px;height:32px}
html body[data-guest]>header nav{height:36px;width:auto;flex:0 1 auto;margin-inline-start:auto;gap:10px;font-size:13px;order:0}
html body[data-guest]>header nav a{height:32px;min-height:32px;padding:4px 7px}
.guest-language{display:flex;align-items:center;gap:4px;flex:none}.guest-language svg{width:18px;height:18px;fill:none;stroke:#527361;stroke-width:1.5}
html body[data-guest]>header .site-language{min-height:30px;height:30px;width:88px;max-width:88px;padding:2px 5px;font-size:12px;margin:0}
body[data-guest] #guest-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
body[data-guest] .guest-layer-control{position:relative;overflow:visible;z-index:5}
body[data-guest] .guest-layer-control>button{width:36px;height:36px;display:grid;place-items:center}
.guest-layer-control>button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}
.guest-layer-panel{position:absolute;right:44px;bottom:0;width:220px;max-width:calc(100vw - 66px);max-height:calc(100dvh - 90px);overflow:auto;background:white;border:1px solid #cbd9d0;border-radius:10px;box-shadow:0 3px 18px #243b3424}
.guest-layer-panel[hidden]{display:none}.guest-layer-panel .guest-toolbar{display:flex;flex-direction:column;align-items:stretch;padding:12px;gap:8px}.guest-layer-panel label{margin:0;white-space:normal}.guest-layer-panel select{width:100%;min-width:0}
body[data-guest] .guest-layer-panel button{width:100%;height:34px;font-size:13px}
.guest-point{position:absolute;display:grid!important;place-items:center}.guest-point svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.guest-photo-count{position:absolute;top:-7px;right:-8px;min-width:14px;border-radius:8px;background:#325b46;color:white;font:10px/14px system-ui;padding:0 2px}
@media(max-width:360px){html body[data-guest]>header{padding-inline:5px;gap:4px}html body[data-guest]>header nav{gap:3px;font-size:12px}html body[data-guest]>header .site-language{width:74px;max-width:74px}}

.guest-photo-view{max-height:min(55dvh,440px);overflow:auto;display:grid;gap:8px}.guest-photo-view img{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:6px}.guest-information{min-width:min(240px,65vw);max-width:75vw}.guest-information p{font-size:12px;margin:6px 0;color:#5b7062}

.guest-language{position:relative}.guest-language .site-language[hidden]{display:none!important}html body[data-guest] .language-flag{width:34px;height:32px;min-height:32px;padding:0;border:1px solid #d4ded7;background:#f5f8f5;border-radius:6px;font-size:22px;line-height:1}.language-flag-options{position:absolute;top:36px;inset-inline-end:0;display:flex;gap:4px;padding:5px;background:white;border:1px solid #d4ded7;border-radius:8px;box-shadow:0 3px 12px #223b3020}.language-flag-options[hidden]{display:none}.language-flag-options button{width:36px;height:32px;min-height:32px;padding:0;font-size:22px;background:#f4f7f4}

.guest-language .language-flag svg,.guest-language .language-flag-options svg{width:26px;height:18px;display:block;margin:auto;stroke:none;border-radius:2px;box-shadow:0 0 0 1px #cbd5cf}
.language-flag-options{flex-direction:column}

body[data-guest] .guest-about{position:absolute;left:8px;bottom:30px;z-index:2;max-width:calc(100% - 70px);font:12px/1.5 system-ui;color:#344e42;background:#fff;border:1px solid #d5e0d9;border-radius:8px}
body[data-guest] .guest-about summary{cursor:pointer;padding:4px 8px;min-height:0}
body[data-guest] .guest-about section{padding:0 12px 12px;width:330px;max-width:100%;box-sizing:border-box;max-height:45dvh;overflow:auto}
body[data-guest] .guest-about h1{font-size:17px;line-height:1.35;margin:8px 0}

html body .maplibregl-marker.guest-point{position:absolute!important;left:0;top:0;margin:0!important;transition:none!important}
