:root{--navy:#0a2a4a;--lime:#c8f135;--teal:#00b4d8;--teal-lt:#90e0ef;--blue-dp:#0077b6;--white:#f8fafc;--gray:#e2e8f0;--gray-dk:#64748b;--ink:#1e293b;--card-bg:#ffffff;--bloc-a:#0369a1;--bloc-b:#7e22ce;--bloc-c:#ea580c;--bloc-d:#14b8a6;--font-body:'Inter',system-ui,sans-serif;--font-display:var(--font-body);--font-brand:'Barlow Condensed',system-ui,sans-serif;--radius:10px;--shadow:0 2px 12px rgba(0,0,0,.10);--bloc-e:#4338ca;--bloc-f:#0f766e;--bloc-g:#be123c;--bloc-h:#7e22ce;--bloc-j:#b45309;--bloc-i:#075985}*,::after,::before{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--white);color:var(--ink);line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit}#contribuer,#devenir-membre,#faq,#fiches,#intro{scroll-margin-top:68px}.hero{position:relative;overflow:hidden;min-height:min(74vh,640px);display:flex;align-items:center;color:#fff;background:linear-gradient(160deg,var(--navy) 0,#103a5e 60%,#0077b6 100%);padding:3.5rem 0 5.5rem}.hero-bg-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;z-index:0}.hero::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,26,48,.35) 0,rgba(6,26,48,.72) 100%)}.hero::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(6,26,48,.82) 0,rgba(6,26,48,.35) 55%,rgba(6,26,48,.6) 100%)}.hero-wave{position:absolute;left:0;bottom:-1px;width:100%;height:56px;z-index:2;display:block}.hero-wave path{fill:var(--white)}.hero .container{position:relative;z-index:3;width:100%}.hero-content{max-width:640px}.hero h1{font-family:var(--font-brand);font-size:clamp(2.8rem, 8vw, 5rem);font-weight:800;line-height:1;letter-spacing:-.01em;margin-bottom:.6rem;text-shadow:0 4px 20px rgba(6,26,48,.5)}.hero h1 span{color:var(--teal)}.hero-tagline{font-family:var(--font-body);font-weight:700;font-size:clamp(1.05rem, 2.2vw, 1.35rem);color:var(--lime);letter-spacing:.01em;margin:0 0 1.75rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}@media screen and (max-width:640px){.hero{min-height:auto;padding:2.8rem 0 4rem}.hero-bg-image{object-position:62% center}.hero::after{background:rgba(6,26,48,.7)}}.hero-cta{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-weight:800;font-size:1rem;background:var(--lime);color:var(--navy);text-decoration:none;padding:.75rem 1.9rem;border-radius:50px;box-shadow:0 4px 16px rgba(200,241,53,.35);transition:transform .15s,box-shadow .15s}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 7px 22px rgba(200,241,53,.45)}.hero-cta:focus-visible{outline:3px solid var(--teal-lt);outline-offset:2px}.footer-brand{font-family:var(--font-brand);font-weight:800;font-size:1.05rem;letter-spacing:.03em;color:#fff}.footer-brand span{color:var(--teal)}.btn-print{display:inline-flex;align-items:center;gap:.4rem;background:var(--lime);color:var(--navy);font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;padding:.4rem 1rem;border-radius:50px;border:none;cursor:pointer;box-shadow:0 2px 10px rgba(200,241,53,.35);transition:transform .15s,box-shadow .15s;white-space:nowrap;flex-shrink:0}.btn-print:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(200,241,53,.5)}.btn-print svg{width:14px;height:14px}.lang-switcher{position:fixed;top:14px;right:14px;z-index:90;display:flex;background:rgba(10,42,74,.55);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:3px;box-shadow:0 2px 10px rgba(0,0,0,.15)}.lang-btn{border:none;background:0 0;color:rgba(255,255,255,.75);font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.04em;padding:.32rem .65rem;border-radius:50px;cursor:pointer;transition:background .15s,color .15s}.lang-btn:hover{color:#fff}.lang-btn.active{background:var(--lime);color:var(--navy)}.lang-btn:focus-visible{outline:2px solid var(--teal-lt);outline-offset:2px}@media screen and (max-width:460px){.lang-switcher{top:8px;right:8px}.lang-btn{padding:.28rem .52rem;font-size:.68rem}}@media print{.lang-switcher{display:none!important}@page{size:letter portrait;margin:1.8cm 1.3cm 1cm}#storage-notice,.app-modal,.btn-print,.cookie-banner,.fiche-footer,.hero,.level-switcher,.no-print,.save-bar,.section-header:not(#fiches),.skip-link,footer{display:none!important}.container{max-width:100%!important;padding:0!important;margin:0!important}#fiches{margin:0!important}#fiches .section-line{display:none!important}.fiches-grid{display:block!important;width:100%!important;columns:initial!important}.fiche-card{display:block!important;width:100%!important;max-width:100%!important;grid-column:auto!important;column-span:none!important;break-inside:avoid!important;page-break-inside:avoid!important;margin:0 0 .42cm!important;overflow:hidden!important;border:1.2px solid #91a5ad!important;border-radius:5px!important;background:#fff!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important}.fiche-card.hidden{display:block!important}.fiche-header{-webkit-print-color-adjust:exact;print-color-adjust:exact}.fiche-info .fiche-meta,.fiche-info h3,.fiche-pill{color:#000!important}table.bloc-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:.09cm .16cm!important;border-right:1px solid rgba(255,255,255,.28)!important;background:#173f4d!important;color:#fff!important;font-family:var(--font-body)!important;font-size:8pt!important;font-weight:800!important;letter-spacing:.055em!important}table.bloc-table td{line-height:1.25!important;padding:.105cm .16cm!important;border-bottom:1px solid #c7d2d6!important;background:#fff!important;color:#17212b!important;vertical-align:top!important}table.bloc-table td[data-label=mobile-meta],table.bloc-table.edit-table{display:none!important}.mat-tag:not(:last-child)::after{content:', '}table.bloc-table tr.section-row td{-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:.075cm .16cm!important;border-top:1px solid #9fb9bf!important;border-bottom:1px solid #b8cbd0!important;background:#dceff1!important;color:#123e49!important;font-family:var(--font-body)!important;font-size:7.8pt!important;font-weight:800!important;letter-spacing:.06em!important}.btn-add-line,.btn-del-line,.btn-edit-fiche,.edit-mode-banner,.edit-save-bar{display:none!important}table.bloc-table td[data-label=mat],table.bloc-table td[data-label=programme],table.bloc-table td[data-label=repos]{display:table-cell!important}.fiche-actions,.fiche-filters,.print-menu-wrap,.print-select-bar,.print-select-box,.prog-strip,body.print-scope .fiche-card:not(.print-include){display:none!important}@page{size:letter portrait;margin:1.55cm 1.15cm 1.05cm}body,html{background:#fff!important}body{font-family:var(--font-body);color:#17212b!important;font-family:Inter,Arial,sans-serif!important;font-size:9pt!important;line-height:1.35!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}#fiches h2{margin:0 0 .35cm!important;color:#102f3d!important;font-family:var(--font-body)!important;font-size:15pt!important;font-weight:800!important;letter-spacing:.01em!important}.fiche-header{display:flex!important;align-items:center!important;gap:.28cm!important;min-height:1.28cm!important;padding:.25cm .34cm!important;border-bottom:2px solid #17818a!important;filter:none!important;background:#dceef7!important}.fiche-header::after{content:'SwimQuest.ca';display:block;margin-left:auto;color:#0b5260!important;font-family:var(--font-brand)!important;font-size:9pt!important;font-weight:800!important;letter-spacing:.035em!important;white-space:nowrap}.fiche-header-right,.fiche-toggle-icon,.fiche-xp-pill{display:none!important}.fiche-num{color:#0f6f78!important;font-family:var(--font-body)!important;font-size:17pt!important;font-weight:800!important;line-height:1!important;opacity:1!important}.fiche-info{overflow:visible!important}.fiche-info h3{color:#102a43!important;font-family:var(--font-body)!important;font-size:11pt!important;font-weight:800!important;line-height:1.12!important}.fiche-meta{margin-top:.08cm!important;gap:.12cm!important}.fiche-pill{padding:.02cm .16cm!important;border:1px solid #7e9da5!important;border-radius:20px!important;background:rgba(255,255,255,.72)!important;color:#173b45!important;font-size:7.6pt!important;font-weight:700!important;line-height:1.25!important}.fiche-body{display:block!important;padding:.2cm .34cm .26cm!important}.fiche-objectif{display:block!important;margin:0 0 .13cm!important;color:#24313a!important;font-size:8.8pt!important;line-height:1.3!important}.fiche-objectif strong{color:#102f3d!important;font-weight:800!important}.fiche-source-meta{margin:.08cm 0 .14cm!important;gap:.12cm!important}.fiche-source-meta span{padding:.02cm .14cm!important;border:1px solid #b2c1c6!important;background:#f3f7f8!important;color:#33454d!important;font-size:7.5pt!important}.fiche-metrique{margin:0 0 .17cm!important;padding:.13cm .2cm!important;border-left:3px solid #17818a!important;border-radius:0 3px 3px 0!important;background:#edf7f8!important;color:#24343b!important;font-size:8.35pt!important;line-height:1.32!important}.fiche-metrique strong{margin-bottom:.03cm!important;color:#0b6470!important;font-size:7.7pt!important;font-weight:800!important}.bloc-table-wrap{overflow:visible!important}table.bloc-table{width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;color:#17212b!important;font-family:Inter,Arial,sans-serif!important;font-size:8.35pt!important;line-height:1.24!important}table.bloc-table th:last-child{border-right:0!important}table.bloc-table td:first-child,table.bloc-table th:first-child{width:52%!important}table.bloc-table td:nth-child(2),table.bloc-table th:nth-child(2){width:16%!important}table.bloc-table td:nth-child(3),table.bloc-table th:nth-child(3){width:21%!important}table.bloc-table td:nth-child(4),table.bloc-table th:nth-child(4){width:11%!important}table.bloc-table tr.exercise-row.row-odd td{background:#fff!important}table.bloc-table tr.exercise-row.row-even td{background:#eef3f5!important}.ligne-consigne{margin-top:.035cm!important;color:#43545c!important;font-size:7.65pt!important;line-height:1.25!important}.sous-exercices{margin:.06cm 0 0 .35cm!important;color:#3f5058!important;font-size:7.55pt!important;line-height:1.23!important}.mat-tag{padding:0!important;background:0 0!important;color:#243b44!important;font-size:8pt!important;font-weight:600!important}.point-etape-box{margin-top:.18cm!important;padding:.13cm .2cm!important;border-left:3px solid #178b78!important;border-radius:0 3px 3px 0!important;background:#edf8f5!important;color:#23443d!important;font-size:8.3pt!important;line-height:1.3!important}.point-etape-box strong{margin-bottom:.03cm!important;color:#0f6f60!important;font-size:7.7pt!important;font-weight:800!important}.contribution-section,.cookie-banner,.demo-fiches-heading,.demo-settings-dock,.dock-settings,.faq-section,.fiche-filters,.member-cta,.member-features{display:none!important}}.container{max-width:1100px;margin:0 auto;padding:0 1.25rem}.section-header{display:flex;align-items:center;gap:1rem;margin:2.75rem 0 1.25rem}.section-header h2{font-family:var(--font-display);font-size:1.9rem;font-weight:800;color:var(--navy);letter-spacing:-.01em;white-space:nowrap}.section-line{flex:1;height:2px;background:linear-gradient(90deg,var(--teal),transparent);min-width:20px}.filter-btn.active{color:#fff}.filter-btn[data-bloc=ALL].active{background:var(--teal);border-color:var(--teal)}.filter-btn[data-bloc="A"].active{background:var(--bloc-a);border-color:var(--bloc-a)}.filter-btn[data-bloc="B"].active{background:var(--bloc-b);border-color:var(--bloc-b)}.filter-btn[data-bloc="C"].active{background:var(--bloc-c);border-color:var(--bloc-c)}.filter-btn[data-bloc="D"].active{background:var(--bloc-d);border-color:var(--bloc-d)}.fiches-grid{columns:2;column-gap:1.1rem;margin-bottom:2.75rem}.fiche-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .2s;break-inside:avoid;margin-bottom:1.1rem;width:100%}.fiche-card.hidden{display:none}.fiche-card.expanded{column-span:all;margin-top:1.1rem;box-shadow:0 8px 32px rgba(0,0,0,.14)}.fiche-header{background:linear-gradient(135deg,#0a3d63,#0d7ba6);padding:.8rem 1rem;display:flex;align-items:center;gap:.65rem;cursor:pointer;user-select:none;border:none;width:100%;text-align:left;flex-wrap:nowrap}.fiche-header:hover{filter:brightness(1.07)}.fiche-num{font-family:var(--font-display);font-size:1.85rem;font-weight:800;color:rgba(255,255,255,.3);line-height:1;flex-shrink:0}.fiche-info{flex:1;min-width:0;overflow:hidden}.fiche-info h3{font-family:var(--font-display);font-weight:700;color:#fff;line-height:1.2}.fiche-meta{display:flex;gap:.4rem;margin-top:.25rem;flex-wrap:wrap}.fiche-pill{background:rgba(255,255,255,.2);color:#fff;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.09rem .45rem;border-radius:50px}.fiche-header-right{display:flex;align-items:center;gap:.45rem;flex-shrink:0;margin-left:auto}.fiche-toggle-icon{color:rgba(255,255,255,.85);flex-shrink:0;transition:transform .25s;font-size:1.4rem;line-height:1;background:rgba(255,255,255,.15);border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center}.fiche-card.expanded .fiche-toggle-icon{transform:rotate(180deg)}.fiche-body{padding:1.3rem 1.35rem 1.5rem;display:none}.fiche-card.expanded .fiche-body{display:block}.fiche-objectif{display:flex;align-items:center;gap:.65rem;color:var(--gray-dk);margin-bottom:.65rem}.fiche-objectif strong{color:var(--navy)}.fiche-metrique{background:#f0f9ff;border-left:3px solid var(--teal);padding:.45rem .7rem;border-radius:0 6px 6px 0;color:#0369a1;margin-bottom:.8rem}.fiche-metrique strong{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#0284c7;margin-bottom:.08rem}.bloc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.bloc-table{width:100%;border-collapse:collapse;min-width:480px}table.bloc-table th{background:var(--navy);color:#fff;font-family:var(--font-display);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .45rem;text-align:left;white-space:nowrap}table.bloc-table td{border-bottom:1px solid var(--gray);vertical-align:top}table.bloc-table tr:last-child td{border-bottom:none}table.bloc-table tr:nth-child(2n) td{background:#f8fafc}table.bloc-table td:first-child{font-weight:400;color:var(--ink);white-space:normal}table.bloc-table td.metres{text-align:right;font-variant-numeric:tabular-nums;color:var(--gray-dk)}.th-mobile-meta,table.bloc-table td[data-label=mobile-meta]{display:none}@media screen and (max-width:600px){table.bloc-table thead{display:none}table.bloc-table,table.bloc-table tbody,table.bloc-table td,table.bloc-table tr{display:block;width:100%;min-width:0}table.bloc-table{font-size:.82rem;border:none}table.bloc-table tr{border-bottom:1px solid var(--gray);padding:.55rem .6rem}table.bloc-table tr:last-child{border-bottom:none}table.bloc-table tr:nth-child(2n),table.bloc-table tr:nth-child(2n) td{background:0 0}table.bloc-table td{padding:0;border:none;background:0 0!important}table.bloc-table td[data-label=exercice]{font-weight:600;color:var(--navy);font-size:.88rem;line-height:1.3;white-space:normal;margin-bottom:.25rem}table.bloc-table td[data-label=intervalle],table.bloc-table td[data-label=mat],table.bloc-table td[data-label=metres],table.bloc-table td[data-label=rec]{display:none}table.bloc-table td[data-label=mobile-meta]{display:block!important;padding:0!important}.mobile-meta-row{display:flex;flex-wrap:wrap;gap:.2rem .55rem;margin-bottom:.25rem;align-items:center}.mobile-meta-chip{font-size:.71rem;color:var(--gray-dk);display:flex;align-items:center;gap:.18rem}.mobile-meta-chip .chip-label{font-family:var(--font-display);font-weight:700;font-size:.63rem;text-transform:uppercase;letter-spacing:.05em;color:var(--teal)}table.bloc-table td[data-label=consigne]{display:block;font-size:.75rem;color:#64748b;line-height:1.4}}.fiche-footer{background:#f8fafc;border-top:1px solid var(--gray);padding:.55rem 1rem;display:none;align-items:center;justify-content:flex-start;gap:1rem}.fiche-card.expanded .fiche-footer{display:flex}.fiche-footer .total-m{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--navy)}.badge-ribbon.qni{background:#7e22ce}.badge-ribbon.br{background:#7c3aed}.journal-input{border:none;border-bottom:1px dashed var(--gray);width:100%;font-size:.85rem;background:0 0;color:var(--ink);padding:.08rem 0;outline:0}.journal-input:focus{border-bottom-color:var(--teal)}@media screen and (max-width:600px){.journal-table-wrap{overflow-x:visible;box-shadow:none;border-radius:0}.journal-table{min-width:0;box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden}.journal-table thead{display:none}.journal-table,.journal-table tbody,.journal-table td,.journal-table tr{display:block;width:100%}.journal-table tr{padding:.65rem .85rem;border-bottom:1px solid var(--gray);background:#fff}.journal-table tr:nth-child(2n) td{background:0 0}.journal-table tr:nth-child(2n){background:#f8fafc}.journal-table tr:last-child{border-bottom:none}.journal-table td{padding:0;border:none;background:0 0!important}.journal-table td[data-jcol=fiche]{margin-bottom:.4rem}.journal-table td[data-jcol=note]{margin-bottom:.3rem;font-size:.8rem}.journal-table td[data-jcol=date]{font-size:.78rem;color:var(--gray-dk)}.journal-table td[data-jcol=del]{position:absolute;top:.5rem;right:.6rem;width:auto}.journal-table tr{position:relative;padding-right:2rem}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:300;background:var(--navy);color:#fff;padding:.9rem 1.75rem;display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;box-shadow:0 -4px 20px rgba(0,0,0,.3);transform:translateY(100%);transition:transform .35s}.cookie-banner.visible{transform:translateY(0)}.cookie-banner p{flex:1;font-size:.83rem;color:rgba(255,255,255,.8);min-width:220px}.cookie-banner p strong{color:var(--teal-lt)}.cookie-banner-btns{display:flex;flex-direction:column;gap:.45rem;flex-shrink:0}.cookie-btn{font-family:var(--font-display);font-weight:700;font-size:.88rem;padding:.45rem 1.1rem;border-radius:50px;cursor:pointer;border:none;transition:.15s;white-space:nowrap;text-align:center}.cookie-btn.accept{background:var(--lime);color:var(--navy)}.cookie-btn.accept:hover{background:#d9ff4a}.cookie-btn.decline{background:0 0;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.2)}.cookie-btn.decline:hover{color:#fff;border-color:rgba(255,255,255,.5)}.save-bar{position:fixed;bottom:1.1rem;right:1.25rem;z-index:200;display:flex;align-items:center;gap:.65rem}.btn-save{font-family:var(--font-display);font-weight:700;font-size:.92rem;padding:.55rem 1.35rem;border-radius:50px;border:none;cursor:pointer;background:var(--navy);color:var(--teal-lt);box-shadow:0 4px 16px rgba(0,0,0,.25);display:flex;align-items:center;gap:.45rem;transition:.15s;opacity:.45;pointer-events:none}.btn-save.dirty{opacity:1;pointer-events:auto;background:#0d3561}.btn-save.dirty:hover{background:#0a2a4a;box-shadow:0 6px 20px rgba(0,0,0,.3)}.btn-save svg{width:14px;height:14px}.save-toast{background:#22c55e;color:#fff;font-family:var(--font-display);font-weight:700;font-size:.85rem;padding:.4rem .9rem;border-radius:50px;box-shadow:0 4px 12px rgba(0,0,0,.2);opacity:0;transition:opacity .3s;pointer-events:none}.save-toast.show{opacity:1}.save-error{position:fixed;bottom:5rem;right:1.25rem;z-index:201;background:#fef2f2;color:#991b1b;border:1px solid #fca5a5;font-size:.8rem;padding:.4rem .85rem;border-radius:8px;opacity:0;transition:opacity .3s;pointer-events:none;max-width:260px}.save-error.show{opacity:1}#confetti-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}@keyframes hintPulse{0%,100%{box-shadow:var(--shadow)}50%{box-shadow:0 0 0 4px rgba(0,180,216,.25),var(--shadow)}}.fiche-card.hint{animation:1.6s ease-in-out 2 hintPulse}footer{background:var(--navy);color:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:1.5rem;font-size:.8rem;margin-top:2rem;font-weight:600;letter-spacing:.025em}footer a:focus-visible{outline:2px solid var(--teal-lt);outline-offset:2px;border-radius:3px}.filter-btn[data-bloc="E"].active{background:var(--bloc-e);border-color:var(--bloc-e)}.level-switcher{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.level-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}.mat-tag{display:inline-block;background:#eef2ff;color:var(--bloc-e);font-size:.68rem;font-weight:600;padding:.05rem .42rem;border-radius:50px;margin:0 .15rem .15rem 0;white-space:nowrap}.ligne-consigne{display:block;margin-top:.15rem;line-height:1.4}table.bloc-table tr.section-row td{background:#e0f2fe!important;color:var(--navy);border-left:3px solid var(--teal);font-family:var(--font-display);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:.32rem .45rem;border-bottom:none}.point-etape-box{margin-top:.8rem;background:#f0fdf4;border-left:3px solid #22c55e;padding:.5rem .7rem;border-radius:0 6px 6px 0;color:#15803d}.point-etape-box strong{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#16a34a;margin-bottom:.15rem}.edit-mode-banner{background:#fff7ed;border-left:3px solid var(--bloc-c);color:#9a3412;padding:.45rem .7rem;border-radius:0 6px 6px 0;font-size:.74rem;margin-bottom:.75rem}.edit-textarea{display:block;margin-top:.3rem;width:100%;resize:vertical;min-height:2.2em;font-family:var(--font-body)}table.bloc-table.edit-table td{vertical-align:top}.btn-add-line{font-family:var(--font-display);font-size:.76rem;font-weight:700;color:var(--teal);background:0 0;border:1.5px dashed var(--teal);border-radius:6px;padding:.35rem .8rem;cursor:pointer;width:100%;transition:background .15s}.btn-add-line:hover{background:#f0f9ff}.btn-del-line{display:block;margin-top:.35rem;background:0 0;border:none;cursor:pointer;color:#94a3b8;font-size:.72rem;padding:.12rem .3rem;border-radius:4px;transition:color .15s,background .15s;white-space:nowrap}.btn-del-line:hover{color:#ef4444;background:#fff1f2}.edit-add-row td{padding-top:.5rem!important;padding-bottom:.5rem!important}.edit-save-bar{display:flex;gap:.6rem;margin-top:.9rem;flex-wrap:wrap}.btn-cancel-fiche,.btn-save-fiche{font-family:var(--font-display);font-weight:700;font-size:.82rem;padding:.45rem 1.15rem;border-radius:7px;cursor:pointer;border:none}.btn-save-fiche{background:var(--lime);color:var(--navy)}.btn-save-fiche:hover{filter:brightness(1.08)}.btn-cancel-fiche{background:#f1f5f9;color:var(--gray-dk)}.btn-cancel-fiche:hover{background:#e2e8f0}.prog-strip{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.75rem}@media screen and (max-width:600px){table.bloc-table.edit-table thead,table.bloc-table:not(.edit-table) td[data-label=mat],table.bloc-table:not(.edit-table) td[data-label=programme],table.bloc-table:not(.edit-table) td[data-label=repos]{display:none}table.bloc-table.edit-table,table.bloc-table.edit-table tbody,table.bloc-table.edit-table td,table.bloc-table.edit-table tr{display:block;width:100%}table.bloc-table.edit-table td{padding:.2rem 0!important;border:none;background:0 0!important}table.bloc-table.edit-table tr:not(.section-row):not(.edit-add-row){border-bottom:1px solid var(--gray);padding-bottom:.6rem;margin-bottom:.5rem}.prog-strip{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;margin-inline:-1.25rem;padding:0 1.25rem .4rem;scrollbar-width:thin}.prog-strip::-webkit-scrollbar{height:4px}.prog-strip::-webkit-scrollbar-thumb{background:var(--gray);border-radius:4px}.prog-card{flex:0 0 auto;scroll-snap-align:start}}.prog-card{display:flex;align-items:center;gap:.6rem;background:var(--card-bg);border:1.5px solid var(--gray);border-radius:50px;padding:.55rem .6rem .55rem 1rem;box-shadow:0 1px 4px rgba(0,0,0,.05)}.prog-name{font-family:var(--font-display);font-weight:700;font-size:.88rem;color:var(--navy);white-space:nowrap}.prog-badges{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.prog-badge{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.18rem .55rem;border-radius:50px;background:#eef2ff;color:var(--bloc-e);white-space:nowrap}.prog-card.demo-available{border-color:var(--teal);background:linear-gradient(145deg,#fff,#eefbfe)}.prog-card.demo-locked{position:relative;opacity:.78;cursor:help;border-color:#d7e0e5;background:#f8fafc}.prog-card.demo-locked::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + .5rem);transform:translate(-50%,.25rem);z-index:20;pointer-events:none;background:var(--navy);color:#fff;border-radius:6px;padding:.3rem .55rem;font-size:.72rem;font-weight:700;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .15s,transform .15s,visibility .15s;box-shadow:0 5px 18px rgba(0,0,0,.18)}.prog-card.demo-locked:focus-visible::after,.prog-card.demo-locked:hover::after{opacity:1;visibility:visible;transform:translate(-50%,0)}.prog-lock{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#64748b;opacity:.72;font-size:.95rem}.lock-icon{display:inline-block;width:1em;height:1em;flex:0 0 auto;vertical-align:-.12em;overflow:visible}.print-menu-wrap{position:relative}.print-menu{position:absolute;right:0;top:calc(100% + .4rem);z-index:60;background:#fff;border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18);border:1px solid var(--gray);min-width:255px;padding:.35rem;display:none}.print-menu.open{display:block}.print-menu button{display:block;width:100%;text-align:left;background:0 0;border:none;font-size:.82rem;color:var(--ink);padding:.5rem .6rem;border-radius:7px;cursor:pointer}.print-menu button:hover{background:#f0f9ff;color:var(--navy)}.print-menu button small{display:block;color:var(--gray-dk);font-size:.7rem;margin-top:.1rem;font-weight:400}.fiche-card{position:relative;scroll-margin-top:80px}.print-select-box{display:none;position:absolute;top:.7rem;left:.6rem;z-index:5}.print-select-box input{width:18px;height:18px;accent-color:var(--lime);cursor:pointer}body.select-mode .print-select-box{display:block}body.select-mode .fiche-header{padding-left:2.4rem}.print-select-bar{display:none;position:fixed;left:50%;transform:translateX(-50%);bottom:1.1rem;z-index:70;background:var(--navy);color:#fff;border-radius:50px;box-shadow:0 8px 32px rgba(0,0,0,.3);padding:.5rem .6rem .5rem 1.1rem;align-items:center;gap:.6rem;font-size:.85rem;max-width:calc(100vw - 1.5rem);flex-wrap:wrap}body.select-mode .print-select-bar{display:flex}.psb-print{background:var(--lime);color:var(--navy);border:none;border-radius:50px;font-family:var(--font-display);font-weight:700;font-size:.8rem;padding:.35rem .9rem;cursor:pointer}.psb-print:disabled{opacity:.45;cursor:not-allowed}.psb-cancel{background:0 0;border:none;color:rgba(255,255,255,.7);font-size:.8rem;cursor:pointer;padding:.35rem .5rem}.psb-cancel:hover{color:#fff}.fiche-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1.15rem}.app-modal-close{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:none;background:rgba(255,255,255,.15);color:#fff;font-size:.95rem;cursor:pointer;line-height:1;transition:background .15s}.app-modal-close:hover{background:rgba(255,255,255,.32)}.app-modal{border:none;padding:0;margin:0;max-width:none;max-height:none;background:0 0;color:inherit}.app-modal[open]{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;padding:1rem}.app-modal::backdrop{background:rgba(2,20,38,.88)}.app-modal-box{width:min(680px,100%);max-height:88vh;display:flex;flex-direction:column;background:#f4f8fb;border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.5)}.app-modal-head{flex-shrink:0;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.6rem .9rem}.app-modal-title{font-family:var(--font-display);font-weight:700;font-size:.98rem}.app-modal-body{padding:1rem 1.1rem 1.25rem;overflow-y:auto}.terms-modal-box{width:min(640px,calc(100vw - 1.5rem));max-height:min(85vh,820px)}.terms-body{color:var(--ink);font-size:.86rem;line-height:1.6}.terms-updated{color:var(--gray-dk);font-size:.76rem;margin-bottom:1rem}.terms-body h3{font-family:var(--font-display);font-size:.92rem;font-weight:800;color:var(--navy);margin:1.1rem 0 .35rem}.terms-body h3:first-of-type{margin-top:0}.terms-body p{margin:0 0 .3rem}.set-section{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:.9rem 1rem;margin-bottom:.8rem}.set-title{font-family:var(--font-display);font-weight:800;font-size:.95rem;color:var(--navy);margin-bottom:.6rem}.set-note{font-size:.76rem;color:var(--gray-dk);margin-bottom:.65rem;line-height:1.45}.set-chip.active{background:var(--teal);border-color:var(--teal);color:#fff}.prog-step.level .prog-label{font-family:var(--font-display);font-weight:800;color:var(--navy)}.pl-phase-tab.active{background:var(--teal);border-color:var(--teal);color:#fff}.pl-day.rest{background:#f1f5f9}.pl-rest-toggle.on{opacity:1;border-color:#94a3b8;background:#e2e8f0}.filter-btn[data-bloc="F"].active{background:var(--bloc-f);border-color:var(--bloc-f)}.filter-btn[data-bloc="G"].active{background:var(--bloc-g);border-color:var(--bloc-g)}.filter-btn[data-bloc="H"].active{background:var(--bloc-h);border-color:var(--bloc-h)}.filter-btn[data-bloc="J"].active{background:var(--bloc-j);border-color:var(--bloc-j)}.sous-exercices{color:var(--gray-dk);font-size:.76rem}.sous-exercices li{margin:.12rem 0}.fiche-source-meta{display:flex;gap:.4rem;flex-wrap:wrap;margin:.45rem 0 .7rem}.fiche-source-meta span{font-size:.72rem;background:#f1f5f9;color:#475569;border-radius:50px;padding:.15rem .55rem}.section-header{margin-top:2.1rem}.fiche-info h3{font-size:1rem}.fiche-objectif{font-size:.85rem;line-height:1.45}.fiche-metrique,.point-etape-box{font-size:.82rem;line-height:1.45}table.bloc-table{font-size:.82rem}table.bloc-table td{padding:.38rem .48rem;line-height:1.4}.ligne-consigne{color:#526272;font-size:.77rem}.fiche-filters{display:none;margin:0 0 1rem;padding:.85rem .95rem;background:var(--card-bg);border:1px solid #d6e0e5;border-left:4px solid var(--teal);border-radius:var(--radius);box-shadow:0 2px 10px rgba(0,0,0,.07)}.fiche-filters.visible{display:block}.fiche-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:.65rem}.fiche-filter-title{font-family:var(--font-display);color:var(--navy);font-size:1rem;font-weight:800}.fiche-filter-count{margin-top:.08rem;color:var(--gray-dk);font-size:.76rem}.fiche-filter-grid{display:grid;grid-template-columns:minmax(130px,.75fr) minmax(130px,.75fr) minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) minmax(210px,1.4fr);gap:.55rem .65rem;align-items:end}.fiche-filter-field{display:flex;flex-direction:column;gap:.22rem;min-width:0}.fiche-filter-field label{color:#41515c;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}.fiche-filter-control{width:100%;min-height:38px;padding:.42rem .52rem;border:1.5px solid #c8d3d9;border-radius:7px;background:#fff;color:var(--ink);font-family:var(--font-body);font-size:.82rem}.fiche-filter-control:focus{outline:rgba(0,180,216,.18) solid 3px;border-color:var(--teal)}.fiche-filter-reset{flex-shrink:0;border:1.5px solid #c8d3d9;border-radius:50px;background:#fff;color:var(--gray-dk);padding:.3rem .75rem;font-family:var(--font-display);font-size:.75rem;font-weight:700;cursor:pointer}.fiche-filter-reset:hover{border-color:var(--teal);color:var(--teal)}.filter-empty.visible{display:block}.save-bar{display:flex;align-items:center;padding:.32rem;border-radius:50px;background:rgba(255,255,255,.96);box-shadow:0 6px 22px rgba(0,0,0,.22)}.dock-settings{width:42px;height:42px;border:none;border-radius:50%;background:var(--navy);color:var(--teal-lt);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,background .15s}.dock-settings:hover{background:#0d3561;transform:rotate(28deg)}.dock-settings svg{width:20px;height:20px}.save-bar .btn-save{min-height:42px;box-shadow:none}.save-bar .save-toast{position:absolute;right:0;bottom:calc(100% + .45rem);white-space:nowrap}@media screen and (max-width:1050px){.fiche-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media screen and (max-width:680px){.fiches-grid{columns:1}.hero{padding:1.9rem 1.1rem 3rem}.fiche-filter-head{align-items:center}.fiche-filter-grid{grid-template-columns:1fr 1fr}.fiche-filter-field.filter-keyword{grid-column:1/-1}}@media screen and (max-width:430px){.fiche-filter-grid{grid-template-columns:1fr}.fiche-filter-field.filter-keyword{grid-column:auto}.save-bar{right:.7rem;bottom:.7rem}}.member-only-action .lock-icon{font-size:.92rem;opacity:.82}.demo-feature-row strong{display:inline-flex;align-items:center;justify-content:flex-end;gap:.35rem}.demo-feature-row.locked .lock-icon{font-size:.92rem;opacity:.78}.demo-fiches-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding-top:.2rem}.demo-fiches-heading h2{font-family:var(--font-display);font-size:1.65rem;line-height:1.1;color:var(--navy);font-weight:800}.demo-fiches-heading p{margin-top:.25rem;color:var(--gray-dk);font-size:.86rem}.fiche-share-btn{display:inline-flex;align-items:center;gap:.42rem;min-height:34px;padding:.32rem .75rem;border-radius:50px;border:1.5px solid var(--teal);background:#fff;color:var(--navy);font-family:var(--font-display);font-size:.78rem;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s}.fiche-share-btn:focus-visible,.fiche-share-btn:hover{background:#eefbfe}.fiche-share-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.share-icon{width:1em;height:1em;flex:0 0 auto;vertical-align:-.12em}.fiche-share-linkbox{flex-basis:100%}.fiche-share-linkinput{width:100%;border:1.5px solid var(--teal);border-radius:8px;background:#eefbfe;color:var(--navy);font:inherit;font-size:.78rem;padding:.45rem .6rem}.fiche-share-linkinput:focus{outline:rgba(0,180,216,.25) solid 3px}.member-only-action{display:inline-flex;align-items:center;gap:.42rem;min-height:34px;padding:.32rem .75rem;border-radius:50px;border:1.5px solid #cbd5e1;background:#f8fafc;color:#475569;font-family:var(--font-display);font-size:.78rem;font-weight:700;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.member-only-action:focus-visible,.member-only-action:hover{border-color:var(--teal);color:var(--teal-dk,#007a99);background:#eefbfe}.member-only-action:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.member-only-action small{color:#64748b;font-family:var(--font-body);font-size:.68rem;font-weight:600}.demo-settings-dock{gap:0}.demo-settings-panel .set-note{margin-bottom:.8rem}.demo-feature-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;border-top:1px solid var(--gray);font-size:.84rem}.demo-feature-row strong{color:#166534;font-size:.76rem}.demo-feature-row.locked strong{color:#64748b}.settings-reset-panel{margin-top:1.1rem;padding-top:1.1rem;border-top:1px dashed var(--gray)}.settings-reset-panel .set-title{color:#b91c1c}.btn-reset-local{display:inline-flex;align-items:center;gap:.4rem;border:1.5px solid #fca5a5;background:#fef2f2;color:#b91c1c;font-family:var(--font-body);font-weight:700;font-size:.82rem;padding:.55rem 1rem;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.btn-reset-local:focus-visible,.btn-reset-local:hover{background:#fee2e2;border-color:#f87171}.btn-reset-local:focus-visible{outline:#b91c1c solid 2px;outline-offset:2px}@media screen and (max-width:560px){.demo-fiches-heading{align-items:flex-start;flex-direction:column}.demo-fiches-heading .btn-print,.member-only-action{width:100%;justify-content:center}}.member-cta{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin:-.45rem 0 1.7rem;padding:1rem 1.1rem;background:#fff;border:1px solid #d9e2e7;border-left:4px solid var(--teal);border-radius:var(--radius);box-shadow:0 1px 6px rgba(10,42,74,.07)}.member-cta-copy{min-width:0}.member-cta-copy h2{margin:0 0 .15rem;color:var(--navy);font-family:var(--font-display);font-size:1.1rem;font-weight:800;line-height:1.15}.member-cta-copy p{margin:0;color:var(--gray-dk);font-size:.78rem;line-height:1.45}.member-cta-action{flex:0 1 430px;display:flex;justify-content:flex-end}.member-cta-button,.member-submit{min-height:40px;border:0;border-radius:50px;font-family:var(--font-display);font-size:.84rem;font-weight:800;cursor:pointer;transition:background .15s,color .15s,transform .15s,box-shadow .15s}.member-cta-button{padding:.55rem 1.15rem;background:var(--navy);color:#fff;white-space:nowrap}.member-cta-button:hover{background:#0d3561;transform:translateY(-1px);box-shadow:0 4px 12px rgba(10,42,74,.16)}.member-cta-button:focus-visible,.member-email:focus-visible,.member-form-cancel:focus-visible,.member-submit:focus-visible{outline:rgba(0,180,216,.35) solid 3px;outline-offset:2px}.member-brevo-panel{width:100%;max-width:430px}.member-brevo-panel[hidden]{display:none!important}.member-brevo-form{width:100%}.member-email{width:100%;min-height:40px;border:1.5px solid #cbd5e1;border-radius:50px;padding:.5rem .85rem;background:#fff;color:var(--ink);font-family:var(--font-body);font-size:.83rem}.member-email::placeholder{color:#94a3b8}.member-email:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px rgba(0,180,216,.12)}.member-submit{position:relative;min-width:105px;padding:.5rem 1rem;background:var(--teal);color:var(--navy)}.member-submit:hover{background:var(--teal-lt)}.member-submit .sib-hide-loader-icon{display:none}.member-form-help{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 .35rem;color:var(--gray-dk);font-size:.66rem;line-height:1.35}.member-form-cancel{flex:0 0 auto;border:0;background:0 0;color:#475569;font:inherit;text-decoration:underline;cursor:pointer}.member-form-message{display:none;margin-bottom:.5rem;padding:.5rem .65rem;border:1px solid;border-radius:7px;font-size:.76rem;line-height:1.4;text-align:left}.member-form-message__text{display:flex;align-items:center;gap:.45rem}.member-form-message svg{width:17px;height:17px;flex:0 0 auto;fill:currentColor}.member-form-message--error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.member-form-message--success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.member-entry-error{display:block;margin-top:.3rem;padding-left:.75rem;color:#991b1b;font-size:.68rem;line-height:1.35}.member-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}@media screen and (max-width:760px){.member-cta{align-items:stretch;flex-direction:column;gap:.8rem}.member-brevo-panel,.member-cta-action{max-width:none;width:100%;flex-basis:auto}.member-cta-button{width:100%}}@media screen and (max-width:460px){.member-submit{width:100%}.member-form-help{align-items:flex-start}}.member-brevo-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:start}.member-input-block,.member-submit-block{margin:0!important;padding:0!important;background:0 0!important}.member-input-block .entry__field,.member-input-block .form__entry,.member-input-block .form__label-row{width:100%;margin:0;padding:0}.member-submit-block{text-align:left!important}.member-form-help{grid-column:1/-1;margin-top:-.1rem}.member-form-message.sib-form-message-panel--active{display:block!important}.member-submit .progress-indicator__icon{width:15px;height:15px;margin-right:.35rem;fill:currentColor;vertical-align:-2px}.member-submit .progress-indicator__icon:not(.sib-hide-loader-icon){display:inline-block;animation:.8s linear infinite memberBrevoSpin}.member-submit.sib-form-block__button-disabled,.member-submit:disabled{cursor:wait;opacity:.72}@keyframes memberBrevoSpin{to{transform:rotate(360deg)}}@media screen and (max-width:460px){.member-brevo-form{grid-template-columns:1fr}.member-submit,.member-submit-block{width:100%}.member-form-help{grid-column:1}}.contribution-section{margin:0 0 2.75rem}.contribution-disclosure{overflow:hidden;background:var(--card-bg);border:1px solid var(--gray);border-radius:14px;box-shadow:var(--shadow);transition:box-shadow .18s,border-color .18s}.contribution-disclosure:hover{border-color:var(--teal);box-shadow:0 8px 24px rgba(10,42,74,.1)}.contribution-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none;padding:1rem 1.15rem;cursor:pointer;color:var(--navy)}.contribution-summary::-webkit-details-marker{display:none}.contribution-summary-copy{min-width:0}.contribution-summary-title{display:block;font-size:1.05rem;font-weight:800;line-height:1.25}.contribution-summary-text{display:block;margin-top:.18rem;color:var(--gray-dk);font-size:.79rem;font-weight:400}.contribution-summary-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:var(--navy);box-shadow:0 4px 12px rgba(200,241,53,.4);transition:transform .18s,filter .18s}.contribution-summary-icon svg{display:block}.contribution-summary:hover .contribution-summary-icon{filter:brightness(.94)}.contribution-disclosure[open] .contribution-summary-icon{transform:rotate(45deg)}.contribution-panel{padding:1.15rem;border-top:1px solid var(--gray)}.contribution-intro{margin-bottom:.8rem;color:var(--gray-dk);font-size:.82rem}.contribution-limit-note{margin-bottom:1rem;padding:.55rem .7rem;border-left:3px solid var(--teal);border-radius:0 7px 7px 0;background:#f0f9ff;color:#075985;font-size:.76rem}.contribution-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem}.contribution-field{display:flex;flex-direction:column;gap:.28rem;min-width:0}.contribution-field--full{grid-column:1/-1}.contribution-label{color:var(--navy);font-size:.78rem;font-weight:700}.contribution-help{color:var(--gray-dk);font-size:.68rem;line-height:1.35}.contribution-input,.contribution-select,.contribution-textarea{width:100%;border:1.5px solid #cbd5e1;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:.82rem;padding:.58rem .65rem}.contribution-textarea{min-height:76px;resize:vertical}.contribution-input:focus,.contribution-select:focus,.contribution-textarea:focus{outline:rgba(0,180,216,.2) solid 3px;border-color:var(--teal)}.contribution-steps{grid-column:1/-1;display:flex;flex-direction:column;gap:1rem}.contribution-step{overflow:hidden;border:1px solid var(--gray);border-radius:11px;background:#f8fafc}.contribution-step-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.72rem .8rem;background:var(--navy);color:#fff}.contribution-step-title{font-size:.9rem;font-weight:800}.contribution-step-help{color:rgba(255,255,255,.7);font-size:.68rem}.contribution-step-actions{display:flex;gap:.38rem;flex-wrap:wrap;justify-content:flex-end}.contribution-step-list{display:flex;flex-direction:column;gap:.65rem;padding:.75rem}.contribution-add,.contribution-remove,.contribution-submit{cursor:pointer;font-family:inherit;font-weight:700}.contribution-add{border:1px solid rgba(255,255,255,.45);border-radius:50px;background:rgba(255,255,255,.12);color:#fff;padding:.34rem .58rem;font-size:.68rem}.contribution-add:hover{background:rgba(255,255,255,.24)}.contribution-item{padding:.6rem .7rem;border:1px solid var(--gray);border-left:3px solid var(--teal);border-radius:6px;background:#fbfdfe}.contribution-item-head{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.5rem}.contribution-item-label{color:var(--gray-dk);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.contribution-remove{border:0;background:0 0;color:#94a3b8;padding:.2rem;font-size:.68rem}.contribution-remove:hover{color:#b91c1c}.contribution-exercise-grid{display:grid;grid-template-columns:minmax(0,1.6fr) 90px 100px 90px;gap:.5rem;align-items:start}.contribution-exercise-grid .exercise-consigne,.contribution-exercise-grid .exercise-materiel{grid-column:1/-1}.contribution-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:.55rem;color:#475569;font-size:.75rem}.contribution-consent input{width:17px;height:17px;flex:0 0 auto;margin-top:.05rem;accent-color:var(--navy)}.contribution-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contribution-actions{grid-column:1/-1;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.contribution-submit{border:0;border-radius:50px;background:var(--navy);color:#fff;padding:.62rem 1.15rem;font-size:.8rem}.contribution-submit:hover{background:#103a5e}.contribution-submit:disabled{cursor:wait;opacity:.65}.contribution-status{min-height:1.35em;color:var(--gray-dk);font-size:.75rem}.contribution-status.is-success{color:#15803d}.contribution-status.is-error{color:#b91c1c}.fiche-card.is-contribution{border:2px solid rgba(0,180,216,.5);background:linear-gradient(180deg,rgba(200,241,53,.1),rgba(200,241,53,0) 55%)}.fiche-card.is-contribution .fiche-header{position:relative;padding-left:1.3rem}.fiche-card.is-contribution .fiche-header::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--lime)}body.select-mode .fiche-card.is-contribution .fiche-header{padding-left:3.7rem}.fiche-num-contribution{color:var(--lime)!important;font-size:1.3rem!important}.fiche-contributor{display:flex;align-items:center;gap:.42rem;margin-top:.28rem;color:rgba(255,255,255,.9);font-size:.68rem}.fiche-contribution-badge{background:var(--lime)!important;color:var(--navy)!important}.fiche-contribution-status{margin-bottom:.7rem;padding:.45rem .65rem;border-left:3px solid var(--teal);border-radius:0 7px 7px 0;background:#f0f9ff;color:#075985;font-size:.73rem}.repeat-block-row td{background:#ecfeff!important}.repeat-block-label{display:block;color:#0e7490;font-weight:800}.sous-exercices{margin:.35rem 0 0 1.1rem;color:#334155}.sous-exercices li{margin-bottom:.28rem}.sous-exercise-meta{display:block;color:#64748b;font-size:.69rem}@media screen and (max-width:760px){.contribution-form{grid-template-columns:1fr}.contribution-actions,.contribution-consent,.contribution-field--full,.contribution-steps{grid-column:1}.contribution-step-head{align-items:flex-start;flex-direction:column}.contribution-step-actions{justify-content:flex-start}.contribution-exercise-grid{grid-template-columns:1fr 90px 100px}.contribution-exercise-grid .exercise-consigne,.contribution-exercise-grid .exercise-materiel,.contribution-exercise-grid .exercise-repos{grid-column:1/-1}}.contribution-material-options{display:flex;flex-wrap:wrap;gap:.38rem;margin:0;padding:0;border:0}.contribution-material-options legend{width:100%;margin-bottom:.08rem;color:var(--navy);font-size:.78rem;font-weight:700}.contribution-material-option{display:inline-flex;align-items:center;gap:.32rem;min-height:34px;padding:.32rem .52rem;border:1px solid #cbd5e1;border-radius:50px;background:#fff;color:#475569;cursor:pointer;font-size:.72rem;line-height:1.15}.contribution-material-option:hover{border-color:var(--teal);background:#f0f9ff}.contribution-material-option:has(input:checked){border-color:var(--teal);background:#e0f7fc;color:var(--navy);font-weight:700}.contribution-material-option input{width:15px;height:15px;margin:0;accent-color:var(--navy)}.material-autre-slot{flex:1 0 100%;display:block}.material-autre-slot[hidden]{display:none!important}.material-autre-text{display:block;width:100%;margin-top:.1rem;max-width:260px}.contribution-preview-button{border:1.5px solid var(--navy);border-radius:50px;background:#fff;color:var(--navy);padding:.58rem 1rem;cursor:pointer;font:inherit;font-size:.8rem;font-weight:700}.contribution-preview-button:hover{background:#f0f9ff;border-color:var(--teal)}.contribution-preview-box{width:min(920px,calc(100vw - 1.5rem));max-height:min(90vh,900px)}.contribution-preview-body{padding:1rem;overflow-y:auto;background:#f8fafc}.contribution-preview-body .fiche-card{margin:0}.contribution-preview-body .fiche-header{cursor:default}.contribution-preview-body .fiche-body,.contribution-preview-body .fiche-footer{display:block}.contribution-preview-body .fiche-footer{display:flex}@media screen and (max-width:460px){.contribution-exercise-grid{grid-template-columns:1fr 1fr}.contribution-exercise-grid .exercise-nom{grid-column:1/-1}.contribution-material-option{width:100%}.material-autre-text{max-width:none}}.member-features{position:relative;overflow:hidden;margin:0 0 2.75rem;padding:clamp(2rem,5vw,3rem) clamp(1.25rem,4vw,2.5rem);border-radius:22px;text-align:center;background:linear-gradient(180deg,#e3f6fb 0,#f3fbfd 55%,#fff 100%)}.member-features::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 260' preserveAspectRatio='none'%3E%3Cpath d='M0,80 C150,20 350,140 500,80 C650,20 800,120 900,70 L900,0 L0,0 Z' fill='%2300b4d8' opacity='.05'/%3E%3Cpath d='M0,190 C180,130 380,250 560,190 C720,140 830,220 900,180 L900,260 L0,260 Z' fill='%230077b6' opacity='.045'/%3E%3C/svg%3E");background-size:100% 100%}.member-features>*{position:relative;z-index:1}.member-features-head{max-width:620px;margin:0 auto}.member-features-kicker{color:#075985;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.6rem}.member-features-title{color:var(--navy);font-family:var(--font-display);font-size:clamp(1.7rem, 4vw, 2.4rem);font-weight:800;line-height:1.15;margin-bottom:.75rem}.member-features-intro{color:#2b4863;font-size:.95rem;line-height:1.55}.member-features-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.25rem;text-align:left}.member-feature{background:#fff;border-radius:14px;padding:1.6rem 1.3rem;box-shadow:0 6px 20px rgba(10,42,74,.07);transition:transform .18s,box-shadow .18s}.member-feature:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(10,42,74,.12)}.member-feature-icon{width:52px;height:52px;margin-bottom:1rem}.member-feature h3{margin-bottom:.4rem;color:var(--navy);font-family:var(--font-display);font-size:1.02rem;font-weight:800;line-height:1.2}.member-feature p{color:var(--gray-dk);font-size:.84rem;line-height:1.55}.member-features-note{margin-top:2rem}#member-features-form-slot{display:flex;justify-content:center;margin-top:1.1rem}@media screen and (max-width:780px){.member-features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (max-width:520px){.member-features-grid{grid-template-columns:1fr}}.faq-section{margin:0 0 2.75rem}.faq-intro{color:var(--gray-dk);font-size:.9rem;margin:-.5rem 0 1.25rem;max-width:60ch}.faq-list{display:flex;flex-direction:column;gap:.6rem}.faq-item{border:1px solid var(--gray);border-radius:10px;background:var(--card-bg);overflow:hidden}.faq-item summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;font-weight:700;color:var(--navy);font-size:.92rem}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'+';flex-shrink:0;font-size:1.2rem;font-weight:400;color:var(--teal);transition:transform .18s}.faq-item[open] summary::after{transform:rotate(45deg)}.faq-item summary:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.faq-answer{padding:0 1.1rem 1rem;color:var(--ink);font-size:.88rem;line-height:1.6}.faq-answer p{max-width:68ch}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:NaNs!important;animation-iteration-count:1!important;transition-duration:NaNs!important;scroll-behavior:auto!important}}.skip-link{position:absolute;top:-100px;left:.5rem;z-index:1000;background:var(--navy);color:#fff;padding:.6rem 1rem;border-radius:0 0 8px 8px;font-family:var(--font-display);font-weight:700;text-decoration:none}.skip-link:focus{top:0}.sr-only-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn-import-local{position:relative;display:inline-flex;align-items:center}#storage-notice{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%) translateY(120%);z-index:600;max-width:min(90vw,420px);background:#7f1d1d;color:#fff;font-size:.82rem;line-height:1.4;padding:.7rem 1rem;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .25s}#storage-notice.show{transform:translateX(-50%) translateY(0)}.settings-backup-panel{margin-top:1.1rem;padding-top:1.1rem;border-top:1px dashed var(--gray)}.settings-backup-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}.btn-export-local,.btn-import-local{border:1.5px solid var(--teal);background:#eefbfe;color:var(--teal-dk,#007a99);font-family:var(--font-body);font-weight:700;font-size:.82rem;padding:.55rem 1rem;border-radius:8px;cursor:pointer}.btn-export-local:hover,.btn-import-local:hover{background:#d9f5fb}.btn-import-local:focus-within{outline:2px solid var(--teal);outline-offset:2px}