/* Phase 402 — Chrome Reality Lock. Active visual safety shell after deployed header/footer mismatch report. */
/* Keeps app engines protected; final native header/footer lock also lives in header/footer bundles. */
/* Phase 398D — Native Night Mode Completion. Clean active theme shell; legacy drawer/footer residues removed. */
:root{
  --tgz376-bg:#05080a;
  --tgz376-bg2:#071015;
  --tgz376-panel:#091116;
  --tgz376-card:#0c1418;
  --tgz376-card2:#111c22;
  --tgz376-card3:#082033;
  --tgz376-line:rgba(245,242,234,.14);
  --tgz376-line2:rgba(143,230,210,.24);
  --tgz376-text:#f5f2ea;
  --tgz376-text2:#fffaf0;
  --tgz376-muted:#aeb7ba;
  --tgz376-muted2:#7f8b90;
  --tgz376-navy:#082033;
  --tgz376-teal:#17a6a3;
  --tgz376-teal2:#8fe6d2;
  --tgz376-copper:#17a6a3;
  --tgz376-copper2:#8fe6d2;
  --tgz376-sand:#e8ddc7;
  --tgz376-pearl:#f5f2ea;
  --tgz377-bg:#05080a;
  --tgz377-ink:#031316;
  --tgz377-night:#05080a;
  --tgz377-black:#071015;
  --tgz377-navy:#082033;
  --tgz377-card:#0c1418;
  --tgz377-raised:#111c22;
  --tgz377-zellij:#1e6f8c;
  --tgz377-teal:#17a6a3;
  --tgz377-mint:#8fe6d2;
  --tgz377-pearl:#f5f2ea;
  --tgz377-sand:#e8ddc7;
  --tgz377-muted:#aeb7ba;
  --tgz377-line:rgba(245,242,234,.14);
  --tgz377-focus:0 0 0 3px rgba(143,230,210,.24);
  --tgz376-radius:26px;
  --tgz376-radius-sm:16px;
  --tgz376-shadow:0 22px 70px rgba(0,0,0,.42);
}
html[data-theme="dark"]{color-scheme:dark;background:var(--tgz376-bg)!important;scrollbar-color:rgba(23,166,163,.72) #0a0d10}
html[data-theme="dark"] body{background:var(--tgz376-bg)!important;color:var(--tgz376-text)!important}
html[data-theme="dark"] body::before{background:radial-gradient(circle at 50% -10%,rgba(14,124,134,.18),transparent 34rem),linear-gradient(180deg,#030406,#07090b)!important}
html[data-theme="dark"] main,
html[data-theme="dark"] .siteShell,
html[data-theme="dark"] .pageShell,
html[data-theme="dark"] .pageWrap,
html[data-theme="dark"] .hcPage,
html[data-theme="dark"] .tgz268Page,
html[data-theme="dark"] .tgzNativePlanningRoutePage,
html[data-theme="dark"] .locationArticlePage,
html[data-theme="dark"] .tripsHubV2Page,
html[data-theme="dark"] .tripsHubPage{background:var(--tgz376-bg)!important;color:var(--tgz376-text)!important}
html[data-theme="dark"] body :where(h1,h2,h3,h4,h5,h6,.sectionTitle,.headline,.title,strong,b){color:var(--tgz376-text2)!important}
html[data-theme="dark"] body :where(p,li,small,em,label,.lead,.sub,.muted,.caption,.description,.copy,.meta){color:var(--tgz376-muted)!important}
html[data-theme="dark"] body :where(a){color:var(--tgz376-copper2)}
html[data-theme="dark"] body :where(hr){border-color:var(--tgz376-line)!important;background:var(--tgz376-line)!important}

/* Preserve locked command header/menu identity, only palette-tune accents. */
html[data-theme="dark"] :where(.tgzChrome,.tgzChromeShell){background:#05080a!important;color:var(--tgz376-text)!important;border-color:rgba(23,166,163,.22)!important}
html[data-theme="dark"] :where(.tgzChromeMenu,.tgzChromeTool,.tgzChromeTools .smartPicker>summary){background:#0b0d0f!important;color:var(--tgz376-text)!important;border-color:rgba(248,243,234,.18)!important}
html[data-theme="dark"] :where(.tgzChromeMenu span){background:var(--tgz376-copper)!important}

/* Consolidated dark surfaces. */
html[data-theme="dark"] body :where(
  section,.hcPanel,.hcHero,.hcCard,.hcPlanCard,.hcProofCard,.hcFaq,.hcFaqCard,
  .tgz268HeroCard,.tgz268FormShell,.tgz268Details,.tgz268Faq,.tgz268ContactGrid article,
  .locationArticleHero,.locationArticleBlock,.locationArticleGrid article,.locationArticleFacts div,.locationArticleNext a,
  .tripsV2Hero,.tripsV2Section,.tripsV2DurationRail article,.tripsV2ArticleRail a,.tripsV2LocationStrip a,.tripsV2ForecastGrid a,.tripsV2Checklist div,.tripsV2Faq article,.tripsV2Decision,
  .tripsHero,.tripsSection,.tripsRail a,.tripsLocationGrid a,.tripsForecastList a,.tripsChecklist div,.tripsFaq article,
  .tgzCommercialCluster,.tgzCommercialCluster__card,.tgzDemandRail,.tgzDemandRail__card,.tgzProofRail,.tgzProofRail__card,.tgzInternalGraph,.tgzInternalGraph__copy,.tgzInternalGraph__link,
  .rootAppCard,.rootAppPanel,.articleCard,.topicCard,.guideCard,.siteIndexCard,.siteIndexGroup,.localCard,.entityCard,.routeGraph,.proofLayer,
  .weatherTopicalLock,.weatherTopicalLock__note,.weatherTopicalLock__grid>*,.forecastCluster,.forecastWindow,.highDemandPaths,.faqBlock,.faqCard
){background:linear-gradient(180deg,var(--tgz376-card2),var(--tgz376-panel))!important;color:var(--tgz376-text)!important;border-color:var(--tgz376-line)!important;box-shadow:none!important}
html[data-theme="dark"] body :where(
  .hcPanel *,.hcHero *,.hcCard *,.tgz268HeroCard *,.tgz268FormShell *,.tgz268Details *,
  .locationArticleHero *,.locationArticleBlock *,.locationArticleGrid article *,.locationArticleFacts div *,.locationArticleNext a *,
  .tripsV2Hero *,.tripsV2Section *,.tripsV2DurationRail article *,.tripsV2ArticleRail a *,.tripsV2LocationStrip a *,.tripsV2ForecastGrid a *,.tripsV2Checklist div *,.tripsV2Faq article *,.tripsV2Decision *,
  .tripsHero *,.tripsSection *,.tripsRail a *,.tripsLocationGrid a *,.tripsForecastList a *,.tripsChecklist div *,.tripsFaq article *,
  .tgzCommercialCluster *,.tgzDemandRail *,.tgzProofRail *,.tgzInternalGraph *,.rootAppCard *,.siteIndexCard *,.siteIndexGroup *
){border-color:var(--tgz376-line)}

/* Section labels / pills */
html[data-theme="dark"] body :where(.hcKicker,.hcKickerLight,.tgz268Pill,.metaChip,.weatherFinalKicker,.bfKicker,.oceanLockKicker,.flightPill,.thingsPill,.surfSmartKicker,.tripsV2Pill,.tripsV2SectionHead span,.tripsSectionHead span,.tripsHeroBody>span,.locationArticleHero span,.tgzCommercialClusterHead span,.tgzDemandRail__head span,.tgzProofRail__head>span,.tgzInternalGraph__copy span,.tag,.pill,.eyebrow){background:rgba(23,166,163,.12)!important;color:var(--tgz376-copper2)!important;border-color:rgba(23,166,163,.42)!important}
html[data-theme="dark"] body :where(.btn:hover,.hcBtn:hover,.button:hover,.cta:hover,button:hover,a.btn:hover,.tripsBtn:hover,.cleanSoftBtn:hover,.bfBtn:hover,.thingsBtn:hover,.surfAction:hover){transform:translateY(-1px)}
html[data-theme="dark"] body :where(.btn:active,.hcBtn:active,.button:active,.cta:active,button:active,a.btn:active,.tripsBtn:active,.cleanSoftBtn:active,.bfBtn:active,.thingsBtn:active,.surfAction:active){transform:translateY(1px)}
html[data-theme="dark"] body :where(.btn.primary,.hcBtnPrimary,.primary,.ctaPrimary,.is-primary,.tripsBtn.primary,.bfBtn--primary,.buildPrimary,.cleanPrimary,.weatherFinalApp .btn.primary,.weatherHeroActions .btn.primary){background:var(--tgz376-copper)!important;color:#05080a!important;border-color:var(--tgz376-copper)!important}
html[data-theme="dark"] body :where(.btn.secondary,.hcBtnSoft,.hcBtnGhost,.hcBtnLight,.secondary,.tripsBtn:not(.primary),.bfBtn--soft,.bfBtn--ghost,.weatherFinalApp .btn.secondary,.weatherHeroActions .btn.secondary,.tgzProofRail__actions a+ a){background:#12171b!important;color:var(--tgz376-text)!important;border-color:var(--tgz376-line)!important}
html[data-theme="dark"] body :where(.btn.light,.lightAction,.weatherSpotTapCue,.weatherSpotPickHint,.weatherSpotSheetItem .weatherSpotTapCue,.weatherHeroActions a:not(.primary),.tripsV2DurationRail nav a){background:var(--tgz376-sand)!important;color:var(--tgz376-navy)!important;border-color:rgba(23,166,163,.22)!important}
html[data-theme="dark"] body :where(.btn.ghost,.ghost,.outline){background:transparent!important;color:var(--tgz376-text)!important;border-color:var(--tgz376-line2)!important}
html[data-theme="dark"] body :where(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible){outline:3px solid rgba(95,194,202,.52)!important;outline-offset:3px!important}

/* Forms and controls. */
html[data-theme="dark"] body :where(input,select,textarea,.field,.formField){background:#0a0d10!important;color:var(--tgz376-text)!important;border-color:var(--tgz376-line2)!important;box-shadow:none!important}
html[data-theme="dark"] body :where(input::placeholder,textarea::placeholder){color:rgba(248,243,234,.46)!important}
html[data-theme="dark"] body :where(details,summary,.accordion,.faqItem){background:var(--tgz376-card)!important;color:var(--tgz376-text)!important;border-color:var(--tgz376-line)!important}
html[data-theme="dark"] body :where(summary){color:var(--tgz376-text2)!important}

/* Build app contrast only: protect logic. */
html[data-theme="dark"] body.buildPage :where(.buildClean204,.buildCleanShell,.buildCleanHero,.cleanStep,.cleanCard,.cleanPanel,.cleanReceipt,.cleanReceiptDialog,.quoteActionSheet,.buildSummaryDialog,.buildSummarySheet,.buildSupportDrawer,.buildWizardTopBar,.buildWizardActionBar,.buildInlineEstimate,.builderGrid,.builderSteps,.fold,.buildStep,.optionCard,.choiceCard,.baseCard,.tripCard,.packageCard,.participantCard,.buildPanel){background:var(--tgz376-card)!important;color:var(--tgz376-text)!important;border-color:var(--tgz376-line)!important;box-shadow:none!important}
html[data-theme="dark"] body.buildPage :where(.is-selected,.selected,[aria-pressed="true"].optionCard,[aria-pressed="true"].choiceCard){background:#071c2c!important;color:var(--tgz376-text)!important;border-color:rgba(23,166,163,.48)!important}
html[data-theme="dark"] body.buildPage :where(.price,.amount,.total,.receiptTotal){color:var(--tgz376-copper2)!important}

/* Weather app / forecast */
html[data-theme="dark"] body.weatherPage :where(.weatherFinalApp,.weatherNowCard,.weatherBoard,.weatherMetricGrid>*,.weatherHorizonPanel,.weatherForecastBoard,.weatherForecastSummary,.weatherRead,.weatherDayCard,.weatherBeachCard,.weatherSpotCard,.weatherSpotCardWrap,.weatherSpotMatrix,.weatherHourlyBody,.weatherHourlyRail,.weatherTimeRow,.weatherSegment,.weatherProfileDock,.weatherHeroControlDock,.weatherSpotSwitch,.weatherSpotSheetPanel,.weatherSpotSheetBody,.weatherSpotSheetItem,.weatherCompareTab,.weatherTimeline,.weatherTimeCompact,.weatherPotentialBadge,.weatherTopicalLock,.weatherTopicalLock__note,.weatherTopicalLock__grid>*){background:var(--tgz376-card)!important;color:var(--tgz376-text)!important;border-color:var(--tgz376-line)!important;box-shadow:none!important}
html[data-theme="dark"] body.weatherPage :where(.weatherNowMain strong,.weatherNowMain b,.weatherSectionHead b,.weatherMetricGrid b,.weatherTimeRow b,.weatherSpotCard span,.weatherSpotSheetItem b){color:var(--tgz376-text2)!important}
html[data-theme="dark"] body.weatherPage :where(.weatherNowMain small,.weatherMetricGrid span,.weatherSectionHead small,.weatherTimeRow small,.weatherSpotCard small,.weatherSpotSheetItem small,.weatherRead small){color:var(--tgz376-muted)!important}
html[data-theme="dark"] body.weatherPage :where(.weatherSegment button,.weatherHourlyModes button,.weatherBeachToggle,.weatherCompareTab,.weatherSpotSheetTab){background:#0e1216!important;color:var(--tgz376-text)!important;border-color:var(--tgz376-line)!important}
html[data-theme="dark"] body.weatherPage :where(.weatherSegment button.is-active,.weatherHourlyModes button.is-active,.weatherBeachToggle.is-active,.weatherCompareTab.is-active,.weatherSpotSheetTab.is-active){background:var(--tgz376-copper)!important;color:#05080a!important;border-color:var(--tgz376-copper)!important}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheet){background:rgba(0,0,0,.76)!important;backdrop-filter:blur(8px)}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetBackdrop){background:rgba(0,0,0,.72)!important}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel){border-radius:24px 24px 0 0!important;max-height:74vh!important;overflow:auto!important;background:#071015!important;border:1px solid var(--tgz376-line)!important}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel::before){background:transparent!important}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetHead,.weatherSpotSheetHandle){background:#071015!important;color:var(--tgz376-text)!important;border-color:var(--tgz376-line)!important}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetItem.is-active,.weatherSpotCard.is-active){background:#071c2c!important;border-color:rgba(23,166,163,.58)!important}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetItem.is-active .weatherSpotTapCue,.weatherSpotCard.is-active .weatherSpotPickHint){background:var(--tgz376-sand)!important;color:var(--tgz376-navy)!important}
html[data-theme="dark"] body.weatherPage :where(.weatherRefreshTiny,.weatherRefreshAction){background:var(--tgz376-copper)!important;color:#05080a!important;border-color:var(--tgz376-copper)!important}

/* Board Finder */
html[data-theme="dark"] body.boardFinderPage :where(.bfPage,.bfHero__shell,.bfHero__copy,.bfForm,.bfCard,.bfFields label,.bfResult,.bfResultPanel,.bfFaq__card,.bfFaq details,.bfNext a,.bfPanel){background:var(--tgz376-card)!important;color:var(--tgz376-text)!important;border-color:var(--tgz376-line)!important;box-shadow:none!important}
html[data-theme="dark"] body.boardFinderPage :where(.bfResult){background:linear-gradient(135deg,#082033,#0a2134)!important;border-color:rgba(95,194,202,.30)!important}
html[data-theme="dark"] body.boardFinderPage :where(.bfFields input,.bfFields select){background:#071015!important;color:var(--tgz376-text)!important;border-color:var(--tgz376-line2)!important}

/* Live Ocean / flights / things / surf apps */
html[data-theme="dark"] body :where(.oceanLockMain,.oceanLockHero__inner,.oceanLockPanel,.oceanLockRoute,.flightApp,.flightHeroShell,.flightDecisionCard,.flightCard,.thingsCockpitApp,.thingsCockpitHero,.thingsDecisionBoard,.thingsPlanCard,.surfSmartApp,.surfSmartHero,.surfSmartConsole,.surfSmartCard,.surfSpotCard,.surfPhase343Hero){background:var(--tgz376-card)!important;color:var(--tgz376-text)!important;border-color:var(--tgz376-line)!important;box-shadow:none!important}
html[data-theme="dark"] body :where(.flightChip.is-active,.flightCityChip.is-active,.thingsPill.is-active,.thingsStatePills button.is-active,.surfSmartChip.is-active,.surfModelChip.is-active,.oceanLockRoute.is-active,.thingsPlanCard.is-active,.surfSmartCard.is-active,.surfSpotCard.is-active){background:#071c2c!important;border-color:rgba(23,166,163,.48)!important;color:var(--tgz376-text)!important}
html[data-theme="dark"] :where(.tioQuickNavV4,.bottomQuickNav){background:rgba(5,6,7,.96)!important;border-color:rgba(248,243,234,.16)!important;box-shadow:0 18px 60px rgba(0,0,0,.55)!important;backdrop-filter:blur(16px)}
html[data-theme="dark"] :where(.tioQuickNavV4 a,.bottomQuickNav a){background:transparent!important;color:var(--tgz376-muted)!important;border-color:transparent!important}
html[data-theme="dark"] :where(.tioQuickNavV4 a.is-active,.bottomQuickNav a.is-active){background:#071c2c!important;color:var(--tgz376-text2)!important;border-color:rgba(23,166,163,.28)!important}
html[data-theme="dark"] :where(.tioQuickNavV4 a svg,.bottomQuickNav a svg){color:var(--tgz376-teal2)!important}
html[data-theme="dark"] :where(.tioQuickNavV4 a.is-active svg,.bottomQuickNav a.is-active svg){color:var(--tgz376-copper2)!important}

/* Cookie/consent/modals/sheets */
html[data-theme="dark"] body :where(.modal,.dialog,.sheet,.alert,.notice,.hint,.callout,.cookieBanner,#cookieBanner,.consentBanner){background:var(--tgz376-card)!important;color:var(--tgz376-text)!important;border-color:var(--tgz376-line)!important;box-shadow:var(--tgz376-shadow)!important}
html[data-theme="dark"] body :where(.modal p,.dialog p,.sheet p,.alert p,.notice p,.hint p,.callout p,.cookieBanner p,#cookieBanner p,.consentBanner p){color:var(--tgz376-muted)!important}

/* Avoid washed-out white-on-cream leftovers. If a card remains intentionally light, force readable ink. */
html[data-theme="dark"] body :where(.is-light,.lightCard,.creamCard,.sandCard,.whiteCard){background:var(--tgz376-sand)!important;color:var(--tgz376-navy)!important;border-color:rgba(6,24,38,.18)!important}
html[data-theme="dark"] body :where(.is-light *,.lightCard *,.creamCard *,.sandCard *,.whiteCard *){color:inherit!important}

@media(max-width:760px){
  html[data-theme="dark"] body :where(.weatherSpotSheetGroup>div){grid-template-columns:1fr 1fr!important;gap:.45rem!important}
  html[data-theme="dark"] body :where(.weatherSpotSheetItem){min-height:58px!important;padding:.55rem!important}
  html[data-theme="dark"] body :where(.btn,.hcBtn,.button,.cta,button,a.btn,.tripsBtn,.bfBtn,.thingsBtn,.surfAction){min-height:44px}
}
@media(max-width:390px){
  html[data-theme="dark"] body :where(.weatherSpotSheetGroup>div){grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){
  html[data-theme="dark"] body :where(*),html[data-theme="dark"] body :where(*::before),html[data-theme="dark"] body :where(*::after){transition:none!important;animation:none!important;scroll-behavior:auto!important}
}


/* Phase 377A — Atlantic Zellij button grammar and command accent reset.
   Orange is intentionally removed from UI chrome; the logo artwork keeps its own .io mark. */
html[data-theme="dark"]{
  scrollbar-color:rgba(23,166,163,.72) #071015!important;
}
html[data-theme="dark"] body :where(a:not(.tgzLogoLink):not(.tgzChromeBrandLink)){
  color:var(--tgz377-mint)!important;
}
html[data-theme="dark"] body :where(a:not(.tgzLogoLink):not(.tgzChromeBrandLink)):hover{
  color:var(--tgz377-pearl)!important;
}

/* Primary: ocean/sea-glass, not orange. */
html[data-theme="dark"] body :where(
  .btn-primary,
  .primary,
  .is-primary,
  .ctaPrimary,
  .bookBtn,
  .tripsBtnPrimary,
  .bfBtnPrimary,
  .thingsPrimary,
  .submitBtn,
  button[type="submit"],
  a[href*="/build/"].btn,
  a[href*="/build/"].cta
){
  background:linear-gradient(135deg,var(--tgz377-teal),var(--tgz377-mint))!important;
  color:var(--tgz377-ink)!important;
  border:1px solid rgba(143,230,210,.68)!important;
  box-shadow:0 14px 36px rgba(23,166,163,.20)!important;
  text-shadow:none!important;
}
html[data-theme="dark"] body :where(.btn-primary,.primary,.is-primary,.ctaPrimary,.bookBtn,.tripsBtnPrimary,.bfBtnPrimary,.thingsPrimary,button[type="submit"]):hover{
  filter:saturate(1.05) brightness(1.02);
}

/* Secondary: Atlantic navy. */
html[data-theme="dark"] body :where(
  .btn-secondary,
  .secondary,
  .is-secondary,
  .cleanDockBtn,
  .bfBtn:not(.bfBtnPrimary),
  .thingsBtn:not(.thingsPrimary),
  .surfAction,
  .weatherAction,
  .weatherSpotPickHint
){
  background:var(--tgz377-navy)!important;
  color:var(--tgz377-pearl)!important;
  border:1px solid rgba(143,230,210,.22)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body :where(
  .tab.is-active,
  .chip.is-active,
  .pill.is-active,
  .filter.is-active,
  .tag.is-active,
  .weatherMode.is-active,
  .weatherHorizon.is-active,
  .thingsPill.is-active,
  .surfSmartChip.is-active,
  .flightChip.is-active,
  .flightCityChip.is-active
){
  background:rgba(30,111,140,.28)!important;
  color:var(--tgz377-pearl)!important;
  border-color:rgba(143,230,210,.54)!important;
}

/* Light action: only on intentional sand/pearl cards. */
html[data-theme="dark"] body :where(
  .is-light button,
  .lightCard button,
  .creamCard button,
  .sandCard button,
  .whiteCard button,
  .is-light .btn,
  .lightCard .btn,
  .creamCard .btn,
  .sandCard .btn,
  .whiteCard .btn
){
  background:var(--tgz377-sand)!important;
  color:var(--tgz377-black)!important;
  border:1px solid rgba(8,32,51,.18)!important;
  box-shadow:none!important;
}

/* Disabled remains readable, never ghost-white. */
html[data-theme="dark"] body :where(button[disabled],.is-disabled,.disabled,[aria-disabled="true"]){
  background:#263038!important;
  color:#c8d0d2!important;
  border-color:rgba(245,242,234,.12)!important;
  opacity:.78!important;
  cursor:not-allowed!important;
}

/* Focus accessibility. */
html[data-theme="dark"] body :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:0!important;
  box-shadow:var(--tgz377-focus)!important;
  border-color:rgba(143,230,210,.72)!important;
}

/* Bottom nav active and icon tone moves to ocean/teal. */
html[data-theme="dark"] :where(.tioQuickNavV4 a.is-active,.bottomQuickNav a.is-active){
  background:linear-gradient(135deg,#082033,#0f3546)!important;
  border-color:rgba(143,230,210,.28)!important;
}
html[data-theme="dark"] :where(.tioQuickNavV4 a svg,.bottomQuickNav a svg){
  color:var(--tgz377-teal)!important;
}
html[data-theme="dark"] :where(.tioQuickNavV4 a.is-active svg,.bottomQuickNav a.is-active svg){
  color:var(--tgz377-mint)!important;
}

/* Keep emergency/warning amber from becoming a brand accent. */
html[data-theme="dark"] body :where(.warning,.alert,.notice-warning){
  --tgz-warning:#c9a35f;
}



/* Phase 377B — Build App Dark Lock.
   CSS-only conversion pass for booking surfaces: no pricing, receipt math, submit/backend/admin logic touched. */
html[data-theme="dark"] body.buildPage,
html[data-theme="dark"] body.buildClean204{
  --b-bg:var(--tgz377-night);
  --b-card:var(--tgz377-card);
  --b-card2:var(--tgz377-raised);
  --b-ink:var(--tgz377-pearl);
  --b-muted:var(--tgz377-muted);
  --b-line:rgba(245,242,234,.15);
  --b-line2:rgba(143,230,210,.28);
  --b-navy:var(--tgz377-navy);
  --b-orange:var(--tgz377-teal);
  --b-orange-soft:rgba(23,166,163,.14);
  background:var(--tgz377-night)!important;
  color:var(--tgz377-pearl)!important;
}
html[data-theme="dark"] body.buildPage :where(.buildCleanMain,.buildClean204,.buildCleanFrame,.buildCleanApp,.buildCleanForm,.buildCleanShell){
  background:var(--tgz377-night)!important;
  color:var(--tgz377-pearl)!important;
}
html[data-theme="dark"] body.buildPage :where(.buildCleanApp,.cleanStep,.cleanStep.is-active){
  background:linear-gradient(180deg,rgba(12,20,24,.98),rgba(7,16,21,.98))!important;
  border-color:rgba(245,242,234,.14)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.buildPage :where(.buildCleanHero,.buildCleanPill,.buildAppTrustRail span,.buildCleanValidation){
  color:var(--tgz377-pearl)!important;
  border-color:rgba(245,242,234,.16)!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanStepHead span,.cleanEligibilityNote,.cleanTrustLine,.cleanBaseHelp,.cleanStepHint){
  background:rgba(143,230,210,.08)!important;
  border-color:rgba(143,230,210,.18)!important;
  color:#c9d4d4!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanStepHead h2,.buildCleanHero h1,.buildCleanHero strong,.cleanModeCard strong,.activityCard strong,.activityCardTop strong,.guestCounter>span,.guestCounter strong,.guestProfile strong,.quoteLine b,.quoteLine335 b,.quoteSummaryCard b,.quoteItem b,.selectedTray strong,.inlineSaved span,.routeBlock strong,.cleanReceiptDialogHead h2){
  color:var(--tgz377-pearl)!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanModeCard span,.cleanModeCard p,.cleanModeCard li,.buildCleanHero p,.activityCardTop span,.activityCard p,.activityCard small,.guestCounter small,.quoteSummaryCard small,.quoteLine span,.quoteLine335 span,.quoteLine em,.quoteLine335 em,.quoteItem span,.quoteItem small,.composerHead span,.composerNote,.composerEstimate span,.quoteHint,.emptyPlan){
  color:var(--tgz377-muted)!important;
}

/* Build cards and generated panels — never white-on-white in dark mode. */
html[data-theme="dark"] body.buildPage :where(
  .cleanModeCard,
  .cleanOfferCard,
  .guestCounter,
  .guestProfile,
  .cleanStayPanel,
  .routeBlock,
  .activityCard,
  .inlineComposer,
  .compactComposer,
  .composerEstimate,
  .selectedTray,
  .inlineSaved,
  .quoteSummaryCard,
  .quoteSection,
  .quoteList li,
  .quoteItem,
  .quoteTotal,
  .receiptTotal,
  .quoteActionCard,
  .quoteActionCard338
){
  background:var(--tgz377-card)!important;
  color:var(--tgz377-pearl)!important;
  border-color:rgba(245,242,234,.15)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanModeCard.is-active,.cleanModeCard[aria-pressed="true"],.activityCard.is-active,.activityCard.is-open,.activityCard.has-saved,.guestProfileControls button.is-active,.slotRow button.is-active){
  background:linear-gradient(135deg,rgba(8,32,51,.94),rgba(12,46,56,.84))!important;
  border-color:rgba(143,230,210,.48)!important;
  color:var(--tgz377-pearl)!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanModeCard.is-active::after,.cleanModeCard[aria-pressed="true"]::after){
  background:var(--tgz377-mint)!important;
  color:var(--tgz377-ink)!important;
}
html[data-theme="dark"] body.buildPage :where(.buildTapCue,.priceChip,.cleanPrice,.quoteItem strong,.quoteList li>span:first-child,.selectedTray div span){
  background:rgba(143,230,210,.10)!important;
  color:var(--tgz377-mint)!important;
  border-color:rgba(143,230,210,.28)!important;
}

/* Forms, date fields, selects and textareas. */
html[data-theme="dark"] body.buildPage :where(.cleanDateGrid label,.cleanDateGuestGrid label,.cleanContactGrid label,.cleanStayPanel label,.routeBlock label,.composerGrid label,.cleanNotesLabel){
  color:var(--tgz377-muted)!important;
  background:transparent!important;
  border-color:transparent!important;
}
html[data-theme="dark"] body.buildPage :where(input,select,textarea){
  background:#071015!important;
  color:var(--tgz377-pearl)!important;
  border:1px solid rgba(245,242,234,.18)!important;
  box-shadow:none!important;
  caret-color:var(--tgz377-mint)!important;
}
html[data-theme="dark"] body.buildPage :where(input::placeholder,textarea::placeholder){
  color:#7f8b90!important;
  opacity:1!important;
}
html[data-theme="dark"] body.buildPage :where(input:focus,select:focus,textarea:focus){
  border-color:rgba(143,230,210,.66)!important;
  box-shadow:var(--tgz377-focus)!important;
  outline:0!important;
}

/* Guest counters and controls. */
html[data-theme="dark"] body.buildPage :where(.guestCounter){
  grid-template-columns:minmax(0,1fr) auto!important;
  min-height:78px!important;
}
html[data-theme="dark"] body.buildPage :where(.guestCounter>div,.counterControls){
  display:flex!important;
  align-items:center!important;
  gap:.38rem!important;
}
html[data-theme="dark"] body.buildPage :where(.guestCounter>div strong,.counterControls span){
  min-width:1.6rem!important;
  color:var(--tgz377-pearl)!important;
  text-align:center!important;
}
html[data-theme="dark"] body.buildPage :where(.guestCounter>div button,.counterControls button,.routeBlock button){
  width:44px!important;
  height:44px!important;
  min-height:44px!important;
  display:grid!important;
  place-items:center!important;
  background:#071015!important;
  color:var(--tgz377-mint)!important;
  border:1px solid rgba(143,230,210,.28)!important;
  border-radius:999px!important;
  font-size:1.05rem!important;
  font-weight:900!important;
}
html[data-theme="dark"] body.buildPage :where(.guestCounter>div button:hover,.counterControls button:hover,.routeBlock button:hover){
  background:rgba(23,166,163,.14)!important;
  border-color:rgba(143,230,210,.54)!important;
}

/* Build button grammar. */
html[data-theme="dark"] body.buildPage :where(.cleanSoftBtn,.quoteJumpBtn,.quoteSectionAction,.quoteMiniAction,.selectedTray button,.inlineSaved button,.quoteActions button,.quoteActionGrid button,.quoteActionGrid338 button,.activityFamilyRail button,.guestProfileControls button,.slotRow button,.inlineAdd button,.cleanActionBtn,.cleanDockBtn,.cleanDockSummary,#cleanCloseReceipt,.quoteCloseBtn){
  min-height:44px!important;
  border-radius:999px!important;
  background:#071015!important;
  color:var(--tgz377-pearl)!important;
  border:1px solid rgba(245,242,234,.16)!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanPrimary,.cleanDockBtn.cleanPrimary,.inlineAdd button:first-child,.cleanActionBtn.is-primary,.activityCard.is-open .inlineAdd button:first-child,.quoteActions button:first-child,.quoteActionGrid button:first-child,.quoteActionGrid338 button:first-child,.activityFamilyRail button.is-active,.guestProfileControls button.is-active,.slotRow button.is-active){
  background:linear-gradient(135deg,var(--tgz377-teal),var(--tgz377-mint))!important;
  color:var(--tgz377-ink)!important;
  border-color:rgba(143,230,210,.68)!important;
  box-shadow:0 12px 28px rgba(23,166,163,.16)!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanSoftBtn:hover,.quoteMiniAction:hover,.cleanDockBtn:hover,.inlineAdd button:hover,.cleanActionBtn:hover,.activityFamilyRail button:hover){
  border-color:rgba(143,230,210,.48)!important;
  color:var(--tgz377-mint)!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanDockBtn:disabled,button[disabled],.is-disabled,[aria-disabled="true"]){
  background:#202a30!important;
  color:#c6ced0!important;
  border-color:rgba(245,242,234,.12)!important;
  opacity:.8!important;
}

/* Receipt sheet and sticky dock. */
html[data-theme="dark"] body.buildPage :where(.cleanReceiptSheet){
  background:rgba(0,0,0,.58)!important;
  backdrop-filter:blur(8px)!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanReceiptDialog){
  background:var(--tgz377-night)!important;
  border-color:rgba(143,230,210,.18)!important;
  box-shadow:0 -24px 70px rgba(0,0,0,.55)!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanReceiptDialogHead){
  background:#071015!important;
  border-color:rgba(245,242,234,.14)!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanReceiptDialogHead span,.quoteActionTitle span,.quoteSection h3,.quoteSummaryCard span,.quoteTotal span,.receiptTotal span){
  color:var(--tgz377-mint)!important;
}
html[data-theme="dark"] body.buildPage :where(#cleanReceiptBody){
  background:var(--tgz377-night)!important;
}
html[data-theme="dark"] body.buildPage :where(.quoteHero){
  background:linear-gradient(135deg,#082033,#0d3540)!important;
  border-color:rgba(143,230,210,.22)!important;
  color:var(--tgz377-pearl)!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanDock){
  background:rgba(5,8,10,.94)!important;
  border-color:rgba(245,242,234,.16)!important;
  box-shadow:0 18px 70px rgba(0,0,0,.58)!important;
  backdrop-filter:blur(18px)!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanDockSummary){
  background:#071015!important;
  color:var(--tgz377-pearl)!important;
  border-color:rgba(143,230,210,.18)!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanDockSummary span){
  color:var(--tgz377-pearl)!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanToast){
  background:#071015!important;
  color:var(--tgz377-pearl)!important;
  border:1px solid rgba(143,230,210,.24)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.44)!important;
}

/* Compact mobile safety for the locked Build conversion flow. */
@media(max-width:760px){
  html[data-theme="dark"] body.buildPage :where(.cleanStep){padding:.66rem .66rem .82rem!important;}
  html[data-theme="dark"] body.buildPage :where(.guestCounter){padding:.62rem!important;}
  html[data-theme="dark"] body.buildPage :where(.activityCard,.cleanModeCard,.quoteSection,.quoteSummaryCard){padding:.62rem!important;}
  html[data-theme="dark"] body.buildPage :where(.cleanDock){left:.62rem!important;right:.62rem!important;border-radius:1.15rem!important;padding:.44rem!important;}
}

/* Phase 377C — Route Surfaces + FAQ/Accordion Lock.
   Editorial/routes-only polishing: no app engines, pricing, sitemap or backend logic touched. */
html[data-theme="dark"] body:not(.buildPage) :where(
  main.container,
  .container > .section,
  .section > .content,
  .section > .v29Panel,
  .section > .v30TrustPoints,
  .v29Compare,
  .v29CompareCard,
  .v29AsideNote,
  .v29Panel,
  .v30TrustPoints,
  .tgzReassurance,
  .tgzPublicProof,
  .tgzProofBlock,
  .tgzTrustBlock,
  .tgzDemandRail,
  .tgzProofRail,
  .tgzInternalGraph,
  .tgzCommercialCluster,
  .locationArticleBlock,
  .locationArticleHero,
  .weatherTopicalLock,
  .weatherFinalArticle,
  .rootAppPanel,
  .rootAppCard,
  .siteIndexGroup,
  .articleBody,
  .guideBody,
  .topicBody
){
  background:linear-gradient(180deg,rgba(12,20,24,.96),rgba(7,16,21,.98))!important;
  color:var(--tgz377-pearl)!important;
  border:1px solid rgba(245,242,234,.13)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body:not(.buildPage) :where(.section > .content,.v29Panel,.v30TrustPoints,.tgzDemandRail,.tgzProofRail,.tgzInternalGraph,.tgzCommercialCluster){
  border-radius:26px!important;
  padding:clamp(18px,4vw,34px)!important;
}
html[data-theme="dark"] body:not(.buildPage) :where(.section > .content h1,.section > .content h2,.section > .content h3,.v29Panel h1,.v29Panel h2,.v29Panel h3,.v30TrustPoints h2,.tgzInternalGraph h2,.tgzCommercialCluster h2,.tgzDemandRail h2,.tgzProofRail h2){
  color:var(--tgz377-pearl)!important;
  letter-spacing:-.035em!important;
}
html[data-theme="dark"] body:not(.buildPage) :where(.section > .content p,.section > .content li,.v29Panel p,.v29Panel li,.v30TrustPoints p,.v30TrustPoints small,.tgzInternalGraph p,.tgzCommercialCluster p,.tgzDemandRail p,.tgzProofRail p){
  color:#c7d0cf!important;
}

/* Route cards and internal-link grids. */
html[data-theme="dark"] body:not(.buildPage) :where(
  .landingMiniCard,
  .related a,
  .v30PointCard,
  .v29Compare .landingMiniCard,
  .locationArticleGrid article,
  .locationArticleFacts div,
  .locationArticleNext a,
  .tgzDemandRail__card,
  .tgzProofRail__card,
  .tgzInternalGraph__link,
  .tgzCommercialCluster__card,
  .rootAppCard,
  .rootAppPanel,
  .articleCard,
  .topicCard,
  .guideCard,
  .siteIndexCard,
  .siteIndexGroup a,
  .localCard,
  .entityCard,
  .routeGraph a,
  .proofLayer article,
  .highDemandPaths a,
  .weatherTopicalLock__grid > *,
  .forecastCluster a,
  .forecastWindow,
  .tripsV2ArticleRail a,
  .tripsV2LocationStrip a,
  .tripsV2ForecastGrid a,
  .tripsV2Checklist div,
  .tripsV2DurationRail article,
  .tripsV2Decision,
  .tripsV2Faq article,
  .tripsRail a,
  .tripsLocationGrid a,
  .tripsForecastList a,
  .tripsChecklist div,
  .tripsFaq article
){
  background:linear-gradient(180deg,rgba(17,28,34,.94),rgba(12,20,24,.98))!important;
  color:var(--tgz377-pearl)!important;
  border:1px solid rgba(245,242,234,.14)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body:not(.buildPage) :where(
  .landingMiniCard b,
  .related a b,
  .v30PointCard b,
  .tgzDemandRail__card b,
  .tgzProofRail__card b,
  .tgzInternalGraph__link b,
  .tgzCommercialCluster__card b,
  .rootAppCard b,
  .articleCard b,
  .topicCard b,
  .guideCard b,
  .siteIndexCard b,
  .localCard b,
  .entityCard b,
  .routeGraph a b,
  .proofLayer article b,
  .highDemandPaths a b,
  .weatherTopicalLock__grid b,
  .tripsV2ArticleRail a b,
  .tripsV2LocationStrip a b,
  .tripsV2ForecastGrid a b,
  .tripsV2Decision b
){
  color:var(--tgz377-pearl)!important;
}
html[data-theme="dark"] body:not(.buildPage) :where(
  .landingMiniCard small,
  .related a small,
  .v30PointCard small,
  .tgzDemandRail__card span,
  .tgzProofRail__card span,
  .tgzInternalGraph__link span,
  .tgzCommercialCluster__card span,
  .rootAppCard small,
  .articleCard small,
  .topicCard small,
  .guideCard small,
  .siteIndexCard small,
  .localCard small,
  .entityCard small,
  .routeGraph a small,
  .proofLayer article small,
  .highDemandPaths a small,
  .weatherTopicalLock__grid small,
  .tripsV2ArticleRail a small,
  .tripsV2LocationStrip a small,
  .tripsV2ForecastGrid a small,
  .tripsV2Decision small
){
  color:#aeb7ba!important;
}
html[data-theme="dark"] body:not(.buildPage) :where(.related,.landingMiniGrid,.v30PointGrid,.tgzInternalGraph__grid,.tgzDemandRail__grid,.tgzProofRail__grid){
  gap:clamp(10px,2vw,16px)!important;
}
html[data-theme="dark"] body:not(.buildPage) :where(.related a:hover,.landingMiniCard:hover,.tgzInternalGraph__link:hover,.siteIndexCard:hover,.articleCard:hover,.topicCard:hover,.guideCard:hover){
  transform:translateY(-1px)!important;
  border-color:rgba(143,230,210,.42)!important;
  box-shadow:0 14px 36px rgba(0,0,0,.22)!important;
}

/* FAQ and disclosure navigation: remove white accordion shells. */
html[data-theme="dark"] body :where(.faq,.faqBlock,.faqList,.accordionList,.detailsList){
  display:grid;
  gap:12px!important;
  background:transparent!important;
  color:var(--tgz377-pearl)!important;
}
html[data-theme="dark"] body :where(.faq details,.faqBlock details,.faqCard,details.faqItem,.accordion,.accordionItem,.tgzDurationDetails){
  background:linear-gradient(180deg,rgba(12,20,24,.98),rgba(7,16,21,.98))!important;
  color:var(--tgz377-pearl)!important;
  border:1px solid rgba(245,242,234,.15)!important;
  border-radius:22px!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
html[data-theme="dark"] body :where(.faq summary,.faqBlock summary,details.faqItem summary,.accordion summary,.accordionItem summary,.tgzDurationDetails summary){
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:16px 18px!important;
  background:rgba(17,28,34,.96)!important;
  color:var(--tgz377-pearl)!important;
  border:0!important;
  cursor:pointer!important;
  font-weight:850!important;
  letter-spacing:-.012em!important;
}
html[data-theme="dark"] body :where(.faq summary::-webkit-details-marker,.faqBlock summary::-webkit-details-marker,.accordion summary::-webkit-details-marker){display:none!important}
html[data-theme="dark"] body :where(.faq summary::after,.faqBlock summary::after,details.faqItem summary::after,.accordion summary::after,.accordionItem summary::after,.tgzDurationDetails summary::after){
  content:'+'!important;
  margin-left:auto!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:rgba(143,230,210,.10)!important;
  color:var(--tgz377-mint)!important;
  border:1px solid rgba(143,230,210,.24)!important;
  font-weight:900!important;
}
html[data-theme="dark"] body :where(.faq details[open] summary::after,.faqBlock details[open] summary::after,details.faqItem[open] summary::after,.accordion[open] summary::after,.accordionItem[open] summary::after,.tgzDurationDetails[open] summary::after){
  content:'−'!important;
  background:rgba(23,166,163,.20)!important;
}
html[data-theme="dark"] body :where(.faq details p,.faqBlock details p,details.faqItem p,.accordion p,.accordionItem p,.tgzDurationFaq,.tgzDurationDetails p){
  padding:0 18px 18px!important;
  margin:0!important;
  color:#c7d0cf!important;
  background:transparent!important;
}

/* Sand/light exceptions must be intentionally readable, never pale text on white. */
html[data-theme="dark"] body:not(.buildPage) :where(.is-light,.lightCard,.creamCard,.sandCard,.whiteCard,.softWhite,.cardLight){
  background:var(--tgz377-sand)!important;
  color:#071015!important;
  border:1px solid rgba(8,32,51,.18)!important;
}
html[data-theme="dark"] body:not(.buildPage) :where(.is-light *,.lightCard *,.creamCard *,.sandCard *,.whiteCard *,.softWhite *,.cardLight *){
  color:inherit!important;
}

/* Route buttons on editorial cards keep the Atlantic Zellij grammar. */
html[data-theme="dark"] body:not(.buildPage) :where(.related a,.locationArticleNext a,.tgzInternalGraph__link,.tripsV2ArticleRail a,.tripsV2ForecastGrid a,.tripsV2LocationStrip a){
  transition:transform .16s ease,border-color .16s ease,background .16s ease!important;
}
html[data-theme="dark"] body:not(.buildPage) :where(.section a.btn,.section .btn,.related a[aria-current="page"],.tgzInternalGraph__link.is-active){
  background:linear-gradient(135deg,var(--tgz377-teal),var(--tgz377-mint))!important;
  color:var(--tgz377-ink)!important;
  border-color:rgba(143,230,210,.64)!important;
}

@media(max-width:760px){
  html[data-theme="dark"] body:not(.buildPage) :where(.section > .content,.v29Panel,.v30TrustPoints,.tgzDemandRail,.tgzProofRail,.tgzInternalGraph,.tgzCommercialCluster){
    padding:18px!important;
    border-radius:22px!important;
  }
  html[data-theme="dark"] body:not(.buildPage) :where(.landingMiniGrid,.related,.v30PointGrid){
    grid-template-columns:1fr!important;
  }
  html[data-theme="dark"] body :where(.faq summary,.faqBlock summary,details.faqItem summary,.accordion summary,.accordionItem summary,.tgzDurationDetails summary){
    min-height:54px!important;
    padding:14px 15px!important;
  }
}
@media(max-width:390px){
}

/* Weather spot chooser final dark modal polish. */
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheet){
  background:rgba(3,6,8,.78)!important;
  backdrop-filter:blur(14px) saturate(1.05)!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetBackdrop){
  background:radial-gradient(circle at 50% 8%,rgba(23,166,163,.12),transparent 36rem),rgba(0,0,0,.74)!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel){
  width:min(920px,calc(100vw - 16px))!important;
  max-height:min(82dvh,760px)!important;
  margin-inline:auto!important;
  border-radius:26px 26px 18px 18px!important;
  padding:.7rem!important;
  display:flex!important;flex-direction:column!important;gap:.48rem!important;
  background:linear-gradient(180deg,#071015,#0c1418)!important;
  border:1px solid rgba(143,230,210,.22)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.58)!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel>header,.weatherSpotSheetHead){
  position:sticky!important;top:0!important;z-index:2!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:.5rem!important;align-items:center!important;
  padding:.46rem .52rem!important;border-radius:18px!important;
  background:#071015!important;border:1px solid rgba(245,242,234,.10)!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel>header b,.weatherSpotSheetHead b){
  color:var(--tgz377-pearl)!important;font-size:1rem!important;letter-spacing:-.02em!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel>header small,.weatherSpotSheetHead small){
  color:var(--tgz377-muted)!important;font-size:.68rem!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel>header button,.weatherSpotSheetClose){
  min-width:42px!important;min-height:38px!important;border-radius:13px!important;
  background:#0c1418!important;color:var(--tgz377-pearl)!important;border:1px solid rgba(245,242,234,.16)!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel>header button:hover,.weatherSpotSheetClose:hover){
  border-color:rgba(143,230,210,.56)!important;color:var(--tgz377-mint)!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetTabs){
  gap:.24rem!important;padding:.16rem .02rem .28rem!important;overflow-x:auto!important;scrollbar-width:thin!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetTab){
  flex:0 0 auto!important;min-height:34px!important;border-radius:13px!important;padding:.26rem .56rem!important;font-size:.64rem!important;
  background:#0c1418!important;color:#d8e2df!important;border:1px solid rgba(245,242,234,.13)!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetTab.is-active,.weatherSpotSheetTab[aria-selected="true"]){
  background:rgba(30,111,140,.34)!important;color:var(--tgz377-pearl)!important;border-color:rgba(143,230,210,.58)!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetBody){
  overflow:auto!important;padding:.04rem!important;scrollbar-width:thin!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetGroup){
  gap:.42rem!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetGroup>div){
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.34rem!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetItem){
  min-height:58px!important;border-radius:15px!important;padding:.46rem .5rem!important;
  background:#0c1418!important;color:var(--tgz377-pearl)!important;border:1px solid rgba(245,242,234,.12)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetItem:hover,.weatherSpotCard:hover){
  border-color:rgba(143,230,210,.48)!important;box-shadow:inset 0 0 0 1px rgba(143,230,210,.16)!important;transform:translateY(-1px)!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetItem.is-active,.weatherSpotCard.is-active){
  background:linear-gradient(135deg,rgba(8,32,51,.95),rgba(30,111,140,.28))!important;
  border-color:rgba(143,230,210,.68)!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotTapCue,.weatherSpotPickHint){
  min-height:30px!important;border-radius:999px!important;
  background:linear-gradient(135deg,var(--tgz377-teal),var(--tgz377-mint))!important;
  color:var(--tgz377-ink)!important;border:1px solid rgba(143,230,210,.60)!important;font-weight:950!important;
}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetItem.is-active .weatherSpotTapCue,.weatherSpotCard.is-active .weatherSpotPickHint){
  background:var(--tgz377-sand)!important;color:var(--tgz377-black)!important;border-color:rgba(245,242,234,.34)!important;
}
@media(max-width:760px){
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel){width:calc(100vw - 10px)!important;max-height:84dvh!important;padding:.48rem!important;border-radius:22px 22px 14px 14px!important}
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel>header,.weatherSpotSheetHead){padding:.38rem .42rem!important;border-radius:16px!important}
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetGroup>div){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.24rem!important}
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetItem){min-height:50px!important;padding:.36rem!important;border-radius:13px!important}
}
@media(max-width:390px){
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetGroup>div){grid-template-columns:1fr!important}
}

/* Footer command dock final polish. */
html[data-theme="dark"] body :where(.tioFooterV4){
  margin-top:20px!important;margin-bottom:calc(90px + env(safe-area-inset-bottom,0px))!important;color:var(--tgz377-pearl)!important;
}
html[data-theme="dark"] body :where(.tioFooterV4__dock){
  border-radius:26px!important;padding:.72rem!important;
  background:linear-gradient(180deg,#071015,#0c1418)!important;
  border:1px solid rgba(143,230,210,.18)!important;box-shadow:0 26px 70px rgba(0,0,0,.35)!important;
}
html[data-theme="dark"] body :where(.tioFooterV4__head){
  gap:.5rem!important;padding:.28rem .16rem .46rem!important;
}
html[data-theme="dark"] body :where(.tioFooterV4__mark){
  width:34px!important;height:34px!important;border-radius:13px!important;background:rgba(23,166,163,.16)!important;border:1px solid rgba(143,230,210,.22)!important;color:var(--tgz377-mint)!important;
}
html[data-theme="dark"] body :where(.tioFooterV4__brand strong){font-size:1rem!important;color:var(--tgz377-pearl)!important}
html[data-theme="dark"] body :where(.tioFooterV4__brand span){font-size:.72rem!important;color:var(--tgz377-muted)!important}
html[data-theme="dark"] body :where(.tioFooterV4__actions){
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.34rem!important;margin:.2rem 0 .48rem!important;
}
html[data-theme="dark"] body :where(.tioFooterV4__action){
  min-height:42px!important;border-radius:15px!important;padding:.38rem .45rem!important;background:#0c1418!important;color:var(--tgz377-pearl)!important;border:1px solid rgba(245,242,234,.13)!important;gap:.28rem!important;
}
html[data-theme="dark"] body :where(.tioFooterV4__action.is-primary){
  background:linear-gradient(135deg,var(--tgz377-teal),var(--tgz377-mint))!important;color:var(--tgz377-ink)!important;border-color:rgba(143,230,210,.60)!important;
}
html[data-theme="dark"] body :where(.tioFooterV4__boards){
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.44rem!important;
}
html[data-theme="dark"] body :where(.tioFooterV4__board){
  border-radius:18px!important;padding:.58rem!important;background:rgba(8,32,51,.38)!important;border:1px solid rgba(245,242,234,.10)!important;
}
html[data-theme="dark"] body :where(.tioFooterV4__board h2){font-size:.76rem!important;margin:0 0 .38rem!important;color:var(--tgz377-pearl)!important}
html[data-theme="dark"] body :where(.tioFooterV4__links){gap:.28rem!important}
html[data-theme="dark"] body :where(.tioFooterV4__links a){
  min-height:36px!important;border-radius:12px!important;padding:.28rem .35rem!important;background:#0c1418!important;color:#d8e2df!important;border:1px solid rgba(245,242,234,.10)!important;
}
html[data-theme="dark"] body :where(.tioFooterV4__links a:hover,.tioFooterV4__action:hover){border-color:rgba(143,230,210,.48)!important;color:var(--tgz377-mint)!important;transform:translateY(-1px)!important}
html[data-theme="dark"] body :where(.tioFooterV4__trust){
  margin:.5rem 0 0!important;padding:.48rem .6rem!important;border-radius:15px!important;background:rgba(23,166,163,.10)!important;color:#d8e2df!important;border:1px solid rgba(143,230,210,.16)!important;font-size:.75rem!important;
}
html[data-theme="dark"] body :where(.tioFooterV4__legal){
  gap:.28rem!important;margin-top:.48rem!important;padding-top:.44rem!important;border-top:1px solid rgba(245,242,234,.10)!important;
}
html[data-theme="dark"] body :where(.tioFooterV4__legal a,.tioFooterV4__legal button){
  min-height:34px!important;border-radius:999px!important;padding:.24rem .5rem!important;background:rgba(12,20,24,.82)!important;color:var(--tgz377-muted)!important;border:1px solid rgba(245,242,234,.10)!important;
}
html[data-theme="dark"] body :where(.tioFooterV4__legal a:hover,.tioFooterV4__legal button:hover){color:var(--tgz377-mint)!important;border-color:rgba(143,230,210,.36)!important}
html[data-theme="dark"] body :where(.tioQuickNavV4,.bottomQuickNav){
  max-width:min(560px,calc(100vw - 18px))!important;margin-inline:auto!important;border-radius:22px!important;padding:.22rem!important;background:rgba(5,8,10,.92)!important;border:1px solid rgba(143,230,210,.18)!important;box-shadow:0 20px 70px rgba(0,0,0,.48)!important;
}
html[data-theme="dark"] body :where(.tioQuickNavV4 a,.bottomQuickNav a){
  min-height:42px!important;border-radius:17px!important;padding:.24rem .14rem!important;color:var(--tgz377-muted)!important;
}
html[data-theme="dark"] body :where(.tioQuickNavV4 a.is-active,.bottomQuickNav a.is-active){
  background:linear-gradient(135deg,rgba(8,32,51,.92),rgba(30,111,140,.32))!important;color:var(--tgz377-pearl)!important;border-color:rgba(143,230,210,.36)!important;
}
@media(max-width:760px){
  html[data-theme="dark"] body :where(.tioFooterV4__dock){padding:.58rem!important;border-radius:22px!important}
  html[data-theme="dark"] body :where(.tioFooterV4__actions){grid-template-columns:1fr 1fr 1fr!important;gap:.26rem!important}
  html[data-theme="dark"] body :where(.tioFooterV4__action){font-size:.68rem!important;padding:.3rem .2rem!important;gap:.18rem!important}
  html[data-theme="dark"] body :where(.tioFooterV4__boards){grid-template-columns:1fr!important;gap:.32rem!important}
  html[data-theme="dark"] body :where(.tioFooterV4__legal){display:flex!important;flex-wrap:wrap!important;justify-content:center!important}
}

/* Phase 379 — full-route night completion.
   This is a consolidated token + component lock, not an extra loaded overlay.
   It normalizes the old route bundles through their own variables, then locks
   Build, Weather, Surf, Home, route graph, footer and editorial primitives. */
html[data-theme="dark"]{
  --tgz379-bg:#030708;
  --tgz379-bg-2:#061014;
  --tgz379-panel:#071217;
  --tgz379-card:#0b151a;
  --tgz379-card-2:#101d23;
  --tgz379-card-3:#0b2230;
  --tgz379-ink:#f6f3eb;
  --tgz379-ink-2:#fffaf0;
  --tgz379-muted:#b8c4c4;
  --tgz379-muted-2:#869397;
  --tgz379-line:rgba(246,243,235,.145);
  --tgz379-line-strong:rgba(143,230,210,.35);
  --tgz379-teal:#12a8a0;
  --tgz379-mint:#8fe6d2;
  --tgz379-blue:#10364a;
  --tgz379-blue-2:#0b2736;
  --tgz379-sand:#e8ddc7;
  --tgz379-warm:#d59a4a;
  --tgz379-shadow:0 18px 60px rgba(0,0,0,.44);
  color-scheme:dark;
  background:var(--tgz379-bg)!important;
}
html[data-theme="dark"] body{
  background:radial-gradient(circle at 48% -14%,rgba(18,168,160,.16),transparent 30rem),linear-gradient(180deg,var(--tgz379-bg),var(--tgz379-bg-2) 60%,var(--tgz379-bg))!important;
  color:var(--tgz379-ink)!important;
  /* Legacy bundle token aliases. */
  --navy:#071217;--nav:#071217;--nav2:#0b2230;--ink:var(--tgz379-ink);--muted:var(--tgz379-muted);--bg:var(--tgz379-bg);--card:var(--tgz379-card);--paper:var(--tgz379-card);--cream:var(--tgz379-card);--soft:var(--tgz379-card-2);--sand:var(--tgz379-card-2);--line:var(--tgz379-line);--accent:var(--tgz379-teal);--accent2:var(--tgz379-mint);--primary:var(--tgz379-teal);--primary2:var(--tgz379-mint);
  --tgz-navy:#071217;--tgz-ink:var(--tgz379-ink);--tgz-muted:var(--tgz379-muted);--tgz-cream:var(--tgz379-card);--tgz-card:var(--tgz379-card);--tgz-paper:var(--tgz379-card);--tgz-sand:var(--tgz379-card-2);--tgz-line:var(--tgz379-line);--tgz-orange:var(--tgz379-teal);--tgz-teal:var(--tgz379-teal);
  --root-navy:#071217;--root-ink:var(--tgz379-ink);--root-cream:var(--tgz379-bg);--root-soft:var(--tgz379-card-2);--root-line:var(--tgz379-line);--root-warm:var(--tgz379-teal);--root-green:var(--tgz379-mint);
  --hc-navy:#071217;--hc-ink:var(--tgz379-ink);--hc-ink-2:var(--tgz379-ink-2);--hc-muted:var(--tgz379-muted);--hc-paper:var(--tgz379-card);--hc-cream:var(--tgz379-bg);--hc-sand:var(--tgz379-card-2);--hc-line:var(--tgz379-line);--hc-orange:var(--tgz379-teal);--hc-orange-2:var(--tgz379-mint);
  --surf-navy:#071217;--surf-ink:var(--tgz379-ink);--surf-muted:var(--tgz379-muted);--surf-card:var(--tgz379-card);--surf-cream:var(--tgz379-bg);--surf-line:var(--tgz379-line);--surf-warm:var(--tgz379-teal);--surf-warm-soft:rgba(18,168,160,.13);
  --wx-navy:#071217;--wx-ink:var(--tgz379-ink);--wx-muted:var(--tgz379-muted);--wx-card:var(--tgz379-card);--wx-soft:var(--tgz379-card-2);--wx-line:var(--tgz379-line);--wx-accent:var(--tgz379-teal);--wx-sea:var(--tgz379-mint);
  --bf-navy:#071217;--bf-ink:var(--tgz379-ink);--bf-muted:var(--tgz379-muted);--bf-card:var(--tgz379-card);--bf-cream:var(--tgz379-bg);--bf-line:var(--tgz379-line);--bf-warm:var(--tgz379-teal);
  --b-bg:var(--tgz379-bg);--b-card:var(--tgz379-card);--b-card2:var(--tgz379-card-2);--b-ink:var(--tgz379-ink);--b-muted:var(--tgz379-muted);--b-line:var(--tgz379-line);--b-line2:var(--tgz379-line-strong);--b-navy:#071217;--b-orange:var(--tgz379-teal);--b-orange-soft:rgba(18,168,160,.14);
  --ed-navy:#071217;--ed-ink:var(--tgz379-ink);--ed-muted:var(--tgz379-muted);--ed-card:var(--tgz379-card);--ed-cream:var(--tgz379-bg);--ed-line:var(--tgz379-line);--ed-warm:var(--tgz379-teal);
  --sm-navy:#071217;--sm-ink:var(--tgz379-ink);--sm-muted:var(--tgz379-muted);--sm-paper:var(--tgz379-card);--sm-cream:var(--tgz379-bg);--sm-line:var(--tgz379-line);--sm-accent:var(--tgz379-teal);
  --v29-navy:#071217;--v29-ink:var(--tgz379-ink);--v29-card:var(--tgz379-card);--v29-soft:var(--tgz379-card-2);--v29-line:var(--tgz379-line);--v29-warm:var(--tgz379-teal);
  --v30-bg:var(--tgz379-bg);--v30-card:var(--tgz379-card);--v30-ink:var(--tgz379-ink);--v30-muted:var(--tgz379-muted);--v30-line:var(--tgz379-line);--v30-accent:var(--tgz379-teal);--v30-warm:var(--tgz379-mint);
  --tgz-chrome-accent:var(--tgz379-teal);--tgz-chrome-ink:var(--tgz379-ink);--tgz-chrome-muted:var(--tgz379-muted);--tgz-chrome-line:var(--tgz379-line);--tgz-chrome-navy:#071217;--tgz-chrome-cream:var(--tgz379-bg);
}
html[data-theme="dark"] body,
html[data-theme="dark"] main,
html[data-theme="dark"] .siteShell,
html[data-theme="dark"] .pageShell,
html[data-theme="dark"] .tgzRootMain,
html[data-theme="dark"] .hcPage,
html[data-theme="dark"] .surfSmartApp,
html[data-theme="dark"] .weatherPage,
html[data-theme="dark"] .buildPage,
html[data-theme="dark"] .boardFinderPage{background-color:var(--tgz379-bg)!important;color:var(--tgz379-ink)!important;}

/* Text hierarchy: extend beyond h/p to dl, cards, links and generated route content. */
html[data-theme="dark"] body :where(h1,h2,h3,h4,h5,h6,strong,b,dt,dd,.title,.headline,.sectionTitle,.weatherSectionHead,.surfSmartSectionHead,.cleanStepHead,.tgzDemandRail__head,.tgzProofRail__head,.tgzInternalGraph__copy){color:var(--tgz379-ink-2)!important;text-shadow:none!important;}
html[data-theme="dark"] body :where(p,li,small,em,label,span,figcaption,.muted,.caption,.description,.copy,.meta,.sub,.lead){color:var(--tgz379-muted)!important;text-shadow:none!important;}
html[data-theme="dark"] body :where(a:not(.tgzChromeBrandLink):not(.tgzLogoLink)){color:var(--tgz379-mint)!important;}

/* Universal dark primitives for all currently shipped route families. */
html[data-theme="dark"] body :where(
  .hcHero,.hcPanel,.hcPanelMétéo,.hcPanelBooking,.hcSpotsPanel,.hcTrustPanel,.hcPlanCard,.hcSurfCards>* ,.homeCockpitBoardCard,.hcMetricGrid>*,.hcStayFormats>*,.hcHeroMini,
  .buildCleanHero,.buildCleanShell,.buildCleanFrame,.buildCleanApp,.cleanStep,.cleanModeGrid>*,.guestCounterGrid>*,.guestProfileGrid>*,.guestProfile,.guestCounter,.cleanDateGrid>*,.cleanDateGuestGrid>*,.cleanContactGrid>*,.cleanStayPanel,.routeBlocks>*,.routeBlock,.activityCards>*,.activityCard,.inlineComposer,.compactComposer,.selectedTray,.cleanReceiptDialog,.cleanReceiptDialogHead,.quoteHero,.quoteSection,.quoteSummaryCard,.quoteItem,.quoteTotal,.receiptTotal,
  .weatherFinalApp,.weatherNowCard,.weatherBoard,.weatherMetricGrid>*,.weatherHorizonPanel,.weatherForecastBoard,.weatherForecastSummary>*,.weatherRead,.weatherDayCard,.weatherBeachCard,.weatherSpotCard,.weatherSpotMatrix,.weatherHourlyBody,.weatherHourlyRail,.weatherTimeRow,.weatherTimeCompact,.weatherProfileDock,.weatherHeroControlDock,.weatherTopicalLock,.weatherTopicalLock__grid>*,.weatherSpotSheetPanel,.weatherSpotSheetItem,
  .surfSmartHero,.surfSmartPanel,.surfSmartSeoNotes,.surfSmartControls,.surfSmartControl,.surfSmartModel,.surfSmartResult,.surfSmartResult dl div,.surfSmartSpotCards article,.surfSmartSeoGrid article,.surfSmartFaqGrid article,.surfSmartTable a,.surfSmartWhy,.surfPhase343HeroPanel,.surfPhase343DockItem,.surfPhase343Contract,.surfPhase356Proof,.surfPhase356Link,.surfPhase356Metrics>* ,.surfPhase356DecisionGrid>* ,.surfPhase356RouteGrid>*,
  .tgzDemandRail,.tgzDemandRail__shell,.tgzDemandRail__link,.tgzProofRail,.tgzProofRail__shell,.tgzProofRail__card,.tgzInternalGraph,.tgzInternalGraph__shell,.tgzInternalGraph__link,.tgzCommercialCluster,.tgzCommercialCluster__card,.tgzCommercialClusterLock,.tgzStayMoneyLock,.tgzStayMoneyTrust,.tgzStayMoneyRoutes>* ,
  .tgzRootApp,.tgzRootApp__chip,.tgzRootSources,.tgzRootSource,.tgzRootCommand,.tgzEventPlanner,.tgzEventMini,.tgzWorkshopFit,.tgzWorkshopFit__card,.tgzTopicCard,
  .locationArticleHero,.locationArticleBlock,.locationArticleGrid article,.locationArticleFacts div,.locationArticleNext a,.localCard,.entityCard,.articleCard,.topicCard,.guideCard,.siteIndexGroup,.siteIndexCard,.faqCard,.faq details,.accordion,.accordionItem,details.faqItem,
  .oceanLockHero__inner,.oceanLockPanel,.oceanLockRoute,.flightHeroShell,.flightDecisionCard,.flightCard,.thingsCockpitHero,.thingsDecisionBoard,.thingsPlanCard,.bfHero__shell,.bfForm,.bfCard,.bfResult,.bfResultPanel,.bfFaq__card,.bfFaq details,
  .tioFooterV4__dock,.tioFooterV4__board,.tioFooterV4__trust,.tioFooterV4__legal a,.tioFooterV4__legal button
){
  background:linear-gradient(180deg,var(--tgz379-card),var(--tgz379-panel))!important;
  color:var(--tgz379-ink)!important;
  border-color:var(--tgz379-line)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body :where(.cleanStepHead span,.hcKicker,.hcKickerLight,.surfSmartKicker,.surfSmartSectionHead span,.weatherFinalKicker,.tgzDemandRail__head span,.tgzProofRail__head>span,.tgzInternalGraph__copy span,.tgzCommercialClusterHead span,.tripsV2SectionHead span,.locationArticleHero span,.tag,.pill,.eyebrow){
  background:rgba(18,168,160,.10)!important;
  color:var(--tgz379-mint)!important;
  border-color:rgba(143,230,210,.34)!important;
}

/* Force card internals to inherit the dark grammar, fixing white panels with pale labels. */
html[data-theme="dark"] body :where(
  .hcPanel *,.hcPlanCard *,.hcSurfCards>* *,
  .cleanStep *,.cleanStayPanel *,.activityCard *,.guestCounter *,.guestProfile *,.quoteSection *,.quoteSummaryCard *,.cleanReceiptDialog *,
  .weatherFinalApp *,.weatherSpotSheetPanel *,.weatherTopicalLock *,
  .surfSmartPanel *,.surfSmartHero *,.surfSmartSeoNotes *,.surfSmartResult *,.surfSmartSpotCards article *,.surfSmartSeoGrid article *,.surfSmartFaqGrid article *,.surfPhase356Authority *,
  .tgzDemandRail *,.tgzProofRail *,.tgzInternalGraph *,.tgzCommercialCluster *,.tgzStayMoneyLock *,.tgzRootApp *,.tgzRootSources *,.locationArticleBlock *,.locationArticleHero *,.tioFooterV4__dock *
){border-color:var(--tgz379-line)!important;}
html[data-theme="dark"] body :where(
  .hcPanel h2,.hcPlanCard b,.hcSurfCards h3,
  .cleanStep h2,.cleanStep h3,.cleanModeCard strong,.guestCounter strong,.guestProfile strong,.activityCard strong,.quoteSection h3,.quoteItem b,
  .weatherFinalApp h2,.weatherFinalApp h3,.weatherMetricGrid b,.weatherSpotSheetItem b,
  .surfSmartPanel h2,.surfSmartPanel h3,.surfSmartResult h3,.surfSmartResult dd,.surfSmartSeoGrid b,.surfSmartFaqGrid b,.surfSmartSpotCards h2,
  .tgzDemandRail__link b,.tgzProofRail__card b,.tgzInternalGraph__link b,.tgzCommercialCluster h2,.tgzRootApp__chip b,.locationArticleBlock h2,.tioFooterV4__brand strong
){color:var(--tgz379-ink-2)!important;}
html[data-theme="dark"] body :where(
  .hcPanel p,.hcPlanCard small,.hcSurfCards p,
  .cleanStep p,.cleanStep small,.cleanStep span,.activityCard p,.activityCard small,.quoteItem small,
  .weatherFinalApp small,.weatherFinalApp span,.weatherMetricGrid span,.weatherSpotSheetItem small,
  .surfSmartPanel p,.surfSmartResult p,.surfSmartResult dt,.surfSmartWhy,.surfSmartSeoGrid p,.surfSmartFaqGrid p,.surfSmartSpotCards p,
  .tgzDemandRail__link span,.tgzProofRail__card span,.tgzInternalGraph__link span,.tgzCommercialCluster p,.tgzRootApp__chip em,.locationArticleBlock p,.tioFooterV4__brand span
){color:var(--tgz379-muted)!important;}

/* Forms and generated white inputs. */
html[data-theme="dark"] body :where(input,select,textarea,.field,.formField,.cleanDateGrid label,.cleanDateGuestGrid label,.cleanContactGrid label,.composerGrid label,.bfFields label,.weatherSpotSwitch){
  background:#071217!important;
  color:var(--tgz379-ink)!important;
  border-color:var(--tgz379-line-strong)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body :where(input::placeholder,textarea::placeholder){color:rgba(246,243,235,.52)!important;opacity:1!important;}
html[data-theme="dark"] body :where(select option){background:#071217!important;color:var(--tgz379-ink)!important;}

/* Buttons: no pale text on white buttons. CTA hierarchy is now teal / dark / sand only when intentionally light. */
html[data-theme="dark"] body :where(
  button,.btn,a.btn,.button,.cta,.hcBtn,.cleanSoftBtn,.cleanActionBtn,.cleanDockBtn,.quoteJumpBtn,.quoteSectionAction,.quoteMiniAction,.inlineAdd button,.activityFamilyRail button,.guestProfileControls button,.slotRow button,.surfSmartBtn,.surfPhase356Link,.weatherHeroActions .btn,.weatherSpotTapCue,.weatherSpotPickHint,.weatherSpotSheetTab,.weatherSegment button,.weatherHourlyModes button,.weatherBeachToggle,.tgzCommercialIntentBtn,.tgzStayMoneyBtn,.tripsBtn,.bfBtn,.thingsBtn,.flightChip,.flightCityChip,.tioFooterV4__action,.tioQuickNavV4 a,.bottomQuickNav a,.tgzInternalGraph__link,.tgzDemandRail__link
){
  min-height:44px!important;
  border-radius:999px!important;
  background:#0b151a!important;
  color:var(--tgz379-ink)!important;
  border:1px solid var(--tgz379-line)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  text-shadow:none!important;
}
html[data-theme="dark"] body :where(
  .primary,.is-primary,.hcBtnPrimary,.cleanPrimary,.cleanDockBtn.cleanPrimary,.inlineAdd button:first-child,.activityFamilyRail button.is-active,.guestProfileControls button.is-active,.slotRow button.is-active,.surfSmartBtn.primary,.surfPhase356Link.primary,.weatherHeroActions .btn.primary,.weatherSegment button.is-active,.weatherHourlyModes button.is-active,.weatherBeachToggle.is-active,.weatherSpotSheetTab.is-active,.tgzCommercialIntentBtn--quote,.tgzStayMoneyBtn.is-primary,.tioFooterV4__action.is-primary,.tioQuickNavV4 a.is-active,.bottomQuickNav a.is-active,button[type="submit"]
){
  background:linear-gradient(135deg,var(--tgz379-teal),var(--tgz379-mint))!important;
  color:#031316!important;
  border-color:rgba(143,230,210,.72)!important;
  box-shadow:0 14px 34px rgba(18,168,160,.17)!important;
}
html[data-theme="dark"] body :where(.hcBtnLight,.weatherSpotTapCue,.weatherSpotPickHint,.lightAction,.is-light .btn,.sandCard .btn,.creamCard .btn,.whiteCard .btn){
  background:var(--tgz379-sand)!important;
  color:#071217!important;
  border-color:rgba(7,18,23,.22)!important;
}
html[data-theme="dark"] body :where(.hcBtnLight *,.weatherSpotTapCue *,.weatherSpotPickHint *,.is-light .btn *,.sandCard .btn *,.creamCard .btn *,.whiteCard .btn *){color:inherit!important;}
html[data-theme="dark"] body :where(button[disabled],.is-disabled,.disabled,[aria-disabled="true"]){
  background:#202b31!important;color:#c9d3d4!important;border-color:rgba(246,243,235,.11)!important;opacity:.88!important;
}
html[data-theme="dark"] body :where(button:not([disabled]),a,.btn,.hcBtn,.cleanDockBtn,.surfSmartBtn,.weatherSpotSheetItem,.tgzInternalGraph__link,.tgzDemandRail__link){transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;}
html[data-theme="dark"] body :where(button:not([disabled]):active,a:active,.btn:active,.hcBtn:active,.cleanDockBtn:active,.surfSmartBtn:active,.weatherSpotSheetItem:active,.tgzInternalGraph__link:active,.tgzDemandRail__link:active){transform:translateY(1px) scale(.995);}
html[data-theme="dark"] body :where(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible){outline:0!important;box-shadow:0 0 0 3px rgba(143,230,210,.30)!important;border-color:rgba(143,230,210,.72)!important;}

/* Build booking app: compact, dark, no detached white panels. */
html[data-theme="dark"] body.buildPage :where(.buildCleanHero){padding-bottom:clamp(14px,4vw,26px)!important;}
html[data-theme="dark"] body.buildPage :where(.buildAppTrustRail){display:flex!important;gap:.48rem!important;overflow:auto!important;scrollbar-width:none!important;}
html[data-theme="dark"] body.buildPage :where(.buildAppTrustRail span){flex:0 0 auto!important;background:#0b151a!important;color:var(--tgz379-ink)!important;border:1px solid var(--tgz379-line)!important;border-radius:999px!important;}
html[data-theme="dark"] body.buildPage :where(.cleanStep){padding:clamp(14px,2.8vw,24px)!important;}
html[data-theme="dark"] body.buildPage :where(.cleanBookingGrid,.cleanDateGuestGrid,.guestCounterGrid,.guestProfileGrid,.activityCards,.routeBlocks){gap:.72rem!important;}
html[data-theme="dark"] body.buildPage :where(.guestCounter,.cleanDateGrid label,.cleanDateGuestGrid label,.cleanContactGrid label){min-height:64px!important;border-radius:18px!important;padding:.7rem!important;}
html[data-theme="dark"] body.buildPage :where(.guestCounter>div button,.counterControls button){background:#0b151a!important;color:var(--tgz379-mint)!important;border-color:rgba(143,230,210,.28)!important;}
html[data-theme="dark"] body.buildPage :where(.cleanDock){background:rgba(3,7,8,.96)!important;border-color:rgba(143,230,210,.18)!important;border-radius:24px!important;padding:.52rem!important;box-shadow:0 18px 64px rgba(0,0,0,.52)!important;}
html[data-theme="dark"] body.buildPage :where(.cleanDockSummary){background:#071217!important;color:var(--tgz379-ink)!important;border-color:rgba(143,230,210,.18)!important;}
html[data-theme="dark"] body.buildPage :where(.cleanReceiptSheet){background:rgba(0,0,0,.62)!important;backdrop-filter:blur(10px)!important;}
html[data-theme="dark"] body.buildPage :where(.cleanReceiptDialog){background:#071217!important;color:var(--tgz379-ink)!important;border:1px solid rgba(143,230,210,.22)!important;}

/* Weather modal and app: one readable dark sheet. */
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheet){background:rgba(0,0,0,.76)!important;backdrop-filter:blur(10px)!important;}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel){background:#071217!important;border:1px solid rgba(143,230,210,.24)!important;border-radius:24px 24px 0 0!important;max-height:min(82dvh,760px)!important;overflow:auto!important;}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel>header,.weatherSpotSheetHead){position:sticky!important;top:0!important;background:#071217!important;z-index:2!important;border-bottom:1px solid var(--tgz379-line)!important;}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel>header button,.weatherSpotSheetHead button){background:#0b151a!important;color:var(--tgz379-ink)!important;border-color:rgba(246,243,235,.18)!important;}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetItem.is-active,.weatherSpotCard.is-active){background:linear-gradient(135deg,rgba(11,34,48,.98),rgba(10,53,58,.88))!important;border-color:rgba(143,230,210,.62)!important;}

/* Surf app and spot pages: remove remaining light carousel/card leftovers. */
html[data-theme="dark"] body.surfSmartApp :where(.surfSmartDeck,.surfSmartModelRail,.surfSmartChips,.surfStayLengthRail,.surfForecastHorizonRail,.surfRouteRail){scrollbar-width:none!important;}
html[data-theme="dark"] body.surfSmartApp :where(.surfSmartSwipeBar){background:#071217!important;color:var(--tgz379-ink)!important;border-color:var(--tgz379-line)!important;}
html[data-theme="dark"] body.surfSmartApp :where(.surfSmartSwipeBar button){background:#0b151a!important;color:var(--tgz379-ink)!important;border-color:var(--tgz379-line)!important;}
html[data-theme="dark"] body.surfSmartApp :where(.surfSmartDots i){background:rgba(143,230,210,.22)!important;}
html[data-theme="dark"] body.surfSmartApp :where(.surfSmartDots i.is-active){background:var(--tgz379-mint)!important;}
html[data-theme="dark"] body.surfSmartApp :where(.surfSmartResult dl div,.surfSmartSpotVerdict dl div){background:#0b151a!important;color:var(--tgz379-ink)!important;border-color:var(--tgz379-line)!important;}

/* Footer / bottom navigation: unified and non-covering. */
html[data-theme="dark"] body:not(.buildPage){padding-bottom:calc(102px + env(safe-area-inset-bottom,0px))!important;}
html[data-theme="dark"] :where(.tioFooterV4){background:transparent!important;margin-bottom:calc(94px + env(safe-area-inset-bottom,0px))!important;}
html[data-theme="dark"] :where(.tioFooterV4__dock){background:linear-gradient(180deg,rgba(11,21,26,.98),rgba(7,18,23,.98))!important;border-color:rgba(143,230,210,.18)!important;box-shadow:none!important;}
html[data-theme="dark"] :where(.tioQuickNavV4,.bottomQuickNav){background:rgba(3,7,8,.97)!important;border:1px solid rgba(143,230,210,.18)!important;box-shadow:0 18px 58px rgba(0,0,0,.50)!important;backdrop-filter:blur(16px)!important;}
html[data-theme="dark"] :where(.tioQuickNavV4 a,.bottomQuickNav a){color:#c4cdcf!important;background:transparent!important;border-color:transparent!important;}
html[data-theme="dark"] :where(.tioQuickNavV4 a span,.bottomQuickNav a span){color:inherit!important;}
html[data-theme="dark"] :where(.tioQuickNavV4 a.is-active,.bottomQuickNav a.is-active){background:#0b2230!important;color:var(--tgz379-ink-2)!important;border-color:rgba(143,230,210,.25)!important;box-shadow:inset 0 0 0 1px rgba(143,230,210,.10)!important;}
html[data-theme="dark"] :where(.tioQuickNavV4 a .microIcon,.bottomQuickNav a .microIcon){color:var(--tgz379-mint)!important;}

/* Mobile density. */
@media(max-width:760px){
  html[data-theme="dark"] body :where(.hcHero,.hcPanel,.surfSmartHero,.surfSmartPanel,.weatherFinalApp,.buildCleanHero,.cleanStep,.tgzDemandRail,.tgzProofRail,.tgzInternalGraph,.tgzCommercialCluster){border-radius:22px!important;padding:clamp(12px,3.4vw,18px)!important;}
  html[data-theme="dark"] body :where(.hcHeroActions,.hcPanelActions,.hcTrustActions,.weatherHeroActions,.tgzProofRail__actions,.tgzCommercialIntentGrid){gap:.5rem!important;}
  html[data-theme="dark"] body :where(.hcBtn,.cleanSoftBtn,.cleanActionBtn,.cleanDockBtn,.surfSmartBtn,.weatherHeroActions .btn,.tgzCommercialIntentBtn,.tioFooterV4__action){min-height:42px!important;font-size:clamp(.68rem,2.7vw,.84rem)!important;}
  html[data-theme="dark"] body.buildPage :where(.cleanDock){left:.55rem!important;right:.55rem!important;bottom:calc(.55rem + env(safe-area-inset-bottom,0px))!important;}
  html[data-theme="dark"] body.buildPage{padding-bottom:calc(134px + env(safe-area-inset-bottom,0px))!important;}
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetGroup>div){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.38rem!important;}
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetTabs){gap:.25rem!important;overflow:auto!important;padding-bottom:.35rem!important;}
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetTab){font-size:.58rem!important;padding:.32rem .42rem!important;white-space:normal!important;line-height:1.05!important;}
  html[data-theme="dark"] body.surfSmartApp :where(.surfSmartDeck){grid-auto-columns:minmax(280px,86vw)!important;}
  html[data-theme="dark"] :where(.tioQuickNavV4,.bottomQuickNav){left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;padding:6px!important;border-radius:22px!important;}
  html[data-theme="dark"] :where(.tioQuickNavV4 a,.bottomQuickNav a){min-height:48px!important;border-radius:16px!important;font-size:.62rem!important;}
}
@media(max-width:390px){
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetGroup>div){grid-template-columns:1fr!important;}
  html[data-theme="dark"] body :where(.hcHeroActions,.weatherHeroActions,.tgzCommercialIntentGrid){grid-template-columns:1fr!important;}
}


/* Phase 380 — final route-surface and control polish.
   Purpose: consolidate the night UI after Phase 379 without touching app engines. */
:root{
  --tgz380-bg:#030708;
  --tgz380-bg2:#061015;
  --tgz380-panel:#071217;
  --tgz380-card:#0b151a;
  --tgz380-card2:#0f1b21;
  --tgz380-card3:#0b2230;
  --tgz380-text:#f6f3eb;
  --tgz380-text2:#fffaf0;
  --tgz380-muted:#b9c4c6;
  --tgz380-muted2:#859296;
  --tgz380-line:rgba(246,243,235,.16);
  --tgz380-line2:rgba(143,230,210,.28);
  --tgz380-teal:#16aaa3;
  --tgz380-mint:#8fe6d2;
  --tgz380-navy:#082033;
  --tgz380-sand:#e9ddc8;
  --tgz380-radius:24px;
}
html[data-theme="dark"] body{
  background:radial-gradient(circle at 50% -8%,rgba(22,170,163,.12),transparent 32rem),linear-gradient(180deg,#030708,#05090d 42%,#030708)!important;
  color:var(--tgz380-text)!important;
}
html[data-theme="dark"] body :where(.container){max-width:min(1120px,100% - 24px)}
html[data-theme="dark"] body :where(.buildClean204,.buildCleanMain,.weatherFinalSection,.surfSmartMain,.flightApp,.thingsCockpitApp,.oceanLockMain,.tgz268Page,.locationArticlePage,.tripsHubPage,.tripsHubV2Page,.boardFinderPage){
  background:transparent!important;
  color:var(--tgz380-text)!important;
}
/* Route bundle variable convergence. */
html[data-theme="dark"] body.buildPage,html[data-theme="dark"] .buildClean204{
  --b-bg:var(--tgz380-bg);--b-card:var(--tgz380-card);--b-card2:var(--tgz380-card2);--b-ink:var(--tgz380-text);--b-muted:var(--tgz380-muted);--b-line:var(--tgz380-line);--b-line2:var(--tgz380-line2);--b-navy:var(--tgz380-card3);--b-orange:var(--tgz380-teal);--b-orange-soft:rgba(22,170,163,.14);--b-good:var(--tgz380-mint);--b-shadow:none;
}
html[data-theme="dark"] .weatherFinalSection,html[data-theme="dark"] .weatherFinalApp{
  --wx-navy:var(--tgz380-card3);--wx-ink:var(--tgz380-text);--wx-muted:var(--tgz380-muted);--wx-line:var(--tgz380-line);--wx-card:var(--tgz380-card);--wx-soft:var(--tgz380-card2);--wx-accent:var(--tgz380-teal);--wx-sea:var(--tgz380-mint);
}
html[data-theme="dark"] .surfSmartApp{
  --surf-navy:var(--tgz380-card3);--surf-ink:var(--tgz380-text);--surf-muted:var(--tgz380-muted);--surf-card:var(--tgz380-card);--surf-cream:var(--tgz380-bg);--surf-line:var(--tgz380-line);--surf-warm:var(--tgz380-teal);--surf-warm-soft:rgba(22,170,163,.14);
}
html[data-theme="dark"] .flightApp,html[data-theme="dark"] .thingsCockpitApp,html[data-theme="dark"] .oceanLockMain,html[data-theme="dark"] .tripsHubPage,html[data-theme="dark"] .tripsHubV2Page,html[data-theme="dark"] .tgz268Page{
  --navy:var(--tgz380-card3);--ink:var(--tgz380-text);--muted:var(--tgz380-muted);--line:var(--tgz380-line);--card:var(--tgz380-card);--cream:var(--tgz380-bg);--accent:var(--tgz380-teal);
}
/* Unified surfaces for classes found across all route families. */
html[data-theme="dark"] body :where(
  .tgz268HeroCard,.tgz268Section,.tgz268FormShell,.tgz268ContactGrid article,.tgz268Faq article,
  .hcHero,.hcPanel,.hcPanelMétéo,.hcPanelBooking,.hcSpotsPanel,.hcTrustPanel,.hcPlanCard,.hcSurfCards article,.homeCockpitBoardCard,
  .buildCleanHero,.buildCleanFrame,.buildCleanApp,.cleanStep,.cleanModeCard,.cleanStayPanel,.guestCounter,.guestProfile,.routeBlock,.activityCard,.inlineComposer,.compactComposer,.selectedTray,.cleanReceiptDialog,.cleanDockSummary,
  .weatherNowCard,.weatherBoard,.weatherMetricGrid div,.weatherForecastSummary article,.weatherDayCard,.weatherSpotCardWrap,.weatherBeachCard,.weatherHorizonPanel,.weatherForecastBoard,.weatherRead,.weatherTimeRow,.weatherSpotSheetPanel,.weatherSpotSheetItem,
  .surfSmartHero,.surfSmartPanel,.surfSmartResult,.surfSmartSeoNotes,.surfSmartFaqGrid article,.surfSmartSeoGrid article,.surfSmartSpotCards article,.surfPhase343HeroPanel,.surfPhase343DockItem,.surfPhase343Contract,.surfPhase356Authority,.surfPhase356Proof,.surfPhase356Metrics article,.surfPhase356DecisionGrid article,.surfPhase356RouteGrid,.surfPhase356Cluster>div,
  .tripsV2Hero,.tripsV2Section,.tripsV2Panel,.tripsV2DurationRail article,.tripsV2Faq article,.tripsHero,.tripsSection,.tripsRail a,.tripsChecklist div,.tripsFaq article,.tgzCommercialCluster,.tgzCommercialCluster__card,.tgzCommercialClusterLock,.tgzStayMoneyLock,.tgzStayMoneyTrust,.tgzStayMoneyRoutes>*,
  .tgzDemandRail,.tgzDemandRail__shell,.tgzDemandRail__link,.tgzProofRail,.tgzProofRail__shell,.tgzProofRail__card,.tgzInternalGraph,.tgzInternalGraph__shell,.tgzInternalGraph__copy,.tgzInternalGraph__link,
  .flightHeroCopy,.flightCockpit,.flightDecisionCard,.flightSignalCard,.flightRouteCard,.flightFareCalendar,.flightFareMini,.flightCityPreview,.flightCityChip,.flightCityRouteCard,.flightDataNote,
  .thingsCockpitHero,.thingsDecisionBoard,.thingsPlanCard,.thingsCard,.thingsPanel,.oceanLockHero__inner,.oceanLockPanel,.oceanLockRoute,.bfHero__shell,.bfForm,.bfCard,.bfResult,.bfPanel,.articleCard,.topicCard,.guideCard,.siteIndexCard,.siteIndexGroup,.localCard,.entityCard
){
  background:linear-gradient(180deg,var(--tgz380-card2),var(--tgz380-card))!important;
  color:var(--tgz380-text)!important;
  border-color:var(--tgz380-line)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body :where(
  .tgz268HeroCard *,.tgz268Section *,.hcHero *,.hcPanel *,.buildCleanHero *,.cleanStep *,.weatherNowCard *,.weatherBoard *,.weatherSpotSheetPanel *,.surfSmartHero *,.surfSmartPanel *,.surfSmartResult *,.surfPhase356Authority *,.tripsV2Section *,.tgzCommercialCluster *,.tgzStayMoneyLock *,.tgzDemandRail *,.tgzProofRail *,.tgzInternalGraph *,.flightApp *,.thingsCockpitApp *,.oceanLockMain *,.bfCard *,.siteIndexCard *
){text-shadow:none!important}
html[data-theme="dark"] body :where(
  .tgz268HeroCard h1,.tgz268Section h2,.hcHero h1,.hcPanel h2,.buildCleanHero h1,.cleanStepHead h2,.weatherNowMain strong,.weatherSectionHead b,.surfSmartHero h1,.surfSmartPanel h2,.surfSmartResult h3,.surfPhase356Head h2,.tripsV2Section h2,.tgzCommercialCluster h2,.tgzStayMoneyLock h2,.tgzDemandRail__head h2,.tgzProofRail__head h2,.tgzInternalGraph__copy h2,.flightApp h1,.flightApp h2,.thingsCockpitApp h1,.thingsCockpitApp h2,.oceanLockMain h1,.oceanLockMain h2,.bfCard h2,.siteIndexCard h2,
  .tgz268ContactGrid b,.hcPlanCard b,.cleanModeCard strong,.guestCounter strong,.activityCard strong,.weatherMetricGrid b,.weatherTimeRow b,.surfSmartSpotCards h2,.surfPhase356Metrics strong,.tgzDemandRail__link strong,.tgzProofRail__card b,.tgzInternalGraph__link strong
){color:var(--tgz380-text2)!important}
html[data-theme="dark"] body :where(
  .tgz268HeroCard p,.tgz268Section p,.hcHero p,.hcPanel p,.buildCleanHero p,.cleanStepHint,.cleanEligibilityNote,.cleanTrustLine,.guestCounter small,.activityCard p,.weatherFinalApp p,.weatherFinalApp small,.weatherMetricGrid span,.weatherTimeRow span,.surfSmartPanel p,.surfSmartResult p,.surfSmartResult dt,.surfSmartWhy,.surfPhase356Head p,.surfPhase356RouteGrid p,.surfPhase356Cluster p,.tripsV2Section p,.tgzCommercialCluster p,.tgzStayMoneyLock p,.tgzDemandRail__link span,.tgzProofRail__card span,.tgzInternalGraph__link span,.flightApp p,.flightApp small,.thingsCockpitApp p,.oceanLockMain p,.bfCard p,.siteIndexCard p
){color:var(--tgz380-muted)!important}
/* Controls: one readable grammar, no pale-on-pale cards. */
html[data-theme="dark"] body :where(input,select,textarea,.field,.formField,.weatherSpotSwitch,.cleanDateGrid label,.cleanDateGuestGrid label,.cleanContactGrid label,.composerGrid label,.bfFields label){
  background:#071015!important;color:var(--tgz380-text)!important;border:1px solid var(--tgz380-line2)!important;box-shadow:none!important;
}
html[data-theme="dark"] body :where(input::placeholder,textarea::placeholder){color:rgba(246,243,235,.48)!important;opacity:1!important}
html[data-theme="dark"] body :where(button,.btn,a.btn,.button,.cta,.hcBtn,.cleanSoftBtn,.cleanActionBtn,.cleanDockBtn,.quoteJumpBtn,.quoteSectionAction,.quoteMiniAction,.inlineAdd button,.activityFamilyRail button,.guestProfileControls button,.slotRow button,.surfSmartBtn,.surfPhase356Link,.weatherHeroActions .btn,.weatherSegment button,.weatherHourlyModes button,.weatherBeachToggle,.weatherSpotSheetTab,.weatherSpotTapCue,.weatherSpotPickHint,.tgzCommercialIntentBtn,.tgzStayMoneyBtn,.tripsBtn,.bfBtn,.thingsBtn,.flightBtn,.flightMiniBtn,.flightMiniLink,.flightChip,.flightCityChip,.oceanLockButton,.tioFooterV4__action,.tioQuickNavV4 a,.bottomQuickNav a){
  min-height:44px!important;border-radius:999px!important;background:#0a1115!important;color:var(--tgz380-text)!important;border:1px solid var(--tgz380-line)!important;box-shadow:none!important;text-decoration:none!important;line-height:1.08!important;
}
html[data-theme="dark"] body :where(.primary,.is-primary,.hcBtnPrimary,.cleanPrimary,.cleanDockBtn.cleanPrimary,.inlineAdd button:first-child,.activityFamilyRail button.is-active,.guestProfileControls button.is-active,.slotRow button.is-active,.surfSmartBtn.primary,.surfPhase356Link.primary,.weatherHeroActions .btn.primary,.weatherSegment button.is-active,.weatherHourlyModes button.is-active,.weatherBeachToggle.is-active,.weatherSpotSheetTab.is-active,.weatherSpotSheetItem.is-active button,.tgzCommercialIntentBtn--quote,.tgzStayMoneyBtn.is-primary,.flightBtn.primary,.tioFooterV4__action.is-primary,.tioQuickNavV4 a.is-active,.bottomQuickNav a.is-active,button[type="submit"]){
  background:linear-gradient(135deg,var(--tgz380-teal),var(--tgz380-mint))!important;color:#031316!important;border-color:rgba(143,230,210,.72)!important;box-shadow:0 12px 34px rgba(22,170,163,.16)!important;
}
html[data-theme="dark"] body :where(.hcBtnLight,.weatherSpotTapCue,.weatherSpotPickHint,.flightPill.soft,.tripsV2DurationRail nav a,.buildTapCue,.priceChip){
  background:var(--tgz380-sand)!important;color:#071217!important;border-color:rgba(7,18,23,.22)!important;
}
html[data-theme="dark"] body :where(button[disabled],.is-disabled,.disabled,[aria-disabled="true"]){background:#202b31!important;color:#cad4d5!important;border-color:rgba(246,243,235,.10)!important;opacity:.88!important}
html[data-theme="dark"] body :where(button:not([disabled]):active,a:active,.btn:active,.hcBtn:active,.cleanDockBtn:active,.surfSmartBtn:active,.weatherSpotSheetItem:active,.tgzDemandRail__link:active,.tgzInternalGraph__link:active){transform:translateY(1px) scale(.995)!important}
html[data-theme="dark"] body :where(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible){outline:0!important;box-shadow:0 0 0 3px rgba(143,230,210,.34)!important;border-color:rgba(143,230,210,.76)!important}
/* App-specific final density. */
html[data-theme="dark"] body.buildPage :where(.cleanDock){background:rgba(3,7,8,.97)!important;border-color:rgba(143,230,210,.18)!important;border-radius:24px!important;padding:.52rem!important;box-shadow:0 18px 64px rgba(0,0,0,.52)!important}
html[data-theme="dark"] body.buildPage :where(.cleanDockSummary){background:#071217!important;border-color:rgba(143,230,210,.18)!important;color:var(--tgz380-text)!important}
html[data-theme="dark"] body.buildPage :where(.counterControls button,.guestProfileControls button,.slotRow button,.routeBlock button){width:44px!important;height:44px!important;display:grid!important;place-items:center!important}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheet){background:rgba(0,0,0,.76)!important;backdrop-filter:blur(10px)!important}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel){background:#071217!important;border-color:rgba(143,230,210,.24)!important;border-radius:24px 24px 0 0!important;overflow:auto!important}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel>header,.weatherSpotSheetHead){position:sticky!important;top:0!important;background:#071217!important;z-index:2!important;border-bottom:1px solid var(--tgz380-line)!important}
html[data-theme="dark"] body.surfSmartApp :where(.surfSmartSwipeBar){background:#071217!important;color:var(--tgz380-text)!important;border-color:var(--tgz380-line)!important}
html[data-theme="dark"] body.surfSmartApp :where(.surfSmartSwipeBar button){background:#0b151a!important;color:var(--tgz380-text)!important;border-color:var(--tgz380-line)!important}
/* Footer and fixed nav: lower visual weight and avoid covering content. */
html[data-theme="dark"] body:not(.buildPage){padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))!important}
html[data-theme="dark"] :where(.tioFooterV4){margin-bottom:calc(98px + env(safe-area-inset-bottom,0px))!important;background:transparent!important}
html[data-theme="dark"] :where(.tioFooterV4__dock){background:linear-gradient(180deg,rgba(11,21,26,.98),rgba(7,18,23,.98))!important;border-color:rgba(143,230,210,.18)!important;box-shadow:none!important}
html[data-theme="dark"] :where(.tioQuickNavV4,.bottomQuickNav){background:rgba(3,7,8,.97)!important;border:1px solid rgba(143,230,210,.18)!important;box-shadow:0 18px 58px rgba(0,0,0,.50)!important;backdrop-filter:blur(16px)!important}
html[data-theme="dark"] :where(.tioQuickNavV4 a,.bottomQuickNav a){color:#c6d0d2!important;background:transparent!important;border-color:transparent!important}
html[data-theme="dark"] :where(.tioQuickNavV4 a span,.bottomQuickNav a span){color:inherit!important}
html[data-theme="dark"] :where(.tioQuickNavV4 a.is-active,.bottomQuickNav a.is-active){background:#0b2230!important;color:var(--tgz380-text2)!important;border-color:rgba(143,230,210,.26)!important;box-shadow:inset 0 0 0 1px rgba(143,230,210,.10)!important}
html[data-theme="dark"] :where(.tioQuickNavV4 a .microIcon,.bottomQuickNav a .microIcon){color:var(--tgz380-mint)!important}
@media(max-width:760px){
  html[data-theme="dark"] body :where(.hcHero,.hcPanel,.surfSmartHero,.surfSmartPanel,.weatherFinalApp,.buildCleanHero,.cleanStep,.tgzDemandRail,.tgzProofRail,.tgzInternalGraph,.tgzCommercialCluster,.tgz268HeroCard,.tgz268Section){border-radius:22px!important;padding:clamp(12px,3.4vw,18px)!important}
  html[data-theme="dark"] body :where(.hcHeroActions,.hcPanelActions,.hcTrustActions,.weatherHeroActions,.tgzProofRail__actions,.tgzCommercialIntentGrid){gap:.5rem!important}
  html[data-theme="dark"] body :where(.hcBtn,.cleanSoftBtn,.cleanActionBtn,.cleanDockBtn,.surfSmartBtn,.weatherHeroActions .btn,.tgzCommercialIntentBtn,.tioFooterV4__action){min-height:42px!important;font-size:clamp(.68rem,2.7vw,.84rem)!important}
  html[data-theme="dark"] body.buildPage{padding-bottom:calc(138px + env(safe-area-inset-bottom,0px))!important}
  html[data-theme="dark"] body.buildPage :where(.cleanDock){left:.55rem!important;right:.55rem!important;bottom:calc(.55rem + env(safe-area-inset-bottom,0px))!important}
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetGroup>div){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.38rem!important}
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetTabs){gap:.25rem!important;overflow:auto!important;padding-bottom:.35rem!important}
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetTab){font-size:.58rem!important;padding:.32rem .42rem!important;white-space:normal!important;line-height:1.05!important}
  html[data-theme="dark"] body.surfSmartApp :where(.surfSmartDeck){grid-auto-columns:minmax(280px,86vw)!important}
  html[data-theme="dark"] :where(.tioQuickNavV4,.bottomQuickNav){left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;padding:6px!important;border-radius:22px!important}
  html[data-theme="dark"] :where(.tioQuickNavV4 a,.bottomQuickNav a){min-height:48px!important;border-radius:16px!important;font-size:.62rem!important}
}
@media(max-width:390px){
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetGroup>div){grid-template-columns:1fr!important}
  html[data-theme="dark"] body :where(.hcHeroActions,.weatherHeroActions,.tgzCommercialIntentGrid){grid-template-columns:1fr!important}
}


/* Phase 382 — native route bundle dark merge + mobile chrome hardening.
   Purpose: finish remaining route/app light-card leftovers without changing app engines or routes. */
html[data-theme="dark"]{
  --tgz381-bg:#030708;
  --tgz381-bg2:#061014;
  --tgz381-surface:#071217;
  --tgz381-surface2:#0b151a;
  --tgz381-surface3:#0d2027;
  --tgz381-card:#0a1115;
  --tgz381-ink:#f6f3eb;
  --tgz381-ink2:#fffaf0;
  --tgz381-muted:#b9c4c5;
  --tgz381-muted2:#8e9da0;
  --tgz381-teal:#16aaa3;
  --tgz381-mint:#8fe6d2;
  --tgz381-line:rgba(246,243,235,.14);
  --tgz381-line2:rgba(143,230,210,.26);
  --tgz381-navy:#082033;
  --tgz381-sand:#e8ddc7;
  --tgz381-shadow:0 22px 70px rgba(0,0,0,.42);
}
html[data-theme="dark"] body{background:var(--tgz381-bg)!important;color:var(--tgz381-ink)!important;}
html[data-theme="dark"] body :where(.container,.content,.siteShell,.pageShell,.hcPage,.buildClean204,.weatherPage,.surfSmartApp,.boardFinderPage,.locationArticlePage,.tripsHubPage,.tripsHubV2Page){color:var(--tgz381-ink)!important;}

/* Native dark surfaces for recurring generated route fragments. */
html[data-theme="dark"] body :where(
  [class*="Hero"],[class*="Panel"],[class*="Card"],[class*="Rail"],[class*="Grid"],[class*="Deck"],[class*="Sheet"],[class*="Dialog"],[class*="Modal"],
  [class*="Proof"],[class*="Demand"],[class*="Graph"],[class*="Cluster"],[class*="Route"],[class*="Faq"],[class*="FAQ"],[class*="Question"],[class*="Answer"],[class*="Alternative"],[class*="Carousel"],[class*="Authority"],[class*="Intent"],[class*="Lock"],[class*="Window"]
):not(svg):not(path):not(.tgzLogoLink):not(.tgzChromeBrandLink):not(.tgzLogoMark):not(.tioQuickNavV4):not(.bottomQuickNav){
  border-color:var(--tgz381-line)!important;
}
html[data-theme="dark"] body :where(
  .hcCard,.hcPanel,.hcHero,.hcPlanCard,.hcProofCard,.hcFaqCard,.hcSurfCards article,
  .tgz268HeroCard,.tgz268Section,.tgz268Details,.tgz268Faq,.tgz268RouteCard,
  .locationArticleBlock,.locationArticleGrid article,.locationArticleFacts div,.locationArticleNext a,
  .tripsV2Section,.tripsV2DurationRail article,.tripsV2ArticleRail a,.tripsV2LocationStrip a,.tripsV2ForecastGrid a,.tripsV2Checklist div,.tripsV2Faq article,.tripsV2Decision,
  .tripsSection,.tripsRail a,.tripsLocationGrid a,.tripsForecastList a,.tripsChecklist div,.tripsFaq article,
  .tgzDemandRail,.tgzDemandRail__card,.tgzDemandRail__link,.tgzProofRail,.tgzProofRail__card,.tgzInternalGraph,.tgzInternalGraph__copy,.tgzInternalGraph__link,
  .rootAppCard,.rootAppPanel,.articleCard,.topicCard,.guideCard,.siteIndexCard,.siteIndexGroup,.localCard,.entityCard,.routeGraph,.proofLayer,.highDemandPaths,.forecastCluster,.weatherTopicalLock,
  .surfSmartPanel,.surfSmartHero,.surfSmartCard,.surfSmartSpotCards article,.surfSmartSeoGrid article,.surfSmartFaqGrid article,.surfSmartResult,.surfSmartSpotVerdict,.surfPhase356Authority,.surfPhase356Alternative,
  .weatherFinalApp,.weatherFinalPanel,.weatherMetricGrid>*,.weatherHourlyCard,.weatherSpotCard,.weatherSpotSheetItem,
  .bfHero__shell,.bfHero__copy,.bfForm,.bfCard,.bfResult,.bfResultPanel,.bfFaq__card,.bfNext a,
  .thingsCockpitHero,.thingsDecisionBoard,.thingsPlanCard,.flightHeroShell,.flightCard,.flightDecisionCard,.oceanLockHero__inner,.oceanLockPanel,.oceanLockRoute
){
  background:linear-gradient(180deg,var(--tgz381-surface2),var(--tgz381-surface))!important;
  color:var(--tgz381-ink)!important;
  border-color:var(--tgz381-line)!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
html[data-theme="dark"] body :where(
  .hcCard *,.hcPanel *,.tgz268HeroCard *,.locationArticleBlock *,.tripsV2Section *,.tripsSection *,
  .tgzDemandRail *,.tgzProofRail *,.tgzInternalGraph *,.rootAppCard *,.siteIndexCard *,.localCard *,.entityCard *,
  .surfSmartPanel *,.surfSmartCard *,.weatherFinalApp *,.bfCard *,.thingsCockpitHero *,.flightCard *,.oceanLockPanel *
){text-shadow:none!important;}
html[data-theme="dark"] body :where(
  h1,h2,h3,h4,h5,h6,.title,.headline,.sectionTitle,.cardTitle,.routeTitle,.quickTitle,.cleanStepHead h2,.weatherSpotSheetTitle,.surfSmartTitle
){color:var(--tgz381-ink2)!important;}
html[data-theme="dark"] body :where(
  p,li,small,span,em,label,dd,dt,.muted,.sub,.lead,.caption,.description,.copy,.meta,.routeMeta,.quickCopy
):not(.microIcon):not(.tgzThemeIcon){color:var(--tgz381-muted)!important;}

/* Kill white-on-white leftovers while keeping deliberately light cards readable. */
html[data-theme="dark"] body :where(.is-light,.lightCard,.creamCard,.sandCard,.whiteCard,.weatherSpotTapCue,.weatherSpotPickHint,.buildTapCue,.priceChip){
  background:var(--tgz381-sand)!important;
  color:#071217!important;
  border-color:rgba(7,18,23,.20)!important;
}
html[data-theme="dark"] body :where(.is-light *,.lightCard *,.creamCard *,.sandCard *,.whiteCard *,.weatherSpotTapCue *,.weatherSpotPickHint *,.buildTapCue *,.priceChip *){color:inherit!important;}
html[data-theme="dark"] body :where(.is-light h1,.is-light h2,.is-light h3,.is-light strong,.lightCard h1,.lightCard h2,.lightCard h3,.lightCard strong,.creamCard h1,.creamCard h2,.creamCard h3,.creamCard strong,.sandCard h1,.sandCard h2,.sandCard h3,.sandCard strong,.whiteCard h1,.whiteCard h2,.whiteCard h3,.whiteCard strong){color:#071217!important;}

/* Buttons and action chips: readable across all route families. */
html[data-theme="dark"] body :where(
  button,.btn,a.btn,.button,.cta,.hcBtn,.cleanSoftBtn,.cleanActionBtn,.cleanDockBtn,.quoteJumpBtn,.quoteSectionAction,.quoteMiniAction,
  .inlineAdd button,.activityFamilyRail button,.guestProfileControls button,.slotRow button,.surfSmartBtn,.surfPhase356Link,
  .weatherHeroActions .btn,.weatherSpotTapCue,.weatherSpotPickHint,.weatherSpotSheetTab,.weatherSegment button,.weatherHourlyModes button,.weatherBeachToggle,
  .tgzCommercialIntentBtn,.tgzStayMoneyBtn,.tripsBtn,.bfBtn,.thingsBtn,.flightChip,.flightCityChip,.tioFooterV4__action,.tgzInternalGraph__link,.tgzDemandRail__link
){
  min-height:44px!important;
  background:#0b151a!important;
  color:var(--tgz381-ink)!important;
  border-color:var(--tgz381-line)!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
html[data-theme="dark"] body :where(
  .primary,.is-primary,.hcBtnPrimary,.cleanPrimary,.cleanDockBtn.cleanPrimary,.activityFamilyRail button.is-active,.guestProfileControls button.is-active,.slotRow button.is-active,
  .surfSmartBtn.primary,.surfPhase356Link.primary,.weatherHeroActions .btn.primary,.weatherSegment button.is-active,.weatherHourlyModes button.is-active,.weatherBeachToggle.is-active,.weatherSpotSheetTab.is-active,.weatherSpotSheetItem.is-active button,.tgzCommercialIntentBtn--quote,.tgzStayMoneyBtn.is-primary,.flightBtn.primary,.tioFooterV4__action.is-primary,button[type="submit"]
){
  background:linear-gradient(135deg,var(--tgz381-teal),var(--tgz381-mint))!important;
  color:#031316!important;
  border-color:rgba(143,230,210,.72)!important;
  box-shadow:0 12px 32px rgba(22,170,163,.16)!important;
}
html[data-theme="dark"] body :where(button[disabled],.is-disabled,.disabled,[aria-disabled="true"]){background:#202b31!important;color:#cad4d5!important;border-color:rgba(246,243,235,.12)!important;opacity:.9!important;}

/* Build native hardening: keep booking compact without touching pricing/receipt logic. */
html[data-theme="dark"] body.buildPage{--b-bg:var(--tgz381-bg)!important;--b-panel:var(--tgz381-surface)!important;--b-card:var(--tgz381-surface2)!important;--b-ink:var(--tgz381-ink)!important;--b-muted:var(--tgz381-muted)!important;--b-line:var(--tgz381-line)!important;}
html[data-theme="dark"] body.buildPage :where(.buildCleanApp,.cleanStep,.cleanModeCard,.cleanStayPanel,.routeBlock,.guestCounter,.guestProfile,.activityCard,.inlineComposer,.selectedActivityTray,.cleanReceiptDialog,.quoteSummaryCard,.quoteSection,.quoteItem){background:var(--tgz381-surface)!important;color:var(--tgz381-ink)!important;border-color:var(--tgz381-line)!important;}
html[data-theme="dark"] body.buildPage :where(.cleanDateGrid label,.cleanDateGuestGrid label,.cleanContactGrid label,.composerGrid label,.guestCounter,.guestProfile,.activityCard){background:var(--tgz381-surface2)!important;border-color:var(--tgz381-line2)!important;}
html[data-theme="dark"] body.buildPage :where(.counterControls button,.routeBlock button,.quoteItemMore){background:#071217!important;color:var(--tgz381-mint)!important;border-color:rgba(143,230,210,.28)!important;}
html[data-theme="dark"] body.buildPage :where(.cleanDock){background:rgba(3,7,8,.97)!important;border-color:rgba(143,230,210,.20)!important;box-shadow:0 18px 58px rgba(0,0,0,.52)!important;}
html[data-theme="dark"] body.buildPage :where(.cleanDockSummary){background:#071217!important;color:var(--tgz381-ink)!important;border-color:rgba(143,230,210,.18)!important;}

/* Weather modal + surf spot routes: prevent sheet/carousel regression. */
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel,.weatherSpotSheetGroup,.weatherSpotSheetItem){background:#071217!important;color:var(--tgz381-ink)!important;border-color:rgba(143,230,210,.24)!important;}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel>header,.weatherSpotSheetHead){background:#071217!important;color:var(--tgz381-ink2)!important;border-color:var(--tgz381-line)!important;}
html[data-theme="dark"] body.surfSmartApp :where(.surfSmartDeck>*,.surfSmartCarousel>*,.surfSmartAlternative,.surfSmartFAQ,.surfSmartQuestion,.surfSmartAuthority,.surfSmartRelated,.surfSmartQuick,.surfSmartAccordion){background:var(--tgz381-surface)!important;color:var(--tgz381-ink)!important;border-color:var(--tgz381-line)!important;}

/* Header/footer mobile chrome lock. */
html[data-theme="dark"] :where(.tgzChrome,.tgzChromeShell){background:#030708!important;border-color:rgba(143,230,210,.16)!important;}
html[data-theme="dark"] :where(.tgzChromeMenu,.tgzChromeTool,.tgzChromeTools .smartPicker>summary){background:#071217!important;color:var(--tgz381-ink)!important;border-color:rgba(143,230,210,.18)!important;}
html[data-theme="dark"] :where(.tioQuickNavV4,.bottomQuickNav){background:rgba(3,7,8,.97)!important;border-color:rgba(143,230,210,.18)!important;box-shadow:0 18px 58px rgba(0,0,0,.48)!important;}
html[data-theme="dark"] :where(.tioQuickNavV4 a,.bottomQuickNav a){background:transparent!important;color:#c6d0d2!important;border-color:transparent!important;}
html[data-theme="dark"] :where(.tioQuickNavV4 a span,.bottomQuickNav a span){color:inherit!important;}
html[data-theme="dark"] :where(.tioQuickNavV4 a.is-active,.bottomQuickNav a.is-active){background:#0b2230!important;color:var(--tgz381-ink2)!important;border-color:rgba(143,230,210,.28)!important;}
html[data-theme="dark"] :where(.tioFooterV4__dock){background:linear-gradient(180deg,#0b151a,#071217)!important;}

@media(max-width:760px){
  html[data-theme="dark"] body :where(.hcHero,.hcPanel,.surfSmartHero,.surfSmartPanel,.weatherFinalApp,.buildCleanHero,.cleanStep,.tgzDemandRail,.tgzProofRail,.tgzInternalGraph,.tgzCommercialCluster,.tgz268HeroCard,.tgz268Section){border-radius:22px!important;padding:clamp(12px,3.4vw,18px)!important;}
  html[data-theme="dark"] body :where(.hcHeroActions,.hcPanelActions,.hcTrustActions,.weatherHeroActions,.tgzProofRail__actions,.tgzCommercialIntentGrid){gap:.5rem!important;}
  html[data-theme="dark"] body :where(.hcBtn,.cleanSoftBtn,.cleanActionBtn,.cleanDockBtn,.surfSmartBtn,.weatherHeroActions .btn,.tgzCommercialIntentBtn,.tioFooterV4__action){min-height:42px!important;font-size:clamp(.68rem,2.7vw,.84rem)!important;}
  html[data-theme="dark"] body.buildPage{padding-bottom:calc(138px + env(safe-area-inset-bottom,0px))!important;}
  html[data-theme="dark"] body.buildPage :where(.cleanDock){left:.55rem!important;right:.55rem!important;bottom:calc(.55rem + env(safe-area-inset-bottom,0px))!important;}
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetGroup>div){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.38rem!important;}
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetTabs){gap:.25rem!important;overflow:auto!important;padding-bottom:.35rem!important;}
  html[data-theme="dark"] body.surfSmartApp :where(.surfSmartDeck){grid-auto-columns:minmax(280px,86vw)!important;}
  html[data-theme="dark"] :where(.tioQuickNavV4,.bottomQuickNav){left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;padding:6px!important;border-radius:22px!important;}
  html[data-theme="dark"] :where(.tioQuickNavV4 a,.bottomQuickNav a){min-height:48px!important;border-radius:16px!important;font-size:.62rem!important;}
}
@media(max-width:390px){
  html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetGroup>div){grid-template-columns:1fr!important;}
  html[data-theme="dark"] body :where(.hcHeroActions,.weatherHeroActions,.tgzCommercialIntentGrid){grid-template-columns:1fr!important;}
}
/* Phase 382 — all-route component-owned final night safety. This is intentionally narrow to recurring public UI components, not app logic. */
html[data-theme="dark"] body :where(.tgz268Page,.tgz268Section,.tgz268HeroCard,.tgzDemandRail,.tgzInternalGraph,.tgzProofRail,.tgzCommercialCluster,.tgzCommercialIntentGrid,.tgzRouteGraph,.tgzNativePlanningRoutePage,.phase367SiteIndex,.siteIndexPage){background:#030708!important;color:#f6f3eb!important;}
html[data-theme="dark"] body :where(.tgzDemandRail__shell,.tgzInternalGraph__shell,.tgzProofRail__shell,.tgzCommercialClusterLock,.tgzCommercialIntentCard,.tgzInternalGraph__link,.tgzDemandRail__link,.phase367SiteIndex a,.siteIndexPage a,.tgz268Details,.tgz268Faq,.tgz268ContactGrid,.tgz268FormShell){background:#071217!important;color:#f6f3eb!important;border-color:rgba(246,243,235,.14)!important;box-shadow:none!important;}
html[data-theme="dark"] body :where(.tgzInternalGraph__link *,.tgzDemandRail__link *,.phase367SiteIndex a *,.siteIndexPage a *){color:inherit!important;}
html[data-theme="dark"] body :where(.tgzBackTop){background:#071217!important;color:#8fe6d2!important;border-color:rgba(143,230,210,.24)!important;}
html[data-theme="dark"] body :where(.smartPicker[open] summary,.smartPicker>summary:focus-visible,.tgzChromeMenu:focus-visible,.tgzChromeTool:focus-visible,a:focus-visible,button:focus-visible){outline:2px solid rgba(143,230,210,.76)!important;outline-offset:3px!important;}
html[data-theme="dark"] body :where(.tioQuickNavV4,.bottomQuickNav)+*{scroll-margin-bottom:130px;}

/* Phase 385 — active global theme marker. Dark remains default; route/app bundles own final surfaces. */


/* Phase 387 — pre-deployment visual completion: softer Atlantic palette, richer buttons, cookies/build/weather/route polish. */
:root{
  --tgz387-ink:#f2fbf8;
  --tgz387-soft:#d7ebe6;
  --tgz387-muted:#a9c2c1;
  --tgz387-bg:#061014;
  --tgz387-bg2:#0a1b22;
  --tgz387-card:#0e2630;
  --tgz387-card2:#123140;
  --tgz387-line:rgba(146,226,211,.24);
  --tgz387-line2:rgba(234,199,132,.22);
  --tgz387-teal:#1fc4b4;
  --tgz387-mint:#a9f2dc;
  --tgz387-blue:#54a8ff;
  --tgz387-cobalt:#3457ff;
  --tgz387-copper:#d99a42;
  --tgz387-coral:#ff7f66;
  --tgz387-purple:#9c7cff;
  --tgz387-sand:#efd8ab;
  --tgz387-shadow:0 16px 54px rgba(0,0,0,.32);
}
html[data-theme="dark"] body{
  background:radial-gradient(900px 360px at 50% -120px,rgba(31,196,180,.16),transparent 62%),linear-gradient(180deg,#071016 0%,#050b10 100%)!important;
  color:var(--tgz387-ink)!important;
}
html[data-theme="dark"] body :where(.hcHero,.hcPanel,.weatherFinalApp,.weatherNowCard,.weatherBoard,.weatherSpotMatrix,.buildCleanHero,.cleanStep,.cleanStayPanel,.cleanModeCard,.activityCard,.guestCounter,.guestProfile,.quoteSummaryCard,.quoteSection,.quoteItem,.surfSmartHero,.surfSmartPanel,.surfSmartResult,.bfCard,.bfPanel,.bfForm,.oceanLockPanel,.flightCockpit,.flightDecisionCard,.thingsDecisionBoard,.thingsPlanCard,.thingsCard,.localCard,.entityCard,.articleCard,.topicCard,.guideCard,.siteIndexCard,.tgzDemandRail__shell,.tgzProofRail__shell,.tgzInternalGraph__shell,.tgzCommercialCluster,.tgz268HeroCard,.tgz268Section,.legalContentShell,.legalRelatedLinks,.cookieInlineCard){
  background:linear-gradient(180deg,rgba(18,49,64,.96),rgba(9,27,36,.98))!important;
  border-color:var(--tgz387-line)!important;
  color:var(--tgz387-ink)!important;
  box-shadow:0 12px 36px rgba(0,0,0,.24)!important;
}
html[data-theme="dark"] body :where(h1,h2,h3,.weatherNowMain strong,.cleanStepHead h2,.buildCleanHero h1,.tgzDemandRail__head h2,.tgzProofRail__head h2,.tgzInternalGraph__copy h2,.legalContentShell h1,.legalContentShell h2,.cookieInlineHead h2){color:#f8fff9!important;letter-spacing:-.03em}
html[data-theme="dark"] body :where(p,small,li,.cleanStepHint,.cleanTrustLine,.weatherFinalApp small,.weatherFinalApp p,.tgzDemandRail__link span,.tgzProofRail__card span,.tgzInternalGraph__link span,.legalContentShell p,.cookieInlineCard p,.cookieBannerText p,.cookieModalHead p,.cookieRowText small){color:var(--tgz387-muted)!important}
html[data-theme="dark"] body :where(.primary,.is-primary,.btn.primary,.hcBtnPrimary,.cleanPrimary,.cleanDockBtn.cleanPrimary,.inlineAdd button:first-child,.activityFamilyRail button.is-active,.guestProfileControls button.is-active,.slotRow button.is-active,.surfSmartBtn.primary,.surfPhase356Link.primary,.weatherHeroActions .btn.primary,.weatherSegment button.is-active,.weatherHourlyModes button.is-active,.weatherBeachToggle.is-active,.weatherSpotSheetTab.is-active,.weatherSpotSheetItem.is-active button,.tgzCommercialIntentBtn--quote,.tgzStayMoneyBtn.is-primary,.flightBtn.primary,.tioFooterV4__action.is-primary,.tioQuickNavV4 a.is-active,.bottomQuickNav a.is-active,button[type="submit"],.cookieActionRow .btn.primary,.cookieBannerActions .btn.primary,.cookieInlineActions .btn.primary){
  background:linear-gradient(135deg,var(--tgz387-teal) 0%,var(--tgz387-mint) 100%)!important;
  color:#031719!important;
  border-color:rgba(169,242,220,.72)!important;
  box-shadow:0 12px 34px rgba(31,196,180,.20)!important;
}
html[data-theme="dark"] body :where(button[disabled],.is-disabled,.disabled,[aria-disabled="true"]){
  background:linear-gradient(135deg,rgba(33,48,57,.92),rgba(25,38,46,.92))!important;
  color:#b7c9c9!important;
  border-color:rgba(146,226,211,.14)!important;
  opacity:.78!important;
}

/* Build: lively but readable selected states and compact quote dock. */
html[data-theme="dark"] body.buildPage :where(.cleanDock){
  background:linear-gradient(180deg,rgba(7,19,24,.98),rgba(5,12,17,.98))!important;
  border-color:rgba(169,242,220,.28)!important;
  box-shadow:0 18px 56px rgba(0,0,0,.46)!important;
}
html[data-theme="dark"] body.buildPage :where(.cleanDockSummary){background:linear-gradient(135deg,rgba(18,49,64,.96),rgba(14,38,49,.98))!important;border-color:rgba(169,242,220,.24)!important}
html[data-theme="dark"] body.buildPage :where(.cleanModeCard.is-active,.routeBlock.is-active,.activityCard.is-selected,.guestProfile.is-active){
  background:linear-gradient(135deg,rgba(31,196,180,.18),rgba(84,168,255,.12))!important;
  border-color:rgba(169,242,220,.54)!important;
  box-shadow:inset 0 0 0 1px rgba(169,242,220,.08),0 12px 30px rgba(31,196,180,.10)!important;
}
html[data-theme="dark"] body.buildPage :where(.priceChip,.buildTapCue){background:linear-gradient(135deg,var(--tgz387-sand),#ffe8b9)!important;color:#071719!important;border-color:rgba(239,216,171,.52)!important}

/* Weather: soften hero contrast and make option buttons feel active, not grey. */
html[data-theme="dark"] body.weatherPage :where(.weatherFinalHero,.weatherNowCard){background:radial-gradient(420px 260px at 15% 0%,rgba(31,196,180,.18),transparent 70%),linear-gradient(180deg,rgba(17,50,65,.98),rgba(7,22,30,.98))!important}
html[data-theme="dark"] body.weatherPage :where(.weatherMetricGrid>*,.weatherRead,.weatherBeachCard,.weatherTopicalLock,.weatherSpotSheetItem){background:linear-gradient(180deg,rgba(15,45,58,.96),rgba(10,31,41,.98))!important;border-color:rgba(146,226,211,.22)!important;color:var(--tgz387-ink)!important}
html[data-theme="dark"] body.weatherPage :where(.weatherPotentialBadge){background:linear-gradient(135deg,var(--tgz387-copper),#ffd07a)!important;color:#071719!important;border-color:rgba(255,208,122,.42)!important}
html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel){background:linear-gradient(180deg,#0b1d26,#061218)!important;border-color:rgba(169,242,220,.28)!important}

/* Cookie banner/modal/page: final dark-native system, not old cream box. */
html[data-theme="dark"] body :where(.cookieBannerInner,.cookieModalPanel,.cookieInlineCard){
  background:linear-gradient(180deg,rgba(18,49,64,.98),rgba(7,20,28,.98))!important;
  color:var(--tgz387-ink)!important;
  border-color:rgba(169,242,220,.26)!important;
  box-shadow:0 20px 70px rgba(0,0,0,.42)!important;
}
html[data-theme="dark"] body :where(.cookieRow,.cookieInlineStat,.cookieStateBadge){background:rgba(8,25,34,.92)!important;color:var(--tgz387-ink)!important;border-color:rgba(146,226,211,.20)!important}
html[data-theme="dark"] body :where(.cookieRow.is-locked){background:linear-gradient(135deg,rgba(217,154,66,.16),rgba(31,196,180,.10))!important}
html[data-theme="dark"] body :where(.cookieRowText strong,.cookieBannerText strong,.cookieModalHead h2,.cookieInlineHead h2){color:#f8fff9!important}
html[data-theme="dark"] body :where(.cookieToggle span){background:rgba(54,78,88,.95)!important;border-color:rgba(146,226,211,.20)!important}
html[data-theme="dark"] body :where(.cookieToggle input:checked + span){background:linear-gradient(135deg,var(--tgz387-teal),var(--tgz387-mint))!important}
html[data-theme="dark"] body :where(.cookieStateBadge.is-on){background:rgba(31,196,180,.20)!important;color:#bff8e6!important;border-color:rgba(169,242,220,.34)!important}
html[data-theme="dark"] body :where(.cookieStateBadge.is-off){background:rgba(217,154,66,.18)!important;color:#ffe4ac!important;border-color:rgba(217,154,66,.30)!important}

/* Route-family finish pass. */
html[data-theme="dark"] body :where(.tgzDemandRail__link,.tgzProofRail__card,.tgzInternalGraph__link,.phase367SiteIndex a,.siteIndexPage a,.legalRelatedLinks a,.related a,.faq details){background:linear-gradient(135deg,rgba(14,43,56,.96),rgba(8,28,38,.98))!important;border-color:rgba(146,226,211,.18)!important;color:var(--tgz387-ink)!important}
html[data-theme="dark"] body :where(.tgzDemandRail__link:hover,.tgzInternalGraph__link:hover,.phase367SiteIndex a:hover,.siteIndexPage a:hover,.legalRelatedLinks a:hover){border-color:rgba(169,242,220,.42)!important;transform:translateY(-1px)}

@media(max-width:760px){
  html[data-theme="dark"] body :where(.cookieBanner){bottom:calc(86px + env(safe-area-inset-bottom,0px))!important}
  html[data-theme="dark"] body.buildPage :where(.cleanDock){bottom:calc(.65rem + env(safe-area-inset-bottom,0px))!important}
}

/* Phase 388 — active theme marker only; native route bundles now carry the completion blocks. */
:root{--tgz388-bg:#03080d;--tgz388-panel:#071923;--tgz388-card:#0f2b39;--tgz388-line:rgba(151,230,214,.22);--tgz388-text:#edf7f5;--tgz388-muted:#b7cacb;--tgz388-teal:#24c8b8;--tgz388-mint:#b5f4dc;--tgz388-blue:#53a0ff;--tgz388-violet:#9a7cff;--tgz388-copper:#d99a42}
html[data-theme="dark"] body{background:radial-gradient(circle at 10% 0%,rgba(36,200,184,.08),transparent 28%),var(--tgz388-bg)!important;color:var(--tgz388-text)!important}
html[data-theme="dark"] body :where(.muted,.small,small,.eyebrow){color:var(--tgz388-muted)}
/* Cookie/banner final compact lock. */
html[data-theme="dark"] body :where(.cookieBannerInner,.cookieModalPanel,.cookieInlineCard){background:linear-gradient(180deg,rgba(10,29,40,.98),rgba(6,18,25,.99))!important;border-color:rgba(174,245,222,.22)!important;color:#f3fff9!important;border-radius:22px!important;box-shadow:0 24px 72px rgba(0,0,0,.48)!important}
html[data-theme="dark"] body :where(.cookieBannerText strong,.cookieModalHead h2,.cookieInlineHead h2,.cookieRowText strong){color:#f4fff9!important}
html[data-theme="dark"] body :where(.cookieBannerText p,.cookieModalHead p,.cookieInlineCard p,.cookieRowText small){color:#abc6c6!important}
html[data-theme="dark"] body :where(.cookieRow,.cookieInlineStat,.cookieStateBadge){background:rgba(7,22,31,.92)!important;border-color:rgba(174,245,222,.18)!important;color:#edfdf8!important}
html[data-theme="dark"] body :where(.cookieBannerActions .btn,.cookieActionRow .btn,.cookieInlineActions .btn,.cookieInlineHead .btn){min-height:38px!important;padding:8px 12px!important;border-radius:999px!important;background:linear-gradient(135deg,rgba(16,42,56,.96),rgba(10,29,40,.98))!important;color:#f2fff9!important;border-color:rgba(105,168,255,.28)!important}
html[data-theme="dark"] body :where(.cookieBannerActions .btn.primary,.cookieActionRow .btn.primary,.cookieInlineActions .btn.primary){background:linear-gradient(135deg,#23c7b7,#aef5de)!important;color:#031719!important;border-color:rgba(174,245,222,.72)!important}
/* TGZ_PHASE_393_VISUAL_LOCK */


/* Phase 395 — predeployment visual residue lock.
   Keeps dark default softer, compresses repeated app whitespace, and protects active command drawer from late global rules. */
html[data-theme="dark"] body{background:radial-gradient(900px 360px at 50% -120px,rgba(35,199,183,.13),transparent 60%),linear-gradient(180deg,#040b10 0%,#071119 42%,#05090d 100%)!important;}
html[data-theme="dark"] body :where(.card,.panel,.appCard,.routeCard,.proofCard,.weatherCard,.buildCard,.spotCard,.faq details,.cookieModal,.cookieBanner){box-shadow:0 16px 46px rgba(0,0,0,.22)!important;}
html[data-theme="dark"] body :where(.btn,.button,.chip,.pill,.tab,.routeChip,.menuTreeChip,.cleanSoftBtn,.cleanActionBtn){letter-spacing:-.01em;}
html[data-theme="dark"] body :where(.btn:not(.primary):not(.is-active),.button:not(.primary):not(.is-active),.chip:not(.is-active),.pill:not(.is-active),.tab:not(.is-active),.routeChip:not(.is-active)){background:linear-gradient(135deg,rgba(13,42,54,.94),rgba(7,25,35,.98))!important;border-color:rgba(111,174,255,.22)!important;color:#effdf9!important;}
html[data-theme="dark"] body :where(.btn.secondary,.button.secondary,.cleanSoftBtn):nth-of-type(3n+2){background:linear-gradient(135deg,rgba(111,174,255,.28),rgba(35,199,183,.12))!important;border-color:rgba(111,174,255,.34)!important;}
html[data-theme="dark"] body :where(.btn.secondary,.button.secondary,.cleanSoftBtn):nth-of-type(3n+3){background:linear-gradient(135deg,rgba(185,157,255,.26),rgba(217,154,66,.12))!important;border-color:rgba(185,157,255,.32)!important;}
body.commandMenuOpen :where(.cleanDock,.tioQuickNavV4,.bottomQuickNav,.tgzBackTop,.cookieBanner,.weatherSpotSheet,.buildDock,.tgzFooterDock){opacity:0!important;pointer-events:none!important;}
@media(max-width:780px){body :where(main .section,main section,.appSection,.weatherSection,.buildStep,.surfAppSection,.routeSection,.homeSection,.guideSection){padding-top:clamp(8px,3vw,16px)!important;padding-bottom:clamp(8px,3vw,16px)!important;}body :where(.hero,.pageHero,.appHero,.weatherHero,.buildHero){margin-bottom:clamp(8px,2.6vw,14px)!important;}body :where(.card,.panel,.appCard,.weatherCard,.buildCard,.spotCard,.routeCard,.proofCard){padding-top:min(var(--card-pad,14px),16px);padding-bottom:min(var(--card-pad,14px),16px);}body :where(.btn,.button,button.cleanSoftBtn,button.cleanActionBtn,a.cleanSoftBtn,a.cleanActionBtn,.chip,.tab,.pill,.routeChip,.menuTreeChip){min-height:36px!important;}}.tgzChromeTheme [data-tgz-theme-label]{display:none}.tgzThemeIcon{font-size:.92rem;line-height:1}
html[data-theme="dark"] body.buildPage :where(.buildCleanApp,.cleanStep,.cleanModeCard,.cleanStayPanel,.guestCounter,.activityCard,.cleanReceiptDialog,.cleanDock){background:#0b1820!important;color:#f5fbf8!important;border-color:rgba(151,230,214,.18)!important;box-shadow:none!important}html[data-theme="dark"] body.buildPage :where(.cleanModeCard.is-active,.activityCard.is-active,.guestProfileControls button.is-active,.slotRow button.is-active){background:#102a34!important;border-color:rgba(181,244,220,.52)!important;color:#f5fbf8!important}html[data-theme="dark"] body.buildPage :where(.cleanPrimary,.cleanDockBtn.cleanPrimary,.cleanActionBtn.is-primary){background:#f0b45a!important;color:#07151c!important;border-color:rgba(240,180,90,.8)!important}html[data-theme="dark"] body.buildPage :where(.cleanSoftBtn,.cleanDockBtn,.quoteMiniAction,.quoteSectionAction,.activityFamilyRail button){background:#0f2530!important;color:#f5fbf8!important;border-color:rgba(151,230,214,.22)!important}html[data-theme="dark"] body.buildPage :where(input,select,textarea){background:#071319!important;color:#f5fbf8!important;border-color:rgba(151,230,214,.24)!important}
html[data-theme="dark"] body.weatherPage :where(.weatherNowCard,.weatherBoard,.weatherSpotMatrix,.weatherMetricGrid>div,.weatherRead,.weatherBeachCard,.weatherDayCard,.weatherForecastSummary article,.weatherTimeRow){background:#0b1820!important;color:#f5fbf8!important;border-color:rgba(151,230,214,.18)!important;box-shadow:none!important}html[data-theme="dark"] body.weatherPage :where(.weatherHeroActions .btn,.weatherSegment button,.weatherHourlyModes button,.weatherBeachToggle,.weatherSpotSheetTab){background:#0f2530!important;color:#f5fbf8!important;border-color:rgba(151,230,214,.22)!important}html[data-theme="dark"] body.weatherPage :where(.weatherHeroActions .btn.primary,.weatherSegment button.is-active,.weatherHourlyModes button.is-active,.weatherBeachToggle.is-active,.weatherSpotSheetTab.is-active){background:#f0b45a!important;color:#07151c!important;border-color:rgba(240,180,90,.8)!important}html[data-theme="dark"] body.weatherPage :where(.weatherSpotSheetPanel,.weatherSpotSheetGroup,.weatherSpotSheetItem){background:#0a1820!important;color:#f5fbf8!important;border-color:rgba(151,230,214,.22)!important}html[data-theme="dark"] body.weatherPage .weatherSpotSheet{z-index:99999!important}html[data-theme="dark"] body.weatherPage .weatherSpotSheet[hidden]{display:none!important}

/* Phase 397 — light-first recovery lock. Dark mode is opt-in only. */
html:not([data-theme="dark"]),html[data-theme="light"]{color-scheme:light!important;background:#f7f1e4!important}
html:not([data-theme="dark"]) body,html[data-theme="light"] body{background:#f7f1e4!important;color:#07151c!important}
html[data-theme="light"] #navDrawer.tgz406Menu{color:#071923!important}
html[data-theme="light"] .tgzChromeTheme,html[data-theme="light"] .tgz406Theme{background:#fff8ea!important;color:#07151c!important;border-color:rgba(7,21,28,.16)!important}

/* Phase 398D — native night owner shell. Route/app bundles own their internals; this layer only supplies document chrome and safe shared primitives. */
html[data-theme="dark"],html[data-theme-mode="dark"]{color-scheme:dark;background:var(--tgz-ui-bg,#071015)!important;scrollbar-color:rgba(113,215,194,.72) #071015!important}
html[data-theme="dark"] body,html[data-theme-mode="dark"] body{background:var(--tgz-ui-bg,#071015)!important;color:var(--tgz-ui-text,#f7efe3)!important}
html[data-theme="dark"] body::before,html[data-theme-mode="dark"] body::before{background:radial-gradient(circle at 50% -12%,rgba(89,201,189,.14),transparent 34rem),linear-gradient(180deg,#050b0f,#071015)!important}
html[data-theme="dark"] body :where(.tgzChrome,.tgzChromeShell,.tgzChrome--phase398c){background:#050b0f!important;color:var(--tgz-ui-text,#f7efe3)!important;border-color:rgba(113,215,194,.22)!important}
html[data-theme="dark"] body :where(.tgzChromeTool,.tgzChromeMenu,.tgzChromeTools .smartPicker>summary){background:#0b1821!important;color:var(--tgz-ui-text,#f7efe3)!important;border-color:rgba(113,215,194,.20)!important}
html[data-theme="dark"] body :where(.tgzChromeTool:hover,.tgzChromeMenu:hover,.tgzChromeTools .smartPicker[open]>summary){background:#102631!important;border-color:rgba(113,215,194,.34)!important}
html[data-theme="dark"] body :where(.tgzChromeMenu span){background:var(--tgz-ui-primary,#71d7c2)!important}
html[data-theme="dark"] body :where(input,select,textarea){background:var(--tgz-ui-card,#101f29)!important;color:var(--tgz-ui-text,#f7efe3)!important;border-color:var(--tgz-ui-line,#29404b)!important}
html[data-theme="dark"] body :where(input::placeholder,textarea::placeholder){color:rgba(247,239,227,.52)!important}
html[data-theme="dark"] body :where(a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible){outline:3px solid rgba(113,215,194,.48)!important;outline-offset:3px!important}
html[data-theme="dark"] body :where(.modal,.dialog,.sheet,.cookieBanner,#cookieBanner,.consentBanner){background:var(--tgz-ui-card,#101f29)!important;color:var(--tgz-ui-text,#f7efe3)!important;border-color:var(--tgz-ui-line,#29404b)!important}
@media(prefers-reduced-motion:reduce){html[data-theme="dark"] body :where(*),html[data-theme="dark"] body :where(*::before),html[data-theme="dark"] body :where(*::after){transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Phase 398E — footer/quick-nav final lock. New namespace wins over older V4/theme residue without changing app engines. */
html[data-theme="dark"] body :where(.tgz398eFooter){background:transparent!important;margin-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;color:#f3fbf8!important}
html[data-theme="dark"] body :where(.tgz398eFooter--build){margin-bottom:28px!important}
html[data-theme="dark"] body :where(.tgz398eFooter__dock){background:linear-gradient(180deg,rgba(7,18,23,.98),rgba(5,12,17,.99))!important;border-color:rgba(143,230,210,.20)!important;box-shadow:0 18px 52px rgba(0,0,0,.32)!important;color:#f3fbf8!important}
html[data-theme="dark"] body :where(.tgz398eFooter__mark){background:rgba(31,196,180,.12)!important;color:#a9f2dc!important;border-color:rgba(169,242,220,.22)!important;box-shadow:none!important}
html[data-theme="dark"] body :where(.tgz398eFooter__brand strong){color:#f7fff9!important}
html[data-theme="dark"] body :where(.tgz398eFooter__brand span){color:#adc8c8!important}
html[data-theme="dark"] body :where(.tgz398eFooter__board,.tgz398eFooter__trust){background:rgba(12,34,44,.72)!important;border-color:rgba(143,230,210,.16)!important;color:#cfe6e0!important}
html[data-theme="dark"] body :where(.tgz398eFooter__board h2){color:#f7fff9!important}
html[data-theme="dark"] body :where(.tgz398eFooter__action,.tgz398eFooter__links a,.tgz398eFooter__legal a,.tgz398eFooter__legal button){background:linear-gradient(135deg,rgba(13,41,54,.95),rgba(8,27,36,.98))!important;border-color:rgba(143,230,210,.18)!important;color:#edfdf8!important;box-shadow:none!important;min-width:0!important;text-align:center!important;justify-content:center!important;line-height:1.08!important}
html[data-theme="dark"] body :where(.tgz398eFooter__action.is-primary){background:linear-gradient(135deg,#23c7b7,#aef5de)!important;color:#031719!important;border-color:rgba(174,245,222,.72)!important}
html[data-theme="dark"] body :where(.tgz398eFooter__action.is-primary .microIcon){color:#031719!important}
html[data-theme="dark"] body :where(.tgz398eFooter__action .microIcon,.tgz398eFooter__links a .microIcon){color:#a9f2dc!important}
html[data-theme="dark"] body :where(.tgz398eQuickNav){background:rgba(3,7,8,.97)!important;border:1px solid rgba(143,230,210,.18)!important;box-shadow:0 18px 58px rgba(0,0,0,.50)!important;backdrop-filter:blur(16px)!important;left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;padding:5px!important;border-radius:20px!important}
html[data-theme="dark"] body :where(.tgz398eQuickNav a){background:transparent!important;border-color:transparent!important;color:#c6d0d2!important;min-height:45px!important;border-radius:15px!important;font-size:.58rem!important;line-height:1!important}
html[data-theme="dark"] body :where(.tgz398eQuickNav a span){color:inherit!important}
html[data-theme="dark"] body :where(.tgz398eQuickNav a.is-active){background:#0b2230!important;color:#f8fff9!important;border-color:rgba(143,230,210,.28)!important;box-shadow:inset 0 0 0 1px rgba(143,230,210,.10)!important}
html[data-theme="dark"] body :where(.tgz398eQuickNav a .microIcon){color:#a9f2dc!important}
html[data-theme="dark"] body :where(.tgz398eQuickNav a.is-active .microIcon){color:#d99a42!important}
body.commandMenuOpen :where(.tgz398eQuickNav,.tgz398eFooter,.tgzBackTop){pointer-events:none!important}
@media(max-width:720px){html[data-theme="dark"] body :where(.tgz398eFooter__actions){gap:6px!important}html[data-theme="dark"] body :where(.tgz398eFooter__action){min-height:35px!important;padding:7px 8px!important;font-size:.72rem!important}html[data-theme="dark"] body :where(.tgz398eFooter__boards){grid-template-columns:1fr!important;gap:7px!important}}
/* TGZ_PHASE_398E_FOOTER_QUICKNAV_LOCK */


/* Phase 402 — Deployment Reality Header/Footer Chrome Lock
   Purpose: make the live header sticky and identical across route families, and make the footer visibly match the black command identity in both light and dark themes. */
:root{
  --tgz406-black:#050505;
  --tgz406-panel:#0b0f12;
  --tgz406-card:#12181c;
  --tgz406-card2:#172229;
  --tgz406-text:#fffaf1;
  --tgz406-muted:rgba(255,250,241,.70);
  --tgz406-line:rgba(255,255,255,.14);
  --tgz406-teal:#17a6a3;
  --tgz406-mint:#9ff2dc;
  --tgz406-copper:#f1a33b;
  --tgz406-sand:#e8ddc7;
  --tgz406-radius:22px;
}
html body .topbar.tgzChrome,
html body .topbar.tgzChrome.tgzChrome--phase372,
html body .topbar.tgzChrome.tgzChrome--phase397,
html body .topbar.tgzChrome.tgzChrome--phase398c,
html body .topbar.tgzChrome.tgzChrome--phase401{
  position:sticky!important;
  top:0!important;
  inset-inline:0!important;
  z-index:9800!important;
  background:linear-gradient(180deg,var(--tgz406-black) 0%,#07090a 100%)!important;
  border:0!important;
  border-bottom:1px solid rgba(23,166,163,.24)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.24)!important;
  color:var(--tgz406-text)!important;
  backdrop-filter:blur(14px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(135%)!important;
  overflow:visible!important;
  contain:none!important;
}
html body .topbar.tgzChrome .tgzChromeContainer{width:100%!important;max-width:1480px!important;margin-inline:auto!important;padding-inline:12px!important;}
html body .topbar.tgzChrome .tgzChromeNav{
  display:grid!important;
  grid-template-columns:48px minmax(190px,360px) minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  min-height:72px!important;
  padding:6px 0!important;
  width:100%!important;
  position:relative!important;
}
html body .topbar.tgzChrome .tgzChromeMenu--lead{grid-column:1!important;grid-row:1!important;justify-self:start!important;margin:0!important;}
html body .topbar.tgzChrome .tgzChromeBrand{grid-column:2!important;grid-row:1!important;justify-self:center!important;width:min(360px,30vw)!important;max-width:100%!important;height:60px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;text-decoration:none!important;}
html body .topbar.tgzChrome .tgzChromeLogo{height:60px!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;box-shadow:none!important;}
html body .topbar.tgzChrome .tgzChromeLogo img{display:block!important;width:100%!important;height:100%!important;max-height:60px!important;object-fit:contain!important;object-position:center center!important;background:transparent!important;border:0!important;box-shadow:none!important;}
html body .topbar.tgzChrome .tgzChromePrimary{grid-column:3!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-width:0!important;overflow:hidden!important;}
html body .topbar.tgzChrome .tgzChromePrimary a{min-height:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 11px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.14)!important;background:rgba(255,255,255,.035)!important;color:var(--tgz406-text)!important;font-size:13px!important;font-weight:950!important;line-height:1!important;white-space:nowrap!important;text-decoration:none!important;}
html body .topbar.tgzChrome .tgzChromePrimary a.isActive,
html body .topbar.tgzChrome .tgzChromePrimary a[aria-current="page"],
html body .topbar.tgzChrome .tgzChromePrimary a:hover{background:var(--tgz406-teal)!important;border-color:var(--tgz406-teal)!important;color:#041012!important;}
html body .topbar.tgzChrome .tgzChromeTools{grid-column:4!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;direction:ltr!important;min-width:0!important;}
html body .topbar.tgzChrome .tgzChromeMenu,
html body .topbar.tgzChrome .tgzChromeTools .smartPicker>summary,
html body .topbar.tgzChrome .tgzChromeTheme{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;display:grid!important;place-items:center!important;border-radius:14px!important;border:1px solid rgba(255,255,255,.18)!important;background:#111!important;color:#fff!important;box-shadow:none!important;list-style:none!important;padding:0!important;}
html body .topbar.tgzChrome .tgzChromeMenu{display:flex!important;flex-direction:column!important;gap:5px!important;}
html body .topbar.tgzChrome .tgzChromeMenu span{width:22px!important;height:2px!important;border-radius:999px!important;background:var(--tgz406-teal)!important;margin:0!important;}
html body .topbar.tgzChrome .tgzChromeTools .microIcon,
html body .topbar.tgzChrome .tgzChromeTools .microIcon svg{width:18px!important;height:18px!important;color:#fff!important;stroke:currentColor!important;}
html body .topbar.tgzChrome .tgzChromeTools .smartPicker>summary strong,
html body .topbar.tgzChrome .tgzChromeTheme [data-tgz-theme-label]{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;}
html body .topbar.tgzChrome .smartPickerMenu--chrome{position:absolute!important;top:calc(100% + 8px)!important;right:0!important;left:auto!important;background:#0b0b0b!important;border:1px solid rgba(23,166,163,.35)!important;color:#fff!important;border-radius:18px!important;box-shadow:0 20px 70px rgba(0,0,0,.44)!important;z-index:9900!important;}
html body .topbar.tgzChrome .smartPickerMenu--chrome .smartOption,
html body .topbar.tgzChrome .smartPickerMenu--chrome .currencyChip{background:#151515!important;border-color:rgba(255,255,255,.14)!important;color:#fff!important;}
html body .topbar.tgzChrome .smartPickerMenu--chrome .smartOption.is-current,
html body .topbar.tgzChrome .smartPickerMenu--chrome .smartOption:hover,
html body .topbar.tgzChrome .smartPickerMenu--chrome .currencyChip[aria-pressed="true"]{background:var(--tgz406-teal)!important;border-color:var(--tgz406-teal)!important;color:#041012!important;}
@media(max-width:980px){
  html body .topbar.tgzChrome .tgzChromeNav{grid-template-columns:46px minmax(0,1fr) auto!important;min-height:66px!important;gap:7px!important;}
  html body .topbar.tgzChrome .tgzChromeBrand{grid-column:2!important;width:min(245px,48vw)!important;height:56px!important;justify-self:center!important;}
  html body .topbar.tgzChrome .tgzChromeLogo{height:56px!important;}
  html body .topbar.tgzChrome .tgzChromeLogo img{max-height:56px!important;}
  html body .topbar.tgzChrome .tgzChromePrimary{display:none!important;}
  html body .topbar.tgzChrome .tgzChromeTools{grid-column:3!important;gap:5px!important;}
  html body .topbar.tgzChrome .tgzChromeTools .smartPicker>summary,
  html body .topbar.tgzChrome .tgzChromeTheme{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;border-radius:13px!important;}
  html body .topbar.tgzChrome .tgzChromeMenu{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;}
}
@media(max-width:420px){
  html body .topbar.tgzChrome .tgzChromeBrand{width:min(205px,45vw)!important;height:52px!important;}
  html body .topbar.tgzChrome .tgzChromeLogo{height:52px!important;}
  html body .topbar.tgzChrome .tgzChromeTools .smartPicker>summary,
  html body .topbar.tgzChrome .tgzChromeTheme{width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;}
}

/* Footer is now a black Atlantic command footer in both themes, not a pale card footer. */
html body .footer.tgz398eFooter,
html body .footer.tgz406Footer,
html body .footer.tgz401Footer{
  margin-top:clamp(18px,3vw,30px)!important;
  padding:0 12px calc(24px + env(safe-area-inset-bottom,0px))!important;
  background:transparent!important;
  border:0!important;
  color:var(--tgz406-text)!important;
}
html body .tgz398eFooter__shell{max-width:1120px!important;margin-inline:auto!important;padding:0!important;}
html body .tgz398eFooter__dock{
  display:grid!important;
  gap:10px!important;
  width:100%!important;
  padding:13px!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#07090a 0%,#0d151b 100%)!important;
  border:1px solid rgba(23,166,163,.22)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.22)!important;
  color:var(--tgz406-text)!important;
  overflow:hidden!important;
}
html body .tgz398eFooter__head{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;}
html body .tgz398eFooter__mark{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;flex:0 0 36px!important;border-radius:14px!important;background:rgba(23,166,163,.14)!important;color:var(--tgz406-mint)!important;border:1px solid rgba(159,242,220,.20)!important;box-shadow:none!important;}
html body .tgz398eFooter__brand strong{font-family:"Inter Tight",Inter,system-ui,sans-serif!important;color:var(--tgz406-text)!important;font-size:1.04rem!important;line-height:1!important;font-weight:950!important;letter-spacing:-.03em!important;}
html body .tgz398eFooter__brand span{color:var(--tgz406-muted)!important;font-size:.78rem!important;line-height:1.22!important;font-weight:780!important;}
html body .tgz398eFooter__actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;}
html body .tgz398eFooter--build .tgz398eFooter__actions,
html body .tgz398eFooter--weather .tgz398eFooter__actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
html body .tgz398eFooter__action,
html body .tgz398eFooter__links a,
html body .tgz398eFooter__legal a,
html body .tgz398eFooter__legal button{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:36px!important;padding:8px 10px!important;border-radius:15px!important;
  border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.055)!important;color:#f8fff9!important;text-decoration:none!important;
  font:900 .74rem/1.08 Inter,system-ui,sans-serif!important;box-shadow:none!important;text-align:center!important;white-space:normal!important;overflow-wrap:anywhere!important;cursor:pointer!important;
}
html body .tgz398eFooter__action.is-primary{background:linear-gradient(135deg,var(--tgz406-teal),var(--tgz406-mint))!important;color:#041012!important;border-color:rgba(159,242,220,.72)!important;}
html body .tgz398eFooter__action .microIcon,
html body .tgz398eFooter__links a .microIcon{width:15px!important;height:15px!important;flex:0 0 15px!important;color:var(--tgz406-mint)!important;}
html body .tgz398eFooter__action.is-primary .microIcon{color:#041012!important;}
html body .tgz398eFooter__boards{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
html body .tgz398eFooter__board{display:grid!important;gap:7px!important;padding:9px!important;border-radius:18px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.10)!important;}
html body .tgz398eFooter__board h2{margin:0!important;font-family:"Inter Tight",Inter,system-ui,sans-serif!important;font-size:.9rem!important;line-height:1!important;font-weight:950!important;letter-spacing:-.02em!important;color:var(--tgz406-text)!important;}
html body .tgz398eFooter__links{display:flex!important;align-items:center!important;gap:6px!important;overflow-x:auto!important;scrollbar-width:none!important;}
html body .tgz398eFooter__links::-webkit-scrollbar{display:none!important;}
html body .tgz398eFooter__links a{justify-content:flex-start!important;flex:0 0 auto!important;min-height:31px!important;padding:7px 9px!important;border-radius:13px!important;font-size:.7rem!important;}
html body .tgz398eFooter__trust{margin:0!important;padding:8px 10px!important;border-radius:15px!important;background:rgba(23,166,163,.10)!important;border:1px solid rgba(23,166,163,.20)!important;color:#dceee9!important;text-align:center!important;font-size:.74rem!important;line-height:1.24!important;font-weight:850!important;}
html body .tgz398eFooter__legal{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;flex-wrap:wrap!important;}
html body .tgz398eFooter__legal a:first-child{background:rgba(159,242,220,.10)!important;color:#f8fff9!important;}
@media(max-width:720px){
  html body .footer.tgz398eFooter{padding-inline:8px!important;}
  html body .tgz398eFooter__dock{padding:10px!important;border-radius:21px!important;}
  html body .tgz398eFooter__actions,
  html body .tgz398eFooter--build .tgz398eFooter__actions,
  html body .tgz398eFooter--weather .tgz398eFooter__actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  html body .tgz398eFooter__boards{grid-template-columns:1fr!important;}
  html body .tgz398eFooter__legal{justify-content:flex-start!important;}
}
html body .tgz398eQuickNav,
html body .tgz406QuickNav,
html body .tgz401QuickNav{
  position:fixed!important;left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;z-index:6500!important;
  display:none!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;padding:5px!important;border-radius:20px!important;
  background:rgba(5,5,5,.96)!important;border:1px solid rgba(23,166,163,.24)!important;box-shadow:0 18px 42px rgba(0,0,0,.34)!important;backdrop-filter:blur(16px)!important;
}
html body .tgz398eQuickNav a,
html body .tgz406QuickNav a,
html body .tgz401QuickNav a{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;min-width:0!important;min-height:45px!important;padding:6px 4px!important;border-radius:15px!important;color:rgba(255,250,241,.74)!important;text-decoration:none!important;font:900 .58rem/1 Inter,system-ui,sans-serif!important;text-align:center!important;background:transparent!important;border:1px solid transparent!important;}
html body .tgz398eQuickNav a span{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
html body .tgz398eQuickNav a .microIcon{width:16px!important;height:16px!important;color:var(--tgz406-mint)!important;}
html body .tgz398eQuickNav a.is-active{background:#0c242f!important;color:#fffaf1!important;border-color:rgba(159,242,220,.28)!important;}
html body .tgz398eQuickNav a.is-active .microIcon{color:var(--tgz406-copper)!important;}
@media(max-width:900px){html body .tgz398eQuickNav{display:grid!important}html body .tgz398eFooter:not(.tgz398eFooter--build){margin-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;}}
body.commandMenuOpen .tgz398eQuickNav,body.commandMenuOpen .tgzBackTop,body.navOpen .tgz398eQuickNav,body.cookieOpen .tgz398eQuickNav,html.cookieOpen .tgz398eQuickNav{opacity:0!important;pointer-events:none!important;}

/* The proof/route graph layer should not visually read as the footer. Keep it compact above the actual command footer. */
html body :where(.tgzProofRail,.tgzInternalGraph,.tgzDemandRail){margin-top:clamp(12px,2vw,20px)!important;margin-bottom:clamp(10px,1.8vw,18px)!important;}
html body :where(.tgzProofRail__shell,.tgzInternalGraph__shell,.tgzDemandRail__shell){padding-block:clamp(8px,1.8vw,14px)!important;}
html body :where(.tgzProofRail__head,.tgzInternalGraph__copy,.tgzDemandRail__head){gap:6px!important;}
html body :where(.tgzProofRail__head h2,.tgzInternalGraph__copy h2,.tgzDemandRail__head h2){font-size:clamp(1rem,1.8vw,1.26rem)!important;line-height:1.08!important;}
html body :where(.tgzProofRail__head p,.tgzInternalGraph__copy p,.tgzDemandRail__head p){font-size:.78rem!important;line-height:1.28!important;max-width:68ch!important;}
html body :where(.tgzInternalGraph__link,.tgzDemandRail__link,.tgzProofRail__card){min-height:0!important;padding:9px 10px!important;border-radius:16px!important;}

/* Phase 404 — final public chrome safety layer: do not let route CSS reopen old header/footer/menu states. */
html body .topbar.tgzChrome{position:sticky!important;top:0!important;background:#050708!important;color:#fffaf1!important;z-index:9400!important;}
html body .topbar.tgzChrome .tgzChromeBrand,html body .topbar.tgzChrome .tgzChromeLogo{background:#050708!important;border-radius:22px!important;}
html body .footer.tgz398eFooter,html body .footer.tgz404Footer{background:#050708!important;width:100%!important;max-width:none!important;}
html body .tgzInternalGraph{margin-block:clamp(16px,3vw,28px)!important;}
html body .tgzInternalGraph__shell{padding:clamp(12px,2vw,18px)!important;border-radius:22px!important;background:rgba(255,255,255,.48)!important;border:1px solid rgba(7,22,28,.10)!important;box-shadow:none!important;}
html body .tgzInternalGraph__copy span{text-transform:none!important;letter-spacing:.01em!important;color:#406156!important;font-weight:850!important;}
html body .tgzInternalGraph__copy h2{margin:.15rem 0 .25rem!important;font-size:clamp(1.05rem,2vw,1.35rem)!important;line-height:1.08!important;}
html body .tgzInternalGraph__copy p{margin:0!important;color:#406156!important;line-height:1.35!important;}
html body .tgzInternalGraph__links{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(138px,1fr))!important;gap:8px!important;margin-top:12px!important;}
html body .tgzInternalGraph__link{display:flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:10px 12px!important;text-align:center!important;border-radius:15px!important;background:#fffaf1!important;border:1px solid rgba(7,22,28,.10)!important;color:#07161c!important;text-decoration:none!important;}
html body .tgzInternalGraph__link strong{font-size:.86rem!important;line-height:1.1!important;letter-spacing:-.01em!important;}


/* Phase 406 — active theme marker and public chrome safety net. */
html body .topbar.tgzChrome[data-chrome-version="406"]{position:fixed!important;top:0!important;left:0!important;right:0!important;background:#050708!important;color:#fffaf1!important;z-index:2147483000!important;}
html body .topbar.tgzChrome[data-chrome-version="406"] .tgzChromeBrand,html body .topbar.tgzChrome[data-chrome-version="406"] .tgzChromeLogo{background:#050708!important;}
#navDrawer.tgz406Menu{z-index:2147483200!important;}


/* Phase 406 guard — current chrome/menu only. Header and menu native bundles own the visuals. */
html body .topbar.tgzChrome[data-chrome-version="406"]{position:fixed!important;top:0!important;left:0!important;right:0!important;background:#020506!important;color:#fffaf1!important;z-index:2147483000!important;}
html body .topbar.tgzChrome[data-chrome-version="406"] .tgzChromeMenu{background:#070b0e!important;border-color:rgba(255,255,255,.16)!important;color:#fffaf1!important;}
html body .topbar.tgzChrome[data-chrome-version="406"] .tgzChromeMenu span{background:#17a6a3!important;}
#navDrawer.tgz406Menu{z-index:2147483100!important;}
body.tgz406MenuOpen .tioQuickNavV4,body.tgz406MenuOpen .tgzBackTop{pointer-events:none!important;}
