/* Approved 22 October 2026: Twilight Violet.
   Palette-only overrides keep the existing layout, artwork and component behavior. */
:root {
  --ink: #352f43;
  --muted: #716780;
  --gold: #9985c7;
  --parchment: #ddd8e2;
  --edge: #746783;
}

body {
  background-color: #12101c;
  background-image: url('/assets/site-background.png'), radial-gradient(ellipse at 50% 0, #392f5a99, transparent 70%), repeating-linear-gradient(35deg, #c8e2f908 0 1px, transparent 1px 5px);
}
a:focus-visible, button:focus-visible, input:focus-visible { outline-color: #9985c7; }
.masthead { color: #d8dff2; }
.brand b, footer strong { color: #f0eef9; }
.masthead p, .top-links { color: #aaa5c4; }
.top-links a:hover { color: #c8e2f9; }
.top-links > span, footer, .legal { color: #8e88a5; }
.mast-stars { color: #8b75b4; }

.hub-nav { background: #2b243d; border-color: #171324; color: #c7bedc; }
.hub-nav a:hover { background: #9985c71d; color: #f3efff; }
.hub-nav a[aria-current=page] { color: #fff; background: #9985c72b; border-bottom-color: #c2b0e8; }
.stone-frame {
  background-color: #393348;
  background-image: repeating-linear-gradient(0deg, transparent 0 36px, #17132180 37px, #c8e2f91a 39px), repeating-linear-gradient(90deg, transparent 0 102px, #17132180 103px, #9985c720 106px);
  border-color: #151220;
  box-shadow: 0 2px 0 #c8e2f936 inset, 0 0 0 1px #5e5570, 0 8px 25px #0008;
}
.page-top, .page-bottom { background: #2a2439; border-color: #171321; color: #bbb1d1; }
.page-top .tiny-moon { color: #c2b0e8; }
.page-body {
  background-color: #ddd8e2;
  background-image: url('/assets/parchment-background.png'), radial-gradient(ellipse at 40% 30%, #ffffff99, transparent 60%), repeating-linear-gradient(91deg, #5c477008 0 1px, transparent 1px 4px), url('/assets/grain.svg');
  border-color: #554b68;
  box-shadow: inset 0 0 35px #5c477022;
}
.sidebar { background: #5c47700d; border-color: #5c477044; }
.nav-title, .eyebrow, .flourish { color: #674f82; }
.sidebar nav a:hover { background: #9985c712; }
.sidebar nav a[aria-current=page] { color: #372b4d; background: #9985c720; border-color: #75618e70; }
.sidebar-note, .intro, .table-note, .record-count, .freshness { color: #665d74; }
.sidebar-note > span, .seal, .page-bottom span:first-child, .page-bottom span:last-child { color: #8b75b4; }
h1 { text-shadow: 0 1px #fff; }
h2, .prose, .profile-skills td:first-child, .record-line strong { color: #4b3f60; }
.prose a, .back-link, .player-link { color: #523b70; }
.profile-meta, .profile-meta > div, .profile-records h2, .period-switch a { border-color: #8a789b55; }
.period-switch a[aria-current=page] { background: #5c4770; color: #f4effa; }

.table-wrap { border-color: #75618e; box-shadow: 0 1px 0 #fff8; scrollbar-color: #75618e #d8d0df; }
thead { background: #5c4770; color: #f4effa; text-shadow: 0 1px #31263f; }
th { border-bottom-color: #43354f; }
td { border-bottom-color: #75618e2b; }
tbody tr:nth-child(odd) { background: #fff6ff1a; }
tbody tr:nth-child(even) { background: #6652770a; }
tbody tr:hover { background: #9985c718; }
.search-controls input, .hub-select-label select { border-color: #8a789b; background: #eee9f0; color: #352f43; }
.search-controls button, .pagination button, .small-button { border-color: #514064; background: linear-gradient(#8069a0, #55426f); color: #f6f1ff; box-shadow: inset 0 1px #b9a8cf, 0 1px 1px #42334f55; }
.search-controls button:hover, .small-button:hover { background: #6a5485; }

.hub-section, .hub-welcome, .xp-gain-totals { border-color: #8a789b55; }
.hub-empty, .hub-welcome p, .gallery-figures figcaption, .challenge-reward, .challenge-status, .challenge-progress, .record-basis, .xp-gain-totals dt { color: #716780; }
.hub-welcome .hub-motto, .challenge-requirement, .xp-gain-totals dd { color: #4b3f60; }
.hub-presence, .hub-presence summary { color: #584c68; border-color: #8a789b55; }
.presence-names { background: #e6e1eb; border-color: #75618e; box-shadow: 0 3px 9px #392f5a33; }
.gallery-figures figure > a { border-color: #5c4770; outline-color: #9985c7; background: #20182a; }
.activity-list li { border-color: #8a789b55; }
.activity-list time, .presence-age { color: #7a7087; }
.comparison-leading { color: #513b70; background: #9985c725; box-shadow: 0 0 0 3px #9985c725; }
.challenge-progress progress { border-color: #75618e; background: #c8bed0; }
.challenge-progress progress::-webkit-progress-bar { background: #c8bed0; }
.challenge-progress progress::-webkit-progress-value { background: linear-gradient(#9985c7, #65527f); }
.challenge-progress progress::-moz-progress-bar { background: #75618e; }

.atlas-toolbar button, .atlas-admin-entry > button, .atlas-find select { background: #ddd5e3; border-color: #746783; color: #352f43; }
.atlas-help, .atlas-status, .atlas-credit, .atlas-privacy, .atlas-detail-status, .atlas-details time { color: #716780; }
.atlas-layers { border-color: #74678355; }
.atlas-layers legend { color: #584c68; }
.atlas-frame { border-color: #4d425d; outline-color: #8a789b; background: #15131e; }
.atlas-frame > svg:focus-visible { outline-color: #c2b0e8; }
.atlas-details { border-color: #8b75b4; }
.atlas-credit { border-color: #74678355; }

.atlas-editor { border-color: #8a789b; color: #352f43; }
.atlas-editor button, .atlas-editor select, .atlas-editor input, .atlas-editor textarea { color: #352f43; border-color: #746783; background: #e6e0ea; }
.atlas-editor button[aria-pressed='true'] { background: #65527f; color: #f6f1ff; }
.atlas-editor button:focus-visible, .atlas-editor input:focus-visible, .atlas-editor select:focus-visible, .atlas-editor textarea:focus-visible { outline-color: #9985c7; }
.atlas-editor-identity { color: #716780; }
.atlas-editor-status, .atlas-editor-action-status, .atlas-editor-requests p { border-left-color: #8b75b4; background: #9985c710; }
.atlas-coordinate-panel, .atlas-editor-actions { border-color: #8a789b99; }
.atlas-editor-vertices th, .atlas-editor-vertices td { border-color: #8a789b44; }

@media (max-width: 520px) {
  .sidebar { border-color: #8a789b55; box-shadow: 0 1px #fff8; }
  #skill-nav { border-color: #8a789b55; }
}
