
:root{--paper:#f1f2ed;--ink:#132017;--green:#b7eb6a;--muted:#667264;--line:#d7dfd1;--dark:#0b130d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #689f28;outline-offset:4px}.skip{position:fixed;top:-80px;left:20px;z-index:99;padding:15px;background:white}.skip:focus{top:10px}.preview{background:#071009;color:#b5c1b0;font-size:12px;letter-spacing:.02em;padding:11px 4%;display:flex;justify-content:space-between;gap:16px}.preview a{color:#c3e5a0}.stadium{position:relative;isolation:isolate;min-height:590px;background:#0b130d url('assets/stade-panorama-v01.webp') center 58%/cover;overflow:hidden;display:grid;place-items:center}.stadium-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#03070520 0%,#03080505 45%,#050b07a6 100%)}.hero-content{width:100%;padding:10px 24px 62px;text-align:center}.logo{display:block;margin:0 auto;width:min(850px,82vw);height:330px;overflow:hidden;mix-blend-mode:screen}.logo img{display:block;width:100%;height:auto;margin-top:-65px}.hero-line{font-size:23px;line-height:1.5;color:#d4dbd1;margin:0 0 24px;text-shadow:0 2px 10px black}.hero-line strong{color:white;font-size:29px;font-weight:600}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:49px;padding:13px 23px;border-radius:7px;font-weight:700;font-size:15px;border:1px solid transparent;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.lime{background:var(--green);color:#12200d;box-shadow:0 4px 22px #0002}.glass{background:#0b130d70;color:#fff;border-color:#d2eac04d;backdrop-filter:blur(8px)}.stadium-caption{position:absolute;bottom:20px;left:4%;font-size:12px;color:#bdc9b5;letter-spacing:.02em}.navigation{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:30px;padding:0 4%;min-height:78px;background:#fcfdf9f5;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.wordmark{font-size:22px;font-weight:900;letter-spacing:-1px;line-height:.9}.wordmark span{display:block;font-size:12px;letter-spacing:1px;color:#5f8432;margin-top:6px}.nav-links{display:flex;align-items:center;justify-content:center;gap:35px;flex:1}.nav-links a{padding:28px 0;font-size:15px;font-weight:600;position:relative;white-space:nowrap}.nav-links a.active::after{content:'';position:absolute;bottom:13px;height:3px;background:#74a438;left:0;right:0}.theme-button{background:#edf2e6;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;font-size:22px}main{width:92%;max-width:1640px;margin:auto;padding:30px 0 65px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:38px}.welcome{color:var(--muted);font-size:15px}.welcome strong{color:var(--ink)}#search{display:flex;border:1px solid var(--line);background:#fff;border-radius:7px;min-width:340px}#search input{border:0;background:none;width:100%;padding:12px 16px;font-size:14px}#search button{border:0;background:none;font-size:27px;padding:3px 16px}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin:0 0 23px}.eyebrow{text-transform:uppercase;font-weight:800;font-size:11px;letter-spacing:.17em;color:#6c873e}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,3vw,46px);letter-spacing:-.045em;margin:10px 0 10px;font-weight:750}h2{font-size:29px;letter-spacing:-.03em}.section-head p{color:var(--muted);font-size:16px;line-height:1.6;margin:0}.section-head>a{font-size:14px;font-weight:650;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.rubric{position:relative;display:flex;flex-direction:column;min-height:240px;border:1px solid #527044;border-bottom:0;border-radius:12px 12px 0 0;background:linear-gradient(180deg,#080c09 0%,#101d12 48%,#244d20 83%,#39712a 100%);color:#fff;padding:27px 28px 44px;transition:transform .2s,box-shadow .2s}.rubric:hover{transform:translateY(-4px);box-shadow:0 12px 25px #18311720}.rubric::after{content:'';position:absolute;bottom:-1px;left:-1px;right:-1px;height:26px;background:url('assets/pelouse-bordure-v01.webp') center bottom/auto 26px repeat-x;pointer-events:none}.rubric .kicker{color:#a6d486;font-size:10px;letter-spacing:.12em;font-weight:800;text-transform:uppercase;margin-bottom:15px}.rubric h3{font-size:24px;margin:0 0 12px;letter-spacing:-.02em}.rubric p{font-size:15px;line-height:1.6;color:#d2dfce;margin-bottom:22px}.rubric .enter{margin-top:auto;display:flex;justify-content:space-between;align-items:center;color:#c9eca9;font-size:13px;font-weight:700;border-top:1px solid #bce49c30;padding-top:15px}.rubric .icon{display:inline-block;font-size:24px;margin-right:10px}.light-cards .rubric{border:2px solid transparent;border-bottom:0;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(#050805,#173118 45%,#42892d) border-box;color:#142016}.light-cards .rubric p{color:#61715b}.light-cards .rubric .kicker,.light-cards .rubric .enter{color:#477023}.light-cards .rubric .enter{border-color:#dbe4d3}.secondary-section{margin-top:48px}.league-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.league{border:1px solid var(--line);background:#fff;border-radius:10px;padding:25px 20px;display:flex;flex-direction:column;gap:10px;transition:background .2s}.league:hover{background:#e8eedf}.flag{font-size:32px}.league strong{font-size:19px}.league small{font-size:13px;color:#667264}.feature-banner{margin-top:38px;min-height:230px;border-radius:12px;overflow:hidden;position:relative;padding:35px;color:white;background:linear-gradient(90deg,#09130ee8,#09130e66),url('assets/football-amateur-v01.webp') center 45%/cover;display:flex;align-items:center;justify-content:space-between;gap:30px}.feature-banner p{max-width:530px;line-height:1.65;color:#d5e2ce}.feature-banner .eyebrow{color:#bce49c}.feature-banner h2{font-size:34px;margin:10px 0 12px}.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:38px}.editorial{border:1px solid var(--line);border-radius:10px;padding:30px;background:#fff}.editorial p{color:var(--muted);line-height:1.7}.editorial a{font-weight:700;color:#4d732a}.breadcrumbs{font-size:13px;color:#6a7a5d;margin-bottom:22px}.breadcrumbs a{text-decoration:underline}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px}.topic-list{margin-top:24px;display:grid;gap:12px}.topic-row{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--line);padding:22px 25px;border-radius:8px}.topic-row:hover{background:#eaf0e2}.topic-row strong{display:block;font-size:17px;margin-bottom:7px}.topic-row small{font-size:12px;color:var(--muted)}.empty{padding:35px;text-align:center;background:#e7ebdf;border:1px dashed #b0bfa0;border-radius:10px;line-height:1.7}.profile-form{max-width:800px;display:grid;gap:18px}.profile-form label,#composer label{font-size:14px;font-weight:650;display:block;margin-bottom:8px}.profile-form input,.profile-form select,#composer input,#composer textarea{display:block;width:100%;padding:13px;border:1px solid #cbd5c3;border-radius:6px;background:#fbfcf8;color:#182514}.profile-form .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-form fieldset{border:1px solid var(--line);border-radius:7px;padding:17px}.profile-form fieldset label{display:inline-flex;align-items:center;gap:7px;margin:8px 16px 8px 0;font-weight:400}.profile-form fieldset input{width:auto}.hint{font-size:13px;color:var(--muted);line-height:1.7}.links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.official{display:block;background:white;border:1px solid var(--line);border-radius:9px;padding:25px}.official strong{font-size:22px;display:block;margin-bottom:10px}.official p{color:var(--muted);font-size:14px;line-height:1.6}.official small{color:#4b732a}.game-art{height:210px;width:100%;object-fit:cover;border-radius:12px;margin:10px 0 25px}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.game-card{padding:30px;border:1px solid var(--line);border-top:4px solid var(--accent);background:#fff;border-radius:8px}.game-card p{color:var(--muted);font-size:15px;line-height:1.6}.game-card a{display:block;margin-top:15px;font-weight:650;font-size:14px;color:#496b2b}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.chips a{border:1px solid var(--line);background:white;border-radius:30px;padding:10px 17px;font-size:14px}.chips a:hover{background:#dce9ca}.message-preview{font-size:17px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.demo-tag{display:inline-block;font-size:11px;background:#e9eee1;color:#58723c;padding:5px 9px;border-radius:4px;margin:10px 0}footer{background:#0b130d;color:#c4d1bc;text-align:center;padding:45px 20px}footer>strong{font-size:25px;color:#edf6e7;letter-spacing:-1px}footer p{margin:10px 0 25px;font-size:14px}footer div{display:flex;justify-content:center;flex-wrap:wrap;gap:28px;font-size:13px}footer small{display:block;font-size:11px;color:#7f9474;margin-top:28px}dialog{border:1px solid #78965f;border-radius:13px;padding:35px;width:min(620px,94vw);color:var(--ink);background:#f9fbf5}dialog::backdrop{background:#030804b3;backdrop-filter:blur(6px)}dialog p{color:var(--muted);line-height:1.6}dialog h2{margin:10px 0 15px}.close{position:absolute;right:14px;top:10px;font-size:30px;border:0;background:none}#composer textarea{resize:vertical}#composer label{margin-top:18px}.emojis{display:flex;flex-wrap:wrap;gap:5px;padding:10px 0 20px}.emojis button{background:white;border:1px solid var(--line);border-radius:5px;font-size:23px;padding:5px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#12220e;color:#edf5e7;border:1px solid #87b951;border-radius:8px;padding:15px 24px;box-shadow:0 5px 35px #0003;z-index:100;max-width:90vw;display:none}#toast.show{display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1800px){.stadium{min-height:660px}.logo{width:980px;height:390px}.hero-line{font-size:24px}}@media(max-width:1100px){.nav-links{gap:20px}.navigation{gap:20px}.grid{grid-template-columns:repeat(2,1fr)}.league-grid{grid-template-columns:repeat(3,1fr)}.links-grid{grid-template-columns:repeat(2,1fr)}.logo{height:300px}.stadium{min-height:540px}}@media(max-width:700px){.preview{font-size:10px;flex-direction:column;gap:5px;padding:9px 5%}.stadium{min-height:420px;background-position:63% center}.hero-content{padding:0 15px 55px}.logo{width:95vw;height:210px}.logo img{margin-top:-27px}.hero-line{font-size:17px}.hero-line strong{font-size:21px}.hero-actions{gap:8px}.button{font-size:13px;padding:12px 15px;gap:12px;min-height:43px}.stadium-caption{font-size:10px;left:5%;right:5%}.navigation{padding:0 5%;min-height:64px;gap:14px}.wordmark{display:none}.nav-links{overflow-x:auto;justify-content:flex-start;gap:24px}.nav-links a{font-size:13px;padding:23px 0}.theme-button{flex-shrink:0;width:31px;height:31px}.toolbar{align-items:stretch;flex-direction:column;gap:17px;margin-bottom:30px}#search{min-width:0}.welcome{font-size:13px}main{width:90%;padding-top:24px}.grid,.duo,.links-grid,.game-grid{grid-template-columns:1fr}.rubric{min-height:220px;padding:25px 24px 42px}.league-grid{grid-template-columns:repeat(2,1fr)}.section-head{align-items:start;flex-direction:column;gap:10px}.section-head p{font-size:14px}.secondary-section{margin-top:38px}.feature-banner{padding:28px;flex-direction:column;align-items:start}.feature-banner h2{font-size:29px}.profile-form .row{grid-template-columns:1fr}.panel{padding:24px}.topic-row{padding:19px}.topic-row strong{font-size:15px}.game-art{height:170px}.hero-actions .glass{background:#0b130dad}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.stadium[hidden]{display:none}
.flag{display:block;width:43px;height:29px;border-radius:3px;box-shadow:0 1px 4px #10230d18;position:relative;overflow:hidden}.flag-france{background:linear-gradient(90deg,#173b8b 33.3%,#fff 33.3% 66.6%,#cf263a 66.6%)}.flag-angleterre{background:linear-gradient(transparent 41%,#c92835 41% 59%,transparent 59%),linear-gradient(90deg,transparent 42%,#c92835 42% 58%,transparent 58%),#fff}.flag-italie{background:linear-gradient(90deg,#268657 33.3%,#fff 33.3% 66.6%,#cf263a 66.6%)}.flag-espagne{background:linear-gradient(#b42736 25%,#efc63e 25% 75%,#b42736 75%)}.flag-portugal{background:linear-gradient(90deg,#237047 40%,#c52a35 40%)}.flag-portugal::after{content:'';position:absolute;left:31%;top:28%;width:12px;height:12px;border:2px solid #efc63e;border-radius:50%}

.game-logo{height:150px;display:flex;align-items:center;justify-content:center;border-radius:8px;margin:0 0 24px;overflow:hidden}.game-logo img{display:block;max-width:90%;max-height:130px;object-fit:contain}.game-logo-hattrick{background:#fff;border:1px solid #edf0e8}.game-logo-hattrick img{width:240px;height:240px;max-height:none;max-width:none;object-fit:contain}.game-logo-trophy-manager{background:#285600}.game-logo-trophy-manager img{width:250px}.game-logo-footland{background:#0e2636}.game-logo-footland img{width:165px;height:183px;max-height:none;object-fit:cover;object-position:top;clip-path:inset(0 0 12% 0)}#app>.game-logo{height:200px;margin:0 0 28px}#app>.game-logo-footland img{height:230px;width:205px}.game-card .game-logo{margin:-10px -10px 24px}@media(max-width:700px){.game-logo{height:145px}#app>.game-logo{height:180px}}
.official-heading{display:flex;align-items:center;gap:20px;margin-bottom:22px}.official-heading strong{margin:0}.institution-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:110px;height:95px;border-radius:8px;padding:12px;background:#f4f6f9}.institution-logo img{display:block;width:100%;height:100%;object-fit:contain}.institution-0{background:#edf3fa}.institution-1{background:#f4f6fa}.institution-2{background:#081c46}.institution-3{background:#092b51}.institution-4{background:#10161e}.institution-5{background:#eef0f2}@media(max-width:700px){.institution-logo{width:95px;height:85px}.official-heading{gap:18px}}
/* Tracés de terrains : décor vectoriel discret derrière les rubriques. */
body{background-color:var(--paper);background-image:url('assets/traces-terrains.svg');background-size:1600px 1300px;background-position:center 690px;background-repeat:repeat-y}main{position:relative}main .section-head>div{background:linear-gradient(90deg,#f1f2edf2 75%,#f1f2ed00);padding-right:22px}main .toolbar .welcome{background:#f1f2ede8;padding:5px 8px;border-radius:4px}@media(max-width:700px){body{background-size:950px auto;background-position:center 510px}main .section-head>div{background:#f1f2ede8;border-radius:6px;padding:7px 10px 7px 0}}
/* Terrains répétés aussi dans les marges des grands écrans. */
body{background-image:url('assets/traces-terrains.svg'),url('assets/traces-terrains.svg'),url('assets/traces-terrains.svg');background-size:1600px 1300px,900px 731px,900px 731px;background-position:center 690px,left -400px top 720px,right -350px top 910px;background-repeat:repeat-y,repeat-y,repeat-y}@media(min-width:2200px){body{background-position:center 690px,left -250px top 710px,right -180px top 900px;background-size:1600px 1300px,1050px 853px,1050px 853px}}@media(max-width:700px){body{background-image:url('assets/traces-terrains.svg');background-size:950px auto;background-position:center 510px;background-repeat:repeat-y}}
