/* ═══════════════════════════════════════════════════════════════════
   ♛  HOUSE STILLWELL — PmWiki Skin
   Built atop the canonical House Stillwell design tokens.
   Extra Universum Cognosci · Virtute et Scientia
   ═══════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700;800&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Tangerine:wght@400;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  /* Primary Regal Tones */
  --hs-royal-purple:      #5B2C83;
  --hs-imperial-gold:     #D4AF37;
  --hs-violet-black:      #1C0F26;

  /* Aldebaran Signatures */
  --hs-aldebaran-red:     #ad0000;
  --hs-aldebaran-crimson: #af0501;
  --hs-stellar-ochre:     #726b04;

  /* Base & Surface */
  --hs-cosmic-midnight:   #020645;
  --hs-verdant-emerald:   #085f29;
  --hs-sapphire-silver:   #A7B9D4;
  --hs-ivory:             #F9F7F0;

  --hs-purple-deep:       #3d1d59;
  --hs-purple-soft:       #7a4aa8;
  --hs-purple-mist:       #e8ddf0;
  --hs-gold-soft:         #e8c96b;
  --hs-gold-deep:         #a68824;
  --hs-parchment:         #F2ECD7;
  --hs-parchment-shadow:  #e0d6b8;
  --hs-ink:               #1a1420;
  --hs-ink-soft:          #3a2f42;

  /* Semantic */
  --color-bg:             var(--hs-parchment);
  --color-bg-alt:         var(--hs-ivory);
  --color-surface:        #faf6e8;
  --color-surface-raised: #fffcf0;

  --color-fg:             var(--hs-ink);
  --color-fg-muted:       var(--hs-ink-soft);
  --color-fg-subtle:      #6b5f70;

  --color-accent:         var(--hs-royal-purple);
  --color-accent-hover:   var(--hs-purple-deep);
  --color-gilt:           var(--hs-imperial-gold);
  --color-gilt-hover:     var(--hs-gold-deep);
  --color-flame:          var(--hs-aldebaran-red);

  --color-border:         #d8cba6;
  --color-border-strong:  #b8a76f;

  --color-link:           var(--hs-royal-purple);
  --color-link-hover:     var(--hs-aldebaran-red);

  --font-display:   'Cinzel', 'Trajan Pro', 'Optima', Georgia, serif;
  --font-serif:     'EB Garamond', 'Garamond', 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-editorial: 'Cormorant Garamond', 'EB Garamond', Georgia, serif;
  --font-script:    'Tangerine', 'Great Vibes', 'Snell Roundhand', cursive;
  --font-mono:      'JetBrains Mono', 'SF Mono', Monaco, 'Courier New', monospace;

  --fs-xs: 11px;  --fs-sm: 13px;  --fs-base: 16px;  --fs-md: 18px;
  --fs-lg: 22px;  --fs-xl: 28px;  --fs-2xl: 36px;   --fs-3xl: 48px;
  --fs-4xl: 64px; --fs-5xl: 88px;

  --lh-tight: 1.12; --lh-snug: 1.28; --lh-normal: 1.5; --lh-loose: 1.72;
  --ls-wide: 0.08em; --ls-xwide: 0.22em;

  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px; --sp-9: 96px;

  --radius-sm: 2px; --radius-md: 4px; --radius-lg: 8px;

  --shadow-vellum: 0 1px 2px rgba(28,15,38,.08), 0 2px 6px rgba(28,15,38,.05);
  --shadow-card:   0 2px 6px rgba(28,15,38,.10), 0 12px 28px -12px rgba(28,15,38,.18);
  --shadow-gilt:   0 0 0 1px var(--hs-imperial-gold), 0 1px 3px rgba(28,15,38,.12);

  --ease-courtly: cubic-bezier(.22,.61,.36,1);
  --dur-quick: 160ms; --dur-measured: 260ms;
}

/* ─────────────────────────────────────────────────────────────────
   Page foundation
   ───────────────────────────────────────────────────────────────── */

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body.hs-body {
  font-family: var(--font-serif);
  font-size: var(--fs-md);
  line-height: var(--lh-normal);
  color: var(--color-fg);
  background:
    radial-gradient(1200px 600px at 50% -200px, rgba(91,44,131,.06), transparent 60%),
    repeating-linear-gradient(0deg, transparent 0 28px, rgba(28,15,38,.015) 28px 29px),
    var(--color-bg);
  font-feature-settings: "liga" 1, "dlig" 1, "onum" 1;
  min-height: 100vh;
}

a { color: var(--color-link); text-decoration-color: var(--color-gilt);
    text-decoration-thickness: 1px; text-underline-offset: 3px;
    transition: color var(--dur-quick) var(--ease-courtly); }
a:hover { color: var(--color-link-hover); }

img { max-width: 100%; height: auto; }

/* ─────────────────────────────────────────────────────────────────
   Frame
   ───────────────────────────────────────────────────────────────── */

.hs-frame {
  max-width: 1180px;
  margin: 0 auto;
  padding: var(--sp-7) var(--sp-5) var(--sp-8);
}

/* ─────────────────────────────────────────────────────────────────
   Page Header — crest, title, motto
   ───────────────────────────────────────────────────────────────── */

.hs-page-header { text-align: center; margin-bottom: var(--sp-5); }

.hs-crest-link { display: inline-block; }

.hs-crest {
  width: 96px;
  height: 96px;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 2px 6px rgba(28,15,38,.22));
  transition: transform var(--dur-measured) var(--ease-courtly);
}
.hs-crest-link:hover .hs-crest { transform: scale(1.05); }

.hs-page-header__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(var(--fs-2xl), 5vw, var(--fs-4xl));
  letter-spacing: var(--ls-xwide);
  text-transform: uppercase;
  color: var(--hs-royal-purple);
  margin: var(--sp-3) 0 var(--sp-2);
  line-height: var(--lh-tight);
}

.hs-page-header__motto {
  font-family: var(--font-editorial);
  font-style: italic;
  font-size: var(--fs-md);
  letter-spacing: var(--ls-wide);
  color: var(--hs-stellar-ochre);
  margin: 0 0 var(--sp-5);
}

.hs-rule-gilt {
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--color-gilt) 18%, var(--color-gilt) 82%, transparent);
  margin: var(--sp-5) 0;
}

/* ─────────────────────────────────────────────────────────────────
   Action bar
   ───────────────────────────────────────────────────────────────── */

.hs-actionbar {
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  background: linear-gradient(180deg, var(--color-surface), var(--color-bg));
  margin-bottom: var(--sp-6);
}

.hs-actionbar__inner {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-4);
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-3) var(--sp-4);
}

.hs-actionbar__links {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-1);
  margin: 0;
  padding: 0;
}

.hs-actionbar__links li a,
.hs-actionbar__links li td a {  /* in case of CmsLike injection */
  display: inline-block;
  padding: 6px 14px;
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-xwide);
  text-transform: uppercase;
  color: var(--color-fg-muted);
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  transition: all var(--dur-quick) var(--ease-courtly);
}
.hs-actionbar__links li a:hover {
  color: var(--hs-royal-purple);
  border-color: var(--color-gilt);
  background: var(--color-surface-raised);
}

/* CmsLike-style table cells some PmWiki fragments inject */
.hs-actionbar__links td { background: transparent !important; }

/* Right-side cluster: mode toggle + search */
.hs-actionbar__tools { display: flex; align-items: center; gap: var(--sp-3); }

/* ─── Mode toggle button ─── */
.hs-mode-toggle {
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-surface-raised);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-pill);
  color: var(--hs-royal-purple);
  font-size: 18px; line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: all var(--dur-quick) var(--ease-courtly);
}
.hs-mode-toggle:hover { color: var(--hs-imperial-gold); border-color: var(--hs-imperial-gold); }
.hs-mode-toggle__sun, .hs-mode-toggle__moon, .hs-mode-toggle__lock { display: none; }
/* Default (light): show moon, click to go dark */
.hs-mode-toggle[data-mode="light"] .hs-mode-toggle__moon { display: inline; }
/* Dark: show sun, click to go light */
.hs-mode-toggle[data-mode="night"] .hs-mode-toggle__sun  { display: inline; color: var(--hs-imperial-gold); }
/* Locked: show lock star, no clicks */
.hs-mode-toggle[data-locked="1"] { cursor: default; opacity: .85; }
.hs-mode-toggle[data-locked="1"] .hs-mode-toggle__sun,
.hs-mode-toggle[data-locked="1"] .hs-mode-toggle__moon { display: none; }
.hs-mode-toggle[data-locked="1"] .hs-mode-toggle__lock { display: inline; color: var(--hs-imperial-gold); }

.hs-search { display: flex; gap: 0; }
.hs-search__input {
  font-family: var(--font-serif);
  font-size: var(--fs-sm);
  padding: 7px 12px;
  border: 1px solid var(--color-border-strong);
  border-right: 0;
  background: var(--color-surface-raised);
  color: var(--color-fg);
  border-radius: var(--radius-sm) 0 0 var(--radius-sm);
  width: 220px;
  outline: none;
  transition: border-color var(--dur-quick) var(--ease-courtly);
}
.hs-search__input:focus { border-color: var(--hs-royal-purple); }
.hs-search__btn {
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-xwide);
  text-transform: uppercase;
  padding: 7px 14px;
  border: 1px solid var(--color-border-strong);
  background: var(--hs-royal-purple);
  color: var(--hs-ivory);
  cursor: pointer;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  transition: background var(--dur-quick) var(--ease-courtly);
}
.hs-search__btn:hover { background: var(--hs-purple-deep); }

/* ─────────────────────────────────────────────────────────────────
   Layout — sidebar + main
   ───────────────────────────────────────────────────────────────── */

.hs-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: var(--sp-7);
  align-items: start;
}

.hs-sidebar {
  position: sticky;
  top: var(--sp-5);
}

.hs-sidebar__panel {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--sp-4);
  font-family: var(--font-serif);
  font-size: var(--fs-sm);
  line-height: var(--lh-snug);
  box-shadow: var(--shadow-vellum);
}
.hs-sidebar__panel ul { margin: 0; padding-left: var(--sp-4); }
.hs-sidebar__panel li { margin: var(--sp-1) 0; }
.hs-sidebar__panel a { color: var(--hs-purple-deep); text-decoration: none; }
.hs-sidebar__panel a:hover { color: var(--hs-aldebaran-red); }
.hs-sidebar__panel h1, .hs-sidebar__panel h2, .hs-sidebar__panel h3 {
  font-family: var(--font-display);
  font-size: var(--fs-sm);
  letter-spacing: var(--ls-xwide);
  text-transform: uppercase;
  color: var(--color-gilt);
  margin: var(--sp-3) 0 var(--sp-2);
}

@media (max-width: 760px) {
  .hs-layout { grid-template-columns: 1fr; }
  .hs-sidebar { position: static; }
}

/* ─────────────────────────────────────────────────────────────────
   Main content + prose
   ───────────────────────────────────────────────────────────────── */

.hs-main {
  background: var(--color-bg-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--sp-7) var(--sp-6);
  box-shadow: var(--shadow-card);
}

.hs-titlebar { margin-bottom: var(--sp-5); }
.hs-eyebrow {
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-xwide);
  text-transform: uppercase;
  color: var(--color-gilt);
  margin: 0 0 var(--sp-2);
}
.hs-eyebrow a { color: inherit; text-decoration: none; }
.hs-eyebrow a:hover { color: var(--hs-gold-deep); }

.hs-titlebar__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--fs-2xl);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  color: var(--hs-royal-purple);
  margin: 0 0 var(--sp-3);
  line-height: var(--lh-tight);
}

.hs-prose {
  font-family: var(--font-serif);
  font-size: var(--fs-md);
  line-height: var(--lh-loose);
  color: var(--color-fg);
  max-width: 72ch;
}
.hs-prose h1, .hs-prose h2, .hs-prose h3, .hs-prose h4 {
  font-family: var(--font-editorial);
  color: var(--hs-purple-deep);
  margin: var(--sp-6) 0 var(--sp-3);
  line-height: var(--lh-snug);
}
.hs-prose h1 { font-family: var(--font-display); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--hs-royal-purple); font-size: var(--fs-2xl); }
.hs-prose h2 { font-family: var(--font-display); text-transform: uppercase; letter-spacing: var(--ls-wide); font-size: var(--fs-xl); }
.hs-prose h3 { font-size: var(--fs-lg); font-weight: 600; }
.hs-prose h4 { font-style: italic; font-size: var(--fs-md); color: var(--color-fg-muted); }

.hs-prose p { margin: 0 0 var(--sp-4); text-wrap: pretty; }

.hs-prose blockquote {
  border-left: 2px solid var(--color-gilt);
  padding: var(--sp-2) var(--sp-5);
  margin: var(--sp-4) 0;
  font-family: var(--font-editorial);
  font-style: italic;
  color: var(--color-fg-muted);
  background: var(--color-surface);
}

.hs-prose code {
  font-family: var(--font-mono);
  font-size: 0.92em;
  background: var(--color-surface);
  padding: 1px 6px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
}
.hs-prose pre {
  font-family: var(--font-mono);
  background: var(--hs-violet-black);
  color: var(--hs-ivory);
  padding: var(--sp-4);
  border-radius: var(--radius-md);
  overflow-x: auto;
  font-size: var(--fs-sm);
  line-height: var(--lh-snug);
}
.hs-prose pre code { background: transparent; border: 0; padding: 0; color: inherit; }

.hs-prose ul, .hs-prose ol { padding-left: var(--sp-5); margin: 0 0 var(--sp-4); }
.hs-prose li { margin: var(--sp-1) 0; }

.hs-prose hr {
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--color-gilt) 18%, var(--color-gilt) 82%, transparent);
  margin: var(--sp-6) 0;
}

.hs-prose table {
  border-collapse: collapse;
  width: 100%;
  margin: var(--sp-4) 0;
  font-size: var(--fs-sm);
  background: var(--color-surface);
}
.hs-prose th, .hs-prose td {
  border: 1px solid var(--color-border);
  padding: var(--sp-2) var(--sp-3);
  text-align: left;
}
.hs-prose th {
  background: var(--hs-purple-mist);
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  font-size: var(--fs-xs);
  color: var(--hs-purple-deep);
}

.hs-prose img { border-radius: var(--radius-md); box-shadow: var(--shadow-vellum); }

/* ─────────────────────────────────────────────────────────────────
   Edit / form surfaces (PmWiki edit & upload pages)
   ───────────────────────────────────────────────────────────────── */

textarea, input[type=text], input[type=password], input[type=search], select {
  font-family: var(--font-serif);
  font-size: var(--fs-md);
  background: var(--color-surface-raised);
  color: var(--color-fg);
  border: 1px solid var(--color-border-strong);
  padding: var(--sp-2) var(--sp-3);
  border-radius: var(--radius-sm);
  outline: none;
  transition: border-color var(--dur-quick) var(--ease-courtly);
}
textarea:focus, input:focus, select:focus { border-color: var(--hs-royal-purple); }
textarea { font-family: var(--font-mono); font-size: var(--fs-sm); line-height: var(--lh-snug); width: 100%; }

input[type=submit], button {
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-xwide);
  text-transform: uppercase;
  background: var(--hs-royal-purple);
  color: var(--hs-ivory);
  border: 1px solid var(--hs-purple-deep);
  padding: var(--sp-2) var(--sp-4);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background var(--dur-quick) var(--ease-courtly);
}
input[type=submit]:hover, button:hover { background: var(--hs-purple-deep); }

/* PmWiki-injected message classes */
.wikimessage, .editconflict, .vspace { color: var(--color-fg-muted); }

/* ─────────────────────────────────────────────────────────────────
   Footer
   ───────────────────────────────────────────────────────────────── */

.hs-page-footer {
  text-align: center;
  margin-top: var(--sp-7);
}
.hs-motto {
  font-family: var(--font-editorial);
  font-style: italic;
  font-size: var(--fs-md);
  letter-spacing: var(--ls-wide);
  color: var(--hs-stellar-ochre);
  margin: 0 0 var(--sp-3);
}
.hs-page-footer__meta,
.hs-page-footer__copy {
  font-family: var(--font-editorial);
  font-style: italic;
  font-size: var(--fs-sm);
  color: var(--color-fg-subtle);
  margin: var(--sp-1) 0;
}

/* The signature — Tangerine calligraphy in Aldebaran red, the founder's mark. */
.hs-signature {
  font-family: var(--font-script);
  font-weight: 700;
  font-size: var(--fs-3xl);
  line-height: 1;
  color: var(--hs-aldebaran-red);
  margin: var(--sp-3) 0 var(--sp-4);
  text-shadow: 0 1px 2px rgba(28,15,38,.18);
  letter-spacing: 0.01em;
}

/* ═══════════════════════════════════════════════════════════════════
   NIGHT COURT — dark mode
   Triggered by [data-mode="night"] on <html> (set by the inline
   pre-paint script in the page <head>).
   ═══════════════════════════════════════════════════════════════════ */

[data-mode="night"] {
  --color-bg:             var(--hs-violet-black);
  --color-bg-alt:         #120820;
  --color-surface:        rgba(36, 22, 56, .82);
  --color-surface-raised: rgba(47, 28, 71, .92);

  --color-fg:             var(--hs-ivory);
  --color-fg-muted:       var(--hs-sapphire-silver);
  --color-fg-subtle:      #8a7aa0;

  --color-border:         #3d2855;
  --color-border-strong:  var(--hs-imperial-gold);

  --color-link:           var(--hs-gold-soft);
  --color-link-hover:     var(--hs-imperial-gold);
}

/* Body background — the "background_style_blank" image, fixed-attached so it
   never scrolls; tinted with a violet wash for legibility. */
[data-mode="night"] body.hs-body {
  background:
    linear-gradient(180deg, rgba(28,15,38,.72), rgba(28,15,38,.86)),
    url('bg-dark.jpg') center / cover no-repeat fixed,
    var(--hs-violet-black);
}

/* In dark mode, the gold-ringed LOGO22 picks up an extra gilt glow */
[data-mode="night"] .hs-crest { filter: drop-shadow(0 2px 12px rgba(212,175,55,.45)); }

/* Headline glows in gilt rather than purpure on dark surfaces */
[data-mode="night"] .hs-page-header__title { color: var(--hs-imperial-gold); text-shadow: 0 1px 12px rgba(212,175,55,.18); }
[data-mode="night"] .hs-page-header__motto { color: var(--hs-gold-soft); }
[data-mode="night"] .hs-titlebar__title    { color: var(--hs-imperial-gold); }
[data-mode="night"] .hs-eyebrow            { color: var(--hs-gold-soft); }
[data-mode="night"] .hs-prose h1           { color: var(--hs-imperial-gold); }
[data-mode="night"] .hs-prose h2           { color: var(--hs-gold-soft); }
[data-mode="night"] .hs-prose h3,
[data-mode="night"] .hs-prose h4           { color: var(--hs-sapphire-silver); }

/* Surfaces in dark mode — translucent panels over the textured background */
[data-mode="night"] .hs-actionbar {
  background: linear-gradient(180deg, rgba(36,22,56,.72), rgba(28,15,38,.55));
  border-color: rgba(212,175,55,.22);
}
[data-mode="night"] .hs-actionbar__links li a {
  color: var(--hs-sapphire-silver);
}
[data-mode="night"] .hs-actionbar__links li a:hover {
  color: var(--hs-imperial-gold);
  background: rgba(91,44,131,.35);
  border-color: var(--hs-imperial-gold);
}

[data-mode="night"] .hs-sidebar__panel {
  background: rgba(36,22,56,.72);
  border-color: rgba(212,175,55,.28);
  color: var(--hs-ivory);
  backdrop-filter: blur(6px);
}
[data-mode="night"] .hs-sidebar__panel a       { color: var(--hs-gold-soft); }
[data-mode="night"] .hs-sidebar__panel a:hover { color: var(--hs-imperial-gold); }
[data-mode="night"] .hs-sidebar__panel h1,
[data-mode="night"] .hs-sidebar__panel h2,
[data-mode="night"] .hs-sidebar__panel h3 { color: var(--hs-imperial-gold); }

[data-mode="night"] .hs-main {
  background: rgba(36,22,56,.78);
  border-color: rgba(212,175,55,.28);
  color: var(--hs-ivory);
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 32px -8px rgba(0,0,0,.55);
}

[data-mode="night"] .hs-prose { color: var(--hs-ivory); }
[data-mode="night"] .hs-prose blockquote {
  background: rgba(28,15,38,.55);
  color: var(--hs-sapphire-silver);
  border-left-color: var(--hs-imperial-gold);
}
[data-mode="night"] .hs-prose code {
  background: rgba(28,15,38,.7);
  border-color: rgba(212,175,55,.28);
  color: var(--hs-gold-soft);
}
[data-mode="night"] .hs-prose pre {
  background: #0b0418;
  border: 1px solid rgba(212,175,55,.22);
}
[data-mode="night"] .hs-prose th {
  background: rgba(91,44,131,.45);
  color: var(--hs-imperial-gold);
}
[data-mode="night"] .hs-prose td { background: rgba(36,22,56,.55); }

[data-mode="night"] .hs-search__input {
  background: rgba(36,22,56,.7);
  border-color: rgba(212,175,55,.36);
  color: var(--hs-ivory);
}
[data-mode="night"] .hs-search__input::placeholder { color: var(--hs-sapphire-silver); }
[data-mode="night"] .hs-search__btn {
  background: var(--hs-imperial-gold);
  color: var(--hs-violet-black);
  border-color: var(--hs-gold-deep);
}
[data-mode="night"] .hs-search__btn:hover { background: var(--hs-gold-deep); color: var(--hs-ivory); }

[data-mode="night"] textarea,
[data-mode="night"] input[type=text],
[data-mode="night"] input[type=password],
[data-mode="night"] input[type=search],
[data-mode="night"] select {
  background: rgba(36,22,56,.85);
  color: var(--hs-ivory);
  border-color: rgba(212,175,55,.36);
}
[data-mode="night"] input[type=submit],
[data-mode="night"] button {
  background: var(--hs-imperial-gold);
  color: var(--hs-violet-black);
  border-color: var(--hs-gold-deep);
}
[data-mode="night"] input[type=submit]:hover,
[data-mode="night"] button:hover { background: var(--hs-gold-deep); color: var(--hs-ivory); }

[data-mode="night"] .hs-mode-toggle {
  background: rgba(36,22,56,.85);
  border-color: rgba(212,175,55,.5);
  color: var(--hs-imperial-gold);
}

/* The gilt rule reads brighter on dark — give it a slight glow */
[data-mode="night"] .hs-rule-gilt {
  background: linear-gradient(90deg, transparent, var(--hs-imperial-gold) 18%, var(--hs-imperial-gold) 82%, transparent);
  box-shadow: 0 0 12px rgba(212,175,55,.25);
}

/* Footer text — keep the signature red even on dark for contrast */
[data-mode="night"] .hs-motto             { color: var(--hs-gold-soft); }
[data-mode="night"] .hs-page-footer__meta,
[data-mode="night"] .hs-page-footer__copy { color: var(--hs-sapphire-silver); }
[data-mode="night"] .hs-signature         { color: var(--hs-aldebaran-crimson); text-shadow: 0 1px 16px rgba(173,0,0,.55); }
