/* Historicle's reading-room palette. Color-only overrides preserve the atlas layout. */
:root {
  --paper: #f0e8dc;
  --paper-deep: #ded1c4;
  --ink: #392c34;
  --muted: #786770;
  --red: #773b54;
  --red-dark: #56283d;
  --sea: #5b515d;
  --line: #bca9ad;
  --binding: #683149;
  --binding-light: #8b526b;
  --edge: #79606e;
  --caption: #7b626e;
}
body {
  background-color: #2d242a;
  background-image: radial-gradient(ellipse at 48% 20%,#78606d38,transparent 70%),repeating-linear-gradient(1deg,#201a2226 0px,#7b62551a 1px,transparent 2px,transparent 9px);
}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible { outline-color: var(--binding-light); }
.masthead,.game-layout { border-color: #372633; }
.masthead { box-shadow: 0 3px 10px #160e183d; }
.brand-caption,.nav-badge { border-color: #b5a1a7; }
.brand-dot,.brand-symbol { color: var(--binding); }
.help-button { background-color: #e0d2d833; }
.game-layout { box-shadow: 0 9px 26px #1e152044; }
.atlas-top,.atlas-bottom { color: #6f5965; border-color: #9b8390; }
.map-area {
  background-color: var(--sea);
  background-image: var(--paper-grain),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='17'%3E%3Cpath d='m1 8 2-1 3 1M9 3h2m1 12h2' stroke='%23c9b4c4' fill='none' opacity='.15' stroke-width='.8'/%3E%3C/svg%3E");
  box-shadow: inset 0 0 120px #2e253a55;
}
.map-area::after { border-color: #cfbccc40; }
.country { stroke: #806d62; }
.country:hover { fill: #ebd9c9; stroke: #673b51; }
.country.selected { fill: #9d617b; stroke: #543245; }
.country.correct-country { fill: #9aaa9a; stroke: #526b60; }
.country.selected.correct-country { fill: #809987; }
.country.incorrect-country { fill: #b77d82; }
.coastal-glow { stroke: #c2b0bf; opacity: .3; }
.graticule { stroke: #c0aabd; opacity: .22; }
.ocean-label { fill: #d5c4d2; opacity: .8; }
.continent-label { fill: #796159; opacity: .8; }
.map-heading { background-color: #f0e8dcf5; border-color: #9a7b88; box-shadow: 3px 4px 0 #21152733; }
.map-heading .eyebrow,.map-heading p { color: var(--caption); }
.map-heading h1 { color: #593d4c; }
.compass { color: #d5c1d0; }
.compass svg { stroke: #d5c1d0; }
.compass .compass-fill { fill: #d5c1d0; }
.map-tools { border-color: #a58a98; background-color: var(--paper); box-shadow: 3px 3px 0 #21152744; }
.map-tools button { border-color: #bda6b0; }
.map-legend { background-color: #f0e8dce0; color: #654c5b; }
.legend-dot { background-color: var(--binding-light); box-shadow: 0 0 0 3px #773b5420; }
.map-tooltip { background-color: var(--paper); border-color: #987583; box-shadow: 3px 3px 0 #21152744; }
.game-panel { border-color: #806071; background-image: var(--paper-grain),linear-gradient(90deg,#94738615,transparent 12%,transparent 95%,#94738620); box-shadow: 5px 6px 0 #2e1c3444,0 6px 22px #1e14232b; scrollbar-color: #aa8d9b #e6d9d7; }
.mode-tabs { background-color: #a7869720; border-color: #ac919d; }
.mode-tabs button[aria-selected=true] { background-color: #dfcdd4; }
.mode-tabs button[aria-selected=true]:after { background-color: var(--binding); }
.edition-row,.running-score,.range-labels,.submit-note { color: var(--caption); }
.challenge-title { color: #503344; }
.rounds-bar { border-color: #bca7af; }
.round-number { border-color: #bca7af; color: #8a7180; }
.round-number.current { background-color: var(--binding); border-color: var(--binding); color: #f5ece6; }
.round-number.done { background-color: #d4dcd1; border-color: #8d9d90; color: #4e6658; }
.multiple-note { color: #78656d; }
.field-label { color: #6f4f61; }
.field-label small { color: #8c7681; }
.country-picker,.year-input-wrap { background-color: #faf5ef88; border-color: #baa0ac; box-shadow: inset 1px 1px 3px #75506412; }
.country-picker select:invalid { color: #88717d; }
.year-input-wrap button { color: #866375; }
.era-toggle { background-color: #e5d7db; border-color: #baa0ac; }
.era-toggle button { color: #896777; }
.era-toggle button.active { background-color: var(--binding); color: #f5ece6; }
.primary-button { background-color: var(--binding); color: #f6eee6; border-color: #d6b9c4; box-shadow: 3px 3px 0 #3f213133; }
.primary-button:hover:not(:disabled) { background-color: var(--binding-light); }
.secondary-button { background-color: #d6c3ce3b; border-color: #a48695; }
.secondary-button:hover { background-color: #dfcdd7; }
.difficulty-guide { background-color: #b698a213; border-color: #bca7af; }
.difficulty-guide>.eyebrow,.difficulty-guide p { color: #806674; }
.difficulty-mix span { color: #785365; }
.difficulty-mix b { border-color: #ba9dab; }
.panel-footer { border-color: #bca7af; color: #806e77; }
.panel-footer span:first-child:before { color: #7c8d7f; }
.practice-filter { color: #806674; }
.practice-filter select { border-color: #baa0ac; }
.reveal-kicker { color: #5c7465; }
.reveal-sub,.other-answers-button { color: #816675; }
.answer-card { background-color: #ddcbd62b; border-color: #b79aa8; }
.source-link { color: #795268; }
.result-stamp { background-color: #f0e8dc70; }
.journey-strip { background-color: var(--paper); border-color: #a08290; box-shadow: 3px 4px 0 #21152733; }
.journey-icon { color: #896777; }
.journey-copy .eyebrow { color: #8c7581; }
.journey-copy strong { color: #684a5b; }
.site-footer,.site-footer>span:first-child,.site-footer>span:first-child span,.site-footer button { color: #c6b0bd; }
.intro-card { border-color: #654255; outline-color: #b79aa8; background-image: var(--paper-grain),linear-gradient(100deg,#bd9ba51c,transparent 35%,#bd9ba51c); box-shadow: 6px 7px 0 #302032a6,0 13px 35px #24182f55; }
.intro-card:before,.intro-card:after { color: #aa8497; }
.intro-rule { color: #806071; border-color: #bda4b0; }
.intro-wordmark { color: #422939; }
.intro-wordmark>span { color: var(--binding-light); }
.intro-card h2 { color: #765066; }
.intro-description { color: #826b75; }
.intro-stats { border-color: #c6afb9; }
.intro-stats>span { color: #8d7280; }
.intro-stats>span+span { border-color: #c6afb9; }
.intro-stats strong { color: #704d61; }
.intro-links button { color: #795369; border-color: #b99baa; }
.intro-footnote { color: #9a7c8a; }
dialog { border-color: #765064; box-shadow: 8px 9px 0 #21152780; }
dialog::backdrop { background-color: #231b2bb8; }
.modal-top { border-color: #bda4b0; }
.modal-title { color: #674359; }
.modal-lead,.fine-print,.how-step p { color: #7a6370; }
.journey-header,.archive-stats,.session-row,.catalog-row { border-color: var(--line); }
.academy-medallion { color: #9a7b8b; border-color: #ad8e9e; }
.academy-stop.reached .academy-medallion { background-color: #594153; }
.academy-stop.current .academy-medallion { background-color: var(--binding); }
.academy-stop p,.academy-stop .level-status,.archive-stats span,.country-stamp small { color: #8b7280; }
.country-stamp { background-color: #d6c3ce30; }
.empty-state { color: #8b7280; border-color: #bca7af; }
.catalog-row p,.dataset-stat,.review-note { color: #7a6370; }
.completion-seal,.xp-earned { color: #647b6a; border-color: #809383; }
.toast { background-color: #51394b; color: #f0e8dc; border-color: #bc9dab; }
.is-playing .map-jump { color: #6f4f61; border-color: #a38494; background-color: var(--paper); }
.is-playing .mobile-question { background-color: var(--paper); border-color: #a38494; box-shadow: 2px 3px 0 #39263e40; }
.is-playing .mobile-question .eyebrow { color: #886a7d; }
@media(max-width:680px) { .is-playing .game-panel { border-color: #806071; box-shadow: 3px 4px 0 #30203255; } }
