
:root{
  --green:#00583f;--green2:#08765a;--green3:#0f9472;--mint:#e9f7f1;
  --ink:#0a1720;--muted:#60716d;--paper:#fff;--bg:#f4f8f6;--line:#dce8e3;
  --gold:#e2a91e;--red:#a52a2a;--blue:#215f9a;--purple:#7053a6;--teal:#0d7a74;
  --shadow:0 16px 40px rgba(6,45,33,.08);--radius:20px;--header:82px;--max:1240px;
}
*{box-sizing:border-box;min-width:0}
html{scroll-behavior:smooth;max-width:100%;overflow-x:clip}
body{margin:0;max-width:100%;overflow-x:clip;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;padding-top:var(--header)}
body[data-theme="dark"]{--paper:#0d1815;--bg:#07110f;--ink:#eef7f4;--muted:#9cb0aa;--line:#233a34;--mint:#10271f;--shadow:0 16px 40px rgba(0,0,0,.25)}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input{font:inherit}
.skip-link{position:fixed;left:12px;top:-100px;background:#fff;color:#000;padding:10px;z-index:200}.skip-link:focus{top:12px}
.ped-shell{width:min(var(--max),calc(100% - 36px));margin:0 auto}
.offline-banner{position:fixed;z-index:150;top:8px;left:50%;transform:translateX(-50%);background:#8a2626;color:#fff;padding:9px 14px;font-weight:900;box-shadow:var(--shadow)}

.ped-header{position:fixed;top:0;left:0;right:0;z-index:120;background:color-mix(in srgb,var(--paper) 96%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);box-shadow:0 7px 24px rgba(8,50,38,.05)}
.ped-header-inner{width:min(var(--max),calc(100% - 36px));min-height:var(--header);margin:auto;display:flex;align-items:center;gap:26px}
.ped-brand{display:flex;align-items:center;gap:14px;margin-right:auto}
.ped-brand img{width:230px;max-height:61px;object-fit:contain}
.ped-brand span{border-left:3px solid var(--gold);padding-left:12px;display:grid}
.ped-brand b{color:var(--green);font-size:.75rem;letter-spacing:.18em}
.ped-brand small{color:var(--muted);font-size:.68rem;font-weight:800;margin-top:3px}
.ped-nav{display:flex;align-items:center;gap:22px;font-weight:850;font-size:.9rem}
.ped-nav a:hover{color:var(--green2)}
.ped-head-actions{display:flex;gap:7px}
.ped-search-btn,.ped-theme-btn,.ped-menu-btn{width:42px;height:42px;border:1px solid var(--line);background:var(--paper);color:var(--ink);display:grid;place-items:center;font-weight:900;cursor:pointer}
.ped-menu-btn{display:none}
.ped-mobile-menu[hidden]{display:none}
.ped-mobile-menu{border-top:1px solid var(--line);padding:12px 18px 18px;background:var(--paper);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ped-mobile-menu a,.ped-mobile-menu button{border:1px solid var(--line);background:var(--bg);padding:12px;text-align:left;font-weight:850;color:var(--ink)}

.ped-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#061a15 0%,#00583f 56%,#119477 100%);color:#fff;padding:64px 0}
.ped-hero:after{content:"";position:absolute;width:520px;height:520px;border:80px solid rgba(255,255,255,.055);border-radius:50%;right:-130px;top:-210px}
.ped-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:48px;align-items:center}
.ped-kicker{display:inline-flex;align-items:center;gap:9px;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:950}.ped-kicker:before{content:"";width:34px;height:3px;background:var(--gold)}
.ped-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.2rem,7vw,6.5rem);line-height:.9;letter-spacing:-.055em;margin:14px 0 18px}
.ped-hero p{max-width:760px;color:rgba(255,255,255,.9);font-size:1.07rem;line-height:1.7}
.ped-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.ped-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-weight:950;cursor:pointer}
.ped-btn-primary{background:var(--gold);border-color:var(--gold);color:#182017}.ped-btn-dark{background:#061a15;color:#fff;border-color:rgba(255,255,255,.2)}
.ped-hero-panel{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:22px;backdrop-filter:blur(10px)}
.ped-progress-ring{width:128px;height:128px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:conic-gradient(var(--gold) var(--progress,0%),rgba(255,255,255,.12) 0);position:relative}
.ped-progress-ring:before{content:"";position:absolute;inset:11px;background:#0d4e3d;border-radius:50%}
.ped-progress-ring strong{position:relative;z-index:1;font-size:1.8rem}
.ped-hero-panel h2{text-align:center;margin:0;font-size:1.25rem}.ped-hero-panel p{text-align:center;font-size:.88rem;margin:8px 0 0}
.ped-progress-list{display:grid;gap:8px;margin-top:18px}
.ped-progress-list span{display:flex;justify-content:space-between;gap:8px;border-top:1px solid rgba(255,255,255,.13);padding-top:8px;font-size:.82rem;font-weight:800}

.ped-alert-strip{background:#fff7dd;border-bottom:1px solid #efd47f}
body[data-theme="dark"] .ped-alert-strip{background:#28200c}
.ped-alert-inner{display:flex;align-items:center;gap:12px;padding:13px 0;font-size:.88rem}.ped-alert-inner strong{color:#7c4d00}.ped-alert-inner a{margin-left:auto;font-weight:950;color:var(--green)}

.ped-section{padding:52px 0}
.ped-section--white{background:var(--paper)}
.ped-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
.ped-section-head small{display:block;color:var(--green2);font-weight:950;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.ped-section-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,4.7vw,4rem);line-height:.95;letter-spacing:-.045em;margin:0}
.ped-section-head p{max-width:650px;color:var(--muted);margin:8px 0 0}
.ped-text-link{font-weight:950;color:var(--green2);white-space:nowrap}

.ped-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ped-module-card{position:relative;background:var(--paper);border:1px solid var(--line);padding:20px;box-shadow:0 8px 22px rgba(10,50,39,.03);transition:.2s}
.ped-module-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ped-module-card h3{margin:0;font-size:1.3rem}.ped-module-card p{color:var(--muted);line-height:1.55;margin:8px 0 16px}
.ped-card-meta{display:flex;gap:7px;flex-wrap:wrap}.ped-chip{font-size:.72rem;font-weight:900;border:1px solid var(--line);background:var(--bg);padding:6px 8px}
.ped-card-status{position:absolute;top:16px;right:16px;width:25px;height:25px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:.72rem;color:transparent}
.ped-module-card.is-done .ped-card-status{background:var(--green);border-color:var(--green);color:#fff}

.ped-species-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ped-species-card{background:var(--paper);border:1px solid var(--line);padding:18px;text-align:left}
.ped-species-card .emoji{font-size:2.3rem;display:block;margin-bottom:14px}.ped-species-card small{color:var(--green2);font-weight:900}.ped-species-card h3{margin:5px 0}.ped-species-card p{color:var(--muted);font-size:.85rem;line-height:1.45}

.ped-feature-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:14px}
.ped-feature{background:#071a15;color:#fff;padding:26px;min-height:230px;display:flex;flex-direction:column;justify-content:end}
.ped-feature:nth-child(2){background:#f0e5b8;color:#19211d}.ped-feature:nth-child(3){background:#dcece7;color:#10201b}
.ped-feature small{font-weight:950;text-transform:uppercase;letter-spacing:.12em}.ped-feature h3{font-family:Georgia,serif;font-size:2rem;line-height:.98;margin:9px 0}.ped-feature p{opacity:.82;margin:0;line-height:1.5}

.ped-page-hero{background:var(--paper);border-bottom:1px solid var(--line);padding:46px 0 38px}
.ped-breadcrumb{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:.8rem;font-weight:800;margin-bottom:14px}.ped-breadcrumb a{color:var(--green2)}
.ped-page-hero h1{font-family:Georgia,serif;font-size:clamp(2.8rem,6vw,5.6rem);line-height:.9;letter-spacing:-.05em;margin:0}
.ped-page-hero p{max-width:760px;color:var(--muted);font-size:1.05rem;line-height:1.7}
.ped-page-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}

.ped-content-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;padding:34px 0 64px}
.ped-sidebar{position:sticky;top:calc(var(--header) + 18px);align-self:start;background:var(--paper);border:1px solid var(--line);padding:16px}
.ped-sidebar strong{display:block;margin-bottom:10px}.ped-sidebar a{display:block;padding:9px 8px;border-top:1px solid var(--line);font-size:.84rem;font-weight:800;color:var(--muted)}.ped-sidebar a:hover{color:var(--green)}
.ped-article{background:var(--paper);border:1px solid var(--line);padding:30px;box-shadow:0 8px 26px rgba(10,50,39,.025)}
.ped-article h2{font-family:Georgia,serif;font-size:2rem;margin:34px 0 12px}.ped-article h2:first-child{margin-top:0}
.ped-article p,.ped-article li{line-height:1.75;color:color-mix(in srgb,var(--ink) 86%,var(--muted))}
.ped-article ul{padding-left:22px}
.ped-callout,.ped-danger{padding:17px;border-left:5px solid var(--green);background:var(--mint);margin:20px 0}.ped-callout p,.ped-danger p{margin-bottom:0}
.ped-danger{border-color:var(--red);background:#fff0ef}body[data-theme="dark"] .ped-danger{background:#2a1313}
.ped-cta-inline{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#071a15;color:#fff;padding:17px}.ped-cta-inline a{background:var(--gold);color:#182017;padding:10px 13px;font-weight:950}
.ped-objectives{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.ped-objective{background:var(--bg);border:1px solid var(--line);padding:13px;font-size:.84rem;font-weight:800}
.ped-module-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.ped-complete-btn.is-complete{background:var(--green);color:#fff;border-color:var(--green)}

.ped-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:32px 0 64px}
.ped-list-card{background:var(--paper);border:1px solid var(--line);padding:20px}
.ped-list-card small{font-weight:950;color:var(--green2)}.ped-list-card h2,.ped-list-card h3{margin:6px 0 8px}.ped-list-card p{color:var(--muted);line-height:1.55}
.ped-species-detail{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;padding:34px 0 64px}
.ped-species-visual{background:linear-gradient(145deg,var(--mint),var(--paper));border:1px solid var(--line);min-height:280px;display:grid;place-items:center;font-size:6rem;align-self:start;position:sticky;top:calc(var(--header) + 18px)}
.ped-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ped-fact{background:var(--paper);border:1px solid var(--line);padding:16px}.ped-fact strong{display:block;margin-bottom:6px}.ped-fact p,.ped-fact ul{color:var(--muted);line-height:1.6}

.ped-quiz-wrap{max-width:900px;margin:0 auto;padding:34px 0 64px}
.ped-question{background:var(--paper);border:1px solid var(--line);padding:20px;margin-bottom:12px}.ped-question h3{margin:0 0 13px}
.ped-answer{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);padding:11px;margin:7px 0;cursor:pointer}.ped-answer:hover{border-color:var(--green2)}
.ped-quiz-result{background:#071a15;color:#fff;padding:20px;margin-top:16px}.ped-quiz-result strong{font-size:2rem}

.ped-glossary{display:grid;gap:9px;padding:30px 0 64px}.ped-term{background:var(--paper);border:1px solid var(--line);padding:16px;scroll-margin-top:100px}.ped-term strong{color:var(--green2);font-size:1.1rem}.ped-term p{color:var(--muted);margin:5px 0 0}
.ped-search-form{display:flex;gap:8px;max-width:760px}.ped-search-form input{flex:1;min-height:48px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:0 14px}.ped-search-form button{border:0;background:var(--green);color:#fff;padding:0 18px;font-weight:950}
.ped-empty{background:var(--paper);border:1px dashed var(--line);padding:24px;color:var(--muted)}

.ped-footer{background:#071410;color:#fff;margin-top:0}.ped-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:30px;padding:44px 0}.ped-footer img{width:230px;background:#fff;padding:8px}.ped-footer p{color:#a8bbb5;line-height:1.6;max-width:420px}.ped-footer strong{display:block;margin-bottom:10px}.ped-footer a{display:block;color:#b6c6c1;padding:5px 0;font-size:.86rem}.ped-footer-bottom{border-top:1px solid rgba(255,255,255,.11)}.ped-footer-bottom .ped-shell{display:flex;justify-content:space-between;gap:14px;padding:13px 0;color:#839b93;font-size:.75rem}

.ped-bottom-nav{display:none}
.ped-install-pill{display:none;position:fixed;z-index:105;right:14px;bottom:78px;background:var(--green);color:#fff;border:0;padding:11px 14px;font-weight:950;box-shadow:var(--shadow)}
.ped-install-sheet[hidden]{display:none}.ped-install-sheet{position:fixed;inset:0;z-index:160;display:grid;align-items:end}.ped-sheet-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.5)}.ped-sheet-card{position:relative;z-index:1;width:min(560px,100%);margin:auto;background:var(--paper);color:var(--ink);padding:24px 20px calc(22px + env(safe-area-inset-bottom));border-top:5px solid var(--green)}.ped-sheet-card img{border-radius:18px}.ped-sheet-card small{display:block;color:var(--green2);font-weight:950;text-transform:uppercase;letter-spacing:.12em;margin-top:9px}.ped-sheet-card h2{font-family:Georgia,serif;font-size:2rem;margin:6px 0}.ped-sheet-card p{color:var(--muted);line-height:1.55}.ped-sheet-close{position:absolute;right:14px;top:14px;width:40px;height:40px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:1.4rem}

@media(max-width:1050px){
  .ped-nav{display:none}.ped-menu-btn{display:grid}
  .ped-hero-grid{grid-template-columns:1fr}.ped-hero-panel{max-width:620px}
  .ped-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ped-species-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ped-feature-grid{grid-template-columns:1fr 1fr}.ped-feature:first-child{grid-column:1/-1}
  .ped-footer-grid{grid-template-columns:1.3fr 1fr 1fr}.ped-footer-grid>div:last-child{grid-column:2}
}
@media(max-width:760px){
  :root{--header:66px}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom));touch-action:pan-y pinch-zoom;overflow-y:auto}
  .ped-shell{width:calc(100% - 24px)}
  .ped-header-inner{width:calc(100% - 20px);min-height:var(--header);gap:8px}
  .ped-brand img{width:164px;max-height:46px}.ped-brand span{display:none}
  .ped-search-btn,.ped-theme-btn,.ped-menu-btn{width:38px;height:38px}
  .ped-mobile-menu{grid-template-columns:1fr;max-height:calc(100svh - var(--header));overflow-y:auto;-webkit-overflow-scrolling:touch}
  .ped-hero{padding:40px 0}.ped-hero-grid{gap:28px}.ped-hero h1{font-size:clamp(3rem,16vw,4.7rem)}.ped-hero p{font-size:.96rem}
  .ped-actions{display:grid;grid-template-columns:1fr}.ped-btn{width:100%}
  .ped-alert-inner{align-items:flex-start;flex-wrap:wrap}.ped-alert-inner a{margin-left:0}
  .ped-section{padding:38px 0}.ped-section-head{align-items:flex-start}.ped-section-head h2{font-size:2.7rem}.ped-text-link{display:none}
  .ped-module-grid,.ped-list-grid{grid-template-columns:1fr}
  .ped-species-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ped-feature-grid{grid-template-columns:1fr}.ped-feature:first-child{grid-column:auto}.ped-feature{min-height:190px}
  .ped-content-layout,.ped-species-detail{grid-template-columns:1fr}.ped-sidebar,.ped-species-visual{position:static}.ped-sidebar{display:none}
  .ped-article{padding:19px 16px}.ped-objectives{grid-template-columns:1fr}.ped-module-footer{align-items:stretch;flex-direction:column}
  .ped-species-visual{min-height:190px}
  .ped-facts{grid-template-columns:1fr}
  .ped-page-hero{padding:32px 0}.ped-page-hero h1{font-size:3.5rem}
  .ped-footer-grid{grid-template-columns:1fr}.ped-footer-grid>div:last-child{grid-column:auto}.ped-footer-bottom .ped-shell{display:grid}
  .ped-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:110;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:color-mix(in srgb,var(--paper) 97%,transparent);border-top:1px solid var(--line);padding:4px 5px env(safe-area-inset-bottom);backdrop-filter:blur(18px)}
  .ped-bottom-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;color:var(--muted);font-size:.61rem;font-weight:900;padding:5px 1px}.ped-bottom-nav span{font-size:1.15rem}.ped-bottom-nav b{font-size:.58rem}
  .ped-install-pill{display:inline-flex}
}
@media(max-width:390px){
  .ped-brand img{width:145px}
  .ped-species-grid{grid-template-columns:1fr}
}
@media(display-mode:standalone){
  .ped-install-pill,[data-pwa-install]{display:none!important}
  body{overscroll-behavior-y:auto;overflow-y:auto!important;height:auto!important}
}


/* =========================
   V1.1.0 Images libres
   ========================= */
.ped-hero-figure{margin:0 0 18px}
.ped-hero-figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid rgba(255,255,255,.18)}
.ped-hero-figure figcaption{font-size:.72rem;line-height:1.45;color:rgba(255,255,255,.82);margin-top:8px}

.ped-card-thumb{margin:-18px -18px 14px;background:var(--bg);overflow:hidden;border-bottom:1px solid var(--line)}
.ped-card-thumb img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ped-card-thumb--wide{margin:-20px -20px 14px}

.ped-species-photo{margin:0;width:100%}
.ped-species-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);background:var(--paper)}
.ped-species-photo figcaption{font-size:.75rem;color:var(--muted);line-height:1.55;margin-top:8px}
.ped-species-photo a{color:var(--green2);font-weight:800}

.ped-species-visual{padding:18px}
.ped-species-list-card h2,.ped-species-list-card h3{margin-top:8px}
@media(max-width:760px){
  .ped-card-thumb{margin:-18px -18px 12px}
  .ped-card-thumb--wide{margin:-20px -20px 12px}
}


/* =========================================================
   V1.2.0 PREMIUM PÉDAGOGIQUE
   ========================================================= */
.ped-species-card .emoji{display:none!important}

.ped-premium-label{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 10px;border:1px solid var(--line);background:var(--mint);
  color:var(--green2);font-size:.7rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase;
}
.ped-page-hero--premium{background:
  radial-gradient(700px 260px at 90% 10%,color-mix(in srgb,var(--mint) 80%,transparent),transparent 65%),
  var(--paper)
}
.ped-alert-strip--2026{background:#061a15;color:#fff;border:0}
.ped-alert-strip--2026 .ped-alert-inner strong{color:var(--gold)}
.ped-alert-strip--2026 .ped-alert-inner a{color:var(--gold)}

.ped-premium-tracks{background:
  radial-gradient(900px 320px at 0% 0%,rgba(0,88,63,.06),transparent 62%),
  var(--bg)
}
.ped-track-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ped-track-card{background:var(--paper);border-top:5px solid var(--green);padding:22px;box-shadow:var(--shadow)}
.ped-track-card:nth-child(2){border-color:var(--gold)}
.ped-track-card:nth-child(3){border-color:#12281f}
.ped-track-card small{font-weight:950;color:var(--green2);letter-spacing:.12em;text-transform:uppercase}
.ped-track-card h3{font-family:Georgia,serif;font-size:1.8rem;line-height:1;margin:8px 0 10px}
.ped-track-card p{color:var(--muted);line-height:1.55}
.ped-track-card div{display:grid;gap:6px;margin-top:16px}
.ped-track-card div a{padding:8px 0;border-top:1px solid var(--line);font-size:.8rem;font-weight:850;color:var(--green2)}

.ped-track-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:26px 0 0}
.ped-track-summary article{background:var(--paper);border:1px solid var(--line);padding:16px}
.ped-track-summary small{font-weight:950;color:var(--green2)}
.ped-track-summary h2{font-family:Georgia,serif;margin:5px 0}
.ped-track-summary p{color:var(--muted);margin:0;line-height:1.45;font-size:.86rem}

.ped-premium-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ped-updated{font-size:.75rem;font-weight:900;color:var(--muted);border-left:1px solid var(--line);padding-left:12px}

.ped-research-note,.ped-myth,.ped-case{
  margin:20px 0;padding:17px 18px;background:#eef8f5;border-left:5px solid var(--green)
}
body[data-theme="dark"] .ped-research-note,
body[data-theme="dark"] .ped-myth,
body[data-theme="dark"] .ped-case{background:#10251f}
.ped-myth{border-color:var(--gold);background:#fff8e6}
body[data-theme="dark"] .ped-myth{background:#29220d}
.ped-case{border-color:#234f79;background:#eef5fb}
body[data-theme="dark"] .ped-case{background:#101d28}
.ped-research-note p,.ped-myth p,.ped-case p{margin-bottom:0}

.ped-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:18px 0}
.ped-timeline span{background:var(--bg);border:1px solid var(--line);padding:12px;font-size:.78rem}
.ped-timeline b{display:block;color:var(--green2);margin-bottom:4px}

.ped-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}
.ped-plan-grid span{padding:14px;background:#071a15;color:#fff;min-height:84px}
.ped-plan-grid b{display:block;color:var(--gold);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}

.ped-source-box{margin-top:40px;padding-top:26px;border-top:4px solid var(--green)}
.ped-source-box>small{font-weight:950;color:var(--green2);letter-spacing:.12em}
.ped-source-box h2{margin:7px 0 14px!important}
.ped-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ped-source-list a{display:grid;gap:5px;padding:14px;background:var(--bg);border:1px solid var(--line)}
.ped-source-list strong{font-size:.88rem;color:var(--ink)}
.ped-source-list span{font-size:.72rem;color:var(--muted)}

.ped-source-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:34px 0 64px}
.ped-source-card{background:var(--paper);border:1px solid var(--line);padding:20px}
.ped-source-card small{font-weight:950;color:var(--green2);text-transform:uppercase;letter-spacing:.09em}
.ped-source-card h2{font-family:Georgia,serif;font-size:1.55rem;line-height:1.05;margin:8px 0}
.ped-source-card p,.ped-source-card span{display:block;color:var(--muted);font-size:.84rem;margin-bottom:8px}
.ped-source-card .ped-btn{margin-top:10px;width:auto}

.ped-badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:34px 0 64px}
.ped-badge-card{position:relative;background:var(--paper);border:1px solid var(--line);padding:22px;opacity:.64;filter:saturate(.45)}
.ped-badge-card.is-unlocked{opacity:1;filter:none;border-color:var(--green);box-shadow:var(--shadow)}
.ped-badge-mark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#17201d;color:#fff;border:6px solid #d5ded9;font-family:Georgia,serif;font-size:1rem;font-weight:900;margin-bottom:15px}
.ped-badge-card.is-unlocked .ped-badge-mark{background:var(--green);border-color:var(--gold)}
.ped-badge-card small{color:var(--green2);font-weight:950;letter-spacing:.1em}
.ped-badge-card h2{font-family:Georgia,serif;font-size:1.8rem;margin:6px 0}
.ped-badge-card p{color:var(--muted)}
.ped-badge-card>strong{display:inline-flex;padding:7px 9px;background:var(--bg);font-size:.74rem}

.ped-compare-wrap{padding:34px 0 64px}
.ped-compare-table{display:grid;border:1px solid var(--line);background:var(--paper);overflow:hidden}
.ped-compare-row{display:grid;grid-template-columns:1.05fr 1.1fr 1.2fr .9fr;border-top:1px solid var(--line);align-items:stretch}
.ped-compare-row:first-child{border-top:0}
.ped-compare-row>span{padding:13px;border-left:1px solid var(--line);font-size:.8rem;line-height:1.5}
.ped-compare-row>span:first-child{border-left:0}
.ped-compare-head{background:#071a15;color:#fff;font-weight:950}
.ped-compare-species{display:grid!important;grid-template-columns:66px 1fr;grid-template-rows:auto auto;align-items:center;gap:0 10px}
.ped-compare-species img{grid-row:1/3;width:66px;height:66px;object-fit:cover}
.ped-compare-species small{color:var(--muted);font-style:italic}

.ped-head-links{display:flex;gap:14px;align-items:center}
.ped-photo-placeholder{font-size:.8rem;color:var(--muted);text-align:center}

@media(max-width:900px){
  .ped-track-grid,.ped-track-summary{grid-template-columns:1fr}
  .ped-source-directory{grid-template-columns:1fr}
  .ped-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ped-compare-table{overflow-x:auto}
  .ped-compare-row{min-width:850px}
}
@media(max-width:760px){
  .ped-timeline,.ped-plan-grid,.ped-source-list{grid-template-columns:1fr}
  .ped-badge-grid{grid-template-columns:1fr}
  .ped-head-links .ped-text-link:first-child{display:inline-flex}
}

/* V1.2.1 — Hotfix accueil : plus aucune icône de module héritée de la V1.1. */


/* =========================================================
   V1.3.0 — PROFIL, NIVEAUX, CERTIFICAT, ADMIN
   ========================================================= */
.ped-profile-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;padding:34px 0 64px}
.ped-profile-card{background:var(--paper);border:1px solid var(--line);padding:22px;box-shadow:0 8px 26px rgba(10,50,39,.03)}
.ped-profile-card>small{color:var(--green2);font-weight:950;letter-spacing:.1em}
.ped-profile-card h2{font-family:Georgia,serif;font-size:2rem;margin:8px 0}
.ped-profile-card p{color:var(--muted);line-height:1.55}
.ped-profile-avatar{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;border:7px solid var(--mint);font-family:Georgia,serif;font-size:1.6rem;font-weight:900;margin:18px 0}
.ped-profile-card--identity>strong{display:inline-flex;background:var(--mint);color:var(--green);padding:7px 10px;margin-bottom:18px}
.ped-profile-form{display:grid;gap:10px;margin-top:16px}
.ped-profile-form label{display:grid;gap:6px;font-size:.78rem;font-weight:900}
.ped-profile-form label small{font-weight:700;color:var(--muted)}
.ped-profile-form input{min-height:46px;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:0 12px}
.ped-form-status{font-size:.76rem;color:var(--green2);font-weight:900}
.ped-profile-level-display{font-family:Georgia,serif;font-size:2.7rem;color:var(--green);margin:12px 0}
.ped-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}
.ped-profile-stats span{background:var(--bg);border:1px solid var(--line);padding:12px}
.ped-profile-stats b{display:block;font-size:1.45rem;color:var(--green)}
.ped-profile-stats small{display:block;color:var(--muted);font-size:.68rem;margin-top:4px}
.ped-cert-gauge{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.ped-cert-gauge span{background:var(--bg);border:1px solid var(--line);padding:11px;font-size:.78rem}
.ped-cert-gauge b{display:block;color:var(--green);font-size:1.15rem}
.ped-cert-note{font-size:.78rem}.ped-cert-disclaimer{display:block;color:var(--muted);line-height:1.45;margin-top:10px}
[data-certificate-button]:disabled{opacity:.45;cursor:not-allowed}

.ped-level-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:34px 0 64px}
.ped-level-grid article{position:relative;background:var(--paper);border:1px solid var(--line);border-top:5px solid #93aaa2;padding:20px;opacity:.76}
.ped-level-grid article.is-level-reached{opacity:1;border-top-color:var(--green)}
.ped-level-grid article.is-current-level{outline:3px solid var(--gold);outline-offset:3px}
.ped-level-grid small{font-size:.7rem;font-weight:950;color:var(--green2)}
.ped-level-grid h2{font-family:Georgia,serif;font-size:2rem;margin:7px 0}
.ped-level-grid p{color:var(--muted);line-height:1.55}

.ped-verify-wrap{padding:34px 0 64px}.ped-verify-card{max-width:760px;background:var(--paper);border:1px solid var(--line);padding:24px}.ped-verify-card.is-valid{border-top:6px solid var(--green)}.ped-verify-card.is-invalid{border-top:6px solid #9b2c2c}.ped-verify-card small{color:var(--green2);font-weight:950}.ped-verify-card h2{font-family:Georgia,serif;font-size:2.4rem;margin:8px 0}.ped-verify-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ped-verify-card dl div{background:var(--bg);padding:10px}.ped-verify-card dt{font-size:.68rem;color:var(--muted);text-transform:uppercase;font-weight:900}.ped-verify-card dd{margin:4px 0 0;font-weight:900}

.ped-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:34px 0 64px}.ped-faq-item{background:var(--paper);border:1px solid var(--line);padding:20px}.ped-faq-item h2{font-family:Georgia,serif;font-size:1.55rem;line-height:1.06;margin:0 0 9px}.ped-faq-item p{color:var(--muted);line-height:1.6;margin:0}

/* Administration */
.ped-admin-body{padding:0;background:#eef4f1;color:#0a1720;min-height:100vh}
.ped-admin-login{width:min(480px,calc(100% - 28px));margin:70px auto;background:#fff;border-top:6px solid #00583f;padding:28px;box-shadow:0 18px 50px rgba(0,0,0,.09)}
.ped-admin-login img{width:240px}.ped-admin-login>small{display:block;color:#00583f;font-weight:950;letter-spacing:.11em;margin-top:18px}.ped-admin-login h1{font-family:Georgia,serif;font-size:3rem;margin:5px 0 18px}.ped-admin-login form{display:grid;gap:10px}.ped-admin-login label{display:grid;gap:6px;font-weight:900}.ped-admin-login input{min-height:48px;border:1px solid #ccd9d4;padding:0 12px}.ped-admin-warning{background:#fff6dc;border-left:5px solid #d9a21a;padding:12px}.ped-admin-error{color:#9b2c2c;font-weight:900}
.ped-admin-top{display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:10;background:#071a15;color:#fff;padding:10px 20px}.ped-admin-top img{width:180px;background:#fff;padding:5px}.ped-admin-top div{display:grid;margin-right:auto}.ped-admin-top span{font-size:.72rem;color:#a9c2ba}.ped-admin-top .ped-btn{width:auto;min-height:40px}
.ped-admin-shell{width:min(1500px,calc(100% - 28px));margin:24px auto 60px}.ped-admin-notice{background:#dff6ed;border-left:5px solid #00583f;padding:12px;font-weight:900;margin-bottom:14px}
.ped-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.ped-admin-stats article{background:#fff;border:1px solid #d7e3df;padding:16px}.ped-admin-stats strong{display:block;font-size:2rem;color:#00583f}.ped-admin-stats span{color:#60716d;font-size:.8rem}
.ped-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ped-admin-panel,.ped-admin-library{background:#fff;border:1px solid #d7e3df;padding:20px}.ped-admin-panel>small,.ped-admin-library header small{color:#00583f;font-weight:950;letter-spacing:.1em}.ped-admin-panel h1,.ped-admin-library h2{font-family:Georgia,serif;font-size:2.2rem;margin:5px 0 16px}
.ped-admin-form{display:grid;gap:10px}.ped-admin-form label{display:grid;gap:5px;font-size:.76rem;font-weight:900}.ped-admin-form input,.ped-admin-form textarea,.ped-admin-form select{width:100%;border:1px solid #cddbd6;background:#f8fbfa;color:#0a1720;padding:10px}.ped-admin-form textarea{min-height:92px;resize:vertical}.ped-admin-form-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ped-admin-form fieldset{border:1px solid #d7e3df}.ped-admin-checks{display:grid;gap:6px;max-height:180px;overflow:auto}.ped-admin-checks label{display:flex;align-items:flex-start;gap:7px}.ped-admin-checks input{width:auto}
.ped-admin-repeat{border:1px solid #d7e3df;background:#f7faf9;padding:10px;margin:8px 0}.ped-admin-library{margin-top:14px}.ped-admin-library-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ped-admin-library-grid>div>article{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border-top:1px solid #d7e3df;padding:9px 0}.ped-admin-library-grid article div{display:grid}.ped-admin-library-grid small{color:#60716d}.ped-admin-library-grid button{border:0;background:none;color:#9b2c2c;cursor:pointer}
.ped-admin-certs{display:grid}.ped-admin-certs article{display:grid;grid-template-columns:1.3fr .8fr .8fr auto;gap:8px;border-top:1px solid #d7e3df;padding:10px 0;align-items:center}
@media(max-width:980px){.ped-profile-grid,.ped-faq-list{grid-template-columns:1fr}.ped-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ped-admin-grid{grid-template-columns:1fr}.ped-admin-stats{grid-template-columns:1fr 1fr}.ped-admin-library-grid{grid-template-columns:1fr}}
@media(max-width:620px){.ped-profile-stats,.ped-cert-gauge,.ped-level-grid,.ped-admin-stats{grid-template-columns:1fr}.ped-verify-card dl{grid-template-columns:1fr}.ped-admin-form-cols{grid-template-columns:1fr}.ped-admin-certs article{grid-template-columns:1fr 1fr}.ped-admin-top{flex-wrap:wrap}.ped-admin-top div{order:3;width:100%}}


/* =========================================================
   V1.4.0 — COMPTES SIGNALNIDS / SYNC / CLASSEMENT / STATS
   ========================================================= */
.ped-account-btn{min-height:42px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid var(--line);background:var(--paper);font-size:.76rem;font-weight:950;color:var(--green)}
.ped-auth-section{min-height:calc(100vh - var(--header));display:grid;place-items:center;padding:36px 14px}.ped-auth-card{width:min(520px,100%);background:var(--paper);border-top:6px solid var(--green);padding:26px;box-shadow:var(--shadow)}.ped-auth-card img{width:250px}.ped-auth-card>small{display:block;color:var(--green2);font-weight:950;letter-spacing:.12em;margin-top:18px}.ped-auth-card h1{font-family:Georgia,serif;font-size:3rem;line-height:.95;margin:6px 0 12px}.ped-auth-card>p{color:var(--muted);line-height:1.6}.ped-auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:.8rem;font-weight:850;color:var(--green2)}
.ped-profile-checkbox{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important}.ped-profile-checkbox input{min-height:0!important;width:auto!important}
.ped-history-list{padding:30px 0 64px;display:grid}.ped-history-list article{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--paper);border-top:1px solid var(--line);padding:13px 15px}.ped-history-list time{font-size:.75rem;color:var(--muted)}.ped-history-list article div{display:grid}.ped-history-list article div span{font-size:.76rem;color:var(--muted)}.ped-history-list article>b{color:var(--green)}
.ped-ranking-wrap{padding:30px 0 64px}.ped-ranking-head,.ped-ranking-row{display:grid;grid-template-columns:70px 1.4fr 1fr 90px 90px 100px;gap:8px;align-items:center}.ped-ranking-head{background:#071a15;color:#fff;padding:10px 14px;font-size:.7rem;font-weight:950;text-transform:uppercase}.ped-ranking-row{background:var(--paper);border-bottom:1px solid var(--line);padding:13px 14px}.ped-ranking-row>b:first-child{font-family:Georgia,serif;font-size:1.3rem;color:var(--gold)}.ped-ranking-row>strong:last-child{text-align:right;color:var(--green)}
.ped-admin-training{background:#fff;border:1px solid #d7e3df;padding:20px;margin:14px 0}.ped-admin-training>header{display:flex;align-items:end;justify-content:space-between;gap:12px}.ped-admin-training header small{color:#00583f;font-weight:950;letter-spacing:.1em}.ped-admin-training h2{font-family:Georgia,serif;font-size:2.2rem;margin:5px 0}.ped-admin-training header>span{color:#60716d;font-size:.75rem}.ped-admin-training-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:14px 0}.ped-admin-training-kpis article{background:#f4f8f6;padding:12px;border:1px solid #d7e3df}.ped-admin-training-kpis strong{display:block;font-size:1.8rem;color:#00583f}.ped-admin-training-kpis span{font-size:.68rem;color:#60716d}.ped-admin-training-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px}.ped-admin-training-grid>article{border:1px solid #d7e3df;padding:14px}.ped-admin-training-grid h3{margin:0 0 8px}.ped-admin-stat-row{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #e1e9e6;padding:7px 0;font-size:.76rem}.ped-admin-stat-row span{display:grid}.ped-admin-stat-row small{color:#60716d}.ped-admin-bars{height:180px;display:flex;align-items:end;gap:5px;padding-top:20px}.ped-admin-bars>div{height:100%;flex:1;display:grid;grid-template-rows:1fr auto auto;align-items:end;text-align:center}.ped-admin-bars span{display:block;background:#0a7659;min-height:4px}.ped-admin-bars small{font-size:.55rem;color:#60716d}.ped-admin-bars b{font-size:.6rem}.ped-admin-training.is-disabled{background:#fff9e7;border-color:#e7ce7d}
@media(max-width:1050px){.ped-account-btn{display:none}.ped-admin-training-kpis{grid-template-columns:repeat(3,1fr)}.ped-admin-training-grid{grid-template-columns:1fr}.ped-ranking-head,.ped-ranking-row{grid-template-columns:55px 1.4fr 1fr 70px 80px}.ped-ranking-head span:nth-child(5),.ped-ranking-row span:nth-child(5){display:none}}
@media(max-width:720px){.ped-auth-card h1{font-size:2.5rem}.ped-history-list article{grid-template-columns:1fr auto}.ped-history-list time{grid-column:1/-1}.ped-ranking-wrap{overflow-x:auto}.ped-ranking-head,.ped-ranking-row{min-width:700px}.ped-admin-training-kpis{grid-template-columns:1fr 1fr}}


/* =========================================================
   V1.4.1 — MENU PWA / MOBILE
   Corrige le menu qui s'affichait en liens inline superposés.
   ========================================================= */

.ped-mobile-menu[hidden]{
  display:none !important;
}

@media(max-width:1050px){
  .ped-mobile-menu:not([hidden]){
    display:block !important;
    position:fixed;
    top:var(--header);
    left:0;
    right:0;
    bottom:0;
    z-index:119;
    width:100%;
    max-height:none;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    padding:0 14px calc(88px + env(safe-area-inset-bottom));
    background:var(--paper);
    border-top:1px solid var(--line);
    box-shadow:0 18px 50px rgba(0,0,0,.14);
  }

  body.ped-menu-open{
    overflow:hidden !important;
    touch-action:none;
  }

  body.ped-menu-open .ped-bottom-nav{
    transform:translateY(110%);
    pointer-events:none;
  }

  body.ped-menu-open .ped-install-pill{
    display:none !important;
  }

  .ped-mobile-menu-head{
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 -14px 10px;
    padding:16px 14px 14px;
    background:color-mix(in srgb,var(--paper) 97%,transparent);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(16px);
  }

  .ped-mobile-menu-head>div{
    display:grid;
    gap:3px;
  }

  .ped-mobile-menu-head small{
    color:var(--green2);
    font-size:.62rem;
    line-height:1.2;
    font-weight:950;
    letter-spacing:.11em;
  }

  .ped-mobile-menu-head strong{
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.45rem;
    line-height:1;
  }

  .ped-mobile-profile-chip{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 12px !important;
    border:0 !important;
    background:var(--green) !important;
    color:#fff !important;
    font-size:.72rem;
    font-weight:950 !important;
    white-space:nowrap;
  }

  .ped-mobile-menu-section{
    display:block;
    margin:0 0 18px;
  }

  .ped-mobile-menu-title{
    display:block;
    padding:7px 2px;
    color:var(--muted);
    font-size:.65rem;
    line-height:1;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
  }

  .ped-mobile-menu-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .ped-mobile-menu-grid>a{
    display:flex !important;
    min-height:68px;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:3px;
    width:100%;
    margin:0;
    padding:11px 12px !important;
    border:1px solid var(--line) !important;
    background:var(--bg) !important;
    color:var(--ink) !important;
    line-height:1.2;
    overflow:hidden;
  }

  .ped-mobile-menu-grid>a b{
    display:block;
    width:100%;
    font-size:.84rem;
    font-weight:950;
    overflow-wrap:anywhere;
  }

  .ped-mobile-menu-grid>a small{
    display:block;
    width:100%;
    color:var(--muted);
    font-size:.66rem;
    font-weight:700;
    line-height:1.35;
    overflow-wrap:anywhere;
  }

  .ped-mobile-menu-grid>a.is-danger{
    border-color:#eccdca !important;
    background:#fff4f3 !important;
    color:#8b2922 !important;
  }

  body[data-theme="dark"] .ped-mobile-menu-grid>a.is-danger{
    border-color:#5b2d29 !important;
    background:#291513 !important;
    color:#ffc1bb !important;
  }

  .ped-mobile-install{
    display:flex;
    width:100%;
    min-height:48px;
    align-items:center;
    justify-content:center;
    border:0;
    background:var(--green);
    color:#fff;
    font-weight:950;
    cursor:pointer;
  }

  .ped-bottom-nav{
    transition:transform .22s ease;
  }
}

@media(max-width:520px){
  .ped-mobile-menu-grid{
    grid-template-columns:1fr;
  }

  .ped-mobile-menu-grid>a{
    min-height:60px;
  }

  .ped-mobile-menu-head strong{
    font-size:1.25rem;
  }
}

@media(display-mode:standalone){
  .ped-mobile-menu:not([hidden]){
    padding-bottom:calc(24px + env(safe-area-inset-bottom));
  }
}
