.migration-page{margin:0;background:#091519;color:#eaf4ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.migration-page *{box-sizing:border-box}.migration-page a{color:inherit;text-decoration:none}.migration-page button,.migration-page select{font:inherit}.migration-header{height:86px;max-width:1500px;padding:0 5%;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff10}.migration-brand{font-weight:850;letter-spacing:-1px;font-size:23px;line-height:1.1}.migration-brand>span{color:#b8f7a1}.migration-brand small{display:block;font-size:9px;font-weight:500;letter-spacing:3px;color:#9caea9;margin-top:8px}.migration-header nav{display:flex;gap:30px;align-items:center;font-size:13px;color:#adbbb7}.migration-header .current{color:#c7f7b6;border-bottom:1px solid #b8f7a1;padding-bottom:8px}.migration-shell{max-width:1500px;margin:auto;padding:0 5%}.migration-intro{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:50px 0 36px}.eyebrow{font-size:10px!important;letter-spacing:2.4px;color:#a6d59a!important;font-weight:700;margin:0 0 16px}.eyebrow span,.caption-dot{display:inline-block;width:6px;height:6px;background:#c0fba6;border-radius:50%;margin-right:8px;box-shadow:0 0 14px #b5fb9360}.migration-intro h1{font-size:clamp(32px,4.2vw,57px);font-weight:650;line-height:1.08;letter-spacing:-2px;margin:0 0 17px}.migration-intro em{font-style:normal;color:#b8f7a1}.migration-intro p:not(.eyebrow){color:#aabcb6;font-size:14px;max-width:440px;line-height:1.8}.intro-stats{display:flex;gap:42px;align-items:flex-start}.intro-stats>div{display:flex;flex-direction:column}.intro-stats strong{font-size:33px;font-weight:550;letter-spacing:-1px}.intro-stats>div:last-child strong{font-size:19px;padding-top:10px;letter-spacing:-.5px}.intro-stats span{font-size:11px;color:#99aaa3;margin-top:8px}.migration-viewer{border:1px solid #ffffff1c;border-radius:20px;overflow:hidden;background:#102127;box-shadow:0 24px 70px #0003}.viewer-toolbar{padding:18px 22px;display:flex;justify-content:space-between;gap:20px;align-items:center}.layer-tabs{background:#07161b;border-radius:10px;padding:4px;display:flex;gap:3px}.layer-tabs button{border:0;background:none;color:#a6b4b4;padding:11px 18px;border-radius:7px;font-size:12px;cursor:pointer}.layer-tabs button[aria-selected=true]{background:#c2f9aa;color:#132219;font-weight:700;box-shadow:0 2px 12px #0003}.viewer-controls{display:flex;gap:15px}.viewer-controls label{display:flex;align-items:center;gap:9px;color:#899f98;font-size:11px}.migration-page select{background:#182d31;color:#e5eee9;border:1px solid #385050;border-radius:8px;padding:9px 10px;font-size:12px;max-width:240px}.migration-map-wrap{position:relative;height:560px;background:#09171d}#migration-map{height:100%;width:100%;background:#132329}.migration-map-wrap .leaflet-control-attribution{background:#0b2029d9;color:#96a8b0;font-size:9px}.migration-map-wrap .leaflet-control-attribution a{color:#b7cbc6}.migration-map-wrap .leaflet-bar{border:1px solid #516e73}.migration-map-wrap .leaflet-bar a{background:#142b32;color:#e8f5ed;border-color:#38565c}.map-caption{position:absolute;left:22px;top:22px;z-index:450;display:flex;align-items:center;background:#081a24dd;border:1px solid #57737855;border-radius:10px;padding:13px 17px;backdrop-filter:blur(12px);pointer-events:none}.map-caption strong{display:block;font-size:9px;letter-spacing:1.7px;color:#a8c3ba}.map-caption span:not(.caption-dot){font-size:16px;display:block;margin-top:5px;font-weight:600}.map-legend{position:absolute;left:22px;bottom:25px;z-index:450;background:#081a24eb;border:1px solid #56747755;border-radius:12px;padding:15px 17px;max-width:265px;pointer-events:none}.map-legend strong{font-size:11px;font-weight:600}.legend-gradient{height:6px;margin:13px 0 5px;background:linear-gradient(90deg,#37bddb,#8ad7be,#c4ec91,#f7cd76,#ff855f);border-radius:4px}.map-legend>span{font-size:10px;display:flex;justify-content:space-between;color:#becfc8}.map-legend p{font-size:10px;color:#99b0ad;line-height:1.5;margin:10px 0 0}.fit-map{position:absolute;right:22px;top:22px;z-index:450;background:#081a24e6;border:1px solid #56747788;color:#d4e6df;border-radius:8px;padding:10px 13px;font-size:11px;cursor:pointer}.map-message{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);z-index:450;max-width:360px;min-width:230px;text-align:center;background:#102630ec;border:1px solid #56747799;border-radius:12px;padding:18px;color:#d5e3df;font-size:13px;pointer-events:none}.migration-page [hidden]{display:none!important}.gps-point{width:10px!important;height:10px!important;border-radius:100%;border:2px solid #e8f6ea;background:#b8f7a1;box-shadow:0 0 14px #aef289aa}.gps-arrow{color:#dbf6c3;font-size:19px;line-height:1;text-shadow:0 1px 3px #000;background:none;border:none}.migration-popup{color:#183d35;font-size:12px;line-height:1.6}.migration-popup strong{display:block;font-size:13px}.migration-popup small{display:block;color:#597065}.timeline{display:flex;align-items:center;gap:22px;padding:22px;background:#102127;border-top:1px solid #38505670}.timeline>button{background:#b8f7a1;color:#11261b;border:0;border-radius:9px;min-width:98px;padding:12px 16px;font-weight:700;cursor:pointer}.timeline>button:disabled{opacity:.4;cursor:default}.timeline-range{flex:1;min-width:0}.timeline-range>div{display:flex;justify-content:space-between;font-size:10px;color:#98ada6;gap:10px}.timeline-range strong{color:#d9e9df;font-size:12px}#day{width:100%;accent-color:#b8f7a1;margin-top:13px;cursor:pointer}.speed-label{color:#98ada6;font-size:10px;display:flex;align-items:center;gap:8px}.day-summary{display:flex;gap:40px;align-items:center;padding:0 22px 22px}.day-summary>div{white-space:nowrap}.day-summary strong{font-size:25px;font-weight:600;display:block}.day-summary span{font-size:10px;color:#93aaa1}.day-summary p{font-size:10px;color:#93aaa1;line-height:1.7;max-width:510px;margin-left:auto}.migration-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding:38px 0}.migration-notes article{border-top:1px solid #ffffff16;padding-top:20px}.migration-notes article>span{font-size:10px;color:#a9e596;letter-spacing:1px}.migration-notes h3{font-size:15px;font-weight:600;margin:12px 0}.migration-notes p{color:#91a69d;font-size:12px;line-height:1.9}.migration-footer{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:23px 0;border-top:1px solid #ffffff16;color:#8eaba0;font-size:11px}.migration-footer>a:first-child{color:#c2e9b5}.radar-intro{padding:28px;display:flex;gap:22px;align-items:center}.radar-icon{font-size:55px;color:#b8f7a1}.radar-intro h2{font-size:23px;margin:0 0 10px;letter-spacing:-.6px}.radar-intro p:not(.eyebrow){color:#a1b9ac;font-size:12px;line-height:1.8;max-width:650px}.radar-intro>a{margin-left:auto;white-space:nowrap;border:1px solid #5b825f;border-radius:8px;padding:12px 16px;color:#c3f3b3;font-size:12px}.radar-coverage{display:flex;align-items:center;gap:8px;padding:0 28px 20px;flex-wrap:wrap}.radar-coverage>span{border:1px solid #4e6f60;border-radius:20px;padding:6px 12px;font-size:11px;color:#beedb3}.radar-coverage p{font-size:11px;color:#94a99e;margin-left:12px}.radar-frame{height:580px;background:#ebf0ed}.radar-frame iframe{width:100%;height:100%;border:0}.radar-fallback{padding:15px 28px;color:#9bb5a7;font-size:11px;line-height:1.8}.radar-fallback a{color:#c3f3b3;text-decoration:underline}.migration-page button:focus-visible,.migration-page a:focus-visible,.migration-page input:focus-visible,.migration-page select:focus-visible{outline:2px solid #b8f7a1;outline-offset:4px}@media(min-width:1700px){.migration-map-wrap{height:650px}}@media(max-width:1000px){.intro-stats{gap:22px}.intro-stats strong{font-size:27px}.migration-intro{gap:25px}.viewer-controls label{display:block}.viewer-controls select{display:block;margin-top:5px}.day-summary{gap:20px}.radar-intro{flex-wrap:wrap}.radar-intro>a{margin-left:0}}@media(max-width:700px){.migration-header{height:72px;padding:0 20px}.migration-brand{font-size:19px}.migration-brand small{font-size:8px;letter-spacing:2px}.migration-header nav{gap:14px;font-size:10px}.migration-header nav a:nth-child(2){display:none}.migration-shell{padding:0 15px}.migration-intro{display:block;padding:28px 5px 25px}.migration-intro h1{font-size:37px;letter-spacing:-1.4px}.migration-intro p:not(.eyebrow){font-size:12px;margin-bottom:20px}.intro-stats{gap:30px;justify-content:space-between}.intro-stats strong{font-size:25px}.intro-stats>div:last-child strong{font-size:15px;padding-top:7px}.intro-stats span{font-size:8px}.viewer-toolbar{padding:12px;flex-wrap:wrap;gap:12px}.layer-tabs{width:100%}.layer-tabs button{flex:1}.viewer-controls{width:100%;gap:12px}.viewer-controls label{flex:1}.viewer-controls select{width:100%;max-width:100%;font-size:11px}.migration-map-wrap{height:490px}.map-caption{left:12px;top:12px;padding:10px 12px}.map-caption strong{font-size:7px;letter-spacing:1px}.map-caption span:not(.caption-dot){font-size:13px}.fit-map{right:12px;top:12px;font-size:9px;padding:10px}.map-legend{left:12px;bottom:25px;max-width:220px;padding:12px}.map-legend p{font-size:8px}.map-legend strong{font-size:9px}.timeline{padding:15px 12px;gap:12px;flex-wrap:wrap}.timeline>button{min-width:78px;padding:10px 12px;font-size:12px}.timeline-range>div{font-size:8px}.timeline-range strong{font-size:10px}.speed-label{display:none}.day-summary{padding:0 12px 15px;flex-wrap:wrap;gap:20px}.day-summary strong{font-size:23px}.day-summary p{margin:0;width:100%;font-size:9px}.migration-notes{grid-template-columns:1fr;gap:20px;padding:25px 5px}.migration-notes h3{margin:8px 0}.migration-notes p{font-size:11px}.migration-footer{flex-wrap:wrap;gap:8px;padding:20px 5px}.migration-footer p{width:100%;order:3;font-size:9px}.radar-intro{padding:20px;gap:12px}.radar-icon{display:none}.radar-intro h2{font-size:20px}.radar-coverage{padding:0 20px 15px}.radar-coverage p{margin:5px 0}.radar-frame{height:500px}}

/* Isolate migration markers from the main tracker marker rules. */
.migration-page #migration-map .leaflet-tile-pane{filter:grayscale(.8) invert(.94) hue-rotate(160deg) brightness(.72) contrast(.9)}
.migration-page #migration-map .gps-arrow,.migration-page #migration-map .gps-arrow span{border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;width:22px!important;height:22px!important;line-height:22px!important;padding:0!important;text-align:center!important}

/* V13.47: annual flyways, larger map and clearer route illustrations. */
.migration-map-wrap{height:650px}.migration-page #migration-map .leaflet-tile-pane{filter:grayscale(.9) invert(.94) hue-rotate(160deg) brightness(.82) contrast(1.08)}
.annual-controls{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:24px;border-top:1px solid #ffffff12;background:linear-gradient(120deg,#152b2d,#102127)}.annual-controls h2{font-size:22px;margin:12px 0 8px;letter-spacing:-.6px}.annual-controls p{color:#a6bcb0;font-size:11px;line-height:1.8;max-width:480px}.annual-badge{font-size:8px;letter-spacing:1.5px;border:1px solid #977f4b66;background:#c7a15a0b;padding:6px 9px;border-radius:5px;color:#e4c994}.annual-selectors{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.annual-selectors label{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#99b5a5}.annual-selectors button{padding:11px 13px;border-radius:8px;background:#e5ce9e;color:#2e291b;border:0;font-size:11px;font-weight:700;cursor:pointer}.annual-mode .migration-map-wrap{height:710px}.annual-mode .map-caption{border-color:#c3a15b66}.annual-mode .caption-dot{background:#e5ce9e;box-shadow:0 0 15px #e5ce9e77}.annual-mode .map-caption strong{color:#e5ce9e}.annual-mode .viewer-controls{opacity:.5}.annual-bird{background:transparent!important;border:0!important}.annual-bird>div{position:relative;width:48px;height:48px}.annual-bird>div:before{content:"";position:absolute;bottom:0;left:7px;right:7px;height:10px;border-radius:50%;background:var(--bird-glow);opacity:.42;box-shadow:0 0 18px var(--bird-glow);filter:blur(3px)}.annual-bird img{position:relative;display:block;object-fit:contain;filter:drop-shadow(0 2px 2px #0009)}.annual-continent{font-size:17px;letter-spacing:6px;text-align:center;color:#d0dfda80;font-weight:500;white-space:nowrap;background:none!important;border:0!important;text-shadow:0 1px 6px #000}.annual-stop-label.leaflet-tooltip{background:#13272ee8;color:#e4cb9e;border:1px solid #8d785b77;border-radius:5px;box-shadow:none;padding:5px 8px;font-size:9px;letter-spacing:.3px}.annual-stop-label.leaflet-tooltip:before{border-top-color:#8d785b77}.annual-details{padding:25px;background:#102127;border-top:1px solid #ffffff17}.annual-source-note{padding:0 0 20px;border-bottom:1px solid #ffffff12}.annual-source-note strong{font-size:13px;color:#e5ce9e}.annual-source-note p{font-size:11px;line-height:1.9;max-width:950px;color:#a2b9ac;margin:8px 0}.annual-source-note a{font-size:10px;color:#bbdda8;text-decoration:underline}.annual-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:23px}.annual-species-card{display:flex;gap:16px;padding:16px;background:#0b1c21;border:1px solid #ffffff0d;border-left:2px solid var(--route-color);border-radius:10px}.annual-species-card img{width:48px;height:48px;object-fit:contain;flex-shrink:0}.annual-species-card strong{font-size:13px;color:var(--route-color);font-weight:550}.annual-species-card p{font-size:10px;color:#a0b5a9;line-height:1.8;margin:6px 0 0}.migration-popup a{display:block;margin-top:8px;color:#24583d;text-decoration:underline;font-size:10px}.migration-page #migration-map .gps-point{border:2px solid #edffee;box-shadow:0 0 12px #aef28990}.migration-page .timeline{border-radius:0;border-left:0;border-right:0;border-bottom:0}.migration-page .timeline-range>div>time{background:none;border:0;padding:0}.migration-page .layer-tabs button{white-space:nowrap}
@media(max-width:1000px){.annual-controls{flex-wrap:wrap;gap:15px}.annual-selectors{width:100%}.annual-mode .migration-map-wrap{height:680px}}
@media(max-width:700px){.migration-map-wrap{height:560px}.annual-mode .migration-map-wrap{height:600px}.layer-tabs button{font-size:10px;padding:10px 9px}.annual-controls{padding:18px}.annual-controls h2{font-size:19px}.annual-selectors{gap:10px}.annual-selectors label{flex:1}.annual-selectors select{width:100%;font-size:10px}.annual-selectors button{width:100%;margin-top:3px}.annual-details{padding:18px}.annual-cards{grid-template-columns:1fr;gap:12px}.annual-continent{font-size:12px;letter-spacing:4px}.annual-source-note p{font-size:10px}.annual-species-card{gap:12px}}
@media(prefers-reduced-motion:reduce){.annual-bird{transition:none}}

/* Fix natural-size images overriding marker dimensions in the shared Leaflet CSS. */
.migration-page #migration-map .leaflet-marker-pane .annual-bird img{width:48px!important;height:48px!important;min-width:0!important;min-height:0!important;max-width:48px!important;max-height:48px!important;object-fit:contain!important}
.migration-page .annual-species-card img{width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important;object-fit:contain!important}
