/* France Collège — Réviser › Atlas (pays du monde, départements français). Complète eleve-app.css. */
.at-lecons{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.at-lecon{display:flex;align-items:center;gap:14px;text-align:left;padding:14px 16px;border-radius:22px;border:3px solid #10234f;background:linear-gradient(135deg,#fff,#eef5ff);box-shadow:5px 5px 0 #10234f;cursor:pointer;font:inherit;color:#10234f;min-width:0;transition:transform .12s}
.at-lecon:hover{transform:translate(-1px,-2px)}
.at-lecon .e{font-size:38px;line-height:1;flex:0 0 auto}
.at-lecon strong{display:block;font-size:19px;line-height:1.2}
.at-lecon small{display:block;color:#4d5b72;font-weight:800;margin-top:3px}
.at-lecon[aria-pressed="true"]{background:linear-gradient(135deg,#fff5d6,#ffe39a);border-color:#10234f}
.at-lecon[aria-pressed="false"]{box-shadow:3px 3px 0 #9aa8c0;border-color:#9aa8c0}
.at-modes{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.at-mode{min-height:44px;padding:9px 16px;border-radius:999px;border:2px solid #d4ddeb;background:#fff;color:#10234f;font:inherit;font-weight:1000;font-size:15px;cursor:pointer}
.at-mode:hover{border-color:#1769d7}
.at-mode[aria-pressed="true"]{background:#1769d7;border-color:#1769d7;color:#fff}

.at-filters{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin-bottom:14px}
.at-search input{width:100%;min-height:48px;padding:10px 12px;border-radius:14px;border:2px solid #dbe4f1;background:#fff;font:inherit;font-weight:800;color:#10234f}
.at-search input:focus{border-color:#1769d7;outline:none;box-shadow:0 0 0 3px rgba(23,105,215,.18)}
.at-climats{margin:0 0 14px;padding:10px 14px;border-radius:18px;background:#f7faff;border:1px solid #e2e8f3}
.at-climats summary{cursor:pointer;font-weight:1000;color:#1452b0}
.at-climats ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;font-weight:700;color:#40506d}

.at-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.at-card{--c:#1769d7;position:relative;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:22px;background:#fff;border:2px solid #10234f;border-top:8px solid var(--c);box-shadow:5px 5px 0 rgba(16,35,79,.85);min-width:0}
.at-card-top{display:flex;align-items:center;gap:12px;min-width:0}
.at-card-top > div{min-width:0}
.at-card h3{margin:0 0 5px;font-size:20px;line-height:1.2;letter-spacing:-.3px;overflow-wrap:anywhere}
.at-flag{display:block;flex:0 0 auto;width:48px;height:36px;object-fit:cover;border-radius:6px;border:2px solid #10234f;background:#eef3fb;box-shadow:2px 2px 0 rgba(16,35,79,.25)}
.at-flag.big{width:72px;height:54px;border-radius:8px}
.at-flag.huge{width:min(220px,70vw);height:auto;aspect-ratio:4/3;border-radius:12px;border-width:3px;box-shadow:4px 4px 0 #10234f}
.at-lecon .e .at-flag{width:48px;height:36px}
.at-num{display:inline-grid;place-items:center;flex:0 0 auto;min-width:56px;height:56px;padding:0 6px;border-radius:16px;background:var(--c,#10234f);color:#fff;font-weight:1000;font-size:22px;letter-spacing:-.5px;border:2px solid #10234f}
.at-num.huge{min-width:120px;height:110px;font-size:52px;border-radius:26px;background:#10234f}
.at-chip{--c:#10234f;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:1000;color:#fff;background:var(--c);white-space:normal;line-height:1.3}
.at-chip.clim{background:#eef6ff;color:#1452b0;border:1px solid #cfe1fb}
.at-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;margin:0;font-size:15px;line-height:1.4}
.at-dl dt{font-weight:1000;color:#4c5d7b;white-space:nowrap}
.at-dl dd{margin:0;overflow-wrap:anywhere;color:#10234f}
.at-dl small{color:#5f6d85;font-weight:700}
.at-tip{margin:0;padding:8px 10px;border-radius:12px;background:#fff8e8;border:1px solid #f0dc9d;color:#6f5518;font-weight:800;font-size:14px;line-height:1.4}
.at-source{margin:22px 0 0;font-size:13px;color:#5f6d85;font-weight:700;line-height:1.5}

.at-h3{margin:0 0 10px;font-size:18px}
.at-h3:not(:first-child){margin-top:18px}
.at-types{display:flex;gap:8px;flex-wrap:wrap}
.at-type{min-height:44px;padding:9px 14px;border-radius:14px;border:2px solid #dbe4f1;background:#fff;font:inherit;font-weight:900;font-size:15px;color:#10234f;cursor:pointer}
.at-type:hover{border-color:#1769d7}
.at-type[aria-checked="true"]{border-color:#1769d7;background:#f2f7ff;box-shadow:0 0 0 3px rgba(23,105,215,.15)}
.at-qshow{display:flex;justify-content:center;margin:4px 0 12px}

@media(max-width:700px){
  .at-lecons,.at-filters{grid-template-columns:1fr}
  .at-lecon{box-shadow:3px 3px 0 #10234f}
  .at-lecon .e{font-size:30px}
  .at-lecon strong{font-size:17px}
  .at-grid{grid-template-columns:1fr}
  .at-flag.big{width:60px;height:45px}
  .at-num.huge{min-width:100px;height:92px;font-size:44px}
}
@media(prefers-reduced-motion:reduce){.at-lecon{transition:none}}
#atZone{scroll-margin-top:90px}

/* Sur la carte (quiz sur carte, explorer) */
.at-mapwrap{position:relative;border-radius:18px;border:2px solid #10234f;overflow:hidden;background:#cfe6fb;box-shadow:4px 4px 0 rgba(16,35,79,.85)}
.at-map{display:block;width:100%;height:auto;max-height:72vh;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.at-map .at-sea{fill:#cfe6fb}
.at-map.france .at-sea{fill:#eef4fb}
.at-map .at-land0{fill:#e3e6ea;stroke:#c3c9d2;stroke-width:.6;vector-effect:non-scaling-stroke}
.at-map .at-z{fill:#9fd38c;stroke:#fff;stroke-width:.9;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s}
.at-map.france .at-z{fill:#a9c9ef}
.at-map .at-z:hover{fill:#ffd166}
.at-map .at-z.off,.at-map .at-mk.off{fill:#dfe4ea;cursor:default;pointer-events:none}
.at-map .at-mk{fill:#ff8a3d;stroke:#fff;stroke-width:1.2;vector-effect:non-scaling-stroke;cursor:pointer}
.at-map .at-mk:hover{fill:#ffd166}
.at-map .hl,.at-map .sel{fill:#ffb703 !important;stroke:#10234f;stroke-width:1.6}
.at-map .good{fill:#22a559 !important;stroke:#0b4d26;stroke-width:1.6}
.at-map .bad{fill:#e04b4b !important;stroke:#6e1414;stroke-width:1.6}
.at-map .at-ring{fill:none;stroke:#e0306b;stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:none}
.at-map .at-ring.good{stroke:#0b8a43}
.at-map .at-ring.pulse{animation:at-pulse 1.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes at-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.35)}}
@media (prefers-reduced-motion:reduce){.at-map .at-ring.pulse{animation:none}}
.at-map .at-inset{fill:#fff;stroke:#9aa8c0;stroke-width:1;vector-effect:non-scaling-stroke}
.at-map .at-inset-t{font:800 9px system-ui,sans-serif;fill:#4c5d7b}
.at-mapq .qtext{margin-bottom:10px}
.at-pick{margin-top:12px}
.at-pick .at-card{max-width:520px}

/* Défi 60 s */
.at-chrono-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.at-chrono-top #atStop{margin-left:auto}
.at-clock{display:inline-grid;place-items:center;min-width:84px;height:44px;padding:0 12px;border-radius:14px;background:#10234f;color:#fff;font-weight:1000;font-size:22px;font-variant-numeric:tabular-nums}
.at-clock.hurry{background:#d62f4b;animation:at-blink 1s steps(2) infinite}
@keyframes at-blink{50%{opacity:.7}}
@media (prefers-reduced-motion:reduce){.at-clock.hurry{animation:none}}
.at-chrono-bar{height:10px;border-radius:999px;background:#e3e9f3;overflow:hidden;margin-bottom:12px}
.at-chrono-bar i{display:block;height:100%;background:linear-gradient(90deg,#ff8a3d,#ffd166);transition:width .2s linear}

/* Réponses en images (drapeaux) */
.at-opts-img{grid-template-columns:repeat(2,minmax(0,1fr))}
.at-opts-img .ev-opt{justify-content:center;gap:10px;min-height:110px}
.at-flag.opt{width:min(150px,30vw);height:auto;aspect-ratio:4/3;border-radius:8px}
.at-mapq .ev-opts{margin-top:12px}
