
/* MiniVille: a quiet tabletop town, original vector buildings and cardboard pieces. */
body{background:#f5efdf;color:#38483c}h1{letter-spacing:-.5px}.welcome p{max-width:560px;margin:auto}.apps,.subapps{background:#e7e9d7;border:2px solid #c7cdb3;border-radius:32px;padding:28px 22px;box-shadow:0 7px 0 #c9cbb8;position:relative;gap:20px}.app-tile{position:relative;background:#fffaf0;border:2px solid #d4ccb7;border-radius:16px;padding:13px 10px 18px;box-shadow:0 5px 0 #c8bea5;min-width:0}.app-icon{width:100%;height:158px;border-radius:10px;background:var(--icon-bg);border:0;box-shadow:none!important;margin-bottom:14px}.app-icon svg{width:145px;height:145px}.app-label{font-size:21px}.app-caption{font-size:14px}.app-tile:before{content:"";width:26px;height:26px;border-radius:50%;position:absolute;right:8px;top:8px;background:#f0d48e;border:2px solid #b09c63;box-shadow:0 2px 0 #b09c63;z-index:1}.app-tile.locked{background:#f1eee5;border:2px solid #d4ccb7;opacity:1;color:#747467;box-shadow:none}.app-tile.locked .app-icon{opacity:.5}.app-tile.locked:before{background:#ddd9cc;border-color:#a5a394;box-shadow:none}.app-tile:hover{transform:translateY(-2px)}.reassurance{line-height:1.8}.level{background:#fffaf0}.subapps .app-icon{width:100%;height:130px;border-radius:10px}.subapps .app-icon svg{width:110px;height:110px}.subapps .app-label{font-size:20px}.lock-note{background:#fffaf0;border:2px solid #d4ccb7;border-radius:16px;padding:22px;max-width:560px;margin:auto}@media(max-width:600px){.apps,.subapps{padding:16px 12px;gap:16px 12px;border-radius:22px}.app-icon{height:130px}.app-icon svg{width:120px;height:120px}.app-label{font-size:19px}.app-caption{font-size:13px}.welcome h1{font-size:29px}.subapps .app-icon{height:105px}.subapps .app-icon svg{width:90px;height:90px}.subapps .app-label{font-size:18px}}

.existing-games{margin:36px auto 0;max-width:760px}.existing-games h2{text-align:center;font-size:24px;margin:0 0 8px}.existing-games>p{text-align:center;color:#59655e;font-size:16px;margin:0 0 18px}.game-apps{display:grid;grid-template-columns:1fr 1fr;gap:18px}.game-app{display:flex;align-items:center;gap:16px;background:#fffaf0;border:2px solid #d4ccb7;border-radius:16px;box-shadow:0 4px 0 #c8bea5;padding:18px;color:#38483c;text-decoration:none;font-family:inherit;text-align:left}.game-app strong{display:block;font-size:19px}.game-app small{display:block;font-size:14px;margin-top:7px}.game-badge{display:grid;place-items:center;width:55px;height:55px;flex-shrink:0;font-size:33px;border-radius:14px;background:#e4ebd7;color:#506348}.game-closed{box-shadow:none;background:#f1eee5;color:#747467}.game-closed .game-badge{background:#e5dfce;color:#8c8067}.game-app:focus-visible{outline:3px solid #315d70;outline-offset:4px}@media(max-width:600px){.game-apps{grid-template-columns:1fr}.game-app{padding:16px}.existing-games{margin-top:30px}}

/* Lively board-game colours, original French village architecture. */
:root{--ink:#29495b;--sage:#326c8a;--cream:#fff8e8}body{background:#eaf5fb;color:#29495b}.brand{color:#2d7198}.welcome h1,.section-title h1{color:#245d7e}.welcome p,.section-title p{color:#456577}.level{background:#fffaf0;border-color:#a4c8de;color:#345e77}.apps,.subapps{background:#ddecce;border-color:#a8c58e;box-shadow:0 7px 0 #9eb98a}.app-tile{background:#fffaf0;border-color:#a5bfcc;box-shadow:0 5px 0 #90a9b6;border-top:8px solid var(--accent)}.universe-1{--accent:#4291c1;--icon-bg:#daeff9}.universe-2{--accent:#e07d45;--icon-bg:#fff0d2}.universe-3{--accent:#72ab4c;--icon-bg:#e8f2d4}.universe-4{--accent:#9575b6;--icon-bg:#eee4f6}.app-icon{background:var(--icon-bg)}.app-icon svg{width:150px;height:150px}.app-label{color:#29495b}.app-caption{color:#456577}.app-tile:before{background:#f6d45c;border-color:#b58b36;box-shadow:0 2px 0 #b58b36}.app-tile.locked{border:2px solid #bacbd1;border-top:8px solid var(--accent);background:#f4f7f4;color:#536875}.app-tile.locked .app-icon{opacity:.67}.app-tile.locked .app-label{color:#536875}.app-tile.locked:before{background:#f3de99;border-color:#b8a268}.game-app{border-color:#a5bfcc;border-top:5px solid #4291c1;box-shadow:0 4px 0 #90a9b6}.game-app.game-closed{border-top-color:#e0b648;box-shadow:none}.game-badge{background:#daeff9;color:#2d7198}.game-closed .game-badge{background:#fff0c8;color:#8a7137}.game-app strong{color:#29495b}.game-app small{color:#456577}.repere,.practice,.mission-card{background:#fffaf0}.mini-game{background:#ddecce;border-color:#a8c58e;box-shadow:0 6px 0 #9eb98a}.destination.bin-0{background:#daeff9;border-color:#438fc0;box-shadow:0 4px 0 #8bb9d1}.destination.bin-1{background:#ffe6d1;border-color:#d17b49;box-shadow:0 4px 0 #d6a383}.token.earned{background:#f6d45c;border-color:#b58b36;box-shadow:0 2px 0 #b58b36}.start,.resource{background:#347da2}.resource.paper{background:#fffaf0;color:#306887;border-color:#8eafc0}.reassurance,footer,footer a,.back{color:#456577}.app-tile:focus-visible,.game-app:focus-visible{outline-color:#245d7e}@media(max-width:600px){.app-icon svg{width:120px;height:125px}}

.library-link{max-width:560px;margin:20px auto}.library-grid{margin-top:26px}.learning-sequence{padding-left:24px;line-height:1.6}.learning-sequence li{margin:18px 0;padding-left:8px}.learning-sequence span{display:block;font-size:18px;margin-top:5px}

.learning-sequence{list-style:none;padding:0;counter-reset:ideas}.learning-sequence li{display:grid;grid-template-columns:29px 1fr;gap:4px 14px}.learning-sequence li:before{grid-row:1/3}.learning-sequence strong,.learning-sequence span{grid-column:2}.learning-sequence span{margin-top:0}

.town-panorama{margin:24px 0 28px;border:4px solid #fffaf0;border-radius:22px;overflow:hidden;box-shadow:0 5px 0 #8eb2c6}.town-panorama img{display:block;width:100%;height:240px;object-fit:cover}.app-icon{overflow:hidden}.app-icon img{width:100%;height:100%;object-fit:cover;border-radius:10px}.app-tile.locked .app-icon{opacity:.7}.apps{border-color:#75ae44;box-shadow:0 7px 0 #75ae44;background:#ddedc5}.app-tile{border-top-color:#278fc4}.universe-2{--accent:#f08b34}.universe-3{--accent:#69ac3a}.universe-4{--accent:#9560bb}.welcome{margin-bottom:20px}@media(max-width:600px){.town-panorama img{height:155px}.town-panorama{margin-top:20px}}
