.nightastro-tonight {
    max-width: 860px;
    margin: 28px auto;
    padding: 22px;
    border-radius: 24px;
    background: #07111f;
    color: #f7fbff;
    box-sizing: border-box;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .24);
}

.nightastro-header { text-align: center; }
.nightastro-kicker { font-size: 12px; letter-spacing: 2px; opacity: .68; }
.nightastro-header h2 { margin: 6px 0 5px; font-size: clamp(28px, 6vw, 42px); line-height: 1.05; }
.nightastro-header p { margin: 0 auto; max-width: 580px; color: #b8c5d6; }

.nightastro-locate {
    display: block;
    margin: 20px auto 10px;
    border: 0;
    border-radius: 14px;
    padding: 13px 18px;
    background: #2e8cff;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

/* NightAstro v0.7.21 — retour immédiat de géolocalisation */
.nightastro-locate:disabled { opacity: .72; cursor: wait; }
.nightastro-locate.is-locating { display: flex; align-items: center; justify-content: center; gap: 9px; }
.nightastro-locate.is-locating::before {
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255,255,255,.38);
    border-top-color: #fff;
    border-radius: 50%;
    animation: nightastro-locate-spin .8s linear infinite;
    flex: 0 0 auto;
}
@keyframes nightastro-locate-spin { to { transform: rotate(360deg); } }
.nightastro-place, .nightastro-status { text-align: center; color: #a9bad0; font-size: 14px; }
.nightastro-place { margin-top: 10px; }
.nightastro-place-location { min-height: 20px; margin: 8px 0 2px; }
.nightastro-place-location:empty { min-height: 0; margin: 0; }
.nightastro-status { margin: 8px 0 14px; }

.nightastro-summary {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: baseline;
    margin: 18px 0 10px;
    color: #dce7f5;
}
.nightastro-summary small { color: #7f93ac; }

.nightastro-ranking-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 20px 0 4px;
    padding: 13px 14px;
    border: 1px solid rgba(91, 164, 255, .20);
    border-radius: 14px;
    background: rgba(15, 31, 50, .64);
}
.nightastro-ranking-head-copy { display: grid; gap: 2px; }
.nightastro-ranking-head-copy strong { color: #edf5fd; font-size: 15px; font-weight: 850; }
.nightastro-ranking-head-copy span { color: #8fa7c2; font-size: 11px; }
.nightastro-ranking-search-link,
.nightastro-show-more {
    border: 1px solid rgba(120, 184, 255, .46);
    border-radius: 10px;
    background: rgba(46, 140, 255, .10);
    color: #8fc6ff;
    font-weight: 800;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}
.nightastro-ranking-search-link { padding: 7px 10px; font-size: 10.5px; white-space: nowrap; }
.nightastro-ranking-search-link:hover,
.nightastro-show-more:hover {
    background: rgba(46, 140, 255, .18);
    border-color: rgba(120, 184, 255, .76);
    color: #b6dcff;
}
.nightastro-show-more-wrap { display: flex; justify-content: center; margin: 16px 0 8px; }
.nightastro-show-more { min-width: 190px; padding: 10px 15px; font-size: 12px; }

.nightastro-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 160px) 1fr;
    overflow: hidden;
    margin: 12px 0;
    border: 1px solid rgba(159, 185, 216, .13);
    border-radius: 20px;
    background: #0d1b2d;
}

.nightastro-card-image { width: 100%; height: 100%; min-height: 210px; object-fit: cover; }

/* Une cible sans photo ne doit pas conserver une colonne image vide. */
.nightastro-card.nightastro-card-no-image {
    display: block;
}
.nightastro-card.nightastro-card-no-image .nightastro-card-body {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.nightastro-card-body { position: relative; padding: 17px; }
.nightastro-rank { font-size: 12px; color: #6f86a1; }
.nightastro-card-head { display: flex; justify-content: space-between; gap: 14px; padding-right: 96px; }
.nightastro-card h3 { margin: 0; font-size: 21px; line-height: 1.2; color: #fff; }
.nightastro-meta { margin-top: 4px; font-size: 12px; color: #8da3bd; }
.nightastro-score { min-width: 68px; font-size: 22px; font-weight: 800; text-align: right; }
.nightastro-score span { margin-left: 2px; font-size: 11px; font-weight: 500; opacity: .65; }
.nightastro-verdict { margin-top: 12px; font-size: 14px; color: #d5e1ef; }
.nightastro-dot { display: inline-block; width: 9px; height: 9px; margin-right: 7px; border-radius: 999px; }
.is-green { color: #64d67d; }
.nightastro-dot.is-green { background: #64d67d; }
.is-orange { color: #efb04e; }
.nightastro-dot.is-orange { background: #efb04e; }
.is-red { color: #ef6868; }
.nightastro-dot.is-red { background: #ef6868; }

.nightastro-window {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 14px 0;
    padding: 12px 13px;
    border-radius: 13px;
    background: #12243a;
}
.nightastro-window span { color: #8fa4bd; font-size: 12px; }
.nightastro-window strong { font-size: 15px; }
.nightastro-window-secondary {
    margin-top: -8px;
    border: 1px solid rgba(111, 166, 255, .11);
    background: #0d1c2e;
}
.nightastro-window-secondary span { color: #738da9; }
.nightastro-window-secondary strong { color: #b8cee5; font-size: 12px; text-align: right; }

.nightastro-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}
.nightastro-grid > div { padding: 9px; border-radius: 11px; background: #0a1626; }
.nightastro-grid span { display: block; font-size: 10px; color: #8095ae; }
.nightastro-grid strong { display: block; margin-top: 2px; font-size: 13px; color: #eef5fc; }

.nightastro-target-link {
    display: inline-block;
    margin-top: 14px;
    text-decoration: none;
    color: #6db4ff;
    font-size: 13px;
    font-weight: 700;
}
.nightastro-empty { padding: 18px; border-radius: 14px; background: #12243a; text-align: center; color: #dce8f5; }

@media (max-width: 680px) {
    .nightastro-tonight { margin: 14px auto; padding: 14px; border-radius: 18px; }
    .nightastro-card { grid-template-columns: 1fr; }
    .nightastro-card-image { height: 170px; min-height: 0; }
    .nightastro-grid { grid-template-columns: repeat(2, 1fr); }
    .nightastro-summary { display: block; }
    .nightastro-summary small { display: block; margin-top: 3px; }
    .nightastro-ranking-head { align-items: stretch; flex-direction: column; }
    .nightastro-ranking-search-link { align-self: flex-start; }
}

.nightastro-location-separator {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 420px;
    margin: 4px auto 10px;
    color: #6f86a1;
    font-size: 12px;
}
.nightastro-location-separator::before,
.nightastro-location-separator::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(159, 185, 216, .14);
}
.nightastro-city-search {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    max-width: 520px;
    margin: 0 auto 8px;
}
.nightastro-city-search input {
    min-width: 0;
    border: 1px solid rgba(159, 185, 216, .18);
    border-radius: 12px;
    padding: 11px 13px;
    background: #0d1b2d;
    color: #f7fbff;
    outline: none;
}
.nightastro-city-search input::placeholder { color: #6f86a1; }
.nightastro-city-search input:focus { border-color: #2e8cff; }
.nightastro-city-search button,
.nightastro-city-choice {
    border: 0;
    border-radius: 12px;
    padding: 11px 13px;
    background: #12243a;
    color: #dce7f5;
    cursor: pointer;
}
.nightastro-city-search button:hover,
.nightastro-city-choice:hover { background: #18314f; }
.nightastro-city-results {
    display: grid;
    gap: 6px;
    max-width: 520px;
    margin: 0 auto 8px;
}
.nightastro-city-choice { width: 100%; text-align: left; }

@media (max-width: 560px) {
    .nightastro-city-search { grid-template-columns: 1fr; }
}

.nightastro-warning {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 11px;
    background: rgba(239, 176, 78, .10);
    color: #e9c47e;
    font-size: 12px;
    line-height: 1.35;
}
.nightastro-warning.is-ok {
    background: rgba(100, 214, 125, .08);
    color: #9de3ad;
}

.nightastro-horizon {
    max-width: 760px;
    margin: 16px auto 8px;
    padding: 12px;
    border: 1px solid rgba(108, 199, 149, .18);
    border-radius: 14px;
    background: rgba(11, 31, 35, .48);
}
.nightastro-horizon-help {
    margin: -1px 0 10px;
    text-align: left;
    color: #8da6b7;
    font-size: 11.5px;
    line-height: 1.5;
}
.nightastro-horizon-buttons {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}
.nightastro-horizon-sector {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 7px;
    align-items: stretch;
    padding: 6px;
    border: 1px solid rgba(159, 185, 216, .10);
    border-radius: 11px;
    background: rgba(6, 18, 31, .55);
}
.nightastro-horizon-limits {
    display: grid;
    gap: 5px;
    min-width: 0;
}
.nightastro-horizon-limit {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 5px;
    align-items: center;
    min-width: 0;
}
.nightastro-horizon-limit > span {
    color: #71889f;
    font-size: 9px;
    font-weight: 800;
    text-align: right;
}
.nightastro-horizon-btn {
    min-width: 0;
    border: 1px solid rgba(159, 185, 216, .14);
    border-radius: 10px;
    padding: 9px 6px;
    background: #0a1626;
    color: #72879d;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.nightastro-horizon-btn.is-active {
    border-color: rgba(69, 197, 126, .7);
    background: rgba(39, 137, 85, .34);
    color: #c8f2da;
}
.nightastro-horizon-reset {
    display: block;
    margin: 8px auto 0;
    border: 0;
    background: transparent;
    color: #7fa3bd;
    font-size: 11px;
    cursor: pointer;
}
.nightastro-horizon-reset:hover { color: #fff; }

.nightastro-direction {
    max-width: 620px;
    margin: 16px auto 8px;
    padding: 12px;
    border: 1px solid rgba(159, 185, 216, .12);
    border-radius: 14px;
    background: rgba(13, 27, 45, .55);
}
.nightastro-direction-label {
    margin-bottom: 8px;
    text-align: center;
    color: #cbd9e9;
    font-size: 13px;
    font-weight: 700;
}
.nightastro-direction-buttons {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: 6px;
}
.nightastro-dir {
    min-width: 0;
    border: 1px solid rgba(159, 185, 216, .14);
    border-radius: 10px;
    padding: 9px 6px;
    background: #0a1626;
    color: #aebfd3;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.nightastro-dir:hover { background: #132942; color: #fff; }
.nightastro-dir.is-blocked, .nightastro-dir:disabled { opacity: .32; cursor: not-allowed; text-decoration: line-through; }
.nightastro-dir.is-blocked:hover, .nightastro-dir:disabled:hover { background: #0a1626; color: #aebfd3; }
.nightastro-dir.is-active {
    border-color: rgba(46, 140, 255, .85);
    background: #2e8cff;
    color: #fff;
}
.nightastro-direction-help {
    margin-top: 7px;
    text-align: center;
    color: #6f86a1;
    font-size: 11px;
}
.nightastro-azimuth {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: -3px 0 12px;
    padding: 0 2px;
    color: #8fa4bd;
    font-size: 12px;
}
.nightastro-azimuth strong { color: #dce7f5; }

@media (max-width: 680px) {
    .nightastro-direction-buttons { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .nightastro-horizon-buttons { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
    .nightastro-slot-fields { grid-template-columns: 1fr; }
    .nightastro-slot-arrow { display: none; }
    .nightastro-direction-buttons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nightastro-horizon-buttons { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}


.nightastro-instrument {
    max-width: 620px;
    margin: 20px auto 12px;
    padding: 14px;
    border: 1px solid rgba(159, 185, 216, .18);
    border-radius: 15px;
    background: rgba(11, 25, 42, .70);
}
.nightastro-instrument label {
    display: block;
    margin-bottom: 9px;
    text-align: center;
    color: #dce8f5;
    font-size: 14px;
    font-weight: 800;
}
.nightastro-instrument select {
    width: 100%;
    border: 1px solid rgba(159, 185, 216, .18);
    border-radius: 11px;
    padding: 10px 12px;
    background: #0a1626;
    color: #eef5fc;
}
.nightastro-instrument-help {
    margin-top: 7px;
    text-align: center;
    color: #6f86a1;
    font-size: 11px;
}
.nightastro-instrument-plan-help {
    margin-top: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    text-align: center;
    font-size: 10px;
    line-height: 1.45;
    color: #8298b2;
    background: rgba(127, 147, 172, .07);
    border: 1px solid rgba(127, 147, 172, .12);
}
.nightastro-instrument-plan-help.is-native {
    color: #9fd5b3;
    background: rgba(58, 184, 112, .08);
    border-color: rgba(58, 184, 112, .18);
}
.nightastro-instrument-plan-help.is-manual {
    color: #a8b8ca;
}
.nightastro-instrument-rec {
    margin-top: 10px;
    padding: 11px 12px;
    border: 1px solid rgba(46, 140, 255, .20);
    border-radius: 12px;
    background: rgba(46, 140, 255, .07);
}
.nightastro-instrument-rec-title {
    margin-bottom: 8px;
    color: #8fc4ff;
    font-size: 12px;
    font-weight: 700;
}

.nightastro-rec-source {
    display: inline-block;
    margin-left: 8px;
    color: #6f86a1;
    font-size: 10px;
    font-weight: 500;
}
.nightastro-instrument-rec-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 7px;
}
.nightastro-instrument-rec-grid > div {
    padding: 8px;
    border-radius: 9px;
    background: rgba(7, 17, 31, .58);
}
.nightastro-instrument-rec-grid span {
    display: block;
    color: #7f93ac;
    font-size: 9px;
}
.nightastro-instrument-rec-grid strong {
    display: block;
    margin-top: 2px;
    color: #f5f9ff;
    font-size: 12px;
}
@media (max-width: 680px) {
    .nightastro-instrument-rec-grid { grid-template-columns: repeat(2, 1fr); }
}


.nightastro-now {
    margin: 16px 0 12px;
    padding: 14px;
    border: 1px solid rgba(159, 185, 216, .15);
    border-radius: 16px;
    background: #0b1929;
}
.nightastro-now-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 11px;
}
.nightastro-now-head > div:first-child { display: grid; gap: 3px; }
.nightastro-now-kicker { color: #7f93ac; font-size: 10px; font-weight: 800; letter-spacing: 1.4px; }
.nightastro-now-head strong { color: #f2f7fc; font-size: 16px; }
.nightastro-now-score { min-width: 72px; text-align: right; font-size: 24px; font-weight: 800; }
.nightastro-now-score span { margin-left: 2px; font-size: 11px; font-weight: 500; opacity: .65; }
.nightastro-now-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 7px;
}
.nightastro-now-grid > div { padding: 8px; border-radius: 10px; background: #081421; }
.nightastro-now-grid span { display: block; color: #8095ae; font-size: 9px; }
.nightastro-now-grid strong { display: block; margin-top: 2px; color: #eef5fc; font-size: 12px; }
.nightastro-now-note { margin-top: 10px; color: #8195ad; font-size: 11px; line-height: 1.35; }
.nightastro-score small { display: block; margin-bottom: 1px; color: #7f93ac; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }

@media (max-width: 680px) {
    .nightastro-now-grid { grid-template-columns: repeat(3, 1fr); }
}


/* Meteoblue Astronomy Seeing */
.nightastro-meteoblue {
    margin: 14px 0 18px;
    padding: 12px 14px;
    border: 1px solid rgba(91, 154, 255, 0.30);
    border-radius: 12px;
    background: rgba(12, 31, 54, 0.82);
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.nightastro-meteoblue-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 10px;
    background: #1976d2;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    line-height: 1.2;
}

.nightastro-meteoblue-link:hover,
.nightastro-meteoblue-link:focus {
    filter: brightness(1.08);
}

.nightastro-meteoblue span {
    color: #9fb7d3;
    font-size: 0.86rem;
    flex: 1 1 260px;
}


/* Observation réelle du ciel */
.nightastro-sky-observation {
    margin: 0 0 12px;
    padding: 11px;
    border: 1px solid rgba(159, 185, 216, .12);
    border-radius: 12px;
    background: rgba(7, 17, 31, .42);
}
.nightastro-sky-observation-title {
    margin-bottom: 8px;
    color: #cbd9e9;
    font-size: 12px;
    font-weight: 700;
}
.nightastro-sky-buttons {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
}
.nightastro-sky-btn {
    min-width: 0;
    border: 1px solid rgba(159, 185, 216, .14);
    border-radius: 9px;
    padding: 8px 6px;
    background: #081421;
    color: #aebfd3;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}
.nightastro-sky-btn:hover { background: #132942; color: #fff; }
.nightastro-sky-btn.is-active {
    border-color: rgba(46, 140, 255, .85);
    background: #2e8cff;
    color: #fff;
}
.nightastro-sky-help {
    margin-top: 7px;
    color: #748aa4;
    font-size: 10px;
    line-height: 1.35;
}
.nightastro-sky-gap {
    margin: 0 0 11px;
    padding: 9px 11px;
    border-radius: 10px;
    background: rgba(239, 176, 78, .10);
    color: #e9c47e;
    font-size: 11px;
    line-height: 1.35;
}
@media (max-width: 680px) {
    .nightastro-sky-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nightastro-sky-btn:first-child { grid-column: 1 / -1; }
}


.nightastro-season {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
    gap: 4px 12px;
    margin: -4px 0 12px;
    padding: 0 2px;
    color: #8fa4bd;
    font-size: 12px;
}
.nightastro-season strong {
    justify-self: end;
    color: #dce7f5;
}
.nightastro-season small {
    grid-column: 1 / -1;
    color: #627a96;
    font-size: 10px;
}


/* Blocs de préférences repliables */
.nightastro-preference-panels {
    max-width: 760px;
    margin: 22px auto 12px;
    display: grid;
    gap: 14px;
}
.nightastro-collapsible {
    overflow: hidden;
    border: 1px solid rgba(159, 185, 216, .20);
    border-radius: 15px;
    background: rgba(15, 31, 50, .74);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08), inset 0 1px rgba(255,255,255,.015);
}
.nightastro-collapsible-summary {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px 42px 12px 14px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.nightastro-collapsible-summary::-webkit-details-marker { display: none; }

.nightastro-collapsible-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
}
.nightastro-collapsible-edit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    padding: 4px 10px;
    border: 1px solid rgba(120, 184, 255, .72);
    border-radius: 8px;
    background: rgba(68, 151, 240, .16);
    color: #8fc6ff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    transition: color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.nightastro-collapsible-summary:hover .nightastro-collapsible-edit {
    color: #a8d2ff;
    background: rgba(46, 140, 255, .18);
    border-color: rgba(120, 184, 255, .82);
    box-shadow: 0 0 0 1px rgba(120, 184, 255, .08);
}
.nightastro-collapsible-summary::after {
    content: '▾';
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    color: #78b8ff;
    font-size: 18px;
    line-height: 1;
    transition: transform .18s ease, color .16s ease;
}
.nightastro-collapsible[open] > .nightastro-collapsible-summary::after {
    transform: translateY(-50%) rotate(180deg);
}
.nightastro-collapsible-summary {
    transition: background .16s ease, box-shadow .16s ease;
}
.nightastro-collapsible-summary:hover {
    background: rgba(68, 151, 240, .14);
    box-shadow: inset 0 0 0 1px rgba(120, 184, 255, .14);
}
.nightastro-collapsible-summary:hover::after {
    color: #a8d2ff;
}
.nightastro-collapsible-summary:focus-visible {
    outline: 2px solid rgba(78, 162, 255, .72);
    outline-offset: -2px;
}
.nightastro-collapsible-title {
    color: #e6f0fb;
    font-size: 14px;
    font-weight: 850;
    letter-spacing: .01em;
}
.nightastro-collapsible-meta {
    color: #7e95ae;
    font-size: 10.5px;
    line-height: 1.35;
}
.nightastro-collapsible-content {
    padding: 0 12px 12px;
    border-top: 1px solid rgba(159, 185, 216, .08);
}
.nightastro-collapsible-content > .nightastro-horizon,
.nightastro-collapsible-content > .nightastro-direction {
    max-width: none;
    margin: 12px 0 0;
}
.nightastro-environment-bortle,
.nightastro-refine-controls {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid rgba(159, 185, 216, .10);
    border-radius: 12px;
    background: rgba(7, 17, 31, .34);
}
.nightastro-environment-bortle .nightastro-subcontrol-label,
.nightastro-refine-controls .nightastro-subcontrol-label {
    margin-top: 0;
}
@media (max-width: 680px) {
    .nightastro-preference-panels { max-width: 100%; }
    .nightastro-collapsible-summary { padding: 11px 38px 11px 12px; gap: 8px; }
    .nightastro-collapsible-edit { font-size: 10px; }
    .nightastro-collapsible-content { padding: 0 10px 10px; }
    .nightastro-environment-bortle,
    .nightastro-refine-controls { padding: 10px; }
}

/* Mode d’observation et durée */
.nightastro-session-controls {
    max-width: 620px;
    margin: 22px auto 12px;
    display: grid;
    gap: 14px;
}
.nightastro-control-block {
    padding: 14px;
    border: 1px solid rgba(159, 185, 216, .18);
    border-radius: 15px;
    background: rgba(10, 23, 40, .70);
}
.nightastro-control-block > .nightastro-control-label {
    color: #dce8f5;
    font-size: 14px;
    font-weight: 800;
}
.nightastro-control-label {
    margin-bottom: 8px;
    text-align: center;
    color: #cbd9e9;
    font-size: 13px;
    font-weight: 700;
}
.nightastro-mode-buttons,
.nightastro-time-mode-buttons,
.nightastro-duration-buttons,
.nightastro-type-buttons,
.nightastro-quality-buttons {
    display: grid;
    gap: 6px;
}
.nightastro-mode-buttons,
.nightastro-time-mode-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nightastro-duration-buttons { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.nightastro-type-buttons { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.nightastro-quality-buttons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nightastro-subcontrol + .nightastro-subcontrol {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(159, 185, 216, .10);
}
.nightastro-subcontrol-label {
    margin: 0 0 7px;
    text-align: left;
    color: #8fa4bd;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.nightastro-mode-btn,
.nightastro-time-mode-btn,
.nightastro-duration-btn,
.nightastro-type-btn,
.nightastro-quality-btn {
    min-width: 0;
    border: 1px solid rgba(159, 185, 216, .14);
    border-radius: 10px;
    padding: 9px 7px;
    background: #0a1626;
    color: #aebfd3;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}
.nightastro-mode-btn:hover,
.nightastro-time-mode-btn:hover,
.nightastro-duration-btn:hover,
.nightastro-type-btn:hover,
.nightastro-quality-btn:hover { background: #132942; color: #fff; }
.nightastro-mode-btn.is-active,
.nightastro-time-mode-btn.is-active,
.nightastro-duration-btn.is-active,
.nightastro-type-btn.is-active,
.nightastro-quality-btn.is-active {
    border-color: rgba(46, 140, 255, .85);
    background: #2e8cff;
    color: #fff;
}
.nightastro-time-panel { margin-top: 8px; }
.nightastro-slot-panel {
    padding: 10px;
    border: 1px solid rgba(111, 166, 255, .12);
    border-radius: 11px;
    background: rgba(6, 18, 31, .48);
}
.nightastro-slot-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 8px;
    align-items: end;
}
.nightastro-slot-fields label { display: grid; gap: 5px; }
.nightastro-slot-fields label span {
    color: #8fa5bd;
    font-size: 10px;
    font-weight: 700;
}
.nightastro-slot-fields input[type="time"] {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid rgba(159, 185, 216, .18);
    border-radius: 9px;
    padding: 8px 10px;
    background: #071422;
    color: #e7f1fb;
    font: inherit;
    font-size: 12px;
    color-scheme: dark;
}
.nightastro-slot-fields input[type="time"]:focus {
    outline: 0;
    border-color: rgba(46, 140, 255, .82);
    box-shadow: 0 0 0 2px rgba(46, 140, 255, .10);
}
.nightastro-slot-arrow {
    padding-bottom: 8px;
    color: #6285a7;
    font-size: 14px;
}
.nightastro-slot-help {
    margin-top: 7px;
    color: #718ba5;
    font-size: 10px;
    line-height: 1.4;
}
.nightastro-slot-threshold {
    position: relative;
    display: inline-block;
    margin-top: 7px;
    color: #8ab8dd;
    font-size: 10px;
    cursor: help;
    outline: none;
}
.nightastro-slot-threshold::after {
    content: attr(data-tip);
    position: absolute;
    z-index: 30;
    left: 0;
    bottom: calc(100% + 8px);
    width: min(290px, 78vw);
    padding: 8px 10px;
    border: 1px solid rgba(111, 166, 255, .20);
    border-radius: 9px;
    background: #0a192a;
    box-shadow: 0 10px 28px rgba(0,0,0,.28);
    color: #c3d5e7;
    font-size: 10px;
    line-height: 1.45;
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity .15s ease, transform .15s ease;
}
.nightastro-slot-threshold:hover::after,
.nightastro-slot-threshold:focus::after {
    opacity: 1;
    transform: translateY(0);
}
.nightastro-slot-notice {
    max-width: 760px;
    margin: 12px auto;
    padding: 10px 12px;
    border-radius: 11px;
    font-size: 11px;
    line-height: 1.45;
}
.nightastro-slot-notice.is-good {
    border: 1px solid rgba(90, 199, 139, .18);
    background: rgba(29, 105, 66, .12);
    color: #9ed8b7;
}
.nightastro-slot-notice.is-warning {
    border: 1px solid rgba(238, 181, 75, .20);
    background: rgba(127, 84, 20, .13);
    color: #e7c58a;
}
.nightastro-slot-notice.is-bad {
    border: 1px solid rgba(235, 104, 104, .20);
    background: rgba(111, 36, 36, .13);
    color: #efb0b0;
}
.nightastro-slot-past {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 12px;
    align-items: center;
    justify-content: space-between;
}
.nightastro-slot-past button {
    border: 1px solid rgba(238, 181, 75, .28);
    border-radius: 9px;
    padding: 6px 10px;
    background: rgba(127, 84, 20, .22);
    color: #f0d19a;
    font: inherit;
    font-size: 10.5px;
    font-weight: 800;
    cursor: pointer;
}
.nightastro-slot-past button:hover,
.nightastro-slot-past button:focus {
    border-color: rgba(238, 181, 75, .48);
    background: rgba(127, 84, 20, .34);
    outline: none;
}
.nightastro-control-help {
    margin-top: 7px;
    color: #6f86a1;
    font-size: 10px;
    line-height: 1.35;
    text-align: center;
}
.nightastro-time-fit {
    margin-top: 8px;
    padding: 7px 9px;
    border-radius: 9px;
    font-size: 10px;
    font-weight: 700;
}
.nightastro-time-fit.is-good { background: rgba(100, 214, 125, .08); color: #9de3ad; }
.nightastro-time-fit.is-medium { background: rgba(239, 176, 78, .10); color: #e9c47e; }
.nightastro-time-fit.is-bad { background: rgba(239, 93, 93, .10); color: #ff9c9c; }

/* Plan NightAstro v1 */
.nightastro-plan {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid rgba(46, 140, 255, .20);
    border-radius: 18px;
    background: #0a1829;
}
.nightastro-plan-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}
.nightastro-plan-head > div:first-child { display: grid; gap: 3px; }
.nightastro-plan-head span { color: #6f91b7; font-size: 10px; font-weight: 800; letter-spacing: 1.4px; }
.nightastro-plan-head strong { color: #f4f8fd; font-size: 18px; }
.nightastro-plan-total { color: #8fc4ff; font-size: 20px; font-weight: 800; }
.nightastro-plan-meta { margin-top: 6px; color: #7f93ac; font-size: 11px; }
.nightastro-plan-native {
    display: grid;
    gap: 3px;
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 11px;
    border: 1px solid rgba(127, 147, 172, .14);
    background: rgba(127, 147, 172, .06);
}
.nightastro-plan-native strong { color: #dce9f7; font-size: 11px; }
.nightastro-plan-native span { color: #8096af; font-size: 10px; line-height: 1.45; }
.nightastro-plan-native.is-native {
    border-color: rgba(58, 184, 112, .20);
    background: rgba(58, 184, 112, .07);
}
.nightastro-plan-native.is-native strong { color: #a7e2bc; }
.nightastro-plan-list { display: grid; gap: 8px; margin-top: 14px; }
.nightastro-plan-item {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border-radius: 12px;
    background: #081421;
}
.nightastro-plan-index {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #17385d;
    color: #dbeeff;
    font-size: 12px;
    font-weight: 800;
}
.nightastro-plan-main { display: grid; gap: 2px; min-width: 0; }
.nightastro-plan-main strong { color: #f3f8fd; font-size: 13px; }
.nightastro-plan-main span { color: #8fa4bd; font-size: 11px; }
.nightastro-plan-tags { display: flex; gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
.nightastro-plan-tags span {
    padding: 4px 6px;
    border-radius: 7px;
    background: rgba(46, 140, 255, .08);
    color: #9fcaff;
    font-size: 9px;
    font-weight: 700;
}
.nightastro-plan-note,
.nightastro-plan-empty {
    margin: 12px 0 0;
    color: #7188a3;
    font-size: 10px;
    line-height: 1.4;
}
@media (max-width: 680px) {
    .nightastro-duration-buttons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nightastro-plan-item { grid-template-columns: 30px 1fr; }
    .nightastro-plan-tags { grid-column: 2; justify-content: flex-start; }
}
@media (max-width: 420px) {
    .nightastro-mode-buttons { grid-template-columns: 1fr; }
    .nightastro-duration-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Recherche manuelle et fiche complète d'une cible */
.nightastro-target-search {
    position: relative;
    max-width: 760px;
    margin: 22px auto 16px;
    padding: 15px;
    border: 1px solid rgba(91, 164, 255, .34);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(46, 140, 255, .10), rgba(13, 27, 45, .58));
    box-shadow: 0 8px 26px rgba(0,0,0,.08);
}
.nightastro-target-search .nightastro-control-label { margin-bottom: 4px; text-align: left; color: #e1edf9; font-size: 14px; font-weight: 800; }
.nightastro-target-search-help { color: #91a7c0; font-size: 11px; line-height: 1.5; }
.nightastro-target-search-box { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 10px; }
.nightastro-target-search-box input {
    min-width: 0;
    border: 1px solid rgba(159, 185, 216, .20);
    border-radius: 12px;
    padding: 12px 13px;
    background: #081522;
    color: #f4f8fd;
    outline: none;
}
.nightastro-target-search-box input:focus { border-color: rgba(91, 164, 255, .72); box-shadow: 0 0 0 3px rgba(46, 140, 255, .10); }
.nightastro-target-search-box button {
    border: 1px solid rgba(159, 185, 216, .18);
    border-radius: 12px;
    padding: 0 13px;
    background: #12243a;
    color: #b9caDC;
    font-weight: 700;
    cursor: pointer;
}
.nightastro-target-suggestions {
    display: grid;
    gap: 5px;
    margin-top: 7px;
}
.nightastro-target-choice {
    width: 100%;
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 10px;
    align-items: center;
    padding: 7px;
    border: 1px solid rgba(159, 185, 216, .12);
    border-radius: 11px;
    background: #0a1726;
    color: #eaf3fd;
    text-align: left;
    cursor: pointer;
}
.nightastro-target-choice:hover { border-color: rgba(91, 164, 255, .45); background: #0d1e31; }
.nightastro-target-choice img,
.nightastro-target-choice-placeholder { width: 50px; height: 42px; border-radius: 8px; object-fit: cover; }
.nightastro-target-choice-placeholder { display: grid; place-items: center; background: #12243a; color: #6daeff; font-size: 18px; }
.nightastro-target-choice > span:last-child { min-width: 0; }
.nightastro-target-choice strong { display: block; color: #f7fbff; font-size: 13px; }
.nightastro-target-choice small { display: block; margin-top: 1px; color: #92a7bf; font-size: 10px; }
.nightastro-target-choice em { display: block; margin-top: 2px; color: #6f86a1; font-size: 10px; font-style: normal; }
.nightastro-target-no-match { padding: 11px; border-radius: 10px; background: rgba(239, 104, 104, .08); color: #dca0a0; font-size: 12px; }
.nightastro-target-missing-link { color: inherit; font-weight: 700; text-decoration: none; }
.nightastro-target-missing-link:hover { text-decoration: underline; }
.nightastro-target-detail { margin-top: 12px; }
.nightastro-target-detail:empty { display: none; }
.nightastro-target-detail-card {
    display: grid;
    grid-template-columns: minmax(0, 220px) 1fr;
    overflow: hidden;
    border: 1px solid rgba(159, 185, 216, .15);
    border-radius: 18px;
    background: #0b1929;
}
.nightastro-target-detail-image { width: 100%; height: 100%; min-height: 310px; object-fit: cover; }
.nightastro-target-detail-image-empty { display: grid; place-items: center; background: #102239; color: #6daeff; font-size: 42px; }
.nightastro-target-detail-body { min-width: 0; padding: 17px; }
.nightastro-target-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.nightastro-target-detail-head > div:first-child { min-width: 0; }
.nightastro-target-detail-head h3 { margin: 4px 0 0; color: #fff; font-size: 24px; line-height: 1.1; }
.nightastro-target-aliases { margin-top: 4px; color: #8da3bd; font-size: 11px; }
.nightastro-target-description { margin: 12px 0; color: #c2d0df; font-size: 12px; line-height: 1.55; }
.nightastro-target-facts,
.nightastro-target-tonight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}
.nightastro-target-facts > div,
.nightastro-target-tonight-grid > div { padding: 8px 9px; border-radius: 9px; background: rgba(7, 17, 31, .62); }
.nightastro-target-facts span,
.nightastro-target-tonight-grid span { display: block; color: #788ea7; font-size: 9px; }
.nightastro-target-facts strong,
.nightastro-target-tonight-grid strong { display: block; margin-top: 2px; color: #eef5fc; font-size: 12px; }
.nightastro-target-detail .nightastro-season { margin: 12px 1px 10px; }
.nightastro-target-tonight {
    margin-top: 11px;
    padding: 11px;
    border: 1px solid rgba(46, 140, 255, .18);
    border-radius: 12px;
    background: rgba(46, 140, 255, .06);
}
.nightastro-target-tonight.is-waiting,
.nightastro-target-tonight.is-unavailable { display: grid; gap: 3px; }
.nightastro-target-tonight.is-waiting span { color: #8ea4bd; font-size: 11px; line-height: 1.4; }
.nightastro-target-tonight.is-unavailable { border-color: rgba(239, 176, 78, .22); background: rgba(239, 176, 78, .07); }
.nightastro-target-tonight.is-unavailable span { color: #d9b87e; font-size: 11px; line-height: 1.4; }
.nightastro-target-tonight-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.nightastro-target-tonight-head > div:first-child { display: grid; gap: 2px; }
.nightastro-target-tonight-head > div:first-child > strong { color: #f6f9fd; font-size: 14px; }
.nightastro-target-tonight-head > div:first-child > span { color: #91a7bf; font-size: 10px; }
.nightastro-target-credit { margin-top: 9px; color: #647c97; font-size: 9px; line-height: 1.4; }
.nightastro-target-credit a { color: #78b8ff; }
.nightastro-card-actions { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
button.nightastro-target-link { margin-top: 0; padding: 0; border: 0; background: transparent; cursor: pointer; font-family: inherit; }
.nightastro-target-secondary-link { color: #778da7; font-size: 11px; text-decoration: none; }
.nightastro-target-secondary-link:hover { color: #b5c9df; }

@media (max-width: 680px) {
    .nightastro-target-search { padding: 11px; }
    .nightastro-target-search-box { grid-template-columns: 1fr; }
    .nightastro-target-search-box button { min-height: 38px; }
    .nightastro-target-detail-card { grid-template-columns: 1fr; }
    .nightastro-target-detail-image { height: 220px; min-height: 0; }
    .nightastro-target-facts,
    .nightastro-target-tonight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v0.3.3 — fiche cible autonome */
.single-cible .entry-header { display: none; }
.single-cible .site-main .inside-article { padding-top: 20px; }
.nightastro-single-target { max-width: 1040px; margin: 0 auto; }
.nightastro-single-target-topbar {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    margin-bottom: 12px; padding: 9px 12px; border: 1px solid rgba(159,185,216,.13);
    border-radius: 12px; background: #091521; color: #7790aa; font-size: 10px;
}
.nightastro-single-target-topbar a { color: #78b8ff; text-decoration: none; }
.nightastro-single-target-topbar a:hover { color: #b6d9ff; }
.nightastro-single-target-detail { margin-top: 0; }
.nightastro-single-target .nightastro-target-detail-card { grid-template-columns: minmax(0, 340px) 1fr; }
.nightastro-single-target .nightastro-target-detail-image { min-height: 430px; }
.nightastro-single-target .nightastro-target-detail-body { padding: 22px; }
.nightastro-single-target .nightastro-target-detail-head h3 { font-size: 30px; }
.nightastro-single-target .nightastro-target-description { font-size: 13px; line-height: 1.65; }
.nightastro-single-live-panel {
    margin-top: 16px; padding: 16px; border: 1px solid rgba(46,140,255,.18);
    border-radius: 18px; background: #0a1726;
}
.nightastro-single-live-head { margin-bottom: 12px; }
.nightastro-single-live-head h3 { margin: 2px 0 5px; color: #f7fbff; font-size: 21px; }
.nightastro-single-live-head p { margin: 0; color: #8ba1ba; font-size: 11px; line-height: 1.5; }
.nightastro-single-results .nightastro-summary,
.nightastro-single-results .nightastro-card { display: none; }
@media (max-width: 760px) {
    .nightastro-single-target .nightastro-target-detail-card { grid-template-columns: 1fr; }
    .nightastro-single-target .nightastro-target-detail-image { height: 260px; min-height: 0; }
    .nightastro-single-target .nightastro-target-detail-body { padding: 16px; }
    .nightastro-single-target .nightastro-target-detail-head h3 { font-size: 25px; }
    .nightastro-single-target-topbar { align-items: flex-start; flex-direction: column; }
}


/* v0.3.4 — priorité NightAstro : ordre conseillé distinct du score ciel EOS. */
.nightastro-priority {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
    gap: 3px 9px;
    margin: 8px 0 2px;
    padding: 8px 10px;
    border: 1px solid rgba(46, 140, 255, .16);
    border-radius: 10px;
    background: rgba(46, 140, 255, .06);
}
.nightastro-priority span {
    color: #7f99b8;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.nightastro-priority strong {
    color: #cfe7ff;
    font-size: 12px;
}
.nightastro-priority small {
    grid-column: 1 / -1;
    color: #7890aa;
    font-size: 10px;
    line-height: 1.35;
}
@media (max-width: 560px) {
    .nightastro-priority { grid-template-columns: 1fr; }
    .nightastro-priority small { grid-column: auto; }
}

/* v0.3.6 — explication de l'ordre du plan */
.nightastro-plan-reason {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.35;
    opacity: .76;
}

/* ================================================================
   v0.4.0 — identité visuelle NightAstro
   ================================================================ */

:root {
    --na-bg: #030712;
    --na-panel: #081322;
    --na-panel-2: #0c1b2e;
    --na-line: rgba(135, 174, 216, .15);
    --na-text: #f5f9ff;
    --na-muted: #8ea4bd;
    --na-blue: #4da3ff;
    --na-blue-2: #71c3ff;
    --na-green: #61d990;
}

body.nightastro-app-page {
    background:
        radial-gradient(circle at 18% 0%, rgba(48, 109, 185, .16), transparent 34rem),
        radial-gradient(circle at 92% 20%, rgba(54, 91, 180, .10), transparent 28rem),
        var(--na-bg);
    color: var(--na-text);
}
body.nightastro-app-page .site-header,
body.nightastro-app-page .main-navigation,
body.nightastro-app-page .site-footer,
body.nightastro-app-page .sidebar,
body.nightastro-app-page #right-sidebar,
body.nightastro-app-page #left-sidebar {
    display: none !important;
}
body.nightastro-app-page .site,
body.nightastro-app-page .site.grid-container,
body.nightastro-app-page .site-content,
body.nightastro-app-page .content-area,
body.nightastro-app-page .site-main,
body.nightastro-app-page article,
body.nightastro-app-page .inside-article,
body.nightastro-app-page .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.nightastro-app-page .entry-header { display: none !important; }
body.nightastro-app-page .container.grid-container { max-width: none !important; }

.nightastro-shell {
    width: min(1220px, calc(100% - 32px));
    margin: 0 auto;
    box-sizing: border-box;
}

.nightastro-app-nav {
    position: sticky;
    top: 0;
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 74px;
    padding: 12px 2px;
    background: rgba(3, 7, 18, .84);
    border-bottom: 1px solid rgba(128, 168, 215, .10);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.nightastro-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none !important;
}
.nightastro-brand-mark {
    display: grid;
    place-items: center;
    width: 39px;
    height: 39px;
    border: 1px solid rgba(97, 185, 255, .28);
    border-radius: 13px;
    background: linear-gradient(145deg, rgba(77, 163, 255, .22), rgba(95, 79, 227, .13));
    box-shadow: inset 0 0 22px rgba(77, 163, 255, .10), 0 8px 28px rgba(0,0,0,.20);
    color: #9bd3ff;
    font-size: 20px;
}
.nightastro-brand > span:last-child { display: grid; gap: 1px; }
.nightastro-brand strong { color: #fff; font-size: 17px; letter-spacing: .1px; }
.nightastro-brand small { color: #7088a4; font-size: 9px; font-weight: 500; }
.nightastro-app-links { display: flex; align-items: center; gap: 5px; margin-left: auto; }
.nightastro-app-links a {
    padding: 9px 11px;
    border-radius: 10px;
    color: #9bb0c8;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    transition: .18s ease;
}
.nightastro-app-links a:hover,
.nightastro-app-links a.is-active { background: rgba(77, 163, 255, .09); color: #eaf5ff; }
.nightastro-tools-menu {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.nightastro-tools-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 34px;
    margin: 0;
    padding: 9px 11px;
    border: 1px solid rgba(170, 147, 255, .30);
    border-radius: 10px;
    background: rgba(108, 78, 216, .18);
    color: #dcd4ff;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: inherit;
    cursor: pointer;
    box-shadow: inset 0 1px rgba(255, 255, 255, .04);
    transition: .18s ease;
}
.nightastro-tools-toggle:hover,
.nightastro-tools-toggle:focus-visible,
.nightastro-tools-toggle.is-active,
.nightastro-tools-menu.is-open .nightastro-tools-toggle {
    border-color: rgba(190, 173, 255, .48);
    background: rgba(108, 78, 216, .32);
    color: #fff;
}
.nightastro-tools-toggle:focus-visible {
    outline: 2px solid rgba(113, 195, 255, .62);
    outline-offset: 2px;
}
.nightastro-tools-chevron {
    display: inline-block;
    font-size: 10px;
    transition: transform .18s ease;
}
.nightastro-tools-menu.is-open .nightastro-tools-chevron { transform: rotate(180deg); }
.nightastro-tools-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 130;
    display: grid;
    min-width: 205px;
    padding: 7px;
    border: 1px solid rgba(128, 168, 215, .20);
    border-radius: 13px;
    background: rgba(7, 15, 29, .98);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .38);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.nightastro-tools-dropdown[hidden] { display: none !important; }
.nightastro-app-links .nightastro-tools-dropdown a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 9px;
    color: #adbed1;
    font-size: 12px;
    white-space: nowrap;
}
.nightastro-tools-item-badge {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 17px;
    padding: 2px 6px;
    border: 1px solid rgba(170, 147, 255, .30);
    border-radius: 999px;
    background: rgba(108, 78, 216, .25);
    color: #dcd4ff;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .01em;
}
.nightastro-app-links .nightastro-tools-dropdown a:hover,
.nightastro-app-links .nightastro-tools-dropdown a:focus-visible,
.nightastro-app-links .nightastro-tools-dropdown a.is-current {
    background: rgba(77, 163, 255, .12);
    color: #f1f8ff;
    outline: none;
}
.nightastro-nav-new-badge {
    display:inline-flex;
    align-items:center;
    min-height:17px;
    padding:2px 6px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(73,73,184,.88);
    color:#f0efff;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:.02em;
}
.nightastro-app-links .nightastro-nav-cta {
    margin-left: 5px;
    border: 1px solid rgba(77, 163, 255, .35);
    background: linear-gradient(180deg, rgba(77, 163, 255, .18), rgba(77, 163, 255, .08));
    color: #cce8ff;
}

/* Accueil */
.nightastro-home { padding-bottom: 26px; }
.nightastro-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 42px;
    align-items: center;
    min-height: 610px;
    padding: 72px 34px 58px;
    overflow: hidden;
}
.nightastro-hero::before {
    content: '';
    position: absolute;
    inset: 6% 0 auto;
    height: 430px;
    pointer-events: none;
    background:
        radial-gradient(circle at 24% 35%, rgba(88, 164, 255, .13), transparent 36%),
        radial-gradient(circle at 80% 30%, rgba(104, 76, 221, .14), transparent 30%);
    filter: blur(5px);
}
.nightastro-hero-copy { position: relative; z-index: 2; max-width: 760px; }
.nightastro-home .nightastro-kicker,
.nightastro-tool-shell .nightastro-kicker,
.nightastro-target-shell .nightastro-kicker {
    color: #6fbaff;
    font-weight: 800;
    letter-spacing: 2.2px;
}
.nightastro-hero h1 {
    max-width: 820px;
    margin: 10px 0 18px;
    color: #fff;
    font-size: clamp(42px, 6vw, 76px);
    line-height: .98;
    letter-spacing: -2.6px;
}
.nightastro-hero > .nightastro-hero-copy > p {
    max-width: 680px;
    margin: 0;
    color: #9eb1c7;
    font-size: clamp(16px, 2vw, 19px);
    line-height: 1.65;
}
.nightastro-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.nightastro-home-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 14px;
}
.nightastro-moon-proof,
.nightastro-visitor-proof {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 10px;
    border: 1px solid rgba(111, 186, 255, .12);
    border-radius: 999px;
    background: rgba(8, 24, 43, .34);
    color: #7f97b2;
    font-size: 11px;
    line-height: 1.2;
}
.nightastro-moon-proof-text strong,
.nightastro-visitor-proof strong {
    color: #b9dcff;
    font-weight: 800;
}
.nightastro-moon-proof-icon,
.nightastro-visitor-proof-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    line-height: 1;
    opacity: .95;
}
.nightastro-moon-proof-icon svg {
    display: block;
    width: 18px;
    height: 18px;
}
.nightastro-primary-action,
.nightastro-secondary-action,
.nightastro-video-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 47px;
    padding: 0 19px;
    border-radius: 13px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
}
.nightastro-primary-action {
    background: linear-gradient(135deg, #3c91ef, #56b7ff);
    box-shadow: 0 10px 30px rgba(36, 132, 231, .22);
    color: #fff !important;
}
.nightastro-secondary-action {
    border: 1px solid rgba(138, 177, 220, .22);
    background: rgba(11, 27, 46, .62);
    color: #c5d9ee !important;
}
.nightastro-video-action {
    gap: 8px;
    border: 1px solid #ff3355;
    background: #ff0033;
    box-shadow: 0 10px 28px rgba(255, 0, 51, .20);
    color: #fff !important;
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.nightastro-video-action:hover {
    transform: translateY(-1px);
    background: #e6002e;
    box-shadow: 0 12px 32px rgba(255, 0, 51, .28);
}
.nightastro-video-action-icon {
    display: inline-grid;
    place-items: center;
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .17);
    color: #fff;
    font-size: 8px;
    line-height: 1;
}
.nightastro-home-search-wrap { max-width: 610px; margin-top: 30px; }
.nightastro-home-search label { display: block; margin: 0 0 7px 2px; color: #718ba6; font-size: 10px; font-weight: 700; }
.nightastro-home-search > div {
    display: grid;
    grid-template-columns: 1fr auto;
    padding: 5px;
    border: 1px solid rgba(126, 172, 220, .20);
    border-radius: 15px;
    background: rgba(7, 18, 32, .72);
    box-shadow: inset 0 1px rgba(255,255,255,.02);
}
.nightastro-home-search input {
    min-width: 0;
    border: 0;
    outline: 0;
    padding: 10px 12px;
    background: transparent;
    color: #fff;
    font-size: 13px;
}
.nightastro-home-search input::placeholder { color: #58718b; }
.nightastro-home-search button {
    border: 0;
    border-radius: 10px;
    padding: 0 15px;
    background: #102b48;
    color: #b8dcff;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.nightastro-hero-orbit { position: relative; width: 330px; height: 330px; margin: auto; }
.nightastro-orbit {
    position: absolute;
    left: 50%; top: 50%;
    border: 1px solid rgba(110, 169, 225, .19);
    border-radius: 50%;
    transform: translate(-50%, -50%) rotate(-17deg);
}
.nightastro-orbit-a { width: 276px; height: 164px; }
.nightastro-orbit-b { width: 208px; height: 294px; transform: translate(-50%, -50%) rotate(34deg); }
.nightastro-orbit-core {
    position: absolute;
    left: 50%; top: 50%;
    display: grid;
    place-items: center;
    width: 76px; height: 76px;
    border: 1px solid rgba(103, 186, 255, .42);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(79, 171, 255, .28), rgba(24, 66, 112, .10) 58%, transparent 70%);
    box-shadow: 0 0 65px rgba(54, 147, 236, .18);
    color: #bbdeff;
    font-size: 35px;
}
.nightastro-orbit-dot { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #87caff; box-shadow: 0 0 14px #5ab1ff; }
.nightastro-orbit-dot.dot-a { left: 50px; top: 108px; }
.nightastro-orbit-dot.dot-b { right: 55px; top: 196px; width: 5px; height: 5px; }
.nightastro-orbit-dot.dot-c { left: 166px; top: 24px; width: 4px; height: 4px; }

.nightastro-home-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid var(--na-line);
    border-radius: 20px;
    overflow: hidden;
    background: rgba(8, 20, 34, .55);
}
.nightastro-home-stats > div { display: grid; gap: 3px; padding: 21px 25px; border-right: 1px solid var(--na-line); }
.nightastro-home-stats > div:last-child { border-right: 0; }
.nightastro-home-stats strong { color: #f4f9ff; font-size: 26px; }
.nightastro-home-stats span { color: #738ba5; font-size: 10px; }

.nightastro-home-section { padding: 76px 0 34px; }
.nightastro-section-heading { max-width: 650px; margin-bottom: 26px; }
.nightastro-section-heading h2,
.nightastro-home-highlight h2 { margin: 6px 0 9px; color: #fff; font-size: clamp(28px, 4vw, 42px); line-height: 1.08; letter-spacing: -.8px; }
.nightastro-section-heading p,
.nightastro-home-highlight p { margin: 0; color: #8ca1b9; font-size: 13px; line-height: 1.65; }
.nightastro-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.nightastro-feature-card {
    min-height: 240px;
    padding: 23px;
    border: 1px solid var(--na-line);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(12, 30, 51, .82), rgba(7, 18, 31, .74));
    color: inherit;
    text-decoration: none !important;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.nightastro-feature-card:hover { transform: translateY(-3px); border-color: rgba(79, 166, 255, .31); background: linear-gradient(145deg, rgba(15, 38, 64, .92), rgba(8, 22, 38, .86)); }
.nightastro-feature-icon {
    display: grid;
    place-items: center;
    width: 41px; height: 41px;
    border-radius: 12px;
    background: rgba(77, 163, 255, .10);
    color: #8bc9ff;
    font-size: 23px;
}
.nightastro-feature-card h3 { margin: 28px 0 8px; color: #f5f9ff; font-size: 18px; }
.nightastro-feature-card p { margin: 0; color: #8198b1; font-size: 12px; line-height: 1.6; }
.nightastro-feature-card em { display: block; margin-top: 20px; color: #71baff; font-size: 11px; font-style: normal; font-weight: 800; }
.nightastro-feature-card--plan {
    overflow: hidden;
}
.nightastro-feature-preview {
    margin: 16px 0 0;
    overflow: hidden;
    border: 1px solid rgba(111, 166, 255, .14);
    border-radius: 14px;
    background: rgba(6, 17, 31, .64);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .16);
}
.nightastro-feature-preview img {
    display: block;
    width: 100%;
    height: auto;
}

.nightastro-home-highlight {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 460px);
    gap: 34px;
    align-items: center;
    margin: 48px 0 72px;
    padding: 34px;
    border: 1px solid rgba(96, 198, 143, .16);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(9, 35, 34, .46), rgba(7, 20, 35, .68));
}
.nightastro-home-highlight-copy {
    min-width: 0;
}
.nightastro-home-horizon-preview {
    width: min(100%, 460px);
    margin: 0 0 0 auto;
    overflow: hidden;
    border: 1px solid rgba(111, 166, 255, .18);
    border-radius: 20px;
    background: rgba(6, 17, 31, .72);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .20);
}
.nightastro-home-horizon-preview img {
    display: block;
    width: 100%;
    height: auto;
}

.nightastro-app-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 70px;
    border-top: 1px solid rgba(128, 168, 215, .10);
    color: #536c86;
    font-size: 10px;
}
.nightastro-app-footer strong { color: #819bb5; font-size: 11px; }

/* Outil Ce soir et fiches dans le nouvel habillage */
.nightastro-tool-shell,
.nightastro-target-shell { padding-bottom: 24px; }
.nightastro-tool-shell .nightastro-tonight,
.nightastro-target-shell .nightastro-tonight {
    max-width: 980px;
    margin: 34px auto 42px;
    border: 1px solid rgba(129, 171, 216, .12);
    background: linear-gradient(180deg, rgba(7, 17, 31, .93), rgba(5, 14, 25, .94));
    box-shadow: 0 30px 80px rgba(0, 0, 0, .26);
}
.nightastro-tool-shell .nightastro-header { margin: 10px 0 24px; }
.nightastro-tool-shell .nightastro-header h2 { letter-spacing: -1.2px; }
.nightastro-tool-shell .nightastro-locate,
.nightastro-target-shell .nightastro-locate {
    background: linear-gradient(135deg, #3f92ee, #54b7ff);
    box-shadow: 0 8px 28px rgba(38, 135, 232, .18);
}
.nightastro-target-search,
.nightastro-horizon,
.nightastro-direction,
.nightastro-session-controls,
.nightastro-instrument {
    box-shadow: inset 0 1px rgba(255,255,255,.012);
}
.nightastro-card,
.nightastro-target-detail-card,
.nightastro-single-live-panel {
    box-shadow: 0 10px 34px rgba(0,0,0,.12);
}

@media (max-width: 900px) {
    .nightastro-shell { width: min(100% - 22px, 1220px); }
    .nightastro-hero { grid-template-columns: 1fr; min-height: 0; padding: 62px 12px 42px; }
    .nightastro-hero-orbit { display: none; }
    .nightastro-hero-copy { max-width: 780px; }
    .nightastro-feature-grid { grid-template-columns: 1fr; }
    .nightastro-feature-card { min-height: 0; }
    .nightastro-home-highlight { grid-template-columns: 1fr; }
    .nightastro-home-horizon-preview { width: 100%; max-width: 520px; margin: 0 auto; }
}

@media (max-width: 720px) {
    .nightastro-app-nav { position: relative; align-items: flex-start; flex-direction: column; gap: 10px; padding: 13px 0 10px; }
    .nightastro-app-links { width: 100%; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
    .nightastro-app-links::-webkit-scrollbar { display: none; }
    .nightastro-app-links a { white-space: nowrap; padding: 8px 9px; font-size: 11px; }
    .nightastro-tools-toggle { min-height: 32px; padding: 8px 9px; font-size: 11px; white-space: nowrap; }
    .nightastro-app-links.is-tools-open {
        display: block;
        overflow: visible;
        padding-bottom: 0;
    }
    .nightastro-app-links.is-tools-open > :not(.nightastro-tools-menu) { display: none !important; }
    .nightastro-app-links.is-tools-open .nightastro-tools-menu { display: block; width: 100%; }
    .nightastro-app-links.is-tools-open .nightastro-tools-toggle {
        width: 100%;
        justify-content: flex-start;
    }
    .nightastro-app-links.is-tools-open .nightastro-tools-chevron { margin-left: auto; }
    .nightastro-app-links.is-tools-open .nightastro-tools-dropdown {
        position: static;
        width: 100%;
        min-width: 0;
        margin-top: 5px;
        box-sizing: border-box;
    }
    .nightastro-app-links.is-tools-open .nightastro-tools-dropdown a {
        padding: 11px 12px;
        white-space: normal;
    }
    .nightastro-nav-new-badge { min-height:15px; padding:2px 5px; font-size:9px; }
    .nightastro-brand small { display: none; }
    .nightastro-hero h1 { font-size: clamp(39px, 13vw, 58px); letter-spacing: -1.8px; }
    .nightastro-home-stats { grid-template-columns: 1fr; }
    .nightastro-home-stats > div { border-right: 0; border-bottom: 1px solid var(--na-line); }
    .nightastro-home-stats > div:last-child { border-bottom: 0; }
    .nightastro-home-section { padding-top: 54px; }
    .nightastro-home-highlight { padding: 24px 18px; }
    .nightastro-home-horizon-preview { border-radius: 16px; }
    .nightastro-home-search > div { grid-template-columns: 1fr; }
    .nightastro-home-search button { min-height: 40px; }
    .nightastro-tool-shell .nightastro-tonight,
    .nightastro-target-shell .nightastro-tonight { margin-top: 18px; }
}


/* ================================================================
   v0.4.1 — finitions mobile iPhone / petits écrans
   Objectif : conserver l'identité v0.4.0 tout en réduisant le scroll,
   améliorer l'accès aux actions et éviter la barre Safari au bas.
   ================================================================ */

@media (max-width: 560px) {
    /* Accueil : titre un peu moins envahissant et actions plus faciles au doigt. */
    .nightastro-hero {
        padding: 46px 10px 34px;
    }
    .nightastro-hero h1 {
        font-size: clamp(34px, 10.8vw, 47px);
        line-height: 1.01;
        letter-spacing: -1.45px;
    }
    .nightastro-hero > .nightastro-hero-copy > p {
        font-size: 15px;
        line-height: 1.58;
    }
    .nightastro-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
        margin-top: 22px;
    }
    .nightastro-primary-action,
    .nightastro-secondary-action,
    .nightastro-video-action {
        width: 100%;
        min-height: 50px;
        box-sizing: border-box;
    }
    .nightastro-home-search-wrap {
        margin-top: 24px;
    }

    /* Ce soir : même lisibilité avec moins d'espace perdu verticalement. */
    .nightastro-tool-shell .nightastro-tonight {
        margin-top: 12px;
        margin-bottom: 26px;
        padding: 12px;
    }
    .nightastro-tool-shell .nightastro-header {
        margin: 4px 0 16px;
    }
    .nightastro-tool-shell .nightastro-header h2 {
        font-size: clamp(27px, 8.5vw, 34px);
    }
    .nightastro-tool-shell .nightastro-header p {
        line-height: 1.45;
    }
    .nightastro-tool-shell .nightastro-locate {
        margin: 14px auto 8px;
    }
    .nightastro-tool-shell .nightastro-instrument,
    .nightastro-tool-shell .nightastro-target-search,
    .nightastro-tool-shell .nightastro-horizon,
    .nightastro-tool-shell .nightastro-direction,
    .nightastro-tool-shell .nightastro-session-controls {
        margin-top: 10px;
        margin-bottom: 6px;
    }
    .nightastro-instrument-help,
    .nightastro-control-help,
    .nightastro-direction-help,
    .nightastro-horizon-help {
        line-height: 1.35;
    }

    /* Fiche cible : garder la photo forte mais faire arriver les infos plus vite. */
    .nightastro-single-target .nightastro-target-detail-image {
        height: 220px;
        min-height: 0;
    }
    .nightastro-single-target .nightastro-target-detail-body {
        padding: 15px;
    }
    .nightastro-single-target .nightastro-target-description {
        margin: 10px 0;
    }
    .nightastro-single-target .nightastro-target-facts {
        gap: 6px;
    }
    .nightastro-single-target .nightastro-target-facts > div {
        padding: 8px;
    }
    .nightastro-single-target .nightastro-target-facts > div:nth-child(6),
    .nightastro-single-target .nightastro-target-facts > div:nth-child(7) {
        opacity: .82;
    }

    /* Plan : 2 colonnes lisibles, puis « Toute la nuit » sur toute la largeur. */
    .nightastro-duration-buttons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .nightastro-duration-buttons .nightastro-duration-btn[data-duration="all"] {
        grid-column: 1 / -1;
    }
    .nightastro-type-buttons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .nightastro-quality-buttons {
        grid-template-columns: 1fr;
    }
    .nightastro-type-buttons .nightastro-type-btn[data-target-type="planetary_nebula"] {
        grid-column: 1 / -1;
    }
    .nightastro-control-block {
        padding: 11px;
    }
    .nightastro-session-controls {
        gap: 9px;
    }

    /* Safari iOS : permettre de faire défiler le dernier bouton au-dessus de la barre. */
    body.nightastro-app-page {
        scroll-padding-bottom: calc(110px + env(safe-area-inset-bottom));
    }
    .nightastro-home,
    .nightastro-tool-shell,
    .nightastro-target-shell {
        padding-bottom: calc(110px + env(safe-area-inset-bottom));
    }
    .nightastro-app-footer {
        margin-bottom: env(safe-area-inset-bottom);
    }
}

@media (max-width: 390px) {
    .nightastro-shell {
        width: min(100% - 16px, 1220px);
    }
    .nightastro-app-links a {
        padding-left: 8px;
        padding-right: 8px;
        font-size: 10.5px;
    }
    .nightastro-card-body {
        padding: 14px;
    }
}

/* ================================================================
   v0.4.6 — contact NightAstro stabilisé sur contact@nightastro.fr
   ================================================================ */
.nightastro-app-footer {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    justify-content: stretch;
    gap: 28px;
    min-height: 0;
    padding: 26px 4px 22px;
    border-top: 1px solid rgba(128, 168, 215, .10);
    color: #536c86;
    font-size: 11px;
    line-height: 1.5;
}
.nightastro-footer-brand {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 190px;
}
.nightastro-footer-brand strong {
    color: #a9bdd1;
    font-size: 13px;
    letter-spacing: .01em;
}
.nightastro-footer-brand span {
    color: #607993;
    font-size: 10px;
}
.nightastro-footer-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    text-align: right;
}
.nightastro-footer-copyright { color: #718aa2; }
.nightastro-footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px 14px;
}
.nightastro-footer-links a {
    color: #8fa7bc;
    text-decoration: none;
}
.nightastro-footer-links a:hover { color: #c2d5e5; }
.nightastro-footer-note {
    max-width: 720px;
    color: #4e657c;
    font-size: 9.5px;
}

.nightastro-static-shell { padding-bottom: 24px; }
.nightastro-static-page {
    max-width: 920px;
    margin: 34px auto 44px;
    padding: 42px 44px;
    border: 1px solid rgba(129, 171, 216, .12);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(7, 17, 31, .95), rgba(5, 14, 25, .95));
    box-shadow: 0 30px 80px rgba(0, 0, 0, .26);
}
.nightastro-static-page > h1 {
    margin: 6px 0 28px;
    color: #f2f7fb;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1.02;
    letter-spacing: -1.5px;
}
.nightastro-static-content {
    color: #a5b7c7;
    font-size: 15px;
    line-height: 1.72;
}
.nightastro-static-content section {
    padding: 22px 0;
    border-top: 1px solid rgba(129, 171, 216, .10);
}
.nightastro-static-content section:first-child {
    padding-top: 0;
    border-top: 0;
}
.nightastro-static-content h2 {
    margin: 0 0 10px;
    color: #e3edf5;
    font-size: 20px;
    letter-spacing: -.2px;
}
.nightastro-static-content p { margin: 0 0 12px; }
.nightastro-static-content p:last-child { margin-bottom: 0; }
.nightastro-static-content a {
    color: #72c7ff;
    text-decoration: none;
}
.nightastro-static-content a:hover { text-decoration: underline; }
.nightastro-about-lead {
    padding: 18px 20px !important;
    border: 1px solid rgba(76, 183, 132, .18) !important;
    border-radius: 14px;
    background: rgba(42, 128, 86, .07);
}
.nightastro-about-lead p {
    color: #c7d6e2;
    font-size: 17px;
    line-height: 1.65;
}
.nightastro-credit-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0 28px;
}
.nightastro-credit-item {
    padding: 16px;
    border: 1px solid rgba(129, 171, 216, .11);
    border-radius: 12px;
    background: rgba(255,255,255,.018);
}
.nightastro-credit-item h2 {
    margin-bottom: 8px;
    font-size: 15px;
}
.nightastro-credit-item p {
    color: #7f94a8;
    font-size: 12px;
    line-height: 1.45;
}

@media (max-width: 720px) {
    .nightastro-app-footer {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 22px 2px 18px;
    }
    .nightastro-footer-meta {
        align-items: flex-start;
        text-align: left;
    }
    .nightastro-footer-links { justify-content: flex-start; }
    .nightastro-static-page {
        margin: 18px auto 28px;
        padding: 26px 18px;
        border-radius: 16px;
    }
    .nightastro-static-page > h1 {
        margin-bottom: 20px;
        font-size: clamp(31px, 10vw, 44px);
    }
    .nightastro-static-content { font-size: 14px; }
    .nightastro-credit-list { grid-template-columns: 1fr; }
}

/* NightAstro v0.4.7 — Contact */
.nightastro-contact-intro {
    padding: 18px 20px !important;
    border: 1px solid rgba(76, 183, 132, .18) !important;
    border-radius: 14px;
    background: rgba(42, 128, 86, .07);
}
.nightastro-contact-form {
    display: grid;
    gap: 18px;
    margin-top: 10px;
}
.nightastro-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.nightastro-contact-form label {
    display: grid;
    gap: 7px;
    color: #c3d2de;
    font-size: 13px;
    font-weight: 650;
}
.nightastro-contact-form input[type="text"],
.nightastro-contact-form input[type="email"],
.nightastro-contact-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(129, 171, 216, .18);
    border-radius: 12px;
    background: rgba(2, 10, 19, .72);
    color: #edf5fb;
    font: inherit;
    font-weight: 500;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.nightastro-contact-form input[type="text"],
.nightastro-contact-form input[type="email"] {
    min-height: 46px;
    padding: 0 13px;
}
.nightastro-contact-form textarea {
    min-height: 180px;
    padding: 12px 13px;
    resize: vertical;
    line-height: 1.55;
}
.nightastro-contact-form input:focus,
.nightastro-contact-form textarea:focus {
    border-color: rgba(91, 196, 255, .7);
    background: rgba(4, 15, 27, .88);
    box-shadow: 0 0 0 3px rgba(61, 162, 219, .10);
}
.nightastro-contact-consent {
    grid-template-columns: auto 1fr !important;
    align-items: start;
    gap: 10px !important;
    color: #869bad !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.5;
}
.nightastro-contact-consent input {
    margin: 3px 0 0;
}
.nightastro-contact-submit {
    justify-self: start;
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid rgba(91, 196, 255, .26);
    border-radius: 12px;
    background: linear-gradient(135deg, #2d9de3, #3eb67d);
    color: #fff;
    font-size: 14px;
    font-weight: 750;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(24, 110, 161, .18);
}
.nightastro-contact-submit:hover { filter: brightness(1.07); }
.nightastro-contact-alert {
    display: grid;
    gap: 4px;
    margin: 0 0 20px;
    padding: 14px 16px;
    border-radius: 12px;
    font-size: 13px;
}
.nightastro-contact-alert.is-success {
    border: 1px solid rgba(63, 190, 120, .28);
    background: rgba(38, 138, 84, .10);
    color: #b9e7cb;
}
.nightastro-contact-alert.is-error {
    border: 1px solid rgba(232, 92, 92, .28);
    background: rgba(165, 49, 49, .10);
    color: #f0c0c0;
}
.nightastro-contact-alert ul { margin: 5px 0 0 18px; }
.nightastro-contact-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 720px) {
    .nightastro-contact-grid { grid-template-columns: 1fr; }
    .nightastro-contact-submit {
        width: 100%;
        justify-self: stretch;
    }
    .nightastro-contact-form textarea { min-height: 160px; }
}


/* v0.5.0 — FR / EN */
.nightastro-lang-switch{display:inline-flex;align-items:center;gap:5px;margin-left:4px;padding:5px 8px;border:1px solid rgba(111,166,255,.22);border-radius:999px;font-size:12px;line-height:1;background:rgba(7,20,39,.58)}
.nightastro-lang-switch a{padding:4px 5px!important;border:0!important;background:transparent!important;color:#8094b4!important;font-weight:800;letter-spacing:.04em}
.nightastro-lang-switch a.is-active{color:#fff!important}
.nightastro-lang-switch span{color:#486180}
@media(max-width:760px){.nightastro-lang-switch{order:10;margin:4px auto 0}.nightastro-app-links{flex-wrap:wrap;justify-content:center}}

/* -------------------------------------------------------------------------
 * NightAstro v0.5.6 — Nouveautés / What's new
 * ------------------------------------------------------------------------- */
.nightastro-updates-intro,
.nightastro-updates-note {
    padding: 18px 20px;
    border: 1px solid rgba(91, 164, 255, .18);
    border-radius: 16px;
    background: rgba(10, 28, 55, .58);
}
.nightastro-updates-list { display: grid; gap: 16px; margin: 22px 0; }
.nightastro-update-card {
    padding: 20px;
    border: 1px solid rgba(91, 164, 255, .16);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(10, 25, 50, .88), rgba(5, 17, 35, .88));
}
.nightastro-update-card.is-latest {
    border-color: rgba(51, 180, 255, .48);
    box-shadow: 0 14px 42px rgba(0, 92, 184, .12);
}
.nightastro-update-card-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 13px;
}
.nightastro-update-card-head h2 { margin: 8px 0 0; font-size: 20px; }
.nightastro-update-card-head time { color: #8294ae; font-size: 12px; white-space: nowrap; }
.nightastro-update-version,
.nightastro-update-latest {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0 9px;
    margin-right: 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .03em;
}
.nightastro-update-version { background: rgba(43, 133, 255, .14); color: #78bbff; }
.nightastro-update-latest { background: rgba(72, 218, 176, .12); color: #76e4bd; }
.nightastro-update-card ul { margin: 0; padding-left: 21px; color: #b9c7da; }
.nightastro-update-card li + li { margin-top: 7px; }

@media (max-width: 680px) {
    .nightastro-update-card-head { display: block; }
    .nightastro-update-card-head time { display: block; margin-top: 7px; }
}


/* ================================================================
   v0.5.9 — profil d'horizon personnel par direction et hauteur
   ================================================================ */
.nightastro-horizon-alt,
.nightastro-horizon-max {
    width: 100%;
    min-width: 0;
    height: 34px;
    border: 1px solid rgba(159, 185, 216, .16);
    border-radius: 9px;
    padding: 0 6px;
    background: #0a1626;
    color: #c8d7e6;
    font-size: 11px;
    font-weight: 700;
    outline: none;
}
.nightastro-horizon-alt:focus,
.nightastro-horizon-max:focus {
    border-color: rgba(84, 183, 255, .72);
    box-shadow: 0 0 0 2px rgba(84, 183, 255, .10);
}
.nightastro-horizon-alt:disabled,
.nightastro-horizon-alt.is-disabled,
.nightastro-horizon-max:disabled,
.nightastro-horizon-max.is-disabled {
    opacity: .42;
    cursor: not-allowed;
}
.nightastro-horizon-sector .nightastro-horizon-btn {
    width: 42px;
    min-height: 73px;
    padding: 7px 4px;
}
@media (max-width: 560px) {
    .nightastro-horizon-buttons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .nightastro-horizon-sector {
        grid-template-columns: 42px minmax(0, 1fr);
    }
}

/* -------------------------------------------------------------------------
 * NightAstro v0.7.4 — méta accueil : Lune + compteur de sessions
 * ------------------------------------------------------------------------- */
@media (max-width: 720px) {
    .nightastro-home-meta {
        gap: 8px;
        margin-top: 12px;
    }
    .nightastro-moon-proof,
    .nightastro-visitor-proof {
        font-size: 10.5px;
    }
}

/* -------------------------------------------------------------------------
 * NightAstro v0.6.5 — visuels accueil et partage
 * ------------------------------------------------------------------------- */
.nightastro-home-preview {
    width: min(84%, 711px);
    margin: 26px auto 0;
    overflow: hidden;
    border: 1px solid rgba(111, 166, 255, .18);
    border-radius: 20px;
    background: rgba(6, 17, 31, .72);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .20);
}
.nightastro-home-preview img {
    display: block;
    width: 100%;
    height: auto;
}
.nightastro-supported-instruments {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 9px;
    align-items: baseline;
    margin: 12px 2px 0;
    padding: 0 10px;
    color: #7089a4;
    font-size: 10.5px;
    line-height: 1.55;
}
.nightastro-supported-instruments strong {
    color: #93b5d7;
    font-weight: 800;
}
.nightastro-supported-instruments span {
    color: #7f97b0;
}
.nightastro-native-planning-home {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 14px 2px 0;
    padding: 12px 14px;
    border: 1px solid rgba(72, 218, 176, .16);
    border-radius: 14px;
    background: rgba(20, 72, 65, .16);
}
.nightastro-native-planning-home > span {
    display: grid;
    place-items: center;
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    border-radius: 8px;
    background: rgba(72, 218, 176, .10);
    color: #75dfbd;
    font-size: 14px;
    font-weight: 900;
}
.nightastro-native-planning-home p {
    margin: 1px 0 0;
    color: #8fb7ae;
    font-size: 11px;
    line-height: 1.55;
}

@media (max-width: 760px) {
    .nightastro-home-preview {
        width: 100%;
        margin-top: 20px;
        border-radius: 16px;
    }
    .nightastro-supported-instruments {
        padding: 0 4px;
        font-size: 10px;
    }
    .nightastro-native-planning-home {
        margin-top: 12px;
        padding: 11px 12px;
    }
}

/* NightAstro v0.6.8 — commentaires du plan selon la hauteur réelle */
.nightastro-feedback-cta {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin: 16px 0 2px;
    padding: 12px 14px;
    border: 1px solid rgba(109, 180, 255, .24);
    border-radius: 13px;
    background: rgba(16, 38, 61, .84);
    color: #edf1f4;
    font-size: 12.5px;
    line-height: 1.45;
    text-align: left;
}
.nightastro-feedback-cta[hidden] { display: none !important; }
.nightastro-feedback-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    border-radius: 7px;
    background: rgba(109, 180, 255, .10);
    color: #a9d3ff;
    font-size: 14px;
    line-height: 1;
}
.nightastro-feedback-copy {
    flex: 1 1 auto;
    min-width: 0;
}
.nightastro-feedback-cta a {
    margin-left: 3px;
    color: #8bc7ff;
    font-weight: 750;
    text-decoration: none;
}
.nightastro-feedback-cta a:hover { text-decoration: underline; }

.nightastro-target-report-link {
    display: block;
    width: fit-content;
    margin-top: 10px;
    color: #8fa4bd;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}
.nightastro-target-report-link:hover {
    color: #6db4ff;
    text-decoration: underline;
}

.nightastro-contact-context,
.nightastro-contact-target-context {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 10px 0 0;
    padding: 11px 13px;
    border: 1px solid rgba(91, 196, 255, .16);
    border-radius: 11px;
    background: rgba(8, 25, 43, .58);
    color: #aebfd0;
    font-size: 12.5px;
    line-height: 1.45;
}
.nightastro-contact-context strong,
.nightastro-contact-target-context strong { color: #dceaf5; }
.nightastro-contact-target-context {
    margin-top: 7px;
    border-color: rgba(76, 183, 132, .16);
    background: rgba(34, 106, 73, .08);
}

@media (max-width: 680px) {
    .nightastro-feedback-cta {
        align-items: flex-start;
        justify-content: flex-start;
        text-align: left;
    }
    .nightastro-feedback-icon {
        margin-top: 1px;
    }
}


/* NightAstro v0.7.0 — accueil horizon et directions visibles */
.nightastro-horizon-alt.is-blocked,
.nightastro-horizon-max.is-blocked {
    border-color: rgba(248, 113, 113, 0.55);
}

/* NightAstro v0.7.9 — bornes min/max par secteur */
@media (max-width: 420px) {
    .nightastro-horizon-limit {
        grid-template-columns: 25px minmax(0, 1fr);
        gap: 4px;
    }
    .nightastro-horizon-limit > span {
        font-size: 8.5px;
    }
}

@media (max-width: 720px) {
    .nightastro-horizon-buttons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 420px) {
    .nightastro-horizon-buttons {
        grid-template-columns: 1fr;
    }
}

/* -------------------------------------------------------------------------
 * NightAstro v0.7.15 — bouton vidéo principal + lien discret À propos
 * ------------------------------------------------------------------------- */
.nightastro-video-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    padding: 6px 11px;
    border: 1px solid rgba(255, 104, 104, .18);
    border-radius: 999px;
    background: rgba(69, 22, 29, .14);
    color: #d7e9fb !important;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.nightastro-video-link:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 116, 116, .34);
    background: rgba(86, 27, 36, .24);
}
.nightastro-video-link-icon {
    display: inline-grid;
    place-items: center;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    border-radius: 50%;
    background: rgba(255, 84, 84, .14);
    color: #ff9a9a;
    font-size: 9px;
    line-height: 1;
}
.nightastro-about-video {
    margin-top: 14px !important;
}
.nightastro-video-link--about {
    opacity: .9;
}
@media (max-width: 760px) {
    .nightastro-video-link {
        max-width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* -------------------------------------------------------------------------
 * NightAstro v0.7.16 — installation PWA légère
 * ------------------------------------------------------------------------- */
.nightastro-pwa-install {
    position: fixed;
    z-index: 9998;
    right: 18px;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    width: min(430px, calc(100vw - 28px));
    padding: 12px 12px 12px 13px;
    border: 1px solid rgba(111, 186, 255, .28);
    border-radius: 16px;
    background: rgba(5, 16, 30, .96);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .38);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    color: #eef7ff;
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
}
.nightastro-pwa-install.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.nightastro-pwa-install__icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(111, 186, 255, .22);
    border-radius: 11px;
    background: linear-gradient(145deg, rgba(77, 163, 255, .22), rgba(95, 79, 227, .14));
    color: #9bd3ff;
    font-size: 20px;
    line-height: 1;
}
.nightastro-pwa-install__copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.nightastro-pwa-install__copy strong {
    color: #f4f9ff;
    font-size: 12.5px;
    line-height: 1.2;
}
.nightastro-pwa-install__copy span {
    color: #9bb1c9;
    font-size: 11px;
    line-height: 1.35;
}
.nightastro-pwa-install__button {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(111, 186, 255, .35);
    border-radius: 10px;
    background: linear-gradient(135deg, #3c91ef, #56b7ff);
    color: #fff;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}
.nightastro-pwa-install__close {
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    padding: 0;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #7790aa;
    font: inherit;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.nightastro-pwa-install__dismiss {
    width: auto;
    min-width: 0;
    padding: 0 8px;
    color: #8da4bd;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}
.nightastro-pwa-install__close:hover {
    background: rgba(255,255,255,.05);
    color: #dcecff;
}
.nightastro-pwa-install--ios {
    grid-template-columns: auto minmax(0, 1fr) auto;
}
@media (max-width: 560px) {
    .nightastro-pwa-install {
        right: 14px;
        left: 14px;
        bottom: calc(14px + env(safe-area-inset-bottom, 0px));
        width: auto;
        grid-template-columns: auto minmax(0, 1fr) auto;
    }
    .nightastro-pwa-install--android .nightastro-pwa-install__button {
        grid-column: 2;
        justify-self: start;
        margin-top: 3px;
    }
    .nightastro-pwa-install--android .nightastro-pwa-install__close {
        grid-column: 3;
        grid-row: 1;
        align-self: start;
    }
    .nightastro-pwa-install--android .nightastro-pwa-install__dismiss {
        max-width: 92px;
        white-space: normal;
        text-align: right;
        line-height: 1.15;
    }
}


/* NightAstro v0.7.19 — pages SEO par instrument */
.nightastro-supported-instruments a {
    color: #9bc7ef;
    text-decoration: none;
    border-bottom: 1px solid rgba(155, 199, 239, .20);
}
.nightastro-supported-instruments a:hover {
    color: #c6e4ff;
    border-bottom-color: rgba(198, 228, 255, .55);
}
.nightastro-instrument-guide .nightastro-instrument-guide-lead {
    padding: 20px 22px !important;
    border: 1px solid rgba(76, 183, 132, .16) !important;
    border-radius: 15px;
    background: linear-gradient(135deg, rgba(42, 128, 86, .08), rgba(46, 122, 183, .06));
}
.nightastro-instrument-guide .nightastro-instrument-guide-lead p {
    color: #c7d7e4;
    font-size: 16px;
}
.nightastro-instrument-guide-cta {
    padding-top: 26px !important;
    text-align: left;
}
.nightastro-instrument-guide-button {
    max-width: 100%;
    min-height: 50px;
    padding: 0 22px;
    line-height: 1.3;
    text-align: center;
}
@media (max-width: 620px) {
    .nightastro-instrument-guide .nightastro-instrument-guide-lead {
        padding: 17px 16px !important;
    }
    .nightastro-instrument-guide .nightastro-instrument-guide-lead p {
        font-size: 14px;
    }
    .nightastro-instrument-guide-button {
        width: 100%;
        padding: 12px 14px;
    }
}


/* ================================================================
   NightAstro v0.7.21 — filtres de cibles + journal par période
   ================================================================ */
.nightastro-update-theme {
    margin-top: 16px;
}
.nightastro-update-theme:first-of-type {
    margin-top: 10px;
}
.nightastro-update-theme h3 {
    margin: 0 0 7px;
    color: #dce7f5;
    font-size: 14px;
}
.nightastro-update-theme ul {
    margin-top: 0;
}


/* ================================================================
   NightAstro v0.7.23 — cadrage cible + deux créneaux d’observation
   ================================================================ */
.nightastro-slot-block + .nightastro-slot-block,
.nightastro-slot-block-secondary {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(111, 166, 255, .10);
}
.nightastro-slot-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 7px;
    color: #a9bfd5;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .02em;
}
.nightastro-slot-caption button,
.nightastro-slot-secondary-action {
    border: 1px solid rgba(111, 166, 255, .20);
    border-radius: 9px;
    padding: 6px 9px;
    background: rgba(46, 140, 255, .08);
    color: #94c7f2;
    font: inherit;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}
.nightastro-slot-caption button:hover,
.nightastro-slot-caption button:focus,
.nightastro-slot-secondary-action:hover,
.nightastro-slot-secondary-action:focus {
    border-color: rgba(111, 166, 255, .42);
    background: rgba(46, 140, 255, .15);
    color: #c9e4fb;
    outline: none;
}
.nightastro-slot-secondary-action {
    display: block;
    width: 100%;
    margin-top: 9px;
}
.nightastro-framing {
    display: grid;
    gap: 2px;
    margin-top: 8px;
    padding: 9px 10px;
    border: 1px solid rgba(81, 177, 237, .16);
    border-radius: 9px;
    background: rgba(7, 17, 31, .44);
}
.nightastro-framing > span {
    color: #7f93ac;
    font-size: 9px;
}
.nightastro-framing > strong {
    color: #e8f4ff;
    font-size: 11.5px;
    line-height: 1.35;
}
.nightastro-framing > small {
    color: #667e98;
    font-size: 9px;
    line-height: 1.35;
}
.nightastro-framing.is-mosaic {
    border-color: rgba(238, 181, 75, .20);
    background: rgba(127, 84, 20, .10);
}
.nightastro-framing.is-mosaic > strong {
    color: #ebca91;
}
.nightastro-framing.is-tight {
    border-color: rgba(238, 181, 75, .16);
    background: rgba(127, 84, 20, .07);
}
.nightastro-framing.is-tight > strong {
    color: #f0d7a8;
}

/* NightAstro v0.7.23 — pollution lumineuse / Bortle */
.nightastro-bortle-label {
    display: block;
    margin-bottom: 6px;
    color: #b9c9dc;
    font-size: 11px;
    font-weight: 700;
}
.nightastro-bortle-select {
    width: 100%;
    border: 1px solid rgba(159, 185, 216, .18);
    border-radius: 10px;
    padding: 9px 10px;
    background: #0a1626;
    color: #eef5fc;
    font-size: 11px;
}
.nightastro-control-help a,
.nightastro-bortle-standalone a,
.nightastro-bortle-prompt a {
    color: #8bc7ff;
    text-decoration: none;
    font-weight: 700;
}
.nightastro-control-help a:hover,
.nightastro-bortle-standalone a:hover,
.nightastro-bortle-prompt a:hover { text-decoration: underline; }

.nightastro-bortle-standalone {
    max-width: 620px;
    margin: 10px auto 8px;
    padding: 12px;
    border: 1px solid rgba(159, 185, 216, .12);
    border-radius: 14px;
    background: rgba(13, 27, 45, .55);
}
.nightastro-bortle-standalone > label {
    display: block;
    margin-bottom: 7px;
    text-align: center;
    color: #cbd9e9;
    font-size: 12px;
    font-weight: 700;
}
.nightastro-bortle-standalone > small {
    display: block;
    margin-top: 7px;
    text-align: center;
    color: #6f86a1;
    font-size: 10.5px;
    line-height: 1.45;
}

.nightastro-bortle-notice,
.nightastro-bortle-prompt {
    margin: 10px 0 12px;
    padding: 10px 12px;
    border-radius: 11px;
    border: 1px solid rgba(109, 180, 255, .18);
    background: rgba(20, 44, 70, .42);
    color: #aebfd3;
    font-size: 11px;
    line-height: 1.45;
}
.nightastro-bortle-notice strong {
    display: block;
    margin-bottom: 2px;
    color: #dcecff;
    font-size: 11.5px;
}
.nightastro-bortle-notice span { color: #8fa4bd; }
.nightastro-bortle-prompt { text-align: center; }

.nightastro-light-pollution {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 10px;
    align-items: baseline;
    margin: 8px 0 12px;
    padding: 8px 10px;
    border: 1px solid rgba(159, 185, 216, .12);
    border-radius: 10px;
    background: rgba(9, 24, 40, .58);
}
.nightastro-light-pollution > span {
    color: #8fa4bd;
    font-size: 10.5px;
}
.nightastro-light-pollution > strong {
    color: #dce7f5;
    font-size: 11px;
    text-align: right;
}
.nightastro-light-pollution > small {
    grid-column: 1 / -1;
    color: #6f86a1;
    font-size: 10px;
    line-height: 1.35;
}
.nightastro-light-pollution.is-high {
    border-color: rgba(231, 151, 93, .24);
    background: rgba(87, 49, 25, .18);
}
.nightastro-light-pollution.is-medium {
    border-color: rgba(211, 186, 91, .20);
}

@media (max-width: 520px) {
    .nightastro-light-pollution { grid-template-columns: 1fr; }
    .nightastro-light-pollution > strong { text-align: left; }
}


/* -------------------------------------------------------------------------
 * NightAstro v0.7.25 — soutien Ko-fi discret
 * ------------------------------------------------------------------------- */
.nightastro-footer-support {
    color: #9fc7e6 !important;
}
.nightastro-footer-support:hover {
    color: #d4ebfb !important;
}
.nightastro-support-box {
    margin-top: 4px;
    padding: 20px !important;
    border: 1px solid rgba(114, 199, 255, .16) !important;
    border-radius: 14px;
    background: rgba(36, 111, 162, .055);
}
.nightastro-support-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border: 1px solid rgba(114, 199, 255, .24);
    border-radius: 10px;
    background: rgba(114, 199, 255, .07);
    color: #a9dcff !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}
.nightastro-support-link:hover {
    border-color: rgba(114, 199, 255, .42);
    background: rgba(114, 199, 255, .11);
    color: #e1f3ff !important;
}

/* NightAstro 0.7.67 — soutien contextuel dans le classement. */
.nightastro-support-inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 18px 0;
    padding: 18px;
    border: 1px solid rgba(46, 140, 255, .45);
    border-radius: 14px;
    background: rgba(46, 140, 255, .10);
    color: #dceaf8;
}
.nightastro-support-inline__copy { flex: 1 1 420px; min-width: 0; }
.nightastro-support-inline h3 {
    margin: 0 0 6px;
    color: #dceaf8;
    font-size: 17px;
    line-height: 1.25;
}
.nightastro-support-inline p {
    margin: 0;
    color: #dceaf8;
    font-size: 13px;
    line-height: 1.55;
}
.nightastro-support-inline__button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 10px 15px;
    border: 1px solid #2e8cff;
    border-radius: 10px;
    background: #2e8cff;
    color: #04101d !important;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
}
.nightastro-support-inline__button:hover,
.nightastro-support-inline__button:focus-visible {
    border-color: #72b6ff;
    background: #72b6ff;
    color: #04101d !important;
}
.nightastro-support-inline__button:focus-visible {
    outline: 2px solid #b8dcff;
    outline-offset: 2px;
}
@media (max-width: 680px) {
    .nightastro-support-inline {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
        padding: 16px;
    }
    .nightastro-support-inline__button {
        width: 100%;
        box-sizing: border-box;
    }
}

/* NightAstro v0.7.30 — passe d'allègement */
.nightastro-collapsible-edit {
    min-height: 30px;
    padding: 6px 12px;
    border-color: #2e8cff;
    background: #2e8cff;
    color: #fff;
    box-shadow: 0 4px 12px rgba(46, 140, 255, .18);
}
.nightastro-collapsible-summary:hover .nightastro-collapsible-edit,
.nightastro-collapsible-summary:focus-visible .nightastro-collapsible-edit {
    border-color: #54a2ff;
    background: #3b96ff;
    color: #fff;
    box-shadow: 0 5px 16px rgba(46, 140, 255, .28);
}
.nightastro-collapsible-summary::after {
    content: '⌄';
    right: 11px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(120, 184, 255, .50);
    border-radius: 7px;
    background: rgba(46, 140, 255, .10);
    color: #8fc6ff;
    font-size: 19px;
    font-weight: 900;
}
.nightastro-collapsible[open] > .nightastro-collapsible-summary::after {
    transform: translateY(-50%) rotate(180deg);
}

.nightastro-ranking-head {
    align-items: flex-end;
    padding: 15px 16px;
}
.nightastro-ranking-head-copy { gap: 4px; }
.nightastro-ranking-head-copy strong {
    font-size: clamp(24px, 4vw, 31px);
    line-height: 1.05;
    letter-spacing: -.02em;
}
.nightastro-ranking-head-copy span {
    font-size: 12px;
    line-height: 1.35;
}

.nightastro-instrument-field {
    margin-top: 7px;
    text-align: center;
    color: #9eb4cc;
    font-size: 11px;
    font-weight: 700;
}
.nightastro-instrument-field:empty { display: none; }

.nightastro-weather-summary {
    padding: 0;
    overflow: visible;
}
.nightastro-weather-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px;
}
.nightastro-weather-summary-copy {
    min-width: 0;
    display: grid;
    gap: 4px;
}
.nightastro-weather-summary-copy strong {
    color: #f2f7fc;
    font-size: 16px;
    line-height: 1.35;
}
.nightastro-moon-fact {
    flex: 0 0 auto;
    padding: 7px 9px;
    border: 1px solid rgba(159, 185, 216, .15);
    border-radius: 9px;
    background: rgba(7, 17, 31, .48);
    color: #b8c9dc;
    font-size: 10.5px;
    font-weight: 700;
    white-space: nowrap;
}
.nightastro-weather-details {
    border-top: 1px solid rgba(159, 185, 216, .10);
}
.nightastro-weather-details > summary {
    position: relative;
    padding: 10px 38px 10px 14px;
    list-style: none;
    cursor: pointer;
    color: #8fc6ff;
    font-size: 11px;
    font-weight: 800;
    user-select: none;
}
.nightastro-weather-details > summary::-webkit-details-marker { display: none; }
.nightastro-weather-details > summary::after {
    content: '⌄';
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #8fc6ff;
    font-size: 17px;
    transition: transform .16s ease;
}
.nightastro-weather-details[open] > summary::after {
    transform: translateY(-50%) rotate(180deg);
}
.nightastro-weather-details > summary:hover,
.nightastro-weather-details > summary:focus-visible {
    background: rgba(46, 140, 255, .07);
    outline: none;
}
.nightastro-weather-details-content {
    padding: 2px 14px 14px;
}
.nightastro-weather-details-content .nightastro-sky-observation { margin-top: 6px; }

.nightastro-meteoblue {
    padding: 0;
    border: 0;
    background: transparent;
}
.nightastro-meteoblue-link {
    min-height: 34px;
    padding: 7px 11px;
    font-size: 11px;
}

.nightastro-framing > span {
    display: flex;
    align-items: center;
    gap: 5px;
}
.nightastro-framing-field {
    color: #8ca3bc !important;
    font-weight: 650;
}
.nightastro-framing-info {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    color: #8fc6ff;
    font-size: 11px;
    font-weight: 900;
    cursor: help;
    outline: none;
}
.nightastro-framing-info::after {
    content: attr(data-tip);
    position: absolute;
    z-index: 20;
    left: 0;
    bottom: calc(100% + 8px);
    width: min(280px, 70vw);
    padding: 8px 10px;
    border: 1px solid rgba(120, 184, 255, .28);
    border-radius: 9px;
    background: #0d2035;
    color: #d9e7f5;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;
    box-shadow: 0 8px 24px rgba(0,0,0,.28);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(3px);
    transition: opacity .14s ease, transform .14s ease, visibility .14s ease;
}
.nightastro-framing-info:hover::after,
.nightastro-framing-info:focus::after {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

@media (max-width: 680px) {
    .nightastro-ranking-head { align-items: stretch; }
    .nightastro-ranking-head-copy strong { font-size: 23px; }
    .nightastro-weather-summary-row { align-items: flex-start; flex-direction: column; gap: 9px; }
    .nightastro-moon-fact { white-space: normal; }
    .nightastro-collapsible-summary { padding-right: 43px; }
}


/* ================================================================
   v0.7.31.1 — séparation réglages / résultats
   Le titre Top 10/20/30 appartient visuellement à la liste : pas de carte
   autonome autour du titre. La zone résultats reçoit seulement un fond léger.
   ================================================================ */
.nightastro-tool-shell .nightastro-results:not(:empty) {
    margin: 24px -6px 0;
    padding: 16px 16px 20px;
    border-radius: 22px;
    background: rgba(10, 25, 43, .58);
}
.nightastro-tool-shell .nightastro-results .nightastro-ranking-head {
    margin: 12px 0 4px;
    padding: 7px 4px 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
@media (max-width: 680px) {
    .nightastro-tool-shell .nightastro-results:not(:empty) {
        margin: 20px -4px 0;
        padding: 12px 10px 16px;
        border-radius: 18px;
    }
}

/* ================================================================
   v0.7.31.1 — mode nuit terrain, rouge monochrome + 3 intensités
   Le canal rouge reste seul utilisé pour les éléments lumineux. La luminosité
   physique de l'écran reste le réglage principal à réduire sur le terrain.
   ================================================================ */

/* Conteneurs d'images : invisibles en mode normal, ils deviennent des
   volets de protection uniquement lorsque le mode nuit est actif. */
.nightastro-night-image-frame {
    position: relative;
    display: block;
    overflow: hidden;
}
.nightastro-night-image-card { min-height: 210px; height: 100%; }
.nightastro-night-image-card .nightastro-card-image { height: 100%; }
.nightastro-night-image-detail { min-height: 310px; height: 100%; }
.nightastro-night-image-detail .nightastro-target-detail-image { height: 100%; }
.nightastro-night-image-choice { width: 50px; height: 42px; border-radius: 8px; }
.nightastro-night-image-choice .nightastro-target-choice-image { width: 50px; height: 42px; border-radius: 8px; object-fit: cover; }
.nightastro-night-image-toggle { display: none; }

.nightastro-night-controls {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: 4px;
}
.nightastro-night-toggle,
.nightastro-night-intensity {
    place-items: center;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(113, 195, 255, .20);
    border-radius: 10px;
    background: rgba(77, 163, 255, .05);
    color: #8ea4bd;
    font: inherit;
    line-height: 1;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease, opacity .16s ease;
}
.nightastro-night-toggle {
    display: inline-grid;
    font-size: 19px;
}
.nightastro-night-intensity {
    display: none;
    grid-template-columns: repeat(3, 4px);
    align-items: end;
    justify-content: center;
    gap: 3px;
}
.nightastro-night-intensity-bar {
    display: block;
    width: 4px;
    border-radius: 3px;
    background: currentColor;
    opacity: .18;
    transition: opacity .16s ease, height .16s ease;
}
.nightastro-night-intensity-bar:nth-child(1) { height: 9px; }
.nightastro-night-intensity-bar:nth-child(2) { height: 15px; }
.nightastro-night-intensity-bar:nth-child(3) { height: 21px; }
.nightastro-night-intensity[data-level="low"] .nightastro-night-intensity-bar:nth-child(1),
.nightastro-night-intensity[data-level="medium"] .nightastro-night-intensity-bar:nth-child(-n+2),
.nightastro-night-intensity[data-level="high"] .nightastro-night-intensity-bar { opacity: 1; }
.nightastro-night-toggle:hover,
.nightastro-night-toggle:focus-visible,
.nightastro-night-intensity:hover,
.nightastro-night-intensity:focus-visible {
    border-color: rgba(113, 195, 255, .42);
    background: rgba(77, 163, 255, .10);
    color: #d4eaff;
    outline: none;
}

/* Valeurs par défaut = intensité moyenne. Les trois niveaux ne changent pas
   la teinte (rouge pur), uniquement sa luminance et les contrastes associés. */
html.nightastro-night-mode {
    color-scheme: dark;
    --na-night-bg: #020000;
    --na-night-panel: #070000;
    --na-night-panel-2: #0d0000;
    --na-night-field: #090000;
    --na-night-hover: #160000;
    --na-night-button: #120000;
    --na-night-active: #2b0000;
    --na-night-primary: #b00000;
    --na-night-strong: #cc0000;
    --na-night-muted: #720000;
    --na-night-soft: #520000;
    --na-night-line: rgba(255, 0, 0, .28);
    --na-night-line-soft: rgba(255, 0, 0, .16);
    --na-night-focus: rgba(255, 0, 0, .46);
    --na-night-image-red: #a00000;
    --na-bg: var(--na-night-bg);
    --na-panel: var(--na-night-panel);
    --na-panel-2: var(--na-night-panel-2);
    --na-line: var(--na-night-line);
    --na-text: var(--na-night-primary);
    --na-muted: var(--na-night-muted);
    --na-blue: var(--na-night-primary);
    --na-blue-2: var(--na-night-strong);
    --na-green: var(--na-night-primary);
}
html.nightastro-night-mode.nightastro-night-intensity-low {
    --na-night-panel: #050000;
    --na-night-panel-2: #090000;
    --na-night-field: #060000;
    --na-night-hover: #0d0000;
    --na-night-button: #0b0000;
    --na-night-active: #190000;
    --na-night-primary: #790000;
    --na-night-strong: #900000;
    --na-night-muted: #500000;
    --na-night-soft: #360000;
    --na-night-line: rgba(255, 0, 0, .18);
    --na-night-line-soft: rgba(255, 0, 0, .10);
    --na-night-focus: rgba(255, 0, 0, .30);
    --na-night-image-red: #700000;
}
html.nightastro-night-mode.nightastro-night-intensity-high {
    --na-night-panel: #090000;
    --na-night-panel-2: #110000;
    --na-night-field: #0d0000;
    --na-night-hover: #210000;
    --na-night-button: #1a0000;
    --na-night-active: #3d0000;
    --na-night-primary: #df0000;
    --na-night-strong: #ff0000;
    --na-night-muted: #9a0000;
    --na-night-soft: #6c0000;
    --na-night-line: rgba(255, 0, 0, .38);
    --na-night-line-soft: rgba(255, 0, 0, .22);
    --na-night-focus: rgba(255, 0, 0, .62);
    --na-night-image-red: #d00000;
}
html.nightastro-night-mode .nightastro-night-intensity { display: inline-grid; }

html.nightastro-night-mode body.nightastro-app-page {
    background: var(--na-night-bg) !important;
    color: var(--na-night-primary) !important;
}
html.nightastro-night-mode .nightastro-shell { color: var(--na-night-muted) !important; }
html.nightastro-night-mode .nightastro-shell * { text-shadow: none !important; }
html.nightastro-night-mode .nightastro-shell :is(h1,h2,h3,h4,h5,h6,strong,b) { color: var(--na-night-strong) !important; }
html.nightastro-night-mode .nightastro-shell :is(p,small,label,em) { color: var(--na-night-muted) !important; }
html.nightastro-night-mode .nightastro-shell a { color: var(--na-night-primary) !important; }
html.nightastro-night-mode .nightastro-shell a:hover,
html.nightastro-night-mode .nightastro-shell a:focus-visible { color: var(--na-night-strong) !important; }

/* Navigation et identité */
html.nightastro-night-mode .nightastro-app-nav {
    background: rgba(2, 0, 0, .97) !important;
    border-bottom-color: var(--na-night-line-soft) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
html.nightastro-night-mode .nightastro-brand-mark {
    border-color: var(--na-night-line) !important;
    background: var(--na-night-panel-2) !important;
    box-shadow: none !important;
    color: var(--na-night-primary) !important;
}
html.nightastro-night-mode .nightastro-app-links a:hover,
html.nightastro-night-mode .nightastro-app-links a.is-active {
    background: var(--na-night-hover) !important;
    color: var(--na-night-strong) !important;
}
html.nightastro-night-mode .nightastro-tools-toggle,
html.nightastro-night-mode .nightastro-tools-toggle:hover,
html.nightastro-night-mode .nightastro-tools-toggle:focus-visible,
html.nightastro-night-mode .nightastro-tools-toggle.is-active,
html.nightastro-night-mode .nightastro-tools-menu.is-open .nightastro-tools-toggle {
    border-color: var(--na-night-line) !important;
    background: var(--na-night-button) !important;
    color: var(--na-night-primary) !important;
    box-shadow: none !important;
}
html.nightastro-night-mode .nightastro-tools-dropdown {
    border-color: var(--na-night-line) !important;
    background: #090000 !important;
    box-shadow: none !important;
}
html.nightastro-night-mode .nightastro-app-links .nightastro-tools-dropdown a:hover,
html.nightastro-night-mode .nightastro-app-links .nightastro-tools-dropdown a:focus-visible,
html.nightastro-night-mode .nightastro-app-links .nightastro-tools-dropdown a.is-current {
    background: var(--na-night-hover) !important;
    color: var(--na-night-strong) !important;
}
html.nightastro-night-mode .nightastro-tools-item-badge {
    border-color: var(--na-night-line) !important;
    background: #180000 !important;
    color: var(--na-night-primary) !important;
}
html.nightastro-night-mode .nightastro-app-links .nightastro-nav-cta {
    border-color: var(--na-night-line) !important;
    background: var(--na-night-button) !important;
    color: var(--na-night-primary) !important;
}
html.nightastro-night-mode .nightastro-night-toggle,
html.nightastro-night-mode .nightastro-night-intensity {
    border-color: var(--na-night-focus) !important;
    background: var(--na-night-panel-2) !important;
    color: var(--na-night-strong) !important;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.46), 0 0 0 1px var(--na-night-line-soft) !important;
}
html.nightastro-night-mode .nightastro-night-toggle {
    background: var(--na-night-active) !important;
}
html.nightastro-night-mode .nightastro-night-toggle:hover,
html.nightastro-night-mode .nightastro-night-toggle:focus-visible,
html.nightastro-night-mode .nightastro-night-intensity:hover,
html.nightastro-night-mode .nightastro-night-intensity:focus-visible {
    border-color: var(--na-night-focus) !important;
    background: var(--na-night-hover) !important;
    color: var(--na-night-strong) !important;
}

/* Zone résultats : légèrement distincte des réglages, sans recréer une carte
   autour du titre du classement. */
html.nightastro-night-mode .nightastro-tool-shell .nightastro-results:not(:empty) {
    background: #050000 !important;
    box-shadow: inset 0 0 0 1px var(--na-night-line-soft) !important;
}
html.nightastro-night-mode .nightastro-tool-shell .nightastro-results .nightastro-ranking-head {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Fonds et séparations principales */
html.nightastro-night-mode .nightastro-hero::before { display: none !important; }
html.nightastro-night-mode .nightastro-tonight,
html.nightastro-night-mode .nightastro-card,
html.nightastro-night-mode .nightastro-window,
html.nightastro-night-mode .nightastro-empty,
html.nightastro-night-mode .nightastro-horizon,
html.nightastro-night-mode .nightastro-direction,
html.nightastro-night-mode .nightastro-instrument,
html.nightastro-night-mode .nightastro-instrument-rec,
html.nightastro-night-mode .nightastro-now,
html.nightastro-night-mode .nightastro-season,
html.nightastro-night-mode .nightastro-collapsible,
html.nightastro-night-mode .nightastro-control-block,
html.nightastro-night-mode .nightastro-slot-panel,
html.nightastro-night-mode .nightastro-plan,
html.nightastro-night-mode .nightastro-plan-item,
html.nightastro-night-mode .nightastro-target-search,
html.nightastro-night-mode .nightastro-target-choice,
html.nightastro-night-mode .nightastro-target-detail-card,
html.nightastro-night-mode .nightastro-static-page,
html.nightastro-night-mode .nightastro-weather-summary,
html.nightastro-night-mode .nightastro-feedback-cta {
    background: var(--na-night-panel) !important;
    border-color: var(--na-night-line-soft) !important;
    box-shadow: none !important;
}
html.nightastro-night-mode .nightastro-window-secondary,
html.nightastro-night-mode .nightastro-grid > div,
html.nightastro-night-mode .nightastro-now-grid > div,
html.nightastro-night-mode .nightastro-target-facts > div,
html.nightastro-night-mode .nightastro-target-tonight-grid > div,
html.nightastro-night-mode .nightastro-plan-native,
html.nightastro-night-mode .nightastro-plan-tags span,
html.nightastro-night-mode .nightastro-moon-fact,
html.nightastro-night-mode .nightastro-moon-proof,
html.nightastro-night-mode .nightastro-visitor-proof,
html.nightastro-night-mode .nightastro-target-choice-placeholder {
    background: var(--na-night-panel-2) !important;
    border-color: var(--na-night-line-soft) !important;
    box-shadow: none !important;
}
html.nightastro-night-mode .nightastro-collapsible-summary:hover,
html.nightastro-night-mode .nightastro-target-choice:hover,
html.nightastro-night-mode .nightastro-weather-details > summary:hover,
html.nightastro-night-mode .nightastro-weather-details > summary:focus-visible {
    background: var(--na-night-hover) !important;
    border-color: var(--na-night-line) !important;
}

/* Champs et boutons : aucune surface claire en mode nuit. */
html.nightastro-night-mode .nightastro-shell :is(input,select,textarea) {
    background: var(--na-night-field) !important;
    border-color: var(--na-night-line) !important;
    color: var(--na-night-primary) !important;
    box-shadow: none !important;
}
html.nightastro-night-mode .nightastro-shell :is(input,textarea)::placeholder { color: var(--na-night-soft) !important; }
html.nightastro-night-mode .nightastro-shell :is(input,select,textarea):focus {
    border-color: var(--na-night-focus) !important;
    box-shadow: 0 0 0 2px var(--na-night-line-soft) !important;
    outline: none !important;
}
html.nightastro-night-mode .nightastro-shell button:not(.nightastro-night-image-toggle):not(.nightastro-night-toggle):not(.nightastro-night-intensity),
html.nightastro-night-mode .nightastro-secondary-action,
html.nightastro-night-mode .nightastro-video-action {
    border-color: var(--na-night-line) !important;
    background: var(--na-night-button) !important;
    color: var(--na-night-primary) !important;
    box-shadow: none !important;
}
html.nightastro-night-mode .nightastro-shell button:not(.nightastro-night-image-toggle):not(.nightastro-night-toggle):not(.nightastro-night-intensity):hover,
html.nightastro-night-mode .nightastro-shell button:not(.nightastro-night-image-toggle):not(.nightastro-night-toggle):not(.nightastro-night-intensity):focus-visible,
html.nightastro-night-mode .nightastro-secondary-action:hover,
html.nightastro-night-mode .nightastro-video-action:hover {
    background: var(--na-night-hover) !important;
    border-color: var(--na-night-focus) !important;
    color: var(--na-night-strong) !important;
}
html.nightastro-night-mode .nightastro-locate,
html.nightastro-night-mode .nightastro-primary-action,
html.nightastro-night-mode .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-mode-btn.is-active,
html.nightastro-night-mode .nightastro-time-mode-btn.is-active,
html.nightastro-night-mode .nightastro-duration-btn.is-active,
html.nightastro-night-mode .nightastro-type-btn.is-active,
html.nightastro-night-mode .nightastro-quality-btn.is-active,
html.nightastro-night-mode .nightastro-dir.is-active,
html.nightastro-night-mode .nightastro-horizon-btn.is-active,
html.nightastro-night-mode .nightastro-sky-btn.is-active {
    background: var(--na-night-active) !important;
    border-color: var(--na-night-focus) !important;
    color: var(--na-night-strong) !important;
    box-shadow: none !important;
}

/* Tous les anciens verts/jaunes/bleus deviennent des variations de luminance
   du même rouge, sans introduire de canal vert ou bleu. */
html.nightastro-night-mode .nightastro-ranking-search-link,
html.nightastro-night-mode .nightastro-show-more,
html.nightastro-night-mode .nightastro-target-link,
html.nightastro-night-mode .nightastro-meteoblue-link,
html.nightastro-night-mode .nightastro-weather-details > summary,
html.nightastro-night-mode .nightastro-weather-details > summary::after,
html.nightastro-night-mode .nightastro-framing-info,
html.nightastro-night-mode .nightastro-collapsible-summary::after {
    color: var(--na-night-primary) !important;
    border-color: var(--na-night-line) !important;
}
html.nightastro-night-mode .is-green,
html.nightastro-night-mode .nightastro-time-fit.is-good,
html.nightastro-night-mode .nightastro-plan-native.is-native strong { color: var(--na-night-muted) !important; }
html.nightastro-night-mode .nightastro-dot.is-green { background: var(--na-night-muted) !important; }
html.nightastro-night-mode .is-orange,
html.nightastro-night-mode .nightastro-time-fit.is-medium { color: var(--na-night-primary) !important; }
html.nightastro-night-mode .nightastro-dot.is-orange { background: var(--na-night-primary) !important; }
html.nightastro-night-mode .is-red,
html.nightastro-night-mode .nightastro-time-fit.is-bad { color: var(--na-night-strong) !important; }
html.nightastro-night-mode .nightastro-dot.is-red { background: var(--na-night-strong) !important; }
html.nightastro-night-mode .nightastro-warning,
html.nightastro-night-mode .nightastro-slot-notice,
html.nightastro-night-mode .nightastro-time-fit {
    background: var(--na-night-panel-2) !important;
    border-color: var(--na-night-line-soft) !important;
}

/* Infobulles : jamais de panneau bleu ou blanc lumineux. */
html.nightastro-night-mode .nightastro-framing-info::after,
html.nightastro-night-mode .nightastro-slot-threshold::after {
    background: var(--na-night-panel-2) !important;
    border-color: var(--na-night-line) !important;
    color: var(--na-night-primary) !important;
    box-shadow: none !important;
}

/* Images : aplat noir par défaut. Lors de la révélation, le mélange multiply
   avec le fond rouge force un rendu monochrome rouge sans vert ni bleu. */
html.nightastro-night-mode .nightastro-night-image-frame {
    background: var(--na-night-image-red) !important;
}
html.nightastro-night-mode .nightastro-night-image-frame img {
    opacity: 0 !important;
    filter: grayscale(1) brightness(.22) contrast(.88) !important;
    mix-blend-mode: multiply;
    transition: opacity .18s ease, filter .18s ease;
}
html.nightastro-night-mode.nightastro-night-intensity-low .nightastro-night-image-frame img {
    opacity: .84 !important;
    filter: grayscale(1) brightness(.16) contrast(.86) !important;
}
html.nightastro-night-mode.nightastro-night-intensity-medium .nightastro-night-image-frame img {
    opacity: .84 !important;
    filter: grayscale(1) brightness(.22) contrast(.88) !important;
}
html.nightastro-night-mode.nightastro-night-intensity-high .nightastro-night-image-frame img { filter: grayscale(1) brightness(.30) contrast(.90) !important; }
html.nightastro-night-mode .nightastro-night-image-toggle {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: none;
    place-items: center;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: inherit;
    background: var(--na-night-panel) !important;
    color: var(--na-night-primary) !important;
    cursor: pointer;
    box-shadow: none !important;
}
html.nightastro-night-mode.nightastro-night-intensity-high .nightastro-night-image-toggle {
    display: grid;
}
html.nightastro-night-mode .nightastro-night-image-toggle svg {
    width: 28px;
    height: 28px;
    fill: currentColor;
    opacity: .88;
}
html.nightastro-night-mode .nightastro-night-image-frame.is-revealed img { opacity: .84 !important; }
html.nightastro-night-mode .nightastro-night-image-frame.is-revealed .nightastro-night-image-toggle {
    inset: auto 8px 8px auto;
    width: 34px;
    height: 34px;
    border: 1px solid var(--na-night-line) !important;
    border-radius: 10px;
    background: rgba(2, 0, 0, .92) !important;
}
html.nightastro-night-mode .nightastro-night-image-frame.is-revealed .nightastro-night-image-toggle svg {
    width: 18px;
    height: 18px;
}

/* Lune de l'accueil : rouge monochrome, sans blanc/jaune. */
html.nightastro-night-mode .nightastro-moon-proof-icon svg .nightastro-moon-dark { fill: #020000 !important; }
html.nightastro-night-mode .nightastro-moon-proof-icon svg .nightastro-moon-lit { fill: var(--na-night-primary) !important; }
html.nightastro-night-mode .nightastro-moon-proof-icon svg .nightastro-moon-ring { stroke: var(--na-night-line) !important; }
html.nightastro-night-mode .nightastro-moon-proof-icon svg { filter: brightness(.82) saturate(1); }

/* Rappel discret lors de la toute première activation. */
.nightastro-night-hint {
    position: fixed;
    z-index: 9999;
    right: 18px;
    bottom: 18px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: min(430px, calc(100vw - 36px));
    padding: 12px 13px;
    border: 1px solid var(--na-night-line, rgba(255,0,0,.28));
    border-radius: 12px;
    background: var(--na-night-panel-2, #0d0000);
    color: var(--na-night-primary, #b00000);
    box-shadow: 0 10px 28px rgba(0,0,0,.42);
    font-size: 12px;
    line-height: 1.45;
    box-sizing: border-box;
    transition: opacity .24s ease, transform .24s ease;
}
.nightastro-night-hint > span { flex: 1; }
.nightastro-night-hint button {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid var(--na-night-line-soft, rgba(255,0,0,.16));
    border-radius: 8px;
    background: var(--na-night-button, #120000);
    color: var(--na-night-primary, #b00000);
    cursor: pointer;
}
.nightastro-night-hint.is-leaving { opacity: 0; transform: translateY(6px); }

@media (max-width: 680px) {
    .nightastro-night-image-card { height: 170px; min-height: 0; }
    .nightastro-night-image-detail { height: 220px; min-height: 0; }
    .nightastro-single-target .nightastro-night-image-detail { height: 260px; min-height: 0; }
    .nightastro-night-hint { right: 12px; bottom: 12px; width: calc(100vw - 24px); }
    .nightastro-night-toggle,
    .nightastro-night-intensity { width: 34px; height: 34px; }
}

/* Accès immédiat au mode nuit sur mobile, avec réglage d'intensité voisin. */
html.nightastro-night-mode .nightastro-visitor-proof-icon {
    filter: grayscale(1) brightness(.34) !important;
    mix-blend-mode: multiply;
    background: var(--na-night-image-red) !important;
}
@media (max-width: 720px) {
    .nightastro-app-nav { padding-right: 44px; }
    html.nightastro-night-mode .nightastro-app-nav { padding-right: 104px; }
    .nightastro-app-links { margin-left: 0; padding-right: 0; }
    .nightastro-night-controls {
        position: absolute;
        top: 14px;
        right: 0;
        margin: 0;
    }
}

/* Les invites PWA vivent hors de .nightastro-shell. */
html.nightastro-night-mode .nightastro-pwa-install {
    background: rgba(5, 0, 0, .98) !important;
    border-color: var(--na-night-line) !important;
    box-shadow: 0 16px 38px rgba(0,0,0,.52) !important;
    color: var(--na-night-primary) !important;
}
html.nightastro-night-mode .nightastro-pwa-install__icon {
    background: var(--na-night-panel-2) !important;
    border-color: var(--na-night-line-soft) !important;
    color: var(--na-night-primary) !important;
    box-shadow: none !important;
}
html.nightastro-night-mode .nightastro-pwa-install__copy strong { color: var(--na-night-strong) !important; }
html.nightastro-night-mode .nightastro-pwa-install__copy span,
html.nightastro-night-mode .nightastro-pwa-install__dismiss,
html.nightastro-night-mode .nightastro-pwa-install__close { color: var(--na-night-muted) !important; }
html.nightastro-night-mode .nightastro-pwa-install__button {
    background: var(--na-night-active) !important;
    border-color: var(--na-night-focus) !important;
    color: var(--na-night-strong) !important;
    box-shadow: none !important;
}
html.nightastro-night-mode .nightastro-pwa-install__close:hover {
    background: var(--na-night-hover) !important;
    color: var(--na-night-strong) !important;
}

/* Miniatures de recherche : pas de bouton imbriqué dans le bouton de résultat.
   En mode nuit elles restent masquées ; la fiche cible offre l'aperçu volontaire. */
.nightastro-night-search-image {
    position: relative;
    display: block;
    width: 50px;
    height: 42px;
    overflow: hidden;
    border-radius: 8px;
}
.nightastro-night-search-mask { display: none; }
html.nightastro-night-mode .nightastro-night-search-image { background: var(--na-night-image-red) !important; }
html.nightastro-night-mode .nightastro-night-search-image img {
    opacity: 0 !important;
    filter: grayscale(1) brightness(.22) contrast(.88) !important;
    mix-blend-mode: multiply;
}
html.nightastro-night-mode.nightastro-night-intensity-low .nightastro-night-search-image img {
    opacity: .84 !important;
    filter: grayscale(1) brightness(.16) contrast(.86) !important;
}
html.nightastro-night-mode.nightastro-night-intensity-medium .nightastro-night-search-image img {
    opacity: .84 !important;
    filter: grayscale(1) brightness(.22) contrast(.88) !important;
}
html.nightastro-night-mode .nightastro-night-search-mask {
    position: absolute;
    inset: 0;
    display: none;
    place-items: center;
    background: var(--na-night-panel) !important;
    color: var(--na-night-primary) !important;
    font-size: 16px;
    line-height: 1;
}
html.nightastro-night-mode.nightastro-night-intensity-high .nightastro-night-search-mask { display: grid; }


/* ================================================================
   v0.7.31.2 — exclusion temporaire des cibles + identité Caldwell
   Aucune exclusion n'est persistée : ces éléments ne concernent que la page.
   ================================================================ */
.nightastro-exclusion-hint {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 10px 4px 7px;
    color: #8298b2;
    font-size: 10.5px;
    line-height: 1.4;
}
.nightastro-exclusion-hint-icon {
    display: inline-flex;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: #8298b2;
}
.nightastro-exclusion-hint-icon svg,
.nightastro-exclude-target svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.nightastro-excluded-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 9px 4px 5px;
    padding: 8px 10px;
    border: 1px solid rgba(120, 184, 255, .15);
    border-radius: 10px;
    background: rgba(46, 140, 255, .045);
    color: #91a7bf;
    font-size: 10.5px;
}
.nightastro-show-all-excluded {
    padding: 4px 7px;
    border: 0;
    background: transparent;
    color: #8fc6ff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}
.nightastro-show-all-excluded:hover,
.nightastro-show-all-excluded:focus-visible { color: #c5e2ff; text-decoration: underline; }

.nightastro-exclude-target {
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    padding: 10px;
    border: 1px solid rgba(143, 166, 193, .18);
    border-radius: 10px;
    background: rgba(127, 147, 172, .045);
    color: #7e93ad;
    cursor: pointer;
    transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.nightastro-exclude-target:hover,
.nightastro-exclude-target:focus-visible {
    color: #bcd0e5;
    border-color: rgba(143, 198, 255, .45);
    background: rgba(46, 140, 255, .08);
    outline: none;
}
.nightastro-card-exclude { margin-left: auto; }
.nightastro-plan-exclude {
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
    padding: 9px;
    margin-left: 2px;
}
.nightastro-target-common-name {
    margin-top: 2px;
    color: #b7c7da;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 650;
}
.nightastro-plan-common-name {
    color: #aabed3;
    font-size: 10px;
    line-height: 1.3;
}
.nightastro-target-choice-common {
    display: block;
    margin-top: 1px;
    color: #a9bdd3;
    font-style: normal;
    font-size: 10px;
}
.nightastro-plan-recalculated-toast {
    position: fixed;
    z-index: 99999;
    left: 50%;
    bottom: max(22px, calc(env(safe-area-inset-bottom) + 12px));
    transform: translate(-50%, 8px);
    padding: 9px 13px;
    border: 1px solid rgba(100, 214, 125, .30);
    border-radius: 999px;
    background: rgba(7, 24, 18, .96);
    color: #9ce0ad;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .34);
    font-size: 12px;
    font-weight: 800;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}
.nightastro-plan-recalculated-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 680px) {
    .nightastro-excluded-notice { align-items: flex-start; }
    .nightastro-card-actions { flex-wrap: wrap; }
    .nightastro-card-exclude { margin-left: auto; }
    .nightastro-plan-tags .nightastro-plan-exclude { margin-left: 2px; }
}

html.nightastro-night-mode .nightastro-exclusion-hint,
html.nightastro-night-mode .nightastro-exclusion-hint-icon,
html.nightastro-night-mode .nightastro-target-common-name,
html.nightastro-night-mode .nightastro-plan-common-name,
html.nightastro-night-mode .nightastro-target-choice-common { color: var(--na-night-muted) !important; }
html.nightastro-night-mode .nightastro-excluded-notice {
    background: var(--na-night-panel-2) !important;
    border-color: var(--na-night-line-soft) !important;
    color: var(--na-night-muted) !important;
}
html.nightastro-night-mode .nightastro-show-all-excluded,
html.nightastro-night-mode .nightastro-exclude-target {
    color: var(--na-night-primary) !important;
    border-color: var(--na-night-line) !important;
    background: var(--na-night-button) !important;
}
html.nightastro-night-mode .nightastro-show-all-excluded:hover,
html.nightastro-night-mode .nightastro-show-all-excluded:focus-visible,
html.nightastro-night-mode .nightastro-exclude-target:hover,
html.nightastro-night-mode .nightastro-exclude-target:focus-visible {
    color: var(--na-night-strong) !important;
    background: var(--na-night-hover) !important;
    border-color: var(--na-night-focus) !important;
}
html.nightastro-night-mode .nightastro-plan-recalculated-toast {
    background: #050000 !important;
    border-color: var(--na-night-line) !important;
    color: var(--na-night-strong) !important;
    box-shadow: none !important;
}


/* ================================================================
   v0.7.31.4 — audit chromatique systématique du mode nuit
   Couche de sécurité générée à partir de TOUTES les déclarations de couleur,
   fond, bordure, ombre et focus du thème normal. Elle garantit qu'en mode
   nuit aucune couleur bleue, verte, jaune, blanche/grise ne puisse reprendre
   le dessus par cascade CSS. Le mode normal n'est pas concerné.
   ================================================================ */

/* Filet de sécurité pour tous les textes, y compris les libellés dynamiques,
   le pied de page et le bandeau de nouveautés. */
html.nightastro-night-mode body.nightastro-app-page,
html.nightastro-night-mode body.nightastro-app-page :where(*) {
    border-color: var(--na-night-line-soft) !important;
    outline-color: var(--na-night-focus) !important;
    text-decoration-color: currentColor !important;
}
html.nightastro-night-mode body.nightastro-app-page :where(
    p, span, small, label, li, dt, dd, em, time, figcaption, legend
) {
    color: var(--na-night-muted) !important;
}
html.nightastro-night-mode body.nightastro-app-page :where(
    h1, h2, h3, h4, h5, h6, strong, b
) {
    color: var(--na-night-strong) !important;
}
html.nightastro-night-mode body.nightastro-app-page :where(
    a, button, input, select, textarea, summary
) {
    color: var(--na-night-primary) !important;
}
html.nightastro-night-mode body.nightastro-app-page :where(*) {
    background-image: none !important;
}

html.nightastro-night-mode .nightastro-tonight,
html.nightastro-night-mode .nightastro-header p,
html.nightastro-night-mode .nightastro-locate,
html.nightastro-night-mode .nightastro-place,
html.nightastro-night-mode .nightastro-status,
html.nightastro-night-mode .nightastro-summary,
html.nightastro-night-mode .nightastro-summary small,
html.nightastro-night-mode .nightastro-ranking-head-copy strong,
html.nightastro-night-mode .nightastro-ranking-head-copy span,
html.nightastro-night-mode .nightastro-ranking-search-link,
html.nightastro-night-mode .nightastro-show-more,
html.nightastro-night-mode .nightastro-ranking-search-link:hover,
html.nightastro-night-mode .nightastro-show-more:hover,
html.nightastro-night-mode .nightastro-rank,
html.nightastro-night-mode .nightastro-card h3,
html.nightastro-night-mode .nightastro-meta,
html.nightastro-night-mode .nightastro-verdict,
html.nightastro-night-mode .is-green,
html.nightastro-night-mode .is-orange,
html.nightastro-night-mode .is-red,
html.nightastro-night-mode .nightastro-window span,
html.nightastro-night-mode .nightastro-window-secondary span,
html.nightastro-night-mode .nightastro-window-secondary strong,
html.nightastro-night-mode .nightastro-grid span,
html.nightastro-night-mode .nightastro-grid strong,
html.nightastro-night-mode .nightastro-target-link,
html.nightastro-night-mode .nightastro-empty,
html.nightastro-night-mode .nightastro-location-separator,
html.nightastro-night-mode .nightastro-city-search input,
html.nightastro-night-mode .nightastro-city-search input::placeholder,
html.nightastro-night-mode .nightastro-city-search button,
html.nightastro-night-mode .nightastro-city-choice,
html.nightastro-night-mode .nightastro-warning,
html.nightastro-night-mode .nightastro-warning.is-ok,
html.nightastro-night-mode .nightastro-horizon-help,
html.nightastro-night-mode .nightastro-horizon-limit > span,
html.nightastro-night-mode .nightastro-horizon-btn,
html.nightastro-night-mode .nightastro-horizon-btn.is-active,
html.nightastro-night-mode .nightastro-horizon-reset,
html.nightastro-night-mode .nightastro-horizon-reset:hover,
html.nightastro-night-mode .nightastro-direction-label,
html.nightastro-night-mode .nightastro-dir,
html.nightastro-night-mode .nightastro-dir:hover,
html.nightastro-night-mode .nightastro-dir.is-blocked:hover,
html.nightastro-night-mode .nightastro-dir:disabled:hover,
html.nightastro-night-mode .nightastro-dir.is-active,
html.nightastro-night-mode .nightastro-direction-help,
html.nightastro-night-mode .nightastro-azimuth,
html.nightastro-night-mode .nightastro-azimuth strong,
html.nightastro-night-mode .nightastro-slot-arrow,
html.nightastro-night-mode .nightastro-instrument label,
html.nightastro-night-mode .nightastro-instrument select,
html.nightastro-night-mode .nightastro-instrument-help,
html.nightastro-night-mode .nightastro-instrument-plan-help,
html.nightastro-night-mode .nightastro-instrument-plan-help.is-native,
html.nightastro-night-mode .nightastro-instrument-plan-help.is-manual,
html.nightastro-night-mode .nightastro-instrument-rec-title,
html.nightastro-night-mode .nightastro-rec-source,
html.nightastro-night-mode .nightastro-instrument-rec-grid span,
html.nightastro-night-mode .nightastro-instrument-rec-grid strong,
html.nightastro-night-mode .nightastro-now-kicker,
html.nightastro-night-mode .nightastro-now-head strong,
html.nightastro-night-mode .nightastro-now-grid span,
html.nightastro-night-mode .nightastro-now-grid strong,
html.nightastro-night-mode .nightastro-now-note,
html.nightastro-night-mode .nightastro-score small,
html.nightastro-night-mode .nightastro-meteoblue-link,
html.nightastro-night-mode .nightastro-meteoblue span,
html.nightastro-night-mode .nightastro-sky-observation-title,
html.nightastro-night-mode .nightastro-sky-btn,
html.nightastro-night-mode .nightastro-sky-btn:hover,
html.nightastro-night-mode .nightastro-sky-btn.is-active,
html.nightastro-night-mode .nightastro-sky-help,
html.nightastro-night-mode .nightastro-sky-gap,
html.nightastro-night-mode .nightastro-season,
html.nightastro-night-mode .nightastro-season strong,
html.nightastro-night-mode .nightastro-season small,
html.nightastro-night-mode .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-collapsible-summary:hover .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-collapsible-summary::after,
html.nightastro-night-mode .nightastro-collapsible-summary:hover::after,
html.nightastro-night-mode .nightastro-collapsible-title,
html.nightastro-night-mode .nightastro-collapsible-meta,
html.nightastro-night-mode .nightastro-control-block > .nightastro-control-label,
html.nightastro-night-mode .nightastro-control-label,
html.nightastro-night-mode .nightastro-subcontrol-label,
html.nightastro-night-mode .nightastro-mode-btn,
html.nightastro-night-mode .nightastro-time-mode-btn,
html.nightastro-night-mode .nightastro-duration-btn,
html.nightastro-night-mode .nightastro-type-btn,
html.nightastro-night-mode .nightastro-quality-btn,
html.nightastro-night-mode .nightastro-mode-btn:hover,
html.nightastro-night-mode .nightastro-time-mode-btn:hover,
html.nightastro-night-mode .nightastro-duration-btn:hover,
html.nightastro-night-mode .nightastro-type-btn:hover,
html.nightastro-night-mode .nightastro-quality-btn:hover,
html.nightastro-night-mode .nightastro-mode-btn.is-active,
html.nightastro-night-mode .nightastro-time-mode-btn.is-active,
html.nightastro-night-mode .nightastro-duration-btn.is-active,
html.nightastro-night-mode .nightastro-type-btn.is-active,
html.nightastro-night-mode .nightastro-quality-btn.is-active,
html.nightastro-night-mode .nightastro-slot-fields label span,
html.nightastro-night-mode .nightastro-slot-fields input[type="time"],
html.nightastro-night-mode .nightastro-slot-help,
html.nightastro-night-mode .nightastro-slot-threshold,
html.nightastro-night-mode .nightastro-slot-threshold::after,
html.nightastro-night-mode .nightastro-slot-notice.is-good,
html.nightastro-night-mode .nightastro-slot-notice.is-warning,
html.nightastro-night-mode .nightastro-slot-notice.is-bad,
html.nightastro-night-mode .nightastro-slot-past button,
html.nightastro-night-mode .nightastro-control-help,
html.nightastro-night-mode .nightastro-time-fit.is-good,
html.nightastro-night-mode .nightastro-time-fit.is-medium,
html.nightastro-night-mode .nightastro-time-fit.is-bad,
html.nightastro-night-mode .nightastro-plan-head span,
html.nightastro-night-mode .nightastro-plan-head strong,
html.nightastro-night-mode .nightastro-plan-total,
html.nightastro-night-mode .nightastro-plan-meta,
html.nightastro-night-mode .nightastro-plan-native strong,
html.nightastro-night-mode .nightastro-plan-native span,
html.nightastro-night-mode .nightastro-plan-native.is-native strong,
html.nightastro-night-mode .nightastro-plan-index,
html.nightastro-night-mode .nightastro-plan-main strong,
html.nightastro-night-mode .nightastro-plan-main span {
    color: var(--na-night-primary) !important;
}

html.nightastro-night-mode .nightastro-plan-tags span,
html.nightastro-night-mode .nightastro-plan-note,
html.nightastro-night-mode .nightastro-plan-empty,
html.nightastro-night-mode .nightastro-target-search .nightastro-control-label,
html.nightastro-night-mode .nightastro-target-search-help,
html.nightastro-night-mode .nightastro-target-search-box input,
html.nightastro-night-mode .nightastro-target-search-box button,
html.nightastro-night-mode .nightastro-target-choice,
html.nightastro-night-mode .nightastro-target-choice-placeholder,
html.nightastro-night-mode .nightastro-target-choice strong,
html.nightastro-night-mode .nightastro-target-choice small,
html.nightastro-night-mode .nightastro-target-choice em,
html.nightastro-night-mode .nightastro-target-no-match,
html.nightastro-night-mode .nightastro-target-detail-image-empty,
html.nightastro-night-mode .nightastro-target-detail-head h3,
html.nightastro-night-mode .nightastro-target-aliases,
html.nightastro-night-mode .nightastro-target-description,
html.nightastro-night-mode .nightastro-target-facts span,
html.nightastro-night-mode .nightastro-target-tonight-grid span,
html.nightastro-night-mode .nightastro-target-facts strong,
html.nightastro-night-mode .nightastro-target-tonight-grid strong,
html.nightastro-night-mode .nightastro-target-tonight.is-waiting span,
html.nightastro-night-mode .nightastro-target-tonight.is-unavailable span,
html.nightastro-night-mode .nightastro-target-tonight-head > div:first-child > strong,
html.nightastro-night-mode .nightastro-target-tonight-head > div:first-child > span,
html.nightastro-night-mode .nightastro-target-credit,
html.nightastro-night-mode .nightastro-target-credit a,
html.nightastro-night-mode .nightastro-target-secondary-link,
html.nightastro-night-mode .nightastro-target-secondary-link:hover,
html.nightastro-night-mode .nightastro-single-target-topbar,
html.nightastro-night-mode .nightastro-single-target-topbar a,
html.nightastro-night-mode .nightastro-single-target-topbar a:hover,
html.nightastro-night-mode .nightastro-single-live-head h3,
html.nightastro-night-mode .nightastro-single-live-head p,
html.nightastro-night-mode .nightastro-priority span,
html.nightastro-night-mode .nightastro-priority strong,
html.nightastro-night-mode .nightastro-priority small,
html.nightastro-night-mode body.nightastro-app-page,
html.nightastro-night-mode .nightastro-brand,
html.nightastro-night-mode .nightastro-brand-mark,
html.nightastro-night-mode .nightastro-brand strong,
html.nightastro-night-mode .nightastro-brand small,
html.nightastro-night-mode .nightastro-app-links a,
html.nightastro-night-mode .nightastro-app-links a:hover,
html.nightastro-night-mode .nightastro-app-links a.is-active,
html.nightastro-night-mode .nightastro-app-links .nightastro-nav-cta,
html.nightastro-night-mode .nightastro-home .nightastro-kicker,
html.nightastro-night-mode .nightastro-tool-shell .nightastro-kicker,
html.nightastro-night-mode .nightastro-target-shell .nightastro-kicker,
html.nightastro-night-mode .nightastro-hero h1,
html.nightastro-night-mode .nightastro-hero > .nightastro-hero-copy > p,
html.nightastro-night-mode .nightastro-moon-proof,
html.nightastro-night-mode .nightastro-visitor-proof,
html.nightastro-night-mode .nightastro-moon-proof-text strong,
html.nightastro-night-mode .nightastro-visitor-proof strong,
html.nightastro-night-mode .nightastro-primary-action,
html.nightastro-night-mode .nightastro-secondary-action,
html.nightastro-night-mode .nightastro-video-action,
html.nightastro-night-mode .nightastro-video-action-icon,
html.nightastro-night-mode .nightastro-home-search label,
html.nightastro-night-mode .nightastro-home-search input,
html.nightastro-night-mode .nightastro-home-search input::placeholder,
html.nightastro-night-mode .nightastro-home-search button,
html.nightastro-night-mode .nightastro-orbit-core,
html.nightastro-night-mode .nightastro-home-stats strong,
html.nightastro-night-mode .nightastro-home-stats span,
html.nightastro-night-mode .nightastro-section-heading h2,
html.nightastro-night-mode .nightastro-home-highlight h2,
html.nightastro-night-mode .nightastro-section-heading p,
html.nightastro-night-mode .nightastro-home-highlight p,
html.nightastro-night-mode .nightastro-feature-card,
html.nightastro-night-mode .nightastro-feature-icon,
html.nightastro-night-mode .nightastro-feature-card h3,
html.nightastro-night-mode .nightastro-feature-card p,
html.nightastro-night-mode .nightastro-feature-card em,
html.nightastro-night-mode .nightastro-app-footer,
html.nightastro-night-mode .nightastro-app-footer strong,
html.nightastro-night-mode .nightastro-footer-brand strong,
html.nightastro-night-mode .nightastro-footer-brand span,
html.nightastro-night-mode .nightastro-footer-copyright,
html.nightastro-night-mode .nightastro-footer-links a,
html.nightastro-night-mode .nightastro-footer-links a:hover,
html.nightastro-night-mode .nightastro-footer-note,
html.nightastro-night-mode .nightastro-static-page > h1,
html.nightastro-night-mode .nightastro-static-content,
html.nightastro-night-mode .nightastro-static-content h2,
html.nightastro-night-mode .nightastro-static-content a,
html.nightastro-night-mode .nightastro-about-lead p,
html.nightastro-night-mode .nightastro-credit-item p,
html.nightastro-night-mode .nightastro-contact-form label,
html.nightastro-night-mode .nightastro-contact-form input[type="text"],
html.nightastro-night-mode .nightastro-contact-form input[type="email"],
html.nightastro-night-mode .nightastro-contact-form textarea,
html.nightastro-night-mode .nightastro-contact-consent,
html.nightastro-night-mode .nightastro-contact-submit,
html.nightastro-night-mode .nightastro-contact-alert.is-success,
html.nightastro-night-mode .nightastro-contact-alert.is-error,
html.nightastro-night-mode .nightastro-lang-switch a,
html.nightastro-night-mode .nightastro-lang-switch a.is-active,
html.nightastro-night-mode .nightastro-lang-switch span,
html.nightastro-night-mode .nightastro-update-card-head time,
html.nightastro-night-mode .nightastro-update-version,
html.nightastro-night-mode .nightastro-update-latest,
html.nightastro-night-mode .nightastro-update-card ul,
html.nightastro-night-mode .nightastro-horizon-alt,
html.nightastro-night-mode .nightastro-horizon-max,
html.nightastro-night-mode .nightastro-supported-instruments,
html.nightastro-night-mode .nightastro-supported-instruments strong,
html.nightastro-night-mode .nightastro-supported-instruments span,
html.nightastro-night-mode .nightastro-native-planning-home > span,
html.nightastro-night-mode .nightastro-native-planning-home p,
html.nightastro-night-mode .nightastro-feedback-cta,
html.nightastro-night-mode .nightastro-feedback-icon {
    color: var(--na-night-primary) !important;
}

html.nightastro-night-mode .nightastro-feedback-cta a,
html.nightastro-night-mode .nightastro-target-report-link,
html.nightastro-night-mode .nightastro-target-report-link:hover,
html.nightastro-night-mode .nightastro-contact-context,
html.nightastro-night-mode .nightastro-contact-target-context,
html.nightastro-night-mode .nightastro-contact-context strong,
html.nightastro-night-mode .nightastro-contact-target-context strong,
html.nightastro-night-mode .nightastro-video-link,
html.nightastro-night-mode .nightastro-video-link-icon,
html.nightastro-night-mode .nightastro-pwa-install,
html.nightastro-night-mode .nightastro-pwa-install__icon,
html.nightastro-night-mode .nightastro-pwa-install__copy strong,
html.nightastro-night-mode .nightastro-pwa-install__copy span,
html.nightastro-night-mode .nightastro-pwa-install__button,
html.nightastro-night-mode .nightastro-pwa-install__close,
html.nightastro-night-mode .nightastro-pwa-install__dismiss,
html.nightastro-night-mode .nightastro-pwa-install__close:hover,
html.nightastro-night-mode .nightastro-supported-instruments a,
html.nightastro-night-mode .nightastro-supported-instruments a:hover,
html.nightastro-night-mode .nightastro-instrument-guide .nightastro-instrument-guide-lead p,
html.nightastro-night-mode .nightastro-update-theme h3,
html.nightastro-night-mode .nightastro-slot-caption,
html.nightastro-night-mode .nightastro-slot-caption button,
html.nightastro-night-mode .nightastro-slot-secondary-action,
html.nightastro-night-mode .nightastro-slot-caption button:hover,
html.nightastro-night-mode .nightastro-slot-caption button:focus,
html.nightastro-night-mode .nightastro-slot-secondary-action:hover,
html.nightastro-night-mode .nightastro-slot-secondary-action:focus,
html.nightastro-night-mode .nightastro-framing > span,
html.nightastro-night-mode .nightastro-framing > strong,
html.nightastro-night-mode .nightastro-framing > small,
html.nightastro-night-mode .nightastro-framing.is-mosaic > strong,
html.nightastro-night-mode .nightastro-bortle-label,
html.nightastro-night-mode .nightastro-bortle-select,
html.nightastro-night-mode .nightastro-control-help a,
html.nightastro-night-mode .nightastro-bortle-standalone a,
html.nightastro-night-mode .nightastro-bortle-prompt a,
html.nightastro-night-mode .nightastro-bortle-standalone > label,
html.nightastro-night-mode .nightastro-bortle-standalone > small,
html.nightastro-night-mode .nightastro-bortle-notice,
html.nightastro-night-mode .nightastro-bortle-prompt,
html.nightastro-night-mode .nightastro-bortle-notice strong,
html.nightastro-night-mode .nightastro-bortle-notice span,
html.nightastro-night-mode .nightastro-light-pollution > span,
html.nightastro-night-mode .nightastro-light-pollution > strong,
html.nightastro-night-mode .nightastro-light-pollution > small,
html.nightastro-night-mode .nightastro-footer-support,
html.nightastro-night-mode .nightastro-footer-support:hover,
html.nightastro-night-mode .nightastro-support-link,
html.nightastro-night-mode .nightastro-support-link:hover,
html.nightastro-night-mode .nightastro-collapsible-summary:hover .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-collapsible-summary:focus-visible .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-instrument-field,
html.nightastro-night-mode .nightastro-weather-summary-copy strong,
html.nightastro-night-mode .nightastro-moon-fact,
html.nightastro-night-mode .nightastro-weather-details > summary,
html.nightastro-night-mode .nightastro-weather-details > summary::after,
html.nightastro-night-mode .nightastro-framing-field,
html.nightastro-night-mode .nightastro-framing-info,
html.nightastro-night-mode .nightastro-framing-info::after,
html.nightastro-night-mode .nightastro-night-toggle,
html.nightastro-night-mode .nightastro-night-intensity,
html.nightastro-night-mode .nightastro-night-toggle:hover,
html.nightastro-night-mode .nightastro-night-toggle:focus-visible,
html.nightastro-night-mode .nightastro-night-intensity:hover,
html.nightastro-night-mode .nightastro-night-intensity:focus-visible,
html.nightastro-night-mode .nightastro-night-hint,
html.nightastro-night-mode .nightastro-night-hint button,
html.nightastro-night-mode .nightastro-exclusion-hint,
html.nightastro-night-mode .nightastro-exclusion-hint-icon,
html.nightastro-night-mode .nightastro-excluded-notice,
html.nightastro-night-mode .nightastro-show-all-excluded,
html.nightastro-night-mode .nightastro-show-all-excluded:hover,
html.nightastro-night-mode .nightastro-show-all-excluded:focus-visible,
html.nightastro-night-mode .nightastro-exclude-target,
html.nightastro-night-mode .nightastro-exclude-target:hover,
html.nightastro-night-mode .nightastro-exclude-target:focus-visible,
html.nightastro-night-mode .nightastro-target-common-name,
html.nightastro-night-mode .nightastro-plan-common-name,
html.nightastro-night-mode .nightastro-target-choice-common,
html.nightastro-night-mode .nightastro-plan-recalculated-toast {
    color: var(--na-night-primary) !important;
}

html.nightastro-night-mode body.nightastro-app-page {
    background: var(--na-night-bg) !important;
}

html.nightastro-night-mode .nightastro-tonight,
html.nightastro-night-mode .nightastro-ranking-head,
html.nightastro-night-mode .nightastro-card,
html.nightastro-night-mode .nightastro-dot.is-green,
html.nightastro-night-mode .nightastro-dot.is-orange,
html.nightastro-night-mode .nightastro-dot.is-red,
html.nightastro-night-mode .nightastro-window,
html.nightastro-night-mode .nightastro-empty,
html.nightastro-night-mode .nightastro-location-separator::before,
html.nightastro-night-mode .nightastro-location-separator::after,
html.nightastro-night-mode .nightastro-horizon,
html.nightastro-night-mode .nightastro-horizon-sector,
html.nightastro-night-mode .nightastro-direction,
html.nightastro-night-mode .nightastro-dir,
html.nightastro-night-mode .nightastro-instrument,
html.nightastro-night-mode .nightastro-instrument-plan-help,
html.nightastro-night-mode .nightastro-instrument-rec,
html.nightastro-night-mode .nightastro-now,
html.nightastro-night-mode .nightastro-meteoblue,
html.nightastro-night-mode .nightastro-sky-observation,
html.nightastro-night-mode .nightastro-sky-gap,
html.nightastro-night-mode .nightastro-collapsible,
html.nightastro-night-mode .nightastro-collapsible-summary::after,
html.nightastro-night-mode .nightastro-environment-bortle,
html.nightastro-night-mode .nightastro-refine-controls,
html.nightastro-night-mode .nightastro-control-block,
html.nightastro-night-mode .nightastro-slot-panel,
html.nightastro-night-mode .nightastro-slot-threshold::after,
html.nightastro-night-mode .nightastro-plan,
html.nightastro-night-mode .nightastro-plan-item,
html.nightastro-night-mode .nightastro-plan-index,
html.nightastro-night-mode .nightastro-target-search,
html.nightastro-night-mode .nightastro-target-no-match,
html.nightastro-night-mode .nightastro-target-detail-card,
html.nightastro-night-mode .nightastro-target-detail-image-empty,
html.nightastro-night-mode .nightastro-target-tonight,
html.nightastro-night-mode .nightastro-target-tonight.is-unavailable,
html.nightastro-night-mode .nightastro-single-target-topbar,
html.nightastro-night-mode .nightastro-single-live-panel,
html.nightastro-night-mode .nightastro-priority,
html.nightastro-night-mode .nightastro-app-nav,
html.nightastro-night-mode .nightastro-brand-mark,
html.nightastro-night-mode .nightastro-hero::before,
html.nightastro-night-mode .nightastro-home-search > div,
html.nightastro-night-mode .nightastro-orbit-core,
html.nightastro-night-mode .nightastro-orbit-dot,
html.nightastro-night-mode .nightastro-home-stats,
html.nightastro-night-mode .nightastro-feature-card,
html.nightastro-night-mode .nightastro-feature-icon,
html.nightastro-night-mode .nightastro-feature-preview,
html.nightastro-night-mode .nightastro-home-highlight,
html.nightastro-night-mode .nightastro-home-horizon-preview,
html.nightastro-night-mode .nightastro-tool-shell .nightastro-tonight,
html.nightastro-night-mode .nightastro-target-shell .nightastro-tonight,
html.nightastro-night-mode .nightastro-static-page,
html.nightastro-night-mode .nightastro-about-lead,
html.nightastro-night-mode .nightastro-credit-item,
html.nightastro-night-mode .nightastro-contact-intro,
html.nightastro-night-mode .nightastro-contact-submit,
html.nightastro-night-mode .nightastro-contact-alert.is-success,
html.nightastro-night-mode .nightastro-contact-alert.is-error,
html.nightastro-night-mode .nightastro-lang-switch,
html.nightastro-night-mode .nightastro-updates-intro,
html.nightastro-night-mode .nightastro-updates-note,
html.nightastro-night-mode .nightastro-update-card,
html.nightastro-night-mode .nightastro-update-version,
html.nightastro-night-mode .nightastro-update-latest,
html.nightastro-night-mode .nightastro-horizon-alt,
html.nightastro-night-mode .nightastro-horizon-max,
html.nightastro-night-mode .nightastro-home-preview,
html.nightastro-night-mode .nightastro-native-planning-home,
html.nightastro-night-mode .nightastro-native-planning-home > span,
html.nightastro-night-mode .nightastro-feedback-cta,
html.nightastro-night-mode .nightastro-feedback-icon,
html.nightastro-night-mode .nightastro-contact-context,
html.nightastro-night-mode .nightastro-contact-target-context,
html.nightastro-night-mode .nightastro-contact-target-context,
html.nightastro-night-mode .nightastro-instrument-guide .nightastro-instrument-guide-lead,
html.nightastro-night-mode .nightastro-framing,
html.nightastro-night-mode .nightastro-framing.is-mosaic,
html.nightastro-night-mode .nightastro-bortle-standalone,
html.nightastro-night-mode .nightastro-framing-info::after,
html.nightastro-night-mode .nightastro-tool-shell .nightastro-results:not(:empty),
html.nightastro-night-mode .nightastro-night-intensity-bar,
html.nightastro-night-mode .nightastro-night-hint,
html.nightastro-night-mode .nightastro-exclude-target,
html.nightastro-night-mode .nightastro-plan-recalculated-toast {
    background: var(--na-night-panel) !important;
}

html.nightastro-night-mode .nightastro-window-secondary,
html.nightastro-night-mode .nightastro-grid > div,
html.nightastro-night-mode .nightastro-warning,
html.nightastro-night-mode .nightastro-warning.is-ok,
html.nightastro-night-mode .nightastro-instrument-plan-help.is-native,
html.nightastro-night-mode .nightastro-instrument-rec-grid > div,
html.nightastro-night-mode .nightastro-now-grid > div,
html.nightastro-night-mode .nightastro-slot-notice.is-good,
html.nightastro-night-mode .nightastro-slot-notice.is-warning,
html.nightastro-night-mode .nightastro-slot-notice.is-bad,
html.nightastro-night-mode .nightastro-time-fit.is-good,
html.nightastro-night-mode .nightastro-time-fit.is-medium,
html.nightastro-night-mode .nightastro-time-fit.is-bad,
html.nightastro-night-mode .nightastro-plan-native,
html.nightastro-night-mode .nightastro-plan-native.is-native,
html.nightastro-night-mode .nightastro-plan-tags span,
html.nightastro-night-mode .nightastro-target-facts > div,
html.nightastro-night-mode .nightastro-target-tonight-grid > div,
html.nightastro-night-mode .nightastro-moon-proof,
html.nightastro-night-mode .nightastro-visitor-proof,
html.nightastro-night-mode .nightastro-bortle-notice,
html.nightastro-night-mode .nightastro-bortle-prompt,
html.nightastro-night-mode .nightastro-light-pollution,
html.nightastro-night-mode .nightastro-light-pollution.is-high,
html.nightastro-night-mode .nightastro-moon-fact,
html.nightastro-night-mode .nightastro-excluded-notice {
    background: var(--na-night-panel-2) !important;
}

html.nightastro-night-mode .nightastro-city-search input,
html.nightastro-night-mode .nightastro-instrument select,
html.nightastro-night-mode .nightastro-slot-fields input[type="time"],
html.nightastro-night-mode .nightastro-target-search-box input,
html.nightastro-night-mode .nightastro-contact-form input[type="text"],
html.nightastro-night-mode .nightastro-contact-form input[type="email"],
html.nightastro-night-mode .nightastro-contact-form textarea,
html.nightastro-night-mode .nightastro-bortle-select {
    background: var(--na-night-field) !important;
}

html.nightastro-night-mode .nightastro-ranking-search-link,
html.nightastro-night-mode .nightastro-show-more,
html.nightastro-night-mode .nightastro-city-search button,
html.nightastro-night-mode .nightastro-city-choice,
html.nightastro-night-mode .nightastro-horizon-btn,
html.nightastro-night-mode .nightastro-sky-btn,
html.nightastro-night-mode .nightastro-mode-btn,
html.nightastro-night-mode .nightastro-time-mode-btn,
html.nightastro-night-mode .nightastro-duration-btn,
html.nightastro-night-mode .nightastro-type-btn,
html.nightastro-night-mode .nightastro-quality-btn,
html.nightastro-night-mode .nightastro-slot-past button,
html.nightastro-night-mode .nightastro-target-search-box button,
html.nightastro-night-mode .nightastro-target-choice,
html.nightastro-night-mode .nightastro-target-choice-placeholder,
html.nightastro-night-mode .nightastro-secondary-action,
html.nightastro-night-mode .nightastro-video-action,
html.nightastro-night-mode .nightastro-video-action-icon,
html.nightastro-night-mode .nightastro-home-search button,
html.nightastro-night-mode .nightastro-video-link,
html.nightastro-night-mode .nightastro-video-link-icon,
html.nightastro-night-mode .nightastro-pwa-install,
html.nightastro-night-mode .nightastro-pwa-install__icon,
html.nightastro-night-mode .nightastro-pwa-install__button,
html.nightastro-night-mode .nightastro-slot-caption button,
html.nightastro-night-mode .nightastro-slot-secondary-action,
html.nightastro-night-mode .nightastro-support-box,
html.nightastro-night-mode .nightastro-support-link,
html.nightastro-night-mode .nightastro-night-toggle,
html.nightastro-night-mode .nightastro-night-intensity,
html.nightastro-night-mode .nightastro-night-hint button {
    background: var(--na-night-button) !important;
}

html.nightastro-night-mode .nightastro-locate,
html.nightastro-night-mode .nightastro-horizon-btn.is-active,
html.nightastro-night-mode .nightastro-dir.is-active,
html.nightastro-night-mode .nightastro-meteoblue-link,
html.nightastro-night-mode .nightastro-sky-btn.is-active,
html.nightastro-night-mode .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-mode-btn.is-active,
html.nightastro-night-mode .nightastro-time-mode-btn.is-active,
html.nightastro-night-mode .nightastro-duration-btn.is-active,
html.nightastro-night-mode .nightastro-type-btn.is-active,
html.nightastro-night-mode .nightastro-quality-btn.is-active,
html.nightastro-night-mode .nightastro-app-links .nightastro-nav-cta,
html.nightastro-night-mode .nightastro-primary-action,
html.nightastro-night-mode .nightastro-tool-shell .nightastro-locate,
html.nightastro-night-mode .nightastro-target-shell .nightastro-locate {
    background: var(--na-night-active) !important;
}

html.nightastro-night-mode .nightastro-ranking-search-link:hover,
html.nightastro-night-mode .nightastro-show-more:hover,
html.nightastro-night-mode .nightastro-city-search button:hover,
html.nightastro-night-mode .nightastro-city-choice:hover,
html.nightastro-night-mode .nightastro-dir:hover,
html.nightastro-night-mode .nightastro-dir.is-blocked:hover,
html.nightastro-night-mode .nightastro-dir:disabled:hover,
html.nightastro-night-mode .nightastro-sky-btn:hover,
html.nightastro-night-mode .nightastro-collapsible-summary:hover .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-collapsible-summary:hover,
html.nightastro-night-mode .nightastro-mode-btn:hover,
html.nightastro-night-mode .nightastro-time-mode-btn:hover,
html.nightastro-night-mode .nightastro-duration-btn:hover,
html.nightastro-night-mode .nightastro-type-btn:hover,
html.nightastro-night-mode .nightastro-quality-btn:hover,
html.nightastro-night-mode .nightastro-slot-past button:hover,
html.nightastro-night-mode .nightastro-slot-past button:focus,
html.nightastro-night-mode .nightastro-target-choice:hover,
html.nightastro-night-mode .nightastro-app-links a:hover,
html.nightastro-night-mode .nightastro-app-links a.is-active,
html.nightastro-night-mode .nightastro-video-action:hover,
html.nightastro-night-mode .nightastro-feature-card:hover,
html.nightastro-night-mode .nightastro-contact-form input:focus,
html.nightastro-night-mode .nightastro-contact-form textarea:focus,
html.nightastro-night-mode .nightastro-video-link:hover,
html.nightastro-night-mode .nightastro-pwa-install__close:hover,
html.nightastro-night-mode .nightastro-slot-caption button:hover,
html.nightastro-night-mode .nightastro-slot-caption button:focus,
html.nightastro-night-mode .nightastro-slot-secondary-action:hover,
html.nightastro-night-mode .nightastro-slot-secondary-action:focus,
html.nightastro-night-mode .nightastro-support-link:hover,
html.nightastro-night-mode .nightastro-collapsible-summary:hover .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-collapsible-summary:focus-visible .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-weather-details > summary:hover,
html.nightastro-night-mode .nightastro-weather-details > summary:focus-visible,
html.nightastro-night-mode .nightastro-night-toggle:hover,
html.nightastro-night-mode .nightastro-night-toggle:focus-visible,
html.nightastro-night-mode .nightastro-night-intensity:hover,
html.nightastro-night-mode .nightastro-night-intensity:focus-visible,
html.nightastro-night-mode .nightastro-exclude-target:hover,
html.nightastro-night-mode .nightastro-exclude-target:focus-visible {
    background: var(--na-night-hover) !important;
}

html.nightastro-night-mode .nightastro-horizon-reset,
html.nightastro-night-mode button.nightastro-target-link,
html.nightastro-night-mode body.nightastro-app-page .site,
html.nightastro-night-mode body.nightastro-app-page .site.grid-container,
html.nightastro-night-mode body.nightastro-app-page .site-content,
html.nightastro-night-mode body.nightastro-app-page .content-area,
html.nightastro-night-mode body.nightastro-app-page .site-main,
html.nightastro-night-mode body.nightastro-app-page article,
html.nightastro-night-mode body.nightastro-app-page .inside-article,
html.nightastro-night-mode body.nightastro-app-page .entry-content,
html.nightastro-night-mode .nightastro-home-search input,
html.nightastro-night-mode .nightastro-lang-switch a,
html.nightastro-night-mode .nightastro-pwa-install__close,
html.nightastro-night-mode .nightastro-tool-shell .nightastro-results .nightastro-ranking-head,
html.nightastro-night-mode .nightastro-show-all-excluded {
    background: transparent !important;
}

html.nightastro-night-mode .nightastro-locate,
html.nightastro-night-mode .nightastro-locate.is-locating::before,
html.nightastro-night-mode .nightastro-ranking-head,
html.nightastro-night-mode .nightastro-ranking-search-link,
html.nightastro-night-mode .nightastro-show-more,
html.nightastro-night-mode .nightastro-ranking-search-link:hover,
html.nightastro-night-mode .nightastro-show-more:hover,
html.nightastro-night-mode .nightastro-card,
html.nightastro-night-mode .nightastro-window-secondary,
html.nightastro-night-mode .nightastro-city-search input,
html.nightastro-night-mode .nightastro-city-search input:focus,
html.nightastro-night-mode .nightastro-city-search button,
html.nightastro-night-mode .nightastro-city-choice,
html.nightastro-night-mode .nightastro-horizon,
html.nightastro-night-mode .nightastro-horizon-sector,
html.nightastro-night-mode .nightastro-horizon-btn,
html.nightastro-night-mode .nightastro-horizon-btn.is-active,
html.nightastro-night-mode .nightastro-horizon-reset,
html.nightastro-night-mode .nightastro-direction,
html.nightastro-night-mode .nightastro-dir,
html.nightastro-night-mode .nightastro-dir.is-active,
html.nightastro-night-mode .nightastro-instrument,
html.nightastro-night-mode .nightastro-instrument select,
html.nightastro-night-mode .nightastro-instrument-plan-help,
html.nightastro-night-mode .nightastro-instrument-plan-help.is-native,
html.nightastro-night-mode .nightastro-instrument-rec,
html.nightastro-night-mode .nightastro-now,
html.nightastro-night-mode .nightastro-meteoblue,
html.nightastro-night-mode .nightastro-sky-observation,
html.nightastro-night-mode .nightastro-sky-btn,
html.nightastro-night-mode .nightastro-sky-btn.is-active,
html.nightastro-night-mode .nightastro-collapsible,
html.nightastro-night-mode .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-collapsible-summary:hover .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-collapsible-summary::after,
html.nightastro-night-mode .nightastro-collapsible-content,
html.nightastro-night-mode .nightastro-environment-bortle,
html.nightastro-night-mode .nightastro-refine-controls,
html.nightastro-night-mode .nightastro-control-block,
html.nightastro-night-mode .nightastro-subcontrol + .nightastro-subcontrol,
html.nightastro-night-mode .nightastro-mode-btn,
html.nightastro-night-mode .nightastro-time-mode-btn,
html.nightastro-night-mode .nightastro-duration-btn,
html.nightastro-night-mode .nightastro-type-btn,
html.nightastro-night-mode .nightastro-quality-btn,
html.nightastro-night-mode .nightastro-mode-btn.is-active,
html.nightastro-night-mode .nightastro-time-mode-btn.is-active,
html.nightastro-night-mode .nightastro-duration-btn.is-active,
html.nightastro-night-mode .nightastro-type-btn.is-active,
html.nightastro-night-mode .nightastro-quality-btn.is-active,
html.nightastro-night-mode .nightastro-slot-panel,
html.nightastro-night-mode .nightastro-slot-fields input[type="time"],
html.nightastro-night-mode .nightastro-slot-fields input[type="time"]:focus,
html.nightastro-night-mode .nightastro-slot-threshold::after,
html.nightastro-night-mode .nightastro-slot-notice.is-good,
html.nightastro-night-mode .nightastro-slot-notice.is-warning,
html.nightastro-night-mode .nightastro-slot-notice.is-bad,
html.nightastro-night-mode .nightastro-slot-past button,
html.nightastro-night-mode .nightastro-slot-past button:hover,
html.nightastro-night-mode .nightastro-slot-past button:focus,
html.nightastro-night-mode .nightastro-plan,
html.nightastro-night-mode .nightastro-plan-native,
html.nightastro-night-mode .nightastro-plan-native.is-native,
html.nightastro-night-mode .nightastro-target-search,
html.nightastro-night-mode .nightastro-target-search-box input,
html.nightastro-night-mode .nightastro-target-search-box input:focus,
html.nightastro-night-mode .nightastro-target-search-box button,
html.nightastro-night-mode .nightastro-target-choice,
html.nightastro-night-mode .nightastro-target-choice:hover,
html.nightastro-night-mode .nightastro-target-detail-card,
html.nightastro-night-mode .nightastro-target-tonight,
html.nightastro-night-mode .nightastro-target-tonight.is-unavailable,
html.nightastro-night-mode button.nightastro-target-link,
html.nightastro-night-mode .nightastro-single-target-topbar,
html.nightastro-night-mode .nightastro-single-live-panel,
html.nightastro-night-mode .nightastro-priority,
html.nightastro-night-mode .nightastro-app-nav,
html.nightastro-night-mode .nightastro-brand-mark,
html.nightastro-night-mode .nightastro-app-links .nightastro-nav-cta,
html.nightastro-night-mode .nightastro-moon-proof,
html.nightastro-night-mode .nightastro-visitor-proof,
html.nightastro-night-mode .nightastro-secondary-action,
html.nightastro-night-mode .nightastro-video-action,
html.nightastro-night-mode .nightastro-home-search > div,
html.nightastro-night-mode .nightastro-home-search input,
html.nightastro-night-mode .nightastro-home-search button,
html.nightastro-night-mode .nightastro-orbit,
html.nightastro-night-mode .nightastro-orbit-core,
html.nightastro-night-mode .nightastro-home-stats,
html.nightastro-night-mode .nightastro-home-stats > div,
html.nightastro-night-mode .nightastro-home-stats > div:last-child,
html.nightastro-night-mode .nightastro-feature-card,
html.nightastro-night-mode .nightastro-feature-card:hover,
html.nightastro-night-mode .nightastro-feature-preview,
html.nightastro-night-mode .nightastro-home-highlight,
html.nightastro-night-mode .nightastro-home-horizon-preview,
html.nightastro-night-mode .nightastro-app-footer,
html.nightastro-night-mode .nightastro-tool-shell .nightastro-tonight,
html.nightastro-night-mode .nightastro-target-shell .nightastro-tonight,
html.nightastro-night-mode .nightastro-static-page,
html.nightastro-night-mode .nightastro-static-content section,
html.nightastro-night-mode .nightastro-static-content section:first-child,
html.nightastro-night-mode .nightastro-about-lead,
html.nightastro-night-mode .nightastro-credit-item,
html.nightastro-night-mode .nightastro-contact-intro,
html.nightastro-night-mode .nightastro-contact-form input[type="text"],
html.nightastro-night-mode .nightastro-contact-form input[type="email"],
html.nightastro-night-mode .nightastro-contact-form textarea,
html.nightastro-night-mode .nightastro-contact-form input:focus,
html.nightastro-night-mode .nightastro-contact-form textarea:focus,
html.nightastro-night-mode .nightastro-contact-submit,
html.nightastro-night-mode .nightastro-contact-alert.is-success,
html.nightastro-night-mode .nightastro-contact-alert.is-error,
html.nightastro-night-mode .nightastro-lang-switch,
html.nightastro-night-mode .nightastro-lang-switch a,
html.nightastro-night-mode .nightastro-updates-intro,
html.nightastro-night-mode .nightastro-updates-note,
html.nightastro-night-mode .nightastro-update-card {
    border-color: var(--na-night-line-soft) !important;
}

html.nightastro-night-mode .nightastro-update-card.is-latest,
html.nightastro-night-mode .nightastro-horizon-alt,
html.nightastro-night-mode .nightastro-horizon-max,
html.nightastro-night-mode .nightastro-horizon-alt:focus,
html.nightastro-night-mode .nightastro-horizon-max:focus,
html.nightastro-night-mode .nightastro-home-preview,
html.nightastro-night-mode .nightastro-native-planning-home,
html.nightastro-night-mode .nightastro-feedback-cta,
html.nightastro-night-mode .nightastro-contact-context,
html.nightastro-night-mode .nightastro-contact-target-context,
html.nightastro-night-mode .nightastro-contact-target-context,
html.nightastro-night-mode .nightastro-horizon-alt.is-blocked,
html.nightastro-night-mode .nightastro-horizon-max.is-blocked,
html.nightastro-night-mode .nightastro-video-link,
html.nightastro-night-mode .nightastro-video-link:hover,
html.nightastro-night-mode .nightastro-pwa-install,
html.nightastro-night-mode .nightastro-pwa-install__icon,
html.nightastro-night-mode .nightastro-pwa-install__button,
html.nightastro-night-mode .nightastro-pwa-install__close,
html.nightastro-night-mode .nightastro-supported-instruments a,
html.nightastro-night-mode .nightastro-supported-instruments a:hover,
html.nightastro-night-mode .nightastro-instrument-guide .nightastro-instrument-guide-lead,
html.nightastro-night-mode .nightastro-slot-block + .nightastro-slot-block,
html.nightastro-night-mode .nightastro-slot-block-secondary,
html.nightastro-night-mode .nightastro-slot-caption button,
html.nightastro-night-mode .nightastro-slot-secondary-action,
html.nightastro-night-mode .nightastro-slot-caption button:hover,
html.nightastro-night-mode .nightastro-slot-caption button:focus,
html.nightastro-night-mode .nightastro-slot-secondary-action:hover,
html.nightastro-night-mode .nightastro-slot-secondary-action:focus,
html.nightastro-night-mode .nightastro-framing,
html.nightastro-night-mode .nightastro-framing.is-mosaic,
html.nightastro-night-mode .nightastro-bortle-select,
html.nightastro-night-mode .nightastro-bortle-standalone,
html.nightastro-night-mode .nightastro-bortle-notice,
html.nightastro-night-mode .nightastro-bortle-prompt,
html.nightastro-night-mode .nightastro-light-pollution,
html.nightastro-night-mode .nightastro-light-pollution.is-high,
html.nightastro-night-mode .nightastro-light-pollution.is-medium,
html.nightastro-night-mode .nightastro-support-box,
html.nightastro-night-mode .nightastro-support-link,
html.nightastro-night-mode .nightastro-support-link:hover,
html.nightastro-night-mode .nightastro-collapsible-summary:hover .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-collapsible-summary:focus-visible .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-moon-fact,
html.nightastro-night-mode .nightastro-weather-details,
html.nightastro-night-mode .nightastro-framing-info::after,
html.nightastro-night-mode .nightastro-tool-shell .nightastro-results .nightastro-ranking-head,
html.nightastro-night-mode .nightastro-night-toggle,
html.nightastro-night-mode .nightastro-night-intensity,
html.nightastro-night-mode .nightastro-night-toggle:hover,
html.nightastro-night-mode .nightastro-night-toggle:focus-visible,
html.nightastro-night-mode .nightastro-night-intensity:hover,
html.nightastro-night-mode .nightastro-night-intensity:focus-visible,
html.nightastro-night-mode .nightastro-night-hint,
html.nightastro-night-mode .nightastro-night-hint button,
html.nightastro-night-mode .nightastro-excluded-notice,
html.nightastro-night-mode .nightastro-show-all-excluded,
html.nightastro-night-mode .nightastro-exclude-target,
html.nightastro-night-mode .nightastro-exclude-target:hover,
html.nightastro-night-mode .nightastro-exclude-target:focus-visible,
html.nightastro-night-mode .nightastro-plan-recalculated-toast {
    border-color: var(--na-night-line-soft) !important;
}

html.nightastro-night-mode .nightastro-tonight,
html.nightastro-night-mode .nightastro-collapsible,
html.nightastro-night-mode .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-collapsible-summary:hover .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-collapsible-summary:hover,
html.nightastro-night-mode .nightastro-slot-fields input[type="time"]:focus,
html.nightastro-night-mode .nightastro-slot-threshold::after,
html.nightastro-night-mode .nightastro-target-search,
html.nightastro-night-mode .nightastro-target-search-box input:focus,
html.nightastro-night-mode body.nightastro-app-page .site,
html.nightastro-night-mode body.nightastro-app-page .site.grid-container,
html.nightastro-night-mode body.nightastro-app-page .site-content,
html.nightastro-night-mode body.nightastro-app-page .content-area,
html.nightastro-night-mode body.nightastro-app-page .site-main,
html.nightastro-night-mode body.nightastro-app-page article,
html.nightastro-night-mode body.nightastro-app-page .inside-article,
html.nightastro-night-mode body.nightastro-app-page .entry-content,
html.nightastro-night-mode .nightastro-brand-mark,
html.nightastro-night-mode .nightastro-primary-action,
html.nightastro-night-mode .nightastro-video-action,
html.nightastro-night-mode .nightastro-video-action:hover,
html.nightastro-night-mode .nightastro-home-search > div,
html.nightastro-night-mode .nightastro-orbit-core,
html.nightastro-night-mode .nightastro-orbit-dot,
html.nightastro-night-mode .nightastro-feature-preview,
html.nightastro-night-mode .nightastro-home-horizon-preview,
html.nightastro-night-mode .nightastro-tool-shell .nightastro-tonight,
html.nightastro-night-mode .nightastro-target-shell .nightastro-tonight,
html.nightastro-night-mode .nightastro-tool-shell .nightastro-locate,
html.nightastro-night-mode .nightastro-target-shell .nightastro-locate,
html.nightastro-night-mode .nightastro-target-search,
html.nightastro-night-mode .nightastro-horizon,
html.nightastro-night-mode .nightastro-direction,
html.nightastro-night-mode .nightastro-session-controls,
html.nightastro-night-mode .nightastro-instrument,
html.nightastro-night-mode .nightastro-card,
html.nightastro-night-mode .nightastro-target-detail-card,
html.nightastro-night-mode .nightastro-single-live-panel,
html.nightastro-night-mode .nightastro-static-page,
html.nightastro-night-mode .nightastro-contact-form input:focus,
html.nightastro-night-mode .nightastro-contact-form textarea:focus,
html.nightastro-night-mode .nightastro-contact-submit,
html.nightastro-night-mode .nightastro-update-card.is-latest,
html.nightastro-night-mode .nightastro-horizon-alt:focus,
html.nightastro-night-mode .nightastro-horizon-max:focus,
html.nightastro-night-mode .nightastro-home-preview,
html.nightastro-night-mode .nightastro-pwa-install,
html.nightastro-night-mode .nightastro-collapsible-summary:hover .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-collapsible-summary:focus-visible .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-framing-info::after,
html.nightastro-night-mode .nightastro-tool-shell .nightastro-results .nightastro-ranking-head,
html.nightastro-night-mode .nightastro-night-hint,
html.nightastro-night-mode .nightastro-plan-recalculated-toast {
    box-shadow: none !important;
}

html.nightastro-night-mode .nightastro-city-search input,
html.nightastro-night-mode .nightastro-collapsible-summary:focus-visible,
html.nightastro-night-mode .nightastro-slot-fields input[type="time"]:focus,
html.nightastro-night-mode .nightastro-slot-threshold,
html.nightastro-night-mode .nightastro-slot-past button:hover,
html.nightastro-night-mode .nightastro-slot-past button:focus,
html.nightastro-night-mode .nightastro-target-search-box input,
html.nightastro-night-mode .nightastro-home-search input,
html.nightastro-night-mode .nightastro-contact-form input[type="text"],
html.nightastro-night-mode .nightastro-contact-form input[type="email"],
html.nightastro-night-mode .nightastro-contact-form textarea,
html.nightastro-night-mode .nightastro-horizon-alt,
html.nightastro-night-mode .nightastro-horizon-max,
html.nightastro-night-mode .nightastro-slot-caption button:hover,
html.nightastro-night-mode .nightastro-slot-caption button:focus,
html.nightastro-night-mode .nightastro-slot-secondary-action:hover,
html.nightastro-night-mode .nightastro-slot-secondary-action:focus,
html.nightastro-night-mode .nightastro-weather-details > summary:hover,
html.nightastro-night-mode .nightastro-weather-details > summary:focus-visible,
html.nightastro-night-mode .nightastro-framing-info,
html.nightastro-night-mode .nightastro-night-toggle:hover,
html.nightastro-night-mode .nightastro-night-toggle:focus-visible,
html.nightastro-night-mode .nightastro-night-intensity:hover,
html.nightastro-night-mode .nightastro-night-intensity:focus-visible,
html.nightastro-night-mode .nightastro-exclude-target:hover,
html.nightastro-night-mode .nightastro-exclude-target:focus-visible {
    outline-color: var(--na-night-focus) !important;
}


/* Hiérarchie visuelle réappliquée après la normalisation automatique. */
html.nightastro-night-mode body.nightastro-app-page :where(
    .nightastro-header h2,
    .nightastro-card h3,
    .nightastro-ranking-head-copy strong,
    .nightastro-weather-summary-copy strong,
    .nightastro-collapsible-title,
    .nightastro-control-title,
    .nightastro-target-detail-title,
    .nightastro-plan-title,
    .nightastro-footer-brand strong
) {
    color: var(--na-night-strong) !important;
}
html.nightastro-night-mode body.nightastro-app-page :where(
    .nightastro-header p,
    .nightastro-meta,
    .nightastro-collapsible-meta,
    .nightastro-instrument-field,
    .nightastro-season,
    .nightastro-season small,
    .nightastro-target-facts span,
    .nightastro-target-tonight-grid span,
    .nightastro-grid span,
    .nightastro-now-grid span,
    .nightastro-instrument-rec-grid span,
    .nightastro-footer-brand span,
    .nightastro-footer-copyright,
    .nightastro-footer-note,
    .nightastro-moon-fact,
    .nightastro-framing-field
) {
    color: var(--na-night-muted) !important;
}

/* Surfaces interactives et statuts cités dans le test terrain : toutes
   utilisent désormais les mêmes variables rouges quel que soit leur style
   d'origine. */
html.nightastro-night-mode .nightastro-meteoblue-link,
html.nightastro-night-mode .nightastro-collapsible-edit,
html.nightastro-night-mode .nightastro-collapsible-summary::after {
    background: var(--na-night-active) !important;
    border-color: var(--na-night-line) !important;
    color: var(--na-night-strong) !important;
    filter: none !important;
}
html.nightastro-night-mode .nightastro-instrument-plan-help,
html.nightastro-night-mode .nightastro-instrument-plan-help.is-native,
html.nightastro-night-mode .nightastro-instrument-plan-help.is-manual,
html.nightastro-night-mode .nightastro-warning,
html.nightastro-night-mode .nightastro-warning.is-ok,
html.nightastro-night-mode .nightastro-slot-notice,
html.nightastro-night-mode .nightastro-slot-notice.is-good,
html.nightastro-night-mode .nightastro-slot-notice.is-warning,
html.nightastro-night-mode .nightastro-slot-notice.is-bad,
html.nightastro-night-mode .nightastro-light-pollution,
html.nightastro-night-mode .nightastro-light-pollution.is-high,
html.nightastro-night-mode .nightastro-light-pollution.is-medium {
    background: var(--na-night-panel-2) !important;
    border-color: var(--na-night-line-soft) !important;
    color: var(--na-night-primary) !important;
}
html.nightastro-night-mode .nightastro-meteoblue-link:hover,
html.nightastro-night-mode .nightastro-meteoblue-link:focus,
html.nightastro-night-mode .nightastro-collapsible-edit:hover,
html.nightastro-night-mode .nightastro-collapsible-edit:focus-visible {
    background: var(--na-night-hover) !important;
    color: var(--na-night-strong) !important;
}

/* Les indicateurs sémantiques restent différenciés uniquement par luminance,
   jamais par vert/jaune/bleu. */
html.nightastro-night-mode :where(
    .is-green, .is-orange, .is-red,
    .nightastro-time-fit.is-good,
    .nightastro-time-fit.is-medium,
    .nightastro-time-fit.is-bad,
    .nightastro-warning,
    .nightastro-warning.is-ok
) {
    color: var(--na-night-primary) !important;
}
html.nightastro-night-mode :where(
    .nightastro-dot.is-green,
    .nightastro-dot.is-orange,
    .nightastro-dot.is-red
) {
    background: var(--na-night-primary) !important;
}

/* SVG/icônes : le rouge suit currentColor ; la Lune conserve son disque noir. */
html.nightastro-night-mode body.nightastro-app-page svg {
    color: var(--na-night-primary) !important;
}
html.nightastro-night-mode .nightastro-moon-proof-icon svg .nightastro-moon-dark {
    fill: var(--na-night-bg) !important;
}
html.nightastro-night-mode .nightastro-moon-proof-icon svg .nightastro-moon-lit {
    fill: var(--na-night-primary) !important;
}
html.nightastro-night-mode .nightastro-moon-proof-icon svg .nightastro-moon-ring {
    stroke: var(--na-night-line) !important;
}



/* ================================================================
   v0.7.31.7 — ergonomie terrain du mode nuit
   Faible/moyen : images directement visibles en rouge sombre.
   Fort : masque protecteur conservé. Les deux commandes nuit disposent
   d'une vraie zone tactile de 44 px et restent repérables après la passe
   globale de normalisation des couleurs.
   ================================================================ */
html.nightastro-night-mode .nightastro-night-toggle,
html.nightastro-night-mode .nightastro-night-intensity {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border: 2px solid var(--na-night-focus) !important;
    background: var(--na-night-panel-2) !important;
    color: var(--na-night-strong) !important;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.52), 0 0 0 1px var(--na-night-line-soft) !important;
}
html.nightastro-night-mode .nightastro-night-toggle {
    background: var(--na-night-active) !important;
    font-size: 22px !important;
}
html.nightastro-night-mode .nightastro-night-toggle:hover,
html.nightastro-night-mode .nightastro-night-toggle:focus-visible,
html.nightastro-night-mode .nightastro-night-intensity:hover,
html.nightastro-night-mode .nightastro-night-intensity:focus-visible {
    border-color: var(--na-night-strong) !important;
    background: var(--na-night-hover) !important;
    outline: 1px solid var(--na-night-line) !important;
    outline-offset: 2px;
}
@media (max-width: 720px) {
    html.nightastro-night-mode .nightastro-night-toggle,
    html.nightastro-night-mode .nightastro-night-intensity {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
    }
}

/* ================================================================
   NightAstro v0.7.33 — affichage simultané Ensemble / Cœur
   ================================================================ */
.nightastro-framing-dual {
    gap: 6px;
}
.nightastro-framing-dual > .nightastro-framing-heading {
    margin-bottom: 1px;
}
.nightastro-framing-option {
    display: grid;
    grid-template-columns: minmax(76px, .72fr) minmax(0, 1.28fr);
    gap: 8px;
    align-items: center;
    padding-top: 4px;
    border-top: 1px solid rgba(125, 166, 204, .10);
}
.nightastro-framing-option > span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #8ca3bc;
    font-size: 10px;
    font-weight: 700;
}
.nightastro-framing-option > strong {
    color: #e8f4ff;
    font-size: 11.5px;
    line-height: 1.3;
    text-align: right;
}
.nightastro-framing-option.is-mosaic > strong,
.nightastro-framing-option.is-tight > strong {
    color: #f0d7a8;
}
.nightastro-core-info {
    flex: 0 0 auto;
}

@media (max-width: 520px) {
    .nightastro-framing-option {
        grid-template-columns: minmax(68px, .62fr) minmax(0, 1.38fr);
        gap: 6px;
    }
    .nightastro-framing-option > strong {
        font-size: 11px;
    }
}

html.nightastro-night-mode .nightastro-framing-option {
    border-top-color: var(--na-night-line-soft) !important;
}
html.nightastro-night-mode .nightastro-framing-option > span,
html.nightastro-night-mode .nightastro-framing-option > strong,
html.nightastro-night-mode .nightastro-framing-option.is-mosaic > strong,
html.nightastro-night-mode .nightastro-framing-option.is-tight > strong {
    color: var(--na-night-strong) !important;
}


/* -------------------------------------------------------------------------
 * v0.7.41 — Top 5 visuel de la page d'accueil
 * ---------------------------------------------------------------------- */
.nightastro-home-top5 {
    margin: 30px 0 34px;
    padding: 24px;
    border: 1px solid rgba(90, 148, 255, .22);
    border-radius: 24px;
    background:
        radial-gradient(circle at 88% 8%, rgba(47, 112, 255, .14), transparent 28%),
        linear-gradient(145deg, rgba(8, 19, 43, .97), rgba(4, 12, 28, .98));
    box-shadow: 0 22px 60px rgba(0, 0, 0, .20);
    overflow: hidden;
}
.nightastro-top5-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.nightastro-top5-heading h2 { margin:4px 0 7px; font-size:clamp(1.5rem, 2.5vw, 2.25rem); }
.nightastro-top5-heading p { margin:0; max-width:820px; color:var(--na-muted, #aab9d4); }
.nightastro-top5-test-badge { flex:0 0 auto; padding:7px 10px; border-radius:999px; background:rgba(255,190,64,.12); border:1px solid rgba(255,190,64,.35); color:#ffd98c; font-size:.78rem; font-weight:700; }
.nightastro-home-top5-loading { min-height:180px; display:flex; align-items:center; justify-content:center; gap:10px; color:#bfd0ec; }
.nightastro-home-top5-loading-star { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:rgba(82,139,255,.14); animation:nightastroTop5Pulse 1.7s ease-in-out infinite; }
@keyframes nightastroTop5Pulse { 0%,100%{transform:scale(.92);opacity:.65} 50%{transform:scale(1.08);opacity:1} }
.nightastro-top5-track { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.nightastro-top5-card { min-width:0; border-radius:18px; overflow:hidden; background:rgba(14,28,54,.92); border:1px solid rgba(112,153,220,.22); color:inherit; text-decoration:none; box-shadow:0 12px 32px rgba(0,0,0,.18); transform:translateY(0); opacity:0; animation:nightastroTop5In .5s ease forwards; --na-top5-title:#edf4ff; --na-top5-common:#90a8cb; --na-top5-altitude:#edf4ff; }
.nightastro-top5-card:nth-child(2){animation-delay:.06s}.nightastro-top5-card:nth-child(3){animation-delay:.12s}.nightastro-top5-card:nth-child(4){animation-delay:.18s}.nightastro-top5-card:nth-child(5){animation-delay:.24s}
.nightastro-home-top5.is-live .nightastro-top5-card { animation:none; opacity:1; }
@keyframes nightastroTop5In { to{opacity:1;transform:translateY(0)} from{opacity:0;transform:translateY(8px)} }
.nightastro-top5-card:hover { transform:translateY(-3px); border-color:rgba(110,165,255,.5); box-shadow:0 18px 42px rgba(0,0,0,.25); }
.nightastro-top5-card:focus-visible { outline:3px solid #89b4ff; outline-offset:3px; }
.nightastro-top5-card:link .nightastro-top5-body h3,
.nightastro-top5-card:visited .nightastro-top5-body h3,
.nightastro-top5-card:hover .nightastro-top5-body h3,
.nightastro-top5-card:focus .nightastro-top5-body h3,
.nightastro-top5-card:active .nightastro-top5-body h3 { color:var(--na-top5-title) !important; }
.nightastro-top5-card:link .nightastro-top5-common,
.nightastro-top5-card:visited .nightastro-top5-common,
.nightastro-top5-card:hover .nightastro-top5-common,
.nightastro-top5-card:focus .nightastro-top5-common,
.nightastro-top5-card:active .nightastro-top5-common { color:var(--na-top5-common) !important; }
.nightastro-top5-card:link .nightastro-top5-skyline strong,
.nightastro-top5-card:visited .nightastro-top5-skyline strong,
.nightastro-top5-card:hover .nightastro-top5-skyline strong,
.nightastro-top5-card:focus .nightastro-top5-skyline strong,
.nightastro-top5-card:active .nightastro-top5-skyline strong { color:var(--na-top5-altitude) !important; }
.nightastro-top5-track:not(.is-weather) .nightastro-top5-card:first-child { border-color:rgba(77,155,255,.55); box-shadow:0 16px 42px rgba(21,91,211,.16); }
.nightastro-top5-media { position:relative; aspect-ratio:1.38/1; overflow:hidden; background:#071226; }
.nightastro-top5-media .nightastro-night-image-frame { width:100%; height:100%; display:block; border-radius:0; }
.nightastro-top5-image { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.nightastro-top5-card:hover .nightastro-top5-image { transform:scale(1.035); }
.nightastro-top5-media::after { content:""; position:absolute; inset:38% 0 0; pointer-events:none; background:linear-gradient(transparent,rgba(5,13,29,.78)); }
.nightastro-top5-rank { position:absolute; z-index:3; top:10px; left:10px; min-width:30px; height:30px; display:grid; place-items:center; border-radius:999px; background:rgba(4,12,28,.78); border:1px solid rgba(255,255,255,.16); color:#fff; font-weight:800; font-size:.82rem; backdrop-filter:blur(6px); }
.nightastro-top5-badges { position:absolute; z-index:3; left:10px; right:10px; bottom:9px; display:flex; flex-wrap:wrap; gap:5px; }
.nightastro-top5-badge { padding:4px 7px; border-radius:999px; font-size:.65rem; line-height:1.15; font-weight:800; background:rgba(20,38,68,.88); color:#dbe8ff; border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(5px); }
.nightastro-top5-badge.is-ideal,.nightastro-top5-badge.is-now { background:rgba(24,143,101,.88); color:#f2fff9; }
.nightastro-top5-badge.is-filter { background:rgba(73,73,184,.88); }
.nightastro-top5-badge.is-mosaic { background:rgba(117,74,171,.9); }
.nightastro-top5-badge.is-first { background:rgba(38,116,190,.9); }
.nightastro-top5-body { padding:13px 13px 15px; }
.nightastro-top5-body h3 { margin:0; font-size:1rem; line-height:1.2; }
.nightastro-top5-common { display:block; margin-top:3px; min-height:1.1em; font-size:.77rem; color:#90a8cb; }
.nightastro-top5-skyline { display:flex; align-items:center; gap:8px; margin:11px 0 9px; padding:8px; border-radius:12px; background:rgba(3,11,26,.45); }
.nightastro-top5-skyline > div { display:flex; flex-direction:column; }
.nightastro-top5-skyline strong { font-size:.92rem; }
.nightastro-top5-skyline span { font-size:.72rem; color:#9db1cf; }
.nightastro-top5-altitude { width:76px; height:44px; flex:0 0 76px; overflow:visible; }
.nightastro-top5-altitude-arc { fill:none; stroke:#5c8ee8; stroke-width:2.2; opacity:.9; }
.nightastro-top5-altitude-horizon { stroke:rgba(164,189,231,.35); stroke-width:1; }
.nightastro-top5-altitude-dot { fill:#bcd4ff; stroke:#2f72d7; stroke-width:2; }
.nightastro-top5-altitude text { fill:#8da7cf; font-size:7px; font-family:inherit; }
.nightastro-top5-data { display:grid; gap:7px; }
.nightastro-top5-data > div { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; font-size:.73rem; }
.nightastro-top5-data span { color:#91a6c7; }
.nightastro-top5-data strong { color:#edf4ff; font-size:.74rem; text-align:right; }
.nightastro-top5-footer { display:flex; justify-content:flex-end; margin-top:15px; }
.nightastro-top5-footer a { color:#9fc1ff; font-weight:700; text-decoration:none; }
.nightastro-top5-track.is-weather .nightastro-top5-card { opacity:.72; filter:saturate(.68); }
.nightastro-top5-message { padding:26px; border-radius:16px; border:1px solid rgba(117,153,210,.2); background:rgba(7,17,35,.62); display:grid; gap:5px; text-align:center; }
.nightastro-top5-message.is-error { border-color:rgba(223,102,102,.28); }
.nightastro-top5-preview-wrap { position:relative; }
.nightastro-top5-track.is-preview .nightastro-top5-card { min-height:0; }
.nightastro-top5-card.is-preview .nightastro-top5-media { aspect-ratio:1.55/1; }
.nightastro-top5-season-label { display:block; margin-top:9px; color:#a9bce0; font-size:.74rem; }
.nightastro-top5-preview-cta { margin-top:16px; display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; }
.nightastro-top5-preview-cta span { color:#91a6c7; font-size:.82rem; }

@media (max-width: 980px) {
    .nightastro-top5-track { display:flex; gap:13px; overflow-x:auto; scroll-snap-type:x mandatory; padding:0 14% 10px 0; scrollbar-width:thin; }
    .nightastro-top5-card { flex:0 0 min(82vw, 360px); scroll-snap-align:start; }
}
@media (max-width: 620px) {
    .nightastro-home-top5 { margin:22px -2px 28px; padding:14px 12px; border-radius:20px; }
    .nightastro-top5-heading { display:block; margin-bottom:10px; }
    .nightastro-top5-heading h2 { margin:3px 0 4px; font-size:1.55rem; line-height:1.08; }
    .nightastro-top5-heading p { font-size:.78rem; line-height:1.35; }
    .nightastro-top5-test-badge { display:inline-block; margin-top:8px; }
    .nightastro-top5-track { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; overflow:visible; scroll-snap-type:none; padding:0; }
    .nightastro-top5-card { min-width:0; width:auto; flex:none; scroll-snap-align:none; border-radius:13px; }
    .nightastro-top5-card:first-child { grid-column:1 / -1; display:grid; grid-template-columns:92px minmax(0,1fr); min-height:92px; }
    .nightastro-top5-card:first-child .nightastro-top5-media { height:100%; min-height:92px; aspect-ratio:auto; }
    .nightastro-top5-card:first-child .nightastro-top5-body { padding:9px 10px; align-self:center; }
    .nightastro-top5-card:not(:first-child) .nightastro-top5-media { height:42px; aspect-ratio:auto; }
    .nightastro-top5-card:not(:first-child) .nightastro-top5-body { padding:5px 7px 6px; }
    .nightastro-top5-card:not(:first-child) .nightastro-top5-common { display:none; }
    .nightastro-top5-card:not(:first-child) .nightastro-top5-badge:not(.is-filter) { display:none; }
    .nightastro-top5-body h3 { font-size:.78rem; line-height:1.08; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .nightastro-top5-common { margin-top:2px; min-height:0; font-size:.68rem; line-height:1.15; }
    .nightastro-top5-rank { top:5px; left:5px; min-width:23px; height:23px; font-size:.66rem; }
    .nightastro-top5-badges { left:5px; right:5px; bottom:4px; gap:3px; }
    .nightastro-top5-badge { padding:2px 5px; font-size:.54rem; }
    .nightastro-top5-skyline { margin:3px 0 2px; padding:0; gap:4px; background:transparent; border-radius:0; }
    .nightastro-top5-altitude { display:none; }
    .nightastro-top5-skyline > div { flex-direction:row; align-items:baseline; gap:4px; }
    .nightastro-top5-skyline strong { font-size:.72rem; }
    .nightastro-top5-skyline span { font-size:.62rem; }
    .nightastro-top5-data { gap:0; }
    .nightastro-top5-data > div { display:block; font-size:.62rem; line-height:1.08; }
    .nightastro-top5-data > div:first-child span { display:none; }
    .nightastro-top5-data > div:first-child strong { display:block; text-align:left; font-size:.63rem; white-space:nowrap; }
    .nightastro-top5-data > div:last-child { display:none; }
    .nightastro-top5-footer { margin-top:9px; font-size:.78rem; }
    .nightastro-top5-preview-cta { align-items:stretch; flex-direction:column; }
    .nightastro-top5-preview-cta .nightastro-primary-action { width:100%; text-align:center; }

    .nightastro-home-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .nightastro-home-stats > div { min-width:0; padding:11px 6px; border-right:1px solid var(--na-line); border-bottom:0; text-align:center; align-content:start; }
    .nightastro-home-stats > div:last-child { border-right:0; border-bottom:0; }
    .nightastro-home-stats strong { font-size:20px; line-height:1; }
    .nightastro-home-stats span { font-size:9px; line-height:1.2; overflow-wrap:anywhere; }
}

html.nightastro-night-mode .nightastro-home-top5 { background:#070000 !important; border-color:var(--na-night-line) !important; box-shadow:none !important; }
html.nightastro-night-mode .nightastro-top5-card,
html.nightastro-night-mode .nightastro-top5-skyline,
html.nightastro-night-mode .nightastro-top5-message { background:#090000 !important; border-color:var(--na-night-line) !important; box-shadow:none !important; }
html.nightastro-night-mode .nightastro-top5-card { --na-top5-title:var(--na-night-strong); --na-top5-common:var(--na-night-muted); --na-top5-altitude:var(--na-night-strong); }
html.nightastro-night-mode .nightastro-top5-card:focus-visible { outline-color:var(--na-night-primary) !important; }
html.nightastro-night-mode .nightastro-top5-heading p,
html.nightastro-night-mode .nightastro-top5-common,
html.nightastro-night-mode .nightastro-top5-data span,
html.nightastro-night-mode .nightastro-top5-skyline span,
html.nightastro-night-mode .nightastro-top5-season-label,
html.nightastro-night-mode .nightastro-top5-preview-cta span { color:var(--na-night-muted) !important; }
html.nightastro-night-mode .nightastro-top5-data strong,
html.nightastro-night-mode .nightastro-top5-body h3 { color:var(--na-night-strong) !important; }
html.nightastro-night-mode .nightastro-top5-altitude-arc,
html.nightastro-night-mode .nightastro-top5-altitude-horizon { stroke:var(--na-night-line) !important; }
html.nightastro-night-mode .nightastro-top5-altitude-dot { fill:var(--na-night-primary) !important; stroke:var(--na-night-strong) !important; }
html.nightastro-night-mode .nightastro-top5-altitude text { fill:var(--na-night-muted) !important; }
html.nightastro-night-mode .nightastro-top5-badge { background:#180000 !important; color:var(--na-night-muted) !important; border-color:var(--na-night-line) !important; }
html.nightastro-night-mode .nightastro-nav-new-badge { background:#180000 !important; color:var(--na-night-primary) !important; border-color:var(--na-night-line) !important; }
html.nightastro-night-mode .nightastro-top5-footer a { color:var(--na-night-primary) !important; }


/* -------------------------------------------------------------------------
 * v0.7.42 — accueil compact : H1 + faits, Top 5, actions, recherche, stats
 * ---------------------------------------------------------------------- */
.nightastro-home-intro {
    position:relative;
    margin:18px 0 0;
    padding:28px 30px 24px;
    overflow:hidden;
    border:1px solid rgba(90,148,255,.16);
    border-radius:24px;
    background:
        radial-gradient(circle at 88% 12%, rgba(188,212,255,.10) 0 2px, transparent 3px),
        radial-gradient(circle at 73% 34%, rgba(111,186,255,.10) 0 1px, transparent 2px),
        radial-gradient(circle at 92% 70%, rgba(111,186,255,.08) 0 1px, transparent 2px),
        linear-gradient(120deg, rgba(8,21,46,.94), rgba(5,13,29,.98));
}
.nightastro-home-intro::after {
    content:"";
    position:absolute;
    width:210px;
    height:210px;
    right:-64px;
    top:-102px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(109,153,255,.12), transparent 68%);
    pointer-events:none;
}
.nightastro-home-intro-copy { position:relative; z-index:1; }
.nightastro-home-intro h1 {
    margin:0;
    max-width:760px;
    color:#fff;
    font-size:clamp(34px,4.4vw,58px);
    line-height:1.02;
    letter-spacing:-1.7px;
}
.nightastro-home-facts {
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:14px;
    color:#93aac6;
    font-size:11px;
    line-height:1.25;
}
.nightastro-home-fact { min-width:0; white-space:nowrap; }
.nightastro-home-facts .nightastro-moon-proof {
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#93aac6;
    font-size:11px;
}
.nightastro-home-facts .nightastro-moon-proof-icon { width:16px; height:16px; }
.nightastro-home-facts .nightastro-moon-proof-icon svg { width:16px; height:16px; }
.nightastro-moon-text-short,
.nightastro-home-date-short { display:none; }
.nightastro-home-session-proof {
    margin-top:8px;
    color:#607d9d;
    font-size:10px;
}
.nightastro-home-session-proof strong { color:#86aee0; }
.nightastro-home-intro + .nightastro-home-top5 { margin-top:16px; }
.nightastro-home-actions-panel { margin:0 0 16px; }
.nightastro-home-primary-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.nightastro-home-action {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    margin:0;
    text-align:center;
}
.nightastro-home-secondary-row {
    display:flex;
    justify-content:center;
    margin-top:10px;
}
/* NightAstro 0.7.56 — actualité d’accueil au format de la fenêtre sans Lune. */
.nightastro-home-latest-news-panel {
    max-width:none;
    margin:-5px 0 16px;
}
.nightastro-home-latest-news-summary {
    padding:12px 14px;
}
.nightastro-home-latest-news-summary + .nightastro-home-latest-news-summary {
    border-top:1px solid rgba(126,149,174,.16);
}
.nightastro-home-latest-news-archive {
    display:flex;
    justify-content:flex-end;
    padding:9px 14px 11px;
    border-top:1px solid rgba(126,149,174,.16);
}
.nightastro-home-latest-news-layout {
    min-width:0;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    width:100%;
}
.nightastro-nav-new-badge.nightastro-home-latest-news-badge {
    min-height:24px;
    padding:4px 8px;
    border-color:rgba(255,202,95,.58);
    background:rgba(255,202,95,.82);
    color:#241900;
    font-size:9.5px;
    letter-spacing:.045em;
}
.nightastro-home-latest-news-copy {
    min-width:0;
    display:flex;
    align-items:baseline;
    gap:6px;
    flex-wrap:wrap;
    color:#7e95ae;
    font-size:14px;
    line-height:1.45;
}
.nightastro-home-latest-news-title {
    flex:0 1 auto;
}
.nightastro-home-latest-news-excerpt {
    min-width:0;
    color:#7e95ae;
    font-weight:500;
}
.nightastro-home-latest-news-separator { color:#657f9c; }
.nightastro-home-latest-news-link {
    justify-self:end;
    margin-left:0;
    white-space:nowrap;
}
.nightastro-home-latest-news-link:focus-visible {
    outline:2px solid #89b4ff;
    outline-offset:3px;
    border-radius:4px;
}
.nightastro-home-video-link,
.nightastro-home-video-link:link,
.nightastro-home-video-link:visited,
.nightastro-home-video-link:hover,
.nightastro-home-video-link:focus,
.nightastro-home-video-link:active {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-height:34px;
    gap:8px;
    padding:7px 14px;
    border:1px solid #294365;
    border-radius:10px;
    background:#081426;
    color:#b8cbe2;
    box-shadow:none;
    font-size:12px;
    font-weight:700;
    line-height:1.2;
    text-decoration:none;
}
.nightastro-home-video-link:hover {
    border-color:#3d628f;
    background:#0b1a2f;
    color:#e1edfb;
}
.nightastro-home-video-link:focus-visible {
    outline:2px solid #89b4ff;
    outline-offset:3px;
}
.nightastro-home-video-link-icon {
    color:#e53935;
    font-size:12px;
    line-height:1;
    flex:0 0 auto;
}
.nightastro-home-search-compact { max-width:none; margin:0 0 16px; }
.nightastro-home-search-compact .nightastro-home-search > div { grid-template-columns:minmax(0,1fr) auto; }
.nightastro-home-search-compact .nightastro-home-search button { min-width:120px; }

@media (max-width:620px) {
    .nightastro-home-intro {
        margin-top:10px;
        padding:18px 14px 15px;
        border-radius:18px;
    }
    .nightastro-home-intro h1 {
        max-width:330px;
        font-size:31px;
        line-height:1.02;
        letter-spacing:-1px;
    }
    .nightastro-home-facts {
        display:grid;
        grid-template-columns:minmax(0,1fr) auto auto;
        gap:6px;
        margin-top:10px;
        flex-wrap:nowrap;
        font-size:9px;
        line-height:1.15;
        white-space:nowrap;
    }
    .nightastro-home-location {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .nightastro-home-date-long,
    .nightastro-moon-text-long { display:none; }
    .nightastro-home-date-short,
    .nightastro-moon-text-short { display:inline; }
    .nightastro-home-facts .nightastro-moon-proof { font-size:9px; gap:3px; min-width:0; white-space:nowrap; }
    .nightastro-home-facts .nightastro-moon-proof-icon { width:13px; height:13px; }
    .nightastro-home-facts .nightastro-moon-proof-icon svg { width:13px; height:13px; }
    .nightastro-home-session-proof { display:none; }
    .nightastro-home-intro + .nightastro-home-top5 { margin-top:10px; }
    .nightastro-home-primary-actions { grid-template-columns:1fr; gap:8px; }
    .nightastro-home-action { min-height:42px; }
    .nightastro-home-secondary-row { margin-top:5px; }
    .nightastro-home-video-link { min-height:32px; padding:6px 12px; font-size:11px; }
    .nightastro-home-latest-news-panel { margin:-2px 0 12px; }
    .nightastro-home-latest-news-summary { padding:11px 12px; }
    .nightastro-home-latest-news-archive { justify-content:flex-start; padding:9px 12px 10px; }
    .nightastro-home-latest-news-layout { grid-template-columns:auto minmax(0,1fr); align-items:start; gap:7px 9px; }
    .nightastro-home-latest-news-copy { grid-column:2; grid-row:1; font-size:14px; }
    .nightastro-home-latest-news-link { grid-column:2; grid-row:2; justify-self:start; margin:0; }
    .nightastro-nav-new-badge.nightastro-home-latest-news-badge { grid-column:1; grid-row:1; }
    .nightastro-home-search-compact { margin-bottom:12px; }
    .nightastro-home-search-compact .nightastro-home-search > div { grid-template-columns:minmax(0,1fr) auto; gap:6px; }
    .nightastro-home-search-compact .nightastro-home-search input { min-width:0; font-size:12px; }
    .nightastro-home-search-compact .nightastro-home-search button { min-width:auto; padding:0 12px; white-space:nowrap; }
}

html.nightastro-night-mode .nightastro-home-intro,
html.nightastro-night-mode .nightastro-home-actions-panel { border-color:var(--na-night-line) !important; background:#070000 !important; box-shadow:none !important; }
html.nightastro-night-mode .nightastro-home-intro h1 { color:var(--na-night-strong) !important; }
html.nightastro-night-mode .nightastro-home-facts,
html.nightastro-night-mode .nightastro-home-facts .nightastro-moon-proof,
html.nightastro-night-mode .nightastro-home-session-proof { color:var(--na-night-muted) !important; }
html.nightastro-night-mode .nightastro-home-video-link,
html.nightastro-night-mode .nightastro-home-video-link:link,
html.nightastro-night-mode .nightastro-home-video-link:visited,
html.nightastro-night-mode .nightastro-home-video-link:focus,
html.nightastro-night-mode .nightastro-home-video-link:active {
    border-color:var(--na-night-line) !important;
    background:#080000 !important;
    color:var(--na-night-muted) !important;
}
html.nightastro-night-mode .nightastro-home-video-link:hover,
html.nightastro-night-mode .nightastro-home-video-link:focus-visible {
    border-color:var(--na-night-primary) !important;
    background:#120000 !important;
    color:var(--na-night-strong) !important;
}
html.nightastro-night-mode .nightastro-home-video-link-icon {
    color:#ff3b30 !important;
}

html.nightastro-night-mode .nightastro-home-latest-news-copy,
html.nightastro-night-mode .nightastro-home-latest-news-excerpt,
html.nightastro-night-mode .nightastro-home-latest-news-separator { color:var(--na-night-muted) !important; }
html.nightastro-night-mode .nightastro-home-latest-news-title { color:var(--na-night-strong) !important; }
html.nightastro-night-mode .nightastro-home-latest-news-summary + .nightastro-home-latest-news-summary,
html.nightastro-night-mode .nightastro-home-latest-news-archive { border-top-color:var(--na-night-border) !important; }

/* NightAstro v0.7.49 — estimation SQM/Bortle DarkSkySites */
.nightastro-darksky-estimate {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
    padding: 10px 11px;
    border: 1px solid rgba(109, 180, 255, .18);
    border-radius: 11px;
    background: rgba(20, 44, 70, .34);
    color: #aebfd3;
    font-size: 10.8px;
    line-height: 1.45;
}
.nightastro-darksky-estimate[hidden] { display: none !important; }
.nightastro-darksky-main { display: grid; gap: 3px; min-width: 0; }
.nightastro-darksky-main strong { color: #dcecff; font-size: 11.4px; }
.nightastro-darksky-main span { color: #8fa4bd; }
.nightastro-environment-bortle .nightastro-darksky-zone-estimate {
    margin-top: 5px;
    padding-top: 7px;
    border-top: 1px solid rgba(109, 180, 255, .13);
}
.nightastro-darksky-provider,
.nightastro-darksky-estimate a,
.nightastro-darksky-source a,
#nightastro-environment-summary a {
    color: #8bc7ff;
    text-decoration: none;
    font-weight: 750;
}
.nightastro-darksky-provider:hover,
.nightastro-darksky-estimate a:hover,
.nightastro-darksky-source a:hover,
#nightastro-environment-summary a:hover { text-decoration: underline; }
.nightastro-darksky-restore {
    flex: 0 0 auto;
    border: 1px solid rgba(120, 184, 255, .32);
    border-radius: 9px;
    padding: 6px 8px;
    background: rgba(46, 140, 255, .08);
    color: #9dd0ff;
    font-size: 10px;
    font-weight: 750;
    cursor: pointer;
}
.nightastro-darksky-restore:hover { background: rgba(46, 140, 255, .15); }
.nightastro-environment-bortle .nightastro-darksky-restore {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid rgba(88, 174, 255, .42);
    border-radius: 10px;
    padding: 7px 10px;
    background: linear-gradient(135deg, rgba(37, 123, 213, .32), rgba(49, 158, 235, .20));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    color: #c9e6ff;
    font-family: inherit;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.2;
}
.nightastro-environment-bortle .nightastro-darksky-restore:hover,
.nightastro-environment-bortle .nightastro-darksky-restore:focus-visible {
    border-color: rgba(103, 190, 255, .68);
    background: linear-gradient(135deg, rgba(43, 138, 233, .42), rgba(54, 171, 248, .28));
    color: #fff;
    outline: none;
}
.nightastro-darksky-estimate.is-loading { opacity: .78; }
.nightastro-darksky-estimate.is-stale { border-style: dashed; }
.nightastro-light-pollution .nightastro-darksky-source { grid-column: 1 / -1; }

html.nightastro-night-mode .nightastro-darksky-estimate,
html.nightastro-night-mode .nightastro-darksky-restore {
    background: var(--na-night-panel-2) !important;
    border-color: var(--na-night-line-soft) !important;
    color: var(--na-night-primary) !important;
}
html.nightastro-night-mode .nightastro-darksky-main strong,
html.nightastro-night-mode .nightastro-darksky-main span,
html.nightastro-night-mode .nightastro-darksky-provider,
html.nightastro-night-mode .nightastro-darksky-source,
html.nightastro-night-mode .nightastro-darksky-source a,
html.nightastro-night-mode #nightastro-environment-summary a {
    color: var(--na-night-primary) !important;
}

@media (max-width: 620px) {
    .nightastro-darksky-estimate { align-items: stretch; flex-direction: column; }
    .nightastro-darksky-restore { width: 100%; }
}

/* NightAstro 0.7.51 — fenêtre sans Lune : ligne statique au format des préférences. */
.nightastro-moon-window-panel {
    margin-top: 10px;
    margin-bottom: 12px;
}
.nightastro-moon-window-summary {
    cursor: default;
    padding-right: 14px;
    grid-template-columns: minmax(0, 1fr);
}
.nightastro-moon-window-summary::after {
    display: none;
}
.nightastro-moon-window-summary:hover {
    background: transparent;
    box-shadow: none;
}
.nightastro-moon-window-line {
    display: block;
    line-height: 1.45;
}
.nightastro-moon-window-link {
    margin-left: .3em;
    color: #8fc6ff;
    font-weight: 800;
    text-decoration: none;
    white-space: normal;
}
.nightastro-moon-window-link:hover {
    color: #b6dcff;
    text-decoration: underline;
}
html.nightastro-night-mode .nightastro-moon-window-link,
html.nightastro-night-mode .nightastro-moon-window-link:hover {
    color: var(--na-night-primary) !important;
}
@media (max-width: 640px) {
    .nightastro-moon-window-panel { margin-top: 8px; }
    .nightastro-moon-window-summary { padding: 11px 12px; }
}

/* NightAstro 0.7.67 — variante du soutien contextuel en mode nuit. */
html.nightastro-night-mode .nightastro-support-inline {
    border-color: var(--na-night-line) !important;
    background: var(--na-night-panel-2) !important;
    color: var(--na-night-primary) !important;
}
html.nightastro-night-mode .nightastro-support-inline h3 {
    color: var(--na-night-strong) !important;
}
html.nightastro-night-mode .nightastro-support-inline p {
    color: var(--na-night-muted) !important;
}
html.nightastro-night-mode .nightastro-support-inline .nightastro-support-inline__button {
    border-color: var(--na-night-line) !important;
    background: var(--na-night-button) !important;
    color: var(--na-night-strong) !important;
}
html.nightastro-night-mode .nightastro-support-inline .nightastro-support-inline__button:hover,
html.nightastro-night-mode .nightastro-support-inline .nightastro-support-inline__button:focus-visible {
    border-color: var(--na-night-focus) !important;
    background: var(--na-night-active) !important;
    color: var(--na-night-strong) !important;
}



/* ================================================================
   v0.7.76 — hauteur instantanée et tri chronologique des résultats
   Affichage uniquement : aucun impact sur le score EOS ni son classement.
   ================================================================ */
.nightastro-ranking-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}
.nightastro-result-sort {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #8fa4bd;
    font-size: 12px;
}
.nightastro-result-sort select {
    min-height: 38px;
    max-width: 230px;
    padding: 7px 32px 7px 10px;
    border: 1px solid rgba(109, 180, 255, .28);
    border-radius: 10px;
    background: #0d1c2e;
    color: #eef5fc;
    font: inherit;
    font-weight: 700;
}
.nightastro-result-sort select:focus-visible {
    outline: 2px solid #6db4ff;
    outline-offset: 2px;
}
.nightastro-chronological-start {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin: -5px 0 12px;
    padding: 0 2px;
}
.nightastro-chronological-start span {
    color: #8095ae;
    font-size: 11px;
}
.nightastro-chronological-start strong {
    color: #dceaf8;
    font-size: 12px;
}
.nightastro-realtime-altitude {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    margin: 12px 0 14px;
    padding: 12px 13px;
    border: 1px solid rgba(109, 180, 255, .16);
    border-radius: 14px;
    background: #0a1626;
}
.nightastro-realtime-altitude__gauge {
    width: 68px;
    height: 68px;
}
.nightastro-realtime-altitude__gauge svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}
.nightastro-altitude-arc,
.nightastro-altitude-baseline {
    fill: none;
    stroke: rgba(143, 164, 189, .28);
    stroke-width: 5;
    stroke-linecap: round;
}
.nightastro-altitude-baseline { stroke-width: 2; }
.nightastro-altitude-needle {
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
}
.nightastro-altitude-pivot { fill: currentColor; }
.nightastro-realtime-altitude__content { min-width: 0; }
.nightastro-realtime-altitude__label,
.nightastro-realtime-altitude__direction {
    display: block;
    color: #8095ae;
    font-size: 10px;
}
.nightastro-realtime-altitude__direction { margin-top: 2px; }
.nightastro-realtime-altitude__direction strong { color: #dceaf8; }
.nightastro-realtime-altitude__value-row {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin: 1px 0 2px;
}
.nightastro-realtime-altitude__value-row strong {
    color: #eef5fc;
    font-size: 24px;
    line-height: 1;
}
.nightastro-realtime-altitude__trend {
    font-size: 19px;
    font-weight: 800;
    line-height: 1;
}
.nightastro-realtime-altitude__status {
    display: inline-block;
    margin-top: 7px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(109, 180, 255, .12);
    color: currentColor;
    font-size: 10px;
    font-weight: 800;
}
.nightastro-realtime-altitude.is-below { color: #8fa0b3; }
.nightastro-realtime-altitude.is-daylight {
    color: #8fa0b3;
    border-color: rgba(143, 160, 179, .18);
    background: rgba(143, 160, 179, .055);
}
.nightastro-realtime-altitude.is-daylight .nightastro-altitude-arc,
.nightastro-realtime-altitude.is-daylight .nightastro-altitude-baseline {
    stroke: rgba(143, 160, 179, .24);
}
.nightastro-realtime-altitude.is-too-low { color: #ef6868; }
.nightastro-realtime-altitude.is-low { color: #efb04e; }
.nightastro-realtime-altitude.is-good { color: #64d67d; }
.nightastro-realtime-altitude.is-very-high { color: #6db4ff; }
.nightastro-realtime-altitude.is-no-position {
    display: block;
    color: #a9bed5;
    font-size: 12px;
}
.nightastro-realtime-altitude__empty { display: block; }
.nightastro-card.is-currently-below-horizon {
    border-color: rgba(143, 160, 179, .14);
}
.nightastro-card.is-currently-below-horizon .nightastro-card-image {
    filter: grayscale(.78) saturate(.35);
    opacity: .68;
}

@media (max-width: 680px) {
    .nightastro-ranking-actions {
        width: 100%;
        align-items: stretch;
        justify-content: flex-start;
    }
    .nightastro-result-sort {
        width: 100%;
        justify-content: space-between;
    }
    .nightastro-result-sort select {
        flex: 1 1 auto;
        max-width: none;
        min-width: 0;
    }
    .nightastro-ranking-search-link { align-self: flex-start; }
    .nightastro-realtime-altitude {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 10px;
        padding: 11px;
    }
    .nightastro-realtime-altitude__gauge {
        width: 58px;
        height: 58px;
    }
    .nightastro-realtime-altitude__value-row strong { font-size: 22px; }
}

html.nightastro-night-mode .nightastro-result-sort,
html.nightastro-night-mode .nightastro-chronological-start span,
html.nightastro-night-mode .nightastro-realtime-altitude__label,
html.nightastro-night-mode .nightastro-realtime-altitude__direction {
    color: var(--na-night-muted) !important;
}
html.nightastro-night-mode .nightastro-result-sort select,
html.nightastro-night-mode .nightastro-realtime-altitude {
    border-color: var(--na-night-line) !important;
    background: var(--na-night-panel) !important;
    color: var(--na-night-strong) !important;
}
html.nightastro-night-mode .nightastro-chronological-start strong,
html.nightastro-night-mode .nightastro-realtime-altitude__value-row strong,
html.nightastro-night-mode .nightastro-realtime-altitude__direction strong {
    color: var(--na-night-strong) !important;
}
html.nightastro-night-mode .nightastro-realtime-altitude.is-below,
html.nightastro-night-mode .nightastro-realtime-altitude.is-too-low,
html.nightastro-night-mode .nightastro-realtime-altitude.is-low,
html.nightastro-night-mode .nightastro-realtime-altitude.is-good,
html.nightastro-night-mode .nightastro-realtime-altitude.is-very-high {
    color: var(--na-night-strong) !important;
}
html.nightastro-night-mode .nightastro-realtime-altitude.is-daylight {
    color: var(--na-night-muted) !important;
}
html.nightastro-night-mode .nightastro-altitude-arc,
html.nightastro-night-mode .nightastro-altitude-baseline {
    stroke: var(--na-night-line) !important;
}


/* ================================================================
   v0.7.78 — favoris locaux des cibles
   Stockage navigateur uniquement ; aucun impact sur EOS, priorité ou Plan.
   ================================================================ */
.nightastro-card-tools {
    position: absolute;
    top: 7px;
    right: 8px;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 5px;
}
.nightastro-favorite-toggle {
    display: inline-grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(109, 180, 255, .24);
    border-radius: 12px;
    background: rgba(10, 22, 38, .88);
    color: #8fa4bd;
    font: inherit;
    font-size: 23px;
    line-height: 1;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease;
}
.nightastro-favorite-toggle:hover {
    border-color: rgba(109, 180, 255, .62);
    background: #12243a;
    color: #dceaff;
}
.nightastro-favorite-toggle.is-active {
    border-color: rgba(242, 201, 76, .48);
    background: rgba(242, 201, 76, .10);
    color: #f2c94c;
}
.nightastro-favorite-toggle:focus-visible,
.nightastro-favorites-view-button:focus-visible,
.nightastro-favorites-head button:focus-visible {
    outline: 2px solid #6db4ff;
    outline-offset: 2px;
}
.nightastro-favorite-toggle:active { transform: scale(.96); }
.nightastro-favorite-toggle-detail { margin-top: 0; }

.nightastro-favorites-view-button,
.nightastro-favorites-head button {
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid rgba(109, 180, 255, .28);
    border-radius: 10px;
    background: #0d1c2e;
    color: #dceaff;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}
.nightastro-favorites-view-button:hover,
.nightastro-favorites-head button:hover {
    border-color: rgba(109, 180, 255, .62);
    background: rgba(46, 140, 255, .15);
    color: #fff;
}
.nightastro-favorites-access {
    display: flex;
    justify-content: flex-end;
    margin: 10px 0;
}
.nightastro-favorites-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 14px 0 10px;
    padding: 13px 14px;
    border: 1px solid rgba(109, 180, 255, .16);
    border-radius: 14px;
    background: #0d1b2d;
}
.nightastro-favorites-head > div { min-width: 0; }
.nightastro-favorites-head strong {
    display: block;
    color: #f5f9fd;
    font-size: 15px;
}
.nightastro-favorites-head span {
    display: block;
    margin-top: 2px;
    color: #8fa4bd;
    font-size: 11px;
}
.nightastro-favorite-card .nightastro-card-head,
.nightastro-favorite-card-head { padding-right: 52px; }
.nightastro-favorite-card-head h3 {
    margin: 0;
    color: #fff;
    font-size: 21px;
    line-height: 1.2;
}
.nightastro-favorite-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin: 12px 0 10px;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(143, 160, 179, .10);
    color: #a9bed5;
    font-size: 11px;
    font-weight: 800;
}
.nightastro-favorite-status.is-visible {
    background: rgba(100, 214, 125, .10);
    color: #78de8d;
}
.nightastro-favorite-status.is-outside-slot {
    background: rgba(109, 180, 255, .10);
    color: #8bc5ff;
}
.nightastro-favorite-status.is-horizon {
    background: rgba(239, 176, 78, .10);
    color: #e6bd78;
}
.nightastro-favorite-status.is-unavailable {
    background: rgba(143, 160, 179, .10);
    color: #9aaabd;
}
.nightastro-favorite-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}
.nightastro-favorite-grid > div {
    min-width: 0;
    padding: 9px;
    border-radius: 11px;
    background: #0a1626;
}
.nightastro-favorite-grid span,
.nightastro-favorite-now span {
    display: block;
    color: #8095ae;
    font-size: 10px;
}
.nightastro-favorite-grid strong,
.nightastro-favorite-now strong {
    display: block;
    margin-top: 2px;
    color: #eef5fc;
    font-size: 12px;
}
.nightastro-favorite-now {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
    padding: 9px 10px;
    border-radius: 11px;
    background: rgba(10, 22, 38, .66);
}
.nightastro-favorite-now strong { text-align: right; }
.nightastro-favorites-limit {
    margin: 13px 2px 4px;
    color: #7188a3;
    font-size: 10px;
    line-height: 1.45;
}

@media (max-width: 680px) {
    .nightastro-card-head { padding-top: 42px; padding-right: 0; }
    .nightastro-favorite-card-head { padding-top: 42px; padding-right: 0; }
    .nightastro-favorites-head { align-items: stretch; flex-direction: column; }
    .nightastro-favorites-head button { align-self: flex-start; }
    .nightastro-favorites-access { justify-content: flex-start; }
    .nightastro-favorite-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nightastro-favorite-now { align-items: flex-start; flex-direction: column; gap: 2px; }
    .nightastro-favorite-now strong { text-align: left; }
}

html.nightastro-night-mode .nightastro-favorite-toggle,
html.nightastro-night-mode .nightastro-favorites-view-button,
html.nightastro-night-mode .nightastro-favorites-head button {
    border-color: var(--na-night-line) !important;
    background: var(--na-night-button) !important;
    color: var(--na-night-muted) !important;
}
html.nightastro-night-mode .nightastro-favorite-toggle.is-active {
    border-color: var(--na-night-focus) !important;
    background: var(--na-night-active) !important;
    color: var(--na-night-strong) !important;
}
html.nightastro-night-mode .nightastro-favorite-toggle:hover,
html.nightastro-night-mode .nightastro-favorite-toggle:focus-visible,
html.nightastro-night-mode .nightastro-favorites-view-button:hover,
html.nightastro-night-mode .nightastro-favorites-view-button:focus-visible,
html.nightastro-night-mode .nightastro-favorites-head button:hover,
html.nightastro-night-mode .nightastro-favorites-head button:focus-visible {
    border-color: var(--na-night-focus) !important;
    background: var(--na-night-active) !important;
    color: var(--na-night-strong) !important;
}
html.nightastro-night-mode .nightastro-favorites-head,
html.nightastro-night-mode .nightastro-favorite-grid > div,
html.nightastro-night-mode .nightastro-favorite-now {
    border-color: var(--na-night-line) !important;
    background: var(--na-night-panel-2) !important;
}
html.nightastro-night-mode .nightastro-favorites-head strong,
html.nightastro-night-mode .nightastro-favorite-card-head h3,
html.nightastro-night-mode .nightastro-favorite-grid strong,
html.nightastro-night-mode .nightastro-favorite-now strong {
    color: var(--na-night-strong) !important;
}
html.nightastro-night-mode .nightastro-favorites-head span,
html.nightastro-night-mode .nightastro-favorite-grid span,
html.nightastro-night-mode .nightastro-favorite-now span,
html.nightastro-night-mode .nightastro-favorites-limit,
html.nightastro-night-mode .nightastro-favorite-status {
    color: var(--na-night-muted) !important;
}
html.nightastro-night-mode .nightastro-favorite-status.is-visible,
html.nightastro-night-mode .nightastro-favorite-status.is-outside-slot,
html.nightastro-night-mode .nightastro-favorite-status.is-horizon {
    background: var(--na-night-panel-2) !important;
    color: var(--na-night-strong) !important;
}
