/* ═══════════════════════════════════════════════════════════════════
   NIGHT MODE — applied via body.night-mode (toggled by nightMode.js)
   Active after sunset / before sunrise for Omaha, NE.
   Excluded: /firepit  /growing-year  weather.html
   Color-collection accents (--rc-accent / --oe-color / --one-color)
   and the dawn/dusk hero animations are left completely untouched.
   ═══════════════════════════════════════════════════════════════════ */

/* ──────────────────────────────────────────────────────────────────
   ROOT VARIABLE OVERRIDES
   Everything in the app that references these vars goes dark
   automatically — no per-component changes needed for the basics.
────────────────────────────────────────────────────────────────── */
body.night-mode {
    /* ── Backgrounds ── */
    --bg:       #0f0f18;
    --parchment:#151520;
    --linen:    #1c1c2a;
    --linen2:   #232332;

    /* ── Greens — deepen to midnight teal ── */
    --green-deep:  #1e4a38;
    --green-dark:  #142e22;
    --green-mid:   #235c42;
    --green-soft:  #2e6e50;
    --green-mist:  #162b21;
    --green-mist2: #1b3028;

    /* ── Gold — richer, glowing ── */
    --gold:       #d4a843;
    --gold-light: #e8c060;
    --gold-pale:  #f0d98a;
    --gold-dim:   rgba(212,168,67,.18);
    --gold-glow:  rgba(212,168,67,.42);

    /* ── Text ── */
    --text:      #e2ddd0;
    --text2:     #a8a090;
    --text3:     #686058;
    --text-inv:  #0f0f18;
    --text-inv2: rgba(15,15,24,.75);
    --text-inv3: rgba(15,15,24,.45);

    /* ── Borders ── */
    --border:  rgba(226,221,208,.07);
    --border2: rgba(226,221,208,.13);
    --border3: rgba(226,221,208,.22);

    /* ── Shadows — cinematic depth ── */
    --shadow:     0 1px 3px rgba(0,0,0,.45), 0 4px 16px rgba(0,0,0,.35);
    --shadow-lg:  0 4px 12px rgba(0,0,0,.55), 0 16px 40px rgba(0,0,0,.45);
    --shadow-xl:  0 8px 24px rgba(0,0,0,.65), 0 32px 64px rgba(0,0,0,.55);
    --shadow-grn: 0 4px 20px rgba(46,110,80,.3);

    /* ── Status colors ── */
    --red:    #e05555;
    --red-bg: rgba(192,57,43,.18);
    --amber:  #c9913a;
}

/* ── Night sky body background ──────────────────────────────────── */
body.night-mode {
    background-color: var(--bg);
    background-image:
        radial-gradient(ellipse 90% 60% at 50% -5%, rgba(30,74,56,.14) 0%, transparent 55%),
        radial-gradient(ellipse 55% 45% at 4%   0%, rgba(30,74,56,.10) 0%, transparent 55%),
        radial-gradient(ellipse 50% 40% at 96% 100%, rgba(212,168,67,.07) 0%, transparent 55%);
    transition: background-color 1.2s ease, background-image 1.2s ease;
}

/* Keep page shell above the star canvas (z-index: 0) */
body.night-mode .app-shell {
    position: relative;
    z-index: 1;
}

/* ── Scrollbar ── */
body.night-mode ::-webkit-scrollbar-thumb { background: var(--linen2); }

/* ──────────────────────────────────────────────────────────────────
   NAVIGATION
────────────────────────────────────────────────────────────────── */
body.night-mode .app-header {
    background: #0a1810;
    box-shadow: 0 2px 30px rgba(0,0,0,.75), 0 0 60px -24px rgba(30,74,56,.45);
    border-bottom: 1px solid rgba(212,168,67,.08);
}

/* Active nav pill glows at night */
body.night-mode .nav-link.active {
    box-shadow: 0 2px 16px rgba(212,168,67,.45), 0 0 32px -8px rgba(212,168,67,.3);
}

/* Desktop dropdown panels */
body.night-mode .nav-dropdown-panel {
    background: #14141f;
    border-color: var(--border2);
    box-shadow: 0 8px 28px rgba(0,0,0,.6), 0 0 44px -18px rgba(30,74,56,.25);
}
body.night-mode .dropdown-link         { color: var(--text); }
body.night-mode .dropdown-link:hover   { background: var(--green-mist2); color: var(--gold-pale); }
body.night-mode .dropdown-link.active  { background: var(--green-deep);  color: var(--gold-pale); }

/* Mobile more-drawer */
body.night-mode .more-drawer {
    background: #14141f;
    box-shadow: 0 -8px 36px rgba(0,0,0,.7), 0 0 44px -18px rgba(30,74,56,.3);
}
body.night-mode .more-drawer-handle { background: var(--border2); }
body.night-mode .more-drawer-title  { color: var(--text3); }
body.night-mode .more-item {
    background: var(--linen);
    border-color: var(--border);
    color: var(--text);
}
body.night-mode .more-item:hover,
body.night-mode .more-item:active {
    background: var(--green-mist2);
    border-color: var(--green-soft);
    color: var(--gold-pale);
}
body.night-mode .more-item-label { color: var(--text2); }

/* ──────────────────────────────────────────────────────────────────
   PAGE HEADINGS
────────────────────────────────────────────────────────────────── */
body.night-mode .page-heading {
    color: var(--gold-pale);
    text-shadow: 0 0 40px rgba(240,217,138,.22), 0 0 80px rgba(240,217,138,.10);
}

/* ──────────────────────────────────────────────────────────────────
   GENERIC CARDS / SHELLS
────────────────────────────────────────────────────────────────── */
body.night-mode .card {
    background: var(--parchment);
    border-color: var(--border2);
    box-shadow: 0 2px 8px rgba(0,0,0,.4), 0 0 28px -12px rgba(30,74,56,.22);
}
body.night-mode .sidebar-card {
    background: var(--parchment);
    border-color: var(--border2);
}
body.night-mode .category-group {
    background: var(--parchment);
    border-color: var(--border2);
}

/* ──────────────────────────────────────────────────────────────────
   BUTTONS
────────────────────────────────────────────────────────────────── */
body.night-mode .btn-secondary {
    background: var(--linen);
    color: var(--text);
    border-color: var(--border2);
}
body.night-mode .btn-secondary:hover {
    background: var(--green-mist2);
    border-color: var(--green-soft);
    color: var(--gold-pale);
}
body.night-mode .btn-ghost {
    color: var(--text2);
    border-color: var(--border);
}
body.night-mode .btn-ghost:hover {
    background: var(--linen);
    color: var(--text);
    border-color: var(--border2);
}
body.night-mode .btn-icon {
    background: var(--linen);
    border-color: var(--border2);
    color: var(--text2);
}
body.night-mode .btn-icon:hover {
    background: var(--green-mist2);
    border-color: var(--green-soft);
    color: var(--gold-pale);
}
body.night-mode .btn-icon.active {
    background: var(--green-deep);
    color: var(--gold-pale);
    border-color: var(--green-deep);
}

/* ──────────────────────────────────────────────────────────────────
   FORMS
────────────────────────────────────────────────────────────────── */
body.night-mode .input {
    background: var(--linen);
    border-color: var(--border2);
    color: var(--text);
    box-shadow: inset 0 1px 3px rgba(0,0,0,.25);
}
body.night-mode .input:focus {
    border-color: var(--green-soft);
    box-shadow: 0 0 0 3px rgba(46,110,80,.2);
}
body.night-mode .input::placeholder { color: var(--text3); }
body.night-mode .select {
    background: var(--linen);
    border-color: var(--border2);
    color: var(--text);
}

/* ──────────────────────────────────────────────────────────────────
   BADGES
────────────────────────────────────────────────────────────────── */
body.night-mode .badge-orange { color: #f0a080; background: rgba(122,59,30,.28); }
body.night-mode .badge-blue   { color: #80b0e8; background: rgba(26,73,113,.28); }
body.night-mode .badge-green  { color: #80c8a0; background: rgba(35,92,66,.32); }
body.night-mode .badge-yellow { color: #e0c060; background: rgba(122,90,0,.28); }
body.night-mode .badge-gray   { color: var(--text2); background: var(--linen); }
body.night-mode .badge-purple { color: #b0a0e0; background: rgba(74,47,138,.28); }

/* Grade badges */
body.night-mode .grade-a    { background: rgba(35,92,66,.38);  color: #80c8a0; }
body.night-mode .grade-b    { background: rgba(26,73,113,.38); color: #80b0e8; }
body.night-mode .grade-c    { background: rgba(122,90,0,.38);  color: #e0c060; }
body.night-mode .grade-d    { background: rgba(122,59,30,.38); color: #f0a080; }
body.night-mode .grade-none { background: var(--linen);        color: var(--text3); }

/* Macro banners */
body.night-mode .macro-protein  { background: rgba(35,92,66,.28);  color: #80c8a0; border-bottom-color: rgba(80,120,96,.28); }
body.night-mode .macro-fat      { background: rgba(80,40,20,.28);  color: #d4906a; border-bottom-color: rgba(120,60,30,.28); }
body.night-mode .macro-carb     { background: rgba(100,80,0,.28);  color: #d4a843; border-bottom-color: rgba(120,90,0,.28); }
body.night-mode .macro-balanced { background: var(--linen); color: var(--text2); border-bottom-color: var(--border); }

/* Pills */
body.night-mode .pill {
    background: var(--linen);
    border-color: var(--border2);
    color: var(--text2);
}

/* ──────────────────────────────────────────────────────────────────
   MODAL OVERLAY + BOX
────────────────────────────────────────────────────────────────── */
body.night-mode .modal-overlay { background: rgba(0,0,0,.78); }
body.night-mode .modal-box {
    background: #14141f;
    box-shadow:
        0 0 0 1px rgba(212,168,67,.14),
        0 8px 40px rgba(0,0,0,.75),
        0 0 80px -32px rgba(30,74,56,.35);
}
body.night-mode .modal-header { border-bottom-color: var(--border2); }
body.night-mode .modal-header h3 {
    color: var(--gold-pale);
    text-shadow: 0 0 24px rgba(240,217,138,.2);
}
body.night-mode .modal-close       { color: var(--text3); }
body.night-mode .modal-close:hover { color: var(--text); }

/* ──────────────────────────────────────────────────────────────────
   ASK BAR (AI search)
────────────────────────────────────────────────────────────────── */
body.night-mode .ask-bar {
    background: #0a1810;
    border-color: rgba(212,168,67,.08);
}
body.night-mode .ask-card {
    background: var(--linen);
    border-color: var(--border2);
}
body.night-mode .ask-card:hover {
    border-color: var(--green-soft);
    box-shadow: var(--shadow-lg), 0 0 24px -8px rgba(30,74,56,.3);
}
body.night-mode .ask-card-name   { color: var(--gold-pale); }
body.night-mode .ask-card-reason { color: var(--text2); }

/* ──────────────────────────────────────────────────────────────────
   PLANNER
────────────────────────────────────────────────────────────────── */
body.night-mode .planner-hero {
    background: linear-gradient(135deg, #0a1810 0%, #1a3422 40%, #251a10 100%);
}
body.night-mode .day-col {
    background: var(--parchment);
    border-color: var(--border2);
}
body.night-mode .day-col:hover {
    border-color: var(--green-soft);
    box-shadow: var(--shadow-lg), 0 0 24px -8px rgba(30,74,56,.3);
}
body.night-mode .day-col.today {
    box-shadow: 0 0 0 2px rgba(212,168,67,.22), var(--shadow);
}
body.night-mode .meal-chip {
    background: var(--linen);
    border-color: var(--border);
}
body.night-mode .chip-name { color: var(--text); }
body.night-mode .slot-add:hover { color: var(--gold-light); }

/* ──────────────────────────────────────────────────────────────────
   SHOPPING / LOG
────────────────────────────────────────────────────────────────── */
body.night-mode .list-item:hover { background: var(--linen); }
body.night-mode .log-entry {
    background: var(--parchment);
    border-color: var(--border2);
}
body.night-mode .log-entry:hover {
    border-color: var(--green-soft);
    box-shadow: var(--shadow-lg), 0 0 24px -8px rgba(30,74,56,.3);
}
body.night-mode .log-name { color: var(--gold-pale); }
body.night-mode .star.filled {
    color: var(--gold-light);
    text-shadow: 0 0 8px rgba(212,168,67,.5);
}
body.night-mode .star-btn:hover,
body.night-mode .star-btn.on {
    color: var(--gold-light);
    text-shadow: 0 0 10px rgba(212,168,67,.5);
}

/* ──────────────────────────────────────────────────────────────────
   LOCAL INFO HUB TABS
────────────────────────────────────────────────────────────────── */
body.night-mode .lih-wrap         { border-color: var(--border2); }
body.night-mode .lih-tabs         { background: var(--parchment); border-bottom-color: var(--border2); }
body.night-mode .lih-tab          { color: var(--text3); }
body.night-mode .lih-tab:hover    { color: var(--gold-pale); }
body.night-mode .lih-tab--active  {
    color: var(--gold-pale);
    border-bottom-color: var(--gold);
    background: rgba(30,74,56,.18);
}
body.night-mode .lih-panel        { background: var(--linen); }

/* ──────────────────────────────────────────────────────────────────
   EVENT RAILS  (.oe-* / .one-*)
────────────────────────────────────────────────────────────────── */
body.night-mode .oe-section {
    background: linear-gradient(135deg, var(--linen) 0%, var(--parchment) 100%);
    border-color: var(--border2);
}
body.night-mode .oe-title { color: var(--gold-pale); text-shadow: 0 0 30px rgba(240,217,138,.18); }
body.night-mode .oe-eyebrow { color: var(--gold); }
body.night-mode .oe-legend {
    background: rgba(15,15,24,.5);
    border-color: var(--border2);
}
body.night-mode .oe-legend-theme { color: var(--gold-pale); }
body.night-mode .oe-legend-item  { color: var(--text3); }
body.night-mode .oe-nav-btn {
    background: var(--linen);
    border-color: var(--border2);
    color: var(--gold-pale);
}
body.night-mode .oe-nav-btn:hover {
    background: var(--green-deep);
    color: var(--gold-pale);
    border-color: var(--green-deep);
}
body.night-mode .oe-card {
    background: linear-gradient(180deg,
        color-mix(in srgb, var(--oe-color, #2C4A3A) 8%, #151520) 0%,
        color-mix(in srgb, var(--oe-color, #2C4A3A) 15%, #0f0f18) 100%);
}
body.night-mode .one-card {
    background: linear-gradient(180deg,
        color-mix(in srgb, var(--one-color, #2C4A3A) 8%, #151520) 0%,
        color-mix(in srgb, var(--one-color, #2C4A3A) 15%, #0f0f18) 100%);
}
body.night-mode .oe-card-title  { color: #e2ddd0; }
body.night-mode .one-card-title { color: #e2ddd0; }
body.night-mode .oe-date-badge  { background: var(--parchment); color: #e2ddd0; }
body.night-mode .oe-meta-row    { color: var(--text3); }
body.night-mode .oe-empty       { color: var(--text3); }

/* ══════════════════════════════════════════════════════════════════
   RECIPE CARDS  —  Night Mode
   Collection accent (--rc-accent) is kept as-is.
   We retheme the background, text, and glow.
══════════════════════════════════════════════════════════════════ */

body.night-mode .recipe-card-wrap {
    background: linear-gradient(180deg,
        color-mix(in srgb, var(--rc-accent) 6%,  #151520) 0%,
        color-mix(in srgb, var(--rc-accent) 12%, #0f0f18) 100%);
    border-color: rgba(226,221,208,.10);
    box-shadow:
        0 1px 2px rgba(0,0,0,.55),
        0 18px 30px -22px color-mix(in srgb, var(--rc-accent) 72%, #000);
}

/* Hover — strong collection-color glow + faint gold bloom */
body.night-mode .recipe-card-wrap:hover,
body.night-mode .recipe-card-wrap:focus-within {
    border-color: transparent;
    box-shadow:
        0 2px 4px rgba(0,0,0,.65),
        0 30px 50px -24px color-mix(in srgb, var(--rc-accent) 85%, #000),
        0 0 44px -8px  color-mix(in srgb, var(--rc-accent) 65%, transparent),
        0 0 80px -20px rgba(212,168,67,.12);
}

/* Crest / banner — Colorado-holographic tint, pushed past both the
   Colorado event-media (radial 55%, linear 92/58/68, tint .5) and the
   Nebraska nhub-media (radial 52%, linear 90/55/65, tint .5) references. */
body.night-mode .rc-banner {
    background:
        radial-gradient(120% 130% at 18% -10%,
            color-mix(in srgb, var(--rc-accent) 62%, #fff) 0%, transparent 50%),
        linear-gradient(150deg,
            color-mix(in srgb, var(--rc-accent) 95%, #000) 0%,
            var(--rc-accent) 55%,
            color-mix(in srgb, var(--rc-accent) 74%, #000) 100%);
}
body.night-mode .rc-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--rc-accent);
    mix-blend-mode: color;
    opacity: .62;
    transition: opacity .45s ease;
    pointer-events: none;
    z-index: 1;
}
body.night-mode .recipe-card-wrap:hover .rc-banner::before,
body.night-mode .recipe-card-wrap:focus-within .rc-banner::before {
    opacity: .2;
}

/* Recipe name — warm cream, glow on hover */
body.night-mode .rc-name {
    color: var(--gold-pale);
}
body.night-mode .recipe-card-wrap:hover .rc-name {
    color: color-mix(in srgb, var(--rc-accent) 60%, var(--gold-pale));
    text-shadow: 0 0 22px color-mix(in srgb, var(--rc-accent) 55%, transparent);
}

/* Byline */
body.night-mode .rc-byline {
    background: color-mix(in srgb, var(--rc-accent) 10%, rgba(21,21,32,.8));
    border-bottom-color: rgba(226,221,208,.08);
}
body.night-mode .rc-collection {
    color: color-mix(in srgb, var(--rc-accent) 88%, var(--gold-pale));
}
body.night-mode .rc-creator { color: var(--text3); }

/* Sub / filename */
body.night-mode .rc-sub           { color: var(--text3); }
body.night-mode .rc-filename-text { color: var(--text3); }
body.night-mode .rc-filename-tag  { color: var(--rc-accent); border-color: var(--rc-accent); }

/* Context strip */
body.night-mode .rc-context-strip {
    background: color-mix(in srgb, var(--rc-accent) 12%, rgba(15,15,24,.8));
    border-bottom-color: rgba(226,221,208,.07);
    color: color-mix(in srgb, var(--rc-accent) 82%, var(--gold-pale));
}

/* Footer accessory */
body.night-mode .rc-footer-accessory {
    background: color-mix(in srgb, var(--rc-accent) 10%, rgba(15,15,24,.8));
    border-top-color: rgba(226,221,208,.07);
}

/* Expand chevron */
body.night-mode .rc-peek-toggle {
    background: var(--linen);
    border-color: var(--border2);
    color: var(--text3);
}
body.night-mode .rc-peek-toggle:hover {
    color: var(--rc-accent);
    border-color: var(--rc-accent);
    box-shadow: 0 0 18px -3px color-mix(in srgb, var(--rc-accent) 72%, transparent);
}

/* Peek drawer */
body.night-mode .rc-peek {
    background: color-mix(in srgb, var(--rc-accent) 10%, rgba(12,12,22,.92));
    border-top-color: rgba(226,221,208,.09);
}
body.night-mode .rc-peek-label {
    color: color-mix(in srgb, var(--rc-accent) 75%, var(--gold-pale));
}
body.night-mode .rc-peek-label::after { background: rgba(226,221,208,.09); }
body.night-mode .rc-peek-desc    { color: var(--text2); }
body.night-mode .rc-peek-notes   { color: var(--text2); }
body.night-mode .rc-nutrient     { border-right-color: rgba(226,221,208,.09); }
body.night-mode .rc-nutrient-value {
    color: color-mix(in srgb, var(--rc-accent) 62%, var(--gold-pale));
}
body.night-mode .rc-nutrient-unit { color: var(--text3); }
body.night-mode .rc-nutrient-name { color: var(--text3); }
body.night-mode .rc-peek-era {
    color: var(--gold-light);
    border-color: var(--gold-dim);
}
body.night-mode .rc-peek-filename { color: var(--text3); }
body.night-mode .rc-peek-meta    { border-top-color: rgba(226,221,208,.09) !important; }

/* Card footer */
body.night-mode .rc-footer {
    border-top-color: rgba(226,221,208,.09);
    background: linear-gradient(to bottom,
        color-mix(in srgb, var(--rc-accent) 7%, rgba(15,15,24,.5)) 0%,
        color-mix(in srgb, var(--rc-accent) 13%, rgba(10,10,20,.85)) 100%);
}
body.night-mode .rc-cal-num {
    color: color-mix(in srgb, var(--rc-accent) 55%, var(--gold-pale));
}
body.night-mode .rc-cal-unit,
body.night-mode .rc-cal-srv     { color: var(--text3); }
body.night-mode .rc-cal-sep     { color: var(--text3); }
body.night-mode .rc-no-nutrition { color: var(--text3); }

/* Favs pill */
body.night-mode .rc-favs {
    background: rgba(21,21,32,.72);
    border-color: rgba(226,221,208,.07);
}
body.night-mode .fav-btn {
    background: var(--linen);
    border-color: var(--border2);
    color: var(--text3);
}
body.night-mode .fav-btn.fav-on {
    background: var(--rc-accent);
    border-color: var(--rc-accent);
    color: #fdf6e8;
}

/* VIEW link */
body.night-mode .rc-view-link { color: var(--gold-light); }
body.night-mode .recipe-card-wrap:hover .rc-view-link { color: var(--rc-accent); }

/* PLAN button */
body.night-mode .rc-actions .btn-sm {
    color: var(--text2);
    border-color: var(--border2);
}
body.night-mode .rc-actions .btn-sm:hover {
    color: var(--rc-accent);
    border-color: var(--rc-accent);
}

/* Heart sticker */
body.night-mode .rc-heart-sticker { background: var(--linen); }

/* Card badges (already covered globally, ensure opacity is right) */
body.night-mode .recipe-card-wrap .badge-orange { color: #f0a080; }
body.night-mode .recipe-card-wrap .badge-blue   { color: #80b0e8; }
body.night-mode .recipe-card-wrap .badge-green  { color: #80c8a0; }
body.night-mode .recipe-card-wrap .badge-yellow { color: #e0c060; }
body.night-mode .recipe-card-wrap .badge-gray   { color: var(--text2); }
body.night-mode .recipe-card-wrap .badge-purple { color: #b0a0e0; }

/* ══════════════════════════════════════════════════════════════════
   RECIPE DETAIL MODAL  —  Night Mode
   The header is already dark green (var(--green-deep)) so it
   deepens naturally. The modal body and content get dark.
══════════════════════════════════════════════════════════════════ */

/* Title in detail header glows faintly */
body.night-mode .rdm-title {
    text-shadow: 0 0 28px rgba(240,217,138,.18);
}

/* Detail grid meta column */
body.night-mode .detail-grade-row {
    background: var(--linen);
    border-color: var(--border);
}
body.night-mode .stat-row     { border-bottom-color: var(--border); }
body.night-mode .stat-label   { color: var(--text3); }
body.night-mode .stat-value   { color: var(--text); }

/* Expand nutrition button */
body.night-mode .nutrition-expand-btn {
    border-color: rgba(226,221,208,.18);
    color: var(--gold-light);
}
body.night-mode .nutrition-expand-btn:hover {
    border-color: var(--gold);
    color: var(--gold-pale);
    background: rgba(212,168,67,.06);
}

/* Detailed nutrition header */
body.night-mode .nutrition-detailed-section {
    border-top-color: rgba(212,168,67,.18);
}

/* Section headings */
body.night-mode .detail-section-head { color: var(--gold-pale); }

/* Ingredients */
body.night-mode .ing-group-label { color: var(--gold); }
body.night-mode .ing-item {
    background: var(--linen);
    border-color: var(--border);
}
body.night-mode .ing-amt  { color: var(--gold-light); }
body.night-mode .ing-name { color: var(--text); }
body.night-mode .ing-prep { color: var(--text2); }
body.night-mode .ing-opt  { color: var(--text3); }
body.night-mode .sub-btn  { border-color: var(--border2); color: var(--text3); }
body.night-mode .sub-btn:hover { background: var(--green-deep); color: var(--gold-pale); }

/* Steps */
body.night-mode .step-item { color: var(--text); }
body.night-mode .step-num  { color: var(--gold); background: var(--gold-dim); }

/* Notes */
body.night-mode .detail-notes {
    color: var(--text2);
    background: var(--linen);
    border-left-color: rgba(212,168,67,.28);
}

/* Cook history */
body.night-mode .ch-title   { color: var(--gold-pale); }
body.night-mode .ch-summary { color: var(--text2); }
body.night-mode .ch-entry   { background: var(--linen); }
body.night-mode .ch-owner   { color: var(--gold-pale); }
body.night-mode .ch-date    { color: var(--text3); }
body.night-mode .ch-note    { color: var(--text2); }
body.night-mode .ch-rating  { color: var(--gold-light); text-shadow: 0 0 8px rgba(212,168,67,.4); }
body.night-mode .ch-verdict.ch-again { background: var(--green-mist2); color: #80c8a0; }
body.night-mode .ch-verdict.ch-tweak { background: var(--gold-dim);   color: var(--gold-light); }
body.night-mode .ch-verdict.ch-never { background: var(--border2);    color: var(--text3); }

/* Action pickers */
body.night-mode .action-picker {
    background: var(--linen);
    border-color: var(--border2);
}
body.night-mode .action-ok  {
    color: #80c8a0;
    background: rgba(35,92,66,.25);
    border-color: rgba(80,140,100,.35);
}
body.night-mode .action-err {
    color: #e08080;
    background: rgba(192,57,43,.18);
    border-color: rgba(192,57,43,.3);
}

/* Ingredient selection list */
body.night-mode .ing-select-list  { border-color: var(--border2); }
body.night-mode .ing-select-row:hover { background: var(--green-mist2); }
body.night-mode .ing-select-name  { color: var(--text); }

/* Ingredient edit rows */
body.night-mode .ing-edit-row {
    background: var(--linen);
    border-color: var(--border);
}
body.night-mode .ing-edit-row:hover { border-color: var(--green-soft); }
body.night-mode .ing-edit-row input[type="text"] {
    background: var(--parchment);
    border-color: var(--border2);
    color: var(--text);
}
body.night-mode .ing-edit-row input[type="text"]:focus {
    border-color: var(--green-mid);
    background: #1c1c2a;
}
body.night-mode .inst-edit-textarea {
    background: var(--parchment);
    border-color: var(--border2);
    color: var(--text);
}
body.night-mode .inst-edit-textarea:focus {
    border-color: var(--green-mid);
    background: #1c1c2a;
}
body.night-mode .ing-edit-add {
    border-color: rgba(226,221,208,.18);
    color: var(--gold-light);
}
body.night-mode .ing-edit-add:hover {
    border-color: var(--gold);
    color: var(--gold-pale);
    background: rgba(212,168,67,.05);
}
body.night-mode .inst-edit-num { color: var(--gold); background: var(--gold-dim); }

/* Scaler row */
body.night-mode .scaler-btn {
    background: var(--linen);
    border-color: var(--border2);
    color: var(--text2);
}
body.night-mode .scaler-btn:hover {
    background: var(--green-mist2);
    color: var(--gold-pale);
    border-color: var(--green-soft);
}

/* Stub notice */
body.night-mode .stub-notice {
    background: var(--linen);
    border-color: var(--border2);
    color: var(--text2);
}

/* Delete confirm */
body.night-mode .delete-confirm-box {
    background: rgba(192,57,43,.12);
    border-color: var(--red);
}
body.night-mode .delete-confirm-recipe { color: var(--gold-pale); }
body.night-mode .delete-confirm-warn   { color: var(--text2); }
body.night-mode .delete-error {
    background: rgba(192,57,43,.18);
    border-color: var(--red);
    color: var(--red);
}

/* ══════════════════════════════════════════════════════════════════
   PANTRY  —  Night Mode
   Override the hardcoded expiry-state hex colours.
══════════════════════════════════════════════════════════════════ */
body.night-mode .item-card.exp-expired {
    background: rgba(192,57,43,.15);
    border-color: rgba(192,57,43,.32);
}
body.night-mode .item-card.exp-today,
body.night-mode .item-card.exp-urgent {
    background: rgba(184,146,42,.12);
    border-color: rgba(184,146,42,.28);
}
body.night-mode .item-card.exp-soon {
    background: rgba(184,146,42,.07);
    border-color: rgba(184,146,42,.15);
}
body.night-mode .stat-card.danger {
    background: rgba(192,57,43,.15);
    border-color: rgba(192,57,43,.32);
}
body.night-mode .stat-card.danger .stat-num { color: #e57373; }
body.night-mode .add-card,
body.night-mode .stat-card { background: var(--parchment); }
body.night-mode .add-input {
    background: var(--linen);
    border-color: var(--border2);
    color: var(--text);
}

/* ══════════════════════════════════════════════════════════════════
   COLORADO PAGE  —  Night Mode
   Override the many hardcoded hex colours in Colorado.razor.css.
══════════════════════════════════════════════════════════════════ */

/* Filter / search bar */
body.night-mode .filters-bar {
    background: #1a1a28;
    border-color: rgba(226,221,208,.10);
}
body.night-mode .search-input {
    background: #0f0f18;
    border-color: rgba(226,221,208,.15);
    color: #e2ddd0;
}
body.night-mode .search-input::placeholder { color: #686058; }
body.night-mode .search-input:focus {
    border-color: var(--green-soft);
    box-shadow: 0 0 0 3px rgba(46,110,80,.2);
}
body.night-mode .search-clear {
    background: #26263a;
    color: #a8a090;
}
body.night-mode .search-clear:hover {
    background: #303048;
    color: #e2ddd0;
}

/* Town tabs / chips */
body.night-mode .town-tab {
    background: #1a1a28;
    color: #e2ddd0;
    border-color: rgba(226,221,208,.15);
}
body.night-mode .town-tab.is-active {
    /* keeps the --town color — no override needed */
    color: #fff;
}
body.night-mode .chip {
    border-color: rgba(226,221,208,.15);
    color: #e2ddd0;
}
body.night-mode .chip-active { color: #fff; }

/* Results bar */
body.night-mode .results-count  { color: #686058; }
body.night-mode .page-size-wrap { color: #686058; }
body.night-mode .page-size {
    background: #1a1a28;
    border-color: rgba(226,221,208,.12);
    color: #e2ddd0;
}

/* Pager */
body.night-mode .pager-btn,
body.night-mode .pager-num {
    background: #1a1a28;
    border-color: rgba(226,221,208,.12);
    color: #e2ddd0;
}
body.night-mode .pager-gap { color: #686058; }

/* Event cards body text */
body.night-mode .event-name        { color: #e2ddd0; }
body.night-mode .event-description { color: #a8a090; }
body.night-mode .event-location    { color: #a8a090; }
body.night-mode .event-source      { color: #686058; }
body.night-mode .colorado-header .subtitle { color: #a8a090; }
body.night-mode .status-message    { color: #686058; }

/* Event card backgrounds — keep --town accent, shift the light base dark */
body.night-mode .event-card {
    background: linear-gradient(180deg,
        color-mix(in srgb, var(--town, #2C4A3A) 8%, #151520) 0%,
        color-mix(in srgb, var(--town, #2C4A3A) 15%, #0f0f18) 100%);
}
body.night-mode .cost-badge {
    background: #262636;
    color: #a8a090;
}
body.night-mode .region-chip {
    background: color-mix(in srgb, var(--town, #2C4A3A) 22%, #1a1a28);
}

/* Skeleton loader */
body.night-mode .skeleton-card {
    background: #151520;
    border-color: rgba(226,221,208,.09);
}
body.night-mode .skeleton-card .sk-media,
body.night-mode .skeleton-card .sk-line {
    background: #1c1c2a;
    background-image: linear-gradient(100deg,
        transparent 30%,
        color-mix(in srgb, var(--page-town, #2C4A3A) 20%, #252535) 50%,
        transparent 70%);
    background-size: 200% 100%;
    background-repeat: no-repeat;
}

/* ──────────────────────────────────────────────────────────────────
   NIGHT GLOW — ambient sparkle effects
────────────────────────────────────────────────────────────────── */

/* Cards that already have an ambient glow get a boost */
body.night-mode .card:hover,
body.night-mode .sidebar-card:hover {
    box-shadow: var(--shadow-lg), 0 0 32px -12px rgba(30,74,56,.35);
}

/* Planner today column glow */
body.night-mode .day-col.today .day-header {
    background: var(--green-mid);
}

/* Market box in detail — already has good dark treatment via green-deep vars */
body.night-mode .rdm-market-box {
    box-shadow: 0 4px 20px rgba(0,0,0,.45), 0 0 40px -18px rgba(30,74,56,.3);
}

/* ══════════════════════════════════════════════════════════════════
   HOME PAGE — LATEST ADDITIONS SECTION  —  Night Mode
   .latest-title uses var(--green-deep) which goes dark in night mode.
   .latest-nav-btn uses var(--parchment) bg + var(--green-deep) text —
   both go very dark, making the buttons invisible.
══════════════════════════════════════════════════════════════════ */
body.night-mode .latest-title {
    color: var(--gold-pale);
    text-shadow: 0 0 32px rgba(240,217,138,.16);
}
body.night-mode .latest-nav-btn {
    background: var(--linen);
    border-color: var(--border2);
    color: var(--gold-pale);
}
body.night-mode .latest-nav-btn:hover {
    background: var(--green-deep);
    color: var(--gold-pale);
    border-color: var(--green-soft);
    box-shadow: 0 0 16px -4px rgba(30,74,56,.5);
}
body.night-mode .latest-count { color: var(--text3); }

/* ══════════════════════════════════════════════════════════════════
   NAV LINK VISIBILITY  —  Night Mode
   In day mode nav links use a dark/green color that vanishes against
   the dark #0a1810 header. Give them a readable warm-grey + gold-on-
   active treatment.
══════════════════════════════════════════════════════════════════ */
body.night-mode .nav-link {
    color: rgba(226,221,208,.72);
}
body.night-mode .nav-link:hover {
    color: var(--text);
    background: rgba(226,221,208,.07);
}
body.night-mode .nav-link.active {
    color: var(--gold-pale);
}
/* Dropdown trigger caret */
body.night-mode .nav-link .caret {
    color: rgba(226,221,208,.45);
}

/* ══════════════════════════════════════════════════════════════════
   WHAT'S HAPPENING HUB  (.nhub-*)  —  Night Mode
   HomeHub.razor inlines many hardcoded light colours (#fff, #FAF9F5,
   #23221f) that need overriding to read well on a dark background.
══════════════════════════════════════════════════════════════════ */

/* ── Section shell ─────────────────────────────────────────────── */
body.night-mode .nhub {
    background: linear-gradient(135deg, var(--linen) 0%, var(--parchment) 100%);
    border-color: var(--border2);
    box-shadow: var(--shadow-lg);
}

/* ── Header text ───────────────────────────────────────────────── */
body.night-mode .nhub-eyebrow  { color: var(--gold); }
body.night-mode .nhub-title    { color: var(--gold-pale); text-shadow: 0 0 32px rgba(240,217,138,.18); }
body.night-mode .nhub-subtitle { color: var(--text3); }
body.night-mode .nhub-count {
    background: rgba(226,221,208,.07);
    border-color: var(--border2);
    color: var(--text3);
}

/* ── Source pills ──────────────────────────────────────────────── */
body.night-mode .nhub-src {
    /* lighten text so it reads on the dark --parchment base */
    color: color-mix(in srgb, var(--src) 65%, var(--text2));
    background: color-mix(in srgb, var(--src) 10%, var(--parchment));
    border-color: color-mix(in srgb, var(--src) 28%, rgba(226,221,208,.14));
}
body.night-mode .nhub-src:hover {
    background: color-mix(in srgb, var(--src) 20%, var(--linen));
    border-color: color-mix(in srgb, var(--src) 55%, transparent);
    color: color-mix(in srgb, var(--src) 85%, #fff);
}
body.night-mode .nhub-src--active {
    background: var(--src);
    border-color: var(--src);
    color: #fff;
    box-shadow:
        0 4px 18px -4px color-mix(in srgb, var(--src) 65%, transparent),
        0 0 28px -10px color-mix(in srgb, var(--src) 45%, transparent);
}
body.night-mode .nhub-src-n {
    background: rgba(255,255,255,.20);
}

/* ── Filter chips ──────────────────────────────────────────────── */
body.night-mode .nhub-chip {
    background: rgba(15,15,24,.55);
    border-color: var(--border2);
    color: var(--text2);
}
body.night-mode .nhub-chip:hover {
    border-color: var(--green-soft);
    color: var(--gold-pale);
    background: rgba(30,74,56,.18);
}
body.night-mode .nhub-chip--on {
    background: var(--green-deep);
    border-color: var(--green-deep);
    color: var(--gold-pale);
    box-shadow: 0 4px 10px -4px rgba(30,74,56,.55);
}
/* Market-type chip active */
body.night-mode .nhub-chip--mkt.nhub-chip--on {
    background: var(--mc);
    border-color: var(--mc);
    color: #fff;
    box-shadow: 0 4px 10px -4px color-mix(in srgb, var(--mc) 55%, transparent);
}
/* Date-category chip active */
body.night-mode .nhub-chip--cat-active {
    background: var(--dc);
    border-color: var(--dc);
    color: #fff;
    box-shadow: 0 4px 10px -4px color-mix(in srgb, var(--dc) 50%, transparent);
}

/* ── Search input ──────────────────────────────────────────────── */
body.night-mode .nhub-search-input {
    background: rgba(15,15,24,.60);
    border-color: var(--border2);
    color: var(--text);
}
body.night-mode .nhub-search-input::placeholder { color: var(--text3); }
body.night-mode .nhub-search-input:focus {
    border-color: var(--green-soft);
    box-shadow: 0 0 0 3px rgba(46,110,80,.2);
    background: #1c1c2a;
}
body.night-mode .nhub-search-clear {
    background: var(--linen2);
    color: var(--text3);
}
body.night-mode .nhub-search-clear:hover {
    background: var(--green-deep);
    color: var(--gold-pale);
}

/* ── Legend ────────────────────────────────────────────────────── */
body.night-mode .nhub-legend {
    background: rgba(15,15,24,.45);
    border-color: var(--border2);
}
body.night-mode .nhub-legend-label { color: var(--gold-pale); }
body.night-mode .nhub-legend-item  { color: var(--text3); }

/* ── "All sources" note bar ────────────────────────────────────── */
body.night-mode .nhub-all-note {
    background: rgba(15,15,24,.42);
    border-color: var(--border2);
    color: var(--text3);
}

/* ── Hub cards  ────────────────────────────────────────────────── */
/* Override hardcoded #fff / #FAF9F5 with dark night base colours */
body.night-mode .nhub-card {
    background: linear-gradient(180deg,
        color-mix(in srgb, var(--hc) 5%,  #1c1c2a) 0%,
        color-mix(in srgb, var(--hc) 12%, #151520) 100%);
    box-shadow:
        0 1px 2px rgba(0,0,0,.55),
        0 18px 28px -18px color-mix(in srgb, var(--hc) 55%, #000);
}
body.night-mode .nhub-card:hover,
body.night-mode .nhub-card:focus-visible {
    box-shadow:
        0 2px 4px rgba(0,0,0,.65),
        0 26px 44px -18px color-mix(in srgb, var(--hc) 70%, #000),
        0 0 28px -6px  color-mix(in srgb, var(--hc) 50%, transparent),
        0 0 60px -20px rgba(212,168,67,.12);
}

/* Card title was hardcoded #23221f — invisible on dark card */
body.night-mode .nhub-card-title {
    color: var(--text);
}
body.night-mode .nhub-card:hover .nhub-card-title {
    color: color-mix(in srgb, var(--hc) 72%, var(--text));
}

/* Card meta rows */
body.night-mode .nhub-meta-row    { color: var(--text3); }
body.night-mode .nhub-card-extra  { color: var(--text2); }
body.night-mode .nhub-ico         { color: var(--gold); }
body.night-mode .nhub-meta-cost   { color: var(--gold-pale); }
body.night-mode .nhub-meta-cost .nhub-ico { color: var(--gold-pale); }
body.night-mode .nhub-card-cta    { color: var(--gold); }

/* ── Scrollbar ─────────────────────────────────────────────────── */
body.night-mode .nhub-scroll::-webkit-scrollbar-thumb { background: var(--linen2); }

/* ── Skeleton loader ───────────────────────────────────────────── */
body.night-mode .nhub-skeleton { background: var(--linen); }
body.night-mode .nhub-sk-media,
body.night-mode .nhub-sk-line  {
    background: var(--linen2);
    background-image: linear-gradient(100deg,
        transparent 30%,
        rgba(226,221,208,.06) 50%,
        transparent 70%);
    background-size: 200% 100%;
}

/* ── Empty state ───────────────────────────────────────────────── */
body.night-mode .nhub-empty p { color: var(--text3); }

/* ══════════════════════════════════════════════════════════════════
   NEBRASKA OUTDOORS PAGE  (.ne-*)  —  Night Mode
   Most hardcoded whites, light pastels, and light badge colours
   are overridden here. Variables already overridden globally
   (--parchment, --linen, --green-deep, etc.) cascade in where used.
══════════════════════════════════════════════════════════════════ */

/* ── Hero title — var(--green-deep) goes very dark at night ─────── */
body.night-mode .ne-title {
    color: var(--gold-pale);
    text-shadow: 0 0 40px rgba(240,217,138,.18);
}
body.night-mode .ne-section-title { color: var(--gold-pale); }
body.night-mode .ne-sub-title {
    color: var(--text);
    border-bottom-color: var(--border2);
}

/* Species column — var(--green-deep) is near-black in night mode */
body.night-mode .ne-species { color: var(--gold-light); }

/* County/region heading paragraphs use inline color:var(--green-deep) */
body.night-mode .ne-section p[style*="green-deep"] {
    color: var(--gold-pale) !important;
}

/* ── Tab bar ───────────────────────────────────────────────────── */
body.night-mode .ne-tab-bar { background: var(--linen2); }
body.night-mode .ne-tab     { color: var(--text2); }
body.night-mode .ne-tab:hover {
    background: rgba(226,221,208,.08);
    color: var(--text);
}
body.night-mode .ne-tab-active {
    background: var(--green-mid) !important;
    color: #fff !important;
    box-shadow: 0 2px 12px -4px rgba(35,92,66,.5);
}

/* ── Data tables ───────────────────────────────────────────────── */
body.night-mode .ne-table {
    background: var(--parchment);
}
body.night-mode .ne-table thead tr {
    background: var(--green-mid);   /* slightly brighter than green-deep */
}
body.night-mode .ne-table td {
    border-bottom-color: var(--border);
}
body.night-mode .ne-table tbody tr:hover {
    background: var(--linen);
}

/* ── Badges ────────────────────────────────────────────────────── */
body.night-mode .badge-open   { background: rgba(34,197,94,.15);  color: #6ee7a0; }
body.night-mode .badge-closed { background: rgba(192,57,43,.18);  color: #f08080; }
body.night-mode .badge-permit { background: rgba(184,146,42,.18); color: #e8c060; }

/* Timeline tag badges */
body.night-mode .tag-open   { background: rgba(34,197,94,.15);  color: #6ee7a0; }
body.night-mode .tag-closed { background: rgba(192,57,43,.18);  color: #f08080; }

/* Timeline dot: white border → dark parchment border */
body.night-mode .ne-tl-dot { border-color: var(--parchment); }

/* ── Info cards ────────────────────────────────────────────────── */
body.night-mode .card-danger {
    background: rgba(192,57,43,.12);
    border-color: rgba(192,57,43,.30);
}
body.night-mode .card-warning {
    background: rgba(184,146,42,.10);
    border-color: rgba(184,146,42,.28);
}
body.night-mode .card-info {
    background: rgba(30,100,200,.10);
    border-color: rgba(30,100,200,.28);
}
/* card-neutral uses var(--parchment)/var(--linen) — already overridden ✓ */

/* ── Callouts ──────────────────────────────────────────────────── */
body.night-mode .callout-special {
    background: rgba(184,146,42,.10);
    border-left-color: var(--gold);
}

/* ── Calendar table ────────────────────────────────────────────── */
body.night-mode .ne-cal-table { background: var(--parchment); }
body.night-mode .ne-cal-table td {
    border-bottom-color: var(--border);
}
body.night-mode .ne-cal-group-row td { background: var(--linen); }
body.night-mode .ne-cal-table tbody tr:hover { background: var(--linen); }

/* Calendar cell states */
body.night-mode .cal-open   { background: rgba(34,197,94,.18);  color: #c8f7dc; }
body.night-mode .cal-closed { background: var(--linen2);        color: var(--text3); }
body.night-mode .cal-permit { background: rgba(184,146,42,.18); color: #f0d98a; }

/* Calendar legend swatches */
body.night-mode .sw-open   { background: rgba(34,197,94,.3);   border: 1px solid rgba(34,197,94,.4); }
body.night-mode .sw-closed { background: var(--linen2);        border-color: var(--border2); }

/* ══════════════════════════════════════════════════════════════════
   ALMANAC PAGE  —  Night Mode
   Market Heat tiles and the price text on commodity cards use
   hardcoded light-parchment colors (#F5ECD7 bg, dark brown/green
   text via --espresso) that were tuned for daytime — on the dark
   night background the text is nearly invisible. Retheme both,
   and add a green glow to the commodity cards on hover.
══════════════════════════════════════════════════════════════════ */

/* ── Market Heat tiles/cells ──────────────────────────────────── */
body.night-mode .al-heat-cell.neutral {
    background: var(--linen);
    color: var(--text2);
}
body.night-mode .al-heat-cell.heat-up {
    background: rgba(212,168,67,.16);
    color: var(--gold-light);
}
body.night-mode .al-heat-cell.heat-strong-up {
    background: rgba(212,168,67,.30);
    color: var(--gold-pale);
}
body.night-mode .al-heat-cell.heat-down {
    background: rgba(46,110,80,.22);
    color: #80c8a0;
}
body.night-mode .al-heat-cell.heat-strong-down {
    background: rgba(46,110,80,.40);
    color: #6ee7a0;
}
body.night-mode .al-heat-avg.heat-strong-up,
body.night-mode .al-heat-avg.heat-up {
    color: var(--gold-light);
}
body.night-mode .al-heat-avg.heat-strong-down,
body.night-mode .al-heat-avg.heat-down {
    color: #80c8a0;
}

/* ── Commodity card prices (Corn, Oats, etc. below Nebraska Spotlight) ── */
body.night-mode .al-price-val,
body.night-mode .al-mover-price {
    color: var(--gold-pale);
}

/* ── Green glow on card hover ─────────────────────────────────── */
body.night-mode .al-card:hover {
    box-shadow: var(--shadow-lg), 0 0 26px -6px rgba(46,110,80,.55);
}
body.night-mode .al-card.up:hover {
    border-color: var(--green-soft);
    box-shadow: var(--shadow-lg), 0 0 30px -6px rgba(46,110,80,.65);
}
body.night-mode .al-card.down:hover {
    border-color: var(--green-soft);
    box-shadow: var(--shadow-lg), 0 0 30px -6px rgba(46,110,80,.65);
}

/* ══════════════════════════════════════════════════════════════════
   ADVISOR PAGE  —  Night Mode
   Advisor.razor has hardcoded white backgrounds (#f2ede6, white),
   many var(--green-deep) text colours that go near-invisible at
   night, and rgba(255,255,255) header/input-bar backdrops.
══════════════════════════════════════════════════════════════════ */

/* ── Chat panel ────────────────────────────────────────────────── */
body.night-mode .advisor-chat-panel {
    background: #12121c;
    border-right-color: var(--border2);
}

/* ── Header bar ────────────────────────────────────────────────── */
body.night-mode .advisor-header {
    background: rgba(15,15,24,.88);
    backdrop-filter: blur(12px);
    border-bottom-color: var(--border2);
}
body.night-mode .advisor-title    { color: var(--gold-pale); }
body.night-mode .advisor-subtitle { color: var(--text3); }

/* ── Welcome screen ────────────────────────────────────────────── */
body.night-mode .advisor-welcome-name { color: var(--gold-pale); }
body.night-mode .suggestion-chip {
    background: var(--linen);
    border-color: rgba(226,221,208,.14);
    color: var(--text);
    box-shadow: 0 1px 4px rgba(0,0,0,.3);
}
body.night-mode .suggestion-chip:hover {
    background: var(--green-mid);
    color: var(--gold-pale);
    border-color: var(--green-mid);
    box-shadow: 0 2px 12px rgba(35,92,66,.45);
}

/* ── AI message bubbles ────────────────────────────────────────── */
body.night-mode .msg-ai .msg-bubble {
    background: var(--linen);
    color: var(--text);
    border-color: var(--border2);
    box-shadow: 0 1px 4px rgba(0,0,0,.35);
}
body.night-mode .msg-ai .msg-bubble strong { color: var(--gold-light); }

/* User bubbles — green-deep is very dark in night, bump to green-mid */
body.night-mode .msg-user .msg-bubble {
    background: var(--green-mid);
    box-shadow: 0 2px 8px rgba(35,92,66,.4);
}

/* Thinking dots */
body.night-mode .dot { background: var(--text3); }

/* List bullets in AI response */
body.night-mode .advisor-list li  { border-bottom-color: var(--border); }
body.night-mode .advisor-list li::before { color: var(--gold); }

/* ── Input bar ─────────────────────────────────────────────────── */
body.night-mode .advisor-input-bar {
    background: rgba(15,15,24,.88);
    backdrop-filter: blur(12px);
    border-top-color: var(--border2);
}
body.night-mode .advisor-input {
    background: var(--linen);
    border-color: var(--border2);
    color: var(--text);
    box-shadow: inset 0 1px 3px rgba(0,0,0,.3);
}
body.night-mode .advisor-input::placeholder { color: var(--text3); }
body.night-mode .advisor-input:focus {
    border-color: var(--green-soft);
    box-shadow: 0 0 0 3px rgba(46,110,80,.2);
    background: var(--linen2);
}
body.night-mode .advisor-send-btn:disabled {
    background: var(--linen2);
    color: var(--text3);
    box-shadow: none;
}

/* ── Results panel ─────────────────────────────────────────────── */
body.night-mode .advisor-results-panel { background: var(--parchment); }
body.night-mode .advisor-results-head {
    background: var(--linen);
    border-bottom-color: var(--border2);
    color: var(--text3);
}
body.night-mode .advisor-result-card {
    background: var(--linen);
    border-color: var(--border2);
    box-shadow: 0 1px 3px rgba(0,0,0,.3);
}
body.night-mode .advisor-result-card:hover {
    border-color: var(--green-soft);
    background: var(--linen2);
    box-shadow: 0 4px 16px rgba(0,0,0,.4),
                0 0 20px -8px rgba(46,110,80,.3);
}
body.night-mode .arc-name  { color: var(--gold-pale); }
body.night-mode .arc-open  { color: var(--text3); }
body.night-mode .arc-meta  { color: var(--text3); }
body.night-mode .arc-badge {
    background: rgba(46,110,80,.18);
    color: var(--gold-light);
}

/* ── Mobile tab bar ────────────────────────────────────────────── */
body.night-mode .advisor-mobile-tabs {
    background: var(--linen);
    border-bottom-color: var(--border2);
}
body.night-mode .advisor-tab-btn { color: var(--text3); }
body.night-mode .advisor-tab-btn.active {
    color: var(--gold-pale);
    border-bottom-color: var(--gold);
}
