/* Neutral surfaces, blue brand actions. Hazard colours always keep their meaning.
   No image/canvas filters: map legends, radar and photos retain source colours. */
:root { --sf-focus: #85caff; }
:root[data-sf-theme="light"] {
  color-scheme: light; --sf-bg: #f5f6f3; --sf-panel: #fff; --sf-inset: #eef2ef;
  --sf-text: #182b32; --sf-muted: #4c626b; --sf-line: #bac8c8;
  --sf-accent: #075e9b; --sf-focus: #075e9b;
  /* Tutorial uses the same preference and semantic palette. */
  --bg: var(--sf-bg); --panel: var(--sf-panel); --text: var(--sf-text);
  --muted: var(--sf-muted); --line: var(--sf-line); --accent: var(--sf-accent); --ok: #176238;
  background: var(--sf-bg); color: var(--sf-text);
}
:is(button, select, input, a):focus-visible { outline: 3px solid var(--sf-focus) !important; outline-offset: 3px; }
#sfAppearance { min-height: 44px; max-width: 160px; }
#sfGlobalLanguageControls select, #sfGlobalLanguageControls a { min-height: 44px; display: inline-flex; align-items: center; }
.sfHomeHero { padding: 28px !important; }
.sfHomeHero h1 { font-size: clamp(28px, 3.2vw, 43px) !important; max-width: 760px; }
.sfHomeHeroLead { font-size: 16px !important; }
.sfHomeLiveState.ready { color: #a7c6d9 !important; }
.sfHomeLiveState.ready .sfHomeLiveDot { background: #58ace6 !important; box-shadow: none !important; animation: none; }
:root[data-sf-theme="light"] body { background: var(--sf-bg); color: var(--sf-text); }
:root[data-sf-theme="light"] header { background: #f5f6f3f5 !important; border-color: var(--sf-line); }
:root[data-sf-theme="light"] :is(.card,.sfHomeHero,.sfHomeSnapshot,.sfHomeEntryCard,.sfHomeFeature,.sfHomeLoop,.sfHomeSystem,.decisionHero,.honestBriefing,.engineHero,.sfBriefingRoadmap,.sfSourceHub,.sfVerificationGroup,.sfProfileModal,.sfPlacesModal,.sfBetaDialog,.sfPrivateBetaDialog,.sfBetaInviteRecoveryDialog,dialog) {
  background: var(--sf-panel) !important; color: var(--sf-text) !important; border-color: var(--sf-line) !important; box-shadow: 0 8px 24px #182b3210 !important;
}
:root[data-sf-theme="light"] :is(.kpi,.status,.liveMetric,.skill,.fav,.profileBox,.factor,.decisionPanel,.decisionPlan,.sfHomeLayer,.sfHomeReadyItem,.sfHomeBriefingStatus,.sfHomeEntryCard,.sfBetaPanel,.sfPrivateBetaPanel,.sfBetaStatusItem,.sfBetaConsent,.sfBetaAccountLine,.sfBetaNotice,.sfPrivateBetaNotice,.sfPhaseCPlanningAccountSync,.sfBetaInviteRecoveryNotice,#sfGlobalLanguageControls,.headerMenuPanel,.headerMenu,.sfSourceGroup,.sfBriefingStep,.engineCard,.engineControls,.sfVerificationCard) {
  background: var(--sf-inset) !important; color: var(--sf-text) !important; border-color: var(--sf-line) !important;
}
:root[data-sf-theme="light"] :is(h1,h2,h3,h4,th,td,label,.big,.brandTag,.sub,.muted,.sourceLine,.footer,.mapLegend,.profileMeta,.sfHomeHeroLead,.sfHomeKicker,.sfHomeSnapshotTitle,.sfHomePlanMeta,.sfHomeBriefingStatus,.sfHomeBriefingWindow,.sfHomeRefreshNote,.sfHomeReadyRow,.sfHomeFeature p,.sfHomeEntryCard p,.sfHomeSafety,.sfBetaLead,.sfPrivateBetaLead,.sfBetaPanel p,.sfPrivateBetaPanel p,.sfBetaFoot,.sfPrivateBetaFoot,.sfPrivateBetaGrid span,.sfBetaStatusItem b,.sfBetaStatusItem span) { color: var(--sf-muted) !important; }
:root[data-sf-theme="light"] :is(h1,h2,h3,h4,.big,.sfHomePlanSite,.sfHomeEntryCard h3,.sfHomeFeature b) { color: var(--sf-text) !important; }
:root[data-sf-theme="light"] :is(select,input,textarea,.btn,.tabs button,.sfHomeSecondary,.mapAction,#sfGlobalLanguageControls select,#sfGlobalLanguageControls a,.headerMenuPanel button) {
  background: #fff !important; color: var(--sf-text) !important; border-color: #83999e !important;
}
:root[data-sf-theme="light"] :is(.sfHomePrimary,.sfBetaPrimary,.sfPrivateBetaPrimary,.sfBetaInviteRecoveryPrimary) {
  background: #075e9b !important; color: #fff !important; border-color: #075e9b !important;
}
:root[data-sf-theme="light"] :is(.tabs button.active,.badge,.alphaTag,.sfHomeVersion,.sfBetaKicker,.sfPrivateBetaKicker) { background: #e1edf3 !important; color: #075177 !important; border-color: #83999e !important; }
:root[data-sf-theme="light"] :is(a,.inlineLink,.siteLinks a,#sfGlobalLanguageControls a) { color: var(--sf-accent) !important; }
:root[data-sf-theme="light"] :is(.good,.suitGood,.sfBetaMenuState.ready) { color: #176238 !important; }
:root[data-sf-theme="light"] :is(.warn,.suitCaution,.suitWarning,.sfBetaMenuState.attention) { color: #825000 !important; }
:root[data-sf-theme="light"] :is(.bad,.suitBad,.sfBetaDanger) { color: #a32228 !important; }
:root[data-sf-theme="light"] :is(.catalogAlert,.sfBetaStatusItem.warn,.sfBetaNotice.warn,.sfPrivateBetaNotice.warn,.sfBetaInviteRecoveryNotice,.safety) { background: #fff3d9 !important; border-color: #a46f15 !important; color: #684000 !important; }
:root[data-sf-theme="light"] :is(.catalogOk,.sfBetaStatusItem.ok,.sfBetaNotice.success,.sfBetaInviteRecoveryNotice.ok) { background: #e5f3e9 !important; border-color: #377155 !important; color: #176238 !important; }
:root[data-sf-theme="light"] :is(.sfBetaNotice.error,.sfPrivateBetaNotice.error,.sfBetaInviteRecoveryNotice.error) { background: #fce9e8 !important; border-color: #a32228 !important; color: #a32228 !important; }
:root[data-sf-theme="light"] .sfHomeLiveState.ready { color: var(--sf-muted) !important; }
:root[data-sf-theme="light"] .sfHomeLiveDot { background: #567a8c !important; box-shadow: none !important; }
:root[data-sf-theme="light"] .sfHomeHero::after { opacity: .12; }
:root[data-sf-theme="light"] :is(.sfHomeSafety b,.sfHomeKicker,.sfHomeSnapshotTop,.sfHomeReady b,.sfHomeReady span,.sfHomePlanLabel,.sfHomeSystem b,.sfHomeFeature span,.sfHomeLoop p) { color: var(--sf-muted) !important; }
:root[data-sf-theme="light"] :is(.sfHomeBriefingState,.sfVerificationHub,.sfVerificationHead,.sfBriefingPath,.sfBriefingPathStep,.sfBriefingEvidence,.sfBriefingChecks,.sfBriefingEvidenceCard,.sfDecisionEvidence,.sfDecisionCard) { background: var(--sf-inset) !important; color: var(--sf-text) !important; border-color: var(--sf-line) !important; }
:root[data-sf-theme="light"] :is(.sfHomeBriefingState b,.sfVerificationHead span,.sfVerificationGroup span,.sfVerificationFoot,.sfBriefingPathHead span,.sfBriefingPathStep p,.sfBriefingPathOwner,.sfBriefingEvidence p) { color: var(--sf-muted) !important; }
:root[data-sf-theme="light"] .sfHomeEyebrow { color: var(--sf-accent) !important; }
:root[data-sf-theme="light"] :is(.profileDialog,.profileDialog .hint) { background: var(--sf-panel) !important; color: var(--sf-text) !important; border-color: var(--sf-line) !important; }
:root[data-sf-theme="light"] :is(.briefingHeadline,.briefingPanel,.briefingModelsPanel,.briefingActionPanel,.briefingDelta,.modelAgreementLine,.briefingSourceStrip,.decisionExplain,.sfHomeTrustItem,.sfHomeAction,.sfCardFact,.mapStartMetric,.mapStartWeatherCard,.routeStation,.routeStop,.engineResult,.nearbyCard,.legalDialogContent,.profileExplain) { background: var(--sf-inset) !important; color: var(--sf-text) !important; border-color: var(--sf-line) !important; }
:root[data-sf-theme="light"] :is(.briefingTitle,.briefingHeadline b,.briefingPanelHead b,.briefingPanelNo,.briefingPanelBody,.briefingActionPanel b,.briefingActionPanel li,.modelAgreementLine b,.briefingModelTable td,.sfHomeTrustItem b,.sfHomeAction h3,.sfCardFact b,.mapStartMetric b) { color: var(--sf-text) !important; }
:root[data-sf-theme="light"] :is(.briefingKicker,.briefingPanelHead div>span,.briefingHeadline .briefingTrend,.briefingNote,.modelAgreementLine span,.briefingSourceStrip,.briefingModelTable th,.sfAgreementHelp,.sfEvidenceNote,.sfHomeTrustItem span,.sfHomeAction p,.sfHomeSectionHead p,.sfCardFact span) { color: var(--sf-muted) !important; }
:root[data-sf-theme="light"] :is(.briefingPanelNo,.sfEvidenceBadge) { background: #e1edf3 !important; color: #075177 !important; border-color: #83999e !important; }
:root[data-sf-theme="light"] :is(.briefingDelta.above,.briefingActionPanel.attention,.sfEvidenceCaution,.briefingStateBadge.partial,.sfAirfieldNotice) { background: #fff3d9 !important; color: #684000 !important; border-color: #a46f15 !important; }
:root[data-sf-theme="light"] .briefingStateBadge.limited { background: #fce9e8 !important; color: #a32228 !important; border-color: #a32228 !important; }
.briefingStateBadge.complete { background: #10283a !important; color: #bfe5f7 !important; border-color: #42647a !important; }
.briefingStateBadge.complete::before { background: #58ace6 !important; box-shadow: none !important; }
:root[data-sf-theme="light"] .briefingStateBadge.complete { background: #e1edf3 !important; color: #075177 !important; border-color: #83999e !important; }
:root[data-sf-theme="light"] :is(.sfVerificationLink,.sfVerificationBadge,.sfBriefingPathLink) { background: #fff !important; color: var(--sf-accent) !important; border-color: #83999e !important; }
:root[data-sf-theme="light"] :is(.sfMapLegend,.mapLegend,.sfHomeLoopStep,.privacy label,.learningLoop,.sfPlannerSidebar,.routeBuilder,.plannerDabs,.legalDialogInner,.sessionResetInner) { background: var(--sf-panel) !important; color: var(--sf-text) !important; border-color: var(--sf-line) !important; }
:root[data-sf-theme="light"] :is(.legendTitle,.sfMapLegend span,.sfHomeLoopStep b,.sfHomeLoopStep span,.learningLoop h3,.learningLoop p,.privacy label span,.plannerDabsStatus,.legalDialogInner p,.legalDialogInner li) { color: var(--sf-muted) !important; }
:root[data-sf-theme="light"] :is(.planCard,.routePlanCard,.sfPhaseASectionHead,.routeBuilderTitle,.routePoint) { background: var(--sf-inset) !important; color: var(--sf-text) !important; border-color: var(--sf-line) !important; }
:root[data-sf-theme="light"] :is(.planCard b,.planCard .planLetter,.routePlanCard b,.routePlanCard span) { color: var(--sf-text) !important; }
:root[data-sf-theme="light"] :is(.hazardEyebrow,.sfSectionKicker) { color: #684000 !important; }
:root[data-sf-theme="light"] :is(.sfLearningEntryDeck,.sfLearningEntryCard,.loopLine span,.legalLead,.sessionResetNote) { background: var(--sf-inset) !important; color: var(--sf-text) !important; border-color: var(--sf-line) !important; }
:root[data-sf-theme="light"] :is(.sfLearningEntryDeck h2,.sfLearningEntryCard h3,.sfLearningEntryCard p,.sfLearningEntryDeck .sfLearningEntryHead p,.legalContent) { color: var(--sf-text) !important; }
:root[data-sf-theme="light"] :is(.sfLearningEntryIcon,.sfLearningEntryAction,.sfLearningEntryCta,.footerLinks button,.legalKicker) { color: var(--sf-accent) !important; }
:root[data-sf-theme="light"] :is(.notice,.step) { background: #e1edf3 !important; color: #075177 !important; border-color: #075e9b !important; }
:root[data-sf-theme="light"] .notice p { color: var(--sf-text) !important; }
:root[data-sf-theme="light"] .engineRecommendation {
  background: var(--sf-inset) !important; color: var(--sf-text) !important; border-color: var(--sf-line) !important;
}
:root[data-sf-theme="light"] summary { color: var(--sf-accent) !important; }
:root[data-sf-theme="light"] :is(.dabsSummary,.dabsCheckedMeta,.dabsGuardrail) { color: var(--sf-muted) !important; }
:root[data-sf-theme="light"] .dabsGuardrail { border-color: var(--sf-line) !important; }
:root[data-sf-theme="light"] .dabsEyebrow { color: var(--sf-accent) !important; }
:root[data-sf-theme="light"] :is(.dabsStateBadge,.plannerDabsStatus) {
  background: var(--sf-inset) !important; color: var(--sf-text) !important; border-color: var(--sf-line) !important;
}
:root[data-sf-theme="light"] :is(.dabsBriefing[data-state="open"] .dabsStateBadge,.plannerDabs[data-state="open"] .plannerDabsStatus) {
  background: #fff3d9 !important; color: #684000 !important; border-color: #a46f15 !important;
}
:root[data-sf-theme="light"] :is(.dabsBriefing[data-state="checked"] .dabsStateBadge,.plannerDabs[data-state="checked"] .plannerDabsStatus) {
  background: #e5f3e9 !important; color: #176238 !important; border-color: #377155 !important;
}
:root[data-sf-theme="light"] :is(.dabsBriefing:is([data-state="stale"],[data-state="error"]) .dabsStateBadge,.plannerDabs:is([data-state="stale"],[data-state="error"]) .plannerDabsStatus) {
  background: #fce9e8 !important; color: #a32228 !important; border-color: #a32228 !important;
}
:root[data-sf-theme="light"] a.button { background: #075e9b !important; color: #fff !important; }
.sfHomeEyebrowDot { background: #58ace6 !important; box-shadow: none !important; }
@media (max-width: 760px) {
  .sfHomeHero { padding: 18px !important; }
  :root body.sfPhaseAShell header .brandShell { flex-wrap: wrap !important; }
  #sfGlobalLanguageControls { order: 3; flex: 1 1 100%; width: auto; min-width: 0; box-sizing: border-box; }
  header .brandShell > .headerMenu { margin-left: auto !important; }
  #sfGlobalLanguageControls select { flex: 1 1 auto; min-width: 0; }
}

/* Preserve warning emphasis and readable route controls in daylight appearance. */
:root[data-sf-theme="light"] .sfDaylightGuard {
  background: #fff3d9 !important; color: #684000 !important; border-color: #a46f15 !important;
}
:root[data-sf-theme="light"] .sfDaylightGuard :is(b,strong,.muted) { color: #684000 !important; }
:root[data-sf-theme="light"] .sfDaylightGuardIcon { background: #684000 !important; color: #fff3d9 !important; }
:root[data-sf-theme="light"] .sfRouteTools {
  background: var(--sf-inset) !important; color: var(--sf-text) !important; border-color: var(--sf-line) !important;
}
:root[data-sf-theme="light"] .sfRouteTools[open]>summary { background: var(--sf-inset) !important; border-color: var(--sf-line) !important; }
:root[data-sf-theme="light"] .sfRouteTools>summary::after { color: var(--sf-accent) !important; }
:root[data-sf-theme="light"] .sfRouteFindingCard::before { color: var(--sf-accent) !important; }

:root[data-sf-theme="light"] .menuSectionTitle { color: var(--sf-accent) !important; }
:root[data-sf-theme="light"] .menuItem span { color: var(--sf-muted) !important; }
