@font-face{font-family:Nunito;src:url('assets/nunito.ttf') format('truetype');font-weight:200 1000;font-display:swap}
@font-face{font-family:Baloo;src:url('assets/baloo2.ttf') format('truetype');font-weight:400 800;font-display:swap}
:root{--ink:#183f37;--green:#185746;--green-dark:#103d32;--muted:#6b7b72;--cream:#f8f7f0;--paper:#fffefa;--line:#e5e6db;--coral:#e77958;--yellow:#f6ce66;--blue:#cce6ed;--font:Nunito,system-ui,sans-serif;--display:Baloo,Nunito,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5}button,input{font:inherit}button{cursor:pointer;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:disabled{cursor:default}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ba6329;outline-offset:4px}a{color:var(--green)}button svg,.icon svg{width:22px;height:22px;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.08}button{font-weight:800}small{font-size:12px}.skip-link{position:fixed;top:-70px;z-index:100;background:white;padding:14px;border-radius:9px}.skip-link:focus{top:8px}.site-header{height:103px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 64px;gap:28px}.brand{display:flex;gap:12px;align-items:center;text-align:left;padding:0;font-family:var(--display);font-size:31px;font-weight:800;line-height:1}.brand-icon{height:46px;width:46px;background:var(--coral);border-radius:15px;box-shadow:0 4px 0 #cf654a;display:grid;place-items:center;transform:rotate(-7deg)}.brand-icon svg{height:38px;width:38px}.brand-quest{color:var(--coral)}.brand small{display:block;font-family:var(--font);letter-spacing:2.1px;font-size:8px;margin-top:6px;font-weight:900}.main-nav{display:flex;gap:6px;background:#eeeee5;padding:6px;border-radius:50px}.nav-item{display:flex;align-items:center;gap:8px;min-width:116px;justify-content:center;padding:10px 17px;border-radius:30px;font-size:14px;color:#6a786f;transition:background .2s,transform .2s}.nav-item.active{background:var(--paper);box-shadow:0 2px 7px #193e3710;color:var(--ink)}.nav-item:hover{color:var(--ink)}.header-actions{display:flex;gap:12px;align-items:center}.xp-pill{display:flex;align-items:center;gap:6px;background:#fff0c7;border:1px solid #f4df9a;padding:8px 13px;border-radius:30px;font-size:13px;color:#7a5720;white-space:nowrap}.xp-pill svg{width:18px;height:18px;fill:#ebbc4f;stroke:#9a6d29}.icon-button{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:37px;height:37px;background:#fffefa80;color:#6c7e71}.icon-button:hover{background:white;color:var(--ink)}.icon-button svg{height:18px;width:18px}main{outline:none}main:focus{outline:none}.home{max-width:1440px;margin:auto;padding:30px 64px 20px}.hero-grid{display:grid;grid-template-columns:1fr 1.03fr;gap:56px;align-items:start}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:1000;display:flex;align-items:center;gap:8px;text-transform:uppercase}.eyebrow-badge{background:#e8eedf;display:inline-flex;padding:6px 10px;border-radius:7px;color:#506a4a}.status-dot{width:6px;height:6px;background:#5d8251;border-radius:50%;box-shadow:0 0 0 3px #5d825113}.hero-title{font-size:clamp(50px,5.3vw,77px);letter-spacing:-2.1px;margin:18px 0 13px;line-height:.99}.hero-title .accent{color:var(--coral);display:block;white-space:nowrap}.title-doodle{display:inline-block;font-size:.58em;vertical-align:top;color:#d39f33;transform:rotate(8deg);margin-left:6px;line-height:.9}.hero-description{font-size:15px;max-width:440px;line-height:1.7;color:#65766a}.config{margin-top:28px}.step-label{display:flex;gap:9px;align-items:center;font-size:10px;letter-spacing:1.6px;font-weight:1000;margin-bottom:12px}.step-number{background:#e9e9de;border-radius:6px;display:grid;place-items:center;height:23px;width:25px;letter-spacing:0;color:#6e7b6d;font-size:10px}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.topic-card{position:relative;border:1.5px solid #e0e4d9;border-radius:15px;padding:13px 13px 12px;background:#fffdf7;text-align:left;min-height:130px;transition:border-color .18s,transform .18s,box-shadow .18s;overflow:hidden}.topic-card:hover{transform:translateY(-3px);box-shadow:0 7px 20px #1749350c}.topic-card.selected{border-color:var(--green);background:#eef2e6;box-shadow:0 0 0 1px var(--green)}.topic-card.selected .topic-check{background:var(--green);border-color:var(--green);color:white}.topic-check{position:absolute;right:11px;top:11px;width:19px;height:19px;border:1.5px solid #d0d8c8;border-radius:50%;display:grid;place-items:center;background:white;color:transparent}.topic-check svg{width:12px;height:12px;stroke-width:3}.topic-art{height:47px;width:58px;margin-bottom:8px;display:block}.topic-card .topic-name{font-size:13px;display:block;white-space:nowrap}.topic-card .topic-count{font-size:10px;font-weight:700;color:#798376;display:block;margin-top:1px}.form-step{margin-top:21px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.form-button{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;min-height:70px;border:1px solid var(--line);border-radius:10px;font-size:10px;background:#fffdf6;padding:8px 2px;line-height:1.3;color:#72806f;transition:.15s}.form-button svg{width:19px;height:19px}.form-button.selected{background:#f9e9c5;border-color:#e5c475;color:#6d5121;box-shadow:0 0 0 .5px #e5c475}.form-button:hover{transform:translateY(-2px)}.form-note{color:#7e8779;font-size:11px;margin-top:8px;min-height:18px}.launch-row{margin-top:20px;display:flex;align-items:center;gap:14px}.primary-button{background:var(--green);color:white;border-radius:12px;padding:15px 24px;display:inline-flex;align-items:center;justify-content:center;gap:14px;font-size:15px;min-height:54px;box-shadow:0 4px 0 var(--green-dark);transition:transform .15s,box-shadow .15s,background .15s}.primary-button:hover{background:#216853;transform:translateY(-2px);box-shadow:0 6px 0 var(--green-dark)}.primary-button:active{transform:translateY(3px);box-shadow:0 1px 0 var(--green-dark)}.primary-button:disabled{background:#a1b4a4;box-shadow:0 4px 0 #899e8e;transform:none;color:#f9fcf8}.primary-button svg{width:20px;height:20px}.launch-row .primary-button{flex:1}.launch-note{font-size:10px;color:#7a8876;line-height:1.6;max-width:118px;display:flex;align-items:center;gap:7px}.launch-note svg{width:17px;height:17px;flex-shrink:0}.home-bottom{margin-top:32px;padding:21px 0 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:18px}.mascot-mini{width:47px;height:47px;border-radius:50%;background:#f8e3aa;display:grid;place-items:center;font-size:25px;flex-shrink:0;transform:rotate(-8deg)}.home-bottom strong{font-size:12px;display:block}.home-bottom p{font-size:11px;color:#7a8478;margin-top:2px}.arrow-scribble{margin-left:auto;transform:rotate(-10deg);color:#8b977d}.map-panel{position:relative;background:#d5e9ed;border-radius:26px;border:1px solid #c4dfe3;overflow:hidden;isolation:isolate}.home .map-panel{margin-top:3px;min-height:700px;box-shadow:0 9px 0 #c1d9dc25}.map-panel:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 10%,#fff8,transparent 55%);z-index:-1}.map-topline{position:absolute;left:25px;top:22px;display:flex;align-items:center;gap:7px;z-index:2;font-size:9px;letter-spacing:1.6px;font-weight:1000;color:#547880}.map-topline .live-dot{width:6px;height:6px;background:#4d8486;border-radius:50%}.map-sticker{position:absolute;right:19px;top:17px;background:#fffdf3;padding:7px 12px;border-radius:8px;transform:rotate(5deg);box-shadow:0 3px 0 #91b7bb40;font-size:9px;font-weight:900;z-index:2;display:flex;align-items:center;gap:5px}.map-sticker svg{width:14px;height:14px;color:#c98d2b}.map-surface{position:relative;width:100%;line-height:0}.home .map-surface{padding:37px 9px 14px}.map-svg{display:block;width:100%;height:auto;max-height:650px;touch-action:none;user-select:none;overflow:hidden}.map-svg .neighbor{fill:#e5eadd;stroke:#d7dfce;stroke-width:.6;pointer-events:none}.map-svg .province-base{stroke:#fffdf2;stroke-width:2;stroke-linejoin:round;fill:var(--province-color,#d0d9ae);transition:fill .15s,filter .15s}.map-svg .coast-shadow{fill:#548c8b22;transform:translate(0,5px);pointer-events:none}.map-svg .river-base{stroke:#6197ad;stroke-width:2.3;fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.map-svg .water-base{fill:#b1d8e6;stroke:#8bbaca;stroke-width:1.2;stroke-linejoin:round;transition:fill .15s}.map-svg .sea-base{fill:#bcdfe8;stroke:none}.map-svg .nature-base{fill:url(#trees);stroke:#638348;stroke-width:1.5}.map-svg .city-base{fill:#244b40;stroke:#fffdf1;stroke-width:2}.map-svg .city-ring{fill:#fffaf2;stroke:#47725e;stroke-width:1.3}.map-svg .water-hit{fill:none;stroke:transparent;stroke-width:18;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke}.map-svg .feature{outline:none}.map-svg .feature.clickable{cursor:pointer}.map-svg .province.clickable:hover .province-base,.map-svg .province.clickable:focus-visible .province-base{fill:#ffdb88;stroke:#7c611e;stroke-width:2.6}.map-svg .feature.selected .province-base,.map-svg .feature.target .province-base{fill:url(#target-stripes);stroke:#ad6234;stroke-width:3}.map-svg .city.clickable:hover .city-base,.map-svg .city.clickable:focus-visible .city-base,.map-svg .city.selected .city-base,.map-svg .city.target .city-base{fill:#d66e4b;stroke:#fff;stroke-width:2.5;r:8}.map-svg .water-feature.clickable:hover .river-base,.map-svg .water-feature.clickable:focus-visible .river-base,.map-svg .water-feature.target .river-base,.map-svg .water-feature.selected .river-base{stroke:#b94d24;stroke-width:6;filter:drop-shadow(0 0 2px #fff)}.map-svg .water-feature.clickable:hover .water-base,.map-svg .water-feature.clickable:focus-visible .water-base,.map-svg .water-feature.target .water-base,.map-svg .water-feature.selected .water-base{fill:url(#water-stripes);stroke:#ad6234;stroke-width:2.5}.map-svg .feature.correct .province-base{fill:#94cba2;stroke:#245e39;stroke-width:3}.map-svg .feature.correct .river-base{stroke:#245e39;stroke-width:6}.map-svg .feature.correct .water-base{fill:#9bc3aa;stroke:#245e39;stroke-width:3}.map-svg .feature.correct .city-base{fill:#245e39;r:8}.map-svg .feature.wrong .province-base{fill:#f3c1a6;stroke:#9b4d2a;stroke-width:3;stroke-dasharray:6 3}.map-svg .feature.wrong .city-base{fill:#b65f3f;r:8}.map-svg .feature.wrong .water-base{fill:#f1c3ac;stroke:#9b4d2a;stroke-width:3;stroke-dasharray:6 3}.map-svg .feature.wrong .river-base{stroke:#b65f3f;stroke-width:6;stroke-dasharray:6 3}.map-svg .map-label{font-family:Nunito,sans-serif;font-size:12px;font-weight:900;fill:#3f604d;paint-order:stroke;stroke:#eff4df;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.map-svg .sea-label{font-family:Baloo,sans-serif;font-size:19px;letter-spacing:3px;fill:#6498a6;pointer-events:none}.map-svg .country-label{font-family:Nunito,sans-serif;font-size:11px;font-weight:800;letter-spacing:3px;fill:#a0ac98;pointer-events:none}.map-svg .dike{stroke:#f4ebc7;stroke-width:3;pointer-events:none}.map-svg .target-pin{pointer-events:none;filter:drop-shadow(0 4px 2px #6c61382a)}.map-svg .pin-inner{animation:pin-float 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.map-svg .map-decoration{pointer-events:none}.map-svg .feature:focus-visible .water-hit{stroke:#a95e292d}.map-bottom-badge{position:absolute;left:23px;bottom:23px;border-radius:13px;background:#fffdf2ed;backdrop-filter:blur(4px);padding:12px 15px;display:flex;gap:12px;align-items:center;box-shadow:0 6px 17px #527f8420;max-width:calc(100% - 46px)}.map-bottom-badge .badge-icon{width:36px;height:36px;display:grid;place-items:center;background:#f8e4a9;border-radius:10px}.badge-icon svg{height:24px;width:24px;color:#886a2c}.map-bottom-badge strong{display:block;font-size:12px}.map-bottom-badge small{display:block;font-size:10px;color:#7b8b76}.map-prompt{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);background:#fffdf5e8;border:1px solid #fff;padding:7px 12px;border-radius:30px;font-size:10px;font-weight:800;color:#647f74;white-space:nowrap;pointer-events:none}.site-footer{max-width:1440px;display:flex;justify-content:space-between;gap:20px;margin:30px auto 0;padding:17px 64px 25px;font-size:10px;color:#8a9385;align-items:center}.site-footer button{font-size:10px;font-weight:700;color:#7d8b78;text-decoration:underline;text-decoration-color:#c5c9b8;text-underline-offset:3px}.footer-spark{color:#ce9a3c;margin-left:4px}.screen-enter{animation:screen-in .35s ease both}.test-mode .eyebrow-badge{background:#f8e8bd;color:#886a31}.test-mode .hero-title .accent{color:#b78a31}.test-rules{display:flex;gap:15px;flex-wrap:wrap;font-size:11px;font-weight:800;color:#7e6f46;margin-top:15px}.test-rules span{display:flex;align-items:center;gap:5px}.test-rules svg{width:15px;height:15px}.game{max-width:1440px;margin:auto;padding:22px 64px 25px}.game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.back-button{display:flex;align-items:center;gap:8px;color:#75816e;font-size:12px;padding:5px 0}.back-button svg{width:17px;height:17px}.game-meta{display:flex;align-items:center;gap:15px}.game-tag{font-size:10px;font-weight:1000;letter-spacing:1px;text-transform:uppercase;display:flex;gap:6px;align-items:center;color:#73846c}.game-tag svg{width:15px;height:15px}.game-progress{height:8px;width:150px;border-radius:20px;background:#e6e8dc;overflow:hidden}.game-progress span{display:block;height:100%;background:#71956d;border-radius:20px;transition:width .4s}.game-progress-label{font-size:12px;font-weight:900}.game-grid{display:grid;grid-template-columns:minmax(290px,.8fr) minmax(0,1.2fr);gap:44px;align-items:start}.question-card{padding:27px 0}.question-type{display:inline-flex;gap:7px;align-items:center;font-size:10px;letter-spacing:1px;font-weight:900;color:#8a6b33;background:#f7e8bd;border-radius:7px;padding:5px 9px}.question-type svg{width:14px;height:14px}.question-title{font-size:43px;letter-spacing:-.6px;margin:19px 0 12px;line-height:1.12}.question-title .question-name{color:#c56b4c;display:block;margin-top:6px}.question-subtitle{font-size:14px;color:#7a8674;line-height:1.8;max-width:370px}.question-info{margin-top:18px;font-size:11px;font-weight:800;color:#6b8267;display:flex;align-items:center;gap:6px}.question-info svg{width:17px;height:17px}.answers{margin-top:27px;display:grid;gap:10px}.answer-button{border:1.5px solid #e0e3d6;background:#fffdf7;display:flex;gap:14px;align-items:center;min-height:59px;text-align:left;border-radius:12px;padding:11px 15px;font-size:15px;transition:.15s;font-weight:800}.answer-letter{height:29px;width:29px;border:1px solid #dce0d1;border-radius:8px;display:grid;place-items:center;font-size:11px;color:#87947c;background:#f8f8ed;flex-shrink:0}.answer-button:hover:enabled{transform:translateX(3px);border-color:#8caa7f}.answer-button.selected{background:#ecf0df;border-color:#316b4f;box-shadow:0 0 0 .5px #316b4f}.answer-button.selected .answer-letter{background:#316b4f;color:white;border-color:#316b4f}.answer-button.correct-answer{background:#ecf2df;border-color:#5d885b}.answer-button.wrong-answer{background:#fff0e3;border-color:#b9754d}.answer-button:disabled{opacity:1}.answer-check{margin-left:auto;display:flex}.answer-check svg{width:20px;height:20px}.type-label{font-size:12px;display:block;margin-bottom:8px;font-weight:900}.type-row{display:flex;gap:8px}.type-input{width:100%;min-width:0;padding:14px;border:1.5px solid #cbd5c0;border-radius:11px;background:var(--paper);color:var(--ink);font-size:17px;outline:none;font-weight:800}.type-input:focus{border-color:#356d51;box-shadow:0 0 0 3px #456e4412}.type-input:disabled{background:#f2f3e9}.type-row button{border:1px solid #215b44;background:#215b44;color:white;border-radius:11px;min-width:51px}.type-row button:disabled{background:#a0b09b;border-color:#a0b09b}.type-help{font-size:10px;color:#8b957f;margin-top:8px}.click-instruction{margin-top:26px;border:1px dashed #b8c9a8;padding:18px;border-radius:13px;background:#f0f3e5;display:flex;gap:13px;align-items:center;font-size:13px;color:#627b58}.click-instruction svg{width:29px;height:29px;flex-shrink:0}.click-instruction strong{display:block}.click-instruction small{font-size:11px;display:block;color:#8a987d;margin-top:2px}.feedback{margin-top:22px;background:#e7efdc;border:1px solid #c8d9b4;border-radius:13px;padding:15px 17px;animation:screen-in .2s ease}.feedback.bad{background:#fbefde;border-color:#e9cfa8}.feedback strong{font-size:15px;display:flex;gap:8px;align-items:center}.feedback p{font-size:12px;margin-top:5px;line-height:1.65;color:#668059}.feedback.bad p{color:#8d7955}.feedback small{display:block;font-size:11px;margin-top:5px;color:#77886b}.game-actions{display:flex;gap:10px;margin-top:23px;align-items:center}.game-actions .primary-button{flex:1;font-size:13px;min-height:49px;padding:12px 16px}.secondary-button{border:1px solid #d2d9c5;background:#fffdf5;border-radius:10px;padding:12px 17px;font-size:12px;display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:45px}.secondary-button:hover{background:#f0f2e6}.hint-button{font-size:11px;color:#829375;display:flex;align-items:center;gap:5px;margin-top:20px;padding:5px 0}.hint-button svg{width:15px;height:15px}.hint-text{font-size:12px;background:#fff7db;border-radius:10px;padding:12px 14px;color:#837149;margin-top:10px}.game-bottom{margin-top:30px;display:flex;align-items:center;gap:12px;font-size:11px;color:#8b967e}.game-bottom svg{width:17px;height:17px}.game .map-panel{min-height:620px}.game .map-surface{padding:10px 8px}.game .map-svg{max-height:643px}.map-controls{position:absolute;bottom:19px;right:16px;display:flex;flex-direction:column;gap:1px;background:#fffdf3;border:1px solid #c2d6cb;border-radius:10px;overflow:hidden;box-shadow:0 3px 9px #5f8a8112;z-index:4}.map-controls button{width:34px;height:33px;display:grid;place-items:center}.map-controls button:hover{background:#eef1e4}.map-controls svg{width:16px;height:16px}.map-controls button:disabled{opacity:.35}.map-help-label{position:absolute;top:20px;left:21px;font-size:9px;font-weight:900;letter-spacing:1.1px;color:#698b86;z-index:2}.map-legend{display:flex;gap:18px;margin-top:11px;font-size:10px;color:#88967d;justify-content:center}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2e5a47;margin-right:5px}.legend-line{display:inline-block;width:15px;height:3px;background:#6098ae;vertical-align:middle;margin-right:5px}.legend-target{display:inline-block;width:9px;height:9px;background:#e8b65d;border:1px solid #9d6a36;margin-right:5px;transform:rotate(45deg)}.test-saved{margin-top:20px;padding:13px;background:#edf1e4;border-radius:10px;color:#6d845f;font-size:12px;display:flex;gap:8px}.result{max-width:1060px;margin:auto;padding:28px 45px}.result-hero{text-align:center;position:relative;padding:15px 20px 25px}.result-kicker{color:#7e8f70;letter-spacing:2px;font-size:11px;font-weight:1000}.result-illustration{width:112px;height:112px;display:block;margin:10px auto 12px;animation:reward-pop .7s cubic-bezier(.2,1.5,.4,1)}.result-title{font-size:55px;line-height:1.1}.result-description{font-size:14px;color:#7b8b70;margin:10px auto 0;max-width:520px}.result-score-row{margin:26px auto;display:flex;justify-content:center;align-items:center;gap:30px}.score-medal{width:114px;height:114px;background:#f8e5aa;border:1px solid #e7cc78;border-radius:30px;box-shadow:0 5px 0 #e8d19a;transform:rotate(-5deg);display:flex;flex-direction:column;align-items:center;justify-content:center}.score-medal .grade{font-family:var(--display);font-size:64px;font-weight:800;line-height:.9}.score-medal small{font-size:10px;font-weight:900}.score-medal.growing{background:#e8eedc;border-color:#c8d4b6;box-shadow:0 5px 0 #cfdbbc}.score-details{text-align:left;font-size:13px;color:#718367}.score-details strong{display:block;font-size:20px;color:var(--ink)}.score-details p{font-size:11px;margin-top:4px}.score-details .xp-earned{color:#ad7d25;font-weight:1000;font-size:12px;margin-top:10px}.result-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:10px}.result-buttons .primary-button{font-size:13px}.result-buttons .secondary-button{font-size:13px}.review-panel{margin-top:29px;border:1px solid var(--line);border-radius:19px;background:#fffdf7;overflow:hidden}.review-heading{padding:21px 25px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.review-heading h2{font-size:23px}.review-heading span{font-size:10px;color:#829273}.review-list{display:grid;grid-template-columns:1fr 1fr}.review-item{display:flex;gap:12px;padding:16px 23px;border-bottom:1px solid #eceee2;align-items:flex-start}.review-item:nth-child(odd){border-right:1px solid #eceee2}.review-status{border-radius:8px;background:#e9f0de;display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;color:#3d6b42}.review-status.miss{background:#faedda;color:#aa6e38}.review-status svg{height:16px;width:16px}.review-item strong{display:block;font-size:12px}.review-item small{font-size:10px;color:#879178;display:block;margin-top:2px}.review-item .review-error{color:#a27549}.review-map-button{margin-left:auto;font-size:10px;color:#617c52;text-decoration:underline;text-underline-offset:3px;flex-shrink:0;padding:5px 0}.review-item .review-number{font-size:9px;color:#a8ae9b;margin-right:4px}.result .encouragement{font-size:12px;text-align:center;color:#87977b;padding:20px}.progress-empty{text-align:center;padding:20px}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.progress-stat{padding:17px 10px;background:#f0f3e5;border-radius:12px;text-align:center;font-size:10px;color:#7b8b6b}.progress-stat strong{display:block;font-family:var(--display);font-size:31px;line-height:1.2;color:#355a3d}.history-row{display:flex;justify-content:space-between;gap:8px;font-size:11px;border-top:1px solid #e7ebdc;padding:12px 0}.history-row strong{font-size:14px}.history-row small{font-size:10px;color:#8a967b}dialog{border:1px solid #dce1cf;border-radius:23px;padding:0;background:#fffdf5;color:var(--ink);max-width:min(580px,calc(100vw - 28px));width:100%;box-shadow:0 24px 100px #143e3640;max-height:88vh}dialog::backdrop{background:#173c3560;backdrop-filter:blur(4px)}.modal-inner{padding:28px}.modal-header{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px}.modal-header h2{font-size:30px}.modal-body{font-size:13px;color:#708366;line-height:1.85}.modal-body p+p{margin-top:13px}.modal-body ul{padding-left:20px;margin:10px 0}.modal-body li{margin:8px 0}.modal-body strong{color:#31553e}.modal-body h3{font-size:19px;margin:20px 0 7px}.modal-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.modal-actions button{flex:1}.modal-map{background:#d7e9ec;border-radius:13px;margin-top:15px;overflow:hidden}.modal-map .map-svg{max-height:440px}.item-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.item-tags span{padding:3px 8px;background:#f0f2e7;border-radius:6px;font-size:10px;color:#69805f}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--green-dark);color:white;padding:12px 19px;border-radius:12px;z-index:200;font-size:12px;opacity:0;pointer-events:none;transition:.25s;max-width:90vw;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:120}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section-tip{margin-top:18px;font-size:11px;color:#839175;display:flex;gap:7px;align-items:center}.section-tip svg{width:15px;height:15px}.home .map-label{font-size:11px}.home .city-base{r:4}.home .map-svg .city-ring{r:7}.home .map-svg .province-base{stroke-width:2.1}.home .map-tooltip{position:absolute;z-index:3;top:69px;left:22px;padding:7px 11px;border-radius:8px;background:#fffdf3d9;font-size:11px;font-weight:800;pointer-events:none;opacity:0;transition:opacity .15s}.home .map-tooltip.shown{opacity:1}.home .map-svg .feature.explorable{cursor:help}.home .map-svg .province.explorable:hover .province-base{fill:#f6d17e;stroke:#b38743;stroke-width:2}.home .map-svg .city.explorable:hover .city-base{fill:#d86c4c;r:7}.home .map-svg .water-feature.explorable:hover .river-base{stroke:#a96d39;stroke-width:5}.home .map-svg .water-feature.explorable:hover .water-base{fill:#f0d18c}.home-map-caption{position:absolute;right:26px;bottom:108px;font-family:var(--display);font-size:16px;font-weight:600;line-height:1.2;transform:rotate(-8deg);color:#618c8b;text-align:center}.home .map-svg .home-route{stroke:#e2825f;stroke-width:2;stroke-dasharray:5 7;fill:none;opacity:.65;pointer-events:none}.result-spark{position:absolute;top:90px;left:calc(50% - 125px);font-size:30px;color:#d5aa43;animation:twinkle 2s ease-in-out infinite}.result-spark.right{left:auto;right:calc(50% - 125px);top:63px;font-size:20px;animation-delay:.5s}.learn-tip{padding:14px 18px;margin-top:20px;background:#f3f3e5;border-radius:12px;display:flex;align-items:center;gap:11px;font-size:11px;color:#879377}.learn-tip svg{width:23px;height:23px;flex-shrink:0}.learn-tip strong{color:#6c805a;display:block}.keyboard-hint{font-size:9px;color:#9aa58d;margin-top:13px}.keyboard-hint kbd{font:inherit;background:#ecefe0;border:1px solid #dfe4d2;border-radius:3px;padding:1px 4px}.map-loading{text-align:center;padding:40px;color:#65806d}.certificate-strip{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;font-size:10px;font-weight:900;color:#a9812f}.certificate-strip svg{height:16px;width:16px}.grade-note{font-size:10px;margin-top:8px;color:#9a8a66}.group-caption{display:inline-flex;font-size:10px;letter-spacing:.4px;color:#7b8d6d;margin-top:9px}.game .map-svg .sea-label{font-size:16px}.game .map-svg .background-label{opacity:.75}.map-svg .north-arrow{pointer-events:none}
@keyframes pin-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes screen-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes reward-pop{0%{opacity:0;transform:scale(.5) rotate(-14deg)}65%{transform:scale(1.13) rotate(4deg)}100%{opacity:1;transform:scale(1)}}@keyframes twinkle{0%,100%{transform:scale(.8) rotate(-10deg)}50%{transform:scale(1.1) rotate(8deg)}}
@media(min-width:1500px){.home{padding-top:46px}.hero-title{font-size:80px}.hero-grid{gap:75px}.home .map-panel{min-height:727px}.home .map-svg{max-height:677px}.config{margin-top:33px}.topic-card{min-height:137px}}
@media(max-width:1150px){.site-header{padding:0 35px;height:94px}.home,.game{padding-left:35px;padding-right:35px}.hero-grid{gap:30px}.hero-title{font-size:58px}.topic-card{padding:11px 9px}.topic-card .topic-name{font-size:11px}.topic-card .topic-count{font-size:9px}.home .map-panel{min-height:660px}.home .map-surface{padding-top:57px}.home .map-svg{min-height:520px}.launch-row{gap:10px}.launch-note{font-size:9px;max-width:99px}.game-grid{gap:27px}.question-title{font-size:37px}.game .map-panel{min-height:560px}.site-footer{padding-left:35px;padding-right:35px}.brand{font-size:28px}.header-actions{gap:8px}.nav-item{min-width:100px}.map-sticker{font-size:8px}.map-topline{font-size:8px;left:20px}.map-sticker{right:14px;top:19px;padding:6px 9px}}
@media(max-width:880px){.site-header{padding:0 24px}.brand{font-size:26px}.brand-icon{height:39px;width:39px;border-radius:12px}.brand small{font-size:7px;letter-spacing:1.5px}.xp-label{display:none}.header-actions{gap:6px}.xp-pill{padding:7px 9px;font-size:11px;gap:4px}.help-button{display:none}.main-nav{padding:4px}.nav-item{font-size:12px;min-width:auto;padding:10px 12px}.nav-item svg{height:17px;width:17px}.home,.game{padding:20px 24px}.hero-grid{gap:24px;grid-template-columns:1.05fr 1fr}.hero-title{font-size:49px;letter-spacing:-1.5px}.eyebrow{font-size:8px;letter-spacing:1.1px}.hero-description{font-size:13px}.config{margin-top:22px}.topic-grid{gap:7px}.topic-card{padding:11px 8px;min-height:115px}.topic-check{height:16px;width:16px;right:7px;top:8px}.topic-art{width:45px;height:40px}.topic-card .topic-name{font-size:10px}.topic-card .topic-count{font-size:8px}.form-button{font-size:9px}.form-note{font-size:10px}.launch-note{display:none}.primary-button{font-size:14px}.home .map-panel{min-height:625px}.home .map-svg{min-height:510px}.map-topline{left:16px;font-size:7px}.map-sticker{top:45px;font-size:7px;right:15px}.home-map-caption{font-size:13px;bottom:100px;right:13px}.map-bottom-badge{left:14px;bottom:16px;padding:10px 11px;gap:8px;max-width:calc(100% - 28px)}.map-bottom-badge strong{font-size:10px}.map-bottom-badge small{font-size:8px}.map-bottom-badge .badge-icon{height:29px;width:29px}.map-bottom-badge .badge-icon svg{width:20px;height:20px}.home-bottom{gap:11px;margin-top:24px;padding-top:18px}.home-bottom p{font-size:10px}.home-bottom strong{font-size:11px}.arrow-scribble{display:none}.game-grid{grid-template-columns:.85fr 1.15fr;gap:23px}.question-title{font-size:31px}.question-subtitle{font-size:12px}.question-card{padding:17px 0}.game .map-panel{min-height:520px}.game .map-svg{min-height:500px}.answer-button{padding:9px 10px;font-size:13px;min-height:51px;gap:10px}.answer-letter{width:25px;height:25px}.game-actions{flex-wrap:wrap}.game-actions .primary-button{min-width:140px}.game-actions .secondary-button{font-size:10px}.game-progress{width:100px}.game-meta{gap:8px}.game-tag{font-size:9px}.review-map-button{font-size:9px}.review-item{padding:15px}.site-footer{padding:15px 24px 24px}.site-footer>span:last-child{display:none}}
@media(max-width:660px){.site-header{padding:0 18px;height:81px;gap:10px;flex-wrap:wrap}.brand{font-size:25px;gap:9px}.brand small{font-size:6px;letter-spacing:1.5px}.brand-icon{height:34px;width:34px;border-radius:11px}.brand-icon svg{height:30px;width:30px}.nav-item{padding:8px 10px;font-size:11px;gap:5px}.nav-item svg{height:15px;width:15px}.header-actions{gap:5px}.xp-pill{padding:7px 8px;font-size:10px}.xp-pill svg{height:14px;width:14px}.header-actions .icon-button{display:none}.home{padding:20px 20px 5px}.hero-grid{display:flex;flex-direction:column;gap:30px}.hero-copy{width:100%}.hero-title{font-size:63px;line-height:.98;margin-top:20px;letter-spacing:-1.8px}.hero-description{max-width:360px;font-size:14px}.eyebrow{font-size:8px}.config{margin-top:26px}.step-label{font-size:9px}.topic-card{min-height:122px;padding:12px}.topic-card .topic-name{font-size:12px}.topic-card .topic-count{font-size:9px}.topic-grid{gap:9px}.topic-art{height:40px;width:52px;margin-bottom:10px}.topic-check{height:18px;width:18px;right:9px;top:10px}.form-grid{gap:8px}.form-button{font-size:9px;min-height:66px}.launch-note{display:flex;font-size:9px;max-width:100px}.launch-row{gap:16px}.launch-row .primary-button{font-size:14px;padding-left:12px;padding-right:12px}.form-note{font-size:10px}.home .map-panel{width:100%;min-height:0;height:530px}.home .map-surface{padding:15px 10px 10px;height:100%}.home .map-svg{max-height:490px;min-height:0;height:100%;width:100%}.home .map-topline{font-size:8px}.home .map-sticker{top:19px;font-size:8px}.home .map-bottom-badge{bottom:16px}.home .map-tooltip{top:47px}.home-map-caption{bottom:107px;right:25px}.home-bottom{margin-top:26px}.game{padding:10px 18px 15px}.game-grid{display:flex;flex-direction:column;gap:14px}.question-card{display:contents}.question-title{font-size:32px;margin:9px 0 0;line-height:1.15}.question-title .question-name{display:inline;margin-left:5px;margin-top:0}.question-type{font-size:9px;align-self:flex-start}.question-subtitle{font-size:12px;line-height:1.6;margin-top:-4px}.question-info{display:none}.game-grid>.map-column{order:2;width:100%}.question-card .answers{order:3;width:100%;margin-top:0}.question-card .feedback,.question-card .test-saved{order:4;width:100%;margin-top:0}.question-card .game-actions{order:5;width:100%;margin-top:3px}.question-card .hint-container{order:6;width:100%}.question-card .game-bottom{order:7;margin-top:4px}.question-card .keyboard-hint,.question-card .learn-tip{display:none}.question-card .click-instruction{display:none}.question-card .group-caption{display:none}.game-toolbar{margin-bottom:16px;gap:8px}.game-meta{gap:8px}.game-tag{display:none}.back-button{font-size:10px}.game-progress{width:99px}.game-progress-label{font-size:10px}.game .map-panel{min-height:0;height:445px;border-radius:18px}.game .map-surface{padding:4px;height:100%}.game .map-svg{min-height:0;height:100%;max-height:none}.game .map-help-label{top:12px;left:14px;font-size:8px}.map-controls{bottom:12px;right:12px}.map-controls button{height:31px;width:31px}.map-prompt{font-size:8px;bottom:11px;padding:5px 9px}.map-legend{margin-top:7px;gap:13px;font-size:9px}.answer-button{min-height:48px;padding:8px 12px;font-size:13px}.answers.multiple-answers{grid-template-columns:1fr 1fr;gap:8px}.answer-letter{width:23px;height:23px;font-size:9px;flex-shrink:0}.answer-button{gap:7px}.answer-check svg{height:15px;width:15px}.type-input{padding:12px;font-size:16px}.type-label{font-size:11px}.feedback{padding:12px 15px}.feedback strong{font-size:13px}.feedback p{font-size:11px}.hint-button{margin-top:0;font-size:11px}.result{padding:12px 18px}.result-hero{padding:12px 0 20px}.result-title{font-size:42px}.result-illustration{width:95px;height:95px}.result-score-row{gap:22px;margin:23px auto}.score-medal{width:100px;height:100px;border-radius:24px}.score-medal .grade{font-size:58px}.score-details strong{font-size:17px}.review-list{grid-template-columns:1fr}.review-item:nth-child(odd){border-right:0}.review-heading{padding:17px}.review-heading h2{font-size:21px}.review-heading span{font-size:9px}.review-item{padding:13px 17px}.review-map-button{font-size:10px}.review-item strong{font-size:12px}.result-description{font-size:12px;max-width:320px}.modal-inner{padding:23px}.modal-header h2{font-size:27px}.modal-body{font-size:12px}.progress-stats{gap:6px}.progress-stat{padding:13px 5px}.site-footer{padding:17px 20px 20px;margin-top:20px;font-size:8px;gap:8px}.site-footer button{font-size:8px}.result-spark{left:calc(50% - 105px)}.result-spark.right{right:calc(50% - 105px)}.launch-row .primary-button{min-height:52px}.form-step{margin-top:21px}.home-bottom p{font-size:10px}.game-actions .primary-button{min-height:47px}}
@media(max-width:380px){.hero-title{font-size:54px}.brand{font-size:22px}.brand-icon{width:29px;height:29px}.brand small{font-size:5px}.nav-item{font-size:10px;padding:8px}.nav-item svg{display:none}.xp-pill{font-size:9px;padding:6px}.topic-card{padding:10px 9px}.topic-card .topic-name{font-size:10px}.launch-note{display:none}.game .map-panel{height:410px}.answers.multiple-answers{grid-template-columns:1fr}.question-title{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.brand{font-family:Nunito,sans-serif;font-size:25px;font-weight:1000;color:#278de1;gap:5px;letter-spacing:-.8px}.brand .brand-globe{width:65px;height:56px;mix-blend-mode:multiply;flex-shrink:0}.brand small{font-size:7px;letter-spacing:2.2px;color:#5d7d77;margin-top:8px}.brand .brand-quest{color:inherit}.question-title:focus{outline:none}.map-legend svg{width:12px;height:12px;vertical-align:middle}.mascot-mini svg{width:28px;height:28px;color:#93752d}.home .test-mode .hero-title{font-size:64px}.windmill-sails{transform-origin:0 -15px;animation:sails 22s linear infinite}.boat{animation:boat-bob 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.nav-item.active{color:#2069a4}.nav-item.active svg{color:#2b8ad3}.home .map-sticker svg{fill:#f4d477}.result .result-kicker{color:#2b82bd}.test-mode .hero-title{font-size:clamp(43px,4.5vw,65px)}.test-mode .hero-title .accent{white-space:normal}.score-medal .grade{color:#765821}.score-medal.growing .grade{color:#507242}.xp-pill{color:#815b16}
@keyframes sails{to{transform:rotate(360deg)}}@keyframes boat-bob{0%,100%{translate:0 0}50%{translate:0 -3px}}
@media(max-width:1150px){.brand{font-size:22px}.brand .brand-globe{width:55px;height:50px}.brand small{font-size:6px;letter-spacing:1.8px}.test-mode .hero-title{font-size:49px}}
@media(max-width:880px){.brand{font-size:19px}.brand .brand-globe{width:47px;height:43px}.brand small{font-size:5px}.test-mode .hero-title{font-size:43px}}
@media(max-width:660px){.brand{font-size:18px;gap:2px}.brand .brand-globe{width:39px;height:39px}.brand small{font-size:5px;letter-spacing:1px;margin-top:6px}.test-mode .hero-title{font-size:54px;max-width:370px}}
@media(max-width:380px){.brand{font-size:16px}.brand .brand-globe{width:34px;height:34px}.brand small{font-size:4px;letter-spacing:.8px}.test-mode .hero-title{font-size:47px}}
.map-svg .sea-base{fill:transparent}.map-svg .water-base{fill-rule:evenodd}.home .map-panel{background:#d5e9ed}.review-heading svg{height:15px;width:15px;vertical-align:middle}.test-mode .hero-grid{align-items:start}
@media(max-width:660px){.site-header{display:grid;grid-template-columns:1fr auto;grid-template-rows:48px 47px;height:106px;gap:0 10px;padding:0 20px}.brand{grid-column:1;grid-row:1;justify-self:start}.header-actions{grid-column:2;grid-row:1}.main-nav{grid-column:1/-1;grid-row:2;justify-self:center}.nav-item{min-width:116px}.hero-title{font-size:clamp(42px,12vw,58px);letter-spacing:-1px;line-height:1.04}.hero-title .accent{white-space:normal}.hero-title .title-doodle{display:none}.test-mode .hero-title{font-size:clamp(40px,11.5vw,54px)}.topic-card .topic-name{white-space:normal;font-size:11px}.topic-card .topic-count{font-size:8px}.home .hero-grid,.hero-copy{min-width:0}.brand .brand-globe{width:41px;height:39px}.brand{font-size:20px}.brand small{font-size:5px}.site-footer{flex-wrap:wrap}}
@media(max-width:380px){.site-header{padding:0 17px}.brand{font-size:18px}.brand .brand-globe{width:37px;height:36px}.hero-title{font-size:42px}.topic-card .topic-name{font-size:10px}}
.map-svg [data-feature="waddenzee"] .sea-base{fill:#c5e2e9}.map-svg .neighbor{stroke:#e5eadd}
.map-svg .context-water{fill:#badde7;stroke:none;pointer-events:none}
.map-svg .river-area{fill:#6197ad;stroke:#6197ad;stroke-width:1.5;stroke-linejoin:round}
.map-svg .water-area-hit{fill:transparent;stroke:transparent;stroke-width:13;stroke-linecap:round;stroke-linejoin:round;pointer-events:all}
.map-svg .province-base{fill-rule:evenodd}
.spelling-note{display:flex;align-items:flex-start;gap:7px;margin-top:8px;padding:8px 10px;border:1px solid #ead8a6;border-radius:8px;background:#fff5d9;color:#7c612d}
.spelling-note>.ui-icon{width:17px;height:17px;flex:0 0 17px;margin-top:1px}
.feedback .spelling-note p{font-size:11px;line-height:1.5;margin:0}
.feedback .spelling-note strong{display:block;font-size:11px;line-height:1.4;margin-bottom:2px}
.feedback .spelling-note small{display:block;font-size:10px;color:#8b774e;margin-top:2px}
.review-item small.review-spelling{color:#92702f;line-height:1.6;margin-top:5px;padding-left:7px;border-left:2px solid #e3c879}
.map-credit{display:block;font-size:8px;margin-top:3px;color:#8a9385}.map-credit a{color:inherit;text-underline-offset:2px}
.ui-icon{display:inline-block;width:22px;height:22px;flex-shrink:0;vertical-align:middle}
.feedback{padding:12px 14px;border-radius:11px;overflow-wrap:anywhere}
.feedback strong{font-size:14px;line-height:1.35;gap:8px;align-items:center}
.feedback strong .ui-icon{width:19px;height:19px;min-width:19px;max-width:19px;flex:0 0 19px}
.feedback p{margin-top:5px;font-size:12px;line-height:1.55}
.feedback small{font-size:11px;line-height:1.5;margin-top:4px}
.test-saved .ui-icon{width:18px;height:18px;flex:0 0 18px}
.map-compass{position:absolute;left:18px;top:49px;width:72px;height:72px;z-index:3;pointer-events:none;filter:drop-shadow(0 2px 2px #35655b12)}
.map-compass svg{display:block;width:100%;height:100%}
.modal-map{position:relative}.modal-map .map-compass{top:14px;left:14px;width:60px;height:60px}
.home .map-tooltip{top:135px}
.selection-help{margin-left:auto;font-size:8px;font-weight:800;letter-spacing:0;color:#8a967d}
.all-topics-button{display:flex;position:relative;align-items:center;gap:10px;width:100%;padding:10px 13px;margin-top:10px;border:1.5px solid #dce2d4;border-radius:12px;background:#fffdf6;text-align:left;transition:background .15s,border-color .15s}
.all-topics-button:hover{background:#f0f3e6}.all-topics-button.selected{background:#eef2e6;border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.all-topics-button .topic-check{position:static;margin-left:auto;flex-shrink:0}
.all-topics-button.selected .topic-check{background:var(--green);border-color:var(--green);color:white}
.all-topics-icon{height:33px;width:33px;display:grid;place-items:center;border-radius:10px;background:#f8e8bb;color:#91713b;flex-shrink:0}
.all-topics-icon .ui-icon{width:19px;height:19px}.all-topics-button strong{display:block;font-size:12px}.all-topics-button small{display:block;font-size:9px;color:#7a8970;margin-top:1px;font-weight:700}
.combine-topics-button{display:flex;gap:4px;align-items:center;padding:8px 0 1px;font-size:10px;color:#7d8c70;font-weight:800}
.combine-topics-button .ui-icon{width:12px;height:12px}
.custom-topic-options{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.custom-topic-option{padding:6px 9px;border:1px solid #d1dbc4;border-radius:8px;font-size:10px;display:flex;gap:4px;align-items:center;background:#fffdf5}
.custom-topic-option .ui-icon{width:12px;height:12px;opacity:.2}.custom-topic-option.selected{background:#e7efda;border-color:#7d9d66}.custom-topic-option.selected .ui-icon{opacity:1}
.topic-selection-summary{font-size:10px;color:#829074;line-height:1.5;padding-top:9px}.topic-selection-summary strong{color:#536f49}
.form-step{margin-top:18px}.test-mode .launch-row{margin-top:25px}
@media(max-width:660px){.map-compass{width:58px;height:58px;top:35px;left:13px}.home .map-compass{top:47px}.home .map-tooltip{top:110px;left:15px}.feedback strong{font-size:13px}.feedback p{font-size:11px}.feedback small{font-size:10px}.all-topics-button{padding:9px 11px}.all-topics-button strong{font-size:11px}.all-topics-button small{font-size:8px}.all-topics-icon{height:30px;width:30px}.combine-topics-button{font-size:9px}.topic-selection-summary{font-size:9px}.form-button{font-size:8px}}
