/* FAB brand (logo, icons and colours from the brand pack) (build 2026.10.29.2) — loaded last.
   Applies the brand palette to the default dark theme and the "Modern Light" accent; the other
   themes people can pick (Classic, Ocean, Sky) keep their own colours. A logo uploaded in
   Settings still replaces the FAB mark. */
:root,html[data-theme="dark"],html[data-theme="standard"]{--wash:#0c0b15;--surface:#171426;--ink:#f3f2fb;--muted:#9c9bb8;--line:rgba(160,140,255,.16);--purple:#8b5cf6;--purple-soft:rgba(139,92,246,.16);--blue:#2563eb;--blue-soft:rgba(37,99,235,.16);--green:#14b8a6;--green-soft:rgba(20,184,166,.15);--fab-grad:linear-gradient(135deg,#8b5cf6 0%,#5b6cf4 55%,#2563eb 100%)}
html[data-theme="light"]{--purple:#7c3aed;--purple-soft:#f1ebff;--blue:#2563eb;--green:#0f9d8f}
body{background-color:var(--wash)}
.brand-orbit:not(.has-brand-logo),.xs-brand{background:url(/assets/brand/fab-mark-96.png) center/76% auto no-repeat,#171426!important;color:transparent!important;font-size:0!important;box-shadow:0 0 0 1px rgba(160,140,255,.22)!important;border-radius:10px!important}
.new-button,.primary-btn,.mobile-dock .dock-add,.x-btn.primary{background:var(--fab-grad)!important;border-color:transparent!important;color:#fff!important}
.brand b{background:linear-gradient(90deg,#a78bfa,#62f4c6);-webkit-background-clip:text;background-clip:text;color:transparent!important}
html[data-theme="light"] .brand b,html[data-theme="classic"] .brand b,html[data-theme="sky"] .brand b{background:linear-gradient(90deg,#7c3aed,#2563eb);-webkit-background-clip:text;background-clip:text}
/* Home date & weather cards in brand colours (dark themes) */
html:not([data-theme="light"]):not([data-theme="classic"]):not([data-theme="sky"]) :is(.briefing-date-card,.briefing-weather){background:radial-gradient(420px 180px at 100% 0%,rgba(98,244,198,.16),transparent 60%),linear-gradient(135deg,rgba(139,92,246,.32),rgba(37,99,235,.22)),#171426!important;border-color:rgba(160,140,255,.28)!important;color:#fff!important;box-shadow:0 14px 40px rgba(20,10,60,.35)!important}
html:not([data-theme="light"]):not([data-theme="classic"]):not([data-theme="sky"]) :is(.briefing-date-card,.briefing-weather) *{color:inherit!important}
html:not([data-theme="light"]):not([data-theme="classic"]):not([data-theme="sky"]) :is(.briefing-date-card,.briefing-weather)>span{color:#c4b5fd!important}
html:not([data-theme="light"]):not([data-theme="classic"]):not([data-theme="sky"]) :is(.briefing-date-card,.briefing-weather) :is(small,p){opacity:.82}
html:not([data-theme="light"]):not([data-theme="classic"]):not([data-theme="sky"]) .briefing-date-card a,html:not([data-theme="light"]):not([data-theme="classic"]):not([data-theme="sky"]) .briefing-date-card footer>:last-child{color:#62f4c6!important}
/* The old bottom bar must never show on the sign-in screen */
body:has(#authScreen:not([hidden])) :is(.mobile-dock,.xs-tabs,.x-tabbar){display:none!important}
/* Sign-in logo */
#authScreen .brand .brand-orbit{width:40px;height:40px}
/* New-version banner */
#fabUpdate{position:fixed;left:50%;top:14px;z-index:500;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:10px 10px 10px 16px;border-radius:14px;background:#1e1a31;border:1px solid rgba(160,140,255,.35);color:#fff;font:600 14.5px/1.3 'DM Sans',system-ui,sans-serif;box-shadow:0 18px 50px rgba(0,0,0,.45);transform:translate(-50%,-140%);transition:transform .25s ease}
#fabUpdate.show{transform:translate(-50%,0)}
#fabUpdate .fu-dot{width:9px;height:9px;flex:none;border-radius:50%;background:#62f4c6;box-shadow:0 0 0 4px rgba(98,244,198,.18)}
#fabUpdate .fu-text{flex:1;min-width:0}
#fabUpdate .fu-go{flex:none;min-height:38px;padding:8px 14px;border:0;border-radius:10px;background:var(--fab-grad);color:#fff;font:700 14px inherit;cursor:pointer}
#fabUpdate .fu-later{flex:none;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#a9a7c6;font-size:15px;cursor:pointer}
#fabUpdate .fu-spin{width:18px;height:18px;flex:none;border:3px solid rgba(255,255,255,.25);border-top-color:#62f4c6;border-radius:50%;animation:fuspin 1s linear infinite}
@keyframes fuspin{to{transform:rotate(360deg)}}
@media (max-width:640px){#fabUpdate{top:auto;bottom:calc(84px + env(safe-area-inset-bottom));transform:translate(-50%,180%);width:calc(100vw - 24px)}#fabUpdate.show{transform:translate(-50%,0)}}
/* A hidden screen must stay hidden: older layout rules forced the app to show underneath the
   sign-in card (".app-shell{display:block!important}"), which stacked both on phones. */
#appShell[hidden],#authScreen[hidden]{display:none!important}

/* Brand accent in every theme (Classic, Ocean, Sky keep their own backgrounds) */
html[data-theme="classic"],html[data-theme="ocean"],html[data-theme="sky"]{--purple:#7c3aed;--fab-grad:linear-gradient(135deg,#8b5cf6 0%,#5b6cf4 55%,#2563eb 100%)}
html:not([data-theme="light"]):not([data-theme="classic"]):not([data-theme="sky"]):not([data-theme="ocean"]) :is(.sidebar,.topbar,.app-topbar){background-color:#100e1c!important}
html:not([data-theme="light"]):not([data-theme="classic"]):not([data-theme="sky"]):not([data-theme="ocean"]) .auth-screen{background:radial-gradient(900px 500px at 10% 10%,rgba(139,92,246,.20),transparent 60%),radial-gradient(800px 500px at 90% 90%,rgba(20,184,166,.12),transparent 60%),#0c0b15}
