:root{color-scheme:dark;--ink:#062b3a;--panel:#062b3af5;--cyan:#39c3ce;--text:#edf7f8;--muted:#adbec5;--line:#43606b;--warning:#ffd05b;font:16px/1.45 system-ui,-apple-system,sans-serif}
.privacy-link{display:inline-flex;align-items:center;min-height:44px;color:var(--cyan);font-size:.8rem}.privacy-link:focus-visible{outline:3px solid var(--warning);outline-offset:2px}
.route-panel button[aria-pressed=true]{background:var(--cyan);color:#042631}
.segmented button[aria-pressed=true]{background:var(--cyan);color:#042631}
.panel .panel-title{position:sticky;top:0;z-index:2;background:var(--ink);padding-bottom:6px}
.placement-cancel{position:absolute;top:78px;left:10px;z-index:7;max-width:calc(100% - 20px);background:var(--warning);color:var(--ink);font-size:.8rem}
.route-panel{left:10px;bottom:110px;width:min(310px,calc(100% - 85px));padding:12px}.route-panel p{font-size:.76rem}.route-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.route-buttons button{padding:6px;font-size:.82rem}.route-active{position:absolute;left:10px;bottom:105px;z-index:4;background:var(--panel);color:var(--warning);font-size:.8rem}.route-panel label{font-size:.8rem}.route-panel select{max-width:95px}.vector{overflow-wrap:anywhere}
*{box-sizing:border-box}html,body,#map{margin:0;width:100%;height:100%;height:100dvh;overflow:hidden;background:#071f2b}button,input,select{font:inherit}button,select,summary{cursor:pointer}button{min-height:46px;border:1px solid transparent;border-radius:10px;background:var(--ink);color:var(--text);padding:9px 13px;font-weight:650}button:hover{border-color:var(--cyan)}button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--warning);outline-offset:2px}button:disabled{opacity:.5;cursor:wait}button[aria-pressed=true],.wide:not(.secondary){background:var(--cyan);color:#042631}button.secondary{background:#174253}button small{display:block;font-size:.7rem}h1,h2{font-size:1.15rem;margin:0}h3{margin:.3rem 0}p{font-size:.87rem;color:var(--muted);margin:.65rem 0}small{color:inherit}[hidden]{display:none!important}
.topbar{position:absolute;top:max(10px,env(safe-area-inset-top));left:10px;right:10px;display:flex;gap:10px;align-items:flex-start;justify-content:space-between;pointer-events:none;z-index:5}.topbar>*{pointer-events:auto;box-shadow:0 2px 12px #0003}.identity{display:flex;align-items:center;gap:7px;padding:7px 11px;background:var(--panel);border-radius:12px}.identity img{width:27px;height:35px}.identity strong{font-size:1rem;letter-spacing:.09em}.identity small{display:block;font-size:.69rem;color:var(--muted)}.guidance{background:var(--panel);border-radius:12px;padding:7px 13px;color:var(--cyan);font:600 .8rem/1.5 ui-monospace,monospace}.guidance small{display:block;color:var(--text)}#menu-toggle{background:var(--panel)}
.panel{position:absolute;z-index:6;background:var(--panel);border:1px solid #47748670;border-radius:15px;padding:14px;box-shadow:0 10px 40px #0005;overflow:auto;max-height:calc(100dvh - 145px);overscroll-behavior:contain}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.panel-title button{font-size:1.5rem;padding:0 10px;min-height:38px}.menu{top:78px;right:10px;width:330px}.divert{top:85px;left:10px;width:245px}.detail,.offline{top:85px;left:50%;transform:translateX(-50%);width:min(500px,calc(100% - 20px))}.panel label{display:flex;align-items:center;gap:9px;min-height:43px;padding:4px 0;font-size:.9rem}.panel label small{margin-left:auto;color:var(--muted);font-size:.75rem}.panel input[type=checkbox]{width:20px;height:20px;accent-color:var(--cyan)}.panel details{border-top:1px solid var(--line);padding:10px 0}.panel details summary{font-size:.9rem;padding:4px 0}.panel select{margin-left:auto;max-width:170px;background:#123c4c;color:white;border:1px solid var(--line);border-radius:6px;padding:5px}.segmented{display:flex;gap:6px;margin:8px 0}.segmented button{flex:1;background:#174253}.wide{display:block;width:100%;margin:8px 0}.notice{padding:9px;border-left:3px solid var(--warning);background:#203d46;font-size:.78rem}.divert-card{margin:9px 0;padding:11px;background:#123d4e;border-radius:10px;border:1px solid transparent}.divert-card.selected{border-color:var(--cyan)}.divert-card .target{padding:0;min-height:38px;width:100%;text-align:left;background:none;font-size:.89rem}.divert-card .rank{display:inline-block;font-size:1.3rem;margin-right:8px}.divert-card p{margin:2px 0;font: .75rem/1.6 ui-monospace,monospace}.divert-card .details{font-size:.75rem;padding:4px;min-height:32px;color:var(--cyan);background:none}.detail-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:.87rem}.detail-row span{color:var(--muted)}.vector{font: .86rem/1.7 ui-monospace,monospace}.stars{letter-spacing:.14em;color:#67d9a3}.map-controls{position:absolute;right:12px;bottom:max(65px,calc(env(safe-area-inset-bottom) + 45px));display:grid;gap:3px;z-index:4}.map-controls button{width:49px;background:var(--panel);font-size:1.6rem;padding:5px}.map-controls #track{font-size:1.3rem;margin-top:7px}.map-controls #track small{font-size:.61rem}.divert-toggle{position:absolute;bottom:max(52px,calc(env(safe-area-inset-bottom) + 32px));left:10px;z-index:4;background:var(--panel)}
#map-status{position:absolute;bottom:27px;left:10px;max-width:calc(100% - 90px);background:#062b3ae8;padding:3px 7px;font-size:.68rem;pointer-events:none;border-radius:5px;color:var(--text)}.maplibregl-ctrl-attrib{font-size:10px!important;background:#ffffffd4!important;color:#22313b!important;max-width:100%}.maplibregl-ctrl-attrib a{color:inherit!important}#glide-legend{position:absolute;right:10px;top:85px;width:62px;background:var(--panel);border-radius:9px;padding:5px;text-align:center;font-size:.66rem;pointer-events:none;z-index:3}#glide-bands{display:flex;flex-direction:column-reverse;margin:5px 0;border-radius:4px;overflow:hidden}#glide-bands span{height:26px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:750;text-shadow:0 1px 3px #000,1px 0 2px #000}#toast{position:absolute;left:50%;bottom:110px;transform:translateX(-50%);z-index:10;background:#092f40f5;border:1px solid var(--cyan);padding:12px;border-radius:10px;max-width:min(470px,90vw);font-size:.85rem}progress{width:100%;height:20px;accent-color:var(--cyan)}.saved-area{border-top:1px solid var(--line);padding:10px 0}.saved-area button{min-height:34px;font-size:.8rem;background:#174253}
/* Floating panels leave the right-hand zoom/track strip reachable at every size. */
.menu{right:75px;width:min(330px,calc(100% - 85px))}.detail,.offline{left:10px;transform:none;width:min(500px,calc(100% - 85px))}
@media(max-width:600px){.identity{padding:7px}.identity strong{font-size:.8rem}.identity img{width:19px}.identity small{font-size:.58rem}.topbar{gap:5px}.guidance{font-size:.7rem;padding:6px 8px}.guidance:not([hidden])~#menu-toggle span{display:none}.topbar:has(.guidance:not([hidden])) .identity{display:none}.guidance{margin-right:auto}.menu{top:70px}.panel{max-height:calc(100dvh - 150px)}.divert{width:225px;top:70px}.detail,.offline{top:70px}#glide-legend{top:73px}#glide-bands span{height:24px}}
@media(max-height:600px) and (max-width:600px){#glide-bands span{height:15px;font-size:.65rem}}
@media(max-height:600px) and (min-width:601px){
  #glide-legend{top:auto;bottom:8px;left:90px;right:75px;width:auto;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px;padding:4px 6px}
  #glide-bands{flex-direction:row;margin:0;min-width:0}#glide-bands span{flex:1;height:23px;font-size:.7rem}#glide-legend>small{grid-column:1/-1}#glide-legend>small br{display:none}
}
