@import "https://fonts.googleapis.com/css2?family=Montserrat+Alternates:wght@700&display=swap";:root{--wrightrider-blue:#2aa3dc}*{box-sizing:border-box}body{color:#fff;background:#050b12;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}.page{min-height:100vh}header{z-index:10;position:fixed;top:24px;left:24px}h1{letter-spacing:-.04em;margin:0 0 8px;font-family:Montserrat Alternates,system-ui,sans-serif;font-size:42px;font-style:italic;font-weight:700}p{color:#a9bdcc;margin:0}main{width:100vw;height:100vh}#globe{width:100%;height:100%;display:block}#coords{color:#fff;white-space:nowrap;background:#000000b3;border-radius:8px;max-width:calc(100vw - 344px);padding:12px 16px;font-size:18px;position:fixed;bottom:20px;left:324px}#route-panel{z-index:20;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050b12e0;border:1px solid #ffffff29;border-radius:14px;width:280px;max-height:calc(100vh - 140px);padding:18px;position:fixed;top:110px;left:24px;overflow-y:auto}#route-panel h2{margin:0 0 16px;font-family:Montserrat Alternates,system-ui,sans-serif;font-size:22px;font-style:italic;font-weight:700}#route-panel label{color:#a9bdcc;margin-bottom:12px;font-size:14px;display:block}#route-panel .toggle-row{align-items:center;gap:8px;margin:0 0 14px;display:flex}#route-panel .toggle-row input{width:auto;accent-color:var(--wrightrider-blue);margin:0}.lighting-control{color:#a9bdcc;margin:0 0 14px;font-size:14px}.segmented-control{background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;grid-template-columns:1.35fr 1fr 1fr;gap:2px;margin-top:6px;padding:3px;display:grid}#route-panel .segmented-control button{color:#c7d7e3;background:0 0;margin:0;padding:8px 6px;font-size:12px}#route-panel .segmented-control button.is-active{background:var(--wrightrider-blue);color:#fff}#route-panel input{color:#fff;background:#ffffff14;border:1px solid #fff3;border-radius:8px;width:100%;margin-top:6px;padding:10px;font-size:16px}.location-input{position:relative}.location-suggestions{z-index:30;background:#050b12f7;border:1px solid #ffffff29;border-radius:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 12px 30px #00000059}#route-panel .location-suggestions button{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-columns:44px 1fr;align-items:center;gap:8px;width:100%;margin:0;padding:9px 10px;display:grid}#route-panel .location-suggestions button:hover,#route-panel .location-suggestions button:focus{background:#2aa3dc3d}.location-suggestions span{color:var(--wrightrider-blue);font-weight:700}.location-suggestions small{color:#d9e7f2;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}#route-panel button{background:var(--wrightrider-blue);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;margin:6px 0 14px;padding:11px;font-weight:700}#route-panel button:disabled{cursor:not-allowed;opacity:.45}#show-controls{z-index:50;background:var(--wrightrider-blue);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:11px 16px;font-weight:700;position:fixed;bottom:20px;right:20px}#hide-controls{display:none}#route-panel input[type=range]{accent-color:var(--wrightrider-blue);padding:0}.animation-controls{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.animation-controls button,.utility-controls button{margin:0}.utility-controls{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px;display:grid}#route-info{color:#d9e7f2;white-space:pre-line;font-size:14px;line-height:1.45}#about-dialog{color:#fff;background:#050b12f5;border:1px solid #ffffff2e;border-radius:10px;width:min(320px,100vw - 40px);padding:22px}#about-dialog::backdrop{background:#00000094}#about-dialog h3{margin:0 0 12px;font-family:Montserrat Alternates,system-ui,sans-serif;font-size:24px;font-style:italic;font-weight:700}#about-dialog p{color:#d9e7f2;margin:0 0 8px}#about-dialog button{margin:14px 0 0}@media (width<=760px){body{overflow:hidden auto}.page{min-height:100svh;padding:calc(28px + env(safe-area-inset-top)) 16px 110px}header{z-index:30;max-width:100%;position:relative;top:auto;left:auto}h1{max-width:min-content;font-size:clamp(42px,14vw,58px);line-height:.96}main{z-index:0;height:100svh;position:fixed;inset:0}#globe{height:100svh}#coords{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));text-overflow:ellipsis;max-width:none;padding:10px 12px;font-size:14px;left:16px;overflow:hidden}#route-panel{z-index:40;width:100%;max-height:none;margin:24px auto 0;padding:16px;position:relative;top:auto;left:auto;right:auto;overflow:visible}body.controls-hidden{overflow:hidden}body.controls-hidden .page{padding-bottom:0}body.controls-hidden header{display:none}#hide-controls{display:block}#show-controls{right:16px;bottom:calc(62px + env(safe-area-inset-bottom));min-height:46px;padding:11px 14px}#route-panel label{margin-bottom:10px;font-size:15px}#route-panel input{padding:11px;font-size:18px}#route-panel button{min-height:48px;margin-bottom:12px}.segmented-control{grid-template-columns:1.4fr 1fr 1fr}#route-panel .segmented-control button{min-height:40px;padding:8px 4px;font-size:14px}.animation-controls,.utility-controls{gap:10px}#route-info{font-size:16px}}@media (width<=420px){.page{padding-left:12px;padding-right:12px}h1{font-size:clamp(38px,13.5vw,50px)}#route-panel{padding:14px}.animation-controls,.utility-controls{grid-template-columns:1fr}#route-panel .segmented-control button{font-size:13px}}
