.beta-banner { margin: 0 0 20px; border: 1px solid #4a6581; border-radius: 12px; padding: 15px 18px; background: #132333; line-height: 1.65; }
.beta-banner strong { color: #71dcff; }
.beta-banner p { margin: 5px 0; color: #bccbd8; font-size: .87rem; }
.beta-banner a { color: #71dcff; }
.density-scale { display: flex; align-items: center; gap: 10px; font-size: .83rem; }
.density-scale i { display: inline-block; width: min(200px, 30vw); height: 12px; border-radius: 8px; background: linear-gradient(90deg, transparent, #ffd02f); border: 1px solid #536070; }
#relativeDensityStatus { color: #f2c94c; }
.map-viewport { display: grid; place-items: center; overscroll-behavior: contain; }
.map-stage { max-width: none; margin: 0; aspect-ratio: 1; transition: none; will-change: transform; }
.map-control-help { position: absolute; left: 12px; top: 10px; width: fit-content; max-width: calc(100% - 24px); margin: 0; padding: 4px 7px; border-radius: 5px; background: #05090ecc; font-size: .74rem; color: #e3edf8; pointer-events: none; }
.zoom-controls { z-index: 4; max-width: calc(100% - 16px); flex-wrap: wrap; justify-content: flex-end; bottom: 8px; right: 8px; }
.zoom-controls button { min-height: 40px; font-size: .8rem; }
.wheel-step input { width: 62px; height: 36px; }
.map-viewport:focus-visible { outline-offset: -3px; }
.map-expanded { position: fixed; inset: 8px; z-index: 100; display: flex; flex-direction: column; margin: 0; background: #111a25; box-shadow: 0 0 0 20px #080d14ed; }
.map-expanded .map-viewport { flex: 1; min-height: 0; height: auto; }
.map-expanded .map-settings { max-height: 35vh; overflow-y: auto; flex: none; }
.map-expanded .map-heading { flex: none; }
@media(max-width: 600px) { .map-control-help { font-size: .67rem; } .zoom-controls { gap: 3px; } .zoom-controls button { padding: 6px; min-width: 36px; } }
.flight-analysis{margin:12px 0;border:1px solid #355566;border-radius:10px;background:#0d1c28;padding:12px 14px}
.flight-analysis>summary{cursor:pointer;font-weight:700;color:#b9ecff}.flight-analysis summary small{font-size:.73rem;color:#9baebc;margin-left:8px}
.flight-help{font-size:.79rem;color:#a8bdca;line-height:1.6;margin:9px 0}.flight-actions,.flight-seed,.flight-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:9px 0}
.flight-options label{display:flex;flex-direction:column;gap:5px;font-size:.76rem;color:#afc4d1;flex:1;min-width:140px}
.flight-options select,.flight-seed select{min-width:0;max-width:100%;padding:8px;background:#0a1520;color:#edf7ff;border:1px solid #345266;border-radius:6px}
.flight-seed label{font-size:.77rem;color:#afc4d1}.flight-seed select{flex:1;min-width:200px}.flight-analysis button{font-size:.78rem;padding:8px 10px}
.flight-options label.flight-checkbox{flex-direction:row;align-items:center;min-width:180px}.flight-checkbox input{width:auto}
#flightStatus{font-size:.85rem;font-weight:600;color:#82e4ff;line-height:1.7;margin:12px 0}
.flight-table{width:100%;font-size:.77rem}.flight-table td,.flight-table th{padding:8px;text-align:right}.flight-table td:first-child,.flight-table th:first-child{text-align:left}
.flight-recommendations{color:#bcffa0;font-size:.8rem;line-height:1.7}.flight-matches{max-height:240px;overflow:auto;margin-top:8px}.flight-matches>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #253c4b;padding:7px 0;gap:9px}.flight-matches label{display:flex;align-items:center;gap:7px;font-size:.73rem}.flight-matches button{white-space:nowrap}
.map-viewport.flight-picking{cursor:crosshair}.flight-picking .map-control-help{color:#b9ecff}
.map-expanded .flight-analysis{max-height:32vh;overflow:auto;flex:none}
@media(max-width:600px){.flight-options label{min-width:125px}.flight-seed select{flex-basis:100%}.flight-actions button{flex:1}.flight-table{min-width:410px}}
