:root{font-family:system-ui,sans-serif;color:#103746;background:#c2dfe9}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas{display:block;width:100vw;height:100dvh;touch-action:none}header,nav,aside,.zoom,footer,#status,#gps-status{position:fixed}header{inset:0 0 auto;background:#fffef8f5;display:flex;align-items:center;gap:18px;padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));box-shadow:0 2px 16px #10374612}header img{width:160px;height:48px;object-fit:contain}#region{font-size:13px;flex:1;color:#607d87}button,select,input{font:inherit;color:inherit;background:#fff;border:1px solid #d4e1e5;border-radius:12px;padding:11px;box-shadow:0 2px 6px #1037460b}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #299b99}nav{top:88px;left:16px;display:flex;gap:8px;flex-wrap:wrap;right:58px}aside{left:16px;top:147px;width:min(320px,calc(100vw - 32px));padding:14px;background:#fffffff5;border-radius:14px;max-height:55vh;overflow:auto;box-shadow:0 5px 24px #10374625}aside label{display:flex;align-items:center;gap:10px;padding:6px}#poi-panel input,#poi-panel select{width:100%;margin-bottom:8px}#results button{display:block;width:100%;text-align:left;margin-top:5px}.zoom{right:12px;top:150px;display:grid;gap:6px}.zoom button{font-size:26px;padding:8px 16px}footer{bottom:0;left:0;right:0;display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#fffef8ee;padding:8px 16px calc(8px + env(safe-area-inset-bottom));font-size:11px}footer a{color:#225f81}#scale{font-size:13px;border-bottom:3px solid #416071;min-width:72px;text-align:center}#status{left:16px;right:16px;bottom:90px;width:fit-content;max-width:calc(100% - 32px);background:#fffef8ee;border-radius:10px;padding:10px 14px;font-size:13px;pointer-events:none}#status:empty{display:none}#gps-status{bottom:65px;left:16px;font-size:12px;background:#ffffffdd;border-radius:8px;padding:5px}#gps-status:empty{display:none}dialog{border:0;border-radius:18px;max-width:min(460px,90vw);color:#103746;padding:24px;box-shadow:0 8px 50px #10374633}dialog::backdrop{background:#10374655}dialog p{white-space:pre-line;line-height:1.6}dialog button{float:right}#language{padding:8px}@media(max-width:500px){header img{width:125px}header{gap:10px}#region{font-size:11px}nav{gap:5px}nav button{font-size:12px;padding:9px}footer{gap:6px}}
