.temp-legend{position:fixed;bottom:20px;right:50px;z-index:1000;pointer-events:none;font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:11px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9);display:flex;flex-direction:column;align-items:flex-start;gap:3px}.temp-legend-unit{padding-left:2px;font-size:10px;opacity:.8;letter-spacing:.05em}.temp-legend-bar{position:relative;width:13px;height:190px;border-radius:3px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(to top,#2d004b,#0000cd 17.8%,#00cce0 37.6%,#00b300 53.5%,#9c0 62.4%,#ffe600 72.3%,#ff8000,#e60000 87.1%,#906)}.temp-legend-tick{position:absolute;left:100%;display:flex;align-items:center;gap:4px;transform:translateY(50%);white-space:nowrap}.temp-legend-tick:before{content:"";display:block;width:5px;height:2px;background:#ffffff8c;margin-left:1px}.refl-legend{position:fixed;bottom:20px;right:50px;z-index:1000;pointer-events:none;font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:11px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9);display:flex;flex-direction:column;align-items:flex-start;gap:3px}.refl-legend-unit{padding-left:2px;font-size:10px;opacity:.8;letter-spacing:.05em}.refl-legend-bar{position:relative;width:13px;height:190px;border-radius:3px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(to top,#090,#0c0,#0f0,#80ff00,#ff0,#ffbf00,#ff8000,red,#c00,#f0f,#90c,#fff)}.refl-legend-tick{position:absolute;left:100%;display:flex;align-items:center;gap:4px;transform:translateY(50%);white-space:nowrap}.refl-legend-tick:before{content:"";display:block;width:5px;height:2px;background:#ffffff8c;margin-left:1px}.wind-legend{position:fixed;bottom:30px;right:30px;z-index:1000;pointer-events:none;font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:11px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9);display:flex;flex-direction:column;align-items:flex-start;gap:3px}.wind-legend-unit{padding-left:2px;font-size:10px;opacity:.8;letter-spacing:.05em}.wind-legend-bar{position:relative;width:13px;height:190px;border-radius:3px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(to top,#9999b3,#66b3e6,#3c9 12.5%,#00bf00,#e6e600,#f90,#f30,#d90000 75%,#b30080)}.wind-legend-tick{position:absolute;left:100%;display:flex;align-items:center;gap:4px;transform:translateY(50%);white-space:nowrap}.wind-legend-tick:before{content:"";display:block;width:5px;height:2px;background:#ffffff8c;margin-left:1px}html,body,main{overflow:hidden;height:100%;margin:0}.container{display:flex;justify-content:center;align-items:center;height:100vh;max-width:100%;min-height:700px;flex-direction:column}#map{width:100%;height:100%;margin:0;-webkit-user-select:none;user-select:none}:root:has(.dark){background-color:#193047;--bg-color: #000000}.logo{max-height:15em;max-width:15em;margin-bottom:2em}@media screen and (min-height: 400px){.logo{max-height:25em;max-width:20em}}.mapSiteName{position:fixed;z-index:5000;left:.4em;bottom:.4em;opacity:.5;font-family:Helvetica Neue,Arial,Helvetica,sans-serif;color:#000;text-shadow:-1px -1px 0 #ccc,1px -1px 0 #ccc,-1px 1px 0 #ccc,1px 1px 0 #ccc;font-size:24px;cursor:pointer;-webkit-user-select:none;user-select:none}@media screen and (max-width: 500px){.mapSiteName{width:100%;text-align:center}}.mode-menu{position:fixed;top:10px;right:10px;z-index:9999}.mode-btn{background:#000000b3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:5px 8px;font:13px sans-serif;cursor:pointer;width:100%;text-align:left}.mode-list{display:none;position:absolute;top:100%;right:0;margin:2px 0 0;padding:4px 0;list-style:none;background:#000000d9;border:1px solid rgba(255,255,255,.2);border-radius:4px;min-width:100%;white-space:nowrap}.mode-menu:hover .mode-list{display:block}.mode-item{padding:5px 12px;color:#fff;font:13px sans-serif;cursor:pointer}.mode-item:hover{background:#ffffff26}.mode-item--active{color:#7cf}.w-100{width:100%}.h-100{height:100%}.map-throbber{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:500;pointer-events:none}.map-throbber-scene{position:relative;width:300px;height:120px;overflow:hidden}.map-throbber-plane{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:70px;color:#1773b0;z-index:2;animation:map-plane-bob 1.8s ease-in-out infinite;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}.map-throbber-cloud{position:absolute;color:#fff;opacity:.82;animation:map-cloud-drift linear infinite;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));z-index:1}.map-throbber-cloud-1{top:8%;font-size:48px;animation-duration:2.8s;animation-delay:0s}.map-throbber-cloud-2{top:48%;font-size:54px;animation-duration:3.8s;animation-delay:-1.4s;z-index:3}.map-throbber-cloud-3{top:22%;font-size:40px;animation-duration:4.4s;animation-delay:-2.6s}@keyframes map-plane-bob{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-5px)}}@keyframes map-cloud-drift{0%{transform:translate(130px)}to{transform:translate(-130px)}}.login-overlay{position:fixed;inset:0;padding:1em;display:flex;align-items:center;justify-content:center;z-index:10000;background:#193047}.login-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:2.4em 2.8em 2em;width:min(360px,90vw);display:flex;flex-direction:column;gap:1em;font-family:Helvetica Neue,Arial,Helvetica,sans-serif}.login-card label{display:flex;flex-direction:column;gap:.35em;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c}.login-card input{background:#00000059;border:1px solid rgba(255,255,255,.18);border-radius:5px;color:#fff;font-size:15px;padding:.55em .75em;outline:none;transition:border-color .15s}.login-card input:focus{border-color:#ffffff80}.login-card button{margin-top:.4em;padding:.65em;background:#278ccfd9;border:none;border-radius:5px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.login-card button:hover{background:#278ccf}.login-card button:disabled{opacity:.5;cursor:default}.login-error{font-size:13px;color:#ff6b6b;text-align:center}.container button{margin-top:.4em;padding:.65em;background:#278ccfd9;border:none;border-radius:5px;font-size:1em;color:#fff;cursor:pointer}.container button:hover{background:#278ccf}.container a{margin-top:1.5em;padding:.65em;background:#278ccfd9;border:none;border-radius:5px;font-size:1em;font-family:sans-serif;text-decoration:none;color:#fff;cursor:pointer}
