/* Aulix: comfortable light surfaces, clear blue actions, and a quiet teal atlas. */
:root{
  color-scheme:light;
  --bg:#F7FAFC;
  --panel:#FFFFFF;
  --line:#D8E4EE;
  --muted:#587185;
  --text:#142D45;
  --accent:#2563EB;
  --ink:#FFFFFF;
  --map-ocean:#D9EDF6;
  --map-land:#79B9B1;
  --map-context:#BCD4DD;
  --map-border:#F3FCFD;
  --map-label:#173C4A;
  --map-label-halo:#E5F4F6;
}
body{background:#F7FAFC;color:var(--text);line-height:1.45}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline-color:#2563EB}
::selection{background:#C9DDFE;color:#12346A}
.site-header{background:#FFFFFF;border-bottom-color:#DDE7F0;box-shadow:0 2px 12px #193F6B05}
.brand{color:#173F95}
.brand-symbol{background:#2563EB;border-color:#2563EB;stroke:#00F0FF;box-shadow:0 3px 10px #2563EB20}
.brand-symbol circle{fill:#00F0FF}
.brand-sub{color:#627A90}
.header-note{color:#536F85}
.language{border-inline-start-color:#DCE6EF}
.language svg,.voice-control>svg,.voice-control button{stroke:#2563EB;color:#2563EB}
.language-toggle{color:#29465F}
.language-toggle:hover{background:#EEF4FF}
.language-native{color:#2563EB;font-weight:750;background:transparent;padding:0}
.language-separator{color:#698297}
.language .language-chevron{stroke:#617E94}
.language-list{background:#FFFFFF;border-color:#D3E0ED;box-shadow:0 12px 36px #17396020;scrollbar-color:#A7BFDA #F2F6FB}
.language-option{color:#29465F}
.language-list .language-native{background:transparent;padding:0}
.language-list .language-separator{color:#698297}
.language-option:hover,.language-option[aria-selected="true"]{background:#EFF6FF}
.language-option[data-active="true"]{background:#EAF2FF;border-color:#8DB3F3}
.voice-control select{background:#F3F7FC;color:#29465F;border-color:#CFDEEB}
.atlas-header-actions button{color:#36556D}
.atlas-header-actions button:hover{background:#EEF4FF;color:#1D4ED8}
.atlas-header-actions #account-button{border-color:#BFD3F5;background:#EEF4FF;color:#1D4ED8}
.atlas-header-actions #account-button:hover{background:#E2EDFF;border-color:#8CB2F8}

/* Quiet, light ad placeholders fit the surrounding interface. */
.ad-rail{background:transparent}
.ad-slot{background:#EEF4FA;border-color:#D7E4F0;box-shadow:none}
.ad-slot>span{color:#506D84}

/* Opaque controls sit on a much more visible, borderless world preview. */
.setup-screen{background:#DDEEF4;border-color:#D3E4ED;box-shadow:0 10px 35px #244F7810}
.setup-map{opacity:.94}
.setup-map path{fill:#83C3BD}
.setup-map .preview-context{fill:#AECFD6}
.setup-map .preview-water{fill:#DDEEF4}
.setup-shade{background:linear-gradient(105deg,#F7FAFCED 0%,#F7FAFCBA 45%,#F7FAFC45 78%,#F7FAFC20 100%)}
.setup-content>h1{color:#132F4B;font-weight:750;line-height:1.16;text-wrap:balance}
h1 span{color:#2563EB}
.eyebrow{color:#146D78}
.setup-intro{color:#47667E}
.field label{color:#284B66}
.select-wrap select{background:#FFFFFFF5;color:#183B58;border-color:#BBD0E0}
.select-wrap select:hover{border-color:#6292E9}
.select-wrap select option{background:#FFFFFF;color:#183B58}
.select-wrap:after{border-color:#4C6D88}
.field-icon{stroke:#407BBF}
.atlas-map-choice{background:#FFFFFFF5;color:#183B58;border-color:#BBD0E0}
.atlas-map-choice:hover{border-color:#2563EB;background:#FFFFFF}
.atlas-choice-icon{color:#2563EB}
.mode-description{color:#48677F}
.play-button{background:#2563EB;border-color:#2563EB;color:#FFFFFF;box-shadow:0 5px 15px #2563EB24}
.play-button:hover{background:#1D4ED8;border-color:#1D4ED8}
.play-button:disabled{opacity:1;cursor:default;background:#D8E4F4;color:#627D99;border-color:#CCDCEC;box-shadow:none}
.setup-status{color:#4E7188}
.scene-caption,.scene-bottom{color:#436B80}
.compass-mark{background:#E4F2F7;border-color:#B1D7DE;box-shadow:none}
.compass-mark svg{stroke:#137B81}
.compass-mark svg path{fill:#1BA69B14}

/* Progress retains its compact layout and uses color for useful milestones. */
.atlas-progress,.atlas-achievements{background:#FFFFFFF5;border-color:#D0E1EE;color:#173954;box-shadow:0 4px 16px #23548108}
.atlas-progress-level{color:#2563EB}
.atlas-progress-track{background:#E3ECF7}
.atlas-progress-track>span{background:linear-gradient(90deg,#2563EB,#21ABB4)}
.atlas-progress-xp{color:#305678}
.atlas-progress-xp>span,.atlas-progress-stats span,.atlas-completion-stats span{color:#557187}
.atlas-progress-stats strong{color:#173954}
.atlas-progress-stats>div:first-child strong{display:flex;align-items:center;gap:5px}
.aulix-streak-icon{display:inline-block;width:19px;height:23px;vertical-align:-3px;flex-shrink:0;fill:#F97316;stroke:#EA580C;stroke-width:1.2;stroke-linejoin:round}
.atlas-progress-storage{color:#557187}
.atlas-achievement{color:#557187}
.atlas-achievement small{color:#557187}
.atlas-achievement-symbol{border-color:#CEDDE9;color:#69869C}
.atlas-achievement.is-unlocked{color:#214F69}
.atlas-achievement.is-unlocked .atlas-achievement-symbol{background:#E2F5EE;border-color:#A4DCCD;color:#138366}

/* Map and game chrome. Geography is colored by the shared map variables above. */
.game-screen{background:#FFFFFF;border-color:#D6E3EF;box-shadow:0 6px 24px #244F7808}
.game-toolbar{border-bottom-color:#E1EAF2;background:#FFFFFF}
.back-button{color:#416480}
.back-button:hover{color:#1D4ED8}
.game-mode-label{color:#5A768C}
.game-mode-label select{background:#F3F7FD;border-color:#C5D8E9;color:#214765}
.answer-form{background:#F8FBFF;border-color:#C7D9EA}
.answer-form:focus-within{border-color:#2563EB;box-shadow:0 0 0 2px #2563EB14}
.answer-form input{color:#183B58;caret-color:#2563EB}
.answer-form input::placeholder{color:#557187}
.answer-form button{background:#E9F1FE;border-inline-start-color:#CADCF4;color:#2563EB}
.answer-form button:hover{background:#DCE9FF}
.map-card{background:#F7FAFD;border-color:#D2E2ED}
.map-tools{color:#244B65;background:#F7FAFD}
.check{color:#52748A}
.map-bottom{background:#F7FAFD;color:#54758C}
.zoom{border-color:#C6D9E9}
.zoom button{background:#EDF4FC;color:#2C5D85}
.zoom button:hover{background:#DDEAFE}
.activity-card{background:#F8FBFF;border-color:#D5E3EF;color:#173954}
.activity-card h2{font-weight:750;line-height:1.2}
.activity-card p{color:#55768C}
.meta{color:#557187}
.primary{background:#2563EB;color:#FFFFFF}
.primary:hover{background:#1D4ED8}
.secondary{background:#E5EFFB;color:#285B8D}
.secondary:hover{background:#D9E8FC}
.detail{border-color:#D4E3ED}
.detail strong{color:#28516C}
.province-list li{background:#E5EFF6;color:#436C84}
.progress{background:#DFEAF5}
.feedback{background:#E7F0F9;color:#3C6582}
.feedback.bad{background:#FFF0EF;color:#B13D3A}
.feedback.good{background:#E5F7EA;color:#267742}
.score div{background:#EAF2FA;color:#587C95}
.score strong{color:#214F74}
.answer-legend{color:#5A788B}
.controls-note,.scope{color:#557187}
.controls-note svg{stroke:#6991A9}
.scope a{color:#346BA0}
kbd{border-color:#C4D6E5;color:#436B88;background:#F1F6FB}
.map-tooltip{background:#FFFFFF;color:#183B58;border-color:#BFD3E3;box-shadow:0 5px 14px #163B6723}
.map-outline{stroke:#000000}
.place-flag{box-shadow:0 0 0 1px #173F5B20}
.sprint-clock{background:#E5F1FC;color:#2365A6}
.sprint-clock.is-ending{background:#FFF0D8;color:#A96308}
.round-save-status{color:#557187}

/* Results and records use distinct success, record, and failure colors. */
.atlas-completion{color:#173954}
.atlas-completion-mark{background:#E3F5ED;border-color:#9DDCC8;color:#138366}
.atlas-earned-xp{color:#087C68}
.atlas-completion-stats{border-color:#D4E3EF}
.atlas-completion-note{color:#557187}
.atlas-personal-best{color:#9E640B}
.atlas-new-achievements>span{color:#13816D}
.atlas-action-primary{background:#2563EB;color:#FFFFFF;border-color:#2563EB}
.atlas-action-primary:hover{background:#1D4ED8}
.atlas-action-secondary{background:#EDF4FC;color:#315F87;border-color:#C5D9ED}
.atlas-action-secondary:hover{background:#E0ECFC}
.atlas-action-link{color:#27718A}

/* Search and map catalogue. */
.atlas-map-browser{background:#FFFFFF;color:#183B58;border-color:#D0DFED;box-shadow:0 20px 70px #163B6730}
.atlas-map-browser::backdrop,.atlas-account-dialog::backdrop{background:#11294080}
.atlas-browser-head p,.atlas-browser-country-note{color:#557187}
.browser-close{background:#EFF5FC;border-color:#D1E1EF;color:#466C8A}
.browser-close:hover{background:#E2EDFC;color:#1D4ED8}
.atlas-map-browser input{background:#F7FAFE;color:#214765;border-color:#C8DAE9;caret-color:#2563EB}
.atlas-map-browser input::placeholder{color:#557187}
.atlas-map-browser #browser-breadcrumb{color:#5C7F96}
.atlas-map-browser #browser-breadcrumb button{color:#2563EB}
.browser-map-row{background:#F7FAFD;color:#234C69;border-color:#D9E6F1}
.browser-map-row span{color:#557187}
.browser-map-row:hover{background:#EDF4FF;border-color:#8EB5F9}
.browser-more{background:#EDF4FF;color:#2563EB;border-color:#C7DCF9}
#browser-status{color:#557187}
#browser-levels button{background:#EFF5FB;color:#38627F;border-color:#CCDEEC}
#browser-levels [aria-pressed="true"]{background:#2563EB;color:#FFFFFF;border-color:#2563EB}

/* Account dialogs and all states of their forms. */
.atlas-account-button{background:#EEF4FF;border-color:#C4D8F6;color:#2159A8}
.atlas-account-button:hover{background:#E2EDFF;border-color:#94B8F5}
.atlas-save-status{color:#2D816E}
.atlas-save-status.is-problem{color:#A56A16}
.atlas-account-dialog{background:#FFFFFF;color:#183B58;border-color:#C8DCEA;box-shadow:0 20px 70px #163B6730}
.atlas-dialog-close{background:#EEF4FC!important;color:#52728C!important;border-color:#D1E1EF!important}
.atlas-account-tabs{background:#F0F5FB;border-color:#DCE7F1}
.atlas-account-tabs button{color:#557187}
.atlas-account-tabs button.is-active{background:#FFFFFF;color:#2563EB;box-shadow:0 2px 6px #24517A0C}
.atlas-account-note{color:#5B7B91}
.atlas-account-field>span{color:#456B86}
.atlas-account-field input{background:#F8FBFE;border-color:#CDDEEB;color:#193D59;caret-color:#2563EB}
.atlas-account-field input:hover{border-color:#8DACC4}
.atlas-account-field input::placeholder{color:#557187}
.atlas-password-toggle{color:#5A7E99}
.atlas-password-toggle:hover,.atlas-password-toggle[aria-pressed="true"]{color:#2563EB;background:#E8F1FF}
.atlas-google-button{background:#FFFFFF;color:#343E48;border-color:#BCC9D4}
.atlas-google-button:hover:not(:disabled){background:#F4F7FB;border-color:#8FABBF}
.atlas-account-divider{color:#557187}
.atlas-account-divider::before,.atlas-account-divider::after{background:#DCE7EF}
.atlas-account-help{color:#557187}
.atlas-account-form-status{color:#16806B}
.atlas-account-form-status.is-error{color:#BF423C}
.atlas-account-primary{background:#2563EB;color:#FFFFFF;border-color:#2563EB}
.atlas-account-primary:hover{background:#1D4ED8}
.atlas-account-link{color:#2563EB}
.atlas-account-identity>svg{color:#1F8D85}
.atlas-account-identity span{color:#557187}
.atlas-account-menu button{background:#F4F8FD;color:#2D5C7B;border-color:#D4E3EF}
.atlas-account-menu button:hover{background:#E8F1FE;border-color:#9BBCED}
.atlas-account-danger-link{color:#B34D58}
.atlas-account-danger{background:#D83E50;border-color:#D83E50;color:#FFFFFF}
.atlas-account-danger:hover{background:#BE293C}
.atlas-account-saving-warning{background:#FFF5E4;color:#98621F;border-color:#EDD5A7}
.atlas-account-saving-warning button{color:#865311}
.atlas-account-map-progress>div,.atlas-account-recent>div{border-color:#DFE9F2}
.atlas-account-map-progress span,.atlas-account-recent strong{color:#167E73}
.atlas-account-dialog .atlas-progress,.atlas-account-dialog .atlas-achievements{background:#F7FAFD;border-color:#DAE7F1;box-shadow:none}
.atlas-account-dialog button:focus-visible,.atlas-account-dialog input:focus-visible,.atlas-completion-actions button:focus-visible{outline-color:#2563EB}

/* Compatibility with remaining reusable challenge components. */
.atlas-challenge{background:#FFFFFF;color:#244D69;border-color:#D3E2EF}
.atlas-challenge:hover{background:#EEF5FF;border-color:#9DBFF4}
.atlas-challenge:disabled{background:#F0F5F9;color:#7891A4}
.atlas-challenge-featured{background:linear-gradient(110deg,#E7F3FF,#E4F5F1);border-color:#B3D7DF}
.atlas-challenge-icon{background:#E0EFF7;color:#1D8F8A}
.atlas-challenge>svg,.atlas-challenge-copy>span{color:#557187}
.atlas-challenge-meta{color:#168576}
.atlas-featured{color:#5E8196}
.atlas-featured button{background:#EAF3F8;color:#426F85;border-color:#C6DFE8}
.atlas-featured button:hover{color:#2563EB;border-color:#8DB6F5}
footer,footer div{color:#557187}
footer>span{color:#486D87}
footer a,footer button{color:#4D7A9A}
footer a:hover,footer button:hover{color:#1D4ED8}

@media(max-width:760px){
  .site-header .brand-symbol{display:block;width:34px;height:34px;border-radius:10px}
  .brand{gap:8px}
  .brand strong{font-size:26px}
  .setup-map{opacity:.94}
  .setup-shade{background:linear-gradient(110deg,#F7FAFCEB,#F7FAFC93 63%,#F7FAFC54)}
}
@media(max-width:420px){
  .site-header .brand-symbol{width:30px;height:30px;border-radius:9px}
  .brand strong{font-size:23px}
  .brand-sub{letter-spacing:1.4px}
}

/* Hardcore records remain secondary to the question and the answer. */
.hardcore-setup-record{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin:-2px 0 14px;border:1px solid #CBDDF2;border-radius:10px;background:#FFFFFFF5;color:#365975;font-size:13px}
.hardcore-setup-record strong{color:#2563EB;font-size:20px;font-variant-numeric:tabular-nums}
.hardcore-live{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.hardcore-live>div{display:flex;flex-direction:column;gap:5px;padding:13px 10px;background:#EAF2FC;border-radius:12px}
.hardcore-live strong{font-size:29px;color:#1D4ED8;line-height:1.15;font-variant-numeric:tabular-nums}
.hardcore-live span{font-size:12px;color:#4D6D87;line-height:1.4}
.hardcore-live-best{background:#FFF5E3!important}
.hardcore-live-best strong{color:#A76808}
.activity-card .hardcore-rule{font-size:12px;line-height:1.5;margin:17px 0 0;color:#587185}
.hardcore-emblem{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#E8EFFD;color:#2563EB;margin-bottom:16px}
.hardcore-emblem svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.activity-card .hardcore-result-map{font-size:12px;color:#587185;line-height:1.45}
.hardcore-result-score{display:flex;flex-direction:column;gap:6px;padding:20px 0 18px}
.hardcore-result-score strong{font-size:58px;line-height:1;color:#2563EB;font-variant-numeric:tabular-nums}
.hardcore-result-score span{font-size:13px;color:#587185}
.hardcore-record{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;border-radius:10px;background:#FFF5E3;color:#80571B!important}
.hardcore-record span{font-size:13px}
.hardcore-record strong{font-size:23px;color:#A76808}

/* Supporting source/licence pages share the same readable light palette. */
.aulix-data-page{background:#F7FAFC;color:#142D45}
.aulix-data-page p,.aulix-data-page small,.aulix-data-page label,.aulix-data-page .count{color:#587185}
.aulix-data-page strong{color:#183B58}
.aulix-data-page a{color:#2563EB}
.aulix-data-page a:hover{color:#1D4ED8}
.aulix-data-page .summary span,.aulix-data-page .notes{background:#FFFFFF;border-color:#D8E4EE;color:#284B66}
.aulix-data-page input{background:#FFFFFF;border-color:#BBD0E0;color:#183B58}
.aulix-data-page .table-wrap,.aulix-data-page th,.aulix-data-page td{border-color:#D8E4EE}
.aulix-data-page thead{background:#EAF2FC}
.aulix-data-page tbody tr:hover{background:#EEF4FB}
