/* Light / dark theme shared by every page. Light values are the original
   colours, so the light theme looks exactly as before; the dark block only
   re-declares them. The active theme is stamped on <html data-theme> by
   theme.js before first paint. */

:root {
  --surface-glass: rgba(255, 255, 255, 0.92);
  --bd-4b607d: #4b607d;
  --bd-b9cce4: #b9cce4;
  --bd-ccd5e0: #ccd5e0;
  --bd-cdd6e2: #cdd6e2;
  --bd-d5dfeb: #d5dfeb;
  --bd-d7dee8: #d7dee8;
  --bd-d9e1eb: #d9e1eb;
  --bd-dde6f0: #dde6f0;
  --bd-e0e6ee: #e0e6ee;
  --bd-e3e8ef: #e3e8ef;
  --bd-e5eaf0: #e5eaf0;
  --bd-eef1f5: #eef1f5;
  --bg-dfe9f5: #dfe9f5;
  --bg-e4eaf1: #e4eaf1;
  --bg-e4edf8: #e4edf8;
  --bg-e6ebf2: #e6ebf2;
  --bg-eaf6ef: #eaf6ef;
  --bg-edf1f6: #edf1f6;
  --bg-edf2f8: #edf2f8;
  --bg-eeeeee: #eeeeee;
  --bg-eef2fb: #eef2fb;
  --bg-f1f4f8: #f1f4f8;
  --bg-f3f7fb: #f3f7fb;
  --bg-f5f7fa: #f5f7fa;
  --bg-f5f8fc: #f5f8fc;
  --bg-f7f9fc: #f7f9fc;
  --bg-f8fafc: #f8fafc;
  --bg-fbeaea: #fbeaea;
  --bg-fdf2e3: #fdf2e3;
  --bg-ffffff: #ffffff;
  --tx-2f578f: #2f578f;
  --tx-315b9d: #315b9d;
  --tx-395171: #395171;
  --tx-3d4e65: #3d4e65;
  --tx-4a5872: #4a5872;
  --tx-4e5f75: #4e5f75;
  --tx-536277: #536277;
  --tx-555555: #555555;
  --tx-566579: #566579;
  --tx-58687c: #58687c;
  --tx-607084: #607084;
  --tx-617086: #617086;
  --tx-627085: #627085;
  --tx-657286: #657286;
  --tx-65758a: #65758a;
  --tx-666677: #666677;
  --tx-718097: #718097;
  --tx-7b899b: #7b899b;
  --tx-8090a4: #8090a4;
  --tx-a13030: #a13030;
  --tx-a3701f: #a3701f;
  --tx-b7c0ce: #b7c0ce;
  --tx-d9e0ea: #d9e0ea;
  --tx-c0392b: #c0392b;
  --tx-navy: #202c40;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0d1524;
  --text: #d7dfec;
  --muted: #93a1b8;
  --border: #27344f;
  --white: #16223a;
  --blue: #4a7fd6;
  --blue-dark: #3a68b4;
  --green: #5fc79a;
  --red: #ee7669;
  --amber: #e0a850;
  --shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
  --surface-glass: rgba(23, 34, 57, 0.94);
  --bd-b9cce4: #2d3e54;
  --bd-ccd5e0: #2c3949;
  --bd-cdd6e2: #2a3748;
  --bd-d5dfeb: #233141;
  --bd-d7dee8: #253040;
  --bd-d9e1eb: #222f3f;
  --bd-dde6f0: #202c3b;
  --bd-e0e6ee: #202b3a;
  --bd-e3e8ef: #202937;
  --bd-e5eaf0: #202a37;
  --bd-eef1f5: #202a37;
  --bg-dfe9f5: #273a50;
  --bg-e4eaf1: #283a4e;
  --bg-e4edf8: #24354a;
  --bg-e6ebf2: #27364b;
  --bg-eaf6ef: #234732;
  --bg-edf1f6: #223144;
  --bg-edf2f8: #213043;
  --bg-eeeeee: #293445;
  --bg-eef2fb: #1f2940;
  --bg-f1f4f8: #202d3f;
  --bg-f3f7fb: #1e2d3c;
  --bg-f5f7fa: #1d293b;
  --bg-f5f8fc: #1c293a;
  --bg-f7f9fc: #1c2738;
  --bg-f8fafc: #1b2937;
  --bg-fbeaea: #432121;
  --bg-fdf2e3: #473823;
  --bg-ffffff: #1b232f;
  --tx-2f578f: #82a4d5;
  --tx-315b9d: #779ad2;
  --tx-395171: #9cb1cd;
  --tx-3d4e65: #a6b5c9;
  --tx-4a5872: #9ba7be;
  --tx-4e5f75: #98a7ba;
  --tx-536277: #96a3b6;
  --tx-555555: #a1b0c8;
  --tx-566579: #95a2b3;
  --tx-58687c: #92a0b2;
  --tx-607084: #8b99ab;
  --tx-617086: #8996aa;
  --tx-627085: #8a96a9;
  --tx-657286: #8995a6;
  --tx-65758a: #8694a6;
  --tx-666677: #9696a5;
  --tx-718097: #79879d;
  --tx-7b899b: #748396;
  --tx-8090a4: #6a7c93;
  --tx-a13030: #d17575;
  --tx-a3701f: #d4b37f;
  --tx-c0392b: #ef7d70;
  --tx-navy: #e3e9f4;
}

:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder {
  color: #6d7c96;
}

:root[data-theme="dark"] .logo {
  filter: none;
}

.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #d9e0ea;
  background: transparent;
  border: 1px solid #4b607d;
  border-radius: 25px;
  padding: 10px 16px;
  font: 700 13px Arial, Helvetica, sans-serif;
  letter-spacing: 0.5px;
  cursor: pointer;
  white-space: nowrap;
  width: auto;
  flex: none;
  transition: none;
}

.theme-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
}

.theme-toggle:focus-visible {
  outline: 2px solid #7ea6f0;
  outline-offset: 2px;
}

.theme-toggle svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.theme-toggle--solo {
  margin-left: auto;
}
