.icon-svg-hover[data-astro-cid-5blmo7yk]{position:relative}.icon-svg-hover[data-astro-cid-5blmo7yk] .base-icon[data-astro-cid-5blmo7yk]{transition:opacity .6s ease}.icon-svg-hover[data-astro-cid-5blmo7yk] .hover-icon[data-astro-cid-5blmo7yk]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .6s ease}.icon-svg-hover[data-astro-cid-5blmo7yk]:hover .base-icon[data-astro-cid-5blmo7yk]{opacity:0}.icon-svg-hover[data-astro-cid-5blmo7yk]:hover .hover-icon[data-astro-cid-5blmo7yk]{opacity:1}.tooltip{position:absolute;z-index:100;pointer-events:auto;transition:.05s ease-out;background:transparent;border:none}.tooltip:focus-within,.tooltip:hover{z-index:2}.tooltip:focus-within path:first-child,.tooltip:hover path:first-child{fill:#f48f4b}.tooltip p{white-space:nowrap;color:#fff;background:#efefef;color:#112b3c;position:absolute;top:0;left:50%;transform:translate(-50%,-90px);border-radius:3px;padding:5px 8px;pointer-events:none;opacity:0;transition:.15s ease-out;font-weight:400;font-family:Oswald,sans-serif}.tooltip button:focus+p,.tooltip button:hover+p{opacity:1}.tooltip button{background:none;padding:0}.reset-button{display:flex!important;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-top:.625rem;background:#ffffff14!important;border:.0625rem solid rgba(255,255,255,.3);border-radius:.625rem;color:#efefef!important;cursor:pointer;font-family:Inter,ui-sans-serif,system-ui;font-size:.875rem;line-height:1.5;font-weight:500;transition:all .3s ease;backdrop-filter:blur(.625rem)!important;-webkit-backdrop-filter:blur(.625rem)!important;box-shadow:0 .25rem .9375rem #0003;position:relative;z-index:10000}.reset-button:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-.125rem);box-shadow:0 .5rem 1.5625rem #00000026}.reset-button:active{transform:translateY(0);background:#ffffff14}.reset-button svg{transition:transform .3s ease}.reset-button:hover svg{transform:rotate(180deg)}.fog-control{display:flex;flex-direction:column;gap:.375rem;padding:.625rem .75rem;margin-top:.625rem;background:#ffffff14!important;border:.0625rem solid rgba(255,255,255,.25);border-radius:.625rem;backdrop-filter:blur(.625rem)!important;-webkit-backdrop-filter:blur(.625rem)!important;box-shadow:0 .25rem .9375rem #00000026;position:relative;z-index:10000;min-width:8rem}.fog-label{display:flex!important;align-items:center;gap:.5rem;color:#efefef!important;margin:0;font-size:.875rem!important;line-height:1.5!important;font-weight:500!important;font-family:Inter,"ui-sans-serif","system-ui"!important;justify-content:flex-start;opacity:.9}.fog-label svg{transition:transform .3s ease}.fog-slider{width:100%;height:.25rem;background:#fff3;border-radius:.125rem;border:none;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0;box-sizing:border-box;display:block;min-width:85%}.fog-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:1rem;height:1rem;background:#ffffffe6;border-radius:50%;cursor:pointer;box-shadow:0 .125rem .375rem #0000004d;-webkit-transition:all .2s ease;transition:all .2s ease}.fog-slider::-webkit-slider-thumb:hover{background:#fff;transform:scale(1.1);box-shadow:0 .1875rem .5625rem #0006}.fog-slider::-moz-range-thumb{width:1rem;height:1rem;background:#ffffffe6;border-radius:50%;cursor:pointer;border:none;box-shadow:0 .125rem .375rem #0000004d;-moz-transition:all .2s ease;transition:all .2s ease}.fog-slider::-moz-range-thumb:hover{background:#fff;transform:scale(1.1);box-shadow:0 .1875rem .5625rem #0006}.tooltip button svg{width:20px;margin-left:-10px;transform:translateY(-100%)}#compass{position:absolute;right:2vw;bottom:4vh;width:3.5vw;min-width:40px;max-width:60px;z-index:9998;overflow:visible;pointer-events:none;display:block!important}@media (max-width: 768px){#compass{width:3.5rem;height:3.5rem;right:2rem;bottom:2rem;z-index:10000;display:block!important;visibility:visible!important;position:fixed!important}.reset-button{display:flex!important;font-size:2.5vw;min-font-size:.625rem;max-font-size:.75rem;padding:1.5vw 2.5vw;z-index:110}}#compass path:first-child{stroke:#112b3c;stroke-width:4px}.theme-switcher{margin-bottom:15px}.theme-btn{background:#ffffffe6;border:2px solid #112B3C;border-radius:8px;padding:8px 16px;cursor:pointer;font-family:Oswald,sans-serif;font-weight:500;font-size:14px;color:#112b3c;transition:all .3s ease;display:flex;align-items:center;gap:6px}.theme-btn:hover{background:#112b3c;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.theme-btn.colored{background:linear-gradient(45deg,#f08,#08f);color:#fff;border-color:transparent}.theme-btn.colored:hover{background:linear-gradient(45deg,#e6007a,#0077e6);transform:translateY(-2px) scale(1.05)}.theme-btn.buildings-only{background:linear-gradient(45deg,#0f8,#0cf);color:#fff;border-color:transparent}.theme-btn.buildings-only:hover{background:linear-gradient(45deg,#00e67a,#00b3e6);transform:translateY(-2px) scale(1.05)}.theme-btn.fog-tech{background:linear-gradient(45deg,#666,#999);color:#fff;border-color:transparent}.theme-btn.fog-tech:hover{background:linear-gradient(45deg,#555,#888);transform:translateY(-2px) scale(1.05)}.theme-btn.fog-altitude{background:linear-gradient(45deg,#444,#777);color:#fff;border-color:transparent}.theme-btn.fog-altitude:hover{background:linear-gradient(45deg,#333,#666);transform:translateY(-2px) scale(1.05)}.gps-tooltip{position:absolute;z-index:1000;pointer-events:auto;opacity:0;transform:translateY(.6rem);transition:all .2s ease-out;font-family:Inter,sans-serif;max-width:18rem}.gps-tooltip.show{opacity:1;transform:translateY(0)}.gps-tooltip-glass{background:#ffffff1a!important;border:.0625rem solid rgba(255,255,255,.2);border-radius:.5rem;padding:.75rem 1rem;-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);box-shadow:0 .25rem 1.25rem #0000004d}.gps-tooltip .tooltip-content{display:flex;flex-direction:column;gap:.5rem}.gps-tooltip .coordinates{display:flex;align-items:center;gap:.5rem}.gps-tooltip .coordinates-text{color:#efefef;font-size:.875rem;font-weight:500;line-height:1.4}.gps-tooltip .copy-icon{cursor:pointer;opacity:.7;transition:all .2s ease;flex-shrink:0}.gps-tooltip .copy-icon:hover{opacity:1;transform:scale(1.1)}@media (max-width: 768px){.gps-tooltip{max-width:15rem;font-size:3vw}.gps-tooltip .coordinates-text{font-size:2.8vw}.gps-tooltip .copy-icon{width:3.5vw;height:3.5vw;min-width:.875rem;min-height:.875rem}}.ui{position:absolute;top:9rem;left:1.5rem;z-index:9999;display:flex!important;flex-direction:column;gap:.625rem;pointer-events:none}.ui>*{pointer-events:auto}.waypoints-menu{position:relative;z-index:10000;transition:all .3s cubic-bezier(.4,0,.2,1)}.waypoints-button{display:flex!important;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ffffff14!important;border:.0625rem solid rgba(255,255,255,.3);border-radius:.625rem;color:#efefef!important;cursor:pointer;font-family:Inter,ui-sans-serif,system-ui;font-size:.875rem;line-height:1.5;font-weight:500;transition:all .3s ease;backdrop-filter:blur(.625rem)!important;-webkit-backdrop-filter:blur(.625rem)!important;box-shadow:0 .25rem .9375rem #0003;width:100%;justify-content:space-between;min-width:8rem}.waypoints-button:hover{background:#ffffff26;border-color:#fff6;transform:translateY(-.0625rem);box-shadow:0 .375rem 1.25rem #00000040}.waypoints-button.expanded{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom:.0625rem solid rgba(255,255,255,.1)}.waypoints-button .chevron{transition:transform .3s ease;opacity:.7}.waypoints-button .chevron.rotated{transform:rotate(180deg)}.waypoints-dropdown{background:#ffffff14!important;border:.0625rem solid rgba(255,255,255,.25);border-top:none;border-radius:0 0 .625rem .625rem;backdrop-filter:blur(.625rem)!important;-webkit-backdrop-filter:blur(.625rem)!important;box-shadow:0 .25rem .9375rem #0003;overflow:hidden;max-height:0;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.waypoints-dropdown.open{max-height:6rem;opacity:1;pointer-events:auto}.waypoint-item{display:flex!important;align-items:center;gap:.5rem;padding:.625rem .75rem;background:transparent;border:none;color:#efefef!important;cursor:pointer;font-family:Inter,ui-sans-serif,system-ui;font-size:.875rem;line-height:1.5;font-weight:500;transition:all .2s ease;width:100%;text-align:left;border-bottom:.0625rem solid rgba(255,255,255,.1)}.waypoint-item:last-child{border-bottom:none}.waypoint-item:hover{background:#ffffff1a;transform:translate(.25rem);color:#fff!important}.waypoint-item:active{background:#fff3;transform:translate(.125rem)}.waypoint-item svg{transition:transform .2s ease;opacity:.8}.waypoint-item:hover svg{transform:scale(1.1);opacity:1}.waypoint-info-panel{position:fixed;top:9rem;right:1.5rem;width:20rem;background:#ffffff14!important;border:.0625rem solid rgba(255,255,255,.25);border-radius:.75rem;backdrop-filter:blur(.75rem)!important;-webkit-backdrop-filter:blur(.75rem)!important;box-shadow:0 .5rem 1.5rem #0000004d;z-index:9998;animation:slideInRight .3s cubic-bezier(.4,0,.2,1);font-family:Inter,"ui-sans-serif","system-ui"!important}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:.0625rem solid rgba(255,255,255,.15)}.panel-title{display:flex;align-items:center;gap:.5rem;color:#efefef;font-size:1.125rem;font-weight:600;margin:0}.panel-close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:#ffffff1a;border:none;border-radius:.375rem;color:#ffffffb3;cursor:pointer;transition:all .2s ease}.panel-close-button:hover{background:#fff3;color:#ffffffe6;transform:scale(1.05)}.panel-body{padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:1.25rem}.coordinates-section{display:flex;flex-direction:column;gap:.625rem}.section-label{display:flex;align-items:center;gap:.375rem;color:#fffc;font-size:.875rem;font-weight:500;margin:0}.coordinates-row{display:flex;align-items:center;gap:.5rem;background:#ffffff0d;border:.0625rem solid rgba(255,255,255,.15);border-radius:.5rem;padding:.75rem 1rem}.coordinates-text{flex:1;color:#efefef;font-size:.875rem;font-weight:500;font-family:SF Mono,Monaco,Cascadia Code,monospace;letter-spacing:.025em}.copy-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:#ffffff1a;border:none;border-radius:.375rem;color:#ffffffb3;cursor:pointer;transition:all .2s ease;position:relative}.copy-button:hover{background:#fff3;color:#ffffffe6;transform:scale(1.05)}.copy-feedback{font-size:.75rem;font-weight:500;color:#0f8;white-space:nowrap}.course-info-section{padding-top:.5rem;border-top:.0625rem solid rgba(255,255,255,.1)}.coming-soon{display:flex;align-items:center;gap:.5rem;color:#fff9;font-size:.8125rem;font-style:italic}@media (max-width: 768px){.waypoint-info-panel{position:fixed;top:auto;bottom:1.25rem;right:1rem;left:1rem;width:auto;animation:slideInUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.panel-header{padding:.875rem 1rem .625rem}.panel-title{font-size:1rem}.panel-body{padding:.875rem 1rem 1rem}.coordinates-text{font-size:.8125rem}}@media (max-width: 768px){.ui{top:15vw;left:3vw;gap:2.5vw;z-index:9999}.waypoints-button{padding:1.5vw 2.5vw;font-size:2.5vw;min-font-size:.625rem;max-font-size:.75rem;min-width:7rem}.waypoint-item{padding:2vw 2.5vw;font-size:2.3vw;min-font-size:.6rem;max-font-size:.7rem}}.gps-test-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.test-button,.clear-test-button{background:#ffffffe6;border:2px solid #ff6b6b;border-radius:8px;padding:8px 16px;cursor:pointer;font-family:Oswald,sans-serif;font-weight:500;font-size:14px;color:#ff6b6b;transition:all .3s ease;display:flex;align-items:center;gap:6px}.test-button:hover,.clear-test-button:hover,.test-button.active{background:#ff6b6b;color:#fff;border-color:#ff5252}.clear-test-button{border-color:#666;color:#666}.clear-test-button:hover{background:#666;color:#fff;border-color:#555}@media (max-width: 768px){.gps-test-controls{gap:2.5vw}.test-button,.clear-test-button{padding:1.5vw 2.5vw;font-size:2.5vw;min-font-size:.625rem;max-font-size:.75rem}}
