/* Shared MiniVille identity, loaded last on every screen. */
:root{--mv-blue:#368fc7;--mv-blue-dark:#235d80;--mv-sky:#c7e5f5;--mv-paper:#fffaf0;--mv-green:#76b34a;--mv-orange:#ed8a43;--mv-purple:#9466b6;--mv-yellow:#ffd15c;--mv-ink:#29495b;--mv-border:#8bb6ce;--mv-shadow:#84abc0;--ink:var(--mv-ink);--sage:var(--mv-blue-dark)}
body{background:var(--mv-sky)!important;color:var(--mv-ink);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.6}.home,.app{max-width:1100px;margin:auto;padding:26px 28px}.brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0}.brand-logo{display:block;width:245px;height:auto}.brand svg{display:none}.identity-bar,.home>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;background:var(--mv-paper);border:2px solid var(--mv-border);border-radius:20px;box-shadow:0 4px 0 var(--mv-shadow);margin-bottom:24px}.level{border:1px solid var(--mv-border);background:#e5f2fa;color:var(--mv-blue-dark);font-size:12px}.welcome h1,.section-title h1,h1{color:var(--mv-blue-dark)}.welcome p,.section-title p,.back,footer,footer a{color:#345d75}.back,.menu-return{color:var(--mv-blue-dark)!important;font-weight:700}.app>header{margin:20px 0}.app .eyebrow{color:#42657a}.app .intro{background:#e1efce;border:2px solid #91b969;border-radius:20px;box-shadow:0 4px 0 #99b774}.app .intro h2{color:var(--mv-blue-dark)}.apps,.subapps{background:#e1efce;border:2px solid #91b969;box-shadow:0 6px 0 #99b774}.app-tile{--accent:var(--mv-blue);border:2px solid var(--mv-border);border-top:7px solid var(--accent);background:var(--mv-paper);box-shadow:0 4px 0 var(--mv-shadow)}.universe-1{--accent:var(--mv-blue)}.universe-2{--accent:var(--mv-orange)}.universe-3{--accent:var(--mv-green)}.universe-4{--accent:var(--mv-purple)}.app-tile.locked{border-top-color:var(--accent)}.app-label{color:var(--mv-ink)}.app-icon{overflow:hidden;background:#e5f2fa}.world-art{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px}.subapps .app-icon{height:155px}.mini-game,.practice,.panel,.city-card{background:var(--mv-paper);border:2px solid var(--mv-border);border-radius:22px;box-shadow:0 5px 0 var(--mv-shadow);color:var(--mv-ink)}.mini-game{max-width:800px;background:#e1efce;border-color:#91b969;box-shadow:0 5px 0 #99b774}.mission-card,.question,.route-piece{background:var(--mv-paper);border:2px solid #c4bfa9;border-radius:15px;box-shadow:0 3px 0 #c4bfa9}.mission-card h3,.question{color:var(--mv-ink)}.mission-card{border-top:6px solid var(--mv-blue)}.tokens .token.earned,.tabletop-tokens .earned{background:var(--mv-yellow);border-color:#bc942f;box-shadow:0 2px 0 #bc942f}.destination,.shop-destinations .choice{border-radius:16px;border-width:2px;box-shadow:0 4px 0 var(--mv-shadow);color:var(--mv-ink)}.small-building{width:150px;height:105px;overflow:hidden;border-radius:10px;margin-bottom:12px}.french-shop{width:100%;height:130px;overflow:hidden;border-radius:10px;margin-bottom:10px}.shop-destinations .choice{padding:12px;min-height:195px;font-size:19px}.shop-destinations .choice.independent{background:#ffead8;border-color:#d99461}.shop-destinations .choice.integrated{background:#e1f1fb;border-color:#68a3c8}.shop-destinations .choice.associated{background:#edf5dd;border-color:#a0bc78}.destination.bin-0{background:#e1f1fb;border-color:#68a3c8}.destination.bin-1{background:#ffead8;border-color:#d99461}.primary,.start,.resource{background:var(--mv-blue-dark);color:white;border-radius:13px;min-height:48px;font-size:18px;font-weight:700}.resource.paper,.secondary{color:var(--mv-blue-dark);background:var(--mv-paper);border:1px solid var(--mv-border)}.steps button[aria-current="step"]{background:var(--mv-yellow)!important;color:#59491e!important;border-color:#bc942f!important}.steps button{background:var(--mv-paper);border-color:var(--mv-border);color:var(--mv-blue-dark);font-size:16px;box-shadow:0 3px 0 var(--mv-shadow)}.steps button:disabled{background:#eef2f2;border-color:#b1c3cb;color:#596c74;box-shadow:none}.score{background:#fff0bb;border:2px solid #c8a644;border-radius:16px;box-shadow:0 3px 0 #c8a644;color:var(--mv-ink)}.score strong{color:#846519}.reading-tools,.memo,.game-help,.hint,.word-help{background:var(--mv-paper);border-color:var(--mv-border);border-radius:16px;color:var(--mv-ink)}.reading-tools button{color:var(--mv-blue-dark);border-color:var(--mv-border)}.tag{background:#fff0bb;color:#725820}.feedback.good{background:#e5f1d6;color:#3d602b}.feedback.retry,.feedback.bad{background:#fff0d9;color:#805129}.game-badge{background:#d6edfa;color:var(--mv-blue-dark)}.game-app{border-top-color:var(--mv-blue)}.city-heading,.city-footer{background:var(--mv-paper);color:var(--mv-ink)}.city-heading h2{color:var(--mv-blue-dark)}.legend{color:var(--mv-ink)}.route-slots .placed{background:#dcefc7;border-color:#8faf64}.small-building svg{display:none}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #245d7e;outline-offset:4px}.locked .world-art{filter:saturate(.65)}
@media(max-width:600px){.home,.app{padding:18px 14px}.brand-logo{width:180px}.identity-bar,.home>header{padding:10px 12px;gap:8px;border-radius:16px}.level{font-size:10px;padding:5px 8px}.subapps .app-icon{height:120px}.french-shop{width:100px;height:90px;margin:0;flex-shrink:0}.shop-destinations .choice{min-height:120px;gap:16px}.small-building{width:120px;height:90px}.app>header{gap:12px}h1{font-size:27px}.steps button{font-size:14px}}@media(max-width:360px){.brand-logo{width:155px}.level{font-size:9px}.identity-bar,.home>header{padding:8px}.french-shop{width:82px;height:80px}}

.intro-art{width:260px;min-height:125px;flex-shrink:0;border-left:2px solid #91b969;overflow:hidden}.intro-art .world-art{border-radius:0;object-position:0% center}.app .intro>div:first-child{padding:20px}.app .intro .intro-art{padding:0}.identity-bar .level{display:inline-block;border-radius:20px;padding:6px 13px;font-weight:700;white-space:nowrap}@media(max-width:720px){.intro-art{display:none}.identity-bar .level{font-size:10px;padding:5px 8px}}

/* Every illustration depicts its own learning concept, shown without cropping. */
.app-icon,.small-building,.french-shop{background:#fffaf1}.scene-image,.world-art.scene-image{object-fit:contain!important;object-position:center!important}.scene-triptych{display:flex;width:100%;height:100%;gap:3px;padding:3px;background:#fffaf1;align-items:center;border-radius:10px;overflow:hidden}.scene-triptych img{width:calc((100% - 6px)/3);height:100%;object-fit:contain!important;object-position:center!important;min-width:0}.intro-art .scene-triptych{border-radius:0;padding:6px}.subapps .app-icon{height:190px}.app-icon img.scene-image{width:100%;height:100%;object-fit:contain!important}.french-shop{height:155px}.small-building{height:125px;width:170px}.library-grid .app-icon .scene-triptych{gap:1px;padding:0}.app-icon>.scene-triptych{position:relative}@media(max-width:600px){.subapps .app-icon{height:150px}.french-shop{height:95px;width:100px}.small-building{height:95px;width:125px}}

/* Warm paper palette: restrained sage controls, sand borders, charcoal text. */
:root{--mv-blue:#879d73;--mv-blue-dark:#4b6346;--mv-sky:#f5efdf;--mv-ink:#3e493a;--mv-border:#c6bba0;--mv-shadow:#b8aa8a}
.level{background:#f0ead8;color:#4b6346}.welcome p,.section-title p,.back,footer,footer a,.app .eyebrow{color:#59644f}.app-tile.locked{background:#f7f2e8;border-color:#c6bba0;border-top-color:var(--accent)}.app-tile.locked .app-label,.app-caption{color:#59644f}.shop-destinations .choice.integrated,.destination.bin-0{background:#e6eee0;border-color:#93aa80;box-shadow:0 4px 0 #a2b58f}.steps button:disabled{background:#f1eddf;border-color:#c6bba0;color:#666b5b}.game-badge{background:#e6eee0}.town-panorama{box-shadow:0 5px 0 #b8aa8a}
