.site-header {
  position: relative;
}

.site-header::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 700ms ease;
  background: var(--night-sky);
}

[data-theme="dark"] .site-header::after {
  opacity: 1;
}

.site-header__inner,
.site-header .mobile-menu {
  position: relative;
  z-index: 1;
}

.page-hero .masthead::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  transition: opacity 700ms ease;
  background:
    radial-gradient(circle at 82% 16%, #ffffff2e 0 2px, transparent 2.5px),
    radial-gradient(circle at 67% 30%, #ffffff26 0 1.5px, transparent 2px),
    radial-gradient(circle at 92% 44%, #ffffff1f 0 1px, transparent 1.5px),
    radial-gradient(circle at 57% 11%, #ffffff1c 0 1px, transparent 1.5px),
    radial-gradient(circle at 74% 60%, #ffffff14 0 1px, transparent 1.5px),
    var(--night-sky);
}

[data-theme="dark"] .page-hero .masthead::after {
  opacity: 1;
}

.page-hero .hero {
  z-index: 2;
}

.page-hero .hero .hero-logo {
  z-index: 2;
  transition: transform 860ms cubic-bezier(.34, .8, .28, 1), opacity 520ms ease-in-out 150ms;
  will-change: transform, opacity;
}

.page-hero .sun-bubble__sky {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  overflow: hidden;
  border-radius: 50%;
}

.page-hero .hero .hero-logo--sun {
  opacity: 1;
  transform: translateY(0) rotate(6deg) scale(1);
  animation: sunshine-glow 5s ease-in-out infinite;
}

.page-hero .hero .hero-logo--moon {
  opacity: 0;
  transform: translateY(-124%) rotate(-20deg) scale(.72);
}

[data-theme="dark"] .page-hero .hero .hero-logo--sun {
  opacity: 0;
  transform: translateY(124%) rotate(24deg) scale(.58);
}

[data-theme="dark"] .page-hero .hero .hero-logo--moon {
  opacity: 1;
  transform: translateY(0) rotate(6deg) scale(1);
  animation: sunshine-moon-glow 6s ease-in-out infinite;
}

.page-hero .sun-bubble::after {
  content: '';
  position: absolute;
  inset: -5px;
  z-index: 1;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  transition: opacity 700ms ease;
  background: linear-gradient(125deg, #8fa6ff26, #c7b6ff1f) padding-box,
    linear-gradient(145deg, #6ea8ff, #a98cff 58%, #7fd7ea) border-box;
  border: 5px solid transparent;
  box-shadow: inset 0 0 34px #b9c8ff2e, 0 0 70px #7f8cff2e;
}

[data-theme="dark"] .page-hero .sun-bubble::after {
  opacity: 1;
}

[data-theme="dark"] .page-hero .bubble {
  border-color: #7f9dff;
  border-top-color: #b8c8ff;
  border-left-color: #9fe6ff;
  background: linear-gradient(135deg, #cfe0ff33, #7f8cff1a);
}

[data-theme="dark"] .page-hero .hero-sun {
  opacity: .28;
}

.page-hero .hero-sun {
  transition: opacity 700ms ease;
}

[data-theme="dark"] .page-hero .server-address {
  background: #ffffff1a;
  border-color: #ffffff40;
  color: #e9e1ff;
  box-shadow: 0 4px 14px #05030f40;
}

[data-theme="dark"] .page-hero .server-address b {
  border-color: #ffffff2e;
  color: #ffffff;
}

[data-theme="dark"] .page-hero .edition,
[data-theme="dark"] .page-hero .hero-note {
  color: #cbbfe4;
}

[data-theme="dark"] .page-hero .hero p {
  color: #ffdf94;
}

[data-theme="dark"] .page-hero .hero h1 {
  color: #f6f1ff;
  text-shadow: 0 2px 0 #0b0718a8;
}

[data-theme="dark"] .page-hero .hero h1 em {
  color: #ffd06a;
}

[data-theme="dark"] .site-header {
  color: var(--text);
}

[data-theme="dark"] .site-header .brand,
[data-theme="dark"] .site-header .brand strong {
  color: var(--text);
}

[data-theme="dark"] .site-header .brand em,
[data-theme="dark"] .site-header .brand small {
  color: #b9a9d4;
}

[data-theme="dark"] .site-header .desktop-nav a {
  color: #ded3f2;
}

[data-theme="dark"] .site-header .desktop-nav a:hover {
  background: #ffffff1f;
  color: #ffffff;
}

[data-theme="dark"] .site-header .desktop-nav a.is-active,
[data-theme="dark"] .site-header .desktop-nav a[aria-current="page"] {
  background: #ffffff24;
  color: #ffffff;
  box-shadow: inset 0 -2px var(--gold);
}

[data-theme="dark"] .site-header .account-trigger {
  border-color: #ffffff2e;
  background: #ffffff1a;
  color: #e9e1ff;
  box-shadow: 0 3px 0 #0c0818;
}

[data-theme="dark"] .site-header .account-trigger:hover {
  background: #ffffff29;
  box-shadow: 0 4px 0 #0c0818, 0 6px 16px #00000059;
}

[data-theme="dark"] .site-header .header-status {
  color: #c4b7dd;
}

[data-theme="dark"] .site-header .header-status strong {
  color: #ffffff;
}

[data-theme="dark"] .site-header .menu-toggle {
  border-color: #ffffff2e;
  background: #ffffff1a;
  color: #f0e9ff;
  box-shadow: 0 3px 0 #0c0818;
}

[data-theme="dark"] .site-header .header-live {
  border-color: #ffffff24;
  background: #ffffff12;
  color: #ded3f2;
}

[data-theme="dark"] .site-header .header-live__dot {
  box-shadow: 0 0 0 3px #ffffff12;
}

[data-theme="dark"] .account-trigger.is-online .account-trigger__head::after {
  border-color: #1b1440;
}

[data-theme="dark"] .site-header .mobile-menu {
  background: var(--surface);
  color: var(--text-soft);
}

[data-theme="dark"] .site-header .mobile-menu nav a {
  color: #ded3f2;
}

[data-theme="dark"] .site-header .mobile-menu nav a:hover,
[data-theme="dark"] .site-header .mobile-menu nav a.is-active,
[data-theme="dark"] .site-header .mobile-menu nav a[aria-current="page"] {
  background: #ffffff1f;
  color: #ffffff;
}

[data-theme="dark"] .site-header .mobile-menu__ip {
  border-color: #ffffff2e;
  color: #cfe9f2;
}

[data-theme="dark"] .mobile-menu__tool {
  border-color: #ffffff2e;
  background: #ffffff1a;
  color: #f0e9ff;
  box-shadow: 0 3px 0 #0c0818;
}

[data-theme="dark"] .mobile-menu__tool:hover {
  background: #ffffff29;
}

[data-theme="dark"] .theme-toggle {
  border-color: #ffffff2e;
  background: #ffffff1a;
  color: #ffe6a3;
  box-shadow: 0 3px 0 #0c0818;
}

[data-theme="dark"] .theme-toggle:hover {
  background: #ffffff29;
  box-shadow: 0 4px 0 #0c0818, 0 6px 16px #00000059;
}

[data-theme="dark"] .notifications-bell {
  border-color: #ffffff2e;
  background: #ffffff1a;
  color: #f0e9ff;
  box-shadow: 0 3px 0 #0c0818;
}

[data-theme="dark"] .notifications-bell:hover {
  background: #ffffff29;
  box-shadow: 0 4px 0 #0c0818, 0 6px 16px #00000059;
}

[data-theme="dark"] .notifications-bell[aria-expanded="true"] {
  background: #ffffff29;
}

[data-theme="dark"] .notifications-badge {
  border-color: #1b1440;
}

[data-theme="dark"] .notifications-panel {
  background: var(--surface);
  border-color: var(--line);
  color: var(--text-soft);
  box-shadow: 0 22px 70px #05030f99, 0 3px 0 #0a0617;
}

[data-theme="dark"] .notifications-head {
  border-color: var(--line);
}

[data-theme="dark"] .notifications-head h2 {
  color: var(--text);
}

[data-theme="dark"] .notifications-mark {
  color: #cbaaff;
}

[data-theme="dark"] .notifications-mark:hover {
  background: #332850;
  color: #e3d4ff;
}

[data-theme="dark"] .notifications-item:hover {
  background: #2b2144;
}

[data-theme="dark"] .notifications-item.is-unread {
  background: #2b2144;
  box-shadow: inset 3px 0 0 #ffd98a;
}

[data-theme="dark"] .notifications-item.is-unread:hover {
  background: #332850;
}

[data-theme="dark"] .notifications-item.is-unread .notifications-item__dot {
  background: #ffd98a;
}

[data-theme="dark"] .notifications-item__line {
  color: var(--muted);
}

[data-theme="dark"] .notifications-item__line b {
  color: var(--text);
}

[data-theme="dark"] .notifications-item__topic {
  color: #d9c6ff;
}

[data-theme="dark"] .notifications-item__time {
  color: var(--muted);
}

[data-theme="dark"] .notifications-note {
  color: var(--muted);
}

[data-theme="dark"] .forum-page {
  background: var(--bg);
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-breadcrumb {
  color: var(--muted);
}

[data-theme="dark"] .forum-page .forum-toolbar h2 {
  color: var(--text);
}

[data-theme="dark"] .forum-page .forum-group {
  background: var(--surface);
  border-color: var(--line);
  box-shadow: 0 4px 12px #05030f33;
}

[data-theme="dark"] .forum-page .forum-group > h3 {
  background: #2b2144;
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-category,
[data-theme="dark"] .forum-page .forum-topic-row {
  border-color: var(--line);
}

[data-theme="dark"] .forum-page .forum-category-description strong,
[data-theme="dark"] .forum-page .forum-topic-title strong {
  color: var(--text);
}

[data-theme="dark"] .forum-page .forum-category-description p,
[data-theme="dark"] .forum-page .forum-topic-title small,
[data-theme="dark"] .forum-page .forum-category-last small {
  color: var(--muted);
}

[data-theme="dark"] .forum-page .forum-count b {
  color: var(--text);
}

[data-theme="dark"] .forum-page .forum-count span,
[data-theme="dark"] .forum-page .forum-replies small {
  color: var(--muted-dark);
}

[data-theme="dark"] .forum-page .forum-category-last a strong {
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-side-card,
[data-theme="dark"] .forum-page .forum-post,
[data-theme="dark"] .forum-page .forum-composer,
[data-theme="dark"] .forum-page .forum-empty {
  background: var(--surface);
  border-color: var(--line);
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-side-card h3,
[data-theme="dark"] .forum-page .forum-composer h3 {
  color: var(--text);
}

[data-theme="dark"] .forum-page .forum-side-card p,
[data-theme="dark"] .forum-page .forum-rules,
[data-theme="dark"] .forum-page .forum-empty p {
  color: var(--muted);
}

[data-theme="dark"] .forum-page .forum-latest strong {
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-latest small,
[data-theme="dark"] .forum-page .forum-post-content header {
  color: var(--muted);
}

[data-theme="dark"] .forum-page .forum-search input,
[data-theme="dark"] .forum-page .forum-composer input,
[data-theme="dark"] .forum-page .forum-composer textarea,
[data-theme="dark"] .forum-page .forum-composer select {
  background: var(--bg-deep);
  border-color: var(--line);
  color: var(--text);
}

[data-theme="dark"] .forum-page .forum-side-card dl div {
  border-color: var(--line);
}

[data-theme="dark"] .forum-page .forum-side-card dt {
  color: var(--muted);
}

[data-theme="dark"] .forum-page .forum-side-card dd {
  color: var(--text);
}

[data-theme="dark"] .forum-page .forum-post-body {
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-post-signature {
  border-top-color: var(--line);
  color: var(--muted);
}

[data-theme="dark"] .forum-page .forum-quote {
  background: var(--surface-bright);
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-code {
  background: var(--surface-bright);
  border-color: var(--line);
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-code-block {
  background: var(--bg-deep);
  border-color: var(--line);
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-image {
  background: var(--bg-deep);
  border-color: var(--line);
}

[data-theme="dark"] .forum-page .forum-composer .forum-editor-toolbar {
  background: var(--bg-deep);
  border-color: var(--line);
}

[data-theme="dark"] .forum-page .forum-editor-toolbar button:not(.forum-primary) {
  color: var(--muted);
}

[data-theme="dark"] .forum-page .forum-editor-toolbar button:not(.forum-primary):hover {
  background: var(--surface-bright);
  color: var(--text);
}

[data-theme="dark"] .forum-page .forum-avatar {
  background: #2e2547;
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-pagination button {
  background: var(--surface);
  border-color: var(--line);
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-error {
  background: #3a1f2b;
  border-color: #6b3348;
  color: #ffc9d4;
}

[data-theme="dark"] .forum-page .forum-moderation button {
  background: var(--surface-raised);
  border-color: var(--line);
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-move__label {
  color: var(--muted);
}

[data-theme="dark"] .forum-page .forum-move select {
  background: var(--bg-deep);
  border-color: var(--line);
  color: var(--text);
}

[data-theme="dark"] .forum-page .forum-moderation button.forum-danger {
  background: #4a2530;
  border-color: #6b3348;
  color: #ffc3c3;
}

[data-theme="dark"] .forum-page .forum-moderation button.forum-danger.is-armed,
[data-theme="dark"] .forum-page .forum-post-content button.forum-danger.is-armed {
  background: #7a3040;
  border-color: #a04b5c;
  color: #ffe9ec;
  box-shadow: 0 3px 0 #2b1019;
}

[data-theme="dark"] .forum-page .forum-post-content button.forum-danger {
  color: #ff9d9d;
}

[data-theme="dark"] .forum-page .forum-danger-note {
  color: #ffbdbd;
}

[data-theme="dark"] .forum-page .forum-merge {
  background: var(--surface-raised);
  border-color: var(--line);
}

[data-theme="dark"] .forum-page .forum-merge h4 {
  color: var(--text);
}

[data-theme="dark"] .forum-page .forum-merge__hint,
[data-theme="dark"] .forum-page .forum-merge__empty,
[data-theme="dark"] .forum-page .forum-merge__result small {
  color: var(--muted);
}

[data-theme="dark"] .forum-page .forum-merge__search input,
[data-theme="dark"] .forum-page .forum-warn textarea {
  background: var(--bg-deep);
  border-color: var(--line);
  color: var(--text);
}

[data-theme="dark"] .forum-page .forum-merge__result {
  background: var(--surface);
  border-color: var(--line);
}

[data-theme="dark"] .forum-page .forum-merge__result strong {
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-merge__result.is-selected {
  background: #3a2a5c;
  border-color: #6b56a0;
}

[data-theme="dark"] .forum-page .forum-merge__confirm {
  background: #3a2c20;
  border-color: #5f4a2b;
}

[data-theme="dark"] .forum-page .forum-merge__confirm p {
  color: var(--text-soft);
}

[data-theme="dark"] .forum-page .forum-warn {
  background: #33281a;
  border-color: #5f4a2b;
}

[data-theme="dark"] .forum-page .forum-warn h4 {
  color: var(--text);
}

[data-theme="dark"] .forum-page .forum-warn__note {
  color: var(--muted);
}

[data-theme="dark"] .forum-page .forum-warn button:not(.forum-primary) {
  color: var(--muted);
}

[data-theme="dark"] .forum-page .forum-notice {
  background: var(--surface-raised);
  border-color: #6b5527;
  color: #ffe9b3;
  box-shadow: 0 12px 32px #05030f99;
}

[data-theme="dark"] .forum-page .forum-badge {
  background: #ffdb60;
  color: #2b2144;
}

[data-theme="dark"] .forum-page .forum-latest {
  color: #ece3fb;
}

[data-theme="dark"] .forum-page .forum-side-card .forum-latest {
  border-bottom-color: var(--line);
}

[data-theme="dark"] .forum-page .forum-side-card a {
  color: #ece3fb;
}

[data-theme="dark"] .forum-page .forum-side-card button {
  background: #3a2a5c;
  border-color: #55407e;
  color: #ffe6a3;
}

[data-theme="dark"] .forum-page .forum-side-card button:hover {
  background: #4a3670;
  border-color: #6b56a0;
  color: #ffffff;
}

[data-theme="dark"] .forum-page .forum-chip--gold {
  background: #4a3a1c;
  border-color: #6b5527;
  color: #ffd98a;
}

[data-theme="dark"] .forum-page .forum-chip--purple {
  background: #362a52;
  border-color: #4f3f74;
  color: #d9c6ff;
}

[data-theme="dark"] .forum-page .forum-chip--sky {
  background: #1f3a45;
  border-color: #2f5563;
  color: #a8e2f2;
}

[data-theme="dark"] .forum-page .forum-chip--green {
  background: #22392a;
  border-color: #35553f;
  color: #b4e6c0;
}

[data-theme="dark"] .forum-page .forum-chip--pink {
  background: #3f2434;
  border-color: #5c394e;
  color: #ffc3de;
}

[data-theme="dark"] .forum-page .forum-chip--amber {
  background: #42321c;
  border-color: #5f4a2b;
  color: #ffd9a0;
}

[data-theme="dark"] .forum-page .forum-online li {
  background: #22392a;
  border-color: #35553f;
  color: #b4e6c0;
}

[data-theme="dark"] .forum-page .forum-news-author:hover span {
  color: #d9c6ff;
}

[data-theme="dark"] .forum-page .forum-news-empty {
  color: var(--muted);
}

[data-theme="dark"] .forum-page .forum-post > aside {
  background: var(--surface-raised);
  border-right: 1px solid var(--line);
}

@media (max-width: 760px) {
[data-theme="dark"] .forum-page .forum-post > aside {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
}

[data-theme="dark"] .forum-page .forum-post-author {
  color: var(--text);
}

[data-theme="dark"] .forum-page .forum-post-author:hover {
  color: #d9c6ff;
}

[data-theme="dark"] .forum-page .forum-online li a:hover {
  color: #ddffe6;
}

[data-theme="dark"] .forum-page .forum-latest strong {
  color: #ece3fb;
}

[data-theme="dark"] .forum-page .forum-latest small {
  color: var(--muted);
}

[data-theme="dark"] .forum-page .forum-post > aside strong {
  color: var(--text);
}

[data-theme="dark"] .page-intro p,
[data-theme="dark"] .page-intro .eyebrow {
  color: var(--muted);
}

[data-theme="dark"] .site-footer {
  background: var(--bg-deep);
  border-color: var(--line);
}

[data-theme="dark"] .site-footer__brand strong {
  color: var(--text);
}

[data-theme="dark"] .site-footer__brand p,
[data-theme="dark"] .site-footer__bottom {
  color: var(--muted);
}

[data-theme="dark"] .site-footer__links a {
  color: #cbbfe4;
}

[data-theme="dark"] .site-footer__links a:hover {
  color: #ffd98a;
}

[data-theme="dark"] .motion-toggle {
  background: var(--surface);
  border-color: var(--line);
  color: var(--text-soft);
}

[data-theme="dark"] .community-home :is(.section-heading a, .sidebar-callout a, .how-to-join, .panel-foot a, .story-link):hover,
[data-theme="dark"] .forum-page :is(.forum-latest, .forum-category-description, .forum-topic-row):hover strong,
[data-theme="dark"] .forum-page .forum-latest:hover,
[data-theme="dark"] .forum-page .forum-side-card a:hover,
[data-theme="dark"] .community-home .sidebar nav a:hover {
  background: #2b2144;
  box-shadow: inset 3px 0 0 #ffd98a;
}

[data-theme="dark"] .community-home .ranking-tabs button:hover,
[data-theme="dark"] .community-home .filter-button:hover,
[data-theme="dark"] .icon-button:hover,
[data-theme="dark"] .forum-page .forum-pagination button:hover {
  background: #3a2a5c;
  color: #ffe6a3;
}

[data-theme="dark"] .page-hero .server-address:hover {
  background: #ffffff2e;
  border-color: #ffffff59;
  box-shadow: 0 7px 18px #05030f66;
}

[data-theme="dark"] .forum-page .forum-category:hover,
[data-theme="dark"] .forum-page .forum-topic-row:hover {
  background: #2b2144;
}

[data-theme="dark"] .forum-page .forum-search button:hover {
  background: #3a2a5c;
  color: #ffe6a3;
}

[data-theme="dark"] .forum-page .forum-category-icon {
  background: #2e2547;
  color: #c9b6f0 !important;
}

[data-theme="dark"] .forum-page .forum-category-icon.icon-sun {
  background: #463a1c;
  color: #ffd98a !important;
}

[data-theme="dark"] .forum-page .forum-category-icon.icon-town {
  background: #22402f;
  color: #a8e6bd !important;
}

[data-theme="dark"] .forum-page .forum-category-icon.icon-help {
  background: #1f3a4a;
  color: #a8e2f2 !important;
}

[data-theme="dark"] .forum-page .forum-category-icon.icon-image {
  background: #46223a;
  color: #ffb9d0 !important;
}

[data-theme="dark"] .forum-page .forum-search > div {
  background: var(--bg-deep);
  border-color: var(--line);
}

[data-theme="dark"] .forum-page .forum-search input {
  color: var(--text);
}

[data-theme="dark"] .forum-page .forum-search button {
  color: var(--muted);
}

@keyframes sunshine-moon-glow {
  0%, 100% { filter: drop-shadow(0 0 9px #b9c8ff26); }
  50% { filter: drop-shadow(0 0 22px #b9c8ff5c); }
}
