:root{--mf-red:#d71920;--mf-dark:#17191d;--mf-text:#22262c;--mf-muted:#707782;--mf-bg:#f4f6f8;--mf-border:#e4e7eb}
.fo-auth-page,.fo-monfoot-page{background:var(--mf-bg);min-height:70vh;padding:42px 0 70px}.fo-auth-wrap{display:flex;justify-content:center}.fo-auth-card{width:100%;max-width:510px;background:#fff;border:1px solid var(--mf-border);border-radius:22px;padding:36px;box-shadow:0 18px 55px rgba(20,25,30,.08)}
.fo-auth-brand,.fo-monfoot-hero>div>span,.fo-panel header span,.fo-picker header span,.fo-empty-onboarding>span{color:var(--mf-red);font-weight:900;font-size:.76rem;letter-spacing:.12em}.fo-auth-card h1{font-size:2.1rem;margin:9px 0}.fo-auth-card>p{color:var(--mf-muted)}
.fo-form{display:grid;gap:18px;margin-top:28px}.fo-form label{font-weight:800}.fo-form input,.fo-picker>input{box-sizing:border-box;width:100%;margin-top:7px;border:1px solid #ccd1d8;border-radius:12px;padding:13px 14px;font:inherit}.fo-form input:focus,.fo-picker>input:focus{outline:3px solid rgba(215,25,32,.12);border-color:var(--mf-red)}.fo-form small{display:block;color:var(--mf-muted);font-weight:400;margin-top:5px}
.fo-primary-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:14px 20px;background:var(--mf-red);color:#fff!important;text-decoration:none;font-weight:900;cursor:pointer}.fo-auth-switch{text-align:center;margin-top:22px}.fo-auth-switch a{color:var(--mf-red);font-weight:900}
.fo-alert{border-radius:12px;padding:14px 16px;margin:18px 0}.fo-alert--error{background:#fff1f1;color:#9a1519;border:1px solid #ffcaca}.fo-alert--success{background:#eaf8f0;color:#17613e;border:1px solid #bce5cf}
.fo-monfoot-hero{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:34px;background:linear-gradient(135deg,#20242a,#101215);color:#fff;border-radius:24px}.fo-monfoot-hero h1{font-size:2.35rem;margin:7px 0}.fo-monfoot-hero p{margin:0;color:#c8ccd1}.fo-monfoot-user{display:flex;align-items:center;gap:14px}.fo-monfoot-user b{display:grid;place-items:center;width:54px;height:54px;background:var(--mf-red);border-radius:50%;font-size:1.35rem}.fo-monfoot-user a{color:#fff}
.fo-monfoot-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.fo-monfoot-stats article{background:#fff;border:1px solid var(--mf-border);border-radius:17px;padding:22px;display:flex;align-items:baseline;gap:10px}.fo-monfoot-stats strong{font-size:2rem}.fo-monfoot-stats span{color:var(--mf-muted);font-weight:700}
.fo-empty-onboarding{background:#fff;border:1px dashed #c9ced5;border-radius:22px;padding:42px;text-align:center;margin:20px 0}.fo-empty-heart{font-size:3.6rem;color:var(--mf-red)}.fo-empty-onboarding h2{font-size:2rem;margin:8px}.fo-empty-onboarding p{color:var(--mf-muted);margin-bottom:24px}
.fo-monfoot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.fo-panel{background:#fff;border:1px solid var(--mf-border);border-radius:19px;padding:22px;min-width:0}.fo-panel--wide{grid-column:1/-1}.fo-panel header,.fo-picker header{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:18px}.fo-panel h2,.fo-picker h2{margin:4px 0 0;font-size:1.35rem}.fo-panel-empty{padding:24px;text-align:center;color:var(--mf-muted);background:#f7f8fa;border-radius:12px}
.fo-dashboard-match{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:18px;text-decoration:none;color:var(--mf-text);padding:14px 5px;border-top:1px solid var(--mf-border)}.fo-dashboard-match time{font-weight:900;color:var(--mf-red)}.fo-dashboard-match time small{display:block;color:var(--mf-muted)}.fo-dashboard-match div{display:flex;gap:12px;align-items:center}.fo-dashboard-match em{font-style:normal;color:var(--mf-muted);font-size:.85rem}
.fo-favorite-list{display:grid}.fo-favorite-list a{display:flex;justify-content:space-between;gap:10px;padding:13px 2px;border-top:1px solid var(--mf-border);text-decoration:none;color:var(--mf-text);font-weight:800}.fo-favorite-list small{color:var(--mf-muted);font-weight:500}
.fo-picker{background:#fff;border:1px solid var(--mf-border);border-radius:22px;padding:28px;margin-top:24px}.fo-picker header p{color:var(--mf-muted);margin:0}.fo-picker-results{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.fo-picker-group{background:#f7f8fa;border-radius:15px;padding:15px}.fo-picker-group h3{margin:0 0 8px}.fo-picker-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border-radius:11px;padding:12px;margin-top:8px}.fo-picker-row div{min-width:0}.fo-picker-row small{display:block;color:var(--mf-muted);font-size:.68rem;text-transform:uppercase}.fo-picker-row strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fo-favorite-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid #d6d9de;background:#fff;color:var(--mf-text);border-radius:999px;padding:8px 12px;cursor:pointer;font:inherit;white-space:nowrap}.fo-favorite-btn span{font-size:1.25rem;color:var(--mf-red)}.fo-favorite-btn.is-active{background:#fff0f1;border-color:#ffc4c7;color:#a11419}.fo-favorite-btn:disabled{opacity:.55}
@media(max-width:900px){.fo-monfoot-grid,.fo-picker-results,.fo-monfoot-stats{grid-template-columns:1fr}.fo-panel--wide{grid-column:auto}.fo-dashboard-match{grid-template-columns:58px 1fr}.fo-dashboard-match em{grid-column:2}}@media(max-width:600px){.fo-auth-page,.fo-monfoot-page{padding-top:18px}.fo-auth-card,.fo-monfoot-hero,.fo-picker{border-radius:16px;padding:22px}.fo-monfoot-hero{display:block}.fo-monfoot-user{margin-top:24px}.fo-monfoot-hero h1{font-size:1.8rem}}

/* MonFoot 1.1 — intégration globale */
.fo-page-favorite{margin-top:16px;position:relative;z-index:2}.fo-page-favorite .fo-favorite-btn{background:rgba(255,255,255,.96)}
.fo-favorite-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border-top:1px solid var(--mf-border);transition:opacity .18s,transform .18s}.fo-favorite-card>a{border:0!important;min-width:0}.fo-favorite-card.is-removing{opacity:0;transform:translateX(8px)}.fo-favorite-card .fo-favorite-btn b{font-size:.78rem}
.fo-picker-row em{display:block;color:var(--mf-muted);font-style:normal;font-size:.76rem;margin-top:3px}.fo-picker-group--club{border-top:3px solid #253b80}.fo-picker-group--equipe{border-top:3px solid #d71920}.fo-picker-group--competition{border-top:3px solid #b8860b}
.fo-nav-favorite-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#d71920;color:#fff;font-size:11px;margin-left:3px}.main-navigation__link--monfoot svg{fill:currentColor}
@media(max-width:700px){.fo-favorite-card{grid-template-columns:1fr}.fo-favorite-card .fo-favorite-btn{justify-self:start;margin-bottom:10px}.fo-page-favorite .fo-favorite-btn b{display:inline}}

/* Sprint 1.3 — suggestions intelligentes */
.fo-suggestions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}.fo-suggestion-section>header>b{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#f1f2f4;color:#555;font-size:.78rem}.fo-suggestion-list{display:grid;gap:10px}.fo-suggestion-list--teams{grid-template-columns:repeat(2,minmax(0,1fr))}.fo-suggestion-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px;border:1px solid var(--mf-border);border-radius:14px;background:#fafbfc;transition:opacity .2s,transform .2s}.fo-suggestion-card.is-removing{opacity:0;transform:translateY(-5px)}.fo-suggestion-card div{min-width:0}.fo-suggestion-card small{display:block;color:var(--mf-red);font-size:.67rem;font-weight:900;letter-spacing:.08em}.fo-suggestion-card a{display:block;color:var(--mf-text);font-size:1rem;font-weight:850;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0}.fo-suggestion-card em{display:block;color:var(--mf-muted);font-size:.77rem;font-style:normal}.fo-suggestion-preview{margin-top:20px;background:linear-gradient(135deg,#fff,#fff7f7)}.fo-suggestion-preview p{color:var(--mf-muted);margin:0}.fo-page-head--suggestions{margin:8px 0 20px}
@media(max-width:900px){.fo-suggestions-grid,.fo-suggestion-list--teams{grid-template-columns:1fr}.fo-suggestions-grid .fo-panel--wide{grid-column:auto}}@media(max-width:600px){.fo-suggestion-card{grid-template-columns:1fr}.fo-suggestion-card .fo-favorite-btn{justify-self:start}}


/* Sprint 2.0 — tableau de bord personnalisé */
.fo-monfoot-page .fo-dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.fo-monfoot-page .fo-dashboard-summary>a{display:flex;align-items:center;gap:14px;padding:19px;background:#fff;border:1px solid var(--mf-border);border-radius:17px;color:var(--mf-text);text-decoration:none;transition:transform .15s,box-shadow .15s}.fo-monfoot-page .fo-dashboard-summary>a:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(20,25,30,.08)}.fo-monfoot-page .fo-dashboard-summary>a>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#f4f5f7;font-size:1.25rem}.fo-monfoot-page .fo-dashboard-summary strong,.fo-monfoot-page .fo-dashboard-summary small{display:block}.fo-monfoot-page .fo-dashboard-summary strong{font-size:1.25rem}.fo-monfoot-page .fo-dashboard-summary small{color:var(--mf-muted);font-weight:700}.fo-monfoot-page .fo-dashboard-grid{display:flex;align-items:flex-start;gap:20px;clear:both}.fo-monfoot-page .fo-dashboard-main{flex:2 1 0;min-width:0}.fo-monfoot-page .fo-dashboard-side{flex:1 1 320px;min-width:280px;display:flex;flex-direction:column;gap:20px;align-self:flex-start}.fo-quick-links{display:grid;gap:9px}.fo-quick-links a{display:grid;grid-template-columns:42px 1fr;column-gap:11px;align-items:center;padding:12px;border-radius:13px;background:#f7f8fa;text-decoration:none;color:var(--mf-text)}.fo-quick-links b{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#fff;color:var(--mf-red);font-size:1.2rem}.fo-quick-links span{font-weight:850}.fo-quick-links small{color:var(--mf-muted)}.fo-pronos-teaser{text-align:center;padding:8px}.fo-pronos-teaser>b{font-size:2.7rem}.fo-pronos-teaser p{color:var(--mf-muted);line-height:1.55}.fo-pronos-teaser span{display:inline-block;padding:7px 10px;border-radius:999px;background:#fff2f2;color:#a11419;font-size:.73rem;font-weight:850}.fo-monfoot-page .fo-dashboard-results{margin-top:20px;clear:both}.fo-home-personal{padding:28px 0;background:#17191d;color:#fff}.fo-home-personal__head{display:flex;align-items:center;justify-content:space-between;gap:20px}.fo-home-personal__head span{color:#ff5b60;font-size:.75rem;font-weight:900;letter-spacing:.12em}.fo-home-personal__head h2{margin:5px 0;font-size:2rem}.fo-home-personal__head p{margin:0;color:#c8ccd1}.fo-home-personal__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.fo-home-personal__grid a{padding:17px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none}.fo-home-personal__grid strong,.fo-home-personal__grid span{display:block}.fo-home-personal__grid strong{font-size:1.65rem}.fo-home-personal__grid span{color:#c8ccd1;font-weight:700}
@media(max-width:900px){.fo-monfoot-page .fo-dashboard-summary{grid-template-columns:repeat(2,1fr)}.fo-monfoot-page .fo-dashboard-grid{display:block}.fo-monfoot-page .fo-dashboard-main,.fo-monfoot-page .fo-dashboard-side{width:100%;min-width:0}.fo-monfoot-page .fo-dashboard-side{margin-top:20px}.fo-home-personal__head{align-items:flex-start}.fo-home-personal__grid{grid-template-columns:1fr}}
@media(max-width:560px){.fo-monfoot-page .fo-dashboard-summary{grid-template-columns:1fr}.fo-home-personal__head{display:block}.fo-home-personal__head .fo-primary-btn{margin-top:18px}.fo-home-personal__head h2{font-size:1.55rem}}

/* Sprint 2.1 — finition de la UNE + XP et niveaux */
.fo-monfoot-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px) auto;align-items:center}
.fo-monfoot-level{padding:15px 17px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.07)}
.fo-monfoot-level__top{display:flex;justify-content:space-between;gap:15px;margin-bottom:10px}.fo-monfoot-level__top strong{font-size:1rem}.fo-monfoot-level__top span{color:#ff7b80;font-weight:900}
.fo-monfoot-level__bar{height:9px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.13)}.fo-monfoot-level__bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff3b41,#ff8589)}
.fo-monfoot-level small{display:block;margin-top:9px;color:#c8ccd1;font-size:.72rem}
.fo-home-personal{padding:34px 0;background:#eef1f5;color:#17191d}
.fo-home-personal__shell{padding:28px;border:1px solid #e0e4e9;border-radius:22px;background:#fff;box-shadow:0 12px 36px rgba(20,25,30,.07)}
.fo-home-personal__head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid #eceef1}
.fo-home-personal__head span{color:var(--mf-red);font-size:.74rem;font-weight:900;letter-spacing:.12em}.fo-home-personal__head h2{margin:6px 0 5px;font-size:2rem}.fo-home-personal__head p{margin:0;color:#6f7680}
.fo-home-personal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:22px}
.fo-home-personal__grid a{display:grid;grid-template-columns:48px 1fr;column-gap:14px;align-items:center;min-height:120px;padding:20px;border:1px solid #e6e9ed;border-radius:17px;background:#f8f9fb;color:#17191d;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s}
.fo-home-personal__grid a:hover{transform:translateY(-2px);border-color:#d6dade;box-shadow:0 10px 24px rgba(20,25,30,.07)}
.fo-home-personal__grid a>b{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#fff;color:var(--mf-red);font-size:1.25rem;box-shadow:0 4px 12px rgba(20,25,30,.05)}
.fo-home-personal__grid strong,.fo-home-personal__grid span{display:block}.fo-home-personal__grid strong{font-size:1.8rem;line-height:1}.fo-home-personal__grid span{margin-top:5px;color:#6f7680;font-weight:700}.fo-home-personal__grid em{grid-column:1/-1;margin-top:12px;padding-top:12px;border-top:1px solid #e7eaee;color:#9f1117;font-size:.76rem;font-style:normal;font-weight:850}
@media(max-width:980px){.fo-monfoot-hero{grid-template-columns:1fr auto}.fo-monfoot-level{grid-column:1/-1;grid-row:2;margin-top:18px}.fo-home-personal__grid{grid-template-columns:1fr}}
@media(max-width:620px){.fo-monfoot-hero{display:block}.fo-monfoot-level,.fo-monfoot-user{margin-top:18px}.fo-home-personal{padding:20px 0}.fo-home-personal__shell{padding:20px;border-radius:17px}.fo-home-personal__head{display:block}.fo-home-personal__head .fo-primary-btn{margin-top:18px}.fo-home-personal__head h2{font-size:1.55rem}}

/* Sprint 2.2 — Badge Engine */
.fo-badge-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 24px}.fo-badge-summary article{background:#fff;border:1px solid var(--mf-border);border-radius:18px;padding:22px}.fo-badge-summary strong{display:block;font-size:2rem;line-height:1}.fo-badge-summary span{display:block;margin-top:8px;color:var(--mf-muted);font-weight:700}.fo-badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fo-badge-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;min-height:210px;padding:24px;background:#fff;border:1px solid var(--mf-border);border-radius:22px;position:relative;overflow:hidden}.fo-badge-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#d9d9d9}.fo-badge-card--rare:before{background:#4c75d8}.fo-badge-card--epique:before{background:#8d50cc}.fo-badge-card--legendaire:before{background:#d79b17}.fo-badge-card.is-locked{filter:saturate(.35);background:#f7f7f8}.fo-badge-card__icon{width:88px;height:88px;display:grid;place-items:center;border-radius:50%;font-size:2.8rem;background:#f2f3f5;border:1px solid #e3e5e8;box-shadow:inset 0 0 0 7px #fff}.fo-badge-card.is-earned .fo-badge-card__icon{background:#fff5d9;box-shadow:inset 0 0 0 7px rgba(255,255,255,.75),0 12px 30px rgba(0,0,0,.08)}.fo-badge-card__meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.fo-badge-card__meta span{font-size:.68rem;letter-spacing:.13em;font-weight:900;color:var(--mf-red)}.fo-badge-card__meta b{font-size:.76rem;color:#777}.fo-badge-card.is-earned .fo-badge-card__meta b{color:#17894c}.fo-badge-card h2{margin:9px 0 8px;font-size:1.35rem}.fo-badge-card p{margin:0;color:#656a70;line-height:1.55}.fo-badge-card footer{margin-top:18px;font-size:.78rem;font-weight:800;color:#777}.fo-badge-card footer span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eceef1}.fo-badge-unlock{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:20px}.fo-badge-unlock__backdrop{position:absolute;inset:0;background:rgba(7,9,12,.78);backdrop-filter:blur(5px)}.fo-badge-unlock__card{position:relative;width:min(440px,100%);padding:40px 34px 34px;text-align:center;border-radius:28px;background:linear-gradient(145deg,#fff,#f7f7f8);box-shadow:0 30px 100px rgba(0,0,0,.4);animation:foBadgeIn .45s ease both}.fo-badge-unlock__card>span{font-size:.73rem;font-weight:950;letter-spacing:.16em;color:var(--mf-red)}.fo-badge-unlock__icon{width:116px;height:116px;display:grid;place-items:center;margin:22px auto 18px;border-radius:50%;font-size:4.1rem;background:#fff0bf;box-shadow:inset 0 0 0 9px rgba(255,255,255,.8),0 18px 40px rgba(215,155,23,.23)}.fo-badge-unlock h2{margin:0;font-size:2rem}.fo-badge-unlock p{color:#656a70;line-height:1.55}.fo-badge-unlock strong{display:inline-flex;margin:5px 0 20px;padding:8px 14px;border-radius:999px;background:#111;color:#fff}.fo-badge-unlock a{display:block;padding:13px 18px;border-radius:12px;background:var(--mf-red);color:#fff;font-weight:900;text-decoration:none}.fo-badge-unlock__close{position:absolute;right:16px;top:13px;border:0;background:none;font-size:1.7rem;cursor:pointer;color:#777}.fo-badge-unlock.is-closing{animation:foBadgeOut .25s ease both}@keyframes foBadgeIn{from{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:none}}@keyframes foBadgeOut{to{opacity:0;transform:scale(.97)}}
@media(max-width:800px){.fo-badge-grid{grid-template-columns:1fr}.fo-badge-summary{grid-template-columns:1fr}.fo-badge-card{grid-template-columns:72px 1fr;padding:19px}.fo-badge-card__icon{width:68px;height:68px;font-size:2rem}}
/* Sprint 2.3 — Profil MonFoot */
.fo-profile-cover{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(240px,340px);align-items:center;gap:24px;padding:32px;margin-bottom:18px;border-radius:24px;background:linear-gradient(135deg,#17191d,#2b3037);color:#fff;box-shadow:0 18px 50px rgba(15,18,22,.16)}
.fo-profile-avatar{width:92px;height:92px;display:grid;place-items:center;border-radius:50%;background:var(--mf-red);font-size:2.4rem;font-weight:950;box-shadow:0 0 0 8px rgba(255,255,255,.08)}
.fo-profile-intro>span{color:#ff7b80;font-size:.72rem;font-weight:950;letter-spacing:.14em}.fo-profile-intro h1{margin:6px 0 4px;font-size:2.4rem}.fo-profile-intro p{margin:0;color:#cbd0d6}
.fo-profile-xp{padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:17px;background:rgba(255,255,255,.06)}.fo-profile-xp>strong{display:block;margin-bottom:10px}.fo-profile-xp>div{height:10px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.14)}.fo-profile-xp i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff3b41,#ff8589)}.fo-profile-xp small{display:block;margin-top:9px;color:#cbd0d6}
.fo-profile-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.fo-profile-kpis article{padding:21px;background:#fff;border:1px solid var(--mf-border);border-radius:18px;text-align:center}.fo-profile-kpis b{display:block;font-size:1.9rem}.fo-profile-kpis span{color:var(--mf-muted);font-weight:750}
.fo-profile-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:18px}.fo-pinned-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.fo-pinned-badge{display:flex;align-items:center;gap:12px;padding:17px;border:1px solid #ececef;border-radius:16px;background:#fafafa}.fo-pinned-badge>span{font-size:2rem}.fo-pinned-badge small{display:block;color:#888;font-size:.63rem;font-weight:950;letter-spacing:.12em}.fo-pinned-badge strong{display:block;margin-top:3px}.fo-pinned-badge--legendaire{background:#fff8e4;border-color:#efd48c}.fo-pinned-badge--epique{background:#f8f1ff;border-color:#d8bbed}.fo-pinned-badge--rare{background:#f1f6ff;border-color:#bed0ef}
.fo-profile-favorite-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #eee}.fo-profile-favorite-row:last-child{border-bottom:0}.fo-profile-favorite-row b{display:grid;place-items:center;min-width:34px;height:28px;border-radius:999px;background:#111;color:#fff}
.fo-badge-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.fo-badge-pin{border:0;padding:7px 11px;border-radius:999px;background:#eceef1;color:#555;font-size:.75rem;font-weight:900;cursor:pointer}.fo-badge-pin:hover{background:#dddfe3}.fo-badge-pin.is-pinned{background:#111;color:#fff}
@media(max-width:900px){.fo-profile-cover{grid-template-columns:auto 1fr}.fo-profile-xp{grid-column:1/-1}.fo-profile-kpis{grid-template-columns:repeat(2,1fr)}.fo-profile-grid{grid-template-columns:1fr}.fo-pinned-badges{grid-template-columns:1fr}}
@media(max-width:560px){.fo-profile-cover{display:block;text-align:center}.fo-profile-avatar{margin:0 auto 18px}.fo-profile-xp{margin-top:20px}.fo-profile-kpis{gap:9px}.fo-profile-kpis article{padding:16px 10px}.fo-badge-card footer{align-items:flex-start;flex-direction:column}}

/* Sprint 2.4 — Panthéon */
.fo-hall-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px}.fo-hall-filters a{padding:10px 15px;border:1px solid var(--mf-border);border-radius:999px;background:#fff;color:#34383e;text-decoration:none;font-weight:850}.fo-hall-filters a.is-active{border-color:#111;background:#111;color:#fff}
.fo-hall-podium{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:16px;margin:0 0 20px}.fo-hall-podium__card{position:relative;padding:26px 18px;text-align:center;border:1px solid #e4e6e9;border-radius:22px;background:#fff;box-shadow:0 10px 34px rgba(20,25,30,.07)}.fo-hall-podium__card--1{order:2;min-height:265px;padding-top:34px;background:linear-gradient(145deg,#fff9e8,#fff);border-color:#e9cf83}.fo-hall-podium__card--2{order:1;min-height:230px}.fo-hall-podium__card--3{order:3;min-height:215px}.fo-hall-place{display:block;font-size:2.2rem}.fo-hall-avatar,.fo-hall-mini-avatar{display:grid;place-items:center;border-radius:50%;background:var(--mf-red);color:#fff;font-weight:950}.fo-hall-avatar{width:72px;height:72px;margin:11px auto;font-size:1.8rem;box-shadow:0 0 0 7px rgba(159,17,23,.08)}.fo-hall-podium h2{margin:8px 0 7px}.fo-hall-podium strong{display:block;font-size:1.18rem}.fo-hall-podium small{display:block;margin-top:7px;color:#777}
.fo-hall-me{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;padding:20px 24px;border-radius:18px;background:linear-gradient(135deg,#17191d,#2b3037);color:#fff}.fo-hall-me span,.fo-hall-me small{display:block}.fo-hall-me span{color:#ff7b80;font-size:.68rem;font-weight:950;letter-spacing:.12em}.fo-hall-me strong{display:block;margin:4px 0;font-size:2rem}.fo-hall-me small{color:#c8ccd1}.fo-hall-me p{max-width:520px;margin:0;color:#d9dde1}
.fo-hall-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:18px}.fo-hall-list article{display:grid;grid-template-columns:36px 44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 6px;border-bottom:1px solid #eceef1}.fo-hall-list article:last-child{border-bottom:0}.fo-hall-list article.is-me{margin:3px -8px;padding-left:14px;padding-right:14px;border:0;border-radius:13px;background:#fff0f1}.fo-hall-list article>b{font-size:1.05rem;text-align:center}.fo-hall-mini-avatar{width:40px;height:40px}.fo-hall-list strong,.fo-hall-list small{display:block}.fo-hall-list small{margin-top:3px;color:#8a8f96}.fo-hall-list em{font-style:normal;font-weight:900}.fo-pioneer-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fo-pioneer-wall article{padding:13px 8px;text-align:center;border:1px solid #eee2bd;border-radius:14px;background:#fffaf0}.fo-pioneer-wall span,.fo-pioneer-wall b,.fo-pioneer-wall small{display:block}.fo-pioneer-wall span{font-size:1.45rem}.fo-pioneer-wall b{margin:5px 0 3px;font-size:.8rem;overflow:hidden;text-overflow:ellipsis}.fo-pioneer-wall small{color:#8b8064;font-size:.62rem}
.fo-hall-popular{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.fo-popular-list a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid #eee;color:#20242a;text-decoration:none}.fo-popular-list a:last-child{border-bottom:0}.fo-popular-list a>b{color:#999;text-align:center}.fo-popular-list span,.fo-popular-list small{display:block}.fo-popular-list small{margin-top:3px;color:#8a8f96}.fo-popular-list em{font-style:normal;font-weight:900;color:var(--mf-red)}
@media(max-width:900px){.fo-hall-podium{grid-template-columns:1fr}.fo-hall-podium__card{order:initial!important;min-height:0}.fo-hall-layout,.fo-hall-popular{grid-template-columns:1fr}.fo-hall-me{display:block}.fo-hall-me p{margin-top:14px}.fo-pioneer-wall{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.fo-pioneer-wall{grid-template-columns:repeat(2,1fr)}.fo-hall-list article{grid-template-columns:28px 38px minmax(0,1fr)}.fo-hall-list em{grid-column:3}.fo-hall-mini-avatar{width:36px;height:36px}}


/* Release 2.5.0 — Challenge Engine */
.fo-page-head--challenges{margin-bottom:20px}.fo-challenge-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.fo-challenge-summary article{display:flex;align-items:baseline;gap:10px;padding:22px;border:1px solid var(--mf-border);border-radius:17px;background:#fff}.fo-challenge-summary strong{font-size:2rem}.fo-challenge-summary span{color:var(--mf-muted);font-weight:700}.fo-challenge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fo-challenge-card{display:grid;grid-template-columns:62px minmax(0,1fr);gap:16px;padding:22px;border:1px solid var(--mf-border);border-radius:19px;background:#fff}.fo-challenge-card.is-complete{border-color:#bfe1cb;background:#f4fbf7}.fo-challenge-card__icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#fff0f1;font-size:1.9rem}.fo-challenge-card.is-complete .fo-challenge-card__icon{background:#dff3e6}.fo-challenge-card__meta{display:flex;justify-content:space-between;gap:12px}.fo-challenge-card__meta span{color:var(--mf-red);font-size:.68rem;font-weight:950;letter-spacing:.11em}.fo-challenge-card__meta b{font-size:.76rem}.fo-challenge-card h2{margin:7px 0 5px;font-size:1.25rem}.fo-challenge-card p{margin:0;color:var(--mf-muted);line-height:1.5}.fo-challenge-progress{height:9px;margin:17px 0 9px;overflow:hidden;border-radius:999px;background:#eceff2}.fo-challenge-progress i{display:block;height:100%;border-radius:inherit;background:var(--mf-red)}.fo-challenge-card.is-complete .fo-challenge-progress i{background:#2b9a5e}.fo-challenge-card footer{display:flex;justify-content:space-between;gap:12px}.fo-challenge-card footer span{color:var(--mf-muted);font-size:.82rem}.fo-challenge-unlock{position:fixed;right:22px;bottom:22px;z-index:9999;display:flex;align-items:center;gap:18px;max-width:390px;padding:17px 18px;border-radius:16px;background:#17191d;color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.28);animation:foChallengeIn .25s ease-out}.fo-challenge-unlock div span,.fo-challenge-unlock div strong,.fo-challenge-unlock div small{display:block}.fo-challenge-unlock div span{color:#ff777c;font-size:.68rem;font-weight:950;letter-spacing:.12em}.fo-challenge-unlock div strong{margin:4px 0}.fo-challenge-unlock div small{color:#d6d9dd}.fo-challenge-unlock button{border:0;background:transparent;color:#fff;font-size:1.4rem;cursor:pointer}.fo-challenge-unlock.is-closing{opacity:0;transform:translateY(10px);transition:.2s}.fo-empty-onboarding code{padding:2px 5px;border-radius:5px;background:#f0f1f3}@keyframes foChallengeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:760px){.fo-challenge-summary,.fo-challenge-grid{grid-template-columns:1fr}.fo-challenge-unlock{left:12px;right:12px;bottom:12px}}

/* Foot-Occitanie 4.0.1 — personnalisation et contributions */
.fo-page-head--contributions{background:linear-gradient(135deg,#1e293b,#0f766e);color:#fff;border-radius:22px;padding:30px;margin-bottom:22px}.fo-page-head--contributions span{color:#99f6e4}.fo-contribution-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.fo-contribution-summary article{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px}.fo-contribution-summary strong{display:block;font-size:1.8rem}.fo-contribution-summary span{color:#64748b}.fo-contribution-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;align-items:start}.fo-contribution-form form,.fo-preferences-panel form{display:grid;gap:14px}.fo-contribution-form label,.fo-preferences-panel label{display:grid;gap:7px;font-weight:700;color:#334155}.fo-contribution-form input,.fo-contribution-form textarea,.fo-contribution-form select,.fo-preferences-panel select{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;background:#fff;color:#0f172a;font:inherit}.fo-contribution-form textarea{resize:vertical}.fo-contribution-entity,.fo-preferences-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fo-contribution-actions{display:flex;gap:10px;flex-wrap:wrap}.fo-secondary-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:12px;padding:11px 16px;background:#fff;color:#334155;font-weight:800}.fo-contribution-list{display:grid;gap:10px}.fo-contribution-list article{display:grid;grid-template-columns:1fr auto;gap:14px;border:1px solid #e5e7eb;border-radius:14px;padding:15px}.fo-contribution-list h3{font-size:1rem;margin:3px 0}.fo-contribution-list p{margin:0;color:#64748b}.fo-contribution-list aside{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.fo-contribution-list time{font-size:.78rem;color:#64748b}.fo-contribution-list footer{grid-column:1/-1;border-top:1px solid #e5e7eb;padding-top:10px;color:#92400e}.fo-contribution-status{display:inline-flex;border-radius:999px;padding:5px 9px;background:#f1f5f9;font-size:.75rem;font-weight:800}.fo-contribution-status--submitted,.fo-contribution-status--under_review{background:#fef3c7;color:#92400e}.fo-contribution-status--approved,.fo-contribution-status--published{background:#dcfce7;color:#166534}.fo-contribution-status--rejected{background:#fee2e2;color:#991b1b}.fo-preferences-panel{margin-top:20px}.fo-preferences-checks{display:grid;gap:9px}.fo-preferences-checks label{display:flex;align-items:flex-start;gap:9px;font-weight:600}.fo-preferences-checks input{margin-top:4px}.fo-preferences-feedback{margin-left:10px;color:#166534;font-weight:700}@media(max-width:850px){.fo-contribution-layout{grid-template-columns:1fr}.fo-contribution-summary{grid-template-columns:1fr}.fo-contribution-entity,.fo-preferences-grid{grid-template-columns:1fr}.fo-contribution-list article{grid-template-columns:1fr}.fo-contribution-list aside{align-items:flex-start}}

/* Foot-Occitanie 4.0.2 — propositions d'articles */
.fo-page-head--article{margin-bottom:22px;padding:30px;border-radius:22px;background:linear-gradient(135deg,#172033,#7f1d1d);color:#fff}.fo-page-head--article span{color:#fca5a5;font-size:.72rem;font-weight:950;letter-spacing:.12em}.fo-page-head--article h1{margin:7px 0}.fo-page-head--article p{margin:0;color:#e5e7eb}.fo-article-editor-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:20px;align-items:start}.fo-article-editor form{display:grid;gap:15px}.fo-article-editor label{display:grid;gap:7px;color:#334155;font-weight:800}.fo-article-editor input,.fo-article-editor textarea,.fo-article-editor select{box-sizing:border-box;width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;background:#fff;color:#0f172a;font:inherit}.fo-article-editor textarea{resize:vertical}.fo-article-editor small{color:#64748b;font-weight:500}.fo-article-meta{display:grid;grid-template-columns:.7fr 1.3fr;gap:12px}.fo-article-current-image{display:block;width:100%;max-height:280px;object-fit:cover;border-radius:14px}.fo-article-preview{position:sticky;top:18px}.fo-article-preview article{padding:4px 2px}.fo-preview-category{color:var(--mf-red);font-size:.72rem;font-weight:950;letter-spacing:.1em}.fo-article-preview h1{margin:8px 0 12px;font-size:1.8rem;line-height:1.15}.fo-preview-chapo{font-size:1.05rem;font-weight:700;line-height:1.55;color:#475569}.fo-preview-content{white-space:pre-wrap;line-height:1.7;color:#334155}.fo-article-launch{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px;padding:15px;border:1px solid #fecaca;border-radius:14px;background:#fff7f7;color:#1f2937;text-decoration:none}.fo-article-launch>span{font-size:1.7rem}.fo-article-launch strong,.fo-article-launch small{display:block}.fo-article-launch small{margin-top:3px;color:#64748b}.fo-article-launch>b{color:var(--mf-red)}.fo-contribution-edit{display:inline-block;margin-top:8px;color:var(--mf-red);font-weight:850;text-decoration:none}@media(max-width:900px){.fo-article-editor-layout{grid-template-columns:1fr}.fo-article-preview{position:static}.fo-article-meta{grid-template-columns:1fr}}@media(max-width:560px){.fo-article-launch{grid-template-columns:40px 1fr}.fo-article-launch>b{grid-column:2}}


/* Foot-Occitanie 5.3.2 — navigation MonFoot intégrée */
.fo-monfoot-hub-nav{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px;
  margin:0 0 22px;
  padding:12px;
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#f5f6f8;
  box-shadow:0 10px 30px rgba(15,23,42,.07);
}
.fo-monfoot-hub-nav__group{
  min-width:0;
  overflow:hidden;
  border:1px solid #e3e6ea;
  border-radius:14px;
  background:#fff;
}
.fo-monfoot-hub-nav__group>header{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:46px;
  padding:11px 13px;
  border-bottom:1px solid #eceef1;
  background:#fff;
  color:#20242a;
}
.fo-monfoot-hub-nav__group>header span{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  flex:0 0 27px;
  border-radius:9px;
  background:#f0f1f3;
  color:#111;
  font-weight:950;
}
.fo-monfoot-hub-nav__group>header strong{font-size:.93rem;line-height:1.2}
.fo-monfoot-hub-nav__group>header>b,
.fo-monfoot-hub-nav__links a>b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  margin-left:auto;
  padding:0 6px;
  border-radius:99px;
  background:#eceff2;
  color:#4b5563;
  font-size:.7rem;
  font-weight:900;
}
.fo-monfoot-hub-nav__group.is-current>header{
  background:#111;
  color:#fff;
}
.fo-monfoot-hub-nav__group.is-current>header span{background:#fff;color:#111}
.fo-monfoot-hub-nav__group--admin>header{color:#991b1b}
.fo-monfoot-hub-nav__group--admin.is-current>header{background:#7f1d1d;color:#fff}
.fo-monfoot-hub-nav__links{
  display:grid;
  gap:3px;
  padding:8px;
}
.fo-monfoot-hub-nav__links a{
  display:flex;
  align-items:center;
  min-height:37px;
  padding:8px 10px;
  border-radius:9px;
  color:#4b4540;
  font-size:.86rem;
  font-weight:750;
  line-height:1.25;
  text-decoration:none;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.fo-monfoot-hub-nav__links a:hover{
  background:#f1f3f5;
  color:#111;
  transform:translateX(2px);
}
.fo-monfoot-hub-nav__links a.is-active{
  background:#111;
  color:#fff;
}
.fo-monfoot-hub-nav__links a.is-active>b{background:#fff;color:#111}
@media(max-width:900px){
  .fo-monfoot-hub-nav{grid-template-columns:repeat(2,minmax(0,1fr));position:static}
}
@media(max-width:580px){
  .fo-monfoot-hub-nav{grid-template-columns:1fr;padding:8px;border-radius:14px}
  .fo-monfoot-hub-nav__group:not(.is-current) .fo-monfoot-hub-nav__links{display:none}
  .fo-monfoot-hub-nav__group.is-current .fo-monfoot-hub-nav__links{display:grid}
  .fo-monfoot-hub-nav__group>header{min-height:44px}
}

/* Foot-Occitanie 5.4.0 — socle UI MonFoot consolidé */
.fo-monfoot-page *,
.fo-monfoot-page *::before,
.fo-monfoot-page *::after{box-sizing:border-box}
.fo-monfoot-page .fo-panel{height:auto;min-height:0;overflow:visible}
.fo-monfoot-page .fo-dashboard-side>.fo-panel{width:100%;position:static}
.fo-monfoot-page .fo-pronos-live{position:static;height:auto;min-height:0;overflow:visible}
.fo-monfoot-page .fo-quick-links a{min-width:0}
.fo-monfoot-page .fo-quick-links span,
.fo-monfoot-page .fo-quick-links small{min-width:0;overflow-wrap:anywhere}
.fo-monfoot-page .fo-dashboard-results{position:relative;z-index:0}
@media(max-width:900px){
  .fo-monfoot-page .fo-dashboard-grid{display:block}
  .fo-monfoot-page .fo-dashboard-side{display:flex;width:100%;margin-top:20px}
}

/* 6.1.4.5.4 — navigation MonFoot mobile dépliable */
@media(max-width:580px){
  .fo-monfoot-hub-nav__group>header{
    position:relative;
    cursor:pointer;
    user-select:none;
    padding-right:38px;
  }
  .fo-monfoot-hub-nav__group>header::after{
    content:'⌄';
    position:absolute;
    right:13px;
    top:50%;
    transform:translateY(-52%);
    color:#7b838d;
    font-size:18px;
    font-weight:900;
    transition:transform .16s ease,color .16s ease;
  }
  .fo-monfoot-hub-nav__group.is-current>header::after,
  .fo-monfoot-hub-nav__group.is-open>header::after{
    transform:translateY(-48%) rotate(180deg);
    color:currentColor;
  }
  .fo-monfoot-hub-nav__group:not(.is-current):not(.is-open) .fo-monfoot-hub-nav__links{display:none}
  .fo-monfoot-hub-nav__group.is-current .fo-monfoot-hub-nav__links,
  .fo-monfoot-hub-nav__group.is-open .fo-monfoot-hub-nav__links{display:grid}
  .fo-monfoot-hub-nav__group.is-open>header{
    background:#111;
    color:#fff;
  }
  .fo-monfoot-hub-nav__group.is-open>header span{
    background:#fff;
    color:#111;
  }
  .fo-monfoot-hub-nav__group--admin.is-open>header{
    background:#7f1d1d;
    color:#fff;
  }
}

/* 6.1.4.6 — mot de passe oublié */
.fo-auth-forgot{margin-top:-4px;text-align:right}
.fo-auth-forgot a{color:#a8111e;font-size:.82rem;font-weight:800;text-decoration:none}
.fo-auth-forgot a:hover{text-decoration:underline}
.fo-auth-card>.fo-primary-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
