:root{color-scheme:light;--paper:#f4f5f1;--ink:#283b43;--line:#d9e1dc;--muted:#72807e;--blue:#426976}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,sans-serif}a{color:inherit;text-underline-offset:5px}button,select{font:inherit;color:inherit;border:1px solid var(--line);border-radius:7px;background:#fffef9;padding:10px 17px;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.4;cursor:default}:focus-visible{outline:3px solid #bd9559;outline-offset:4px}.skip{position:absolute;top:-80px;left:20px;background:white;padding:14px;z-index:5}.skip:focus{top:12px}header,footer{max-width:1190px;margin:auto;padding:27px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}header{border-bottom:1px solid var(--line);font-size:14px}.brand{font:25px Georgia,serif;text-decoration:none;display:flex;align-items:center;gap:12px}.brand span{font-size:35px;color:#79908b}main{max-width:1130px;margin:auto;padding:48px 24px}.intro{text-align:center;margin-bottom:34px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--muted);font-weight:650}h1{font:clamp(34px,6vw,57px)/1.15 Georgia,serif;letter-spacing:-1.8px;margin:20px 0 12px}.intro>p:last-child{font:19px Georgia,serif;color:var(--muted);margin:0}.atlas{background:#fffef9;border:1px solid var(--line);border-radius:16px;padding:25px 32px;box-shadow:0 12px 42px #253f4105}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center}.segmented{display:flex;background:#e9eee9;border:1px solid #dce3da;border-radius:8px;padding:3px}.segmented button{border:0;background:transparent;font-size:13px;padding:9px 17px}.segmented button[aria-pressed=true]{background:#fffef9;box-shadow:0 1px 4px #263f3415}.quiet{background:transparent;font-size:12px}.prompt{max-width:600px;text-align:center;margin:33px auto 10px}.prompt>span{font-size:10px;letter-spacing:1.6px;color:var(--muted)}h2{font:31px/1.25 Georgia,serif;letter-spacing:-.5px;margin:14px 0 20px}progress{width:100%;max-width:320px;height:4px;border:0;accent-color:var(--blue);display:block;margin:0 auto}progress::-webkit-progress-bar{background:#e5ebe5;border-radius:4px}progress::-webkit-progress-value{background:var(--blue);border-radius:4px}.map-wrap{margin:13px 0 6px;position:relative;background:#f4f7f5;border:1px solid #e1e8e1;border-radius:12px;padding:15px 10px}#map{width:100%;height:auto;display:block;aspect-ratio:1050/610;overflow:visible}#map path{fill:#cfdbd0;stroke:#fffef9;stroke-width:1.4;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .13s}#map path:hover{fill:#a6bfad}#map path:focus-visible{outline:none;stroke:#8e641f;stroke-width:3;fill:#bed0b4}#map path.selected{fill:#749693}#map path.correct,#map path.learned{fill:#6b9e8b}#map path.wrong{fill:#d89982}#map path.hinted{fill:#ebc46e;stroke:#b37d1f;stroke-width:2.4}.inset-note{display:block;font-size:10px;color:var(--muted);margin:6px 10px}.feedback{text-align:center;min-height:42px;font-size:14px;margin:20px 0 6px}.practice-picker{display:flex;justify-content:center;align-items:center;gap:12px;margin:4px 0 23px;font-size:13px}.practice-picker select{max-width:220px;font-size:13px;min-height:42px}.small-controls{text-align:center;border-top:1px solid var(--line);padding:20px 0 8px}.small-controls>span{font-size:11px;color:var(--muted)}.small-states{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:11px}.small-states button{font-size:12px;padding:8px;width:44px;height:39px}.actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:20px;flex-wrap:wrap}.actions>div{display:flex;gap:8px}.actions button{font-size:13px}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover:not(:disabled){background:#345968}.stats{display:flex;justify-content:center;gap:75px;border-top:1px solid var(--line);padding-top:23px;margin-top:27px}.stats>div{text-align:center}.stats span{display:block;font-size:9px;letter-spacing:1.1px;color:var(--muted)}.stats strong{display:block;font:27px Georgia,serif}.result{margin-top:30px;padding:27px;text-align:center;background:#edf2ec;border-radius:12px}.result h3{font:58px Georgia,serif;margin:15px 0}.result>p{font-size:13px}.result>div{display:flex;justify-content:center;flex-wrap:wrap;gap:9px}.result button{font-size:13px}.result details{margin-top:25px;text-align:left;font-size:13px}.result ul{columns:3}.result summary{cursor:pointer}.about{display:grid;grid-template-columns:1fr 1fr;gap:65px;max-width:850px;margin:50px auto 0}.about h2{font-size:26px;margin-bottom:13px}.about p{color:#6b7873;font-size:14px}.map-source{text-align:center;font-size:11px;color:var(--muted);margin-top:45px}footer{border-top:1px solid var(--line);color:#667572;font-size:13px}footer nav{display:flex;gap:22px}.notice{background:#fff1d9;padding:16px;margin-top:22px;font-size:13px}.notice button{font-size:12px}dialog{max-width:530px;border:1px solid var(--line);border-radius:14px;padding:30px}dialog::backdrop{background:#24403955}dialog h2{margin-top:0}dialog div{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}dialog button{font-size:13px}.guide{max-width:740px}.guide h1{font-size:46px}.guide h2{font-size:27px;margin:40px 0 14px}.guide p,.guide li{color:#5d6e67}[hidden]{display:none!important}@media(max-width:650px){header,footer{padding:20px}.brand{font-size:22px}header>a:last-child{font-size:12px}main{padding:32px 14px}.atlas{padding:20px 12px}.toolbar{gap:8px}.segmented button{font-size:11px;padding:9px 10px}.toolbar>.quiet{font-size:10px;padding:9px}.prompt{margin-top:27px}.prompt h2{font-size:27px}.map-wrap{padding:8px 1px}.feedback{font-size:13px}.small-states{gap:5px}.small-states button{width:39px;font-size:11px}.actions>div{gap:6px}.actions button{padding:9px 12px;font-size:12px}.actions .primary{order:3;width:100%}.stats{gap:30px}.stats span{font-size:8px;letter-spacing:.5px}.result{padding:21px 13px}.result ul{columns:2}.about{grid-template-columns:1fr;gap:8px;margin-top:30px}.map-source{font-size:10px}footer{align-items:flex-start;font-size:12px}footer nav{gap:14px}dialog{width:calc(100% - 36px);margin:18px;padding:24px}dialog div{flex-wrap:wrap}.guide h1{font-size:38px}}@media(prefers-reduced-motion:reduce){#map path{transition:none}}
