/* Public-site palette selected by the local clock or ?theme=dusk. */
:root[data-theme="dusk"] {
  color-scheme: dark;
  --page: #211f32;
  --paper: #302a41;
  --ink: #fff1e6;
  --soft: #d5c7d5;
  --line: #79657e;
  --accent: #ffb79d;
  --blue: #c2b6ff;
  --chip: #302a41;
  --leaf: #a9cbb4;
}
:root[data-theme="dusk"] body { background: var(--page); color: var(--ink); }
:root[data-theme="dusk"] header.v7-header { color: var(--ink); }
:root[data-theme="dusk"] header.v7-header .v7-logo em { color: var(--accent); }
:root[data-theme="dusk"] header.v7-header .v7-nav a { color: inherit; }
:root[data-theme="dusk"] header.v7-header .v7-nav a:is(:hover,[aria-current]) { border-color: var(--accent); }
:root[data-theme="dusk"] :is(a,button):focus-visible { outline-color: var(--accent); }

/* Recolour the live SVG sky itself, preserving the animated artwork. */
:root[data-theme="dusk"] #skyGrad stop:nth-child(1) { stop-color: #292940; }
:root[data-theme="dusk"] #skyGrad stop:nth-child(2) { stop-color: #6d526f; }
:root[data-theme="dusk"] #skyGrad stop:nth-child(3) { stop-color: #e8a58e; }
:root[data-theme="dusk"] #sunGlow stop { stop-color: #ffbd91; }
:root[data-theme="dusk"] #world rect[fill="#8FC0D8"] { fill: #292940; }
:root[data-theme="dusk"] :is(.stage, .hero, .security .hero, .offer-page .hero) { background: #292940; }
:root[data-theme="dusk"] .hero-copy { background: transparent; color: var(--ink); text-shadow: 0 1px 14px #211f32; }
:root[data-theme="dusk"] :is(.caption h2, .caption #capP, .endcard h2, .endcard p, .brand) { color: var(--ink); text-shadow: 0 1px 14px #211f3280; }
:root[data-theme="dusk"] .brand em { color: var(--accent); }
:root[data-theme="dusk"] :is(.card, .platform-plan, .security-panel, .booking-panel, .site-cookie-consent, .site-cookie-settings) { background: var(--paper); color: var(--ink); border-color: var(--line); box-shadow: 5px 7px 0 #16132130; }
:root[data-theme="dusk"] :is(.contact, .booking-placeholder, .plan-banner) { background: #3c334b; color: var(--ink); }
:root[data-theme="dusk"] :is(.detail-band, .security-panel__item, .booking-panel-heading) { border-color: var(--line); }
:root[data-theme="dusk"] :is(.offer .number, .plan-saving) { color: var(--accent); }
:root[data-theme="dusk"] :is(.plan-tax, .plan-monthly-equivalent, .platform-plans-intro) { color: var(--soft); }
:root[data-theme="dusk"] .recommend { background: #474059; color: var(--ink); }
:root[data-theme="dusk"] :is(.button, .btn.primary, .hero-copy .button, .contact .button, .platform-plan .button) { background: var(--accent); color: #292337; border-color: var(--accent); text-shadow: none; }
:root[data-theme="dusk"] :is(.btn.ghost, .stagebtn, .animation-refresh, .plan-toggle, .site-cookie-consent button) { background: var(--paper); color: var(--ink); border-color: var(--line); }
:root[data-theme="dusk"] .plan-toggle button { color: var(--ink); }
:root[data-theme="dusk"] .plan-toggle button[aria-pressed="true"] { background: var(--accent); color: #292337; }
:root[data-theme="dusk"] .platform-plan button:disabled { background: #484052; color: #d5c7d5; border-color: var(--line); }
:root[data-theme="dusk"] .footer { background: #211b2d; color: var(--ink); border-color: #79657e; }
:root[data-theme="dusk"] .booking-page { background-image: radial-gradient(ellipse at 85% 0%, #77536a 0, transparent 60%), linear-gradient(#292940, #211f32); background-size: 100% 100%; }
@media (max-width: 900px) {
  :root[data-theme="dusk"] header.v7-header.navigation-ready .v7-nav { background: var(--paper); color: var(--ink); border-color: var(--line); }
  :root[data-theme="dusk"] header.v7-header.navigation-ready .v7-nav a:is(:hover,[aria-current]) { background: #474059; color: var(--ink); }
}


/* The garden after sunset: indigo shade, peach light and luminous details. */
.dusk-atmosphere { display: none; }
:root[data-theme="dusk"] {
  --page: #17172b;
  --paper: #29263f;
  --line: #67536e;
  --accent: #ffc09c;
  background: var(--page);
}
:root[data-theme="dusk"] body {
  background: radial-gradient(ellipse at 100% 15%, #74435a30, transparent 45%), var(--page);
}
:root[data-theme="dusk"] .dusk-atmosphere { display: block; }
:root[data-theme="dusk"] #skyGrad stop:nth-child(1) { stop-color: #12172f; }
:root[data-theme="dusk"] #skyGrad stop:nth-child(2) { stop-color: #3b315a; }
:root[data-theme="dusk"] #skyGrad stop:nth-child(3) { stop-color: #ab667a; }
:root[data-theme="dusk"] #world rect[fill="#8FC0D8"] { fill: #12172f; }
:root[data-theme="dusk"] :is(.stage, .hero, .security .hero, .offer-page .hero) { background: #171a33; }
:root[data-theme="dusk"] #world [data-scene-layer="sky"] ellipse[fill="#FFFFFF"] { fill: #bc96b8; opacity: .34; }
:root[data-theme="dusk"] #solutionsDraftGrid path,
:root[data-theme="dusk"] #solutionsDraftMajor path { stroke: #ddabde; stroke-opacity: .035; }
:root[data-theme="dusk"] #world [data-scene-layer="sun"] { filter: drop-shadow(0 0 16px #b8bdff50); }
:root[data-theme="dusk"] #world [data-scene-layer="sun"] [fill="#F6C453"] { fill: #ffbf8c; }
:root[data-theme="dusk"] #world [data-scene-layer="sun"] rect { opacity: .3; }
:root[data-theme="dusk"] #world [data-scene-layer="far"] > path:first-child { fill: #595677; }
:root[data-theme="dusk"] #world [data-scene-layer="far"] > g { fill: #393d5c; }
:root[data-theme="dusk"] #world [data-scene-layer="far"] > path:last-child { fill: #454866; }
:root[data-theme="dusk"] #world [data-scene-layer="soil"] > rect[fill="#4B2F3D"] { fill: #282039; }
:root[data-theme="dusk"] #world [fill="#40283A"] { fill: #211b31; }
:root[data-theme="dusk"] #world [fill="#33202C"] { fill: #191629; }
:root[data-theme="dusk"] #world [fill="#5A3B4A"] { fill: #43304e; }
:root[data-theme="dusk"] #world [fill="#2A1A24"] { fill: #151424; }
:root[data-theme="dusk"] #world [fill="#5FA463"] { fill: #4b696e; }
:root[data-theme="dusk"] #world [fill="#4E9455"] { fill: #374e5a; }
/* Grade complete object layers, including skin, clothing, tools and SVG icons. */
:root[data-theme="dusk"] #world [data-scene-layer="fig"],
:root[data-theme="dusk"] #world [data-scene-layer="can"],
:root[data-theme="dusk"] #world [data-scene-layer="plant"],
:root[data-theme="dusk"] #world [data-scene-layer="bg"] { filter: url(#duskLight); }
:root[data-theme="dusk"] #world :is([data-scene-layer="plant"],[data-scene-layer="bg"]) rect[fill="#FFFFFF"] { fill: #efe1eb; }
:root[data-theme="dusk"] #world [data-scene-layer="water"] { filter: drop-shadow(0 0 3px #9daaff80); }
:root[data-theme="dusk"] #world [data-scene-layer="agents"] { filter: drop-shadow(0 0 5px #ffd09590); }
:root[data-theme="dusk"] #world [stroke="#8EF0C2"] { stroke: #b8a1ee; filter: drop-shadow(0 0 3px #a48dea70); }
:root[data-theme="dusk"] #world [fill="#8EF0C2"] { fill: #d3bbff; }
:root[data-theme="dusk"] .offer-tree > svg { filter: brightness(.8) sepia(.2) hue-rotate(325deg) drop-shadow(0 0 7px #c594b22b); }
:root[data-theme="dusk"] .tree-line { stroke: #a2a2be; }
:root[data-theme="dusk"] .tree-leaf { fill: #7b8b96; }
:root[data-theme="dusk"] .dusk-star { opacity: var(--star-opacity); }
:root[data-theme="dusk"] .dusk-firefly { opacity: .7; }
@media (prefers-reduced-motion: no-preference) {
  :root[data-theme="dusk"] .dusk-star { animation: dusk-glimmer var(--glimmer) ease-in-out var(--delay) infinite alternate; }
  :root[data-theme="dusk"] .dusk-firefly { animation: dusk-drift var(--glimmer) ease-in-out var(--delay) infinite alternate; }
}
@keyframes dusk-glimmer { from { opacity: .15; } to { opacity: var(--star-opacity); } }
@keyframes dusk-drift { from { opacity: .15; transform: translate(0, 3px); } to { opacity: .9; transform: translate(9px, -12px); } }
:root[data-theme="dusk"] .visual-paused .dusk-atmosphere * { animation-play-state: paused; }

/* Carry the same reflected light through the rest of the public interface. */
:root[data-theme="dusk"] :is(.card,.platform-plan,.security-panel,.booking-panel,.documentation-dialog) {
  background: linear-gradient(135deg, #4e354a60, transparent 55%), var(--paper);
  border-color: #aa7d9466;
  box-shadow: inset 0 1px 0 #ffcda31c, 0 15px 45px #080b2338;
}
:root[data-theme="dusk"] :is(.button,.btn.primary,.documentation-copy) {
  box-shadow: inset 0 1px 0 #fff4dc80, 0 4px 24px #ffae782b;
}
:root[data-theme="dusk"] .contact { background: radial-gradient(ellipse at 95% 0, #8c4e674d, transparent 65%), #30273e; }
:root[data-theme="dusk"] .footer { background: linear-gradient(#201a30, #141426); }
:root[data-theme="dusk"] .documentation-dialog { color: var(--ink); }
:root[data-theme="dusk"] .documentation-dialog::backdrop { background: #101326aa; }
:root[data-theme="dusk"] :is(.documentation-toolbar,.documentation-text,.documentation-close,.documentation-retry) { border-color: var(--line); }
:root[data-theme="dusk"] :is(.documentation-text,.documentation-retry) { background: #1d1c30; color: var(--ink); scrollbar-color: #a38cad #1d1c30; }
:root[data-theme="dusk"] .documentation-close { color: var(--ink); }
:root[data-theme="dusk"] .documentation-copy { background: var(--accent); color: #292337; }
:root[data-theme="dusk"] .documentation-advice { background: #43334a; color: #f5d2b0; border-color: #ac7d76; }
:root[data-theme="dusk"] .booking-page { background-image: radial-gradient(ellipse at 85% 0%, #97557070 0, transparent 55%), linear-gradient(#20223d, #17172b); }
:root[data-theme="dusk"] #world [data-scene-layer="bees"],
:root[data-theme="dusk"] #world [data-scene-layer="fx"] { filter: drop-shadow(0 0 4px #ffc78b66); }
:root[data-theme="dusk"] #stormGrad stop:first-child { stop-color: #17182f; }
:root[data-theme="dusk"] #stormGrad stop:last-child { stop-color: #494361; }
:root[data-theme="dusk"] header.v7-header .v7-logo svg { filter: sepia(.15) drop-shadow(0 0 6px #df96b733); }

/* Dusk's moon inherits the existing sunrise motion, including service scenes. */
.dusk-moon { display: none; }
:root[data-theme="dusk"] .daylight-sun { display: none; }
:root[data-theme="dusk"] .dusk-moon { display: block; }
