/* NovaRise — shared theme tokens for every page (landing, auth, dashboard).
   Two modes only: light (grey glass) and dark (black-blue, inverse). Set by data-theme on <html> (js/theme.js). */
:root,:root[data-theme="light"]{
  --bg:#ACACAC; --surface:#A4A4A4; --surface-light:#B4B4B4;
  --glass:rgba(255,255,255,.18); --glass-strong:rgba(255,255,255,.28); --glass-hi:rgba(255,255,255,.42);
  --border:rgba(255,255,255,.42); --border-strong:rgba(255,255,255,.65); --hair:rgba(20,20,20,.15); --hair-2:rgba(20,20,20,.22);
  --text:#202020; --text-secondary:#4E4E4E; --text-muted:#6A6A6A; --text-dim:#858585;
  --black:#040404; --white:#FFFFFF; --accent:#A8E6D0; --accent-fg:#0D3B2C;
  --accent-ink:#141414; --accent-rgb:20,20,20;
  --up:#0F5E45; --up-rgb:15,94,69; --down:#A3261A; --down-rgb:163,38,26; --warn:#8A5A00; --warn-rgb:138,90,0;
  --btn-bg:#0A0A0A; --btn-fg:#FFFFFF; --btn-hover:#262626;
  --rail-bg:#1C1C1E; --rail-fg:rgba(255,255,255,.62); --rail-fg-on:#FFFFFF; --rail-on:rgba(255,255,255,.14);
  --pop-bg:rgba(236,236,236,.92); --scrim:rgba(70,70,70,.35);
  --chart-line:#161616; --chart-fill:22,22,22; --chart-grid:rgba(20,20,20,.07); --chart-text:rgba(20,20,20,.55);
  --shadow:0 18px 50px -24px rgba(0,0,0,.35); --shadow-sm:0 6px 18px -10px rgba(0,0,0,.28);
  /* tailwind bridges */
  --fg-rgb:16,16,16; --fg-k:.72; --fg-b:.3;      /* text-white/x  -> dark text, boosted for contrast on grey */
  --ov-rgb:255,255,255; --ov-k:5;                  /* bg-white/x    -> white glass on grey */
  --sh-rgb:120,120,120;                            /* bg-black/x    -> soft grey scrim */
  --theme-base:#ACACAC; --accent-1:var(--accent-ink); --accent-2:var(--accent-ink);
  --logo-tile:#111111; --logo-mark:#FFFFFF; --logo-star:#A8E6D0; --accent-strong:#1F9E78; --accent-soft:rgba(168,230,208,.55);
  --font:'Mulish',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1); --spring:cubic-bezier(.34,1.56,.64,1);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#000000; --surface:#0A0A0A; --surface-light:#141414;
  --glass:rgba(255,255,255,.035); --glass-strong:rgba(255,255,255,.06); --glass-hi:rgba(255,255,255,.1);
  --border:rgba(255,255,255,.13); --border-strong:rgba(255,255,255,.22); --hair:rgba(255,255,255,.12); --hair-2:rgba(255,255,255,.18);
  --text:#F2F2F2; --text-secondary:#B4B4B4; --text-muted:#808080; --text-dim:#5E5E5E;
  --black:#040404; --white:#FFFFFF; --accent:#A8E6D0; --accent-fg:#0A2E22;
  --accent-ink:#F5F5F5; --accent-rgb:245,245,245;
  --up:#7EDCB8; --up-rgb:126,220,184; --down:#FF7F7F; --down-rgb:255,127,127; --warn:#F2C26B; --warn-rgb:242,194,107;
  --btn-bg:#F2F2F2; --btn-fg:#000000; --btn-hover:#FFFFFF;
  --rail-bg:#F0F0F0; --rail-fg:rgba(0,0,0,.5); --rail-fg-on:#000000; --rail-on:rgba(0,0,0,.09);
  --pop-bg:rgba(16,16,16,.96); --scrim:rgba(0,0,0,.65);
  --chart-line:#A8E6D0; --chart-fill:168,230,208; --chart-grid:rgba(255,255,255,.06); --chart-text:rgba(242,242,242,.45);
  --shadow:0 24px 60px -28px rgba(0,0,0,.8); --shadow-sm:0 8px 22px -12px rgba(0,0,0,.7);
  --fg-rgb:242,242,242; --fg-k:1; --fg-b:0;
  --ov-rgb:255,255,255; --ov-k:1;
  --sh-rgb:0,0,0;
  --theme-base:#000000;
  --logo-tile:#F2F2F2; --logo-mark:#000000; --logo-star:#2DBE8C; --accent-strong:#A8E6D0; --accent-soft:rgba(168,230,208,.14);
  color-scheme:dark;
}
html{background:var(--bg);color:var(--text);transition:background-color .45s var(--ease),color .45s var(--ease)}
html.nr-theme-anim *,html.nr-theme-anim *::before,html.nr-theme-anim *::after{transition:background-color .45s var(--ease),border-color .45s var(--ease),color .45s var(--ease),fill .45s,stroke .45s!important}
::selection{background:var(--accent);color:var(--accent-fg)}

/* theme toggle (sun/moon) usable on every page */
.nr-tt{position:relative;width:52px;height:28px;border-radius:999px;border:1px solid var(--border-strong);background:var(--glass-strong);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;flex:none;transition:transform .2s var(--ease),background .3s}
.nr-tt:active{transform:scale(.94)}
.nr-tt i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--btn-bg);display:grid;place-items:center;transition:transform .5s var(--spring),background .3s;box-shadow:var(--shadow-sm)}
:root[data-theme="dark"] .nr-tt i{transform:translateX(24px)}
.nr-tt svg{width:12px;height:12px;color:var(--btn-fg);transition:transform .6s var(--spring),opacity .3s}
.nr-tt .sun{position:absolute}
:root[data-theme="dark"] .nr-tt .sun{opacity:0;transform:rotate(-90deg) scale(.5)}
:root:not([data-theme="dark"]) .nr-tt .moon{opacity:0;transform:rotate(90deg) scale(.5)}

/* NovaRise logo mark */
.nr-logo{display:block;flex:none}
.nr-logo .nr-logo-star{transform-origin:45.5px 18px;transition:transform .6s cubic-bezier(.34,1.56,.64,1)}
a:hover .nr-logo .nr-logo-star,button:hover .nr-logo .nr-logo-star{transform:rotate(90deg) scale(1.15)}
