:root{--ink:#203b4d;--green:#2d695d;--muted:#53666c;--paper:#faf9f4;--line:#dce4dc;--sage:#e7f0e8;--lavender:#eee9f6;--blue:#e7f0f7;--yellow:#fcf2d8;--pink:#f9e9e1;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:16px}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a,button,input,select,summary{outline-offset:5px} :focus-visible{outline:3px solid #b07618}button,input,select{min-height:46px}button{color:inherit}a{text-underline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.1rem,5vw,4.2rem);line-height:1.07;letter-spacing:-.045em;margin-bottom:24px}h2{font-size:1.65rem;letter-spacing:-.03em}h3{font-size:1.08rem}p{line-height:1.7}small,.hint{color:var(--muted);font-size:.86rem}button,.button{border:0;border-radius:12px;background:var(--green);color:white;padding:14px 21px;font-weight:650;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:1.3}.button:hover,button:hover:not(:disabled){filter:brightness(.95)}.outline{border:1px solid #9bacaa;color:var(--green);background:transparent}.small{font-size:.87rem;padding:11px 15px}.header{max-width:1240px;padding:22px 36px;display:flex;gap:32px;align-items:center;margin:auto}.brand{display:flex;align-items:center;gap:10px;font-weight:750;text-decoration:none;font-size:1.2rem;white-space:nowrap}.brand-icon{color:#6ca68d;font-size:2.2rem;line-height:1}.header nav{display:flex;gap:27px;margin:auto}.header nav a{text-decoration:none;font-size:.92rem;padding:10px 0;border-bottom:2px solid transparent}.header nav a[aria-current]{color:var(--green);border-color:var(--green)}main{max-width:1168px;margin:12px auto 70px;padding:0 24px;min-height:65vh}main:focus{outline:none}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.74rem;font-weight:700;color:var(--green);margin-bottom:18px}.hero{display:grid;grid-template-columns:1.08fr 1fr;overflow:hidden;border-radius:26px;background:linear-gradient(120deg,#edf3e9,#f7f5ed);min-height:390px}.hero-copy{padding:45px 0 35px 40px;z-index:1}.hero-copy p{max-width:420px}.hero h1 em{font-style:normal;color:var(--green)}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:23px}.hero-art{width:100%;height:100%;object-fit:contain;padding:20px 12px}.handwritten{font-family:Georgia,serif;font-style:italic;color:var(--green);margin-top:25px;font-size:.98rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin:35px 0 17px}.section-head h2{margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{border:1px solid var(--line);border-radius:19px;background:white;padding:24px;min-width:0}.tile{display:flex;flex-direction:column;gap:9px;text-decoration:none;transition:transform .18s}.tile:hover{transform:translateY(-3px)}.tile h3,.tile p{margin:0}.tile .arrow{align-self:flex-end;color:var(--green)}.tile .icon{width:47px;height:47px;display:grid;place-items:center;font-size:1.6rem;border-radius:13px;background:#ffffff88;margin-bottom:7px}.sage{background:var(--sage)}.lavender{background:var(--lavender)}.blue{background:var(--blue)}.yellow{background:var(--yellow)}.pink{background:var(--pink)}.quiet{color:var(--muted)}.notice{font-size:.87rem;line-height:1.7;border-left:3px solid #a8bc9b;padding:9px 18px;margin-top:25px;color:#4d6157}.welcome{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:12px 0 24px;font-size:.9rem}.pill{display:inline-block;padding:7px 12px;border-radius:30px;background:var(--sage);color:var(--green);font-size:.76rem;font-weight:650}.narrow{max-width:730px;margin:30px auto}.page-title{font-size:clamp(2rem,4vw,3rem);margin-bottom:16px}.intro{max-width:650px;color:var(--muted)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:26px 0}label{display:block;font-weight:650;font-size:.92rem}input,select{width:100%;border:1px solid #a9bab4;border-radius:10px;background:white;color:var(--ink);padding:12px;margin-top:8px}input[type=checkbox]{width:20px;min-height:20px;margin:0;accent-color:var(--green)}.check{display:flex;gap:12px;align-items:center;font-weight:500}.step{color:var(--muted);font-size:.85rem;display:flex;justify-content:space-between;gap:10px}.progress{height:7px;width:100%;accent-color:var(--green);margin:15px 0 28px}.question{font-size:1.5rem;line-height:1.45;letter-spacing:-.02em}.answers{display:grid;gap:12px;margin:25px 0}.answer{background:white;color:var(--ink);border:1px solid #cbd6d1;justify-content:flex-start;text-align:left;font-weight:500;min-height:58px}.answer .letter{font-size:.8rem;border-radius:6px;background:#eef2ef;padding:6px 10px;flex-shrink:0}.answer.correct{background:#e4f1e5;border:2px solid #3d7b4d}.answer.wrong{background:#fbede4;border:2px solid #a66131}.feedback{padding:20px;border-radius:13px;background:#f1f5ed;line-height:1.7}.feedback a,.source{display:block;font-size:.85rem;margin-top:12px;overflow-wrap:anywhere}.result{text-align:center;padding:30px}.score{font-size:4rem;letter-spacing:-.06em;font-weight:750;color:var(--green);margin:10px}.result .actions{justify-content:center}.review{margin-top:14px}details{border:1px solid var(--line);padding:17px;border-radius:12px;margin-bottom:10px;background:white}summary{cursor:pointer;line-height:1.5;font-weight:650}details p{margin-top:14px}.search-row{display:grid;grid-template-columns:2fr 1fr;gap:15px;margin:22px 0}.lexicon{display:grid;grid-template-columns:1fr 1fr;gap:15px}.lexicon details{height:fit-content}.lexicon .favorite{background:transparent;color:var(--green);padding:8px 0;font-size:.85rem}.center{text-align:center}.orb{height:190px;width:190px;border-radius:50%;display:grid;place-items:center;margin:50px auto;background:radial-gradient(circle,#fff 47%,#c4dfd0 49%,#e7f2eb 70%);box-shadow:0 0 0 15px #edf4ef;font-size:1.25rem;color:var(--green)}.orb.active{animation:breathe 10s ease-in-out infinite}.moods{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.moods button{background:white;border:1px solid var(--line);color:var(--ink);display:flex;flex-direction:column;font-size:1.8rem}.moods span{font-size:.8rem}.stat{font-size:2.3rem;font-weight:700;color:var(--green);margin:0}.settings{display:grid;gap:20px}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:480px;margin:25px auto}.memory-grid button{aspect-ratio:1;background:var(--sage);color:var(--green);font-size:2rem}.memory-grid button.found{background:var(--lavender)}.flash{min-height:220px;display:flex;flex-direction:column;justify-content:center}.error{color:#914621}footer{border-top:1px solid var(--line);padding:28px max(24px,calc((100vw - 1120px)/2));display:flex;gap:25px;justify-content:space-between;background:#f0f3eb}footer p{font-size:.78rem;color:var(--muted);margin:8px 0}.mobile-nav{display:none}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:white;padding:15px;z-index:99}.screen{animation:enter .25s ease-out}.empty{padding:25px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#confetti{pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:10}#confetti i{position:absolute;top:-20px;width:9px;height:14px;background:var(--green);animation:fall 2.5s ease-in forwards}.storage-note{padding:10px 15px;background:var(--yellow);border-radius:10px;font-size:.86rem}.high-contrast{--muted:#263f37;--line:#62776b;--green:#174b3c}.no-motion *{animation:none!important;transition:none!important}
@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes breathe{0%,100%{transform:scale(.9)}40%{transform:scale(1.12)}}@keyframes fall{to{transform:translateY(110vh) rotate(520deg)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:900px){.header{padding:18px 24px;gap:15px}.header nav{gap:16px}.hero-copy{padding:32px 0 30px 28px}.hero{min-height:340px}.hero h1{font-size:2.8rem}.grid{gap:12px}.card{padding:20px}}
@media(max-width:650px){.header{padding:15px 20px}.header nav{display:none}.header>.button{margin-left:auto}.brand{font-size:1.05rem}main{padding:0 16px;margin-top:0;margin-bottom:35px}.hero{grid-template-columns:1fr}.hero-copy{padding:28px 25px 0}.hero h1{font-size:2.8rem}.hero-copy p{margin-bottom:12px}.hero-art{height:230px;padding:0 16px}.hero .handwritten{display:none}.hero .actions{margin-top:18px}.grid{grid-template-columns:1fr 1fr}.tile{padding:17px}.grid .wide{grid-column:1/-1}.section-head{margin-top:27px}.section-head h2{font-size:1.4rem}.fields,.lexicon,.search-row{grid-template-columns:1fr}.narrow{margin-top:18px}.question{font-size:1.3rem}.welcome{font-size:.8rem}.welcome .pill{font-size:.66rem}.result{padding:10px}.card{padding:20px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;background:#fffffff5;border-top:1px solid var(--line);padding:8px 5px calc(8px + env(safe-area-inset-bottom));z-index:5;backdrop-filter:blur(12px)}.mobile-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;text-decoration:none;font-size:1.3rem;min-width:52px;min-height:45px}.mobile-nav a span{font-size:.62rem}.mobile-nav a[aria-current]{color:var(--green);font-weight:750}footer{padding:24px 20px 100px;display:block}.orb{width:150px;height:150px;margin:35px auto}.actions>.button,.actions>button{flex-grow:1}}
textarea{display:block;width:100%;font:inherit;line-height:1.6;padding:14px;border:1px solid #a9bab4;border-radius:10px;margin:8px 0 20px;resize:vertical;min-height:100px;color:var(--ink);background:#fff}form>label{margin-bottom:18px}form>button{margin-top:16px}.columns{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:24px;align-items:start}.post{margin-bottom:15px}.text-body{white-space:pre-wrap;overflow-wrap:anywhere}.nature-strip{display:grid;grid-template-columns:1fr 1.4fr;margin-top:35px;border-radius:24px;overflow:hidden;background:#e7f0e8}.nature-strip img{width:100%;height:300px;object-fit:cover}.nature-strip>div{padding:35px}.zen-photo{width:100%;height:200px;object-fit:cover;border-radius:14px;margin-bottom:25px}.trophy{display:block;font-size:5rem;animation:arrive .8s ease-out}.card form+form{margin-top:20px}.card{overflow-wrap:anywhere}details[hidden]{display:none}.check a{display:inline}input[type=file]{max-width:100%}.header nav{flex-wrap:wrap}.nature-strip h2{line-height:1.3}@keyframes arrive{from{transform:scale(.5) rotate(-10deg);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:760px){.columns{grid-template-columns:1fr}.nature-strip{grid-template-columns:1fr}.nature-strip img{height:200px}.nature-strip>div{padding:24px}.hero h1{font-size:clamp(2rem,8vw,2.8rem)}}@media(max-width:380px){.grid{grid-template-columns:1fr}.header{padding:15px 12px}.brand{font-size:.95rem}.header>.button{padding:10px;font-size:.8rem}}@media print{header,footer,nav,button,.notice,.actions{display:none!important}main{max-width:none;margin:0}details{break-inside:avoid}details>*{display:block!important}textarea{height:180px}.card{border:1px solid #999}body{background:white}}
.hero-art.photo-art{padding:0;object-fit:cover;min-height:440px}.hero-copy{padding-right:24px}.nature-strip img{object-fit:contain}.zen-photo{object-fit:contain;background:var(--sage)}@media(max-width:650px){.hero-art.photo-art{min-height:0;height:260px;margin-top:20px;object-position:center}}
@media(min-width:651px) and (max-width:900px){.hero h1{font-size:2.15rem;line-height:1.15}.hero-copy{padding:30px 22px}.hero-art.photo-art{min-height:420px}.hero .actions{gap:10px}.hero .handwritten{margin-top:20px}}

.question { text-wrap: balance; }

/* Personal space: calm, compact and usable without JavaScript. */
.profile-hero{display:flex;align-items:center;gap:22px;background:linear-gradient(120deg,var(--sage),#f6f0e1);border-radius:24px;padding:30px;margin-top:18px;overflow-wrap:anywhere}.profile-hero>div{min-width:0;flex:1}.profile-hero h1{font-size:clamp(1.7rem,4vw,2.6rem);margin:0 0 10px}.profile-hero p{margin:0}.profile-hero .eyebrow{margin-bottom:10px}.profile-avatar{display:inline-grid;place-items:center;width:82px;height:82px;border-radius:50%;background:#ffffffb8;font-size:2.6rem;flex-shrink:0}.profile-nav{display:flex;gap:8px;margin:22px 0;padding:5px;background:#edf0eb;border-radius:14px}.profile-nav a{flex:1;text-align:center;padding:14px 10px;border-radius:10px;text-decoration:none;font-weight:650;font-size:.95rem}.profile-nav a[aria-current]{background:white;color:var(--green);box-shadow:0 2px 7px #203b4d0d}.profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.profile-stats>div{padding:22px;border:1px solid var(--line);border-radius:16px;background:white;display:flex;flex-direction:column;gap:4px}.profile-stats strong{font-size:2rem;color:var(--green)}.profile-stats span{font-size:.9rem;color:var(--muted)}.profile-columns{margin-top:18px}.profile-facts{display:grid;grid-template-columns:auto 1fr;gap:12px 20px;line-height:1.5}.profile-facts dt{color:var(--muted)}.profile-facts dd{margin:0}.personal-goal{border-left:3px solid #b9a2cc;padding-left:18px}.profile-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.profile-shortcuts a{font-weight:650;text-decoration:none}.profile-section{margin-top:20px}.profile-topics{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-topics article{background:var(--paper);border-radius:12px;padding:18px}.profile-topics p{margin-bottom:8px;font-size:.86rem}.profile-topics meter{display:block;width:100%;height:16px;margin:10px 0 16px;accent-color:var(--green)}.profile-topics a{font-size:.86rem}.profile-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.profile-settings{max-width:850px;margin:0 auto}.profile-fieldset{border:0;border-top:1px solid var(--line);padding:24px 0 0;margin-top:28px;min-width:0}.profile-fieldset legend{font-size:1.15rem;font-weight:700;padding-right:15px}.profile-fieldset .fields{margin:16px 0}.avatar-picker{border:0;padding:0;display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.avatar-picker legend{margin-bottom:12px;font-weight:650}.avatar-picker label{position:relative;cursor:pointer}.avatar-picker input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0}.avatar-picker span:not(.sr-only){display:grid;place-items:center;width:58px;height:58px;border:2px solid var(--line);border-radius:16px;font-size:1.8rem;background:var(--paper)}.avatar-picker input:checked+span{border-color:var(--green);background:var(--sage);box-shadow:0 0 0 2px white,0 0 0 3px var(--green)}.avatar-picker input:focus-visible+span{outline:3px solid #b07618;outline-offset:4px}.profile-preview{display:flex;align-items:center;gap:16px;background:var(--lavender);border-radius:14px;padding:18px;overflow-wrap:anywhere}.profile-preview>span{font-size:2.5rem}.profile-preview>div{min-width:0}.profile-preview p{margin:4px 0 0;font-size:.88rem}.profile-answer{margin-top:14px}.profile-answer summary{font-size:.9rem}.profile-hero .button{flex-shrink:0}
@media(max-width:650px){.profile-hero{padding:22px 18px;gap:14px;flex-wrap:wrap}.profile-hero .button{width:100%;margin-top:5px}.profile-avatar{width:60px;height:60px;font-size:2rem}.profile-hero .eyebrow{font-size:.65rem}.profile-nav{gap:2px}.profile-nav a{font-size:.8rem;padding:13px 5px}.profile-stats{gap:8px}.profile-stats>div{padding:14px 10px}.profile-stats strong{font-size:1.6rem}.profile-stats span{font-size:.76rem}.profile-shortcuts,.profile-topics{grid-template-columns:1fr}.profile-facts{grid-template-columns:1fr;gap:5px}.profile-facts dd{margin-bottom:10px}.avatar-picker{gap:10px}.avatar-picker span:not(.sr-only){width:48px;height:48px}.profile-settings{padding:20px 16px}}
.header>.button{max-width:45%;min-width:0;overflow-wrap:anywhere;white-space:normal}
@media(min-width:360px) and (max-width:650px){.avatar-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.avatar-picker span:not(.sr-only){width:100%;min-width:44px;height:48px}}
@media(max-width:359px){.avatar-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}
.profile-photo{width:82px;height:82px;object-fit:cover;border-radius:50%;flex-shrink:0}.profile-photo[hidden],#avatar-preview[hidden],.address-results[hidden]{display:none}.profile-preview .profile-photo{width:64px;height:64px}.address-assist{margin:15px 0}.address-results{display:grid;gap:6px;padding:8px;background:var(--sage);border-radius:12px;margin:0 0 18px}.address-results button{background:white;color:var(--ink);text-align:left;justify-content:flex-start;font-weight:500;width:100%}@media(max-width:650px){.profile-hero .profile-photo{width:60px;height:60px}}
.forum-search .fields{margin:0}.forum-search .actions{margin-top:16px}.forum-topic{margin-bottom:14px}.forum-topic .pill{align-self:flex-start}.forum-topic h2,.goal-title{font-size:1.25rem;line-height:1.4;margin:10px 0}.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:24px 0}.pagination span{font-size:.85rem}.pagination .button{font-size:.85rem;padding:12px}.post form>button{margin-top:6px}
.visual-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:28px;align-items:center;margin:24px 0;background:#eff2eb;border-radius:22px;overflow:hidden}.visual-intro>div{padding:26px 0 26px 28px}.visual-intro .intro{margin-bottom:0}.visual-intro>img{width:100%;height:230px;object-fit:cover}.visual-intro .page-title{font-size:clamp(1.8rem,3vw,2.7rem)}.support-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}.support-list{padding-left:22px;line-height:1.8}.support-list li{margin:8px 0}.nature-strip>img{object-fit:cover;height:100%;min-height:260px}@media(max-width:650px){.visual-intro{grid-template-columns:1fr;gap:0;margin:16px 0}.visual-intro>div{padding:23px}.visual-intro>img{height:170px;object-position:center 40%}.support-layout{grid-template-columns:1fr}.nature-strip>img{height:230px;min-height:0}}@media print{.visual-intro>img{display:none}.visual-intro,.support-layout{display:block}}
/* Preserve the whole inclusive scene instead of cropping out participants. */
.hero-art.photo-art{object-fit:contain;background:#e9eee8}
.resume-card{display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--lavender);margin:20px 0}.resume-card h2{font-size:1.3rem;margin-bottom:8px}.resume-card p{margin:0}.resume-card>.button{flex-shrink:0}@media(max-width:650px){.resume-card{flex-direction:column;align-items:stretch}}

/* Collection personnelle, sans classement. */
.badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.badge-mark{width:88px;height:102px;flex-shrink:0}.badge-card h3{margin:.5rem 0}.badge-card.upcoming .badge-mark{filter:saturate(.35);opacity:.72}.badge-status{font-weight:700;color:#65508b}.game-summary,.game-challenges,.game-result{margin:20px 0}.game-summary progress,.badge-card progress{width:100%;accent-color:#7760a7}.badge-celebration{display:flex;align-items:center;gap:16px;margin:20px 0;animation:badge-arrival .65s ease-out}.badge-celebration h3{margin:0}.game-challenges li{margin:12px 0}.profile-nav{flex-wrap:wrap}.badge-card{min-width:0;overflow-wrap:anywhere}@keyframes badge-arrival{from{transform:translateY(12px) scale(.96);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.badge-celebration{animation:none}}.no-motion .badge-celebration{animation:none}


/* Boucliers : une silhouette commune, un symbole par famille. */
.badge-mark{--shield-edge:#756394;--shield-fill:#eee7f8;--shield-ink:#59436f;--shield-metal:#c0aacd}.shield-shadow{fill:#d7d0cf}.shield-shell{fill:var(--shield-edge)}.shield-face{fill:var(--shield-fill);stroke:var(--shield-metal);stroke-width:1.5}.shield-light{fill:#fff;opacity:.3}.shield-symbol{fill:none;stroke:var(--shield-ink);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.shield-ornament{fill:none;stroke:var(--shield-metal);stroke-width:2.5;stroke-linecap:round}.shield-rivet{fill:var(--shield-metal)}.shield-sun{--shield-edge:#9b7742;--shield-fill:#fff0ce;--shield-ink:#7a5827;--shield-metal:#d4b77d}.shield-leaf{--shield-edge:#967057;--shield-fill:#fce9dd;--shield-ink:#825537;--shield-metal:#ccaa90}.shield-book{--shield-edge:#577a90;--shield-fill:#e2eef7;--shield-ink:#3b607b;--shield-metal:#99bace}.shield-heart{--shield-edge:#a46372;--shield-fill:#f9e7ec;--shield-ink:#88475a;--shield-metal:#d9a6b3}.shield-star{--shield-edge:#967f46;--shield-fill:#f9f0d4;--shield-ink:#786024;--shield-metal:#d1bb80}.badge-card.earned .badge-mark{filter:drop-shadow(0 3px 2px #322a3814)}.badge-celebration .badge-mark{width:76px;height:88px}.high-contrast .badge-mark{--shield-ink:#202020;--shield-edge:#303030}

.badge-meaning{font-size:.88rem;color:#536661;margin:.4rem 0 1rem}.shield-symbol{stroke-width:2.2}

.recent-badges{margin:20px 0}.recent-badge-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin:16px 0}.recent-badge-list>div,.next-badge{display:flex;gap:16px;align-items:center}.recent-badge-list .badge-mark{width:50px;height:58px}.recent-badge-list p{margin:.3rem 0}.next-badge{margin:20px 0}.next-badge>div:last-child{min-width:0}.next-badge h2{margin:.4rem 0}#collection{scroll-margin-top:90px}@media(max-width:480px){.next-badge{align-items:flex-start}.next-badge .badge-mark{width:56px;height:65px}}

.message-picker{display:flex;align-items:end;gap:16px;margin:20px 0}.message-picker label{flex:1}.message-compose{margin:20px 0}.private-message{border-left:4px solid #9bb9c9}.private-message.outgoing{border-left-color:#b9a6cc}.message-meta{font-size:.88rem}.private-message .text-body{overflow-wrap:anywhere}@media(max-width:480px){.message-picker{display:block}.message-picker button{margin-top:12px}}

.memo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;margin:24px 0}.memo-card h2{font-size:1.3rem}.memo-filter{margin:24px 0}.memo-domain-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.memo-domain-links a{padding:10px;border:1px solid #becdc6;border-radius:12px}.memo-sheet{background:#fff;border:1px solid #c1cdc7;border-radius:18px;max-width:800px;padding:32px;margin:24px auto}.memo-sheet h1{font-size:2rem;margin:12px 0}.memo-sheet h2{font-size:1.15rem;margin-top:24px}.memo-sheet li{margin:12px 0;padding-left:5px}.memo-hook{font-size:1.1rem;color:#375d52}.memo-example{border-left:3px solid #b5a1c6;padding-left:18px}.memo-sources{font-size:.85rem;margin-top:26px}.memo-footnote{font-size:.78rem;border-top:1px solid #c1cdc7;padding-top:16px;margin-top:22px}.memo-print-url{display:none}@media(max-width:480px){.memo-sheet{padding:20px}.memo-sheet h1{font-size:1.6rem}}@media print{@page{size:A4 portrait;margin:14mm}.memo-controls,.memo-library>.notice{display:none!important}.memo-sheet{border:0;border-radius:0;padding:0;margin:0;max-width:none;break-after:page;font-size:10pt;line-height:1.4}.memo-sheet:last-child{break-after:auto}.memo-sheet h1{font-size:20pt}.memo-sheet h2{font-size:12pt;margin-top:12pt}.memo-sheet li{margin:6pt 0}.memo-example{break-inside:avoid}.memo-sources{font-size:8pt;margin-top:12pt}.memo-footnote{font-size:8pt;margin-top:12pt}.memo-print-url{display:block;font-size:7pt;overflow-wrap:anywhere}.memo-answer>*{display:block!important}.memo-sheet a{color:#111;text-decoration:none}.memo-sheet .pill{background:none;padding:0;border:0}.memo-hook{color:#111}.memo-sheet section,.memo-sheet details{break-inside:avoid}}

/* Fiches chaleureuses : couleurs de domaine, repères numérotés et petits dessins. */
.memo-card,.memo-sheet{--memo-accent:#38675c;--memo-tint:#edf5ef}.memo-tone-bloc2{--memo-accent:#855d31;--memo-tint:#faf1e3}.memo-tone-bloc3{--memo-accent:#90604f;--memo-tint:#fcf0e9}.memo-tone-bloc4{--memo-accent:#73598b;--memo-tint:#f3eef9}.memo-tone-bloc5{--memo-accent:#406b88;--memo-tint:#edf4fa}.memo-tone-afgsu{--memo-accent:#96586b;--memo-tint:#faedf1}.memo-card{border-top:5px solid var(--memo-accent);display:flex;flex-direction:column;align-items:start}.memo-card .button{margin-top:auto}.memo-card-top{display:flex;gap:14px;align-items:center}.memo-icon{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;flex-shrink:0;border-radius:19px;background:var(--memo-tint);color:var(--memo-accent)}.memo-symbol{width:42px;height:42px}.memo-card .pill{background:var(--memo-tint);color:var(--memo-accent)}.memo-sheet{padding:0;overflow:hidden;border:1px solid #d2dbd5}.memo-sheet>*{margin-left:30px;margin-right:30px}.memo-sheet-head{margin:0 0 28px;padding:28px 30px;background:var(--memo-tint);border-top:7px solid var(--memo-accent)}.memo-sheet-head .memo-icon{float:right;background:#ffffffaa;margin-left:16px}.memo-sheet-head h1{max-width:640px}.memo-sheet-head .memo-hook{color:var(--memo-accent);margin-bottom:0}.memo-step{display:inline-flex;font-size:.78rem;color:var(--memo-accent);border:1px solid currentColor;border-radius:7px;padding:3px 6px;margin-right:7px;vertical-align:middle}.memo-sheet ol.memo-points{list-style:none;counter-reset:memo;padding:0}.memo-points li{counter-increment:memo;background:var(--memo-tint);border-radius:12px;padding:14px 16px 14px 52px;position:relative}.memo-points li:before{content:counter(memo);position:absolute;left:14px;top:14px;width:24px;height:24px;background:var(--memo-accent);color:white;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700}.memo-example{border-left:3px solid var(--memo-accent);padding-left:16px;margin-top:26px}.memo-play{padding:4px 20px 16px;background:var(--memo-tint);border-radius:14px;margin-top:26px}.memo-play .memo-answer{background:white}.memo-sources{padding-top:10px}.memo-footnote{padding-bottom:12px}.memo-sheet>.actions{padding-bottom:24px}.memo-card:hover{border-color:var(--memo-accent)}@media(max-width:480px){.memo-sheet>*{margin-left:18px;margin-right:18px}.memo-sheet-head{margin:0 0 22px;padding:22px 18px}.memo-sheet-head .memo-icon{width:48px;height:48px}.memo-sheet-head .memo-symbol{width:34px;height:34px}.memo-card-top .pill{font-size:.78rem}.memo-points li{padding-right:12px}}@media print{.memo-sheet{overflow:visible;border:0}.memo-sheet>*{margin-left:0;margin-right:0}.memo-sheet-head{padding:10pt 0;background:none!important;border-top:3pt solid #444;margin-bottom:14pt}.memo-sheet-head .memo-icon{width:40pt;height:40pt;background:none!important}.memo-points li{background:none!important;border:1px solid #ddd;border-radius:4pt;padding:7pt 7pt 7pt 26pt}.memo-points li:before{left:5pt;top:7pt;width:15pt;height:15pt;background:none;color:#111;border:1px solid #888}.memo-play{background:none!important;border:1px solid #ddd;padding:0 10pt 8pt}.memo-example{margin-top:12pt}.memo-footnote{padding-bottom:0}.memo-sheet .memo-hook{font-size:11pt}}

/* Parcours de lecture et confort */
.activity-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:20px 0}.activity-day{padding:10px 4px;border:1px solid var(--line);border-radius:10px;text-align:center;font-size:.82rem}.activity-day small{display:block}.activity-day.active{background:var(--sage);font-weight:700}
.dark-theme{--ink:#e6eee9;--green:#91cbb5;--muted:#bccac4;--paper:#192520;--line:#506058;--sage:#2c4439;--lavender:#3a3549;--blue:#2a3e4a;--yellow:#49432b;--pink:#49362f;background:var(--paper);color:var(--ink)}
.dark-theme body,.dark-theme main,.dark-theme footer{background:var(--paper);color:var(--ink)}.dark-theme .card,.dark-theme details,.dark-theme .memo-sheet,.dark-theme input,.dark-theme textarea,.dark-theme select,.dark-theme .answer,.dark-theme .mobile-nav{background:#23342c;color:var(--ink);border-color:var(--line)}
.dark-theme h1,.dark-theme h2,.dark-theme h3,.dark-theme p,.dark-theme .question{color:inherit}.dark-theme button,.dark-theme .button{background:#467963;color:#fff}.dark-theme .outline{background:transparent;color:#d1ecdd}.dark-theme .sage,.dark-theme .feedback,.dark-theme .memo-sheet-head,.dark-theme .memo-points li,.dark-theme .memo-play,.dark-theme .notice,.dark-theme .pill{background:#30473b;color:var(--ink)}.dark-theme .correct{border:3px solid #a9dfb3}.dark-theme .wrong{border:3px solid #f7b4a6}.dark-theme .hint,.dark-theme small{color:var(--muted)}.dark-theme .memo-example{background:#2b3c34;color:var(--ink)}.dark-theme .profile-nav a[aria-current],.dark-theme .profile-avatar{background:#395444;color:#fff}
@media(max-width:480px){.activity-days{gap:4px}.activity-day{font-size:.7rem}}
@media print{.dark-theme,.dark-theme body,.dark-theme main,.dark-theme .card,.dark-theme .memo-sheet,.dark-theme details{background:#fff!important;color:#111!important}.activity-day{color:#111}}

.course-body{overflow-wrap:anywhere;white-space:normal}.course-body p{max-width:72ch}

.honor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px;margin:28px 0}.honor-card{text-align:center;border-top:5px solid #cfac5c}.honor-portrait{display:block;width:160px;height:160px;object-fit:cover;border-radius:50%;margin:0 auto 20px;border:5px solid var(--sage)}.honor-card h2{margin-top:20px}.legal-copy{max-width:900px;margin-inline:auto}.legal-copy h2{margin-top:32px}.legal-table{overflow-x:auto}.legal-table table{border-collapse:collapse;width:100%}.legal-table td,.legal-table th{padding:12px;text-align:left;border:1px solid var(--line);vertical-align:top;font-size:.92rem}.legal-table th{background:var(--sage)}
@media(max-width:550px){.legal-table table,.legal-table tbody,.legal-table tr,.legal-table td,.legal-table th{display:block}.legal-table thead{display:none}.legal-table tr{margin-bottom:18px}.legal-table td:first-child{font-weight:700;background:var(--sage)}}

/* Carnet privé et nouvelles */
.notebook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.notebook-entry{min-width:0;overflow-wrap:anywhere}.notebook-note{background:var(--paper,#f8f7f3);border-radius:14px;padding:1rem;margin:1rem 0}.notebook-note h3{font-size:1rem;margin:0 0 .5rem}.notebook-note p{margin:0}.notebook-summary{margin:1.5rem 0}.notification-entry{margin:1rem 0}.notification-entry form{margin-top:1rem}a[aria-current="page"].outline{box-shadow:inset 0 0 0 2px currentColor}
@media(max-width:650px){.notebook-grid{grid-template-columns:1fr}}
@media print{.notebook-controls{display:none!important}.notebook-grid{display:block}.notebook-entry{break-inside:avoid;margin:0 0 1rem;border:1px solid #aaa}.notebook-note{background:#fff;color:#111}.notebook-summary .hint{display:none}.notebook-entry .notice{display:block!important}}

/* Situations photographiques et interactions douces */
.question-scene{margin:18px 0 22px;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}.question-scene img{display:block;width:100%;max-height:260px;object-fit:contain;background:var(--sage)}.question-scene figcaption{font-size:.78rem;line-height:1.5;padding:10px 14px 0;color:var(--muted)}.scene-zoom{display:inline-block;padding:10px 14px;font-size:.85rem}.scene-dialog{max-width:min(960px,95vw);max-height:94dvh;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);padding:16px}.scene-dialog::backdrop{background:#172d25b3}.scene-dialog img{display:block;max-width:100%;max-height:72dvh;object-fit:contain;margin:10px auto}.scene-dialog p{font-size:.85rem;margin:8px 0}.scene-dialog form{display:flex;justify-content:flex-end}.answers .answer{transition:transform .16s ease,box-shadow .16s ease}.answers .answer:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #284d3820}.answers .answer:active:not(:disabled){transform:scale(.99)}.feedback{animation:feedback-in .3s ease-out}.question-scene{animation:feedback-in .35s ease-out}@keyframes feedback-in{from{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:none}}@media(hover:hover){.tile:hover{transform:translateY(-3px);transition:transform .2s ease}}@media(max-width:650px){.question-scene img{max-height:200px}.scene-dialog{padding:12px}}@media print{.scene-zoom,.scene-dialog{display:none!important}.question-scene{break-inside:avoid}.question-scene img{max-height:160px}}.no-motion .question-scene,.no-motion .feedback{animation:none}
.no-motion .answers .answer:hover,.no-motion .answers .answer:active,.no-motion .tile:hover{transform:none}@media(prefers-reduced-motion:reduce){.answers .answer:hover,.answers .answer:active,.tile:hover{transform:none}}

/* Contrastes harmonisés pour les surfaces du thème sombre. */
.dark-theme .hero,.dark-theme .visual-intro,.dark-theme .nature-strip,.dark-theme .profile-hero,.dark-theme .legal-table th,.dark-theme .legal-table td{background:#23342c;color:#e6eee9}.dark-theme .hero h1 em,.dark-theme .handwritten,.dark-theme .eyebrow{color:#a9d8c5}.dark-theme .tile,.dark-theme .storage-note{background:#30473b;color:#e6eee9}.dark-theme .memo-icon,.dark-theme .memo-answer{background:#30473b;color:#e6eee9}.dark-theme .source,.dark-theme footer p{color:#c2d4ca}.dark-theme .hint,.dark-theme small{color:#c2d4ca}.dark-theme.high-contrast{--ink:#fff;--muted:#e4eee8;--green:#b2e2ce;--line:#9bb8a9}.dark-theme .high-contrast{--ink:#fff;--muted:#e4eee8;--green:#b2e2ce;--line:#9bb8a9}
/* Accueil public : présentation du service, aucun contenu de révision ouvert. */
.landing{--landing-soft:#edf1e7}.landing-hero{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:22px 0 38px}.landing-copy h1{font-size:clamp(2.7rem,5.3vw,4.5rem);line-height:1.03;letter-spacing:-.055em}.landing-copy h1 em{font-style:normal;color:var(--green)}.landing-copy>p:not(.eyebrow):not(.hint){max-width:460px}.landing-lead{font-size:1.15rem}.landing-copy .actions{align-items:center;gap:18px}.landing-text-link{font-weight:650;text-decoration-thickness:1px;display:inline-block;padding:10px 0}.landing-picture{position:relative;padding-bottom:28px}.landing-picture>img{display:block;width:100%;height:490px;object-fit:cover;border-radius:100px 24px 100px 24px}.landing-note{position:relative;display:flex;gap:14px;align-items:center;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 28px #21382e12;border-radius:16px;padding:20px;margin:-42px 22px 0}.landing-note>span{font-size:2.4rem;color:var(--green)}.landing-note small{display:block;margin-top:4px}.landing-facts{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.landing-facts p{margin:0;padding:0 14px}.landing-facts p+p{border-left:1px solid var(--line)}.landing-facts strong{display:block;font-size:clamp(1.2rem,2.3vw,1.8rem);letter-spacing:-.035em}.landing-facts span{font-size:.85rem;color:var(--muted)}.landing-section{margin:72px 0}.landing-heading{max-width:630px;margin-bottom:28px}.landing h2{font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.15}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.landing-feature{padding:28px;border-radius:20px;border:1px solid var(--line)}.landing-feature-top{display:flex;justify-content:space-between;gap:12px;font-size:.8rem;margin-bottom:38px}.landing-feature h3{font-size:1.4rem;line-height:1.25;letter-spacing:-.03em}.landing-feature p{font-size:.95rem;margin-bottom:0}.landing-pause{display:grid;grid-template-columns:1fr 1fr;background:var(--landing-soft);border-radius:26px;overflow:hidden}.landing-pause>img{width:100%;height:100%;min-height:390px;object-fit:cover}.landing-pause>div{padding:42px}.landing-start{display:grid;grid-template-columns:1fr 1fr;gap:64px}.landing-steps{list-style:none;counter-reset:steps;margin:0;padding:0}.landing-steps li{counter-increment:steps;position:relative;padding:0 0 26px 56px}.landing-steps li::before{content:counter(steps);position:absolute;left:0;top:0;background:var(--sage);width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-weight:650}.landing-steps strong,.landing-steps span{display:block}.landing-steps span{color:var(--muted);line-height:1.65;margin-top:5px}.landing-faq{max-width:800px;margin:0 auto 38px}.landing-faq details{border:1px solid var(--line);border-radius:14px;background:transparent;padding:18px 22px;margin-bottom:12px}.landing-faq summary{cursor:pointer;font-weight:650;min-height:24px}.landing-faq details p{margin:18px 0 0}.landing-reminder{margin:32px 0;font-size:.9rem}.landing-join{text-align:center;background:var(--landing-soft);border-radius:26px;padding:42px 24px;margin:34px 0 12px}.landing-join .hint{margin:18px 0 0}.landing-flower{display:inline-block;font-size:3rem;color:var(--green);margin-bottom:14px;animation:landing-bloom 1s ease-out}.dark-theme .landing{--landing-soft:#23342c}.dark-theme .landing-feature{background:#30473b}.dark-theme .landing-copy h1 em,.dark-theme .landing-flower,.dark-theme .landing-note>span{color:#a9d8c5}.dark-theme .landing-note{background:#23342c}@keyframes landing-bloom{from{opacity:0;transform:rotate(-20deg) scale(.8)}to{opacity:1;transform:none}}@media(max-width:900px){.landing-hero{gap:24px}.landing-picture>img{height:450px}.landing-feature{padding:22px}.landing-pause>div{padding:28px}}@media(max-width:760px){.landing-hero,.landing-pause,.landing-start{grid-template-columns:1fr}.landing-hero{padding-top:8px;gap:22px}.landing-copy h1{font-size:clamp(2.7rem,10vw,3.5rem)}.landing-picture>img{height:320px;border-radius:64px 20px 64px 20px}.landing-copy>p:not(.eyebrow):not(.hint){max-width:none}.landing-note{margin:-34px 16px 0;padding:16px}.landing-features{grid-template-columns:1fr}.landing-feature-top{margin-bottom:20px}.landing-section{margin:44px 0}.landing-start{gap:22px}.landing-pause>img{min-height:0;height:230px}.landing-facts{gap:10px}.landing-facts p{padding:0 5px}.landing-facts strong{font-size:1.05rem}.landing-facts span{display:block;font-size:.75rem;line-height:1.4;margin-top:6px}.landing-join{padding:30px 20px}.landing-faq details{padding:16px}.landing-hero .actions{align-items:stretch;flex-direction:column}.landing-text-link{min-height:44px}}@media(prefers-reduced-motion:reduce){.landing *{animation:none!important;scroll-behavior:auto}}.no-motion .landing *{animation:none!important}

.confirmation-address{overflow-wrap:anywhere} [data-confirmation-retry]:disabled{opacity:.65;cursor:wait}
