
*{box-sizing:border-box}body{margin:0;background:#08121e;color:#f2f7fc;font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}#scene{position:fixed;inset:0}#top{position:fixed;top:calc(env(safe-area-inset-top) + 12px);left:16px;right:16px;pointer-events:none;z-index:3}#top>*{pointer-events:auto}#back{color:#d5eaf5;text-decoration:none;font-weight:700;font-size:12px;background:#0b2234bd;border:1px solid #3b5c71;border-radius:10px;padding:9px 11px;display:inline-block}h1{font-size:clamp(25px,6vw,42px);margin:15px 0 4px;letter-spacing:-1px;text-shadow:0 2px 12px #000}#region{font-size:12px;color:#b2d4e5;text-shadow:0 2px 6px #000}#weather{margin-top:9px;color:#e3f3fb;font-size:12px;text-shadow:0 2px 5px #000;max-width:70vw}#history{position:fixed;top:calc(env(safe-area-inset-top) + 13px);right:17px;border:0;background:#102b3d99;color:white;border-radius:50%;width:39px;height:39px;font:italic bold 23px Georgia;z-index:5}#legend{position:fixed;right:10px;top:35%;height:30%;display:flex;gap:6px;align-items:stretch;z-index:3;pointer-events:none}#ramp{width:13px;border:1px solid #b9d9e5;border-radius:7px;background:linear-gradient(to top,#b27e56,#f0d6a0 34%,#f6f1c9 65%,#6bb6c4 85%,#164f82)}#ticks{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:11px;font-weight:750}#ticks span{padding:3px 5px;border-radius:5px;background:#081c2dde;border:1px solid #4a6b80}#controls{position:fixed;left:15px;bottom:calc(env(safe-area-inset-bottom) + 16px);display:flex;gap:8px;align-items:center;z-index:4}button{cursor:pointer}#controls button{border:1px solid #567a8e;background:#0b2539d9;color:white;border-radius:9px;padding:9px 12px;font-weight:700}#routePanel{position:fixed;left:16px;top:calc(env(safe-area-inset-top) + 151px);width:min(305px,70vw);max-height:50vh;overflow:auto;z-index:4;background:#0a2033c7;border:1px solid #35556b;border-radius:12px;padding:12px;backdrop-filter:blur(7px)}#routePanel h2{font-size:12px;text-transform:uppercase;letter-spacing:1.3px;margin:0 0 9px;color:#b9e7f0}#routePanel button{display:block;width:100%;background:#142f44;border:1px solid #41677b;color:#e5f6ff;border-radius:8px;padding:10px;text-align:left;margin:6px 0}#routePanel button.active{border-color:#9be4e9;background:#23506a}#routePanel p{color:#aac8d9;font-size:11px;line-height:1.5;margin:9px 0 0}#routePanel .point{font-size:12px}#routePanel .point:focus{outline:2px solid #95e7f1}#foot{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 17px);right:47px;font-size:10px;color:#b5d0e0;z-index:3;max-width:43vw;text-align:right;text-shadow:0 2px 4px #000}#info{position:fixed;right:9px;bottom:calc(env(safe-area-inset-bottom) + 9px);border:0;background:transparent;color:#d9ebf5;font-size:24px;z-index:5}dialog{background:#102437;color:#eef6ff;border:1px solid #5a7d94;border-radius:15px;max-width:min(540px,calc(100vw - 32px));max-height:80vh;overflow:auto;padding:23px;line-height:1.6}dialog::backdrop{background:#000b}dialog h2{margin:0 0 10px}dialog h3{margin:15px 0 3px;color:#9ae2ed}dialog p{color:#c5d9e8;margin:4px 0 12px}dialog a{color:#9ae2ed}dialog .close{float:right;background:#2a485c;color:white;border:0;border-radius:8px;font-size:23px;padding:2px 10px}.note{font-size:12px;color:#bed3e2}#detail{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 72px);left:15px;max-width:min(350px,83vw);padding:10px 13px;border:1px solid #638ba2;border-radius:10px;background:#0a2338e8;z-index:5;font-size:12px;display:none}#detail strong{display:block;color:#fff;margin-bottom:3px}#detail span{color:#bbd8e6}@media(max-width:600px){#routePanel{top:calc(env(safe-area-inset-top) + 163px);max-height:32vh;width:min(250px,67vw)}#foot{max-width:42vw}#routePanel h2{font-size:11px}#routePanel p{font-size:10px}}

/* V11 mobile terrain-first layout */
#routeToggle{position:fixed;left:16px;top:calc(env(safe-area-inset-top) + 143px);z-index:7;border:1px solid #6a9bb3;border-radius:12px;padding:10px 14px;background:#103047ed;color:#e9f8ff;font-weight:750;box-shadow:0 6px 22px #0005}
#routePanel{display:none!important;top:calc(env(safe-area-inset-top) + 194px)!important;width:min(340px,calc(100vw - 32px))!important;max-height:min(48vh,440px)!important;background:#0a2033f5!important;box-shadow:0 16px 38px #0009}
body.routes-open #routePanel{display:block!important}
#top{right:70px}#top h1{font-size:clamp(24px,5.5vw,38px)}#weather{max-width:calc(100vw - 90px)}
@media(max-width:600px){#routeToggle{top:calc(env(safe-area-inset-top) + 136px)}#routePanel{top:calc(env(safe-area-inset-top) + 184px)!important;max-height:42vh!important}#legend{right:7px;top:43%;height:23%;opacity:.82}#ticks{font-size:10px}#ramp{width:10px}#detail{max-width:calc(100vw - 32px)}}
