/* Couche visuelle “aventure” — garde les fondations accessibles du site initial. */
:root{--font-body:"Nunito Sans",ui-rounded,"SF Pro Rounded","Avenir Next",system-ui,sans-serif;--font-display:"Fredoka","Nunito Sans",ui-rounded,"SF Pro Rounded",system-ui,sans-serif}
body{font-family:var(--font-body)}
h1,h2,h3,.brand-lockup b,.button,.world-level,.current-flag,.release-version{font-family:var(--font-display);font-optical-sizing:auto}
.hero h1,.section h2,.parent-card h2,.cta h2,.changelog-page h1{font-weight:600;letter-spacing:-.025em}
.hero h1 em,.section h2 em,.changelog-page h1 em{font-family:var(--font-display);font-style:normal;font-weight:500;letter-spacing:-.02em}
.world-card h3,.domain-panel h3,.feature h3,.release h2{font-weight:600;letter-spacing:-.01em}
.brand-lockup b{font-weight:650;letter-spacing:-.015em}
body{background:#f7f8ff;background-image:radial-gradient(circle at 8% 14%,rgba(255,185,196,.22),transparent 24rem),radial-gradient(circle at 92% 48%,rgba(113,221,218,.18),transparent 28rem)}
.nav-shell{border-bottom:1px solid rgba(86,72,238,.1);box-shadow:0 8px 30px rgba(25,39,94,.05)}
.brand-lockup{gap:12px;line-height:1.08}.brand-lockup>span{display:flex;flex-direction:column;gap:3px}.brand-lockup b{font-size:19px}.brand-lockup small{font-size:10.5px;letter-spacing:0;color:#40506f;font-weight:700}.brand-icon{width:50px;height:50px;border-radius:14px;object-fit:cover;box-shadow:0 8px 18px rgba(28,49,129,.25),inset 0 0 0 1px rgba(255,255,255,.3)}
.hero-game{max-width:none;min-height:760px;margin:0;padding:0;display:grid;grid-template-columns:minmax(430px,42%) minmax(0,58%);gap:0;position:relative;isolation:isolate;overflow:hidden;background:#f5f7ff}
.hero-world{position:absolute;inset:0 0 0 auto;width:58%;background-image:url("../assets/math-adventure-hero-v1.webp");background-size:cover;background-position:center;z-index:-2;border-bottom-left-radius:64px;box-shadow:-20px 20px 55px rgba(37,55,116,.16)}
.hero-world:after{content:"";position:absolute;inset:0 auto 0 0;width:9px;background:linear-gradient(180deg,#6655f3,#12a79a 55%,#ff9a1a)}
.hero-game:after{content:"";position:absolute;inset:auto 0 0;height:170px;background:linear-gradient(transparent,#f7f8ff);z-index:-1}
.hero-game .hero-copy{grid-column:1;align-self:center;padding:60px clamp(34px,4vw,76px) 88px max(32px,calc((100vw - 1180px)/2));text-align:left;z-index:2}
.hero-game h1{font-size:clamp(52px,5.5vw,82px);text-shadow:none;max-width:720px}
.hero-game h1 em{background:none;color:#5145e4;-webkit-text-fill-color:#5145e4;text-shadow:none}
.hero-game .lead{max-width:570px;font-weight:600;color:#384867;text-shadow:0 1px 0 #fff}
.hero-pill{display:inline-flex;align-items:center;background:rgba(255,255,255,.84);border:1px solid rgba(15,141,131,.18);border-radius:999px;padding:9px 14px;box-shadow:0 8px 22px rgba(19,36,84,.09);backdrop-filter:blur(10px)}
.game-button{background:linear-gradient(135deg,#6756ff,#4938e7);border:3px solid rgba(255,255,255,.75);box-shadow:0 8px 0 #3023a8,0 18px 34px rgba(56,42,192,.28);padding:17px 25px}.game-button:hover{transform:translateY(-3px);box-shadow:0 11px 0 #3023a8,0 22px 38px rgba(56,42,192,.3)}
.hero-link{padding:12px 4px;text-shadow:0 1px 0 #fff}
.player-hud{max-width:520px;margin-top:30px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.9);border-radius:22px;padding:16px 18px;box-shadow:0 18px 45px rgba(31,49,106,.16);backdrop-filter:blur(15px)}
.hud-rank{display:flex;align-items:center;gap:12px}.hud-rank small{display:block;font-size:9px;letter-spacing:.12em;color:#63718b;font-weight:900}.hud-rank b{font-size:17px}.rank-shield{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#ffd569,#ff9419);color:#9d4500;border:2px solid #fff1c7;box-shadow:0 5px 10px rgba(199,109,0,.2)}
.xp-track{height:9px;background:#e5e9f3;border-radius:99px;overflow:hidden;margin:13px 0 10px}.xp-track i{display:block;height:100%;width:68%;border-radius:inherit;background:linear-gradient(90deg,#0d978a,#6252ef)}
