/* Atlas interface styles. Kept external so the app does not rebuild CSS on render. */
.atlas-pane { width: 100%; height: 100%; min-height: 0; }
.atlas-pane[hidden] { display: none !important; }
.atlas-pane:not([hidden]) { animation: atlas-enter .14s ease-out; }
@keyframes atlas-enter { from { opacity: .86; } to { opacity: 1; } }
::view-transition-old(root) { animation: .12s ease-out both atlas-old; }
::view-transition-new(root) { animation: .16s ease-in both atlas-new; }
@keyframes atlas-old { to { opacity: 0; } }
@keyframes atlas-new { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
    .atlas-pane:not([hidden]), ::view-transition-old(root), ::view-transition-new(root) { animation: none !important; }
}
html, body, #root {
    width: 100%;
    height: 100%;
    min-height: 0;
}
html { color-scheme: dark; }
body {
    margin: 0;
    overflow: hidden;
    background: #041c23;
    color: #d9f5ef;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
button, input, select { font: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, [tabindex]:focus-visible {
    outline: 2px solid #70ffe1;
    outline-offset: 2px;
}
.nerss-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #121212;
    color: #e0e0e0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    overflow: hidden;
    position: relative;
}
.nerss-search {
    padding: 8px 16px 0 16px;
}
.nerss-search-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.nerss-search-input {
    flex: 1;
    padding: 6px 8px;
    border-radius: 999px;
    border: 1px solid #333;
    background: rgba(0,0,0,0.4);
    color: #e0e0e0;
    font-size: 0.85rem;
}
.nerss-search-input::placeholder {
    color: #777;
}
.nerss-search-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 4px;
}
.nerss-search-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,0.06);
    font-size: 0.75rem;
    color: #ccc;
}
.nerss-search-tag button {
    background: none;
    border: none;
    color: #aaa;
    cursor: pointer;
    padding: 0;
    font-size: 0.8rem;
}
.nerss-spotlight {
    padding: 4px 16px 0 16px;
}
.nerss-spotlight-label {
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #a0a0a0;
    margin-bottom: 4px;
}
.nerss-spotlight .nerss-card {
    border-width: 2px;
    border-color: #4a90e2;
    box-shadow: 0 0 20px rgba(74, 144, 226, 0.4);
}
.nerss-header {
    min-height: 74px;
    height: auto;
    background: rgba(30, 30, 30, 0.95);
    backdrop-filter: blur(10px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    border-bottom: 1px solid #333;
    flex-shrink: 0;
    z-index: 10;
}
.nerss-brand { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 1.1rem; }
.nerss-app-name { font-size: 0.95rem; white-space: nowrap; }
.nerss-logo { width: 28px; height: 28px; object-fit: contain; }
.nerss-controls { display: flex; gap: 8px; }
.nerss-controls { justify-content: flex-end; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.nerss-atlas-switch { justify-self: center; }
.nerss-admin-btn { border: 1px solid #45e8ca; border-radius: 999px; padding: 5px 10px; background: rgba(69,232,202,.1); color: #a2ffed; font: inherit; font-size: .76rem; font-weight: 700; cursor: pointer; white-space: nowrap; }
.nerss-btn {
    background: none; border: none; font-size: 1.2rem; cursor: pointer; padding: 4px;
    color: #e0e0e0; transition: transform 0.2s;
}
.nerss-btn:active { transform: scale(0.9); }
.nerss-feed-container {
    flex: 1;
    position: relative;
    overflow: hidden;
    display: flex;
    gap: 8px;
    padding: 0 16px 16px 16px;
    box-sizing: border-box;
}
.nerss-feed-columns {
    position: relative;
    flex: 1;
    min-width: 0;
}
.nerss-feed {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: auto;
    padding: 0;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.nerss-feed-main {
    transform: translateX(0%);
    opacity: 1;
}
.nerss-feed-main-hidden {
    transform: translateX(-100%);
    opacity: 0;
}
.nerss-feed-focused {
    transform: translateX(0%);
    opacity: 1;
}
.nerss-feed-focused-hidden {
    transform: translateX(100%);
    opacity: 0;
}
.nerss-map-panel {
    width: 0;
    opacity: 0;
    pointer-events: none;
    transition: width 0.3s ease, opacity 0.3s ease;
    overflow: hidden;
}
.nerss-map-panel { display: flex; flex-direction: column; gap: 10px; }
.nerss-tldr { flex: 0 0 auto; padding: 12px; border: 1px solid rgba(69,232,202,.28); border-radius: 12px; background: rgba(8,42,50,.92); }
.nerss-tldr-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.nerss-tldr-heading h2 { margin: 0; color: #a2ffed; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.nerss-tldr-heading time { color: #9dbab8; font-size: .72rem; }
.nerss-tldr-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.nerss-tldr-story { display: flex; align-items: center; gap: 9px; width: 100%; min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.nerss-tldr-story:hover .nerss-tldr-copy strong { color: #a2ffed; }
.nerss-tldr-thumb { position: relative; display: grid; flex: 0 0 64px; width: 64px; height: 52px; place-items: center; overflow: hidden; border-radius: 6px; background: rgba(157,186,184,.12); color: #9dbab8; }
.nerss-tldr-thumb img { width: 100%; height: 100%; object-fit: cover; }
.nerss-tldr-thumb small { position: absolute; right: 2px; bottom: 2px; max-width: calc(100% - 4px); overflow: hidden; padding: 2px 3px; border-radius: 3px; background: rgba(0,0,0,.78); color: #fff; font-size: .48rem; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.nerss-tldr-copy { display: grid; min-width: 0; gap: 4px; }
.nerss-tldr-copy strong { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: .76rem; line-height: 1.3; }
.nerss-tldr-copy small { overflow: hidden; color: #9dbab8; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.nerss-tldr-empty { margin: 2px 0 0; color: #9dbab8; font-size: .76rem; }
.geo-mode .nerss-tldr { border-color: rgba(255,153,0,.42); background: rgba(31,34,36,.96); }
.geo-mode .nerss-tldr-heading h2 { color: #ffb84d; }
.geo-mode .nerss-tldr-story:hover .nerss-tldr-copy strong { color: #ffb84d; }
.nerss-map-frame { flex: 1 1 auto; min-height: 280px; }
.nerss-map-inner {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    border: 1px solid #333;
    background: #0b1015;
    box-shadow: 0 4px 16px rgba(0,0,0,0.6);
    padding: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}
.nerss-map-inner:fullscreen { width: 100vw; height: 100vh; max-height: 100vh; border: 0; border-radius: 0; }
.nerss-map-toolbar { position: absolute; top: 10px; right: 10px; z-index: 1200; display: flex; flex-direction: column; align-items: flex-end; gap: 7px; }
.nerss-map-type { max-width: 138px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.28); border-radius: 7px; background: rgba(20,24,30,.9); color: #fff; font: inherit; font-size: .75rem; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.nerss-map-actions { display: flex; overflow: hidden; border: 1px solid rgba(255,255,255,.26); border-radius: 8px; background: rgba(20,24,30,.92); box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.nerss-map-control { width: 34px; height: 34px; border: 0; border-right: 1px solid rgba(255,255,255,.16); background: transparent; color: #fff; font-size: .92rem; cursor: pointer; }
.nerss-map-control:last-child { border-right: 0; }
.nerss-map-control:hover:not(:disabled), .nerss-map-control.active { background: rgba(255,255,255,.16); }
.nerss-map-control:disabled { opacity: .38; cursor: not-allowed; }
.geo-mode .nerss-map-type, .geo-mode .nerss-map-actions { border-color: rgba(255,153,0,.55); background: rgba(35,40,48,.94); }
.geo-mode .nerss-map-control { color: #ffb84d; border-color: rgba(255,153,0,.25); }
.geo-mode .nerss-map-control:hover:not(:disabled), .geo-mode .nerss-map-control.active { background: rgba(255,153,0,.18); }
.nerss-feed-notice { flex: 0 0 auto; padding: 7px 16px; background: rgba(179,108,28,.18); color: #ffd69b; border-bottom: 1px solid rgba(255,174,66,.32); font-size: .78rem; }
.nerss-saved-overlay { position: fixed; inset: 0; z-index: 2800; background: rgba(0,0,0,.56); display: flex; justify-content: flex-end; }
.nerss-saved-panel { width: min(420px, 100vw); height: 100%; overflow-y: auto; padding: 18px; background: #10252c; border-left: 1px solid #24736f; box-shadow: -18px 0 50px rgba(0,0,0,.38); }
.nerss-saved-header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 1.05rem; }
.nerss-export-rss { width: 100%; margin-top: 14px; padding: 10px 12px; border: 1px solid #45e8ca; border-radius: 8px; background: rgba(69,232,202,.1); color: #a2ffed; font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; }
.nerss-export-rss:disabled { opacity: .45; cursor: not-allowed; }
.nerss-saved-section { padding-top: 18px; }
.nerss-saved-section h2 { margin: 0 0 9px; color: #a2ffed; font-size: .83rem; text-transform: uppercase; letter-spacing: .06em; }
.nerss-saved-row { display: flex; align-items: center; gap: 8px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.nerss-saved-title { flex: 1; min-width: 0; border: 0; background: none; color: #f1fffc; text-align: left; font: inherit; cursor: pointer; }
.nerss-saved-title small { display: block; margin-top: 4px; color: #9dbab8; font-size: .72rem; }
.nerss-saved-actions { display: flex; gap: 3px; }
.nerss-saved-empty { color: #9dbab8; font-size: .82rem; }
.nerss-save-icon { flex: 0 0 auto; border: 0; border-radius: 5px; padding: 2px 4px; background: transparent; color: #a8b9b8; font-size: .95rem; cursor: pointer; }
.nerss-save-icon:hover, .nerss-save-icon.active { color: #ffbf5c; }
.geo-mode .nerss-saved-panel { background: linear-gradient(145deg,#303741,#20262f); border-color: rgba(255,153,0,.55); }
.geo-mode .nerss-saved-section h2, .geo-mode .nerss-save-icon:hover, .geo-mode .nerss-save-icon.active { color: #ffb84d; }
.geo-mode .nerss-export-rss { border-color: #ff9900; background: rgba(255,153,0,.12); color: #ffb84d; }
.geo-mode .nerss-feed-notice { background: rgba(111,82,46,.45); color: #ffe0b3; border-color: rgba(255,153,0,.32); }
.leaflet-popup-content-wrapper {
    background: rgba(30, 30, 30, 0.95) !important;
    backdrop-filter: blur(4px);
    border: 1px solid #444;
    border-radius: 6px !important;
    color: #e0e0e0 !important;
}
.leaflet-popup-tip {
    background: #333 !important;
}
.nerss-map-title {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #a0a0a0;
    margin-bottom: 6px;
}
.nerss-map-svg-wrapper {
    flex: 1;
    position: relative;
}
.nerss-map-svg {
    width: 100%;
    height: 100%;
}
.nerss-map-vector-fallback { overflow: hidden; background: linear-gradient(145deg,#0b3942,#061f2a); }
.nerss-map-vector-fallback .nerss-map-svg { display: block; }
.nerss-map-gridline { stroke: rgba(151,224,214,.13); stroke-width: 1; stroke-dasharray: 3 5; }
.nerss-map-gridlabel { fill: rgba(195,236,227,.62); font: 10px system-ui,sans-serif; }
.nerss-map-continent { fill: rgba(87,185,156,.31); stroke: rgba(145,235,200,.55); stroke-width: 1.2; stroke-linejoin: round; }
.nerss-map-spotlight { fill: rgba(89,246,209,.1); stroke: #59f6d1; stroke-width: 2; stroke-dasharray: 6 4; }
.nerss-map-spotlight-point { fill: none; stroke: #59f6d1; stroke-width: 2; }
.nerss-map-vector-fallback .nerss-map-title { position: absolute; top: 12px; left: 12px; z-index: 2; margin: 0; padding: 4px 8px; border-radius: 4px; background: rgba(0,0,0,.58); }
.nerss-map-fallback-label { position: absolute; left: 12px; bottom: 10px; color: rgba(210,239,231,.65); font-size: .68rem; }
.nerss-map-fullscreen { position: absolute; top: 10px; right: 10px; z-index: 3; border: 1px solid rgba(255,255,255,.26); border-radius: 7px; background: rgba(20,24,30,.84); }
.nerss-map-auto-fallback { position: absolute; top: 10px; right: 52px; z-index: 1201; border: 1px solid rgba(255,255,255,.26); border-radius: 7px; background: rgba(20,24,30,.84); }
.nerss-map-point {
    cursor: pointer;
    transition: transform 0.15s ease, opacity 0.15s ease;
    transform-box: fill-box;
    transform-origin: center;
}
.nerss-map-point:hover {
    transform: scale(1.3);
}
.nerss-map-point:focus { outline: none; filter: drop-shadow(0 0 4px #fff); }
.nerss-map-point.selected circle:last-child { stroke: #fff; stroke-width: 2.5; }
.nerss-map-overlay { position: absolute; inset: 10px; z-index: 1100; pointer-events: none; }
.nerss-map-discovery { display: flex; width: max-content; max-width: calc(100% - 175px); flex-wrap: wrap; align-items: center; gap: 5px; padding: 6px; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; background: rgba(4,22,28,.9); color: #eafff9; box-shadow: 0 3px 12px rgba(0,0,0,.32); pointer-events: auto; }
.nerss-map-discovery strong { padding: 0 4px; font-size: .67rem; letter-spacing: .045em; text-transform: uppercase; }
.nerss-map-discovery select { max-width: 145px; min-width: 90px; border: 1px solid rgba(255,255,255,.18); border-radius: 6px; padding: 5px 7px; background: #102e34; color: #effffb; font: inherit; font-size: .7rem; }
.nerss-map-count { padding: 0 4px; color: #a8c9c5; font-size: .65rem; white-space: nowrap; }
.nerss-map-legend { position: absolute; bottom: 0; left: 0; display: flex; max-width: 58%; flex-wrap: wrap; gap: 7px; padding: 6px 8px; border-radius: 7px; background: rgba(4,22,28,.86); color: #d8ece8; font-size: .62rem; pointer-events: auto; }
.nerss-map-legend span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.nerss-topic-dot { width: 8px; height: 8px; display: inline-block; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; }
.nerss-confidence-dot { width: 9px; height: 9px; display: inline-block; border: 1px solid #fff; border-radius: 50%; background: #59f6d1; }
.nerss-confidence-dot.medium { background: transparent; border-style: dashed; }
.nerss-map-selected { position: absolute; right: 0; bottom: 0; display: grid; gap: 4px; width: min(245px, 42%); max-height: 120px; overflow: auto; padding: 9px 10px; border: 1px solid rgba(89,246,209,.55); border-radius: 9px; background: rgba(4,22,28,.94); color: #eafff9; box-shadow: 0 4px 14px rgba(0,0,0,.35); pointer-events: auto; }
.nerss-map-selected strong { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: .72rem; line-height: 1.3; }
.nerss-map-selected span { color: #b9d5d1; font-size: .64rem; line-height: 1.3; }
.nerss-map-selected button { justify-self: start; border: 0; padding: 2px 0; background: none; color: #59f6d1; font: inherit; font-size: .68rem; font-weight: 700; cursor: pointer; }
.nerss-map-empty { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); padding: 9px 12px; border: 1px solid rgba(255,255,255,.15); border-radius: 8px; background: rgba(4,22,28,.92); color: #eafff9; font-size: .75rem; text-align: center; pointer-events: none; }
.nerss-map-cluster-count { border: 0 !important; background: transparent !important; box-shadow: none !important; color: #052329 !important; font-size: 10px !important; font-weight: 800; }
.nerss-article-map-wrap.map-selected > .nerss-card { border-color: #59f6d1; box-shadow: 0 0 0 2px rgba(89,246,209,.24), 0 0 20px rgba(89,246,209,.18); }
.geo-mode .nerss-map-discovery, .geo-mode .nerss-map-legend, .geo-mode .nerss-map-selected, .geo-mode .nerss-map-empty { border-color: rgba(255,153,0,.48); }
.geo-mode .nerss-map-discovery { background: rgba(18,22,30,.94); }
.geo-mode .nerss-map-discovery select { background: #282e37; }
.geo-mode .nerss-map-selected button { color: #ffb84d; }
.geo-mode .nerss-article-map-wrap.map-selected > .nerss-card { border-color: #ff9900; box-shadow: 0 0 0 2px rgba(255,153,0,.24), 0 0 20px rgba(255,153,0,.16); }
.nerss-map-fallback-label { right: 12px; left: auto; bottom: 10px; }
.nerss-map-tooltip {
    position: absolute;
    max-width: 220px;
    background: rgba(15, 23, 42, 0.95);
    color: #e5e7eb;
    border-radius: 8px;
    padding: 6px 8px;
    font-size: 0.75rem;
    box-shadow: 0 4px 14px rgba(0,0,0,0.7);
    pointer-events: none;
    z-index: 2;
}
.nerss-map-tooltip-title {
    font-weight: 600;
    margin-bottom: 2px;
}
.nerss-map-tooltip-meta {
    font-size: 0.7rem;
    color: #9ca3af;
}
.nerss-card {
    background: #1e1e1e;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    border: 1px solid #333;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    animation: nerss-slideIn 0.5s ease-out;
    transition: transform 0.2s;
    display: flex;
    gap: 16px;
    align-items: flex-start;
}
.nerss-card:hover { transform: translateY(-2px); }
.nerss-card.new { box-shadow: 0 0 15px rgba(74, 144, 226, 0.3); border-color: #4a90e2; }
@keyframes nerss-slideIn { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } }
.nerss-card-content { flex: 1; min-width: 0; }
.nerss-card-image {
    width: 100px;
    height: 100px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
    display: none;
    background: #2a2a2a;
    border: 1px solid #333;
}
@media (min-width: 769px) {
    .nerss-card-image { display: block; }
}
.nerss-meta { display: flex; justify-content: space-between; font-size: 0.75rem; color: #a0a0a0; margin-bottom: 8px; text-transform: uppercase; }
.nerss-metrics { display: flex; gap: 8px; margin-bottom: 10px; font-size: 0.8rem; font-weight: 600; }
.nerss-metric { background: rgba(0,0,0,0.3); padding: 3px 6px; border-radius: 4px; display: flex; align-items: center; gap: 4px; }
.nerss-topic { color: #86c794; }
.nerss-location { color: #72b8c7; }
.nerss-metric .bi { flex: 0 0 auto; }
.nerss-title { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; font-size: 1.1rem; font-weight: 700; margin-bottom: 8px; line-height: 1.3; cursor: pointer; }
.nerss-summary { font-size: 0.95rem; line-height: 1.5; color: #d0d0d0; }
.nerss-footer { margin-top: 12px; display: flex; justify-content: flex-end; gap: 16px; font-size: 0.75rem; color: #4a90e2; font-weight: 600; }
.nerss-footer button:hover { text-decoration: underline; }
.nerss-modal-overlay {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.8);
    display: flex; align-items: center; justify-content: center;
    z-index: 2000;
    padding: 20px;
}
.nerss-modal {
    background: linear-gradient(145deg, #0d3940 0%, #082a32 56%, #061f29 100%); width: 100%; max-width: 400px;
    border-radius: 12px; padding: 20px;
    max-height: 80%; display: flex; flex-direction: column;
    border: 1px solid #15505a;
    box-shadow: 0 10px 25px rgba(0,0,0,0.5);
}
.nerss-modal-header { display: flex; justify-content: space-between; margin-bottom: 16px; font-weight: bold; font-size: 1.1rem; }
.nerss-close { background: none; border: none; color: #fff; font-size: 1.5rem; cursor: pointer; padding: 0; line-height: 1; }
.nerss-modal-body { overflow-y: auto; flex: 1; }
.nerss-modal-header { color: #eafff9; }
.nerss-source-link { display: block; padding: 10px; background: rgba(255,255,255,0.05); margin-bottom: 8px; border-radius: 6px; color: #4a90e2; text-decoration: none; }
.nerss-label { display: flex; align-items: center; gap: 8px; padding: 8px; background: rgba(255,255,255,0.03); margin-bottom: 8px; border-radius: 6px; cursor: pointer; user-select: none; }
.nerss-input { width: 100%; padding: 10px; background: rgba(0,0,0,0.3); border: 1px solid #444; border-radius: 6px; color: white; margin-bottom: 12px; }
.nerss-save-btn { width: 100%; padding: 12px; background: #4a90e2; color: white; border: none; border-radius: 6px; font-weight: bold; cursor: pointer; margin-top: 8px; }
.nerss-loading { padding: 20px; text-align: center; color: #888; display: flex; flex-direction: column; align-items: center; }
.nerss-spinner { width: 20px; height: 20px; border: 2px solid rgba(255,255,255,0.1); border-top-color: #4a90e2; border-radius: 50%; animation: nerss-spin 1s linear infinite; margin-bottom: 10px; }
@keyframes nerss-spin { to { transform: rotate(360deg); } }
@media (max-width: 768px) {
    .nerss-stats {
        display: none !important;
    }
    .nerss-header {
        min-height: 96px;
        height: auto;
        padding: 0 8px;
        grid-template-columns: minmax(0,1fr) auto;
        grid-template-rows: 48px 48px;
    }
    .nerss-header > .nerss-atlas-switch { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
    .nerss-brand {
        gap: 6px;
    }
    .nerss-app-name {
        font-size: 0.82rem;
    }
    .nerss-logo {
        width: 22px;
        height: 22px;
    }
    .nerss-btn {
        font-size: 1rem;
        padding: 2px;
        margin-left: 2px;
    }
    .nerss-controls {
        gap: 4px;
    }
    .nerss-feed-container {
        padding: 0 8px 8px 8px;
        gap: 0;
    }
    .nerss-feed-columns {
        flex: 1;
    }
    .nerss-map-panel {
        display: block;
        width: 100%;
        height: auto;
        min-height: 0;
        flex: 0 0 auto;
        opacity: 1;
        pointer-events: auto;
    }
    .nerss-map-panel { display: flex; }
    .nerss-map-frame { flex: 0 0 auto; width: 100%; height: 32vh; min-height: 180px; }
    .nerss-feed-container {
        flex-direction: column;
    }
    .nerss-feed-columns {
        min-height: 0;
    }
}
@media (min-width: 769px) {
    .nerss-map-panel {
        width: 38%;
        opacity: 1;
        pointer-events: auto;
    }
}

.nerss-container { background: #041c23; color: #d9f5ef; }
.nerss-header { background: rgba(4, 30, 38, 0.96); border-bottom-color: #12434a; }
.nerss-map-inner, .nerss-modal, .nerss-card { background-color: #082a32; border-color: #15505a; }
.nerss-card { box-shadow: 0 8px 24px rgba(0, 12, 18, 0.32); }
.nerss-card:hover { border-color: #45e8ca; box-shadow: 0 0 20px rgba(69, 232, 202, 0.15); }
.nerss-card.new, .nerss-spotlight .nerss-card { border-color: #45e8ca; box-shadow: 0 0 18px rgba(69, 232, 202, 0.22); }
.nerss-app-name { color: #ecfffb; letter-spacing: 0.015em; }
.nerss-brand { gap: 8px; }
.nerss-brand img { width: 46px; height: 46px; object-fit: contain; filter: drop-shadow(0 0 8px rgba(255, 129, 157, 0.24)); }
.nerss-btn, .nerss-close { color: #baf8e9; }
.nerss-btn:hover { color: #70ffe1; filter: drop-shadow(0 0 7px rgba(70, 255, 218, 0.6)); }
.nerss-audio-muted { color: #839795 !important; }
.nerss-footer, .nerss-source-link { color: #56e9d1; }
.nerss-save-btn { background: linear-gradient(110deg, #087f82, #24c9ad); color: #03191e; }
.nerss-input, .nerss-search-input { background: rgba(1, 17, 23, 0.8); border-color: #1b5960; color: #e3fff8; }
.nerss-label, .nerss-search-tag { background: rgba(68, 221, 193, 0.07); }
.nerss-topic { color: #74f0ba; }
.nerss-location { color: #63dfeb; }
.nerss-map-title { color: #a9fff0 !important; border: 1px solid rgba(87, 255, 219, 0.22); box-shadow: 0 0 14px rgba(53, 225, 196, 0.13); }
.nerss-card-image { border-color: #1d6264; }
.nerss-opml-button { width: 100%; padding: 10px; margin: 0 0 8px; border: 1px solid #287d79; border-radius: 7px; background: rgba(39, 196, 169, 0.12); color: #9ffff0; cursor: pointer; }
.nerss-opml-button:disabled { opacity: 0.6; cursor: wait; }
.nerss-import-status { margin: 0 0 12px; color: #8cebd8; font-size: 0.78rem; overflow-wrap: anywhere; }
.nerss-discovery-form { padding: 12px; margin: 0 0 12px; border: 1px solid rgba(87,255,219,.2); border-radius: 10px; background: rgba(0,20,27,.34); }
.nerss-discovery-form .nerss-input { margin-bottom: 8px; }
.nerss-directory-list, .nerss-discovered-list { display: grid; gap: 8px; margin-bottom: 12px; }
.nerss-directory-source { padding: 10px; border: 1px solid rgba(87,255,219,.18); border-radius: 8px; background: rgba(255,255,255,.035); display: grid; gap: 5px; font-size: .76rem; overflow-wrap: anywhere; }
.nerss-directory-source header { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.nerss-directory-source header button { border: 0; background: transparent; color: #ff9b9b; cursor: pointer; }
.nerss-directory-source a, .nerss-directory-feed small { color: #8ed9ce; }
.nerss-directory-source small { opacity: .75; }
.nerss-directory-empty { margin: 4px 0 12px; color: #9ab8b4; font-size: .8rem; }
.nerss-directory-feed { display: flex; align-items: flex-start; gap: 9px; padding: 8px; border-radius: 7px; background: rgba(255,255,255,.04); font-size: .78rem; }
.nerss-directory-feed span { min-width: 0; display: grid; gap: 3px; }
.nerss-directory-feed small { overflow-wrap: anywhere; }
.nerss-reader-dialog .nerss-editorial-figure { position: relative; margin: 0 auto 18px; max-width: 760px; overflow: hidden; border: 1px solid rgba(87,255,219,.24); border-radius: 10px; background: rgba(0,0,0,.25); }
.nerss-editorial-figure img { display: block; width: 100%; max-height: 350px; object-fit: cover; }
.nerss-editorial-placeholder { min-height: 170px; display: grid; place-items: center; color: #9ab8b4; background: radial-gradient(ellipse at center, rgba(50,130,124,.25), rgba(0,15,21,.5)); }
.nerss-editorial-figure figcaption { padding: 6px 10px; color: #9ab8b4; font-size: .7rem; }
.nerss-image-actions { position: absolute; top: 10px; right: 10px; display: flex; gap: 7px; opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; }
.nerss-editorial-figure:hover .nerss-image-actions, .nerss-editorial-figure:focus-within .nerss-image-actions { opacity: 1; transform: none; }
.nerss-image-actions button { display: flex; align-items: center; gap: 6px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; padding: 8px 11px; background: rgba(2,20,26,.88); color: #eafff9; cursor: pointer; backdrop-filter: blur(8px); }
.nerss-image-actions button:hover { border-color: #59f6d1; color: #59f6d1; }
.nerss-image-actions button:disabled { opacity: .65; cursor: wait; }
.nerss-image-status { color: #8cebd8; font-size: .78rem; }
.nerss-rotating { display: inline-block; animation: nerss-spin 1s linear infinite; }
.mapboxgl-popup-content, .maplibregl-popup-content { background: #082a32; color: #e4fff7; border: 1px solid #24736f; border-radius: 8px; }
.mapboxgl-popup-tip, .maplibregl-popup-tip { border-top-color: #082a32 !important; border-bottom-color: #082a32 !important; }
.mapboxgl-ctrl-group, .maplibregl-ctrl-group { background: #082a32; }
.mapboxgl-ctrl-group button, .maplibregl-ctrl-group button { filter: invert(1) hue-rotate(115deg); }

.nerss-container.geo-mode { background: linear-gradient(135deg, #303741 0%, #242a33 48%, #171c24 100%); color: #fff; }
.geo-mode .nerss-header { background: linear-gradient(105deg, #343b45 0%, #242a33 100%); border-bottom-color: rgba(255,153,0,.45); }
.geo-mode .nerss-map-inner, .geo-mode .nerss-modal, .geo-mode .nerss-card, .geo-mode .nerss-share-menu { background: linear-gradient(145deg, #303741 0%, #222831 100%); border-color: rgba(255,153,0,.55); }
.geo-mode .nerss-map-vector-fallback { background: linear-gradient(145deg,#303741,#20262f); }
.geo-mode .nerss-map-gridline { stroke: rgba(255,185,90,.15); }
.geo-mode .nerss-map-gridlabel { fill: rgba(255,221,179,.58); }
.geo-mode .nerss-map-continent { fill: rgba(255,153,0,.22); stroke: rgba(255,187,104,.55); }
.geo-mode .nerss-map-spotlight { fill: rgba(255,153,0,.1); stroke: #ff9900; }
.geo-mode .nerss-map-spotlight-point { stroke: #ff9900; }
.geo-mode .nerss-map-fallback-label { color: rgba(255,221,179,.62); }
.geo-mode .nerss-map-fullscreen { border-color: rgba(255,153,0,.5); color: #ffb84d; }
.geo-mode .nerss-card:hover, .geo-mode .nerss-card.new, .geo-mode .nerss-spotlight .nerss-card { border-color: #ff9900; box-shadow: 0 0 18px rgba(255,153,0,.24); }
.geo-mode .nerss-atlas-switch { border-color: rgba(255,153,0,.55); background: #000055; }
.geo-mode .nerss-atlas-option { color: #ffe0b3; }
.geo-mode .nerss-atlas-option.active { background: #ff9900; color: #000066; }
.geo-mode .nerss-feed-container { background: linear-gradient(125deg, #2a3039 0%, #20262f 55%, #171c24 100%); }
.geo-mode .nerss-card .nerss-footer, .geo-mode .nerss-share-button { color: #ff9900; }
.geo-mode .nerss-share-option:hover { background: rgba(255,153,0,.14); }
.geo-mode .nerss-share-status { color: #ffb84d; }
.geo-mode .nerss-spinner { border-top-color: #ff9900; }
.geo-mode .nerss-card:focus-within, .geo-mode button:focus-visible { outline-color: #ff9900; }
.geo-mode .nerss-app-name, .geo-mode .nerss-reader-heading, .geo-mode .nerss-article-content { color: #fff; }
.geo-mode .nerss-brand img { width: 76px; height: 46px; filter: none; }
.geo-mode .nerss-btn, .geo-mode .nerss-close, .geo-mode .nerss-footer, .geo-mode .nerss-source-link, .geo-mode .nerss-reader-open { color: #ff9900; }
.geo-mode .nerss-btn:hover { color: #ffb84d; filter: drop-shadow(0 0 7px rgba(255,153,0,.5)); }
.geo-mode .nerss-admin-btn { border-color: #ff9900; background: rgba(255,153,0,.12); color: #ffb84d; }
.geo-mode .nerss-save-btn { background: #ff9900; color: #000066; }
.geo-mode .nerss-input, .geo-mode .nerss-search-input, .geo-mode .nerss-country-select { background: rgba(0,0,55,.8); border-color: rgba(255,153,0,.55); color: #fff; }
.geo-mode .nerss-label, .geo-mode .nerss-search-tag { background: rgba(255,153,0,.09); }
.geo-mode .nerss-topic, .geo-mode .nerss-location { color: #ffb84d; }
.geo-mode .nerss-map-title { color: #ffb84d !important; border-color: rgba(255,153,0,.4); }
.geo-mode .nerss-card-image { border-color: rgba(255,153,0,.5); }
.geo-mode .nerss-discovery-form { border-color: rgba(255,153,0,.32); background: rgba(0,0,45,.24); }
.geo-mode .nerss-directory-source { border-color: rgba(255,153,0,.32); }
.geo-mode .nerss-directory-source a, .geo-mode .nerss-directory-feed small { color: #ffc36e; }
.geo-mode .nerss-editorial-figure { border-color: rgba(255,153,0,.5); }
.geo-mode .nerss-editorial-figure figcaption { color: #d0b991; }
.geo-mode .nerss-editorial-placeholder { color: #ddbc8e; background: radial-gradient(ellipse at center, rgba(255,153,0,.14), rgba(0,0,45,.5)); }
.geo-mode .nerss-image-actions button:hover { border-color: #ff9900; color: #ffb84d; }
.geo-mode .nerss-image-status { color: #ffbf68; }
@media (hover: none) {
    .nerss-image-actions { opacity: 1; transform: none; }
}
.geo-mode .nerss-thumb-placeholder { border-color: rgba(255,153,0,.5); background: radial-gradient(circle at 50% 35%, #1919a8, #000052 72%); color: #ff9900; }
.geo-mode .nerss-reader-overlay { background: rgba(0,0,45,.88); }
.geo-mode .nerss-reader-dialog { border-color: rgba(255,153,0,.55); background: #000078; box-shadow: 0 24px 80px rgba(0,0,0,.6), 0 0 28px rgba(255,153,0,.12); }
.geo-mode .nerss-reader-header, .geo-mode .nerss-reader-sources, .geo-mode .nerss-reader-tabs { border-color: rgba(255,153,0,.35); }
.geo-mode .nerss-reader-source { color: #ffe0b3; }
.geo-mode .nerss-reader-source:hover, .geo-mode .nerss-reader-source.active, .geo-mode .nerss-reader-tab.active { background: rgba(255,153,0,.16); color: #ffb84d; }
.geo-mode .nerss-reader-tab, .geo-mode .nerss-reader-hint button { border-color: rgba(255,153,0,.55); color: #ffb84d; }
.geo-mode .nerss-article-content { color: #fff; }
.geo-mode .nerss-article-description, .geo-mode .nerss-article-status { color: #ffe0b3; }
.geo-mode .nerss-article-summary { border-left-color: #ff9900; background: rgba(255,153,0,.12); }

.nerss-country-filter { display: flex; align-items: center; gap: 8px; padding: 7px 0 9px; }
.nerss-country-filter label { color: #9ccac5; font-size: 0.76rem; letter-spacing: .04em; text-transform: uppercase; }
.nerss-country-select { min-width: 190px; max-width: 100%; padding: 8px 34px 8px 10px; border: 1px solid #1b5960; border-radius: 8px; background: #062830; color: #e3fff8; font: inherit; font-size: .88rem; }
.nerss-country-select:focus-visible, .nerss-share-button:focus-visible, .nerss-share-option:focus-visible, .nerss-reader-close:focus-visible, .nerss-reader-source:focus-visible { outline: 2px solid #70ffe1; outline-offset: 2px; }
.nerss-card-thumb { width: 88px; height: 124px; flex: 0 0 88px; overflow: hidden; border-radius: 8px; }
.nerss-card-thumb { position: relative; }
.nerss-thumb-actions { position:absolute; inset:0; display:flex; align-items:flex-start; justify-content:flex-end; gap:5px; padding:5px; opacity:0; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,.42),transparent 48%); transition:opacity .16s ease; }
.nerss-card-thumb:hover .nerss-thumb-actions,.nerss-card-thumb:focus-within .nerss-thumb-actions { opacity:1; pointer-events:auto; }
.nerss-thumb-actions button { width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:7px;background:rgba(5,24,36,.88);color:#fff;cursor:pointer; }
.nerss-thumb-actions button:hover { background:#063d63; }
.nerss-thumb-kind { position:absolute;left:4px;right:4px;bottom:4px;padding:3px 4px;border-radius:4px;background:rgba(4,22,36,.88);color:#fff;text-align:center;font-size:8px;line-height:1.15; }
.nerss-thumb-status { position:absolute;left:4px;right:4px;bottom:4px;padding:3px 5px;border-radius:4px;background:#06243a;color:#fff;font-size:9px;line-height:1.2; }
.nerss-thumb-preview { position:fixed;inset:0;z-index:5000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:28px;background:rgba(2,14,27,.92);color:#fff; }
.nerss-thumb-preview img { max-width:min(90vw,1100px);max-height:82vh;object-fit:contain;border-radius:8px; }
.nerss-thumb-preview strong { max-width:90vw;text-align:center; }
.nerss-thumb-preview-close { position:absolute;top:18px;right:20px;width:44px;height:44px;border:1px solid #fff8;border-radius:50%;background:#061c32;color:#fff;font-size:1.8rem;cursor:pointer; }
.atlas-map-popup { min-width:205px;max-width:280px;color:#102b49;line-height:1.35; }
.atlas-map-popup>strong { display:block;font-size:.88rem;line-height:1.35; }
.atlas-map-popup-open { margin-top:9px;padding:6px 9px;border:1px solid #adc4d2;border-radius:6px;background:#f2f7fa;color:#123d59;font-weight:700;cursor:pointer; }
@media(max-width:600px){.nerss-thumb-actions{opacity:1;pointer-events:auto;gap:2px;padding:3px}.nerss-thumb-actions button{width:22px;height:22px;padding:0;font-size:.72rem}.nerss-thumb-kind{font-size:6px;left:2px;right:2px;bottom:2px;padding:2px}.nerss-thumb-status{font-size:7px}}
.nerss-card-image { display: block; width: 100%; height: 100%; object-fit: cover; background: #0d4149; }
.nerss-thumb-placeholder { width: 88px; height: 124px; flex: 0 0 88px; display: grid; place-items: center; border: 1px solid #1c6265; border-radius: 8px; background: radial-gradient(circle at 50% 35%, #14565b, #06272f 72%); color: #65e9cf; font-size: 1.6rem; }
.nerss-thumb-placeholder.is-pending { align-content: center; gap: 7px; }
.nerss-thumb-placeholder.is-pending i { animation: nerss-spin 2s linear infinite; }
.nerss-thumb-placeholder small { font-size: 0.55rem; letter-spacing: .04em; color: #b8d8d4; }
.nerss-action-link { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; cursor: pointer; }
.nerss-related-link { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; cursor: pointer; }
.nerss-share-wrap { position: relative; display: inline-flex; align-items: center; }
.nerss-share-button { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; cursor: pointer; }
.nerss-share-menu { position: absolute; z-index: 30; right: 0; bottom: calc(100% + 8px); width: 190px; padding: 7px; border: 1px solid #24736f; border-radius: 10px; background: #082a32; box-shadow: 0 12px 30px rgba(0,0,0,.45); }
.nerss-share-option { width: 100%; display: flex; align-items: center; gap: 9px; padding: 9px; border: 0; border-radius: 6px; background: transparent; color: #d9f5ef; text-align: left; cursor: pointer; }
.nerss-share-option:hover { background: rgba(69,232,202,.12); }
.nerss-share-status { padding: 5px 9px; color: #83efda; font-size: .72rem; }
.nerss-reader-overlay { position: absolute; inset: 0; z-index: 2600; display: flex; align-items: center; justify-content: center; padding: 2vh 2vw; background: rgba(0,10,14,.84); }
.nerss-reader-dialog { width: min(1240px, 96vw); height: min(900px, 92dvh); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #24736f; border-radius: 14px; background: #06252d; box-shadow: 0 24px 80px rgba(0,0,0,.55), 0 0 28px rgba(56,224,196,.1); }
.nerss-reader-header .nerss-share-menu { top: calc(100% + 6px); bottom: auto; }
.nerss-reader-header { min-height: 58px; display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-bottom: 1px solid #17454b; }
.nerss-reader-heading { min-width: 0; flex: 1; overflow: hidden; color: #e7fff8; font-size: .95rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.nerss-reader-open { flex: 0 0 auto; color: #76f3dc; font-size: .8rem; text-decoration: none; }
.nerss-reader-close { width: 36px; height: 36px; border: 0; border-radius: 7px; background: rgba(255,255,255,.06); color: #d9f5ef; font-size: 1.4rem; cursor: pointer; }
.nerss-reader-body { flex: 1; min-height: 0; display: flex; }
.nerss-reader-sources { width: 240px; flex: 0 0 240px; overflow-y: auto; padding: 10px; border-right: 1px solid #17454b; }
.nerss-reader-source { width: 100%; display: block; padding: 10px; border: 0; border-radius: 7px; background: transparent; color: #b9d8d3; text-align: left; line-height: 1.35; cursor: pointer; }
.nerss-reader-source:hover, .nerss-reader-source.active { background: rgba(55,221,194,.12); color: #a2ffed; }
.nerss-reader-frame-wrap { position: relative; flex: 1; min-width: 0; background: #fff; }
.nerss-reader-frame { width: 100%; height: 100%; border: 0; background: white; }
.nerss-reader-empty { display: grid; place-items: center; height: 100%; padding: 24px; color: #527b7c; text-align: center; }
.nerss-reader-hint { position: absolute; right: 10px; bottom: 10px; padding: 6px 9px; border: 1px solid rgba(29,91,91,.7); border-radius: 6px; background: rgba(5,31,37,.92); color: #b6ded8; font-size: .72rem; }
.nerss-reader-hint button { margin: 0 3px; padding: 4px 7px; border: 1px solid #24736f; border-radius: 5px; background: rgba(69,232,202,.14); color: #a2ffed; cursor: pointer; }
.nerss-reader-hint button:disabled { opacity: .55; cursor: default; }
.nerss-reader-tabs { display: flex; gap: 8px; padding: 8px 12px; border-bottom: 1px solid #17454b; }
.nerss-reader-tab { padding: 7px 11px; border: 1px solid #24736f; border-radius: 7px; background: transparent; color: #b9d8d3; cursor: pointer; }
.nerss-reader-tab.active { background: rgba(55,221,194,.14); color: #a2ffed; }
.nerss-article-content { flex: 1; min-width: 0; overflow-y: auto; padding: 20px 24px; color: #d9f5ef; }
.nerss-article-title { margin: 0 0 10px; font-size: 1.35rem; line-height: 1.3; }
.nerss-article-description { margin: 0 0 16px; color: #b9d8d3; line-height: 1.55; }
.nerss-article-summary { margin: 0 0 18px; padding: 12px 14px; border-left: 3px solid #45e8ca; background: rgba(69,232,202,.08); border-radius: 0 8px 8px 0; line-height: 1.55; }
.nerss-article-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; }
.nerss-article-status { color: #9ccac5; padding: 12px 0; }
.nerss-reader-view { display: flex; flex: 1; min-height: 0; }
.nerss-reader-view .nerss-reader-frame-wrap { flex: 1; }
.nerss-atlas-switch { display: inline-flex; padding: 3px; gap: 2px; border: 1px solid #1b5960; border-radius: 999px; background: #062830; }
.nerss-atlas-option { border: 0; border-radius: 999px; padding: 7px 12px; background: transparent; color: #9ccac5; font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer; white-space: nowrap; }
.nerss-atlas-option.active { background: linear-gradient(110deg, #087f82, #24c9ad); color: #03191e; }
.nerss-grant-bar { display: flex; align-items: center; gap: 8px; padding: 6px 0 9px; }
.nerss-grant-button { border: 1px solid #287d79; border-radius: 8px; padding: 8px 11px; background: rgba(39,196,169,.12); color: #9ffff0; font: inherit; font-size: .82rem; font-weight: 650; cursor: pointer; }
.nerss-grant-button.primary { background: linear-gradient(110deg, #087f82, #24c9ad); color: #03191e; }
.nerss-grant-status { color: #9ccac5; font-size: .78rem; }
.nerss-grant-card { display: block; margin: 0 0 12px; padding: 15px; border: 1px solid #15505a; border-radius: 11px; background: #082a32; color: inherit; text-decoration: none; }
.nerss-grant-card:hover { border-color: #45e8ca; }
.nerss-grant-card h2 { margin: 7px 0; font-size: 1rem; line-height: 1.4; }
.nerss-grant-card p { color: #b9d8d3; font-size: .85rem; line-height: 1.45; }
.nerss-grant-card .nerss-meta { margin-bottom: 0; }
@media (max-width: 768px) {
    .nerss-country-filter { padding: 4px 0 8px; }
    .nerss-country-select { flex: 1; min-width: 0; }
    .nerss-card-thumb, .nerss-thumb-placeholder { width: 58px; height: 82px; flex-basis: 58px; }
    .nerss-card { gap: 10px; padding: 12px; }
    .nerss-reader-overlay { padding: 0; }
    .nerss-reader-dialog { width: 100%; height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0; padding-bottom: env(safe-area-inset-bottom); }
    .nerss-reader-header { min-height: 54px; padding-inline: 10px; }
    .nerss-reader-sources { width: 100%; max-height: 108px; flex: 0 0 auto; display: flex; gap: 6px; overflow-x: auto; overflow-y: hidden; padding: 7px; border-right: 0; border-bottom: 1px solid #17454b; }
    .nerss-reader-source { width: auto; min-width: 120px; max-width: 210px; flex: 0 0 auto; }
    .nerss-reader-body { flex-direction: column; }
    .nerss-reader-view { min-height: 0; }
    .nerss-article-content { padding: 16px; }
    .nerss-reader-frame-wrap { width: 100%; flex: 1 1 0; }
    .nerss-reader-hint { max-width: calc(100% - 20px); }
    .nerss-footer { flex-wrap: wrap; gap: 10px; }
}

@media (max-width: 768px) {
    .nerss-brand { flex-shrink: 0; }
    .nerss-brand img { width: 36px; height: 36px; }
    .nerss-controls { min-width: 0; overflow-x: auto; scrollbar-width: none; }
    .nerss-controls::-webkit-scrollbar { display: none; }
    .nerss-atlas-option { padding: 6px 9px; font-size: .72rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
.atlas-map-popup-source { display:inline-block;margin:8px 8px 0 0;font-size:.76rem;font-weight:700; }

/* Translation: language picker and per-item "Translated from" note (all atlases). */
.atlas-tr-picker { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; color: inherit; font-size: .78rem; }
.atlas-tr-picker select { max-width: 9.5rem; min-height: 32px; padding: 3px 6px; border: 1px solid currentColor; border-radius: 7px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.atlas-tr-picker option { color: #102b49; background: #fff; }
.atlas-tr-note { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 4px 0 6px; font-size: .72rem; opacity: .75; }
.atlas-tr-note button { padding: 0; border: 0; background: none; color: inherit; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.un-header-actions .atlas-tr-picker select { border-color: #4d83a7; background: #0b3d69; color: #fff; }
