.range-globe-card{position:relative;overflow:visible;background:linear-gradient(180deg,#f5fbf7 0%,#fff 48%)}
.range-globe-intro,.range-globe-note{max-width:62ch;margin:0 auto 14px;color:var(--ink-700);font-size:.86rem;line-height:1.55;text-align:center}
.range-globe-stage{position:relative;width:min(100%,360px);aspect-ratio:1;margin:0 auto;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:radial-gradient(circle at 36% 30%,#235d73 0,#123b50 58%,#082739 100%);box-shadow:0 18px 38px rgba(7,43,48,.2),inset -18px -14px 28px rgba(0,0,0,.22);touch-action:pan-y;user-select:none;-webkit-user-select:none}
.range-globe-stage canvas{display:block;width:100%;height:100%;cursor:grab}
.range-globe-stage canvas:active{cursor:grabbing}
.range-globe-loading{position:absolute;inset:auto 20px 20px;padding:8px 12px;border-radius:999px;background:rgba(7,35,43,.82);color:#fff;font-size:.75rem;font-weight:800;text-align:center;transition:opacity .2s}
.range-globe-loading[hidden]{display:none}
.range-globe-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px auto;width:min(100%,460px)}
.range-globe-controls button{min-height:48px;padding:8px 12px;border:1px solid #b9d7c8;border-radius:14px;background:var(--mint-100);color:var(--forest-800);font-size:.78rem;font-weight:850;line-height:1.2}
.range-globe-controls button:focus-visible,.range-globe-close:focus-visible{outline:3px solid var(--forest-700);outline-offset:3px}
.range-view-controls{width:min(100%,460px);margin:4px auto 10px;padding:4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border:1px solid #cfe0d6;border-radius:14px;background:#edf6f1}
.range-view-controls button{min-height:44px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink-700);font-size:.76rem;font-weight:830}
.range-view-controls button[aria-pressed="true"]{background:#fff;color:var(--forest-800);box-shadow:0 2px 8px rgba(7,55,43,.12)}
.range-view-controls button:focus-visible{outline:3px solid var(--forest-700);outline-offset:2px}
.range-time-control{width:min(100%,460px);margin:4px auto 14px;padding:12px 14px;border:1px solid #d3e4da;border-radius:16px;background:#fff}
.range-time-control.is-disabled{opacity:.48}.range-time-control label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink-700);font-size:.78rem;font-weight:820}
.range-time-control output{color:var(--forest-800);font-size:.9rem}.range-time-control input{width:100%;height:48px;margin:0;accent-color:var(--forest-700);cursor:pointer}
.range-month-ticks{display:flex;justify-content:space-between;margin-top:-8px;color:var(--ink-500);font-size:.62rem;font-weight:750}
.range-layer-controls{width:min(100%,460px);margin:0 auto 10px;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.range-layer-controls legend{width:100%;margin:0 0 8px;color:var(--ink-700);font-size:.75rem;font-weight:850;text-align:center}
.range-layer-controls label{min-height:48px;padding:8px 10px;display:flex;align-items:center;gap:8px;border:1px solid #d3e4da;border-radius:14px;background:#fff;color:var(--ink-700);font-size:.72rem;font-weight:790;cursor:pointer}
.range-layer-controls input{width:20px;height:20px;margin:0;accent-color:var(--forest-700)}.range-layer-controls label:has(input:focus-visible){outline:3px solid var(--forest-700);outline-offset:2px}.range-layer-controls label:has(input:not(:checked)){opacity:.58}
.ada-range-globe-enhanced .range-layer-disclosure{width:min(100%,460px);margin:0 auto 12px;border:1px solid #d3e4da;border-radius:14px;background:#f4faf6}
.ada-range-globe-enhanced .range-layer-disclosure summary{min-height:48px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;color:var(--forest-800);font-size:.78rem;font-weight:850;cursor:pointer}
.ada-range-globe-enhanced .range-layer-disclosure summary::-webkit-details-marker{display:none}
.ada-range-globe-enhanced .range-layer-disclosure summary::after{content:'⌄';font-size:1.3rem;line-height:1;transition:transform .2s}
.ada-range-globe-enhanced .range-layer-disclosure[open] summary::after{transform:rotate(180deg)}
.ada-range-globe-enhanced .range-layer-disclosure summary:focus-visible{outline:3px solid var(--forest-700);outline-offset:2px}
.ada-range-globe-enhanced .range-layer-disclosure .range-layer-controls{padding:0 10px 10px;margin-bottom:0}
.range-layer-status{min-height:1.3em;margin:0 auto 12px;color:var(--forest-800);font-size:.72rem;font-weight:820;text-align:center}
.range-season-story{width:min(100%,460px);margin:0 auto 14px;padding:14px;border:1px solid #cfe0d6;border-radius:18px;background:linear-gradient(145deg,#eef8f3,#fff);box-shadow:0 8px 22px rgba(7,55,43,.08)}
.range-season-story__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.range-season-story__heading div{display:grid;gap:3px}.range-season-story__heading small{color:var(--ink-500);font-size:.62rem;font-weight:850;letter-spacing:.08em}.range-season-story__heading strong{color:var(--forest-800);font-size:.95rem}
.range-season-story__heading button{min-height:44px;padding:8px 12px;border:1px solid #b9d7c8;border-radius:12px;background:#fff;color:var(--forest-800);font-size:.72rem;font-weight:850}.range-season-story__heading button[aria-pressed="true"]{background:var(--forest-800);color:#fff}.range-season-story__heading button:focus-visible{outline:3px solid var(--forest-700);outline-offset:2px}
.range-season-story>p{min-height:3.9em;margin:10px 0;color:var(--ink-700);font-size:.76rem;line-height:1.55}.range-season-story__steps{margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;list-style:none}.range-season-story__steps li{padding:6px 2px;border-radius:9px;background:#e2eee7;color:var(--ink-500);font-size:.62rem;font-weight:800;text-align:center}.range-season-story__steps li[aria-current="step"]{background:var(--forest-800);color:#fff}
.range-globe-legend{margin:0 auto 12px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;list-style:none;color:var(--ink-700);font-size:.8rem;font-weight:760}
.range-globe-legend li{display:flex;align-items:center;gap:6px}
.range-swatch{width:16px;height:16px;border:1px solid rgba(4,42,32,.16);border-radius:5px;box-shadow:inset 0 1px rgba(255,255,255,.5)}
.range-swatch--resident{background:#42b667}.range-swatch--breeding{background:#efb63f}.range-swatch--wintering,.range-swatch--nonbreeding{background:#58c6d2}.range-swatch--spring{background:#5fba74}.range-swatch--autumn{background:#d96f5d}.range-swatch--passage{background:#8968cd}
.range-globe-note{margin-bottom:10px;font-size:.76rem}
.range-globe-credit{display:block;max-width:66ch;margin:0 auto;color:var(--ink-500);font-size:.68rem;line-height:1.45;text-align:center}
.range-globe-credit a{color:var(--forest-700);text-decoration:underline;text-underline-offset:2px}
.range-globe-method{max-width:66ch;margin:0 auto 10px;padding:10px 12px;border:1px solid #d3e4da;border-radius:14px;background:#fff;color:var(--ink-700);font-size:.72rem;line-height:1.5}.range-globe-method summary{min-height:28px;color:var(--forest-800);font-weight:850;cursor:pointer}.range-globe-method p{margin:8px 0 0}.range-globe-method a{color:var(--forest-700);text-underline-offset:2px}
.range-globe-close{display:none;position:absolute;z-index:3;top:max(12px,env(safe-area-inset-top));right:14px;width:48px;height:48px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(5,31,37,.82);color:#fff;font-size:2rem;line-height:1}
.range-globe-fallback{display:block;width:100%;height:auto;border-radius:14px}
.range-globe-placeholder{width:min(100%,360px);aspect-ratio:1;margin:0 auto 16px;border:2px dashed #c5dacf;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f9fdfb,#e9f4ef);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--forest-800);text-align:center}
.range-globe-placeholder span{font-size:4rem;line-height:1;color:#7caf99}.range-globe-placeholder strong{font-size:.88rem;line-height:1.35}
.range-globe-unavailable-reason{max-width:62ch;margin:0 auto;color:var(--ink-700);font-size:.82rem;line-height:1.55;text-align:center}
.range-globe-card.is-fullscreen{position:fixed;z-index:1000;inset:0;margin:0!important;padding:max(18px,env(safe-area-inset-top)) 16px max(28px,env(safe-area-inset-bottom));overflow-y:auto;border-radius:0;background:#f7fbf8}
.range-globe-card.is-fullscreen .range-globe-stage{width:min(88vw,68vh,560px);touch-action:none}
.range-globe-card.is-fullscreen .range-globe-close{display:block;position:fixed;top:max(14px,env(safe-area-inset-top));right:14px}
.range-globe-card.is-fullscreen [data-range-globe-toggle]{display:none}
body.range-globe-open{overflow:hidden}
@media(max-width:380px){.range-globe-stage{width:min(100%,310px)}.range-globe-controls{grid-template-columns:1fr}.range-layer-controls{grid-template-columns:1fr}.range-globe-card.is-fullscreen .range-globe-stage{width:min(92vw,58vh)}}
@media(prefers-reduced-motion:reduce){.range-globe-loading{transition:none}}
.range-source-image{display:block;width:min(100%,760px);height:auto;max-height:560px;object-fit:contain;margin:0 auto 14px;border:1px solid #d7e6de;border-radius:16px;background:#fff}

#ada-globe-slot { display:none; }
@media(min-width:841px) {
 #ada-globe-slot { display:block; min-width:0; }
 #ada-range-globe { --ink-700:#364f46; --ink-500:#657a72; --forest-800:#123d31; --forest-700:#17624c; --mint-100:#e8f6ef; padding:20px; border:1px solid #d8e2dd; border-radius:24px; }
 #ada-range-globe .eyebrow { margin:0 0 5px; color:#17624c; font-size:.7rem; font-weight:800; letter-spacing:.06em; }
 #ada-range-globe h2 { margin:0 0 12px; color:#123d31; font-size:1.25rem; }
 #ada-range-globe .range-globe-stage { width:min(100%,300px); }
 #ada-range-globe .range-globe-intro { font-size:.78rem; }
 #ada-range-globe:not(.is-fullscreen) .range-season-story { padding:12px; }
 #ada-range-globe:not(.is-fullscreen) .range-season-story>p { min-height:0; }
 #ada-range-globe.is-fullscreen { z-index:100001; border-radius:0; }
 #ada-range-globe.is-fullscreen .range-globe-stage { width:min(88vw,68vh,560px); }
 #ada-range-globe button { cursor:pointer; font-family:inherit; }
 .ada-top-row { display:grid; grid-template-columns:minmax(0,1fr); gap:22px; align-items:start; }

 .ada-desktop-ready #species-observation-guide .ref246-sex-divider { cursor:ew-resize; touch-action:none; }
 .ada-desktop-ready #species-observation-guide .ref246-sex-divider:focus-visible { outline:none; }
 .ada-desktop-ready #species-observation-guide .ref246-sex-divider:focus-visible i { outline:3px solid #2563eb; outline-offset:3px; }
 #ada-guide-slot { container-type:inline-size; }
 .ada-top-row .ada-primary { width:100%; }

 .ada-topbar #species-narrator-launch { margin-left:auto; }
}
@media(min-width:1400px) {
 .ada-top-row { grid-template-columns:minmax(0,1fr) 400px; }
 #ada-globe-slot { grid-column:2; grid-row:1; }


}
@container(max-width:620px) {
 #species-observation-guide .ref246-tool-grid { grid-template-columns:minmax(0,1fr); }
}

@media(min-width:841px) {
 #ada-range-globe:not(.is-fullscreen) { padding:16px; }
 #ada-range-globe:not(.is-fullscreen) h2 { margin-bottom:6px; font-size:1.12rem; line-height:1.25; }
 #ada-range-globe:not(.is-fullscreen) .eyebrow { font-size:.65rem; line-height:1.25; margin-bottom:3px; }
 .ada-globe-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; padding:4px; margin:0 0 8px; border-radius:12px; background:#eaf3ee; }
 .ada-globe-tabs button { min-height:32px; padding:5px; border:0; border-radius:8px; background:transparent; color:#426355; font-size:.78rem; font-weight:750; }
 .ada-globe-tabs button[aria-selected="true"] { color:#123d31; background:#fff; box-shadow:0 2px 7px #143d3114; }
 .ada-globe-tabs button:focus-visible { outline:3px solid #2563eb; outline-offset:1px; }
 .ada-globe-panel[hidden] { display:none; }
 #ada-range-globe:not(.is-fullscreen) .ada-globe-panel { min-height:440px; }
 #ada-range-globe:not(.is-fullscreen) .range-globe-stage { width:min(100%,220px); }
 #ada-range-globe:not(.is-fullscreen) .range-globe-controls { margin:10px auto 8px; }
 #ada-range-globe:not(.is-fullscreen) .range-globe-controls button { min-height:38px; padding:6px 8px; font-size:.73rem; border-radius:10px; }
 #ada-range-globe:not(.is-fullscreen) .range-view-controls { margin:0 auto 8px; padding:3px; }
 #ada-range-globe:not(.is-fullscreen) .range-view-controls button { min-height:34px; padding:4px 8px; }
 #ada-range-globe:not(.is-fullscreen) .range-time-control { margin:0 auto 8px; padding:6px 10px; }
 #ada-range-globe:not(.is-fullscreen) .range-time-control input { height:32px; display:block; }
 #ada-range-globe:not(.is-fullscreen) .range-time-control label { line-height:18px; }
 #ada-range-globe:not(.is-fullscreen) .range-time-control output { line-height:18px; }
 #ada-range-globe:not(.is-fullscreen) .range-month-ticks { margin-top:0; line-height:12px; }
 #ada-range-globe:not(.is-fullscreen) .range-layer-status { margin-bottom:8px; }
 .ada-globe-season-heading { padding:9px 10px; border-radius:12px; background:#eff6f1; }
 .ada-globe-season-heading .range-season-story__heading button { min-height:36px; padding:6px 10px; }
 #ada-range-globe:not(.is-fullscreen) .ada-globe-season-heading { padding:6px 10px; }
 #ada-range-globe:not(.is-fullscreen) .ada-globe-season-heading small { display:none; }
 #ada-range-globe:not(.is-fullscreen) .range-globe-credit { margin-top:10px; font-size:.65rem; }
 #ada-range-globe.is-fullscreen .ada-globe-tabs { display:none; }
 #ada-range-globe.is-fullscreen .ada-globe-panel[hidden] { display:block; }
 #ada-range-globe.is-fullscreen .ada-globe-season-heading { width:min(100%,460px); margin:0 auto 14px; }
 #ada-range-globe.is-fullscreen #ada-globe-panel-layers,#ada-range-globe.is-fullscreen #ada-globe-panel-info { width:min(100%,600px); margin:0 auto; }
}
@media(min-width:1400px) {
 #ada-range-globe:not(.is-fullscreen) { height:var(--ada-map-height,662px); display:flex; flex-direction:column; }
 #ada-range-globe:not(.is-fullscreen) .ada-globe-body { flex:1; min-height:0; display:flex; flex-direction:column; }
 #ada-range-globe:not(.is-fullscreen) .ada-globe-tabs,#ada-range-globe:not(.is-fullscreen) .range-globe-credit { flex-shrink:0; }
 #ada-range-globe:not(.is-fullscreen) .ada-globe-panel { flex:1; min-height:0; overflow:auto; scrollbar-width:thin; }
}

@media(min-width:1400px) {
 #ada-range-globe:not(.is-fullscreen) #ada-globe-panel-map { overflow:visible; }
 #ada-range-globe:not(.is-fullscreen) .range-globe-stage { width:min(100%,220px,max(128px,calc(var(--ada-map-height,662px) - 380px))); }
}
