/* Atlas: blue cloth, white pages, cartographic rules, land-green actions. */
:root{font-family:"Zen Kaku Gothic New","Yu Gothic UI","Hiragino Sans",sans-serif;--ink:#213f4a;--secondary:#4d6268;--line:#c9d2cc;--paper:#fffef9;--land:#246d46;background:#176680}
body{background:#176680;color:var(--ink)}
header{max-width:1120px;padding:20px 30px;border-color:#ffffff45}
.brand{font-size:20px;font-weight:700;letter-spacing:.015em}
.header-actions .quiet{border-color:transparent;font-size:12px;padding:8px 10px}.header-actions .quiet:hover{border-color:#ffffff60}
main{max-width:1000px;padding:32px 30px 0}
.panel{background:var(--paper);border:1px solid #ccd4ca;border-top:4px solid #285b48;border-radius:2px;padding:34px 44px;box-shadow:4px 5px 0 #ffffff17}
.atlas-cover{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:24px;padding:0 0 24px;border-bottom:3px double #9bac9f;margin-bottom:16px}
.home .atlas-cover h1{font-size:44px;line-height:1.16;letter-spacing:-.035em;margin:0;max-width:350px;font-weight:700}
.atlas-map{display:block;width:100%;height:auto;opacity:.95}
.home>p:first-of-type{font-size:14px;line-height:1.9;margin:0 0 28px;color:var(--secondary)}
.settings-group{padding-top:18px;margin-bottom:26px;gap:22px}
.settings-group legend{font-size:15px;font-weight:700;letter-spacing:.06em;padding-right:18px}
.settings-group legend:before{display:inline-block;content:'01';font-size:11px;letter-spacing:.04em;color:#547360;margin-right:10px;font-variant-numeric:tabular-nums}
.limits-group legend:before{content:'02'}
.settings .settings-group label{font-size:13px;font-weight:700}.settings select,.settings input{font-family:inherit;font-size:16px;font-weight:400;border-radius:2px;border-color:#a1b1a6;background:#fff}
.settings small{font-size:12px;line-height:1.75;color:var(--secondary)}
.primary,.quiet,.share-button,#changeSettings{border-radius:3px;font-family:inherit}
.home .primary{font-size:17px;letter-spacing:.06em;min-height:52px}
.home .share-button{background:transparent;border-color:#c6d1c6;font-size:13px}.home .sync-note{border-top:1px solid var(--line)}
.home .hint,.home .scope,.home .sync-note{color:var(--secondary)}
.rule-strip p{color:#f4f8f8}.rule-strip{padding:12px 0}footer{font-size:11px;color:#f4f8f8}
.game-top{padding-bottom:14px;border-bottom:1px solid var(--line)}.game-top b{font-family:inherit;font-size:28px;font-weight:700}
.progress{gap:4px}.progress span{height:3px}.question{padding:28px 0}.question-label{font-size:13px;color:#53695e;letter-spacing:.05em}
.typed-display,.input-wrap input{font-family:inherit;font-weight:400;letter-spacing:.035em}.input-wrap{border-radius:2px;background:#fff}
.map-question>div{border-color:#bccbc2;border-radius:1px}.map-question>div>span{background:#f3f5ef;color:#465f56;letter-spacing:.04em}
.answer-reveal,.study-capital,.untimed-notice,.training-status{border-radius:2px}.study-capital{border-top:1px solid #b9cdbd;background:#f0f5ed}.study-example strong{font-family:inherit}
.result-score{padding:14px 0;border-bottom:3px double #b8c8bb}.result-score strong{font-family:inherit;font-weight:700;letter-spacing:-.04em}
#history{border-bottom:1px solid var(--line)}.history-row{padding:18px 0;border-color:var(--line)}.history-country{gap:16px}.history-row:nth-child(even){background:#f2f5ed}.history-row{padding-left:10px;padding-right:10px}
dialog{background:var(--paper);border-radius:3px;border-top:4px solid #285b48}.formula{border-radius:2px;background:#f0f4eb}
.ready-panel{padding-top:48px;padding-bottom:40px}.ready-panel h2{font-weight:700}
@media(max-width:700px){header{padding:16px 20px}.brand{font-size:19px}main{padding:20px 14px 0}.panel{padding:26px}.atlas-cover{grid-template-columns:minmax(0,1fr) 170px;gap:18px}.home .atlas-cover h1{font-size:36px}.settings-group{gap:16px}.limits-group{gap:12px}.home>p:first-of-type{margin-bottom:24px}.game-top b{font-size:24px}}
@media(max-width:480px){header{padding:14px 16px}.brand{font-size:18px}.header-actions .quiet{padding:8px 6px;font-size:11px}main{padding:14px 10px 0}.panel{padding:24px 18px}.atlas-cover{grid-template-columns:minmax(0,1fr) 104px;gap:12px;padding-bottom:20px;margin-bottom:14px}.home .atlas-cover h1{font-size:30px;line-height:1.2;max-width:190px}.home>p:first-of-type{font-size:13px}.settings-group legend{font-size:14px}.settings-group{gap:16px}.limits-group{gap:12px}.history-row{padding:16px 4px}.history-country{gap:10px}.ready-panel{padding:34px 18px}}
@media(forced-colors:active){.panel{border:1px solid CanvasText;box-shadow:none}.atlas-map{opacity:1}}

/* Compact setup, with Start directly following the settings. */
.ready-clock{display:grid;grid-template-columns:1fr 1fr;max-width:520px;margin:24px auto 8px;border-block:1px solid var(--line);padding:18px 0;text-align:center}
.ready-clock>div{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.ready-clock>div+div{border-left:1px solid var(--line)}
.ready-clock span,.ready-clock small{font-size:13px}
.ready-clock time,.ready-clock strong #minuteCountdown{font-size:36px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1.4}
.ready-clock strong{color:var(--land);line-height:1.4}.ready-clock strong small{font-weight:400}
.ready-panel .clock-status{font-size:12px;color:var(--secondary);min-height:22px;margin:8px 0}
.ready-panel .clock-help{font-size:13px;line-height:1.8;max-width:520px;margin:12px auto 20px}
@media(max-width:480px){.ready-clock time,.ready-clock strong #minuteCountdown{font-size:28px}.ready-clock{margin-top:18px;padding:14px 0}}
.home-start-bar{position:static;margin:0}
.match-intro{margin:0 0 18px;padding:0 0 0 12px;border-left:3px solid var(--land)}
.match-intro h2{margin:0;font-size:21px;line-height:1.5;font-weight:700;letter-spacing:.015em;text-wrap:balance}
.match-intro p{margin:3px 0 0;font-size:13px;line-height:1.6;color:var(--secondary)}
.match-steps{margin:0 0 8px;font-size:12px;line-height:1.7;color:var(--secondary);text-align:center}
.home .share-panel{padding-top:8px}
.settings input{font-variant-numeric:tabular-nums}
.settings select:hover,.settings input:hover{border-color:#47745d}
.settings input:focus,.settings select:focus{border-color:var(--land)}
.settings small{word-break:normal;overflow-wrap:break-word}
.home .sync-note{padding-top:12px}
.home .primary:hover{background:#195535}
.home .primary:active{background:#174c30}
.home .share-button{font-weight:700}
.home .share-button:hover{color:#1d5035;border-color:#47745d;background:#e4f0e7}
.settings select:disabled,.settings input:disabled{opacity:.65;cursor:not-allowed}
@media(max-width:480px){.match-intro{margin-bottom:12px;padding-left:9px}.match-intro h2{font-size:17px}.match-intro p{font-size:12px}.match-steps{font-size:11px}}
header{padding-top:12px;padding-bottom:12px}
main{padding-top:18px}
.home{padding-top:22px;padding-bottom:24px}
.atlas-cover{grid-template-columns:minmax(0,1fr) 150px;padding-bottom:14px;margin-bottom:10px;gap:18px}
.home .atlas-cover h1{font-size:36px;max-width:none}
.home>p:first-of-type{margin-bottom:16px;font-size:13px;line-height:1.7}
.settings-group{padding-top:10px;margin-bottom:16px;gap:16px}
.settings-group legend{font-size:14px}
.settings select,.settings input{height:44px;min-height:44px;margin:5px 0;padding:8px 10px}
.settings small{line-height:1.55}
.untimed-setting{min-height:44px;margin:5px 0;padding:9px 10px}
.home .primary{min-height:48px;margin-top:0;padding:11px 24px}
.home .share-panel{margin:8px 0 12px}
@media(min-width:481px) and (max-width:700px){
 .settings-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .settings-group label[for=region]{grid-column:auto!important}
 .settings select{font-size:14px;padding-left:8px;padding-right:5px}
 .home .atlas-cover h1{font-size:31px}
}
@media(max-width:480px){
 header{padding:8px 14px;gap:4px}.brand{font-size:16px}
 main{padding-top:10px}
 .atlas-cover{grid-template-columns:minmax(0,1fr) 65px;gap:10px;padding-bottom:10px;margin-bottom:8px}
 .home .atlas-cover h1{font-size:23px;max-width:none;line-height:1.2}
 .home{padding:16px 16px 20px}
 .home>p:first-of-type{font-size:12px;line-height:1.6;margin-bottom:12px}
 .settings-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:8px;margin-bottom:12px}
 .settings-group label[for=region]{grid-column:1/-1!important}
 .settings-group legend:before{margin-right:7px}
 .settings .settings-group label{font-size:12px}
 .settings select,.settings input{font-size:14px;padding:8px 6px;margin:4px 0}
 .settings small{font-size:12px;line-height:1.5}
 .limits-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .settings .limits-group label[for=mistakeLimit]{grid-column:auto!important}
 .untimed-setting{font-size:12px;padding:10px 5px}
 .settings-group legend{font-size:13px}
}

/* Printed atlas: stronger ink, ruled sections and a quiet coordinate grid. */
.input-wrap input::placeholder{color:#66745d;opacity:1;font-size:16px;letter-spacing:.025em}
.study-example[hidden]{display:none}
.map-question svg{shape-rendering:geometricPrecision}
:root{--ink:#203d42;--secondary:#42584f;--paper:#faf7ed;--line:#b7c2ae;font-weight:700}
body{font-weight:700;background-color:#175c70;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:64px 64px}
button,input,select,textarea,.settings input,.settings select,.settings small,.typed-display,.input-wrap input,.ready-clock strong small{font-weight:700}
header{border-bottom:3px double #b9d0c36b}
.panel,dialog{background:var(--paper);border-color:#aebba6;border-top:5px solid #325d45;border-radius:1px;box-shadow:3px 4px 0 #d8dfca55}
.atlas-cover{border-bottom:3px double #6f856b}
.home .atlas-cover h1{letter-spacing:-.025em}
.atlas-map{opacity:1}
.settings-group{border-top-color:#91a185}
.settings-group legend{letter-spacing:.08em}
.settings-group legend:before{color:#2c6044;font-weight:700;border-bottom:2px solid #477453;line-height:1.5;min-width:18px}
.settings select,.settings input{background:#fffdf7;border-color:#8e9f88;color:#203d42}
.settings small,.match-intro p,.match-steps{color:#42584f}
.match-intro{border-left-color:#325d45}
.primary,.quiet,.share-button,#changeSettings{border-radius:2px}
.home .share-button{border-color:#9aaa91;background:#f2f3e7}
.game-top{border-bottom:3px double #829579}
.question-label{color:#325d45;font-weight:700;letter-spacing:.08em}
.map-question>div{border-color:#879d83;background:#f4f4e9}
.map-question>div>span{background:#e8eddd;color:#294b3b;font-weight:700;border-bottom:1px solid #acbba2}
.input-wrap{background:#fffdf7;border-color:#8e9f88}
.answer-reveal,.study-capital,.untimed-notice,.training-status{background:#edf1e2;border-color:#9fb492}
.ready-clock{border-block:3px double #91a185}
.ready-clock>div+div{border-left-color:#a9b79c}
.result-score{border-bottom-color:#829579}
.history-row:nth-child(even){background:#edf0e2}
.history-row{border-bottom-color:#bcc6af}
.history-row small,.session-info,.input-help,.practice-stats,.feedback-row,.clock-status,.clock-help{font-weight:700}
.formula{background:#edf0e2;border:1px solid #bac6ac}
footer{border-top:3px double #b9d0c36b;letter-spacing:.05em}
@media(forced-colors:active){body{background-image:none}.panel,dialog{box-shadow:none;border-color:CanvasText}.settings-group legend:before{border-color:CanvasText}}
