/* Papa & Co — feuille de style unique.
   Concept : un carnet de route coloré. Pastels de la charte pour classer (papa = bleu ciel, maman = crème, couple = menthe),
   vert profond pour l'action, jaune soleil pour célébrer. Barre d'onglets en bas sur téléphone, en haut sur ordinateur. */
:root{
  --bg:#F7FAF8; --surface:#FFFFFF; --ink:#1C2633; --muted:#5B6672; --line:#DDE3DA;
  --green:#1F6F66; --green-ink:#FFFFFF; --green-soft:#DDF0E8; --brand:#1F6F66; --brand2:#3FA796; --brand-txt:var(--brand);
  --sun:#F2B541; --sun-ink:#1C2633; --cream:#FFEFC2; --sky:#E4EEFB;
  --danger:#C2410C; --danger-bg:#FCE9DF;
  --shadow:0 12px 32px rgba(28,38,51,.10);
  --radius:20px;
  --display:"Bricolage Grotesque","Avenir Next","Segoe UI",sans-serif;
  --body:"Figtree","Segoe UI",system-ui,sans-serif;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#11191F; --surface:#19232B; --ink:#EAF1EC; --muted:#9AA8B2; --line:#2B3943;
  --green:#5CC2B3; --green-ink:#0D1A1E; --green-soft:#1C3833;
  --sun:#F2B541; --sun-ink:#1C2633; --cream:#3A3120; --sky:#1E2B3C;
  --danger:#F08A5D; --danger-bg:#3A2219; --shadow:0 12px 32px rgba(0,0,0,.45); --brand-txt:var(--green); color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#11191F; --surface:#19232B; --ink:#EAF1EC; --muted:#9AA8B2; --line:#2B3943;
  --green:#5CC2B3; --green-ink:#0D1A1E; --green-soft:#1C3833;
  --sun:#F2B541; --sun-ink:#1C2633; --cream:#3A3120; --sky:#1E2B3C;
  --danger:#F08A5D; --danger-bg:#3A2219; --shadow:0 12px 32px rgba(0,0,0,.45); --brand-txt:var(--green); color-scheme:dark }

*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--green);font-weight:600}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;line-height:1.1;text-wrap:balance;margin:0}
p{margin:0}
.wrap{width:100%;max-width:1080px;margin-inline:auto;padding-inline:20px}
.muted{color:var(--muted)}
.small{font-size:14px}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--muted)}
.stack{display:flex;flex-direction:column;gap:12px}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hidden{display:none!important}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;border:1.5px solid transparent;font-weight:700;cursor:pointer;background:var(--green);color:var(--green-ink);text-decoration:none;text-align:center;line-height:1.2}
.btn:hover{filter:brightness(1.07)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.sun{background:var(--sun);color:var(--sun-ink)}
.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn.danger{background:var(--danger);color:#fff}
.btn.sm{min-height:38px;padding:0 14px;font-size:15px}
.btn.block{width:100%}
.link{all:unset;cursor:pointer;color:var(--green);font-weight:700}
.link:focus-visible{outline:3px solid var(--sun)}

/* Logo */
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo svg{width:40px;height:40px;flex:none;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.logo b{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.02em}

/* Bandeau démo */
.demo-bar{background:var(--cream);font-size:14px;padding:8px 0}
.demo-bar .wrap{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between}

/* En-tête public */
.pub-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.pub-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px}
.pub-nav{display:flex;align-items:center;gap:22px}
.pub-nav a{color:var(--ink);text-decoration:none;font-weight:600}
.burger{all:unset;display:none;cursor:pointer;width:44px;height:44px;place-items:center;border-radius:12px}
.burger:focus-visible{outline:3px solid var(--sun)}
.mob-menu{display:none}

/* Accueil public */
.hero{padding-block:56px 40px}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(38px,6vw,64px);font-weight:800}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--sun) 62%);padding-inline:2px}
.hero p.lead{font-size:20px;color:var(--muted);margin-top:18px;max-width:34ch}
.hero .row{margin-top:28px}
.hero-card{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:var(--shadow);display:grid;gap:14px;transform:rotate(1.2deg)}
.hero-count{display:flex;align-items:baseline;gap:10px}
.hero-count b{font-family:var(--display);font-size:64px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--green)}
.mini-task{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:var(--bg)}
.mini-task i{width:22px;height:22px;border-radius:8px;border:2px solid var(--green);flex:none;font-style:normal;display:grid;place-items:center;font-size:13px;color:var(--green-ink)}
.mini-task i.ok{background:var(--green)}
.sec{padding-block:56px}
.sec h2{font-size:clamp(30px,4vw,42px);font-weight:800}
.sec .intro{color:var(--muted);margin-top:10px;max-width:56ch}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.step .num{font-family:var(--display);font-weight:800;font-size:15px;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--sun);color:var(--sun-ink);margin-bottom:12px}
.step h3{font-size:21px;margin-bottom:6px}
.spaces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.space{border-radius:var(--radius);padding:24px}
.space h3{font-size:24px;margin-bottom:10px}
.space ul{margin:0;padding-left:18px;display:grid;gap:4px}
.space.papa{background:var(--sky)} .space.maman{background:var(--cream)} .space.couple{background:var(--green-soft)}
.prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px;align-items:start}
.price{background:var(--surface);border:1.5px solid var(--line);border-radius:24px;padding:24px;display:grid;gap:14px}
.price.best{border-color:var(--green);box-shadow:var(--shadow)}
.price .tag{justify-self:start;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:var(--sun);color:var(--sun-ink);padding:4px 10px;border-radius:999px}
.price h3{font-size:22px}
.price .amount{font-family:var(--display);font-size:42px;font-weight:800;line-height:1}
.price .amount small{font-size:16px;font-weight:600;color:var(--muted);font-family:var(--body)}
.price ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.price li{display:flex;gap:8px}
.price li::before{content:"✓";color:var(--green);font-weight:800}
.faq{display:grid;gap:10px;margin-top:24px;max-width:780px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:0 18px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:58px;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--display);font-size:26px;color:var(--green);flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:16px;color:var(--muted)}
.foot{border-top:1px solid var(--line);padding-block:32px;font-size:14px;color:var(--muted)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between}

/* Formulaires */
.field{display:grid;gap:6px}
.field label,.field .lbl{font-weight:700}
.field small{color:var(--muted);font-size:14px}
.input,.field input,.field select,.field textarea{width:100%;min-height:50px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);padding:10px 14px}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px var(--green-soft)}
.choices{display:grid;gap:10px}
.choice{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;border:1.5px solid var(--line);background:var(--surface);font-weight:700}
.choice .ico{font-size:28px;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--bg);flex:none}
.choice small{display:block;font-weight:500;color:var(--muted)}
.choice[aria-pressed="true"]{border-color:var(--green);background:var(--green-soft)}
.choice:focus-visible{outline:3px solid var(--sun)}
.pw{position:relative}
.pw input{padding-right:52px}
.pw button{all:unset;cursor:pointer;position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:var(--muted)}
.pw button:focus-visible{outline:3px solid var(--sun)}
.err{color:var(--danger);font-weight:600;font-size:15px}

/* Écran centré (connexion, questionnaire) */
.center{min-height:calc(100vh - 140px);display:grid;place-items:start center;padding-block:40px}
.panel{width:100%;max-width:520px;background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow);display:grid;gap:18px}
.panel h1{font-size:32px}
.progress-dots{display:flex;gap:6px}
.progress-dots span{height:6px;flex:1;border-radius:6px;background:var(--line)}
.progress-dots span.on{background:var(--green)}

/* Espace connecté */
.app-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--surface);border-bottom:1px solid var(--line)}
.app-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.tabs{display:flex;gap:4px}
.tabs button{all:unset;cursor:pointer;display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;font-weight:700;color:var(--muted)}
.tabs button[aria-current="true"]{background:var(--green-soft);color:var(--ink)}
.tabs button:focus-visible{outline:3px solid var(--sun)}
.tabs svg{width:20px;height:20px}
.app-main{padding-block:24px 110px}
.hello{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px}
.hello h1{font-size:clamp(28px,4vw,38px);font-weight:800}
.streak{display:inline-flex;align-items:center;gap:6px;background:var(--cream);padding:6px 12px;border-radius:999px;font-weight:700;font-size:15px}
.dash{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-width:0;display:grid;gap:12px;align-content:start}
.card h2{font-size:21px;font-weight:700}
.card .head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.c-count{grid-column:span 5;background:var(--green);color:var(--green-ink);border:none}
.c-count .big{font-family:var(--display);font-size:72px;font-weight:800;line-height:.95;font-variant-numeric:tabular-nums}
.c-count .eyebrow{color:inherit;opacity:.8}
.c-count .bar{height:10px;border-radius:10px;background:rgba(255,255,255,.25);overflow:hidden}
.c-count .bar span{display:block;height:100%;background:var(--sun);border-radius:10px}
.c-baby{grid-column:span 7;background:var(--sky);border:none}
.baby-row{display:flex;gap:18px;align-items:center}
.baby-emoji{font-size:64px;width:96px;height:96px;border-radius:28px;background:var(--surface);display:grid;place-items:center;flex:none}
.baby-row b{font-family:var(--display);font-size:26px;line-height:1.15;display:block}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{all:unset;cursor:pointer;padding:6px 12px;border-radius:999px;font-size:14px;font-weight:700;background:var(--surface);border:1px solid var(--line)}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.seg button:focus-visible{outline:3px solid var(--sun)}
.c-quote{grid-column:span 12;background:var(--cream);border:none;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px}
.c-quote .q{font-family:var(--display);font-size:clamp(20px,2.4vw,26px);font-weight:600;line-height:1.25}
.c-quote .qm{font-family:var(--display);font-size:72px;line-height:.6;color:var(--sun);font-weight:800}
.c-tasks{grid-column:span 7;grid-row:span 2}
.c-role{grid-column:span 5;background:var(--green-soft);border:none}
.c-defi{grid-column:span 5}
.c-weeks{grid-column:span 12;background:var(--sky);border:none}
.c-blues{grid-column:span 12;background:var(--surface)}
.c-lock{grid-column:span 6;background:var(--cream);border:none}
.task{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;border-radius:16px;background:var(--bg)}
.task .t{font-weight:700;overflow-wrap:anywhere}
.task .d{font-size:15px;color:var(--muted)}
.task.done .t{text-decoration:line-through;color:var(--muted)}
.check{all:unset;cursor:pointer;width:30px;height:30px;border-radius:10px;border:2px solid var(--green);display:grid;place-items:center;flex:none;background:var(--surface);color:var(--green-ink);font-weight:800}
.check[aria-pressed="true"]{background:var(--green)}
.check:focus-visible{outline:3px solid var(--sun)}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.pill{font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);white-space:nowrap}
.pill.rdv{background:var(--sky);border-color:transparent}
.pill.dem{background:var(--cream);border-color:transparent}
.pill.ach{background:var(--green-soft);border-color:transparent}
.pill.org{background:var(--bg)}
.pill.late{background:var(--danger-bg);color:var(--danger);border-color:transparent}
.pill.p-Papa{background:var(--sky);border-color:transparent}
.pill.p-Maman{background:var(--cream);border-color:transparent}
.pill.p-Couple,.pill.p-Tous{background:var(--green-soft);border-color:transparent}
.when{font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.progress{display:grid;gap:6px}
.progress .bar{height:10px;border-radius:10px;background:var(--line);overflow:hidden}
.progress .bar span{display:block;height:100%;background:var(--green);border-radius:10px;transition:width .4s}
.defi-text{font-family:var(--display);font-size:22px;font-weight:600;line-height:1.25}
.locked{position:relative}
.lock-note{display:flex;gap:12px;align-items:center;padding:14px;border-radius:16px;background:var(--cream)}
.lock-note b{display:block}
.banner-soft{background:var(--sky);border-radius:16px;padding:14px 16px;font-size:15px}

/* Calendrier */
.cal-tools{display:grid;gap:12px;margin-bottom:18px}
.month{margin-top:26px}
.month h2{font-size:22px;font-weight:800;margin-bottom:10px;display:flex;gap:10px;align-items:baseline}
.month h2 small{font-family:var(--body);font-size:14px;color:var(--muted);font-weight:600}
.cal-list{display:grid;gap:10px}
.cal-item{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px}
.cal-item.done{opacity:.72}
.cal-item.done .t{text-decoration:line-through}
.cal-item .t{font-weight:700;font-size:17px}
.cal-item details{margin-top:6px}
.cal-item summary{cursor:pointer;color:var(--green);font-weight:700;font-size:15px}
.cal-item .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cal-date{font-family:var(--display);text-align:center;width:56px;border-radius:14px;background:var(--bg);padding:6px 0;line-height:1.05;flex:none;align-self:start}
.cal-date b{display:block;font-size:24px;font-weight:800}
.cal-date small{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--muted)}
.paywall{margin-top:16px;border-radius:24px;padding:24px;background:var(--cream);display:grid;gap:12px;text-align:left}
.paywall h3{font-size:24px}
.blur{filter:blur(4px);pointer-events:none;user-select:none;opacity:.7}

/* Compte */
.acc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.plans{display:grid;gap:10px}
.plan{all:unset;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface)}
.plan[aria-pressed="true"]{border-color:var(--green);background:var(--green-soft)}
.plan:focus-visible{outline:3px solid var(--sun)}
.plan b{font-family:var(--display);font-size:19px}
.confirm{background:var(--danger-bg);border-radius:14px;padding:14px;display:grid;gap:10px}

/* Admin */
.adm{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}
.adm-nav{position:sticky;top:90px;display:grid;gap:14px}
.adm-nav h3{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-family:var(--body);font-weight:800;margin:0 10px 4px}
.adm-nav .grp{display:grid;gap:2px}
.adm-nav button{all:unset;cursor:pointer;display:flex;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:12px;font-weight:600;font-size:15px}
.adm-nav button:hover{background:var(--green-soft)}
.adm-nav button[aria-current="true"]{background:var(--green);color:var(--green-ink)}
.adm-nav button:focus-visible{outline:3px solid var(--sun)}
.adm-nav .n{font-size:12px;opacity:.75;font-variant-numeric:tabular-nums}
.adm-mob{display:none}
.adm-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px}
.adm-head h1{font-size:clamp(26px,3.5vw,36px);font-weight:800}
.adm-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0 12px}
.search{flex:1 1 220px;min-width:0;position:relative}
.search input{width:100%;min-height:46px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);padding:0 16px 0 42px}
.search svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--muted)}
.rec-list{display:grid;gap:8px}
.rec{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 16px}
.rec:hover{border-color:var(--green)}
.rec:focus-visible{outline:3px solid var(--sun)}
.rec .lead{font-family:var(--display);font-weight:700;font-size:14px;min-width:62px;text-align:center;padding:6px 8px;border-radius:10px;background:var(--green-soft);font-variant-numeric:tabular-nums;white-space:nowrap}
.rec .lead.neg{background:var(--sky)}
.rec .t{font-weight:700;overflow-wrap:anywhere}
.rec .d{color:var(--muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px}
.stat span{font-size:13px;color:var(--muted);font-weight:700}
.stat b{display:block;font-family:var(--display);font-size:32px;font-weight:800;font-variant-numeric:tabular-nums}
.tag-ex{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:var(--cream);padding:3px 8px;border-radius:6px;vertical-align:middle}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:12px}
.tile{all:unset;box-sizing:border-box;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:700}
.tile:hover{border-color:var(--green)}
.tile:focus-visible{outline:3px solid var(--sun)}
.tile span{font-family:var(--display);font-size:22px;color:var(--green);font-variant-numeric:tabular-nums}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:15px}
th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}

/* Panneau latéral d'édition */
.scrim{position:fixed;inset:0;background:rgba(8,14,18,.45);opacity:0;pointer-events:none;transition:opacity .2s;z-index:40}
.scrim.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;top:0;right:0;bottom:0;width:min(540px,100%);background:var(--surface);box-shadow:var(--shadow);transform:translateX(105%);transition:transform .25s ease;display:flex;flex-direction:column;z-index:41;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.sheet.open{transform:none}
.sheet header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}
.sheet header h2{font-size:22px}
.sheet .body{padding:20px 22px;overflow:auto;flex:1;display:grid;gap:16px;align-content:start}
.sheet footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:14px 22px;border-top:1px solid var(--line)}
.x{all:unset;cursor:pointer;width:42px;height:42px;display:grid;place-items:center;border-radius:999px}
.x:hover{background:var(--bg)}
.x:focus-visible{outline:3px solid var(--sun)}

.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px);background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:999px;font-weight:700;opacity:0;transition:.2s;pointer-events:none;z-index:60;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.confetti{position:fixed;inset:0;pointer-events:none;z-index:70}

/* Barre d'onglets du bas (téléphone) */
.bottom-tabs{display:none}

@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr}
  .hero-card{transform:none}
  .steps,.spaces,.prices{grid-template-columns:1fr}
  .dash>.card{grid-column:span 12}
  .acc{grid-template-columns:1fr}
  .adm{grid-template-columns:1fr}
  .adm-nav{display:none}
  .adm-mob{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:8px;scrollbar-width:none}
  .adm-mob::-webkit-scrollbar{display:none}
  .adm-mob button{all:unset;cursor:pointer;white-space:nowrap;padding:8px 13px;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:14px;background:var(--surface)}
  .adm-mob button[aria-current="true"]{background:var(--green);color:var(--green-ink);border-color:var(--green)}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  body{font-size:17px}
  .wrap{padding-inline:16px}
  .pub-nav{display:none}
  .burger{display:grid}
  .mob-menu.open{display:grid;gap:4px;padding:8px 16px 16px;border-top:1px solid var(--line)}
  .mob-menu a,.mob-menu button{display:flex;align-items:center;min-height:48px;font-weight:700;color:var(--ink);text-decoration:none}
  .hero{padding-block:32px 24px}
  .sec{padding-block:40px}
  .hero .row .btn,.price .btn{width:100%}
  .tabs{display:none}
  .bottom-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))}
  .bottom-tabs button{all:unset;cursor:pointer;display:grid;justify-items:center;gap:2px;padding:6px 0;font-size:12px;font-weight:700;color:var(--muted);border-radius:12px}
  .bottom-tabs button[aria-current="true"]{color:var(--green)}
  .bottom-tabs button:focus-visible{outline:3px solid var(--sun)}
  .bottom-tabs svg{width:24px;height:24px}
  .c-count .big{font-size:60px}
  .baby-emoji{width:78px;height:78px;font-size:50px}
  .c-quote{grid-template-columns:1fr}
  .c-quote .qm{display:none}
  .panel{padding:22px;border-radius:24px}
  .center{padding-block:20px}
  .task{grid-template-columns:auto minmax(0,1fr)}
  .task .when{grid-column:2}
  .cal-item .acts .btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Étape 2 : couple, prénoms, badges */
.pill.qui{background:var(--surface);border-color:var(--green);color:var(--green)}
.jalon{background:rgba(255,255,255,.16);border-radius:12px;padding:8px 12px;font-weight:700}
.c-duo{all:unset;box-sizing:border-box;cursor:pointer;grid-column:span 12;display:flex;align-items:center;gap:14px;background:var(--surface);border:1.5px dashed var(--green);border-radius:var(--radius);padding:16px 20px}
.c-duo:hover{background:var(--green-soft)}
.c-duo:focus-visible{outline:3px solid var(--sun)}
.avatars{display:inline-flex;flex:none}
.avatars i{font-style:normal;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:800;background:var(--sky);color:var(--ink);border:3px solid var(--surface)}
.avatars i.b{background:var(--cream);margin-left:-10px}
.c-badges{grid-column:span 12}
.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.badge{display:grid;gap:2px;justify-items:start;padding:12px;border-radius:16px;background:var(--bg);color:var(--muted)}
.badge .be{font-size:28px;filter:grayscale(1);opacity:.6}
.badge b{color:var(--ink);font-size:15px}
.badge.on{background:var(--cream);color:var(--ink)}
.badge.on .be{filter:none;opacity:1}
.c-invite{grid-column:span 6}
.c-names{grid-column:span 12}
.c-qui{grid-column:span 12}
.c-duo-stats{grid-column:span 12}
.duo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.duo>div{display:grid;justify-items:start;gap:4px}
.duo b{font-family:var(--display);font-size:36px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.code{font-family:var(--display);font-size:40px;font-weight:800;letter-spacing:.18em;background:var(--cream);border-radius:16px;padding:12px 18px;justify-self:start}
.namecard{display:grid;justify-items:center;gap:10px;text-align:center;padding:28px 16px;border-radius:24px;background:linear-gradient(160deg,var(--sky),var(--green-soft))}
.namecard b{font-family:var(--display);font-size:clamp(44px,8vw,64px);font-weight:800;letter-spacing:-.02em;line-height:1}
.sub{font-size:18px;margin-top:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.namechip{padding:6px 14px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-weight:700}
.namechip.match{background:var(--cream);border-color:transparent}
.qui-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:16px;background:var(--bg)}
.qui-row .t{font-weight:700}
@media (max-width:900px){ .c-invite{grid-column:span 12} }
@media (max-width:720px){ .qui-row{grid-template-columns:1fr} .duo b{font-size:30px} .code{font-size:32px} }

/* Étape 3 : liste de naissance */
.c-list{all:unset;box-sizing:border-box;cursor:pointer;grid-column:span 12;display:flex;align-items:center;gap:14px;background:var(--cream);border-radius:var(--radius);padding:18px 20px}
.c-list:focus-visible{outline:3px solid var(--sun)}
.c-list .li-ico{font-size:34px;width:56px;height:56px;border-radius:16px;background:var(--surface);display:grid;place-items:center;flex:none}
.tabs-l{margin-top:4px}
.tabs-l button{padding:9px 16px;font-size:15px}
.gifts{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.gift{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.gift-pic{position:relative;aspect-ratio:4/3;max-width:100%;background:var(--sky);display:grid;place-items:center;font-size:64px}
.gift:nth-child(3n+2) .gift-pic{background:var(--green-soft)}
.gift:nth-child(3n) .gift-pic{background:var(--cream)}
.gift-pic img{width:100%;height:100%;object-fit:cover}
.gift-body{padding:14px 16px 16px;display:grid;gap:8px;align-content:start;flex:1}
.gift-body h3{font-size:18px;font-weight:700;overflow-wrap:anywhere}
.gift.is-offert .gift-pic>img,.gift.is-offert .gift-pic>span:first-child{opacity:.45}
.stamp{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-12deg);font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:.06em;text-transform:uppercase;color:var(--danger);border:4px solid var(--danger);border-radius:12px;padding:4px 16px;background:color-mix(in srgb,var(--surface) 70%,transparent)}
.heart{position:absolute;top:10px;left:10px;font-size:12px;font-weight:800;background:var(--surface);border-radius:999px;padding:4px 10px}
.offert-info{display:grid;gap:4px;background:var(--cream);border-radius:14px;padding:10px 12px}
.empty-list{display:grid;justify-items:center;gap:10px;text-align:center;padding:40px 20px;border:2px dashed var(--line);border-radius:24px}
.empty-list>span{font-size:56px}
.li-form{grid-column:span 7}
.c-idees{grid-column:span 5}
.c-idees + .c-idees{grid-column:span 5}
.namechip.add{cursor:pointer;font:inherit;font-weight:700;font-size:14px;color:var(--ink)}
.namechip.add:hover{border-color:var(--green)}
.namechip.add:focus-visible{outline:3px solid var(--sun)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.upload{display:flex;align-items:center;gap:12px;cursor:pointer;padding:10px;border:1.5px dashed var(--line);border-radius:14px;font-weight:600;font-size:22px}
.upload span{font-size:15px}
.upload img{width:64px;height:64px;object-fit:cover;border-radius:10px}
.upload:focus-within{outline:3px solid var(--sun)}
.dup{display:grid;gap:8px;background:var(--danger-bg);border-radius:14px;padding:14px}
.bookmarklet{display:inline-block;justify-self:start;background:var(--green);color:var(--green-ink);font-weight:800;padding:10px 16px;border-radius:999px;cursor:grab}
.c-share{grid-column:span 12}
.c-poster{grid-column:span 12}
.linkbox{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px;overflow-x:auto}
.linkbox code{font-size:15px;white-space:nowrap}
.poster-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.poster-out{display:grid;gap:8px}
.poster-out img{width:100%;max-width:340px;aspect-ratio:2/3;border-radius:12px;box-shadow:var(--shadow);background:var(--bg)}
.swatches{display:flex;gap:10px}
.swatch{all:unset;cursor:pointer;width:40px;height:40px;border-radius:50%;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.swatch[aria-pressed="true"]{box-shadow:0 0 0 3px var(--ink)}
.swatch:focus-visible{outline:3px solid var(--sun)}
.preview-bar{background:var(--ink);color:var(--bg);padding:10px 0;position:sticky;top:env(safe-area-inset-top,0px);z-index:20}
.preview-bar .wrap{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;font-size:15px}
.pub-list{padding-block:32px 64px}
.pl-hero{display:grid;justify-items:center;text-align:center;gap:10px;padding:28px 20px 32px;border-radius:32px;background:linear-gradient(170deg,var(--cream),var(--sky));margin-bottom:24px}
.pl-emoji{font-size:56px}
.pl-hero h1{font-size:clamp(34px,6vw,56px);font-weight:800}
.pl-msg{max-width:52ch;font-size:18px}
.howto{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;counter-reset:h}
.howto li{counter-increment:h;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;font-size:15px;display:flex;gap:10px;align-items:center}
.howto li::before{content:counter(h);font-family:var(--display);font-weight:800;width:30px;height:30px;border-radius:10px;background:var(--sun);color:var(--sun-ink);display:grid;place-items:center;flex:none}
.gift-mini{display:flex;align-items:center;gap:12px;background:var(--bg);border-radius:14px;padding:10px}
.gift-mini span{width:56px;height:56px;border-radius:12px;background:var(--sky);display:grid;place-items:center;font-size:30px;overflow:hidden;flex:none}
.gift-mini img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){ .li-form,.c-idees,.c-idees + .c-idees,.c-list{grid-column:span 12} .poster-grid{grid-template-columns:1fr} }
@media (max-width:720px){ .howto{grid-template-columns:1fr} .grid-2{grid-template-columns:1fr} .gifts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px} .gift-body{padding:12px} .gift-body h3{font-size:16px} .gift-pic{font-size:46px} .stamp{font-size:20px;padding:2px 10px;border-width:3px} .bottom-tabs button{font-size:11px} }
.gift .btn{min-height:44px;padding:0 12px;font-size:15px;white-space:nowrap}

/* Étape 4 : outils de la naissance */
.c-contr{grid-column:span 7}
.c-tl,.c-soon{grid-column:span 5}
.c-carnet{grid-column:span 12}
.ct-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center}
.ct-btn{all:unset;box-sizing:border-box;cursor:pointer;width:190px;height:190px;border-radius:50%;background:var(--green);color:var(--green-ink);display:grid;place-content:center;text-align:center;gap:6px;box-shadow:0 0 0 10px var(--green-soft);font-weight:700}
.ct-btn b{font-family:var(--display);font-size:30px;font-variant-numeric:tabular-nums}
.ct-btn.on{background:var(--sun);color:var(--sun-ink);box-shadow:0 0 0 10px var(--cream);animation:pulse 1.6s ease-in-out infinite}
.ct-btn:focus-visible{outline:3px solid var(--ink)}
@keyframes pulse{50%{box-shadow:0 0 0 18px var(--cream)}}
.ct-stats{display:grid;gap:12px}
.ct-stats div{display:grid}
.ct-stats b{font-family:var(--display);font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}
.sel{user-select:all;font-weight:700}
.tl-clock{font-family:var(--display);font-size:64px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;text-align:center;padding:10px 0}
.cb-btns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cb-btn{all:unset;box-sizing:border-box;cursor:pointer;display:grid;justify-items:center;gap:4px;padding:16px 8px;border-radius:20px;font-weight:800;text-align:center;color:var(--ink)}
.cb-btn span{font-size:34px}
.cb-btn:focus-visible{outline:3px solid var(--sun)}
.recaps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.recap{display:grid;gap:2px;background:var(--bg);border-radius:16px;padding:12px 14px}
.dayer{display:flex;align-items:center;justify-content:center;gap:12px}
.dayer .x{font-size:28px;font-weight:800}
.dayer .x:disabled{opacity:.3;cursor:default}
.frise{display:grid;gap:6px}
.ev{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:52px 40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-radius:14px;background:var(--bg)}
.ev:hover{outline:1.5px solid var(--green)}
.ev:focus-visible{outline:3px solid var(--sun)}
.ev-t{font-weight:800;font-variant-numeric:tabular-nums}
.ev-i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:20px}
.ev-m{color:var(--muted);text-align:right}
.ini{font-style:normal;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--cream);color:var(--ink);font-weight:800;font-size:12px}
.running{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:var(--cream);border-radius:16px;padding:10px 14px;font-weight:700}
.running b{font-family:var(--display);font-size:22px;font-variant-numeric:tabular-nums}
.segl{position:relative;cursor:pointer}
.segl input{position:absolute;opacity:0;pointer-events:none}
.segl span{display:inline-block;padding:8px 13px;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:15px;background:var(--surface)}
.segl input:checked + span{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.segl input:focus-visible + span{outline:3px solid var(--sun)}
.night{--bg:#0E151A;--surface:#152028;--ink:#E2EAE5;--muted:#93A2AC;--line:#24323C;--green:#4FAE9F;--green-ink:#0B1519;--green-soft:#183330;--cream:#33291A;--sky:#1A2635;background:var(--surface);color:var(--ink);border-color:var(--line)}
.bb-list{display:grid;gap:12px;max-width:760px}
.bb h2{font-size:22px}
.bb-help{background:var(--cream);border:none}
.telnum{font-weight:800;white-space:nowrap}
.c-feel{grid-column:span 12;background:var(--sky);border:none}
.c-night{grid-column:span 12;background:var(--ink);color:var(--bg);border:none}
.c-night .link{color:var(--sun)}
.c-night .eyebrow{color:inherit;opacity:.8}
@media (max-width:900px){ .c-contr,.c-tl,.c-soon{grid-column:span 12} }
@media (max-width:720px){ .ct-main{grid-template-columns:1fr;justify-items:center} .ct-stats{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;text-align:center} .ct-stats b{font-size:24px} .cb-btns{grid-template-columns:repeat(2,minmax(0,1fr))} .ev{grid-template-columns:46px 36px minmax(0,1fr)} .ev-m{grid-column:3;text-align:left} .tl-clock{font-size:54px} }

/* Étape 5 : journal, révélation, premières fois, débloquer */
.hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.hub-i{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:2px;padding:16px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.hub-i span{font-size:30px}
.hub-i small{color:var(--muted);font-size:14px}
.hub-i:hover{border-color:var(--green)}
.hub-i:focus-visible{outline:3px solid var(--sun)}
.c-mini{all:unset;box-sizing:border-box;cursor:pointer;grid-column:span 4;display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.c-mini>span:first-child{font-size:30px;width:52px;height:52px;border-radius:16px;background:var(--bg);display:grid;place-items:center;flex:none}
.c-mini:hover{border-color:var(--green)}
.c-mini:focus-visible{outline:3px solid var(--sun)}
.faces{display:flex;gap:8px;flex-wrap:wrap}
.face{cursor:pointer;position:relative}
.face input{position:absolute;opacity:0}
.face span{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;font-size:32px;background:var(--bg);border:2px solid transparent}
.face input:checked + span{border-color:var(--green);background:var(--green-soft);transform:scale(1.08)}
.face input:focus-visible + span{outline:3px solid var(--sun)}
.c-jform{grid-column:span 7}
.c-jpast{grid-column:span 5}
.c-jduo{grid-column:span 12}
.jduo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.jcard{display:grid;gap:6px;background:var(--bg);border-radius:16px;padding:12px 14px;text-align:left}
.jc-head{display:flex;gap:10px;align-items:center}
.jc-face{font-size:28px}
.jc-ph{width:48px;height:48px;border-radius:10px;object-fit:cover;margin-left:auto}
.jbtn{all:unset;box-sizing:border-box;cursor:pointer;display:block;border-radius:16px}
.jbtn:hover .jcard{outline:1.5px solid var(--green)}
.jbtn:focus-visible{outline:3px solid var(--sun)}
.souvenir{max-width:760px;display:grid;gap:12px;background:var(--surface);border-radius:24px;padding:28px}
.souvenir h1{font-size:40px}
.ideas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.idea h2{font-size:20px}
.c-pr{grid-column:span 6}
.teams{display:flex;gap:6px;margin:6px 0}
.team{border-radius:12px;padding:10px 12px;font-weight:800;min-width:max-content}
.team.f{background:#F9D3E1;color:#5A1F35}
.team.g{background:#D3E5F7;color:#163A5C}
.podium{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.podium li{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;background:var(--cream);border-radius:14px;padding:10px 14px}
.podium li span:first-child{font-size:30px;grid-row:span 2}
.jourj{max-width:680px}
.rv-overlay{position:fixed;inset:0;z-index:65;background:var(--ink);color:var(--bg);display:grid;place-content:center;justify-items:center;gap:28px;text-align:center;padding:24px}
.rv-n{font-family:var(--display);font-size:min(50vw,320px);font-weight:800;line-height:1;animation:pop .9s ease}
.rv-res{font-family:var(--display);font-size:clamp(44px,9vw,110px);font-weight:800;line-height:1.05;animation:pop .9s ease}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.kit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.kcard{background:#fff;color:#1C2633;border:2px dashed #DDE3DA;border-radius:18px;padding:20px;display:grid;gap:10px;align-content:start}
.kt{font-family:var(--display);font-size:26px}
.kl{display:flex;gap:8px;align-items:flex-end;font-weight:600}
.kl i{flex:1;border-bottom:1.5px solid #1C2633;height:1em}
.kconf{background:#FFEFC2}
.kteam{min-height:140px;place-content:center;text-align:center;font-family:var(--display);font-size:34px;font-weight:800;color:#fff;border:none}
.timeline{display:grid;gap:12px;max-width:760px}
.ff{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:12px}
.ff img{width:120px;height:120px;object-fit:cover;border-radius:14px}
.ff-ico{width:120px;height:120px;border-radius:14px;background:var(--cream);display:grid;place-items:center;font-size:48px}
.ff b{font-family:var(--display);font-size:20px}
.unlock{max-width:560px;margin:0 auto;display:grid;gap:14px;justify-items:center;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:28px}
.un-logo svg{width:84px;height:84px;color:var(--ink);background:var(--bg);border-radius:24px}
.unlock h1{font-size:34px}
.un-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;text-align:left;justify-self:stretch}
.un-list li{display:flex;gap:10px}
.un-list li::before{content:"✓";color:var(--green);font-weight:800}
.un-plans{display:grid;grid-template-columns:1fr 1fr;gap:10px;justify-self:stretch}
.un-plan{display:grid;gap:2px;border:1.5px solid var(--line);border-radius:16px;padding:12px}
.un-plan.best{border-color:var(--green);background:var(--green-soft)}
.un-plan b{font-family:var(--display);font-size:20px}
@media (max-width:900px){ .c-mini,.c-jform,.c-jpast,.c-pr{grid-column:span 12} }
@media (max-width:720px){ .hub{grid-template-columns:1fr} .hub-i{grid-template-columns:auto 1fr;align-items:center;column-gap:12px} .hub-i span{grid-row:span 2} .jduo,.kit{grid-template-columns:1fr} .ff{grid-template-columns:84px minmax(0,1fr)} .ff img,.ff-ico{width:84px;height:84px} .un-plans{grid-template-columns:1fr} }
@media print{ .noprint,.app-head,.bottom-tabs,.demo-bar,.toast,.hub{display:none!important} body{background:#fff} .app-main{padding:0} }
.rv-overlay .btn.ghost{color:var(--bg);border-color:rgba(255,255,255,.5)}

/* Étape 5b : touches magiques */
.c-party{grid-column:span 12;background:linear-gradient(120deg,var(--cream),var(--green-soft));border:none}
.c-a2hs{grid-column:span 12;background:var(--sky);border:none}
.sac-i{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--bg);cursor:pointer;font-weight:600}
.sac-i input{width:22px;height:22px;accent-color:var(--green);flex:none}
.sac-i input:checked + span{text-decoration:line-through;color:var(--muted)}
.affil{display:grid;gap:4px;justify-items:start;margin-top:10px;padding:12px;border-radius:14px;background:var(--bg)}
.books{display:grid;gap:14px;max-width:820px}
.book{grid-template-columns:150px minmax(0,1fr);align-items:start;gap:18px}
.cover{aspect-ratio:2/3;max-width:100%;border-radius:10px 16px 16px 10px;padding:14px;display:grid;align-content:space-between;color:#fff;box-shadow:inset 8px 0 0 rgba(0,0,0,.15)}
.cover b{font-family:var(--display);font-size:18px;line-height:1.1}
.cover span{font-size:12px;font-weight:700;opacity:.9}
.cover.c0{background:var(--brand)}.cover.c1{background:#D9694A}.cover.c2{background:#4C79B5}
@media (max-width:720px){ .book{grid-template-columns:100px minmax(0,1fr)} }
.legal{max-width:760px;display:grid;gap:8px}
.legal h2{font-size:20px;margin-top:14px}
.legal p{color:var(--ink)}
.app-main .foot{margin-top:48px}

/* Nouveautés V2 */
.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer}
.switch input{width:24px;height:24px;accent-color:var(--green);flex:none}
.qdn-r{display:grid;gap:4px;padding:10px 12px;border-radius:14px;background:var(--bg)}
.qdn-r.ok{background:var(--green-soft)}
.quiz{max-width:680px}
.quiz-o{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;padding:14px 16px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface);font-weight:700}
.quiz-o:hover:not(:disabled){border-color:var(--green)}
.quiz-o:focus-visible{outline:3px solid var(--sun)}
.quiz-o.good{background:var(--green-soft);border-color:var(--green)}
.quiz-o.bad{background:var(--danger-bg);border-color:var(--danger)}
.capsule{grid-template-columns:auto minmax(0,1fr);align-items:start}
.capsule .cap-ico{font-size:34px}
.capsule.open{background:var(--cream);border:none}
.recap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.rc{justify-items:start}
.rc>span:first-child{font-size:30px}
.rc b{font-family:var(--display);font-size:36px;font-weight:800;line-height:1}

/* Installer l'appli */
.isteps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ist{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}
.ist-n{font-family:var(--display);font-weight:800;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--sun);color:var(--sun-ink)}
.kbd{display:inline-block;padding:1px 8px;border-radius:8px;border:1px solid var(--line);background:var(--bg);font-weight:700}
/* Biberon express */
.c-express{grid-column:span 7}
.c-express + .c-express{grid-column:span 5}
.c-express .stack{margin-top:10px}
.btn.big{min-height:64px;font-size:1.15rem;width:100%}
.ex-lasts{display:grid;gap:6px;margin:12px 0}
.ex-last{display:flex;flex-direction:column;background:var(--green-soft);border-radius:12px;padding:8px 12px;font-size:.92rem}
@media (max-width:900px){ .c-express,.c-express + .c-express{grid-column:span 12} }
/* Fil de la journée & personnes qui gardent */
.c-fil{grid-column:span 12}
.fil-form textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;background:var(--surface);resize:vertical}
.fil-photo{cursor:pointer}
.fil{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:12px 0}
.fil-post{border:1.5px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);display:flex;flex-direction:column}
.fil-post img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.fil-post p{margin:10px 12px 0}
.fil-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px 10px;margin-top:auto}
.gardien{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}
/* Bandeau nouveautés / mise à jour */
.news-bar{background:var(--green-soft);border-bottom:1px solid var(--line);font-size:.95rem}
.news-bar.upd{background:#fff4d6}
.news-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;padding-bottom:8px}
.card.news.fresh{border-color:var(--green)}
.card.news h3{margin:0 0 6px}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .news-bar.upd{background:#3a3220} }
/* Magasins près de moi */
.chip{border:1.5px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font:inherit;font-size:.9rem;cursor:pointer;color:inherit}
.chip.on{background:var(--green-soft);border-color:var(--green);font-weight:700}
.card.mag{display:grid;gap:10px}
:root[data-theme="dark"] .news-bar.upd{background:#3a3220}
/* Mode nuit, une main : lumière ambre (ou rouge), gros boutons en bas, à portée de pouce */
.nuit{--n-bg:#070403;--n-fg:#FFB36B;--n-dim:#B9824E;--n-card:#160C05;--n-line:#3A2410;--n-hi:#2E1A09;--n-act:#4A2A0E;
  position:fixed;inset:0;z-index:50;background:var(--n-bg);color:var(--n-fg);display:flex;flex-direction:column;gap:10px;
  padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));overflow-y:auto;font-family:var(--body)}
.nuit.rouge{--n-fg:#FF6A55;--n-dim:#B5483A;--n-card:#140604;--n-line:#3A120C;--n-hi:#2A0B07;--n-act:#4A160E;filter:brightness(.85)}
.nuit button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.n-top{display:flex;justify-content:space-between;align-items:center}
.n-clock{font-family:var(--display);font-size:46px;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.n-tools{display:flex;gap:8px}
.n-tools button{width:46px;height:46px;border-radius:50%;background:transparent;border:1px solid var(--n-line);font-size:20px}
.n-tools button[aria-pressed="true"]{background:var(--n-act)}
.n-relais{color:var(--n-dim);font-size:15px}
.n-relais b{color:var(--n-fg)}
.n-tiles{display:grid;gap:8px}
.n-tiles.two{grid-template-columns:1fr 1fr}
.n-tile{display:grid;gap:4px;text-align:left;background:var(--n-card);border:1.5px solid var(--n-line);border-radius:18px;padding:12px;opacity:.55}
.n-tile.on{opacity:1;border-color:var(--n-fg)}
.n-tile-h{display:flex;justify-content:space-between;font-size:19px}
.n-tile-h i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--n-fg);color:var(--n-bg);display:grid;place-items:center;font-size:13px;font-weight:800}
.n-l{font-size:14px;color:var(--n-dim)}
.n-l b{color:var(--n-fg);font-variant-numeric:tabular-nums}
.n-run{color:var(--n-fg)}
.n-spacer{flex:1;min-height:4px}
.n-undo{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--n-hi);border:1px solid var(--n-line);border-radius:14px;padding:10px 12px;font-size:15px}
.n-undo button{background:var(--n-fg);color:var(--n-bg);border:0;border-radius:999px;padding:8px 14px;font-weight:800}
.n-ml{display:flex;align-items:center;justify-content:center;gap:14px}
.n-ml button{width:62px;height:62px;border-radius:50%;background:var(--n-card);border:1.5px solid var(--n-line);font-size:30px;line-height:1}
.n-ml b{font-family:var(--display);font-size:52px;font-weight:800;min-width:150px;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.n-ml small{font-size:18px;margin-left:4px;color:var(--n-dim)}
.n-chips{display:flex;justify-content:center;gap:8px}
.n-chips button{background:transparent;border:1px solid var(--n-line);border-radius:999px;padding:6px 14px;font-weight:700}
.n-chips button[aria-pressed="true"]{background:var(--n-act);border-color:var(--n-fg)}
.n-main{min-height:96px;border-radius:26px;background:var(--n-act);border:1.5px solid var(--n-fg);font-size:28px;font-weight:800;display:grid;place-items:center;align-content:center;gap:2px}
.n-main small{font-size:14px;font-weight:600;color:var(--n-dim)}
.n-main:active,.n-row3 button:active,.n-tile:active{transform:scale(.97)}
.n-row3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.n-row3 button{min-height:76px;border-radius:20px;background:var(--n-card);border:1.5px solid var(--n-line);display:grid;place-items:center;align-content:center;gap:2px;font-size:24px}
.n-row3 button span{font-size:14px;font-weight:700}
.n-row3 .n-on{background:var(--n-act);border-color:var(--n-fg)}
.n-row3 .n-wide{grid-column:span 2}
.n-last{display:grid;gap:3px;font-size:13px;color:var(--n-dim);padding-top:4px;border-top:1px solid var(--n-line)}
.n-last b{color:var(--n-fg);font-variant-numeric:tabular-nums}
.n-auto{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--n-dim)}
.n-auto input{accent-color:var(--n-fg);width:18px;height:18px}
.nuit .toast{background:var(--n-act);color:var(--n-fg)}
.n-col{display:contents}
.n-desk{display:none}
/* Sur ordinateur et tablette : tout l'écran dans le noir, deux colonnes (bébé à gauche, gros boutons à droite) */
@media (min-width:900px){
  .nuit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:auto 1fr;column-gap:48px;row-gap:18px;padding:28px max(40px,calc((100vw - 1180px)/2)) 32px}
  .n-top{grid-column:1/-1}
  .n-col{display:flex;flex-direction:column;gap:12px;min-height:0}
  .n-col-r{justify-content:center}
  .n-spacer,.n-mob{display:none}
  .n-desk{display:flex;flex-direction:column;gap:12px;margin-top:auto}
  .n-tiles.two{grid-template-columns:1fr}
  .n-tile{padding:18px;gap:6px}.n-tile-h{font-size:22px}.n-l{font-size:16px}
  .n-clock{font-size:64px}
  .n-main{min-height:120px;font-size:32px}
  .n-row3 button{min-height:96px;font-size:28px}
  .n-last{font-size:15px}
}
/* Stock */
.stock-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.warn{color:#c2410c}
.conge-step{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--line)}
.conge-step small{color:var(--muted,#6b7280)}
/* Photo du jour & film */
.pj-today{width:100%;max-width:420px;border-radius:16px;display:block;margin:6px 0}
.pj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}
.pj{position:relative;padding:0;border:0;border-radius:10px;overflow:hidden;aspect-ratio:1;background:var(--line);cursor:pointer}
.pj img{width:100%;height:100%;object-fit:cover;display:block}
.pj span{position:absolute;left:6px;bottom:4px;color:#fff;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.film{position:fixed;inset:0;background:#000;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center}
.film img{max-width:100%;max-height:78vh;object-fit:contain}
.film-date{color:#fff;font-weight:800;font-size:1.3rem;margin-top:10px}
.film-bar{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));display:flex;gap:10px}
.film-out{position:absolute;top:max(18px,env(safe-area-inset-top))}
/* Lettres audio, coffre */
.audio-item{display:grid;gap:8px;padding:10px 0;border-top:1px solid var(--line)}
.audio-item audio{width:100%}
.rec-on{display:flex;align-items:center;gap:10px;font-size:1.1rem;margin:8px 0}
.rec-dot{width:14px;height:14px;border-radius:50%;background:#dc2626;animation:recb 1s infinite}
@keyframes recb{50%{opacity:.3}}
.namechip.on{background:var(--green-soft);border-color:var(--green)}
/* Album imprimable */
.album{display:grid;gap:18px}
.album-cover,.album-page{background:#fff;color:#1f2937;border-radius:18px;border:1px solid var(--line);padding:28px;text-align:center}
.album-cover{min-height:320px;display:flex;flex-direction:column;justify-content:center;gap:6px;background:#E8F3F1}
.album-cover h2{font-size:2.4rem;margin:0}.album-cover span{margin-top:18px;opacity:.6;font-size:.85rem}
.album-page img{max-width:100%;max-height:420px;border-radius:12px}
.album-ico{font-size:4rem}
.album-d{opacity:.7}
@media print{ .album{gap:0} .album-cover,.album-page{border:0;border-radius:0;page-break-after:always;break-after:page;min-height:90vh;display:flex;flex-direction:column;justify-content:center;align-items:center} .footer,footer,.news-bar{display:none!important} }
/* Tuto express */
.tuto{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100% - 32px));background:var(--surface,#fff);border-radius:24px;padding:28px 22px 20px;z-index:70;box-shadow:0 20px 60px rgba(0,0,0,.25);text-align:center}
.tuto-e{font-size:3.4rem;line-height:1}
.tuto h2{margin:12px 0 8px}
.tuto-dots{display:flex;justify-content:center;gap:6px;margin:16px 0}
.tuto-dots span{width:8px;height:8px;border-radius:50%;background:var(--line)}
.tuto-dots span.on{background:var(--green);width:22px;border-radius:999px}
/* Chat entre parents */
.charte{padding-left:4px;list-style:none;display:grid;gap:8px}
.chat-card{display:flex;flex-direction:column;gap:10px}
.chat-list{max-height:58vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px}
.msg{max-width:85%;background:var(--cream,#f6f1e7);border-radius:16px 16px 16px 4px;padding:8px 12px;align-self:flex-start}
.msg.me{align-self:flex-end;background:var(--green-soft);border-radius:16px 16px 4px 16px}
.msg.hid{opacity:.55}
.msg-h{font-size:.8rem}.msg-h span{opacity:.6}
.msg-t{white-space:pre-wrap;word-break:break-word}
.msg-a{margin-top:2px}
.chat-form{display:flex;gap:8px;align-items:flex-end}
.chat-form textarea{flex:1;border:1.5px solid var(--line);border-radius:14px;padding:10px;font:inherit;background:var(--surface);resize:none}
.msg-a .link{font-size:.75rem;opacity:.7;font-weight:600}
.chips.salons{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.chips.salons .namechip{white-space:nowrap;flex:none}
.histoire p{font-size:1.08rem;line-height:1.7}
/* Accueil public */
.trust{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.9rem;opacity:.85}
.sec.alt{background:var(--green-soft)}
.feat-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feat-col{background:var(--surface,#fff);border:1px solid var(--line);border-radius:20px;padding:18px}
.feat-col h3{margin:0 0 8px}
.feat-col ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:.95rem}
.nuit-demo{display:grid;gap:8px;max-width:720px}
.nuit-demo div{display:grid;grid-template-columns:64px 1fr;gap:10px;background:#140c05;color:#ffb36b;border-radius:14px;padding:12px 14px}
.nuit-demo b{font-variant-numeric:tabular-nums}
.cta-band{background:var(--green);color:#fff;text-align:center}
.cta-band h2{color:#fff}
@media (max-width:900px){ .feat-cols{grid-template-columns:1fr} }
/* Nous contacter */
.ct-item{border-top:1px solid var(--line);padding:12px 0;display:grid;gap:6px}
.ct-msg{white-space:pre-wrap;margin:0}
.ct-cap{max-width:180px;border-radius:10px;border:1px solid var(--line)}
.ct-rep{background:var(--green-soft);border-radius:12px;padding:10px 12px}.ct-rep p{margin:4px 0 0;white-space:pre-wrap}
.ct-item textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:8px;font:inherit;background:var(--surface)}
/* ===================== ACCUEIL PUBLIC (landing) ===================== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lp{--lp-sky:#DCE8FA;--lp-ink:#14213A;--lp-night:#140C05;--lp-amber:#FFB36B}
.lp-hero{background:var(--lp-sky);color:var(--lp-ink);padding-block:44px 64px;overflow:hidden}
.lp-hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.lp-for{font-weight:600;color:#3A4D6B;margin-bottom:14px}
.lp-h1{font-size:clamp(44px,6.2vw,80px);font-weight:800;line-height:.98;letter-spacing:-.035em}
.lp-h1>span{display:block}
.lp-date{display:inline-block;margin-top:.08em;position:relative}
.lp-date input{font:inherit;letter-spacing:-.03em;color:var(--green);background:transparent;border:0;border-bottom:.09em solid var(--sun);padding:0 .05em .02em;max-width:100%;min-width:5.5em;cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:0;min-height:1.1em}
.lp-date input:focus-visible{outline:none;background:rgba(242,181,65,.22)}
.lp-date input::-webkit-date-and-time-value{text-align:left}
.lp-date input::-webkit-calendar-picker-indicator{opacity:.6;width:.45em;height:.45em;cursor:pointer}
.lp-lead{font-size:clamp(18px,2vw,21px);margin-top:22px;max-width:36ch;color:#3A4D6B}
.lp-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.lp-opt{background:rgba(255,255,255,.6);border:1.5px solid rgba(20,33,58,.15);border-radius:999px;padding:9px 16px;font-weight:600;cursor:pointer;color:var(--lp-ink)}
.lp-opt[aria-pressed="true"]{background:var(--lp-ink);color:#fff;border-color:var(--lp-ink)}
/* Le plan : un billet de route, avec ses encoches */
.lp-plan{position:relative;background:#fff;color:var(--lp-ink);border-radius:26px;padding:26px 24px 24px;box-shadow:0 30px 60px -20px rgba(20,33,58,.35);transform:rotate(-1.4deg)}
.lp-plan::before,.lp-plan::after{content:"";position:absolute;top:64px;width:22px;height:22px;border-radius:50%;background:var(--lp-sky)}
.lp-plan::before{left:-11px}.lp-plan::after{right:-11px}
.lp-plan-k{font-weight:700;color:var(--green);padding-bottom:16px;margin-bottom:16px;border-bottom:2px dashed #D5DDE8}
.lp-ex{opacity:.62;filter:saturate(.7)}
.lp-ex .lp-plan-k{color:#6B7A90}
.lp-big{font-family:var(--display);font-weight:800;font-size:clamp(34px,4.4vw,52px);line-height:1;letter-spacing:-.03em}
.lp-size{display:flex;gap:12px;align-items:center;margin-top:16px;font-size:17px}
.lp-emo{flex:none;width:58px;height:58px;border-radius:18px;background:var(--cream);display:grid;place-items:center;font-size:32px}
.lp-themes{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.lp-themes button{border:1.5px solid #D5DDE8;background:#fff;border-radius:999px;padding:5px 11px;font-size:14px;font-weight:600;cursor:pointer;color:var(--lp-ink)}
.lp-themes button[aria-pressed="true"]{background:var(--sun);border-color:var(--sun)}
.lp-sub{font-weight:700;margin-top:20px}
.lp-missions{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}
.lp-missions li{display:grid;grid-template-columns:62px 1fr;gap:8px;padding:9px 12px;background:#F2F6FB;border-radius:12px;font-size:15px;line-height:1.35}
.lp-missions span{font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}
.lp-more{font-size:14px;color:#5A6B84;margin-top:10px}
.lp-keep{width:100%;margin-top:16px;min-height:54px;font-size:17px}
.lp-in{animation:lpStamp .55s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes lpStamp{from{opacity:0;transform:rotate(-6deg) scale(.92) translateY(14px)}to{opacity:1;transform:rotate(-1.4deg) scale(1)}}
/* La route : de « c'est positif » à 3 ans */
.lp-road{padding-block:64px 56px;background:var(--bg)}
.lp-road h2,.lp-sec h2,.lp-night h2,.lp-end h2{font-size:clamp(30px,4.2vw,46px);font-weight:800;max-width:22ch}
.lp-stops{list-style:none;margin:34px 0 0;padding:0 max(20px,calc((100vw - 1080px)/2 + 20px)) 18px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,250px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:max(20px,calc((100vw - 1080px)/2 + 20px));position:relative;scrollbar-width:thin}
.lp-stops li{scroll-snap-align:start;position:relative;padding-top:74px}
.lp-stops li::before{content:"";position:absolute;top:30px;left:0;right:-18px;border-top:3px dashed var(--green);opacity:.35}
.lp-stops li:last-child::before{right:50%}
.lp-stop-e{position:absolute;top:0;left:0;width:60px;height:60px;border-radius:50%;background:var(--surface);border:3px solid var(--green);display:grid;place-items:center;font-size:28px}
.lp-stops li:nth-child(5) .lp-stop-e{background:var(--lp-night);border-color:var(--lp-amber)}
.lp-stops h3{font-size:20px;font-weight:800}
.lp-stops p{color:var(--muted);margin-top:6px;font-size:15.5px}
/* La nuit */
.lp-night{background:var(--lp-night);color:var(--lp-amber);padding-block:72px}
.lp-night h2{color:var(--lp-amber)}
.lp-night p{margin-top:16px;font-size:18px;max-width:46ch;color:#E9C9A4}
.lp-night-in{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.lp-phone{justify-self:center;width:230px;height:430px;border-radius:38px;border:8px solid #2A1A0C;background:#000;padding:18px 14px;box-shadow:0 0 0 1px #3A2410,0 30px 80px -20px rgba(255,179,107,.25)}
.lp-phone-s{display:grid;gap:10px;height:100%;grid-template-rows:auto 1fr 1fr 1fr auto}
.lp-ph-h{font-weight:800;font-size:18px;opacity:.8}
.lp-ph-b{display:grid;place-items:center;border-radius:18px;background:#1C1007;border:1px solid #5A3A1E;font-weight:800;font-size:19px}
.lp-b1{background:#3A2210}
.lp-ph-n{font-size:12px;background:#2A1A0C;border-radius:12px;padding:8px 10px;line-height:1.35}
/* Le reste */
.lp-sec{padding-block:64px}
.lp-intro{color:var(--muted);margin-top:12px;max-width:56ch;font-size:18px}
.lp-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 36px;margin-top:36px}
.lp-feats>div{border-top:3px solid var(--ink);padding-top:14px}
.lp-feats h3{font-size:20px;font-weight:800}
.lp-feats p{color:var(--muted);margin-top:8px}
.lp-prices{background:var(--green-soft)}
.lp-end{background:var(--green);color:#fff;padding-block:72px;text-align:center}
.lp-end h2{color:#fff;margin-inline:auto;margin-bottom:24px}
.lp-end .btn{min-height:56px;font-size:18px;padding-inline:30px}
@media (max-width:900px){
  .lp-hero{padding-block:28px 48px}
  .lp-hero-in,.lp-night-in{grid-template-columns:1fr;gap:32px}
  .lp-feats{grid-template-columns:1fr}
  .lp-phone{width:200px;height:360px}
  .lp-plan{transform:rotate(-1deg)}
}
@media (prefers-reduced-motion:reduce){ .lp-in{animation:none} }
.logo b,.pub-nav a,.pub-nav .btn{white-space:nowrap}
.lp-hero-in{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr)}
#lp-plan{width:100%;max-width:440px;justify-self:end}
@media (max-width:900px){ .lp-hero-in{grid-template-columns:1fr} #lp-plan{justify-self:stretch;max-width:none} }
.lp-date{display:block;max-width:100%}
.lp-date input{width:min(100%,6.2em)}
/* Avis vérifiés */
.lp-avis{background:#FFF8E6}
.lp-stars{color:#E3A21A;letter-spacing:2px}
.lp-avis-score{font-size:19px;margin-top:10px}
.lp-avis-list{columns:3 280px;column-gap:22px;margin-top:28px}
.lp-avis-list figure{break-inside:avoid;margin:0 0 22px;background:#fff;border-radius:20px;padding:20px;border:1px solid #F1E2B8}
.lp-avis-list blockquote{margin:10px 0 12px;font-size:17px;line-height:1.5}
.lp-avis-list figcaption{font-size:14px;color:var(--muted)}
.lp-avis-note{margin-top:8px;max-width:70ch}
.avis-stars{display:flex;gap:4px}
.avis-stars button{all:unset;cursor:pointer;font-size:36px;line-height:1;color:#D8DEE6;padding:2px}
.avis-stars button[aria-pressed="true"]{color:#E3A21A}
.avis-stars button:focus-visible{outline:3px solid var(--sun);border-radius:6px}
/* Cloche des notifications */
.app-back{all:unset;cursor:pointer;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:var(--ink);margin-right:-4px}
.app-back svg{width:22px;height:22px}
.app-back:focus-visible{outline:3px solid var(--sun)}
.app-back:active{background:var(--green-soft)}
.app-fav{all:unset;cursor:pointer;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;font-size:21px;color:var(--muted);transition:transform .2s,color .2s}
.app-fav.on{color:#D9A21B}
.app-fav:focus-visible{outline:3px solid var(--sun)}
.app-fav:active{transform:scale(.88)}
.bell{all:unset;position:relative;margin-left:auto;order:3;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;font-size:22px;border-radius:12px}
.app-head .wrap .bell{margin-left:auto}
.bell:focus-visible{outline:3px solid var(--sun)}
.bell-n{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#E5484D;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;line-height:1}
.bell-n[hidden]{display:none}
.notif-item{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:var(--bg)}
.notif-item.new{background:var(--green-soft)}
.notif-item small{color:var(--muted)}
@media (min-width:901px){ .app-head .wrap{gap:18px} }
/* Admin membres */
.adm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:14px 0}
.adm-stats div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px}
.adm-stats b{display:block;font-family:var(--display);font-size:28px;font-weight:800}
.adm-stats span{font-size:13px;color:var(--muted)}
.adm-annonce input,.adm-annonce textarea,.adm-tools input,.sheet .card input,.sheet .card textarea,.sheet .card select{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--surface);font:inherit;min-height:42px}
.sheet .card .row select{width:auto}.sheet .card .row label input{width:auto}
.adm-tools{display:grid;gap:10px;margin:14px 0}
.adm-mrows{display:grid;gap:6px}
.adm-mrow{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer;font:inherit;color:inherit}
.adm-info{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:15px}
.adm-info span{color:var(--muted)}
/* Accueil : le téléphone qui raconte l'appli (un seul mouvement, en boucle) */
.lp-h1 br{display:block}
.lp-ctas{margin-top:26px}
.lp-cta{min-height:56px;font-size:18px;padding-inline:28px}
.lp-small{margin-top:14px;font-size:14px;color:#4A5D7A}
.lp-phone-wrap{display:grid;place-items:center}
.lp-ph{position:relative;width:280px;height:572px;border-radius:46px;background:#fff;border:10px solid #14213A;box-shadow:0 40px 80px -30px rgba(20,33,58,.55);overflow:hidden;transform:rotate(2deg)}
.lp-ph::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:90px;height:24px;border-radius:999px;background:#14213A;z-index:3}
.lp-scr{position:absolute;inset:0;padding:48px 18px 18px;display:flex;flex-direction:column;gap:10px;opacity:0;animation:lpCycle 16s infinite;font-size:14px;color:#14213A;background:#F7FAF8}
.lp-scr.s1{animation-delay:0s}.lp-scr.s2{animation-delay:4s}.lp-scr.s3{animation-delay:8s}.lp-scr.s4{animation-delay:12s}
@keyframes lpCycle{0%{opacity:0;transform:translateY(16px)}3%{opacity:1;transform:none}23%{opacity:1;transform:none}26%{opacity:0;transform:translateY(-10px)}100%{opacity:0}}
.lp-ph-k{font-weight:700;color:var(--brand)}
.lp-ph-big{font-family:var(--display);font-size:64px;font-weight:800;line-height:.9;letter-spacing:-.04em;color:var(--brand)}
.lp-ph-sm{color:#5B6672;margin-top:-6px}
.lp-ph-card{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #DDE3DA;border-radius:16px;padding:10px}
.lp-ph-card span{font-size:30px;width:48px;height:48px;border-radius:14px;background:var(--cream);display:grid;place-items:center;flex:none}
.lp-ph-task{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #DDE3DA;border-radius:12px;padding:9px 10px}
.lp-ph-task i{width:20px;height:20px;border-radius:50%;border:2px solid var(--brand);display:grid;place-items:center;font-style:normal;font-size:11px;color:#fff;flex:none}
.lp-ph-task i:not(:empty){background:var(--brand)}
.lp-ph-task b{color:var(--brand);min-width:52px}
.lp-ph-pill{margin-top:auto;background:var(--sun);border-radius:999px;padding:10px;text-align:center;font-weight:700}
.lp-scr.dark{background:#070403;color:#FFB36B}
.lp-scr.dark .lp-ph-k{color:#FFB36B;font-family:var(--display);font-size:34px;font-weight:800}
.lp-ph-tiles{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.lp-ph-tiles span{border:1.5px solid #FFB36B;border-radius:14px;padding:8px;display:grid;font-size:12px;background:#160C05}
.lp-ph-tiles b{font-size:15px}
.lp-ph-ml{text-align:center;font-family:var(--display);font-size:48px;font-weight:800;margin-top:auto}
.lp-ph-ml small{font-size:16px;margin-left:4px;color:#B9824E}
.lp-ph-bib{background:#4A2A0E;border:1.5px solid #FFB36B;border-radius:22px;min-height:76px;display:grid;place-items:center;font-size:22px;font-weight:800}
.lp-ph-ok{text-align:center;font-size:12px;color:#B9824E}
.lp-scr.s4{background:linear-gradient(#22324F,#14213A);color:#fff;align-items:stretch}
.lp-ph-time{font-family:var(--display);font-size:62px;font-weight:700;text-align:center;margin-top:20px;letter-spacing:-.02em}
.lp-ph-date{text-align:center;opacity:.8;margin-top:-8px}
.lp-ph-notif{margin-top:18px;background:rgba(255,255,255,.88);color:#14213A;border-radius:18px;padding:10px 12px;display:grid;gap:2px;font-size:13px}
.lp-ph-notif.n2{margin-top:0}
.lp-ph-notif b{font-size:12px;opacity:.7}
.lp-end-p{margin:-10px 0 22px;opacity:.9;font-size:18px}
@media (max-width:900px){ .lp-ph{width:250px;height:510px;transform:none} .lp-cta{width:100%} }
@media (prefers-reduced-motion:reduce){ .lp-scr{animation:none} .lp-scr.s1{opacity:1} }
.legal-sheet .legal h3{font-size:17px;margin:16px 0 4px}.legal-sheet .legal p{font-size:15px;line-height:1.6}#legal-modal .sheet{z-index:80}#legal-modal .scrim{z-index:79}
.legal-read{margin:-4px 0 4px 32px;gap:8px}
form[data-form="auth"] input[type=checkbox]{flex:none;width:22px!important;height:22px!important}
/* ===================== Réorganisation : accueil épuré, étapes, outils ===================== */
.dash.dash-v2{grid-template-columns:minmax(0,1fr);max-width:760px}
.dash.dash-v2>*{grid-column:auto}
.c-hero{display:grid;gap:12px;background:var(--surface)}
.hero-top{display:flex;justify-content:space-between;align-items:center}
.hero-etape{font-weight:800;color:var(--green);background:var(--green-soft);border-radius:999px;padding:5px 12px;font-size:14px}
.hero-main{display:flex;justify-content:space-between;align-items:center;gap:14px}
.hero-main .big{font-family:var(--display);font-weight:800;font-size:clamp(52px,12vw,72px);line-height:.95;letter-spacing:-.04em;color:var(--green)}
.hero-main p{color:var(--muted);margin-top:4px}
.hero-baby{all:unset;cursor:pointer;display:grid;justify-items:center;gap:4px;text-align:center;max-width:130px;flex:none}
.hero-baby span{width:72px;height:72px;border-radius:22px;background:var(--cream);display:grid;place-items:center;font-size:40px}
.hero-baby small{font-size:12.5px;line-height:1.3;color:var(--muted)}
.hero-baby small b{color:var(--ink)}
.hero-themes{justify-content:flex-start}
.hero-themes button{font-size:13px;padding:6px 10px}
.hero-q{font-size:15px;color:var(--muted);font-style:italic;border-top:1px solid var(--line);padding-top:10px}
/* La frise des étapes */
.etapes{list-style:none;margin:0;padding:6px 0 2px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;position:relative}
.etapes li{flex:1 1 0;min-width:44px;position:relative}
.etapes li::before{content:"";position:absolute;top:22px;left:-50%;right:50%;height:3px;background:var(--line);z-index:0}
.etapes li:first-child::before{display:none}
.etapes li.passe::before,.etapes li.ici::before{background:var(--green)}
.etapes button{all:unset;cursor:pointer;position:relative;z-index:1;display:grid;justify-items:center;gap:4px;width:100%;text-align:center}
.etapes button span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:20px;background:var(--surface);border:2px solid var(--line)}
.etapes li.passe button span{border-color:var(--green);background:var(--green-soft)}
.etapes li.ici button span{border-color:var(--green);background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}
.etapes li.sel:not(.ici) button span{border-color:var(--sun);box-shadow:0 0 0 4px rgba(242,181,65,.3)}
.etapes small{font-size:11px;line-height:1.2;color:var(--muted);max-width:72px}
.etapes li.ici small{color:var(--ink);font-weight:800}
.etapes button:focus-visible span{outline:3px solid var(--sun)}
/* Cette semaine */
.c-semaine{display:grid;gap:10px}
.late-note{all:unset;cursor:pointer;box-sizing:border-box;display:block;padding:10px 12px;border-radius:14px;background:var(--danger-bg)}
.wk{display:grid;gap:4px;border-top:1px solid var(--line);padding-top:6px;margin-top:4px}
.wk-row{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:10px 0}
.wk-row+.wk-row{border-top:1px dashed var(--line)}
.wk-i{width:40px;height:40px;border-radius:12px;background:var(--bg);display:grid;place-items:center;font-size:20px}
.wk-row b{display:block}
.wk-row p{color:var(--muted);font-size:15px;margin:2px 0 8px}
/* Outils */
.tools{display:grid;gap:8px}
.tools.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tool{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px}
.tool:hover{border-color:var(--green)}
.tool:focus-visible{outline:3px solid var(--sun)}
.tool-i{width:42px;height:42px;border-radius:12px;background:var(--bg);display:grid;place-items:center;font-size:22px;flex:none}
.tool b{display:block;font-size:15px;line-height:1.25}
.tool small{display:block;color:var(--muted);font-size:12.5px;line-height:1.3;margin-top:2px}
.tool.big{flex-direction:column;align-items:flex-start;gap:8px}
.etape-card{display:grid;gap:12px;margin:12px 0 22px}
.etape-k{font-weight:800;color:var(--green)}
.etape-f{color:var(--muted)}
.tool-group{margin-bottom:22px}
.tool-group h2{font-size:19px;margin-bottom:10px}
@media (min-width:700px){ .tool-group .tools{grid-template-columns:repeat(2,minmax(0,1fr))} .tools.grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
/* Bébé : sous-onglets */
.bebe-tabs{margin-bottom:14px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.bebe-tabs button{white-space:nowrap}
/* Contraste des boutons : jamais de blanc sur blanc */
.mob-menu .btn{color:var(--green-ink);justify-content:center}
.mob-menu .btn.ghost{color:var(--ink)}
.btn.ghost{background:var(--surface);border-color:#B9C6C1;color:var(--ink)}
.btn.ghost:hover{border-color:var(--green)}
:root[data-theme="dark"] .btn.ghost{border-color:#3E5260}
.lp-hero .btn.ghost{background:rgba(255,255,255,.75);border-color:rgba(20,33,58,.25)}
.etapes button span{border-color:#C9D3CF}
/* Accueil public : les zones à fond clair fixe gardent un texte foncé, même en mode sombre */
.lp-hero .btn.ghost{color:#14213A;background:rgba(255,255,255,.8);border-color:rgba(20,33,58,.3)}
.lp-avis,.lp-avis-list figure{color:#1C2633}
.lp-avis .muted,.lp-avis-list figcaption{color:#5B6672}
.lp-avis .link{color:var(--brand)}
.lp-end{background:var(--brand)}
.lp-ph-card span{background:#FFEFC2}.lp-ph-card,.lp-ph-task{background:#fff;color:#14213A}
/* Réseaux sociaux */
.reseaux{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-bottom:6px}
.reseaux a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:14px;font-weight:700;text-decoration:none}
.reseaux a:hover{border-color:var(--green)}
.lp-rs{justify-content:center}
.lp-rs a{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.4);color:#fff}

/* ===== Refonte « facile et joyeux » (oct. 2026) ===== */
:root{--c-t1:#7FD1B9;--c-t2:#8EC5FF;--c-t3:#FFB38A;--c-jj:#F2B541;--c-n0:#FFD27A;--c-n1:#C3A6FF;--c-n2:#6FCF97}
.card{box-shadow:0 1px 2px rgba(28,38,51,.04),0 8px 24px rgba(28,38,51,.05)}
/* Le bloc « ton étape » prend la couleur de l'étape */
.c-hero{--e:var(--c-t1);background:linear-gradient(150deg,color-mix(in srgb,var(--e) 30%,var(--surface)) 0%,var(--surface) 70%);border-color:color-mix(in srgb,var(--e) 45%,var(--line))}
.c-hero.e-t2{--e:var(--c-t2)}.c-hero.e-t3{--e:var(--c-t3)}.c-hero.e-jj{--e:var(--c-jj)}.c-hero.e-n0{--e:var(--c-n0)}.c-hero.e-n1{--e:var(--c-n1)}.c-hero.e-n2{--e:var(--c-n2)}
.c-hero .hero-etape{background:color-mix(in srgb,var(--e) 35%,var(--surface));color:var(--ink)}
/* Barre d'onglets : l'onglet actif est bien visible */
@media (max-width:900px){
  .bottom-tabs{box-shadow:0 -6px 20px rgba(28,38,51,.06)}
  .bottom-tabs button svg{padding:3px 14px;box-sizing:content-box;border-radius:999px;transition:background .2s}
  .bottom-tabs button[aria-current="true"] svg{background:var(--green-soft)}
}
/* Accueil après la naissance : les gestes du quotidien */
.c-quick{background:linear-gradient(150deg,color-mix(in srgb,var(--c-t2) 28%,var(--surface)),var(--surface) 75%)}
.q-etat{display:grid;gap:2px;font-size:15px}
.q-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.q-btn{all:unset;box-sizing:border-box;cursor:pointer;display:grid;justify-items:center;gap:4px;padding:12px 4px;border-radius:18px;font-weight:800;font-size:14px;text-align:center;background:var(--surface);border:1.5px solid var(--line)}
.q-btn span{font-size:28px;line-height:1}
.q-btn.q-bib{background:var(--green);color:var(--green-ink);border-color:var(--green)}
.q-btn.q-nuit{background:#1C2633;color:#F5E6B8;border-color:#1C2633}
.q-btn:active{transform:scale(.97)}
.q-btn:focus-visible{outline:3px solid var(--sun)}
/* « Ta semaine » : une carte à la fois */
.c-wk .wk{border-top:0;padding-top:0;margin-top:0}
.wk-nav{display:flex;align-items:center;gap:4px}
.wk-nav .x{width:34px;height:34px;font-size:20px}
.wk-dots{display:flex;justify-content:center;gap:6px}
.wk-dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}
.wk-dots i.on{background:var(--green);width:18px;border-radius:9px}
.wk-g{display:block;margin-top:6px}
.wk-g b{display:inline!important;color:var(--ink);margin-right:4px}
.late-note{display:flex!important;align-items:center;gap:10px;background:var(--cream)!important;font-size:15px}
.late-note>span:nth-child(2){flex:1}
/* Calendrier */
.cal-tools .seg{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.cal-tools .seg::-webkit-scrollbar{display:none}
.cal-tools .seg button{white-space:nowrap}
.cal-past{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;padding:12px 16px;margin:4px 0 14px;border-radius:14px;border:1.5px dashed var(--line);color:var(--muted);font-weight:700;font-size:15px}
.cal-past:hover{border-color:var(--green);color:var(--green)}
/* Outils : recherche et icônes colorées */
.tool-search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1.5px solid var(--line);border-radius:999px;padding:4px 16px;margin-bottom:16px}
.tool-search:focus-within{border-color:var(--green)}
.tool-search input{all:unset;flex:1;min-height:42px;font-size:16px}
.tool-group:nth-of-type(5n+1) .tool-i{background:color-mix(in srgb,var(--c-t1) 30%,var(--surface))}
.tool-group:nth-of-type(5n+2) .tool-i{background:color-mix(in srgb,var(--c-t2) 30%,var(--surface))}
.tool-group:nth-of-type(5n+3) .tool-i{background:color-mix(in srgb,var(--c-n1) 30%,var(--surface))}
.tool-group:nth-of-type(5n+4) .tool-i{background:color-mix(in srgb,var(--c-n0) 40%,var(--surface))}
.tool-group:nth-of-type(5n+5) .tool-i{background:color-mix(in srgb,var(--c-t3) 30%,var(--surface))}
.tools.grid .tool-i{background:color-mix(in srgb,var(--c-jj) 30%,var(--surface))}
/* Compte : un menu clair, une rubrique ouverte à la fois */
.acc2{display:grid;gap:14px;max-width:720px}
.acc-me{grid-template-columns:auto 1fr;align-items:center;gap:14px}
.acc-me>div{display:grid;gap:2px;justify-items:start}
.acc-me b{font-size:20px;font-family:var(--display)}
.acc-av{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:24px;background:var(--sun);color:var(--sun-ink)}
.acc-admin{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 20px;border-radius:var(--radius);background:var(--ink);color:var(--bg);font-size:22px}
.acc-admin b{display:block;font-size:16px}.acc-admin small{display:block;font-size:13px;opacity:.75}
.acc-list{padding:4px 0;gap:0}
.acc-sec+.acc-sec{border-top:1px solid var(--line)}
.acc-row{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:14px 18px}
.acc-row:focus-visible{outline:3px solid var(--sun);outline-offset:-3px}
.acc-i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:20px;background:var(--bg)}
.acc-t b{display:block;font-size:16px}
.acc-t small{display:block;color:var(--muted);font-size:13.5px;line-height:1.3}
.acc-chev{font-size:24px;color:var(--muted);transition:transform .2s}
.acc-sec.open .acc-chev{transform:rotate(90deg)}
.acc-sec.open .acc-row{background:color-mix(in srgb,var(--green-soft) 50%,transparent)}
.acc-body{padding:6px 18px 20px;display:grid;gap:12px}
.acc-body>.card{border:0;box-shadow:none;padding:0;background:transparent}
.acc-body>.card>h2:first-child{display:none}
.acc-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.acc-links button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:2px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface)}
.acc-links button span{font-size:22px}
.acc-links button b{font-size:15px}
.acc-links button small{font-size:12.5px;color:var(--muted);line-height:1.3}
.acc-links button:focus-visible{outline:3px solid var(--sun)}
.q-btn.q-nuit{border-color:#3A4A5C}

/* ===== Accueil public, version claire (oct. 2026) ===== */
.lp-trust{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:15px;font-weight:700;color:var(--brand)}
.lp-pour{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;font-size:14px;color:#4A5D7A}
.lp-pour b{background:rgba(255,255,255,.75);border:1px solid rgba(20,33,58,.12);border-radius:999px;padding:4px 10px;color:#14213A;font-weight:700}
/* Comment ça marche */
.lp-how{background:var(--surface)}
.lp-steps{list-style:none;padding:0;margin:30px 0 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:none}
.lp-steps li{border-radius:22px;padding:22px;display:grid;gap:8px;align-content:start}
.lp-steps li:nth-child(1){background:color-mix(in srgb,var(--c-t1) 28%,var(--surface))}
.lp-steps li:nth-child(2){background:color-mix(in srgb,var(--c-t2) 28%,var(--surface))}
.lp-steps li:nth-child(3){background:color-mix(in srgb,var(--c-t3) 30%,var(--surface))}
.lp-n{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--bg);font-family:var(--display);font-weight:800;font-size:20px}
.lp-steps h3{font-size:20px;font-weight:800}
.lp-steps p{color:var(--muted)}
/* La route : une frise verticale sur téléphone, une grille sur ordinateur (plus rien de caché à droite) */
.lp-road .lp-stops{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;gap:16px;overflow:visible}
.lp-road .lp-stops li{padding:18px;border-radius:20px;background:var(--surface);border:1px solid var(--line);display:grid;gap:10px;align-content:start}
.lp-road .lp-stops li::before{display:none}
.lp-road .lp-stop-e{position:static;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:24px;border:0;background:color-mix(in srgb,var(--c-t1) 35%,var(--surface))}
.lp-stops .st1 .lp-stop-e{background:color-mix(in srgb,var(--c-t2) 35%,var(--surface))}
.lp-stops .st2 .lp-stop-e{background:color-mix(in srgb,var(--c-t3) 35%,var(--surface))}
.lp-stops .st3 .lp-stop-e{background:color-mix(in srgb,var(--c-jj) 40%,var(--surface))}
.lp-stops .st4 .lp-stop-e{background:#1C2633}
.lp-stops .st5 .lp-stop-e{background:color-mix(in srgb,var(--c-n1) 35%,var(--surface))}
.lp-stops .st6 .lp-stop-e{background:color-mix(in srgb,var(--c-n0) 45%,var(--surface))}
.lp-stops .st7 .lp-stop-e{background:color-mix(in srgb,var(--c-n2) 35%,var(--surface))}
.lp-road .lp-stops h3{font-size:18px}
.lp-road .lp-stops p{margin-top:4px;font-size:15px}
/* Semaine par semaine */
.lp-week{background:color-mix(in srgb,var(--c-n0) 18%,var(--bg))}
.lp-wk{margin-top:26px;max-width:860px;gap:14px}
.lp-wk-h{font-family:var(--display);font-size:22px;font-weight:700}
.lp-wk-h b{color:var(--green)}
.lp-wk input[type=range]{width:100%;accent-color:var(--green);height:28px}
.lp-wk-g{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.lp-wk-g>div{border-radius:18px;padding:16px;display:grid;gap:4px;align-content:start}
.lp-wk-g span{font-size:26px}
.lp-wk-g b{font-size:17px}
.lp-wk-g p{color:var(--muted);font-size:15.5px}
.lp-wk-g .b{background:color-mix(in srgb,var(--c-t2) 25%,var(--surface))}
.lp-wk-g .e{background:color-mix(in srgb,var(--c-t3) 25%,var(--surface))}
.lp-wk-g .t{background:color-mix(in srgb,var(--c-t1) 28%,var(--surface))}
/* Atouts : des cartes colorées */
.lp-feats{gap:16px!important}
.lp-feats>.lp-feat{border:1px solid var(--line);border-top:1px solid var(--line);border-radius:20px;padding:20px;background:var(--surface);display:grid;gap:8px;align-content:start}
.lp-feat-i{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:color-mix(in srgb,var(--c-t1) 32%,var(--surface))}
.lp-feat.f1 .lp-feat-i{background:color-mix(in srgb,var(--c-n1) 32%,var(--surface))}
.lp-feat.f2 .lp-feat-i{background:color-mix(in srgb,var(--c-t2) 32%,var(--surface))}
.lp-feat.f3 .lp-feat-i{background:color-mix(in srgb,var(--c-jj) 38%,var(--surface))}
.lp-feat.f4 .lp-feat-i{background:color-mix(in srgb,var(--c-n0) 45%,var(--surface))}
.lp-feat.f5 .lp-feat-i{background:color-mix(in srgb,var(--c-t3) 32%,var(--surface))}
.lp-feats h3{font-size:19px!important}
.lp-feats p{margin-top:0!important}
/* Barre « Créer mon compte » collante, sur téléphone */
.lp-sticky{display:none}
@media (max-width:720px){
  .lp-sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(8px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .25s}
  .lp-sticky .btn{width:100%}
  body.lp-sticky-on .lp-sticky{transform:none}
  .lp-steps{grid-template-columns:1fr}
  .lp-road .lp-stops{grid-template-columns:1fr;gap:0;position:relative}
  .lp-road .lp-stops li{grid-template-columns:48px 1fr;border:0;border-radius:0;background:transparent;padding:0 0 22px;position:relative}
  .lp-road .lp-stops li::after{content:"";position:absolute;left:23px;top:52px;bottom:4px;border-left:3px dotted var(--line)}
  .lp-road .lp-stops li:last-child::after{display:none}
  .lp-wk-g{grid-template-columns:1fr}
  .lp-how .lp-cta{width:100%}
}
@media (min-width:721px) and (max-width:1000px){ .lp-road .lp-stops{grid-template-columns:repeat(2,minmax(0,1fr))} .lp-feats{grid-template-columns:repeat(2,1fr)!important} }
@media (max-width:720px){
  .lp-feats>.lp-feat{grid-template-columns:46px 1fr;column-gap:14px;row-gap:2px;padding:16px}
  .lp-feat .lp-feat-i{grid-row:span 2}
  .lp-feats p{font-size:15px}
  .lp-feats{gap:10px!important}
  .lp-steps li{grid-template-columns:40px 1fr;column-gap:14px;row-gap:4px;padding:18px}
  .lp-steps .lp-n{grid-row:span 2}
  .lp-steps{gap:10px}
  .lp-wk-g>div{grid-template-columns:30px 1fr;column-gap:10px;row-gap:0;padding:12px 14px}
  .lp-wk-g span{grid-row:span 2;font-size:24px}
}
.push-res{background:var(--bg);border-radius:12px;padding:10px 12px;display:grid;gap:4px}
label.need{background:var(--cream);border-radius:12px;padding:8px;outline:2px solid var(--sun);animation:need .5s 2}@keyframes need{50%{transform:translateX(4px)}}
.wk-slides{display:grid}
.wk-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s}
.wk-slide.on{opacity:1;visibility:visible}
.tuto.tuto-wide{max-height:88vh;overflow:auto;text-align:left}
.tuto.tuto-wide h2,.tuto.tuto-wide .tuto-e{text-align:center}
.tuto-inst .isteps{margin:0;padding:0}

/* ===== Module Biberon / tire-lait (refait oct. 2026) ===== */
.dash.mk{grid-template-columns:minmax(0,1fr);max-width:640px}
.dash.mk>*{grid-column:auto}
.mk-card{gap:14px}
.mk-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.mk-head h2{font-size:22px}
.mk-bib{background:linear-gradient(160deg,color-mix(in srgb,var(--c-t2) 22%,var(--surface)),var(--surface) 60%)}
.mk-tl{background:linear-gradient(160deg,color-mix(in srgb,var(--c-t1) 22%,var(--surface)),var(--surface) 60%)}
.mk-babies{display:grid;gap:8px}
.mk-baby{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:baseline;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.mk-baby>b{font-size:16px}
.mk-baby small{grid-column:2;color:var(--muted);font-size:13px}
.mk-chips{display:flex;flex-wrap:wrap;gap:8px}
.mk-chips.mk-center{justify-content:center}
.mk-chips button{all:unset;cursor:pointer;min-width:44px;text-align:center;padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);font-weight:800;font-size:15px}
.mk-chips button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.mk-chips button:focus-visible{outline:3px solid var(--sun)}
.mk-who button{flex:1}
.mk-qty{display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:10px}
.mk-pm{all:unset;cursor:pointer;height:64px;border-radius:20px;display:grid;place-items:center;font-size:34px;font-weight:700;background:var(--surface);border:1.5px solid var(--line);user-select:none}
.mk-pm:active{transform:scale(.95)}
.mk-pm:focus-visible{outline:3px solid var(--sun)}
.mk-qty-v{display:flex;align-items:baseline;justify-content:center;gap:6px;background:var(--surface);border:1.5px solid var(--line);border-radius:20px;height:64px;padding:0 12px}
.mk-qty-v input{all:unset;width:3.4ch;text-align:right;font-family:var(--display);font-weight:800;font-size:40px;line-height:64px}
.mk-qty-v span{font-weight:700;color:var(--muted)}
.mk-qty-v:focus-within{border-color:var(--green)}
.mk-input{font-size:22px!important;font-weight:800;text-align:center}
.mk-when{text-align:center}
.mk-when input{flex:1}
.btn.big{min-height:58px;font-size:18px}
.mk-undo{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--green-soft);border-radius:14px;padding:10px 14px;font-weight:700;font-size:15px}
.mk-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);border-radius:14px;padding:4px;gap:4px}
.mk-tabs button{all:unset;cursor:pointer;text-align:center;padding:10px 6px;border-radius:10px;font-weight:700;font-size:14.5px;color:var(--muted)}
.mk-tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.mk-tabs button:focus-visible{outline:3px solid var(--sun)}
.mk-timer{display:grid;justify-items:center;gap:2px;padding:10px 0}
.mk-clock{font-family:var(--display);font-size:64px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.mk-dot{width:12px;height:12px;border-radius:50%;background:#E5484D;animation:mkp 1.2s infinite}
.mk-timer.paused .mk-dot{background:var(--muted);animation:none}
@keyframes mkp{50%{opacity:.25}}
.mk-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mk-row2 .btn{min-height:56px;font-size:17px}
.mk-big-l{font-size:18px}
.mk-h-day{display:grid;gap:6px}
.mk-h-day+.mk-h-day{margin-top:8px}
.mk-h-dh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:6px}
.mk-h-row{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:48px 38px 1fr auto;align-items:center;gap:8px;padding:8px 6px;border-radius:12px}
.mk-h-row:hover{background:var(--bg)}
.mk-h-row:focus-visible{outline:3px solid var(--sun)}
.mk-h-t{font-variant-numeric:tabular-nums;font-weight:700;color:var(--muted)}
.mk-h-i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:20px;background:color-mix(in srgb,var(--c-t2) 28%,var(--surface))}
.mk-h-i.tirelait{background:color-mix(in srgb,var(--c-t1) 30%,var(--surface))}
.mk-h-d b{display:block;font-size:15.5px}
.mk-h-d small{display:block;color:var(--muted);font-size:13px}
.mk-h-e{font-size:16px;opacity:.6}
.mk-who button{white-space:nowrap;flex:1 0 auto}
.mk-h-t small{display:block;font-size:11px;font-weight:600}
/* Récap pédiatre */
.ped{display:grid;gap:14px;max-width:860px}
.ped-head{display:grid;gap:2px}
.ped-head b{font-family:var(--display);font-size:20px}
.ped-head span{color:var(--muted);font-size:14px}
.ped-moy{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ped-moy>div{background:var(--bg);border-radius:14px;padding:10px;text-align:center;display:grid}
.ped-moy b{font-family:var(--display);font-size:24px}
.ped-moy span{font-size:12.5px;color:var(--muted)}
.ped-t{width:100%;border-collapse:collapse;font-size:14px}
.ped-t th,.ped-t td{padding:7px 6px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}
.ped-t th:first-child,.ped-t td:first-child{text-align:left}
@media (max-width:520px){ .ped-moy{grid-template-columns:repeat(2,1fr)} }
@media print{ .noprint,.footer,footer,.news-bar,.bell{display:none!important} .ped .card{break-inside:avoid;border:1px solid #ccc;box-shadow:none} body{color:#000} .ped-moy>div{background:#f2f2f2} }
.mk-next{grid-column:2;font-size:13px}.mk-next.late b{color:var(--danger)}
.net-pill{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:45;background:#1C2633;color:#fff;padding:8px 14px;border-radius:999px;font-size:13.5px;font-weight:700;box-shadow:0 6px 20px rgba(0,0,0,.25);max-width:calc(100vw - 32px);text-align:center}
.net-pill[hidden]{display:none}
@media (min-width:901px){ .net-pill{bottom:20px} }
.c-famille{background:linear-gradient(150deg,color-mix(in srgb,var(--c-n0) 30%,var(--surface)),var(--surface) 70%)}
.adm-h2{font-size:18px;margin:22px 0 10px}
.stat small{display:block;font-size:12.5px;margin-top:2px}
.adm-bars{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;align-items:end;height:150px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px}
.adm-bars>div{display:grid;grid-template-rows:1fr auto auto;height:100%;text-align:center;gap:2px}
.adm-bars span{align-self:end;background:var(--green);border-radius:6px 6px 0 0;min-height:3px}
.adm-bars b{font-size:13px}.adm-bars small{font-size:11px;color:var(--muted)}

/* ===== Onglet Bébé : gros boutons (v3) ===== */
.dash.bb{gap:12px}
.bb-top{gap:8px;padding:14px 16px;background:linear-gradient(150deg,color-mix(in srgb,var(--c-t2) 26%,var(--surface)),var(--surface) 70%)}
.bb-st{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.bb-st+.bb-st{border-top:1px solid var(--line);padding-top:8px}
.bb-st-l{display:grid;gap:2px;font-size:16px}
.bb-st-l>b{font-size:15px;color:var(--muted)}
.bb-next{background:var(--surface);border:1.5px solid var(--line);border-radius:999px;padding:5px 12px;font-size:14px;white-space:nowrap}
.bb-next.late{border-color:var(--danger);color:var(--danger)}
.bb-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bb-t{all:unset;box-sizing:border-box;cursor:pointer;display:grid;justify-items:start;align-content:start;gap:2px;min-height:118px;padding:16px;border-radius:24px;position:relative;-webkit-tap-highlight-color:transparent;transition:transform .1s}
.bb-t:active{transform:scale(.97)}
.bb-t:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.bb-i{font-size:34px;line-height:1;margin-bottom:6px}
.bb-t b{font-family:var(--display);font-size:21px;font-weight:800}
.bb-t small{font-size:13.5px;opacity:.85}
.t-bib{background:var(--green);color:#fff}
.t-tl{background:color-mix(in srgb,var(--c-t1) 45%,var(--surface));color:var(--ink)}
.t-couche{background:color-mix(in srgb,var(--c-n0) 50%,var(--surface));color:var(--ink)}
.t-dodo{background:color-mix(in srgb,var(--c-n1) 40%,var(--surface));color:var(--ink)}
.bb-t.on{box-shadow:0 0 0 3px var(--sun)}
.t-tl.on::after,.t-dodo.on::after{content:"";position:absolute;top:16px;right:16px;width:10px;height:10px;border-radius:50%;background:#E5484D;animation:mkp 1.2s infinite}
.bb-same{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border-radius:20px;background:var(--surface);border:2px dashed color-mix(in srgb,var(--green) 55%,var(--line))}
.bb-same>span:first-child{font-size:26px}
.bb-same b{display:block;font-size:16.5px}.bb-same small{display:block;color:var(--muted);font-size:13px}
.bb-same:active{transform:scale(.98)}
.bb-same:focus-visible{outline:3px solid var(--sun)}
.bb-sum{gap:10px;padding:14px 16px}
.bb-sum h2{font-size:18px}
.bb-day{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:6px}
.bb-day>div{background:var(--bg);border-radius:14px;padding:8px 4px;text-align:center;display:grid}
.bb-day b{font-family:var(--display);font-size:20px}
.bb-day span{font-size:12px;color:var(--muted)}
.mk-undo{position:sticky;top:8px;z-index:5;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.mk-sheet .body{gap:14px}
.mk-sheet .mk-card{border:0;box-shadow:none;background:none;padding:0}
.mk-sheet .mk-card .mk-head h2{display:none}
.bb-couche{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bb-couche button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;justify-items:center;gap:4px;padding:18px 8px;border-radius:20px;background:var(--bg);border:1.5px solid var(--line);font-weight:800;font-size:17px}
.bb-couche button span{font-size:30px}
.bb-couche button:active{transform:scale(.97)}
.bb-couche button:focus-visible{outline:3px solid var(--sun)}
.mk-sheet .mk-chips.mk-center{display:grid;grid-template-columns:repeat(3,1fr)}
.bb-lait{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bb-lait button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:16px;border:2px solid var(--line);background:var(--surface);font-weight:800;font-size:15.5px}
.bb-lait button span{font-size:22px}
.bb-lait button[aria-pressed="true"]{border-color:var(--green);background:var(--green-soft)}
.bb-lait button:focus-visible{outline:3px solid var(--sun)}
.bb-conseil{background:var(--bg);border-radius:12px;padding:8px 10px}
.bb-boite{gap:8px;padding:14px 16px}.bb-boite h2{font-size:18px}
.bb-boite.warn{border-color:var(--danger);background:color-mix(in srgb,var(--danger-bg) 60%,var(--surface))}
.bb-boite input{min-height:38px;border-radius:10px;border:1.5px solid var(--line);padding:4px 8px;background:var(--surface)}

/* ===== Onglet Journée (v2) ===== */
.jr{gap:14px}
.jr-links{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:-4px -4px 0;padding:4px}
.jr-links::-webkit-scrollbar{display:none}
.jr-links button{all:unset;cursor:pointer;white-space:nowrap;padding:8px 12px;border-radius:999px;font-weight:700;font-size:14px;background:var(--bg);color:var(--muted)}
.jr-links button.on{background:var(--ink);color:var(--bg)}
.jr-links button:focus-visible{outline:3px solid var(--sun)}
.jr-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center}
.jr-nav b{font-family:var(--display);font-size:22px;display:block}
.jr-nav .x{width:44px;height:44px;font-size:24px}
.jr-run{display:flex;justify-content:space-between;align-items:center;gap:10px;background:color-mix(in srgb,var(--c-n1) 30%,var(--surface));border-radius:16px;padding:10px 14px}
.jr-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.jr-sum>div{border-radius:18px;padding:12px;display:grid;gap:0}
.jr-sum span{font-size:22px}
.jr-sum b{font-family:var(--display);font-size:26px;line-height:1.1}
.jr-sum small{font-size:13px;color:var(--muted)}
.s-rep{background:color-mix(in srgb,var(--c-t2) 28%,var(--surface))}
.s-co{background:color-mix(in srgb,var(--c-n0) 40%,var(--surface))}
.s-do{background:color-mix(in srgb,var(--c-n1) 30%,var(--surface))}
.s-tl{background:color-mix(in srgb,var(--c-t1) 32%,var(--surface))}
.jr-frise{display:grid;gap:8px;background:var(--bg);border-radius:16px;padding:12px}
.jr-line{display:grid;gap:4px}.jr-line>b{font-size:13px}
.jr-bar{position:relative;height:30px;border-radius:10px;background:var(--surface);border:1px solid var(--line);overflow:hidden;background-image:linear-gradient(90deg,transparent calc(25% - 1px),var(--line) 25%,transparent calc(25% + 1px),transparent calc(50% - 1px),var(--line) 50%,transparent calc(50% + 1px),transparent calc(75% - 1px),var(--line) 75%,transparent calc(75% + 1px))}
.jr-bar i{position:absolute;top:0;bottom:0}
.jr-bar i.z{background:color-mix(in srgb,var(--c-n1) 70%,var(--surface));top:4px;bottom:4px;border-radius:6px}
.jr-bar i.r{width:4px;margin-left:-2px;background:#3B82F6;border-radius:2px;top:3px;bottom:3px}
.jr-bar i.c{width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#E0A21B;top:auto;bottom:3px}
.jr-bar i.now{width:2px;background:#E5484D}
.jr-leg{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12.5px;color:var(--muted)}
.jr-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:middle}
.jr-leg i.r{background:#3B82F6}.jr-leg i.c{background:#E0A21B;border-radius:50%}.jr-leg i.z{background:color-mix(in srgb,var(--c-n1) 70%,var(--surface))}
.jr-hours{display:flex;justify-content:space-between;flex:1 1 100%}
.jr-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.jr-add button{all:unset;cursor:pointer;padding:8px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);font-weight:700;font-size:14px}
.jr-add button:focus-visible{outline:3px solid var(--sun)}
.jr-list{display:grid;gap:2px}
.mk-h-i.couche{background:color-mix(in srgb,var(--c-n0) 45%,var(--surface))}
.mk-h-i.sommeil{background:color-mix(in srgb,var(--c-n1) 35%,var(--surface))}
.mk-h-i.mesure{background:var(--bg)}
/* Faire-part */
.fp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.fp-form{gap:10px}
.fp-cols{display:flex;flex-wrap:wrap;gap:6px}
.fp-cols button{all:unset;cursor:pointer;padding:8px 12px;border-radius:999px;font-weight:800;font-size:14px;border:2px solid transparent}
.fp-cols button[aria-pressed="true"]{border-color:var(--ink)}
.fp-prev{display:grid;gap:12px;position:sticky;top:80px}
.fp-prev img{width:100%;border-radius:18px;box-shadow:var(--shadow);background:var(--surface);aspect-ratio:4/5;object-fit:cover}
@media (max-width:760px){ .fp{grid-template-columns:1fr} .fp-prev{position:static;order:-1} }
.fiche{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.fiche textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:8px 10px;font:inherit;background:var(--surface)}
.fiche-prev{position:sticky;top:80px;gap:10px}
.fi-head{display:grid;border-bottom:2px solid var(--ink);padding-bottom:8px}.fi-head b{font-family:var(--display);font-size:26px}.fi-head span{color:var(--muted);font-size:14px}
.fi-row b{display:block;font-size:15px}.fi-row p{margin:2px 0 0}
@media (max-width:760px){ .fiche{grid-template-columns:1fr} .fiche-prev{position:static} }
@media print{ .fiche{display:block} .fiche-prev{border:0;box-shadow:none} }
.rt-t select{min-height:40px;border-radius:10px;border:1.5px solid var(--line);padding:4px 6px;background:var(--surface);width:100%}.rt-t td{padding:4px}
.bb-voix{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:0;padding:8px 12px;border-radius:14px;background:var(--surface);border:1.5px dashed var(--line);font-weight:800;font-size:15px}
.bb-voix small{font-weight:500;color:var(--muted);font-size:12.5px}
.bb-voix.on{border-color:#E5484D;color:#E5484D;animation:mkp 1.2s infinite}
.bb-voix:focus-visible{outline:3px solid var(--sun)}
.bud-tot{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bud-tot>div{background:var(--green);color:#fff;border-radius:20px;padding:16px;display:grid}
.bud-tot>div+div{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.bud-tot span{font-size:13px;opacity:.85}.bud-tot b{font-family:var(--display);font-size:28px}
.bud-bar{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:15px}
.bud-bar i{grid-column:1/-1;height:8px;border-radius:4px;background:var(--green)}
.bud-row{display:grid;grid-template-columns:32px 1fr auto 34px;align-items:center;gap:8px;padding:6px 0}
.bud-row b{font-size:15px}.bud-row small{display:block;color:var(--muted);font-size:12.5px}
.bud-row .x{width:30px;height:30px}
.acc-autres{border-top:1px solid var(--line);padding-top:12px;margin-top:6px}
.niv{all:unset;box-sizing:border-box;cursor:pointer;display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:14px;background:linear-gradient(150deg,color-mix(in srgb,var(--c-jj) 28%,var(--surface)),var(--surface) 70%);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px}
.niv-i{font-size:38px}
.niv-t{display:grid;gap:4px}.niv-t b{font-family:var(--display);font-size:19px}.niv-t small{color:var(--muted);font-size:13px}
.niv:focus-visible{outline:3px solid var(--sun)}
.flyer{max-width:148mm;aspect-ratio:148/210;background:var(--brand);color:#fff;border-radius:18px;padding:28px;display:grid;align-content:space-between;gap:14px;font-family:var(--body)}
.flyer h2{font-family:var(--display);font-size:42px;line-height:1.05;color:#fff}
.flyer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:16px}
.fl-top{display:flex;justify-content:space-between;align-items:baseline}.fl-top b{font-family:var(--display);font-size:24px}.fl-top span{opacity:.8;font-size:14px}
.fl-qr{display:flex;gap:14px;align-items:center;background:#fff;color:#1C2633;border-radius:14px;padding:12px}
.fl-qr>div:last-child{display:grid}.fl-qr b{font-size:17px}.fl-qr span{font-size:13px;color:#5B6672}.fl-url{font-weight:800;color:var(--brand)!important;font-size:16px!important}
@media print{ .flyer{-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:0 auto} .adm-nav,.adm-mob{display:none!important} }
.lp-ent{padding-block:40px}
.lp-ent-in{display:flex;gap:18px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px}
.lp-ent-in>span{font-size:44px;line-height:1}
.lp-ent h2{font-size:clamp(22px,3vw,30px)!important}
.lp-ent .btn{margin-top:14px}
@media (max-width:720px){.lp-ent-in{flex-direction:column}}

/* ===== Nettoyage (oct. 2026) ===== */
.tools-all .tool.in-stage{display:none}
.tools-all .tool-group.only-stage{display:none}
.tools-all.searching .tool.in-stage{display:flex}
.tools-all.searching .tool-group.only-stage{display:block}
.tools-autres{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:22px 0 4px}
.tools-all.searching .tools-autres{display:none}
.tools.grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tools.grid.compact .tool{padding:10px;gap:6px}
.tools.grid.compact .tool small{display:none}
.tools.grid.compact .tool b{font-size:13.5px}
.tools.grid.compact .tool-i{width:38px;height:38px;font-size:20px}
.tool-group .tool{padding:10px 12px}
@media (min-width:720px){ .tool-group .tools{grid-template-columns:repeat(2,minmax(0,1fr))} }
.tools-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tools-mini button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;justify-items:center;gap:4px;text-align:center;padding:10px 4px;border-radius:16px;background:var(--bg)}
.tools-mini button span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:color-mix(in srgb,var(--c-jj) 30%,var(--surface))}
.tools-mini small{font-size:12px;font-weight:700;line-height:1.2}
.tools-mini button:focus-visible{outline:3px solid var(--sun)}
/* Tâches plus compactes sur téléphone : la date à côté des étiquettes */
@media (max-width:720px){
  .task{grid-template-columns:auto minmax(0,1fr) auto;padding:10px 12px;gap:10px}
  .task .when{grid-column:auto}
  .task .pills{margin-top:4px}
}
.c-semaine .head h2,.c-outils .head h2{font-size:19px}
.c-semaine .head .link,.c-outils .head .link{white-space:nowrap}
.affil.with-pic{display:grid;grid-template-columns:76px 1fr;column-gap:12px;align-items:start}
.affil.with-pic .affil-pic{grid-row:span 5;width:76px;height:76px;object-fit:contain;background:#fff;border-radius:12px;border:1px solid var(--line)}
.affil.with-pic>*:not(.affil-pic){grid-column:2}
.mfa-choix{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mfa-choix button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:4px;align-content:start;padding:14px;border-radius:18px;border:1.5px solid var(--line);background:var(--surface)}
.mfa-choix button span{font-size:26px}.mfa-choix button b{font-size:16px}.mfa-choix button small{font-size:13px;color:var(--muted);line-height:1.35}
.mfa-choix button:hover{border-color:var(--green)}.mfa-choix button:focus-visible{outline:3px solid var(--sun)}
@media (max-width:420px){.mfa-choix{grid-template-columns:1fr}}

/* Je prends le relais */
.q-relais{display:block;width:100%;text-align:left;margin:4px 0 10px;padding:9px 12px;border:0;border-radius:12px;background:color-mix(in srgb,var(--brand) 8%,transparent);color:var(--brand-txt);font:inherit;font-weight:600;font-size:14px;cursor:pointer}
.rl-pa{margin:0;padding:10px 14px;border-radius:14px;background:var(--c-n1,#FFF6E5)}
.rl-bb h2{margin:0 0 8px}
.rl-row{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line,#eee)}
.rl-row:first-of-type{border-top:0}
.rl-row small{display:block;margin-top:2px;color:var(--muted,#666)}
.rl-i{flex:0 0 38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:20px}
[data-theme="dark"] .rl-i{filter:brightness(.8)}

/* Livre du mois */
.lv-mot p{font-size:1.15rem;line-height:1.6;max-width:520px;margin:0 auto}.lv-q{font-size:4rem;line-height:1;opacity:.25;margin:0!important}
.lv-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:12px}.lv-stats>div{background:#F6F1E7;border-radius:14px;padding:14px}.lv-stats p{margin:4px 0}.lv-b{display:block;font-size:1.1rem;margin-bottom:4px}
.lv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.lv-grid figure{margin:0}.lv-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;max-height:none}.lv-grid figcaption{font-size:.75rem;opacity:.7}
.lv-j p{text-align:left;max-width:520px;margin:8px auto}
/* Nouvelles pour la famille (page publique) */
.nv-pub .panel{padding:32px 24px}.nv-age{font-size:1.25rem;font-weight:700;color:var(--brand-txt);margin:0}
.nv-mot{margin:6px 0;padding:18px 20px;border-radius:18px;background:#FFF6E5;font-size:1.1rem;line-height:1.55;text-align:left}.nv-mot cite{display:block;margin-top:10px;font-style:normal;font-weight:600;text-align:right}
.nv-jour{background:#E8F3F1;border-radius:14px;padding:10px 14px}.nv-jour p{margin:4px 0}
[data-theme="dark"] .nv-mot{background:#2A2418}[data-theme="dark"] .nv-jour{background:#1D2A28}
/* Réseaux & boutique (admin) */
.rs-post{padding:12px 0;border-top:1px solid var(--line)}.rs-post:first-of-type{border-top:0}
.rs-post.late .rs-top b{color:#C0392B}
.rs-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.rs-net{color:#fff;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px}
.rs-st{margin-left:auto;font-size:13px;color:var(--muted)}
.rs-txt{white-space:normal;background:var(--surface-2,#F6F1E7);border-radius:12px;padding:10px 12px;margin:0 0 8px;font-size:.95rem;line-height:1.45}
[data-theme="dark"] .rs-txt{background:#1D2328}
.rs-tag{display:block;width:100%;text-align:left;margin:6px 0;padding:10px 12px;border:1.5px dashed var(--line);border-radius:12px;background:transparent;color:inherit;font:inherit;font-size:.9rem;cursor:pointer}
.rs-ideas{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.rs-idea h3{margin:2px 0 8px;font-size:1.05rem}
.rs-prod{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line)}.rs-prod:first-of-type{border-top:0}
.rs-prod select{min-height:36px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);color:inherit;padding:0 6px}
.rs-check{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:.95rem}
.adm .row .field{min-width:0}.adm .row .field input,.adm .row .field select{width:100%;box-sizing:border-box}
/* Boutique publique */
.bt-pub{max-width:760px;margin:0 auto;display:grid;gap:16px;padding-bottom:40px}
.bt-hero{text-align:center;padding:28px 18px;border-radius:24px;background:linear-gradient(135deg,#E8F3F1,#FFF1D6)}
.bt-hero h1{margin:4px 0 10px}.bt-hero p{margin:0 auto;max-width:520px}
.bt-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.bt-card{text-align:center}.bt-ico{font-size:3rem}.bt-card h3{margin:6px 0 2px}.bt-prix{font-weight:800;font-size:1.2rem;color:var(--brand-txt);margin:2px 0}
.bt-form fieldset{border:0;padding:0;margin:0}.bt-form legend{font-weight:600;margin-bottom:6px}
[data-theme="dark"] .bt-hero{background:linear-gradient(135deg,#1D2A28,#2A2418)}

/* Codes entreprise */
.ent-code{margin-top:14px;padding:14px;border-radius:16px;background:var(--surface-2,#F6F1E7);display:grid;gap:8px}
[data-theme="dark"] .ent-code{background:#1D2328}
.ent-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}.ent-row:first-of-type{border-top:0}.ent-row.off{opacity:.55}
.ent-row code{background:var(--surface-2,#F6F1E7);padding:2px 7px;border-radius:7px;font-weight:700}
.ent-bar{height:6px;border-radius:9px;background:var(--line);margin-top:6px;max-width:260px;overflow:hidden}.ent-bar i{display:block;height:100%;background:var(--brand)}

/* Export + raccourcis */
.print-only{display:none}
@media print{.print-only{display:block}.exp-t{font-size:11px}.exp-t th,.exp-t td{padding:3px 6px}}
.exp-t{width:100%;border-collapse:collapse;font-size:.88rem}.exp-t th{text-align:left;white-space:nowrap}.exp-t td,.exp-t th{padding:6px 8px;border-bottom:1px solid var(--line)}
.rc-steps{padding-left:22px;margin:6px 0}.rc-steps li{margin:6px 0}
.rc-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.rc-row:first-of-type{border-top:0}.rc-row>div{flex:1}
.rc-i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:20px;background:var(--surface-2,#F6F1E7)}

.news-go{margin-top:8px}

/* Statistiques d'usage */
.us-row{display:grid;grid-template-columns:minmax(120px,1.2fr) 2fr auto;gap:10px;align-items:center;padding:6px 0;font-size:.92rem}
.us-bar{height:10px;border-radius:9px;background:var(--line);overflow:hidden}.us-bar i{display:block;height:100%;border-radius:9px;background:var(--brand)}
.us-row b{min-width:40px;text-align:right}

.siri-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:10px}
.siri-btn{display:flex;align-items:center;gap:8px;justify-content:center;background:#111;color:#fff}.siri-btn span{font-size:1.2rem}

/* Réveil biberon */
.bb-st-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.bb-alarm{border:1.5px solid var(--line);background:var(--surface);color:inherit;border-radius:999px;padding:5px 11px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap}
.tuto.reveil{max-width:380px}

/* Outils : l'étape d'abord, le reste sur demande */
.tools-all:not(.open):not(.searching){display:none}
.tools-more{display:grid;grid-template-columns:1fr auto;align-items:center;width:100%;margin:14px 0;padding:14px 16px;border-radius:18px;border:1.5px dashed var(--line);background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer}
.tools-more span{font-weight:700}.tools-more small{grid-column:1;color:var(--muted)}.tools-more i{grid-row:1/3;grid-column:2;font-style:normal;font-size:1.4rem;opacity:.6}
.tools-more.hidden{display:none}

/* Grands caractères (réglage par appareil) : tout est agrandi, et les textes gris sont plus foncés */
html.grand body{zoom:1.18}
html.grand{--muted:#3A4450}
html.grand[data-theme="dark"]{--muted:#C9D2DC}
@media (prefers-color-scheme: dark){html.grand:not([data-theme="light"]){--muted:#C9D2DC}}
html.grand .small,html.grand small{font-size:max(.9em,14px)}
@media print{html.grand body{zoom:1}}

/* Accueil de nuit */
.nd .c-quick .q-btn{min-height:96px;font-size:1.05rem}
.nd-card{display:grid;gap:10px}.nd-row{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.nd-alarm,.nd-relais{min-height:54px;font-size:1rem}
.nd-all{display:block;margin:6px auto 0;text-align:center}

/* Mode essai */
.essai-bar{background:var(--brand);color:#fff}.essai-bar .link{color:#fff}.essai-bar b{color:#fff}
.lp-essai{margin-top:12px;padding:14px;border-radius:18px;background:var(--surface);border:1.5px solid var(--line);max-width:460px}.lp-essai p{margin:0 0 8px}

/* Décor de saison */
/* Le logo prend le thème du moment : un petit dessin animé posé sur l'icône */
.logo{position:relative}
html[data-logo] .logo::before{position:absolute;left:24px;top:-9px;font-size:19px;line-height:1;pointer-events:none;z-index:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));transform-origin:50% 90%}
html[data-logo="halloween"] .logo::before{content:"🎃";animation:lg-hop 2.4s ease-in-out infinite}
html[data-logo="noel"] .logo::before{content:"🎄";animation:lg-swing 3s ease-in-out infinite}
html[data-logo="noel"] .logo b::after{content:"✨";margin-left:4px;display:inline-block;animation:lg-twinkle 1.6s ease-in-out infinite}
html[data-logo="valentin"] .logo::before{content:"❤️";animation:lg-beat 1.2s ease-in-out infinite}
html[data-logo="paques"] .logo::before{content:"🥚";animation:lg-hatch 4s steps(1) infinite,lg-wobble .5s ease-in-out infinite}
html[data-logo="peres"] .logo::before{content:"👔";animation:lg-swing 2.6s ease-in-out infinite}
html[data-logo="peres"] .logo svg{animation:lg-mous 2.6s ease-in-out infinite}
html[data-logo="nouvelan"] .logo::before{content:"🎉";animation:lg-pop 2s ease-in-out infinite}
html[data-logo="nouvelan"] .logo b::after{content:"✨";margin-left:4px;display:inline-block;animation:lg-twinkle 1.2s ease-in-out infinite}
html[data-logo="anniv"] .logo::before{content:"🎈";animation:lg-float 3s ease-in-out infinite}
@keyframes lg-hop{0%,100%{transform:translateY(0) rotate(-8deg)}40%{transform:translateY(-6px) rotate(8deg)}60%{transform:translateY(0) rotate(0)}}
@keyframes lg-swing{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}
@keyframes lg-beat{0%,100%{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(1)}45%{transform:scale(1.22)}}
@keyframes lg-hatch{0%{content:"🥚"}60%{content:"🐣"}}
@keyframes lg-wobble{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes lg-mous{0%,86%,100%{transform:rotate(0)}90%{transform:rotate(-6deg)}94%{transform:rotate(6deg)}}
@keyframes lg-pop{0%,100%{transform:scale(.9) rotate(-10deg)}50%{transform:scale(1.25) rotate(10deg)}}
@keyframes lg-twinkle{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
@keyframes lg-float{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-7px) rotate(6deg)}}
@media (prefers-reduced-motion:reduce){html[data-logo] .logo::before,html[data-logo] .logo svg,html[data-logo] .logo b::after{animation:none}}
@media print{html[data-logo] .logo::before{display:none}}
html[data-saison] .app-head::after,html[data-saison] .pub-head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;pointer-events:none}
html[data-saison="halloween"] .app-head::after,html[data-saison="halloween"] .pub-head::after{background:repeating-linear-gradient(90deg,#F28C28 0 18px,#3B2A4A 18px 36px)}
html[data-saison="noel"] .app-head::after,html[data-saison="noel"] .pub-head::after{background:repeating-linear-gradient(90deg,#C8372D 0 18px,#FFFFFF 18px 24px,#2E7D4F 24px 42px,#FFFFFF 42px 48px)}
@keyframes saison{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@media print{html[data-saison] .app-head::after{display:none}}

/* ===== Halloween, version soignée ===== */
html[data-saison="halloween"]{--sun:#F28C28;--sun-ink:#1C1206;--cream:#FFE6CF}
html[data-saison="halloween"][data-theme="dark"]{--cream:#3A2414}
html[data-saison="halloween"] .c-hero,html[data-saison="halloween"] .c-quick{position:relative;overflow:hidden}
html[data-saison="halloween"] .c-hero::before,html[data-saison="halloween"] .c-quick::before{content:"";position:absolute;top:-2px;right:-2px;width:92px;height:92px;pointer-events:none;opacity:.32;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%233B2A4A' stroke-width='1.2'%3E%3Cpath d='M100 0L20 80M100 0L50 95M100 0L85 100M100 0L5 50M100 0L0 15'/%3E%3Cpath d='M78 0q2 10 10 12 4 6 12 6M55 0q4 20 20 25 8 12 25 14M30 0q6 30 33 38 12 18 37 22M8 0q8 40 45 52 16 24 47 30'/%3E%3C/svg%3E") no-repeat top right/contain}
html[data-saison="halloween"] .c-quick .q-bib{background:linear-gradient(160deg,#F28C28,#C85A12);border-color:#C85A12;color:#fff}
html[data-saison="halloween"] .hello:not(.nd-hello) h1::after{content:" 🎃";font-size:.8em}
html[data-saison="halloween"] .bottom-tabs [aria-current="true"]{color:#C85A12}
#saison-deco{position:fixed;inset:0 0 auto 0;height:180px;pointer-events:none;z-index:9;overflow:hidden}
#saison-deco .bat{position:absolute;top:30px;left:-70px;width:44px;fill:#3B2A4A;opacity:.85;animation:vol 22s linear infinite}
[data-theme="dark"] #saison-deco .bat{fill:#B9A6CC}
#saison-deco .bat svg{width:100%;display:block;animation:ailes .35s ease-in-out infinite alternate;transform-origin:center}
#saison-deco .b2{top:70px;width:30px;animation-delay:7s;animation-duration:26s}
#saison-deco .b3{top:110px;width:24px;animation-delay:15s;animation-duration:19s}
@keyframes vol{0%{transform:translate(0,0)}25%{transform:translate(28vw,-14px)}50%{transform:translate(56vw,12px)}75%{transform:translate(84vw,-10px)}100%{transform:translate(calc(100vw + 140px),0)}}
@keyframes ailes{from{transform:scaleY(1)}to{transform:scaleY(.55)}}
/* ===== Noël : quelques flocons ===== */
html[data-saison="noel"]{--sun:#E2B13C}
/* Noël : la neige tombe du ciel sur tout l'écran (légère, ne gêne pas : on peut toujours toucher à travers) */
#saison-deco .flake{position:fixed;top:-24px;color:#fff;text-shadow:0 0 2px rgba(70,120,180,.7),0 0 6px rgba(120,170,220,.5);opacity:0;font-style:normal;animation:neige-ciel 14s linear infinite;will-change:transform}
@keyframes neige-ciel{0%{transform:translate(0,0) rotate(0);opacity:0}6%{opacity:.9}50%{transform:translate(var(--vx,15px),52vh) rotate(160deg)}92%{opacity:.85}100%{transform:translate(0,106vh) rotate(320deg);opacity:0}}
@keyframes neige{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(20px,200px) rotate(180deg);opacity:0}}
.saison-card{display:flex;gap:12px;align-items:center;background:var(--cream)}.saison-card>span{font-size:2rem}.saison-card p{margin:2px 0 0}
@media (prefers-reduced-motion:reduce){#saison-deco{display:none}}
@media print{#saison-deco{display:none}}

/* Quiz du jour J (membres) */
.qjj-q h2{font-size:1.05rem;margin:0 0 8px}
.qjj-o{display:block;width:100%;text-align:left;margin:6px 0;padding:12px 14px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);color:inherit;font:inherit;cursor:pointer}
.qjj-o.on{border-color:var(--green);background:var(--green-soft);font-weight:700}
.qjj-score{font-size:3.4rem;font-weight:800;color:var(--green);line-height:1;margin:4px 0}.qjj-score small{font-size:1.3rem}
.qjj-bar{height:12px;border-radius:9px;background:var(--line);overflow:hidden;margin:10px 0}.qjj-bar i{display:block;height:100%;background:var(--sun)}
.qjj-todo{display:grid;grid-template-columns:32px 1fr;gap:6px 10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.qjj-todo:first-of-type{border-top:0}
.qjj-todo>span{font-size:1.4rem}

/* ===== Bannière de saison illustrée ===== */
.saison-banner{position:relative;border-radius:22px;overflow:hidden;margin:0 0 14px;min-height:130px;box-shadow:0 10px 28px rgba(30,15,45,.18);isolation:isolate}
.sb-svg{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-1}
.sb-txt{position:relative;padding:16px 46px 34px 18px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.55);max-width:66%}
.saison-banner::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,6,20,.45),rgba(10,6,20,0) 70%)}
.sb-txt b{display:block;font-family:var(--display);font-size:1.3rem;line-height:1.15}.sb-txt span{display:block;font-size:.88rem;opacity:.95;margin-top:4px}
.sb-x{position:absolute;top:8px;right:10px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:20px;line-height:1;cursor:pointer}
.saison-banner .tw{animation:tw 2.6s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:.25}50%{opacity:1}}
.saison-banner .moon-glow{animation:glow 4s ease-in-out infinite;transform-origin:300px 34px}
@keyframes glow{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.75;transform:scale(1.12)}}
.saison-banner .win{fill:#FFC94D;animation:flick 3.2s infinite}.saison-banner .w2{animation-delay:1.1s}
@keyframes flick{0%,100%{opacity:1}45%{opacity:.85}50%{opacity:.4}55%{opacity:.95}}
.saison-banner .face{animation:flick 2.2s infinite}
.saison-banner .bat-a{animation:batA 9s linear infinite}.saison-banner .bat-b{animation:batB 12s linear infinite 3s}
.saison-banner .wing{transform-box:fill-box;transform-origin:center;animation:ailes .3s ease-in-out infinite alternate}
@keyframes batA{0%{transform:translate(-40px,40px)}50%{transform:translate(180px,18px)}100%{transform:translate(400px,36px)}}
@keyframes batB{0%{transform:translate(400px,58px) scale(-.8,.8)}50%{transform:translate(200px,30px) scale(-.8,.8)}100%{transform:translate(-40px,50px) scale(-.8,.8)}}
.saison-banner .star{transform-box:fill-box;transform-origin:center;animation:star 2s ease-in-out infinite}
@keyframes star{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.75}}
.saison-banner .bulb{animation:bulb 1.4s steps(2,jump-none) infinite}
@keyframes bulb{0%{opacity:1}100%{opacity:.25}}
.saison-banner .snow{animation:snowfall 6s linear infinite}
@keyframes snowfall{0%{transform:translate(0,0)}100%{transform:translate(14px,140px)}}
/* Petit fantôme qui passe la tête de temps en temps (Halloween) */
#saison-deco .ghost{position:fixed;right:14px;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:46px;animation:ghost 28s ease-in-out infinite;opacity:0}
@keyframes ghost{0%,62%{transform:translateY(60px);opacity:0}68%{transform:translateY(0);opacity:.95}74%{transform:translateY(-8px)}80%{transform:translateY(0);opacity:.95}88%,100%{transform:translateY(60px);opacity:0}}
@media (min-width:900px){#saison-deco .ghost{bottom:24px}}
/* Noël : guirlande lumineuse sous l'en-tête et bonnet sur le logo */
html[data-saison="noel"] .app-head::after,html[data-saison="noel"] .pub-head::after{height:10px;bottom:-9px;background:radial-gradient(circle,#FF5A5A 0 3px,transparent 3.5px) 0 0/48px 10px repeat-x,radial-gradient(circle,#FFD34D 0 3px,transparent 3.5px) 12px 0/48px 10px repeat-x,radial-gradient(circle,#5AB8FF 0 3px,transparent 3.5px) 24px 0/48px 10px repeat-x,radial-gradient(circle,#7CFF8A 0 3px,transparent 3.5px) 36px 0/48px 10px repeat-x;animation:guirl 1.6s steps(2,jump-none) infinite}
@keyframes guirl{0%{filter:brightness(1)}100%{filter:brightness(.55) saturate(.7)}}
html[data-saison="noel"] .logo{position:relative}
html[data-saison="noel"] .logo::before{content:"";position:absolute;left:4px;top:-9px;width:34px;height:22px;transform:rotate(-14deg);pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 26'%3E%3Cpath d='M4 20 Q14 -6 34 8 L36 20 Z' fill='%23D93A3A'/%3E%3Crect x='2' y='18' width='36' height='7' rx='3.5' fill='%23fff'/%3E%3Ccircle cx='35' cy='8' r='4' fill='%23fff'/%3E%3C/svg%3E") no-repeat center/contain}
@media (prefers-reduced-motion:reduce){.saison-banner *{animation:none!important}html[data-saison] .app-head::after{animation:none}}
@media print{.saison-banner{display:none}}

/* Grands moments de l'année */
html[data-saison="valentin"] .app-head::after,html[data-saison="valentin"] .pub-head::after{background:repeating-linear-gradient(90deg,#FF7EA8 0 18px,#FFD1DE 18px 36px)}
html[data-saison="paques"] .app-head::after,html[data-saison="paques"] .pub-head::after{background:repeating-linear-gradient(90deg,#FFB3C7 0 16px,#FFE27A 16px 32px,#9ED8FF 32px 48px,#C9A7FF 48px 64px)}
html[data-saison="peres"] .app-head::after,html[data-saison="peres"] .pub-head::after{background:repeating-linear-gradient(90deg,#1F6F66 0 18px,#7EC8FF 18px 36px)}
html[data-saison="nouvelan"] .app-head::after,html[data-saison="nouvelan"] .pub-head::after{background:linear-gradient(90deg,#FFD34D,#FF7AE0,#5AB8FF,#7CFF8A,#FFD34D);background-size:200% 100%;animation:fete 3s linear infinite}
@keyframes fete{to{background-position:200% 0}}
.saison-banner .ev-float{animation:monte 6s linear infinite}
@keyframes monte{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(-150px);opacity:0}}
.saison-banner .ev-egg{transform-box:fill-box;transform-origin:center bottom;animation:oeuf 1.8s ease-in-out infinite}
@keyframes oeuf{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
.saison-banner .ev-fw{animation:boum 2.8s ease-out infinite;opacity:0}
@keyframes boum{0%{transform:scale(.1);opacity:0}15%{opacity:1}60%{transform:scale(1.1);opacity:.9}100%{transform:scale(1.3);opacity:0}}
.saison-banner .ev-conf{animation:conf 4s linear infinite}
@keyframes conf{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(18px,150px) rotate(320deg)}}
.saison-banner .ev-flame{transform-box:fill-box;transform-origin:center bottom;animation:flamme .5s ease-in-out infinite alternate}
@keyframes flamme{from{transform:scale(1,1)}to{transform:scale(.85,1.15)}}
.sb-anniv .sb-txt{max-width:70%}
/* Membre fondateur */
.fondateur-card{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(135deg,#FFF6DD,#FFE7C2);border-color:#F2C46B}
[data-theme="dark"] .fondateur-card{background:linear-gradient(135deg,#3A3120,#2E2414);border-color:#6B5424}
.fondateur-card h2{margin:2px 0 6px;font-size:1.1rem}
.fd-badge{flex:0 0 56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:30px;background:radial-gradient(circle at 35% 30%,#FFF3C4,#F2B541);box-shadow:0 6px 16px rgba(242,181,65,.45);animation:fd 3s ease-in-out infinite}
@keyframes fd{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
.fd-pill{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:999px;background:linear-gradient(135deg,#FFE7A8,#F2B541);color:#3A2A08;font-weight:700;font-size:.85rem}
@media (prefers-reduced-motion:reduce){.fd-badge{animation:none}}

.notif-incluses{background:var(--green-soft);border-radius:14px;padding:10px 12px;margin:10px 0}
/* Fenêtres (tuto, notifications, réveil…) : jamais plus hautes que l'écran visible, les boutons toujours visibles */
.tuto{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.tuto.tuto-wide{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
.tuto>.row:last-child{position:sticky;bottom:-20px;margin:12px -22px -20px;padding:12px 22px calc(14px + env(safe-area-inset-bottom,0px));background:var(--surface,#fff);border-top:1px solid var(--line);z-index:2}
.tuto .tuto-dots{margin-top:10px}
@media (max-width:420px){.tuto.tuto-wide{padding:20px 16px 16px}.tuto.tuto-wide>.row:last-child{margin:12px -16px -16px;padding-left:16px;padding-right:16px;bottom:-16px}.tuto-inst{font-size:.93rem}.tuto.tuto-wide .tuto-e{font-size:2rem}}

/* ===== Halloween : encore plus vivant ===== */
#saison-deco .spider{position:fixed;top:0;right:22%;width:30px;animation:araignee 16s ease-in-out infinite;transform-origin:top center}
#saison-deco .spider .fil{position:absolute;left:50%;bottom:100%;width:1px;height:220px;background:rgba(59,42,74,.55)}
#saison-deco .spider svg{display:block;width:100%;animation:pattes 1.2s ease-in-out infinite alternate}
[data-theme="dark"] #saison-deco .spider path,[data-theme="dark"] #saison-deco .spider g{stroke:#CBB8E0}[data-theme="dark"] #saison-deco .spider ellipse,[data-theme="dark"] #saison-deco .spider circle:not([fill="#fff"]){fill:#CBB8E0}
@keyframes araignee{0%,8%{transform:translateY(-60px)}24%,46%{transform:translateY(130px)}30%{transform:translateY(118px) rotate(8deg)}38%{transform:translateY(124px) rotate(-8deg)}62%,100%{transform:translateY(-60px)}}
@keyframes pattes{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
#saison-deco .leaf{position:fixed;top:-30px;font-style:normal;opacity:0;animation:feuille 13s linear infinite}
@keyframes feuille{0%{transform:translate(0,0) rotate(0);opacity:0}8%{opacity:.85}50%{transform:translate(40px,48vh) rotate(160deg)}92%{opacity:.7}100%{transform:translate(-20px,100vh) rotate(340deg);opacity:0}}
#saison-deco{height:auto;bottom:0}
.saison-banner .witch{animation:sorciere 14s linear infinite}
@keyframes sorciere{0%,55%{transform:translate(380px,20px)}100%{transform:translate(-60px,6px)}}
.saison-banner .gh-banner{animation:fantome 6s ease-in-out infinite}
@keyframes fantome{0%,100%{transform:translate(118px,30px)}50%{transform:translate(126px,18px)}}
.saison-banner .cat-eyes{transform-box:fill-box;transform-origin:center;animation:cligne 4s infinite}
@keyframes cligne{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.sb-halloween{cursor:pointer}
.sb-hint{display:inline-block;margin-top:6px;font-size:.75rem;opacity:.85;background:rgba(255,255,255,.14);padding:2px 8px;border-radius:999px}
.bonbons i{position:fixed;font-style:normal;font-size:22px;pointer-events:none;z-index:200;animation:bonbon 1.3s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes bonbon{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}60%{opacity:1}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy) + 90px)) scale(1) rotate(260deg);opacity:0}}
/* Les gros boutons de l'accueil font un petit saut de citrouille au toucher */
html[data-saison="halloween"] .q-btn:active{animation:hop .35s ease}
@keyframes hop{50%{transform:translateY(-4px) scale(1.04)}}
@media (prefers-reduced-motion:reduce){#saison-deco .spider,#saison-deco .leaf{display:none}}

/* ===== Tous les thèmes : même niveau d'animation qu'Halloween ===== */
.saison-banner{cursor:pointer}
#saison-deco .rise{position:fixed;bottom:-30px;font-style:normal;opacity:0;animation:monteEcran 12s linear infinite}
@keyframes monteEcran{0%{transform:translate(0,0) scale(.8);opacity:0}10%{opacity:.85}50%{transform:translate(24px,-50vh) scale(1)}90%{opacity:.6}100%{transform:translate(-16px,-105vh) scale(1.1);opacity:0}}
#saison-deco .peek{font-size:44px;line-height:1;width:auto;text-align:center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}
#saison-deco .cross{position:fixed;top:72px;left:-120px;font-size:26px;white-space:nowrap;animation:traverse 24s linear infinite 4s}
#saison-deco .cross.hop{top:auto;bottom:calc(90px + env(safe-area-inset-bottom,0px));animation:traverse 18s linear infinite 2s,sautille .6s ease-in-out infinite}
@keyframes traverse{0%{transform:translateX(0)}60%,100%{transform:translateX(calc(100vw + 240px))}}
@keyframes sautille{50%{margin-bottom:10px}}
#saison-deco .fw{position:fixed;width:2px;height:2px;animation:feu 4.8s ease-out infinite}
#saison-deco .fw b{position:absolute;left:0;top:0;width:3px;height:18px;border-radius:2px;background:currentColor;transform-origin:50% 0;opacity:0;animation:rayon 4.8s ease-out infinite;animation-delay:inherit}
@keyframes rayon{0%,8%{opacity:0;height:2px}14%{opacity:1}35%{height:26px;opacity:.9}55%,100%{opacity:0;height:30px}}
@keyframes feu{0%{transform:scale(.6)}35%{transform:scale(1.15)}100%{transform:scale(1.2)}}
html[data-saison="noel"] .q-btn:active,html[data-saison="valentin"] .q-btn:active,html[data-saison="paques"] .q-btn:active,html[data-saison="peres"] .q-btn:active,html[data-saison="nouvelan"] .q-btn:active{animation:hop .35s ease}
html[data-saison="valentin"]{--sun:#FF7EA8;--sun-ink:#3A0B1E}
html[data-saison="paques"]{--sun:#FFD36B}
@media (prefers-reduced-motion:reduce){#saison-deco .rise,#saison-deco .cross,#saison-deco .fw{display:none}}

/* Accueil droit à l'essentiel */
.hero-more{margin-top:10px}
.hero-more summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--muted);list-style:none}
.hero-more summary::-webkit-details-marker{display:none}
.hero-more summary::after{content:" ›"}
.hero-more[open] summary::after{content:" ⌄"}
.hero-more .seg{margin-top:8px}
.c-parcours .hero-q{margin:12px 0 0;font-style:italic;color:var(--muted);font-size:14px}
.dash-v2 > .saison-banner{margin:0}
/* Visites et repas des proches */
.cdm-slot{border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;display:grid;gap:6px}
.cdm-slot.is-full{opacity:.75;background:var(--surface)}
.cdm-slot-h{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.cdm-slot-h b{flex:1 1 auto;min-width:0}
.cdm-slot-h .x{margin-left:auto}
.cdm-full{font-size:13px;font-weight:700;color:var(--muted)}
.cdm-who{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;padding:4px 0;border-top:1px dashed var(--line)}
.cdm-add{display:grid;gap:8px;padding-top:6px;border-top:1px solid var(--line)}
.cdm-regles{display:grid;gap:8px}
.cdm-pub .panel{padding:28px 20px}
.cdm-pub-sec{display:grid;gap:10px;margin-top:6px}
.cdm-pub-sec h2{font-size:1.2rem;margin:0}
.cdm-rules{margin:0;padding:12px 12px 12px 30px;border-radius:14px;background:#FFF6E5;font-size:14px;display:grid;gap:4px}
.cdm-form{display:grid;gap:8px;padding-top:8px}
.cdm-ok{padding:12px 14px;border-radius:14px;background:#E3F5EC;color:#14532D;font-weight:600;margin:0}
[data-theme="dark"] .cdm-rules{background:#2A2418}[data-theme="dark"] .cdm-ok{background:#16352A;color:#C8F2DC}
/* Retour à la maison */
.rm-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line)}
.rm-g h2+.rm-row{border-top:0}
.rm-row input{width:20px;height:20px;flex:none}
.rm-done{text-decoration:line-through;color:var(--muted)}
.cdm-regles label{justify-content:flex-start;text-align:left;align-items:flex-start}
.cdm-regles input,.cdm-slot input[type=checkbox],.card .head label input[type=checkbox]{width:20px;height:20px;min-height:0;flex:none;margin:0}
.cdm-slot-h{flex-wrap:nowrap}
.cdm-slot-h>span{white-space:nowrap}
/* ===== Pack 1-3 ans ===== */
/* Routine du soir */
.rt-hero{display:grid;gap:12px;justify-items:center;text-align:center;background:linear-gradient(160deg,#1C2340,#2E3A6B);color:#fff;border:0}
.rt-hero .muted{color:rgba(255,255,255,.75)!important}
.rt-hero-e{display:flex;gap:8px;font-size:34px}
.rt-hero-e span{animation:rtFlot 3s ease-in-out infinite}.rt-hero-e span:nth-child(2n){animation-delay:.6s}.rt-hero-e span:nth-child(3n){animation-delay:1.2s}
@keyframes rtFlot{50%{transform:translateY(-6px)}}
.btn.big{min-height:60px;font-size:1.15rem;padding:0 28px;border-radius:999px}
.rt-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"e t ctl" "e min min";gap:4px 10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.rt-row:first-of-type{border-top:0}
.rt-e{grid-area:e;font-size:30px;width:44px;height:44px;display:grid;place-items:center;background:var(--surface);border-radius:12px}
.rt-row b{grid-area:t;min-width:0}
.rt-row select{grid-area:min;justify-self:start;min-height:34px;border-radius:10px;border:1.5px solid var(--line);padding:2px 8px;background:var(--surface);color:inherit;font-size:13px}
.rt-ctl{grid-area:ctl;display:flex;gap:2px}
.rt-ctl .x[disabled]{opacity:.25}
.rt-custom{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding-top:8px;border-top:1px solid var(--line)}
.rt-custom select{min-height:42px;font-size:20px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface)}
.rt-custom input{min-height:42px;border-radius:10px;border:1.5px solid var(--line);padding:6px 10px;background:var(--surface);color:inherit;min-width:0}
.rt-card{background:linear-gradient(160deg,#1C2340,#34407A);color:#fff;border:0}
.rt-card .x{color:#fff}
/* Le mode « enfant » en plein écran */
.rt-run{position:fixed;inset:0;z-index:200;display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at 50% 30%,#3A4785,#151B33 70%);color:#fff;padding:calc(14px + env(safe-area-inset-top,0px)) 16px calc(18px + env(safe-area-inset-bottom,0px));overflow:hidden;text-align:center}
.rt-sky{position:absolute;inset:0;pointer-events:none}
.rt-sky i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;opacity:.6;animation:rtStar 2.4s ease-in-out infinite}
@keyframes rtStar{50%{opacity:.1;transform:scale(.6)}}
.rt-top,.rt-bot{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:8px}
.rt-mini{all:unset;cursor:pointer;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:20px;font-weight:700}
.rt-n{cursor:default;font-size:14px}
.rt-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:6px}
.rt-dots span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08);font-size:18px;opacity:.55}
.rt-dots span.on{opacity:1;background:rgba(255,231,163,.25);box-shadow:0 0 0 2px #FFE7A3}
.rt-dots span.done{opacity:1}
.rt-main{position:relative;display:grid;place-content:center;gap:10px}
.rt-big{font-size:min(42vw,220px);line-height:1;animation:rtBig 2.2s ease-in-out infinite;filter:drop-shadow(0 12px 30px rgba(0,0,0,.35))}
@keyframes rtBig{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}
.rt-main h1{font-size:clamp(34px,9vw,60px);margin:0;color:#fff}
.rt-timer{font-size:clamp(30px,8vw,48px);font-weight:800;font-variant-numeric:tabular-nums;margin:0;color:#FFE7A3}
.rt-timer.rt-over{font-size:clamp(20px,5.5vw,28px);animation:rtPulse 1.4s ease-in-out infinite}
@keyframes rtPulse{50%{opacity:.5}}
.rt-done{width:100%;max-width:360px;justify-self:center;min-height:72px;font-size:1.4rem}
.rt-end{grid-template-rows:1fr auto auto auto;place-items:center;gap:14px}
.rt-moon{font-size:min(40vw,190px);line-height:1;align-self:end;animation:rtBig 3s ease-in-out infinite}
.rt-end h1{font-size:clamp(36px,10vw,64px);margin:0;color:#fff}
.rt-end p{margin:0;font-size:1.2rem;opacity:.85}
/* Mots rigolos */
.mot{display:grid;gap:4px;padding:10px 0;border-top:1px solid var(--line)}
.mot:first-of-type{border-top:0}
.mot blockquote{margin:0;font-size:1.2rem;font-weight:700;line-height:1.35}
.mot-prev img{width:100%;max-width:420px;justify-self:center;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.12);aspect-ratio:1;background:var(--surface)}
.mot-prev{display:grid;gap:12px}
/* Anniversaire */
.an-themes{display:flex;flex-wrap:wrap;gap:6px}
.an-themes label{cursor:pointer}
.an-themes input{position:absolute;opacity:0;width:1px;height:1px}
.an-themes span{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;font-size:24px;border:2px solid var(--line);background:var(--surface)}
.an-themes input:checked+span{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}
.an-themes input:focus-visible+span{outline:2px solid var(--brand)}
.an-tot{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.an-tot div{display:grid;justify-items:center;padding:10px 6px;border-radius:14px;background:var(--surface)}
.an-tot b{font-size:1.6rem}.an-tot span{font-size:12px;color:var(--muted)}
.an-pub{position:relative;overflow:hidden;background:linear-gradient(180deg,#FFF3D6,#FFE1EA)}
.an-pub .panel{padding:28px 20px}
.an-th{font-size:72px;line-height:1;animation:rtBig 2.6s ease-in-out infinite}
.an-infos{display:grid;gap:4px;padding:12px;border-radius:16px;background:var(--surface)}
.an-infos p{margin:0}
.an-choix{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.an-choix label{cursor:pointer}
.an-choix input{position:absolute;opacity:0;width:1px;height:1px}
.an-choix span{display:grid;place-items:center;min-height:52px;border-radius:14px;border:2px solid var(--line);font-weight:700;text-align:center;padding:4px}
.an-choix input:checked+span{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,transparent)}
.an-choix input:focus-visible+span{outline:2px solid var(--brand)}
.an-float{position:fixed;inset:0;pointer-events:none;z-index:0}
.an-float i{position:absolute;bottom:-60px;font-style:normal;font-size:34px;animation:monteEcran 12s linear infinite}
[data-theme="dark"] .an-pub{background:linear-gradient(180deg,#2A2418,#2A1A22)}
@media (prefers-reduced-motion:reduce){.rt-big,.rt-moon,.rt-hero-e span,.an-th,.rt-sky i{animation:none}.an-float{display:none}}
/* Outils terminés (tout coché) */
.tools-finis{margin-top:18px;border:1px dashed var(--line);border-radius:16px;padding:12px 14px}
.tools-finis summary{cursor:pointer;font-weight:700;list-style:none}
.tools-finis summary::-webkit-details-marker{display:none}
.tools-finis summary small{display:block;font-weight:500;color:var(--muted);margin-top:2px}
.tools-finis[open] .tools{margin-top:12px}
.tools-finis .tool{opacity:.8}

/* Mode sombre automatique (réglage du téléphone) : mêmes couleurs que le mode sombre choisi à la main */
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]) .btn.ghost{border-color:#3E5260}
:root:not([data-theme="light"]) .rl-i{filter:brightness(.8)}
:root:not([data-theme="light"]) .nv-mot{background:#2A2418}:root:not([data-theme="light"]) .nv-jour{background:#1D2A28}
:root:not([data-theme="light"]) .rs-txt{background:#1D2328}
:root:not([data-theme="light"]) .bt-hero{background:linear-gradient(135deg,#1D2A28,#2A2418)}
:root:not([data-theme="light"]) .ent-code{background:#1D2328}
html[data-saison="halloween"]:not([data-theme="light"]){--cream:#3A2414}
:root:not([data-theme="light"]) #saison-deco .bat{fill:#B9A6CC}
:root:not([data-theme="light"]) .fondateur-card{background:linear-gradient(135deg,#3A3120,#2E2414);border-color:#6B5424}
:root:not([data-theme="light"]) #saison-deco .spider path,:root:not([data-theme="light"]) #saison-deco .spider g{stroke:#CBB8E0}:root:not([data-theme="light"]) #saison-deco .spider ellipse,:root:not([data-theme="light"]) #saison-deco .spider circle:not([fill="#fff"]){fill:#CBB8E0}
:root:not([data-theme="light"]) .cdm-rules{background:#2A2418}:root:not([data-theme="light"]) .cdm-ok{background:#16352A;color:#C8F2DC}
:root:not([data-theme="light"]) .an-pub{background:linear-gradient(180deg,#2A2418,#2A1A22)}
}
/* Drapeaux de langue en haut de page */
.lang-flags{display:flex;gap:2px;margin-left:auto;margin-right:8px}
.lang-flags a,.lang-flags>span,.lang-flags button{font-size:22px;line-height:1;padding:6px;border-radius:10px;text-decoration:none;opacity:.55;background:none;border:0;cursor:pointer;font-family:inherit}
.lang-flags [aria-current]{opacity:1;background:var(--line)}
.lang-flags a:hover,.lang-flags a:focus-visible,.lang-flags button:hover,.lang-flags button:focus-visible{opacity:1}
@media (min-width:900px){.pub-head .lang-flags{order:3;margin:0 0 0 4px}.pub-head .pub-nav{margin-left:auto}.lang-flags a,.lang-flags>span,.lang-flags button{font-size:20px;padding:4px}}
.app-head .lang-flags{margin-left:auto;margin-right:2px}.app-head .lang-flags+.bell{margin-left:0}
@media (max-width:380px){.lang-flags a,.lang-flags>span,.lang-flags button{font-size:19px;padding:4px}}

/* Repas à la cuillère */
.bb-t.t-repas{grid-column:1/-1;min-height:0;display:flex;align-items:center;gap:14px;background:color-mix(in srgb,var(--sun) 35%,var(--surface));color:var(--ink)}
.bb-t.t-repas .bb-i{font-size:34px}
.bb-t.t-repas>span:last-child{display:grid;gap:2px}
.rp-q{margin:4px 0 0;font-weight:800}
.rp-al{flex-wrap:wrap;justify-content:flex-start}
.rp-add{flex-wrap:nowrap;gap:8px}
.rp-add input{flex:1;min-width:0;min-height:42px;border-radius:10px;border:1.5px solid var(--line);padding:6px 10px;background:var(--surface);color:var(--ink)}
.rp-seg{flex-wrap:wrap}
.rp-seg button{flex:1 1 auto}
.rp-g{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rp-g span{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.rp-g i{font-style:normal;opacity:.8}
.bb-same small{display:block;font-weight:400;opacity:.85}

/* Planning des nuits */
.rl-plan{margin-top:8px}
.rl-list{display:grid;gap:4px;margin-top:8px}
.rl-row{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:8px;padding:6px 8px;border-radius:12px;background:var(--bg)}
.rl-row.moi{background:color-mix(in srgb,var(--sun) 22%,var(--surface))}
.rl-d{font-size:13px;font-weight:700}
.rl-q{font-size:14px;min-width:0}
.rl-row .btn{min-height:34px;padding:2px 12px}
.rl-cpt{margin:8px 0 0}

/* Moment à deux */
.ad-next{background:color-mix(in srgb,#E5484D 10%,var(--surface))}
.ad-next h2{font-size:22px;margin:4px 0}
.ad-when{font-weight:700;margin:0 0 6px}
.ad-cats{flex-wrap:wrap}
.ad-cats button{flex:1 1 auto}
.ad-cats button span{font-size:13px}
.ad-idees{display:grid;gap:6px}
.ad-idee{all:unset;box-sizing:border-box;cursor:pointer;padding:10px 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);font-size:15px}
.ad-idee[aria-pressed="true"]{border-color:var(--green);background:color-mix(in srgb,var(--green) 12%,var(--surface));font-weight:700}
.ad-idee:focus-visible{outline:3px solid var(--sun)}
.ad-hist{display:grid;gap:8px}
.ad-h{display:flex;gap:10px;align-items:flex-start}
.ad-e{font-size:22px}
.c-adeux{display:flex;gap:12px;align-items:center;text-align:left;background:color-mix(in srgb,#E5484D 10%,var(--surface));color:var(--ink);width:100%}
.ad-big{font-size:32px}
/* Congé : jour par jour */
.cg-bar{height:10px;border-radius:99px;background:var(--bg);overflow:hidden;border:1px solid var(--line)}
.cg-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--sun));border-radius:99px}
.cg-mis{display:flex;gap:10px;align-items:center;padding:12px;border-radius:16px;background:color-mix(in srgb,var(--sun) 20%,var(--surface))}
.cg-mis>span{font-size:28px}.cg-mis small{display:block;opacity:.8}.cg-mis b{font-size:16px}
.cg-mis.ok{background:color-mix(in srgb,var(--green) 16%,var(--surface))}
.cg-card{display:grid;gap:8px}

/* ================= Jeu du jour ================= */
.jeu-card{position:relative;overflow:hidden;display:grid;gap:10px;background:linear-gradient(150deg,color-mix(in srgb,var(--sun) 22%,var(--surface)),var(--surface) 70%)}
.jeu-card::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:color-mix(in srgb,var(--sun) 30%,transparent);opacity:.5;pointer-events:none}
.jeu-top{display:flex;gap:14px;align-items:center}
.jeu-top h2{margin:2px 0 4px;font-size:21px}
.jeu-e{font-size:46px;line-height:1;display:inline-block;animation:jeu-bob 2.8s ease-in-out infinite;transform-origin:50% 90%;filter:drop-shadow(0 4px 6px rgba(0,0,0,.12))}
.jeu-card.big .jeu-e{font-size:64px}
.jeu-min{display:inline-block;font-size:12.5px;font-weight:700;padding:2px 10px;border-radius:99px;background:var(--surface);border:1px solid var(--line)}
.jeu-how{margin:0;font-size:15.5px;line-height:1.5}
.jeu-ok{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.jeu-stamp{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;font-weight:900;font-size:20px;animation:jeu-stamp .5s cubic-bezier(.2,1.6,.4,1) both}
.jeu-card.fait{background:linear-gradient(150deg,color-mix(in srgb,var(--green) 16%,var(--surface)),var(--surface) 70%)}
.jeu-card.pop{animation:jeu-pop .45s ease}
.jeu-card.swap .jeu-top,.jeu-card.swap .jeu-how{animation:jeu-out .22s ease forwards}
.jeu-card:not(.swap) .jeu-top{animation:jeu-in .35s ease both}
.jeu-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.jeu-stats>div{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px 6px;text-align:center;display:grid;gap:2px}
.jeu-stats b{font-family:var(--display);font-size:24px}.jeu-stats span{font-size:12.5px;opacity:.8}
.jeu-list{display:grid;gap:6px}
.jeu-item{border:1px solid var(--line);border-radius:14px;background:var(--bg);padding:2px 12px;animation:jeu-in .35s ease both;animation-delay:var(--d)}
.jeu-item summary{display:flex;align-items:center;gap:10px;padding:8px 0;cursor:pointer;list-style:none}
.jeu-item summary::-webkit-details-marker{display:none}
.jeu-item summary small{margin-left:auto;opacity:.7;white-space:nowrap}
.jeu-ie{font-size:24px}.jeu-item i{font-style:normal;color:var(--green);font-weight:900}
.jeu-item[open]{background:var(--surface)}
.jeu-item p{margin:0 0 8px}.jeu-item .btn{margin-bottom:10px}
@keyframes jeu-bob{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-6px) rotate(6deg)}}
@keyframes jeu-stamp{0%{transform:scale(2.2) rotate(-20deg);opacity:0}100%{transform:none;opacity:1}}
@keyframes jeu-pop{0%{transform:scale(1)}40%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes jeu-out{to{opacity:0;transform:translateX(-24px)}}
@keyframes jeu-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ================= Dressing ================= */
.dr-kids{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.dr-kid{display:grid;gap:10px}
.dr-head{display:flex;align-items:center;gap:12px}
.dr-ico{font-size:34px;animation:dr-swing 3.2s ease-in-out infinite;transform-origin:50% 0}
.dr-size{margin-left:auto;font-family:var(--display);font-weight:800;font-size:20px;padding:8px 14px;border-radius:16px;background:var(--bg);border:2px dashed var(--line);white-space:nowrap}
.dr-size.on{background:var(--green);color:#fff;border:2px solid var(--green)}
.dr-size.bump{animation:dr-bump .5s cubic-bezier(.2,1.6,.4,1)}
.dr-soon{margin:0;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--sun) 24%,var(--surface));font-size:14.5px;animation:dr-pulse 2.4s ease-in-out infinite}
.dr-chips{display:flex;flex-wrap:wrap;gap:6px}
.dr-chips button{all:unset;cursor:pointer;padding:7px 11px;border-radius:99px;border:1.5px solid var(--line);background:var(--surface);font-size:13.5px;font-weight:700;transition:transform .15s,background .2s}
.dr-chips button:active{transform:scale(.92)}
.dr-chips button.sug{border-style:dashed;border-color:var(--green)}
.dr-chips button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
.dr-chips button:focus-visible{outline:3px solid var(--sun)}
.dr-list{display:grid;gap:6px}
.dr-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--bg);transition:opacity .3s,transform .3s}
.dr-row>div{flex:1;min-width:0}
.dr-row.out{opacity:0;transform:translateX(40px) scale(.96)}
.dr-row.ok b{text-decoration:line-through;opacity:.6}
.dr-dest{font-size:24px}
.dr-check{all:unset;cursor:pointer;width:26px;height:26px;border-radius:8px;border:2px solid var(--line);display:grid;place-items:center;font-weight:900;color:#fff;flex:none}
.dr-check[aria-pressed="true"]{background:var(--green);border-color:var(--green);animation:dr-bump .35s}
.dr-add{display:flex;flex-wrap:wrap;gap:6px}
.dr-add input[name=t]{flex:1 1 180px}
@keyframes dr-swing{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes dr-bump{0%{transform:scale(1)}40%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes dr-pulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--sun) 50%,transparent)}50%{box-shadow:0 0 0 6px transparent}}

/* ================= Courses ================= */
.cr-card{gap:12px}
.cr-add{display:flex;gap:8px}
.cr-add input{flex:1;min-width:0;min-height:50px;border-radius:14px;border:1.5px solid var(--line);padding:6px 14px;background:var(--surface);color:var(--ink);font-size:16px}
.cr-add .btn{min-width:54px;font-size:22px}
.cr-quick{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.cr-quick::-webkit-scrollbar{display:none}
.cr-quick button{all:unset;cursor:pointer;white-space:nowrap;padding:6px 12px;border-radius:99px;background:var(--bg);border:1px solid var(--line);font-size:13.5px;font-weight:600;transition:transform .15s}
.cr-quick button:active{transform:scale(.92)}
.cr-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cr-it{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--bg);animation:cr-in .3s ease both;transition:opacity .3s,transform .3s}
.cr-it.auto{background:color-mix(in srgb,var(--sun) 18%,var(--surface))}
.cr-t{flex:1;min-width:0;font-size:16px;position:relative}
.cr-badge{font-size:11px;font-weight:800;padding:1px 7px;border-radius:99px;background:var(--sun);color:var(--sun-ink,#1C1206);vertical-align:2px}
.cr-check{all:unset;cursor:pointer;flex:none;width:28px;height:28px;border-radius:50%;border:2px solid var(--green);display:grid;place-items:center;transition:background .2s}
.cr-check svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24}
.cr-check[aria-pressed="true"]{background:var(--green)}
.cr-check[aria-pressed="true"] svg{stroke-dashoffset:0}
.cr-it.checking .cr-check{background:var(--green);animation:dr-bump .35s}
.cr-it.checking .cr-check svg{stroke-dashoffset:0;transition:stroke-dashoffset .3s ease}
.cr-it.checking .cr-t::after{content:"";position:absolute;left:0;top:50%;height:2px;background:currentColor;animation:cr-strike .3s ease forwards}
.cr-it.checking{transform:translateX(8px);opacity:.6}
.cr-it.unchecking{opacity:.5;transform:translateY(-6px)}
.cr-it.fait .cr-t{text-decoration:line-through;opacity:.55}
.cr-it.out{opacity:0;transform:translateX(-40px)}
.cr-caddie{display:grid;gap:8px;padding-top:6px;border-top:1px dashed var(--line)}
.cr-vide{display:grid;justify-items:center;gap:4px;padding:18px 8px;text-align:center}
.cr-vide span:first-child{font-size:44px;animation:jeu-bob 2.6s ease-in-out infinite}
.c-courses{display:flex;gap:12px;align-items:center;text-align:left;width:100%}
.cr-mini-i{font-size:30px;animation:cr-roll 3s ease-in-out infinite}
@keyframes cr-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes cr-strike{from{width:0}to{width:100%}}
@keyframes cr-roll{0%,100%{transform:translateX(0)}50%{transform:translateX(5px) rotate(-4deg)}}

/* ================= Cadeaux et mercis ================= */
.cx-top{display:flex;align-items:center;gap:18px}
.cx-ring{width:110px;height:110px;flex:none;transform:rotate(-90deg)}
.cx-ring circle{fill:none;stroke-width:12}
.cx-ring .bg{stroke:var(--bg)}
.cx-ring .fg{stroke:#E5484D;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.3,1,.4,1);animation:cx-fill 1.2s cubic-bezier(.3,1,.4,1) both}
.cx-num{display:grid;gap:2px}
.cx-num b{font-family:var(--display);font-size:36px}.cx-num b small{font-size:18px;opacity:.6}
.cx-add{display:flex;flex-wrap:wrap;gap:6px}.cx-add input{flex:1 1 180px}
.cx-list{display:grid;gap:6px}
.cx-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--bg);animation:jeu-in .35s ease both;animation-delay:var(--d)}
.cx-row.ok{background:color-mix(in srgb,#E5484D 8%,var(--surface))}
.cx-row.ok .cx-i{animation:cx-heart 2.4s ease-in-out infinite}
.cx-i{font-size:24px}
.cx-t{flex:1;min-width:0;display:grid}
.merci-carte{display:grid;gap:8px;padding:12px;border-radius:14px;background:var(--bg)}
.merci-carte .row{gap:8px}
.coeur-vole{position:fixed;left:50%;bottom:30%;font-size:44px;z-index:9999;pointer-events:none;animation:coeur-vole 1.3s cubic-bezier(.3,.7,.4,1) forwards}
@keyframes cx-fill{from{stroke-dashoffset:290}}
@keyframes cx-heart{0%,100%{transform:scale(1)}10%{transform:scale(1.18)}20%{transform:scale(1)}}
@keyframes coeur-vole{0%{transform:translate(-50%,0) scale(.4);opacity:0}20%{transform:translate(-50%,-20px) scale(1.2);opacity:1}100%{transform:translate(30vw,-60vh) rotate(25deg) scale(.6);opacity:0}}

/* ================= Livre d'or ================= */
.lo-wall{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));padding:4px}
.lo-card{position:relative;margin:0;padding:22px 18px 14px;border-radius:6px 22px 6px 22px;background:#FFFBEF;color:#3A2E1C;box-shadow:0 8px 22px rgba(60,40,10,.12),0 1px 0 rgba(0,0,0,.04);transform:rotate(var(--r));animation:lo-in .55s cubic-bezier(.2,1.2,.4,1) both;animation-delay:var(--d)}
.lo-card::before{content:"";position:absolute;top:-9px;left:50%;width:70px;height:20px;transform:translateX(-50%) rotate(-3deg);background:color-mix(in srgb,var(--sun) 55%,transparent);border-radius:3px;opacity:.85}
.lo-card blockquote{margin:0 0 12px;font-size:17px;line-height:1.5;font-family:Georgia,'Times New Roman',serif;font-style:italic}
.lo-card figcaption{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:14px}
.lo-card figcaption span{margin-left:auto;font-size:12px;opacity:.6}
.lo-card .x{position:absolute;top:6px;right:6px;opacity:.5}
.lo-card:hover{transform:rotate(0) translateY(-3px);transition:transform .25s}
[data-theme="dark"] .lo-card{background:#2E2A22;color:#F4EAD2}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lo-card{background:#2E2A22;color:#F4EAD2}}
.lo-vide{display:grid;justify-items:center;gap:4px;text-align:center;padding:24px}
.lo-vide span:first-child,.lo-env{font-size:52px;display:inline-block;animation:lo-float 3s ease-in-out infinite}
.lo-form,.nv-tailles,.lo-merci{margin-top:6px;padding:16px;border-radius:20px;background:var(--bg);border:1px solid var(--line);text-align:left}
.lo-form input,.lo-form textarea{width:100%;min-height:46px;border-radius:12px;border:1.5px solid var(--line);padding:8px 12px;background:var(--surface);color:var(--ink);font:inherit}
.lo-liens{display:flex;flex-wrap:wrap;gap:6px}
.lo-liens label{cursor:pointer;position:relative}.lo-liens input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
.lo-liens span{display:inline-block;padding:6px 12px;border-radius:99px;border:1.5px solid var(--line);background:var(--surface);font-size:14px;font-weight:600;transition:transform .15s}
.lo-liens input:checked+span{background:#E5484D;border-color:#E5484D;color:#fff;transform:scale(1.05)}
.lo-liens input:focus-visible+span{outline:3px solid var(--sun)}
.lo-merci{text-align:center;display:grid;justify-items:center;gap:4px}
.lo-merci .lo-env{animation:lo-send 1s cubic-bezier(.3,1.4,.4,1) both,lo-float 3s 1s ease-in-out infinite}
.nv-tailles>div{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.nv-tailles>div span{display:grid;padding:8px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-align:center;font-size:13px}
.nv-tailles>div span b{font-family:var(--display);font-size:18px}
@keyframes lo-in{from{opacity:0;transform:translateY(24px) rotate(calc(var(--r) * 3)) scale(.92)}to{opacity:1;transform:rotate(var(--r))}}
@keyframes lo-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(4deg)}}
@keyframes lo-send{0%{transform:translateY(40px) scale(.3);opacity:0}70%{transform:translateY(-10px) scale(1.15);opacity:1}100%{transform:none}}
@media print{.lo-wall{grid-template-columns:1fr 1fr}.lo-card{transform:none;box-shadow:none;border:1px solid #ccc;break-inside:avoid;animation:none}}
@media (prefers-reduced-motion:reduce){.jeu-e,.dr-ico,.dr-soon,.cr-mini-i,.cx-row.ok .cx-i,.lo-vide span:first-child,.lo-env,.cr-vide span:first-child{animation:none}.lo-card,.jeu-item,.cx-row,.cr-it{animation:none}}
.dash>.dr-kids,.dash>.jeu-stats,.dash>.lo-wall,.dash>.card.jeu-card,.dash>.cr-card,.dash>.cx-top{grid-column:1/-1}
.dr-kids{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.dash.d1{grid-template-columns:minmax(0,1fr);max-width:760px}
.dash.d1>*{grid-column:1/-1}

/* Diagnostic des rappels */
.diag-btn{display:block;margin:8px auto 0}
.diag{margin-top:10px;padding:12px;border-radius:14px;background:var(--bg);border:1px solid var(--line);display:grid;gap:8px;animation:jeu-in .3s ease both}
.diag ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px}
.diag li.ko{color:#C0392B;font-weight:600}

/* ================= Le premier Noël ================= */
.noel-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;padding:22px 20px;border-radius:26px;background:linear-gradient(160deg,#0E2240,#2A5B85);color:#fff;min-height:130px}
.noel-hero .eyebrow{color:#CFE3FF}
.nh-txt{display:grid;gap:0;position:relative;z-index:1}
.nh-txt b{font-family:var(--display);font-size:46px;line-height:1;font-weight:800;animation:nh-glow 2.6s ease-in-out infinite}
.nh-txt span{opacity:.85}
.nh-tree{font-size:70px;line-height:1;position:relative;z-index:1;animation:lg-swing 3.4s ease-in-out infinite;transform-origin:50% 95%;filter:drop-shadow(0 0 14px rgba(255,211,77,.45))}
.nh-tree.big{font-size:84px;display:inline-block}
.nh-snow{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.nh-snow.fixed{position:fixed;z-index:0}
.nh-snow i{position:absolute;top:-20px;color:#fff;opacity:.85;font-style:normal;animation:nh-fall linear infinite}
.noel-pub{background:linear-gradient(180deg,#0E2240 0,#2A5B85 340px,var(--bg) 340px)}
.noel-pub .panel{position:relative;z-index:1}
.noel-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.noel-tabs::-webkit-scrollbar{display:none}
.noel-tabs button{white-space:nowrap;flex:1 0 auto}
.noel-add{display:flex;flex-wrap:wrap;gap:6px}.noel-add input[name=titre],.noel-add input[name=lien]{flex:1 1 180px}
.noel-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.noel-it{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:var(--bg);border:1px solid var(--line);animation:jeu-in .35s ease both;animation-delay:var(--d)}
.noel-it>div{flex:1;min-width:0}
.noel-it.pris{background:color-mix(in srgb,#2E7D4F 12%,var(--surface))}
.noel-it.pris .noel-ic{animation:cx-heart 2.4s ease-in-out infinite}
.noel-ic{font-size:26px}
.noel-resa{display:flex;gap:6px;width:100%;animation:jeu-in .3s ease both}
.noel-resa input{flex:1;min-width:0;min-height:44px;border-radius:12px;border:1.5px solid var(--line);padding:6px 12px;background:var(--surface);color:var(--ink)}
.noel-idees{display:grid;gap:6px}
.noel-idee{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--bg);animation:jeu-in .35s ease both;animation-delay:var(--d)}
.noel-idee>span:first-child{font-size:24px}.noel-idee>span:nth-child(2){flex:1}
.noel-plus{all:unset;cursor:pointer;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#C8372D;color:#fff;font-weight:800;font-size:18px;transition:transform .15s}
.noel-plus:active{transform:scale(.85)}.noel-plus:focus-visible{outline:3px solid var(--sun)}
.noel-ok{font-style:normal;color:#2E7D4F;font-weight:900;font-size:18px}
.noel-idee.pop{animation:dr-bump .3s}
.avent{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;perspective:600px}
.av-case{all:unset;cursor:pointer;aspect-ratio:1;position:relative;animation:jeu-in .4s ease both;animation-delay:var(--d)}
.av-case:disabled{cursor:not-allowed}
.av-in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.3,1.3,.5,1)}
.av-front,.av-back{position:absolute;inset:0;display:grid;place-items:center;border-radius:12px;backface-visibility:hidden;font-family:var(--display);font-weight:800;font-size:20px}
.av-front{background:linear-gradient(150deg,#C8372D,#9E2620);color:#fff;box-shadow:inset 0 0 0 3px rgba(255,255,255,.25)}
.av-case:nth-child(3n) .av-front{background:linear-gradient(150deg,#2E7D4F,#1F5C39)}
.av-case:nth-child(4n) .av-front{background:linear-gradient(150deg,#B7791F,#8A5A12)}
.av-case:disabled .av-front{opacity:.45;filter:grayscale(.4)}
.av-back{background:#FFFBEF;color:#3A2E1C;transform:rotateY(180deg);font-size:26px}
.av-case.open.sel .av-in,.av-case.fait .av-in{transform:rotateY(180deg)}
.av-case.fait .av-back{background:#FFE7A3;animation:jeu-pop .5s}
.av-case:focus-visible .av-front{outline:3px solid var(--sun)}
.av-mission{display:grid;gap:6px;padding:14px;border-radius:16px;background:color-mix(in srgb,#C8372D 10%,var(--surface));animation:jeu-in .35s ease both}
.noel-msgs{flex-direction:column;align-items:stretch}.noel-msgs button{text-align:left}
.c-noel{display:flex;gap:12px;align-items:center;text-align:left;width:100%;background:linear-gradient(150deg,#0E2240,#2A5B85);color:#fff;border:none}
.c-noel .small{opacity:.9}
.cn-e{font-size:34px;animation:lg-swing 3s ease-in-out infinite;transform-origin:50% 90%}
@keyframes nh-fall{0%{transform:translateY(0) translateX(0)}50%{transform:translateY(80px) translateX(12px)}100%{transform:translateY(190px) translateX(-6px);opacity:0}}
.noel-pub .nh-snow i{animation-name:nh-fall-tall}
@keyframes nh-fall-tall{to{transform:translateY(105vh) translateX(20px)}}
@keyframes nh-glow{0%,100%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 18px rgba(255,211,77,.7)}}

/* ================= Sac à langer & voyage ================= */
.sac-top{display:flex;flex-direction:row;align-items:center;gap:18px}
.sac-bag{position:relative;width:86px;height:86px;border-radius:24px;background:var(--bg);overflow:hidden;display:grid;place-items:center;flex:none;border:2px solid var(--line)}
.sac-fill{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,color-mix(in srgb,var(--green) 55%,transparent),color-mix(in srgb,var(--sun) 40%,transparent));transition:height .6s cubic-bezier(.3,1.2,.5,1)}
.sac-e{font-size:46px;position:relative;z-index:1;animation:jeu-bob 3s ease-in-out infinite}
.sac-bag.plein{border-color:var(--green);animation:jeu-pop .6s}
.sac-prog{display:grid}.sac-prog b{font-family:var(--display);font-size:30px}
.sac-durees{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.sac-durees button{all:unset;cursor:pointer;display:grid;justify-items:center;gap:2px;padding:12px 6px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface);font-weight:700;font-size:14px;transition:transform .15s}
.sac-durees button span{font-size:26px}
.sac-durees button[aria-pressed="true"]{border-color:var(--green);background:color-mix(in srgb,var(--green) 14%,var(--surface));transform:scale(1.03)}
.sac-durees button:focus-visible{outline:3px solid var(--sun)}
.sac-warn{margin:0;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--sun) 24%,var(--surface));font-size:14px}
.sac-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sac-list li{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:14px;background:var(--bg);transition:opacity .25s,transform .25s}
.sac-list li>span{flex:1;min-width:0}
.sac-list li.ok>span{text-decoration:line-through;opacity:.55}
.sac-list li.checking{transform:translateX(6px)}.sac-list li.checking .cr-check{background:var(--green)}.sac-list li.checking .cr-check svg{stroke-dashoffset:0;transition:stroke-dashoffset .25s}
.sac-q{font-family:var(--display);font-size:15px;padding:2px 9px;border-radius:99px;background:var(--surface);border:1px solid var(--line)}
.vg-top{display:grid;gap:8px}
.vg-count{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
.vg-count b{font-family:var(--display);font-size:40px;line-height:1}
.vg-plane{font-size:38px;display:inline-block;animation:vg-fly 4s ease-in-out infinite}
.vg-bar{height:10px;border-radius:99px;background:var(--bg);overflow:hidden;border:1px solid var(--line)}
.vg-bar i{display:block;height:100%;background:linear-gradient(90deg,#5AB8FF,var(--green));border-radius:99px;transition:width .6s ease}
.vg-qui{all:unset;cursor:pointer;font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:99px;border:1.5px dashed var(--line);white-space:nowrap}
.vg-qui.on{border-style:solid;border-color:var(--green);background:color-mix(in srgb,var(--green) 14%,var(--surface))}
@keyframes vg-fly{0%,100%{transform:translate(0,0) rotate(-4deg)}50%{transform:translate(8px,-6px) rotate(4deg)}}

/* ================= Modes de garde ================= */
.mg-types{flex-wrap:wrap}
.mg-card{display:grid;gap:10px;animation:jeu-in .35s ease both}
.mg-card.choix{box-shadow:0 0 0 3px var(--green)}
.mg-head{display:flex;align-items:center;gap:12px}
.mg-e{font-size:34px}
.mg-sc{margin-left:auto;font-family:var(--display);font-size:26px;font-weight:800}.mg-sc small{font-size:14px;opacity:.6}
.mg-crit{display:grid;gap:4px}
.mg-crit>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mg-stars{display:inline-flex;gap:2px}
.mg-stars button{all:unset;cursor:pointer;font-size:22px;line-height:1;color:var(--line);transition:transform .15s,color .2s}
.mg-stars button.on{color:#F2B541}
.mg-stars button:active{transform:scale(1.4)}
.mg-stars button:focus-visible{outline:2px solid var(--sun)}
.mg-table{border-collapse:collapse;width:100%;font-size:14px}
.mg-table th,.mg-table td{padding:8px;border-bottom:1px solid var(--line);text-align:center}
.mg-table td:first-child,.mg-table th:first-child{text-align:left}
.mg-table td{color:inherit}.mg-table .mg-tot td{font-weight:800}
.mg-table td.best{color:var(--green)}

/* ================= Fatigue ================= */
.c-fatigue{display:flex;gap:12px;align-items:center}
.c-fatigue>div{flex:1}
.ft-big{font-size:32px}
.ft-pick{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}
.ft-pick button{all:unset;cursor:pointer;display:grid;justify-items:center;gap:2px;padding:8px 2px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);transition:transform .15s}
.ft-pick button span{font-size:26px;transition:transform .2s}
.ft-pick button small{font-size:11px;font-weight:700}
.ft-pick button:active span{transform:scale(1.3)}
.ft-pick button[aria-pressed="true"]{border-color:var(--green);background:color-mix(in srgb,var(--green) 14%,var(--surface))}
.ft-pick button.pop span{animation:dr-bump .3s}
.ft-pick button:focus-visible{outline:3px solid var(--sun)}
.ft-conseil{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:color-mix(in srgb,var(--sun) 20%,var(--surface))}
.ft-conseil>span{font-size:26px}.ft-conseil p{flex:1 1 200px}
.ft-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;height:180px;align-items:end}
.ft-day{display:grid;grid-template-rows:1fr auto;height:100%;gap:4px;text-align:center;font-size:12px}
.ft-bars{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:100%}
.ft-bars i{display:grid;place-items:start center;width:44%;max-width:22px;border-radius:8px 8px 4px 4px;font-style:normal;font-size:11px;padding-top:2px;animation:ft-grow .7s cubic-bezier(.3,1.3,.5,1) both;animation-delay:var(--d);transform-origin:bottom}
.ft-bars i.moi{background:var(--green)}.ft-bars i.lui{background:#5AB8FF}
.ft-leg{display:flex;align-items:center;gap:6px;margin:6px 0 0}.ft-leg i{display:inline-block;width:12px;height:12px;border-radius:4px}.ft-leg i.moi{background:var(--green)}.ft-leg i.lui{background:#5AB8FF;margin-left:10px}
@keyframes ft-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){.nh-snow,.nh-tree,.cn-e,.nh-txt b,.sac-e,.vg-plane{animation:none!important}.nh-snow{display:none}.av-in{transition:none}.ft-bars i{animation:none}}
.noel-pub .panel{margin-top:60px}

/* ================= Journal secret ================= */
.jb-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}
.jb-nav b{text-align:center;flex:1}
.jb-page{position:relative;padding:26px 22px 22px 54px;border-radius:8px 22px 22px 8px;background:#FFFBEF;color:#2A2318;box-shadow:0 10px 28px rgba(60,40,10,.14);
  background-image:linear-gradient(90deg,transparent 38px,#F2A0A0 38px,#F2A0A0 40px,transparent 40px),repeating-linear-gradient(180deg,transparent 0 31px,#D9E6F2 31px 32px);font-family:Georgia,'Times New Roman',serif;animation:jb-open .6s cubic-bezier(.2,1.2,.4,1) both;transform-origin:left center}
.jb-page p{margin:0 0 6px;font-style:italic;font-size:17px;line-height:32px;animation:jb-ink .5s ease both;animation-delay:var(--d)}
.jb-page b{font-style:normal;color:var(--brand)}
.jb-date{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#8A7A5C;margin-bottom:8px}
[data-theme="dark"] .jb-page{background-color:#2E2A22;color:#F4EAD2;background-image:linear-gradient(90deg,transparent 38px,#8A4A4A 38px,#8A4A4A 40px,transparent 40px),repeating-linear-gradient(180deg,transparent 0 31px,#3A4250 31px 32px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .jb-page{background-color:#2E2A22;color:#F4EAD2;background-image:linear-gradient(90deg,transparent 38px,#8A4A4A 38px,#8A4A4A 40px,transparent 40px),repeating-linear-gradient(180deg,transparent 0 31px,#3A4250 31px 32px)}}
[data-theme="dark"] .jb-page b{color:#8FD9C9}
.c-jb,.c-match,.c-palier{display:flex;gap:12px;align-items:center;text-align:left;width:100%}
.c-jb{background:#FFFBEF;color:#2A2318}.jb-e{font-size:32px;animation:jb-wiggle 3s ease-in-out infinite}
@keyframes jb-open{from{opacity:0;transform:perspective(900px) rotateY(-35deg)}to{opacity:1;transform:none}}
@keyframes jb-ink{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes jb-wiggle{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}

/* ================= Ce jour-là ================= */
.c-cjl{position:relative;padding:0;overflow:hidden}
.cjl-in{all:unset;cursor:pointer;display:flex;gap:14px;align-items:center;padding:16px;width:100%;box-sizing:border-box}
.cjl-x{position:absolute;top:6px;right:6px;z-index:1}
.cjl-ph{width:76px;height:76px;object-fit:cover;border-radius:16px;flex:none;animation:cjl-pol .7s cubic-bezier(.2,1.3,.4,1) both;box-shadow:0 6px 16px rgba(0,0,0,.15);border:4px solid #fff}
.cjl-e{font-size:40px;flex:none;animation:jeu-bob 3s ease-in-out infinite}
.cjl-e.big{font-size:56px}
.c-cjl.fete,.cjl-item.fete{background:linear-gradient(150deg,color-mix(in srgb,var(--sun) 30%,var(--surface)),var(--surface))}
.cjl-list{display:grid;gap:14px}
.cjl-item{display:flex;gap:14px;align-items:center;animation:jeu-in .45s ease both;animation-delay:var(--d)}
.cjl-big{width:110px;height:110px;object-fit:cover;border-radius:12px;border:5px solid #fff;box-shadow:0 8px 20px rgba(0,0,0,.16);transform:rotate(-3deg);flex:none}
@keyframes cjl-pol{from{opacity:0;transform:rotate(-14deg) scale(.6)}to{opacity:1;transform:rotate(-3deg)}}

/* ================= Le match ================= */
.mt-board{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;text-align:center;background:linear-gradient(150deg,#1C2633,#2E3F55);color:#fff;border:none}
.mt-side{display:grid;justify-items:center;gap:4px}
.mt-side b{font-size:15px}
.mt-av{font-size:40px;display:inline-block;animation:mt-bounce 1.6s ease-in-out infinite}
.mt-av.b{animation-delay:.8s;transform:scaleX(-1)}
.mt-score{font-family:var(--display);font-size:56px;font-weight:800;line-height:1;color:#FFD34D;animation:mt-pop .6s cubic-bezier(.2,1.6,.4,1) both .3s}
.mt-vs{font-family:var(--display);font-weight:900;font-size:26px;color:#FF5A5A;animation:mt-vs 1.4s ease-in-out infinite}
.mt-res{grid-column:1/-1;margin:6px 0 0;font-size:16px}
.mt-cats{display:grid;gap:8px}
.mt-cat{display:grid;grid-template-columns:34px 1fr 1fr;grid-template-areas:"e l l" "e a b";gap:2px 8px;align-items:center;padding:10px;border-radius:14px;background:var(--bg);animation:jeu-in .4s ease both;animation-delay:var(--d)}
.mt-ce{grid-area:e;font-size:26px}.mt-cl{grid-area:l;font-weight:700;font-size:14px}
.mt-v{padding:4px 8px;border-radius:10px;text-align:center;font-size:14px}.mt-v:nth-of-type(3){grid-area:a}.mt-v:nth-of-type(4){grid-area:b}
.mt-v.win{background:color-mix(in srgb,#FFD34D 40%,var(--surface));font-weight:800}
.c-match{background:linear-gradient(150deg,#1C2633,#2E3F55);color:#fff;border:none}.mt-mini{font-size:30px;animation:mt-vs 1.4s ease-in-out infinite}
@keyframes mt-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.mt-av.b{animation-name:mt-bounce-b}@keyframes mt-bounce-b{0%,100%{transform:scaleX(-1) translateY(0)}50%{transform:scaleX(-1) translateY(-6px)}}
@keyframes mt-pop{from{transform:scale(0);opacity:0}to{transform:none;opacity:1}}
@keyframes mt-vs{0%,100%{transform:scale(1) rotate(-6deg)}50%{transform:scale(1.15) rotate(6deg)}}

/* ================= Avant / Après ================= */
.aa-card{display:grid;gap:10px}
.aa{position:relative;width:100%;aspect-ratio:1;border-radius:18px;overflow:hidden;background:var(--bg);touch-action:pan-y}
.aa-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.aa-top{position:absolute;inset:0;clip-path:inset(0 0 0 var(--p));animation:aa-hint 2.4s ease-in-out .4s 1}
.aa-line{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.4);pointer-events:none}
.aa-line i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;color:#1C2633;display:grid;place-items:center;font-style:normal;font-weight:900;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.aa-lab{position:absolute;bottom:10px;padding:3px 10px;border-radius:99px;background:rgba(0,0,0,.55);color:#fff;font-size:12.5px;font-weight:700;pointer-events:none}
.aa-lab.l{left:10px}.aa-lab.r{right:10px}
.aa-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.aa-diff{text-align:center;margin:0}
@keyframes aa-hint{0%,100%{clip-path:inset(0 0 0 50%)}30%{clip-path:inset(0 0 0 20%)}65%{clip-path:inset(0 0 0 80%)}}

/* ================= Compteurs ================= */
.cp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.cp{display:grid;justify-items:center;gap:2px;padding:18px 8px;border-radius:20px;background:linear-gradient(160deg,#1C2633,#2E3F55);color:#fff;text-align:center;animation:jeu-in .45s ease both;animation-delay:var(--d)}
.cp.fun{background:linear-gradient(160deg,#3A2414,#6B3A1F)}
.cp-e{font-size:28px}
.cp-n{font-family:var(--display);font-size:38px;font-weight:800;line-height:1.1;color:#FFD34D;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.cp span:last-child{font-size:13px;opacity:.85}
.c-palier{background:linear-gradient(150deg,color-mix(in srgb,var(--sun) 40%,var(--surface)),var(--surface))}.pl-e{font-size:32px;animation:dr-bump 1.2s ease-in-out infinite}

/* ================= Bande-son ================= */
.bs-rec{align-items:center;justify-items:center}
.bs-mic{all:unset;cursor:pointer;width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#FF7A7A,#E5484D);box-shadow:0 10px 30px rgba(229,72,77,.35);margin:6px auto;animation:bs-pulse 2.2s ease-in-out infinite}
.bs-mic span{font-size:46px}
.bs-mic:active{transform:scale(.94)}.bs-mic:focus-visible{outline:4px solid var(--sun)}
.bs-wave{display:flex;align-items:center;justify-content:center;gap:4px;height:70px;margin:6px auto}
.bs-wave i{width:6px;border-radius:3px;background:#E5484D;height:20%;animation:bs-bar .9s ease-in-out infinite}
.bs-wave i:nth-child(3n){animation-delay:.15s}.bs-wave i:nth-child(3n+1){animation-delay:.3s}.bs-wave i:nth-child(4n){animation-delay:.45s}
.bs-count{font-family:var(--display);font-size:48px;font-weight:800;margin:0;text-align:center}
.bs-list{display:grid;gap:6px}
.bs-it{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:14px;background:var(--bg);animation:jeu-in .35s ease both;animation-delay:var(--d)}
.bs-it>span:nth-child(2){flex:1}
.bs-play{all:unset;cursor:pointer;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:14px}
.bs-mini{display:flex;gap:2px;align-items:center;height:22px}
.bs-mini i{width:3px;height:30%;border-radius:2px;background:var(--line)}
.bs-it.play{background:color-mix(in srgb,var(--green) 14%,var(--surface))}
.bs-it.play .bs-mini i{background:var(--green);animation:bs-bar .8s ease-in-out infinite}.bs-it.play .bs-mini i:nth-child(2n){animation-delay:.2s}.bs-it.play .bs-mini i:nth-child(3n){animation-delay:.35s}
@keyframes bs-pulse{0%,100%{box-shadow:0 0 0 0 rgba(229,72,77,.45)}50%{box-shadow:0 0 0 18px rgba(229,72,77,0)}}
@keyframes bs-bar{0%,100%{height:20%}50%{height:100%}}
@media (prefers-reduced-motion:reduce){.jb-page,.jb-page p,.cjl-ph,.cjl-e,.mt-av,.mt-vs,.mt-score,.aa-top,.cp,.bs-mic,.bs-wave i,.jb-e,.pl-e,.mt-mini{animation:none!important}}

/* ================= 🏅 La ligue ================= */
.lg-join{display:grid;gap:10px;text-align:center;justify-items:center}
.lg-trophy{font-size:76px;animation:lg-trophy 2.4s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(217,162,27,.45))}
.lg-emojis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;width:100%}
.lg-emojis button{all:unset;cursor:pointer;aspect-ratio:1;display:grid;place-items:center;font-size:clamp(17px,5.4vw,24px);min-width:0;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);transition:transform .15s}
.lg-emojis button[aria-pressed="true"]{border-color:var(--green);background:color-mix(in srgb,var(--green) 16%,var(--surface));transform:scale(1.12)}
.lg-emojis button:focus-visible{outline:3px solid var(--sun)}
.lg-pseudo-prev{font-size:18px;margin:4px 0}
.lg-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;background:linear-gradient(140deg,var(--c),color-mix(in srgb,var(--c) 55%,#1C2633));color:#fff;border:none}
.lg-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 45%,transparent 60%);transform:translateX(-100%);animation:lg-shine 3.5s ease-in-out infinite}
.lg-hero .eyebrow{color:var(--c2)}
.lg-medal{font-size:60px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.3));animation:lg-trophy 3s ease-in-out infinite}
.lg-big{display:block;font-family:var(--display);font-size:36px;line-height:1.1}
.lg-me{margin-left:auto;font-size:40px;animation:jeu-bob 2.6s ease-in-out infinite}
.lg-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.lg-row{display:grid;grid-template-columns:38px 34px 1fr auto;align-items:center;gap:6px;padding:8px 10px;border-radius:14px;background:var(--bg);animation:jeu-in .35s ease both;animation-delay:var(--d)}
.lg-row.up{background:color-mix(in srgb,#2E7D4F 12%,var(--surface))}
.lg-row.down{background:color-mix(in srgb,#E5484D 10%,var(--surface))}
.lg-row.moi{box-shadow:0 0 0 2.5px var(--sun);animation:jeu-in .35s ease both,lg-moi 2.2s ease-in-out 1s infinite}
.lg-rg{font-weight:800;text-align:center;font-size:16px}
.lg-av{font-size:24px}.lg-ps{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lg-ps i{font-style:normal;opacity:.6;font-size:13px}
.lg-pts{font-family:var(--display);font-size:18px}
.lg-sep{list-style:none;text-align:center;font-size:12px;font-weight:800;letter-spacing:.04em;opacity:.65;padding:6px 0}
.lg-sep.down{color:#C0392B}
.lg-how ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.lg-how li{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center}
.lg-res{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:rgba(10,15,25,.72);padding:20px;animation:fade-in .3s ease}
.lg-res-in{background:var(--surface);color:var(--ink);border-radius:28px;padding:28px 22px;text-align:center;max-width:380px;display:grid;gap:8px;justify-items:center;animation:lg-pop .6s cubic-bezier(.2,1.5,.4,1) both}
.lg-res-m{font-size:96px;animation:lg-drop .9s cubic-bezier(.2,1.4,.4,1) both .15s}
.lg-res.monte .lg-res-in{box-shadow:0 0 0 4px #D9A21B,0 20px 60px rgba(217,162,27,.4)}
.c-ligue{display:flex;gap:12px;align-items:center;text-align:left;width:100%;background:linear-gradient(140deg,var(--c),color-mix(in srgb,var(--c) 55%,#1C2633));color:#fff;border:none}
.lg-mini{font-size:32px;animation:lg-trophy 3s ease-in-out infinite}
@keyframes lg-trophy{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-6px) rotate(4deg)}}
@keyframes lg-shine{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes lg-moi{0%,100%{box-shadow:0 0 0 2.5px var(--sun)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--sun) 40%,transparent)}}
@keyframes lg-pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
@keyframes lg-drop{0%{transform:translateY(-120px) rotate(-30deg);opacity:0}70%{transform:translateY(8px) rotate(6deg);opacity:1}100%{transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}

/* ================= 🎬 La story ================= */
.story{position:fixed;inset:0;z-index:400;background:linear-gradient(160deg,var(--b1),var(--b2));color:#fff;overflow:hidden;display:grid;place-items:center;transition:background .6s}
.story::before{content:"";position:absolute;width:140vmax;height:140vmax;left:-20vmax;top:-20vmax;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.18),transparent 45%);animation:st-glow 9s ease-in-out infinite alternate}
.st-bars{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:4px;z-index:3}
.st-bars i{flex:1;height:3.5px;border-radius:2px;background:rgba(255,255,255,.3);overflow:hidden}
.st-bars b{display:block;height:100%;background:#fff}
.st-x{all:unset;cursor:pointer;position:absolute;top:26px;right:16px;z-index:5;font-size:22px;width:40px;height:40px;display:grid;place-items:center}
.st-slide{position:relative;z-index:2;text-align:center;padding:60px 26px 40px;max-width:520px;display:grid;justify-items:center;gap:10px}
.st-e{font-size:96px;line-height:1;animation:st-in-e .8s cubic-bezier(.2,1.5,.4,1) both}
.st-sur{margin:0;font-size:14px;letter-spacing:.12em;text-transform:uppercase;opacity:.85;animation:st-up .6s ease both .15s}
.st-t{margin:0;font-family:var(--display);font-size:42px;line-height:1.05;animation:st-up .7s ease both .3s}
.st-n{margin:0;display:grid;animation:st-up .7s ease both .25s}
.st-n b{font-family:var(--display);font-size:84px;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 6px 24px rgba(0,0,0,.25)}
.st-n span{font-size:20px;font-weight:700;opacity:.9}
.st-txt{margin:0;font-size:19px;line-height:1.4;animation:st-up .7s ease both .6s}
.st-sous{margin:0;font-size:16px;opacity:.9;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.14);animation:st-up .7s ease both .9s}
.st-l{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
.st-l li{font-size:19px;font-weight:700;padding:10px 16px;border-radius:14px;background:rgba(255,255,255,.16);animation:st-up .55s ease both;animation-delay:var(--d)}
.st-ph{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(86vw,420px)}
.st-ph img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:4px solid #fff;transform:rotate(var(--r));animation:cjl-pol .7s cubic-bezier(.2,1.3,.4,1) both;animation-delay:var(--d);box-shadow:0 8px 20px rgba(0,0,0,.25)}
.st-fin{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:10px;position:relative;z-index:6}
.st-zone{all:unset;position:absolute;top:60px;bottom:0;z-index:4;cursor:pointer;-webkit-tap-highlight-color:transparent}
.st-zone.l{left:0;width:32%}.st-zone.r{right:0;width:68%}
.story:has(.st-fin) .st-zone{bottom:140px}
@keyframes st-in-e{from{transform:scale(.2) rotate(-25deg);opacity:0}to{transform:none;opacity:1}}
@keyframes st-up{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@keyframes st-glow{from{transform:translate(0,0)}to{transform:translate(10vmax,6vmax)}}
.rm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.rm-card{all:unset;cursor:pointer;position:relative;display:grid;gap:2px;padding:18px 16px;border-radius:22px;color:#fff;background:linear-gradient(150deg,var(--b1),var(--b2));min-height:110px;align-content:end;box-shadow:0 8px 20px rgba(0,0,0,.12);animation:jeu-in .4s ease both;animation-delay:var(--d);transition:transform .15s}
.rm-card:active{transform:scale(.97)}.rm-card:focus-visible{outline:3px solid var(--sun)}
.rm-card b{font-family:var(--display);font-size:22px}.rm-card span{opacity:.85;font-size:13px}
.rm-card .rm-e{position:absolute;top:12px;left:14px;font-size:34px}
.rm-card i{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.25);display:grid;place-items:center;font-style:normal;font-size:13px}
.c-story{display:flex;gap:12px;align-items:center;text-align:left;width:100%;color:#fff;border:none;background:linear-gradient(150deg,var(--b1),var(--b2))}
.c-story .rm-e{font-size:34px}.st-play{margin-left:auto;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.25);display:grid;place-items:center;font-style:normal;animation:bs-pulse 2s ease-in-out infinite}

/* ================= 🎡 La roue ================= */
.ro-wrap{position:relative;width:min(88vw,340px);margin:4px auto 0}
.ro-svg{width:100%;height:auto;display:block;filter:drop-shadow(0 12px 24px rgba(0,0,0,.18))}
.ro-rot{transform-origin:160px 160px;transform-box:view-box}
.ro-ptr{position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-size:34px;color:#1C2633;z-index:2;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3));animation:ro-ptr 1s ease-in-out infinite}
[data-theme="dark"] .ro-ptr{color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ro-ptr{color:#fff}}
.ro-go{display:block;margin:10px auto 0}
.ro-chips{display:flex;flex-wrap:wrap;gap:6px}
.ro-chips>button{all:unset;cursor:pointer;padding:7px 12px;border-radius:99px;border:1.5px solid var(--line);background:var(--surface);font-size:14px;font-weight:600}
.ro-chips>button[aria-pressed="true"]{border-color:var(--green);background:color-mix(in srgb,var(--green) 14%,var(--surface))}
.ro-chips>button:focus-visible{outline:3px solid var(--sun)}
.ro-tag{display:inline-flex;align-items:center;gap:2px;padding:4px 4px 4px 10px;border-radius:99px;background:var(--bg);font-size:14px}
.ro-res{display:flex;gap:14px;align-items:center;background:linear-gradient(150deg,color-mix(in srgb,var(--sun) 30%,var(--surface)),var(--surface));animation:lg-pop .5s cubic-bezier(.2,1.5,.4,1) both}
.ro-res-e{font-size:44px;animation:dr-bump .6s ease 2}
.ro-res b{font-size:19px}
.ro-score{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ro-score>div{display:grid;justify-items:center;padding:12px;border-radius:16px;background:var(--bg)}
.ro-score b{font-family:var(--display);font-size:32px}
.ro-hist{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14px}
.ro-hist li{display:flex;gap:8px;align-items:center}.ro-hist i{margin-left:auto;font-style:normal}
@keyframes ro-ptr{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(3px)}}

/* ================= 🛂 Le passeport ================= */
.pp-cover{border-radius:22px;padding:16px;background:linear-gradient(150deg,#1F3A5F,#13253D);box-shadow:inset 0 0 0 2px rgba(255,215,120,.35),0 10px 26px rgba(0,0,0,.2);color:#F4D58D}
.pp-cover-in{display:grid;gap:4px;justify-items:center;text-align:center}
.pp-emb{font-family:var(--display);font-size:28px;letter-spacing:.3em;font-weight:800;background:linear-gradient(90deg,#F4D58D,#FFF3C4,#D9A21B,#F4D58D);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pp-gold 5s linear infinite}
.pp-sub{font-size:10.5px;letter-spacing:.18em;opacity:.8}
.pp-id{display:flex;gap:12px;align-items:center;margin-top:10px;background:#F4EBD6;color:#3A2E1C;border-radius:14px;padding:10px 14px;text-align:left;width:100%;box-sizing:border-box}
.pp-id img,.pp-id>span{width:64px;height:64px;border-radius:10px;object-fit:cover;flex:none;display:grid;place-items:center;font-size:36px;background:#E6D9BC}
.pp-id div{display:grid;gap:1px}.pp-id b{font-size:17px}.pp-id span{font-size:13px}
.pp-prog .vg-bar i{background:linear-gradient(90deg,#D9A21B,#F4D58D)}
.pp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px;border-radius:20px;background:#F4EBD6;background-image:repeating-linear-gradient(45deg,rgba(120,90,40,.05) 0 2px,transparent 2px 10px)}
[data-theme="dark"] .pp-grid{background-color:#2E2A22}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pp-grid{background-color:#2E2A22}}
.pp-slot,.pp-stamp{all:unset;cursor:pointer;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;gap:0;text-align:center;padding:6px;box-sizing:border-box;animation:jeu-in .4s ease both;animation-delay:var(--d)}
.pp-slot{border:2px dashed rgba(120,90,40,.35);color:rgba(80,60,30,.55)}
[data-theme="dark"] .pp-slot{color:rgba(244,234,210,.5);border-color:rgba(244,234,210,.25)}
.pp-slot span{font-size:24px;filter:grayscale(1);opacity:.5}.pp-slot b{font-size:10px;line-height:1.15;font-weight:700;margin-top:2px}
.pp-stamp{border:4px double var(--c);color:var(--c);transform:rotate(var(--r));background:radial-gradient(circle,rgba(255,255,255,.55),transparent 70%);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--c) 30%,transparent);-webkit-mask-image:radial-gradient(circle at 30% 70%,#000 60%,rgba(0,0,0,.82) 61%,#000 75%)}
.pp-stamp span{font-size:28px}.pp-stamp b{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;line-height:1.1;max-width:90%}.pp-stamp i{font-style:normal;font-size:10px;font-weight:700}
.pp-stamp.thunk{animation:pp-thunk .55s cubic-bezier(.3,1.6,.5,1) both}
.pp-stamp.big{width:150px;margin:0 auto;cursor:default}.pp-stamp.big span{font-size:44px}.pp-stamp.big b{font-size:13px}.pp-stamp.big i{font-size:12px}
.pp-detail{display:grid;gap:8px;justify-items:center;text-align:center}
.pp-photo{width:100%;max-height:300px;object-fit:cover;border-radius:14px}
.pp-mot{font-family:Georgia,serif;font-style:italic;margin:0}
body.pp-shake .app-main,body.pp-shake main{animation:pp-shake .4s ease}
@keyframes pp-thunk{0%{transform:scale(2.6) rotate(-25deg);opacity:0}55%{transform:scale(.92) rotate(var(--r));opacity:1}75%{transform:scale(1.06) rotate(var(--r))}100%{transform:rotate(var(--r))}}
@keyframes pp-shake{0%,100%{transform:none}25%{transform:translate(-3px,2px)}50%{transform:translate(3px,-2px)}75%{transform:translate(-2px,1px)}}
@keyframes pp-gold{to{background-position:300% 0}}

/* ================= 📍 Les bons coins ================= */
.bc-map{height:280px;border-radius:20px;overflow:hidden;border:1px solid var(--line);z-index:0}
.bc-pin span{display:grid;place-items:center;width:38px;height:38px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#fff;box-shadow:0 4px 10px rgba(0,0,0,.25);border:2px solid var(--brand)}
.bc-pin span{font-size:18px}
.bc-pin span::before{content:"";}
.bc-me i{display:block;width:18px;height:18px;border-radius:50%;background:#4C8DE0;border:3px solid #fff;box-shadow:0 0 0 0 rgba(76,141,224,.5);animation:bc-me 2s ease-out infinite}
.bc-filtres{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.bc-filtres::-webkit-scrollbar{display:none}
.bc-filtres>button{white-space:nowrap;flex:none}
.bc-card{display:grid;gap:8px;animation:jeu-in .35s ease both;transition:box-shadow .3s}
.bc-card.sel{box-shadow:0 0 0 3px var(--sun)}
.bc-head{display:flex;gap:12px;align-items:center}
.bc-e{font-size:30px}
.bc-wait{margin-left:auto;font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;background:var(--bg);white-space:nowrap}
.bc-at{display:flex;flex-wrap:wrap;gap:4px}.bc-at span{font-size:12.5px;padding:3px 9px;border-radius:99px;background:color-mix(in srgb,var(--green) 12%,var(--surface))}
.bc-act{gap:6px}
.bc-vote{all:unset;cursor:pointer;padding:6px 12px;border-radius:99px;border:1.5px solid var(--line);font-size:14px;transition:transform .15s}
.bc-vote.on{border-color:var(--green);background:color-mix(in srgb,var(--green) 14%,var(--surface))}
.bc-vote.pop{animation:dr-bump .35s}
.bc-chip{cursor:pointer}.bc-chip input{position:absolute;opacity:0;width:1px;height:1px}
.bc-chip span{display:inline-block;padding:7px 12px;border-radius:99px;border:1.5px solid var(--line);background:var(--surface);font-size:14px;font-weight:600}
.bc-chip input:checked+span{border-color:var(--green);background:color-mix(in srgb,var(--green) 16%,var(--surface))}
.bc-chip input:focus-visible+span{outline:3px solid var(--sun)}
@keyframes bc-me{0%{box-shadow:0 0 0 0 rgba(76,141,224,.55)}100%{box-shadow:0 0 0 18px rgba(76,141,224,0)}}

/* ================= 💌 Les petits mots ================= */
.mr-letter{position:relative;padding:18px 16px 12px;border-radius:6px 20px 20px 6px;background:#FFFBEF;color:#2A2318;box-shadow:0 8px 20px rgba(60,40,10,.12);display:grid;gap:6px}
[data-theme="dark"] .mr-letter{background:#2E2A22;color:#F4EAD2}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mr-letter{background:#2E2A22;color:#F4EAD2}}
.mr-letter textarea{border:none;background:transparent;font-family:Georgia,serif;font-style:italic;font-size:18px;line-height:1.5;color:inherit;resize:vertical;min-height:110px;outline:none;background-image:repeating-linear-gradient(180deg,transparent 0 26px,rgba(76,125,184,.18) 26px 27px)}
.mr-letter .mr-deco{position:absolute;top:-14px;right:14px;font-size:34px;animation:jeu-bob 3s ease-in-out infinite}
.mr-form.fly .mr-letter{animation:mr-fly 1.1s cubic-bezier(.5,0,.75,0) forwards}
.mr-decos{display:flex;gap:6px;flex-wrap:wrap}
.mr-decos button{all:unset;cursor:pointer;width:42px;height:42px;display:grid;place-items:center;font-size:22px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface)}
.mr-decos button[aria-pressed="true"]{border-color:#E5484D;background:color-mix(in srgb,#E5484D 12%,var(--surface));transform:scale(1.1)}
.mr-quand{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.mr-quand button{all:unset;cursor:pointer;display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);font-size:14px;font-weight:600}
.mr-quand button span{font-size:20px}
.mr-quand button[aria-pressed="true"]{border-color:var(--green);background:color-mix(in srgb,var(--green) 14%,var(--surface))}
.mr-quand button:focus-visible,.mr-decos button:focus-visible{outline:3px solid var(--sun)}
.mr-prev{margin:0;padding:10px 12px;border-radius:14px;background:var(--bg);font-size:14.5px}
.mr-list{display:grid;gap:18px}
.mr-env{all:unset;cursor:pointer;position:relative;display:block;padding:44px 16px 16px;border-radius:16px;background:linear-gradient(160deg,#FDE7EC,#F7C9D4);color:#3A1E28;box-shadow:0 10px 24px rgba(160,60,90,.18);animation:jeu-in .4s ease both;animation-delay:var(--d);overflow:hidden}
.mr-flap{position:absolute;top:0;left:0;right:0;height:60px;background:linear-gradient(160deg,#F7C9D4,#EBA8BA);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;transition:transform .7s ease;z-index:2}
.mr-env.open .mr-flap,.mr-env.lu .mr-flap{transform:rotateX(180deg) translateY(-2px);opacity:.6}
.mr-paper{position:relative;display:grid;gap:6px;padding:14px;border-radius:10px;background:#FFFBEF;font-family:Georgia,serif;font-style:italic;font-size:17px;line-height:1.45;transition:transform .7s cubic-bezier(.2,1.3,.4,1)}
.mr-env.open .mr-paper{animation:mr-out .8s cubic-bezier(.2,1.3,.4,1) both .25s}
.mr-paper small{font-family:var(--body,inherit);font-style:normal;opacity:.6;font-size:12px}
.mr-paper .mr-deco{font-size:26px;font-style:normal}
.mr-new{position:absolute;top:10px;right:12px;z-index:3;font-style:normal;font-size:11px;font-weight:800;padding:3px 8px;border-radius:99px;background:#E5484D;color:#fff;animation:dr-pulse 1.8s ease-in-out infinite}
.mr-row{display:flex;gap:10px;align-items:center}.mr-row>div{flex:1;min-width:0}.mr-row .mr-deco{font-size:24px}
.mr-badge{font-style:normal;display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:#E5484D;color:#fff;font-size:11px;font-weight:800;padding:0 5px;vertical-align:1px}
.c-mots{display:flex;gap:12px;align-items:center;text-align:left;width:100%;background:linear-gradient(160deg,#FDE7EC,#F7C9D4);color:#3A1E28;border:none}
.mr-mini{font-size:34px;animation:mr-wiggle 1.6s ease-in-out infinite}
@keyframes mr-fly{0%{transform:none}35%{transform:scale(.9) rotate(-4deg)}100%{transform:translate(60vw,-80vh) rotate(25deg) scale(.3);opacity:0}}
@keyframes mr-out{0%{transform:translateY(20px)}60%{transform:translateY(-10px)}100%{transform:none}}
@keyframes mr-wiggle{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg) scale(1.08)}}
@media (prefers-reduced-motion:reduce){.lg-trophy,.lg-medal,.lg-me,.lg-hero::after,.lg-row.moi,.story::before,.st-e,.st-t,.st-n,.st-txt,.st-sous,.st-l li,.st-ph img,.ro-ptr,.pp-emb,.pp-stamp.thunk,.bc-me i,.mr-deco,.mr-mini,.mr-new,.mr-form.fly .mr-letter{animation:none!important}}

/* ================= 🧰 Les outils, version « app store » ================= */
.tool-home{display:grid;gap:22px}
.tool-home .tool-search{margin-bottom:0}
.tool-browse{display:grid;gap:26px}
.tsec{font-size:19px;margin:0 0 12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.tsec small{font-size:12.5px;font-weight:500;color:var(--muted)}
/* Pour toi aujourd'hui : un carrousel de grandes cartes */
.tj-row{display:grid;grid-auto-flow:column;grid-auto-columns:min(78%,300px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;margin:0 -2px;scrollbar-width:none}
.tj-row::-webkit-scrollbar{display:none}
.tj-card{all:unset;box-sizing:border-box;cursor:pointer;scroll-snap-align:start;position:relative;overflow:hidden;display:grid;align-content:end;gap:4px;min-height:210px;padding:18px;border-radius:26px;color:#fff;background:linear-gradient(150deg,var(--c1),var(--c2));box-shadow:0 12px 26px color-mix(in srgb,var(--c1) 35%,transparent);animation:jeu-in .5s ease both;animation-delay:var(--d);transition:transform .15s}
.tj-card:active{transform:scale(.97)}.tj-card:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.tj-card::before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-50px;top:-60px;background:rgba(255,255,255,.14)}
.tj-why{position:absolute;top:14px;left:14px;right:14px;font-size:12px;font-weight:800;letter-spacing:.02em;padding:4px 10px;border-radius:99px;background:rgba(0,0,0,.18);justify-self:start;width:max-content;max-width:calc(100% - 28px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tj-e{position:absolute;right:16px;top:40px;font-size:68px;line-height:1;filter:drop-shadow(0 8px 14px rgba(0,0,0,.25));animation:tj-float 4s ease-in-out infinite}
.tj-card b{font-family:var(--display);font-size:24px;line-height:1.1;position:relative}
.tj-card small{font-size:14px;opacity:.9;position:relative;max-width:85%}
.tj-go{margin-top:8px;justify-self:start;font-weight:800;font-size:14px;padding:7px 14px;border-radius:99px;background:rgba(255,255,255,.95);color:var(--c1);position:relative}
.tj-go i{font-style:normal;display:inline-block;transition:transform .2s}.tj-card:hover .tj-go i{transform:translateX(3px)}
@keyframes tj-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8px) rotate(5deg)}}
/* Mes raccourcis : comme l'écran d'accueil d'un téléphone */
.app-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 8px}
.app{all:unset;cursor:pointer;display:grid;justify-items:center;gap:6px;text-align:center;animation:jeu-in .4s ease both;animation-delay:var(--d)}
.app-i{position:relative;width:62px;height:62px;border-radius:20px;display:grid;place-items:center;font-size:30px;background:linear-gradient(150deg,var(--c1),var(--c2));box-shadow:0 6px 14px color-mix(in srgb,var(--c1) 30%,transparent);transition:transform .15s}
.app:active .app-i{transform:scale(.9)}.app:focus-visible .app-i{outline:3px solid var(--sun);outline-offset:2px}
.app-i i{position:absolute;top:-5px;right:-5px;width:20px;height:20px;border-radius:50%;background:var(--sun);color:var(--sun-ink,#1C1206);font-size:12px;font-style:normal;display:grid;place-items:center;box-shadow:0 2px 4px rgba(0,0,0,.2)}
.app-n{font-size:12px;font-weight:700;line-height:1.2;max-width:84px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rac-vide{margin:0;padding:14px;border-radius:16px;border:1.5px dashed var(--line);text-align:center}
/* Les univers : de grandes tuiles colorées */
.uv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.uv{all:unset;box-sizing:border-box;cursor:pointer;position:relative;overflow:hidden;display:grid;align-content:start;gap:4px;min-height:168px;padding:16px;border-radius:24px;color:#fff;background:linear-gradient(155deg,var(--c1),var(--c2));box-shadow:0 10px 22px color-mix(in srgb,var(--c1) 28%,transparent);animation:jeu-in .45s ease both;animation-delay:var(--d);transition:transform .15s}
.uv:active{transform:scale(.97)}.uv:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.uv::after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-40px;bottom:-50px;background:rgba(255,255,255,.12)}
.uv-e{font-size:40px;line-height:1;margin-bottom:4px;transition:transform .3s}
.uv:hover .uv-e{transform:scale(1.12) rotate(-6deg)}
.uv b{font-family:var(--display);font-size:19px;line-height:1.15}
.uv small{font-size:12.5px;opacity:.88;line-height:1.3}
.uv-mini{display:flex;gap:4px;margin-top:auto;padding-top:10px;position:relative;z-index:1}
.uv-mini i{font-style:normal;width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:15px}
.uv-mini i.plus{font-size:11px;font-weight:800;width:auto;padding:0 6px}
.uv .tc-new,.tc .tc-new{position:absolute;top:12px;right:12px}
.tc-new{font-style:normal;font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:99px;background:var(--sun);color:var(--sun-ink,#1C1206);box-shadow:0 2px 6px rgba(0,0,0,.15);animation:tc-new 2.4s ease-in-out infinite}
@keyframes tc-new{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
/* La page d'un univers */
.uv-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;padding:20px 18px;border-radius:26px;color:#fff;background:linear-gradient(150deg,var(--c1),var(--c2));box-shadow:0 12px 26px color-mix(in srgb,var(--c1) 30%,transparent)}
.uv-hero h1{color:#fff;margin:0;font-size:28px}.uv-hero p{margin:2px 0 0;opacity:.9;font-size:14px}
.uv-big{font-size:56px;line-height:1;animation:tj-float 4s ease-in-out infinite}
.uv-back{all:unset;cursor:pointer;position:absolute;top:10px;left:10px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:22px;font-weight:700}
.uv-hero .uv-big{margin-left:22px}
.uv-others{display:flex;flex-wrap:wrap;gap:8px}
.uv-chip{all:unset;cursor:pointer;display:inline-flex;gap:6px;align-items:center;padding:8px 14px;border-radius:99px;color:#fff;font-weight:700;font-size:14px;background:linear-gradient(150deg,var(--c1),var(--c2))}
/* Les cartes d'outils (dans un univers et dans la recherche) */
.tc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.tc{position:relative;animation:jeu-in .4s ease both;animation-delay:var(--d)}
.tc-main{all:unset;box-sizing:border-box;cursor:pointer;display:grid;align-content:start;gap:8px;width:100%;height:100%;min-height:150px;padding:16px 14px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 14px rgba(0,0,0,.04);transition:transform .15s,box-shadow .2s}
.tc-main:hover{box-shadow:0 10px 24px color-mix(in srgb,var(--c1) 22%,transparent);transform:translateY(-2px)}
.tc-main:active{transform:scale(.97)}.tc-main:focus-visible{outline:3px solid var(--sun)}
.tc-i{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;font-size:28px;background:linear-gradient(150deg,var(--c1),var(--c2));box-shadow:0 6px 12px color-mix(in srgb,var(--c1) 28%,transparent)}
.tc-t b{display:block;font-size:15.5px;line-height:1.2}
.tc-t small{display:block;color:var(--muted);font-size:12.5px;line-height:1.3;margin-top:3px}
.tc-fav{all:unset;cursor:pointer;position:absolute;right:8px;bottom:8px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:18px;color:var(--muted);transition:transform .2s,color .2s}
.tc-fav.on{color:#D9A21B}.tc-fav:focus-visible{outline:2px solid var(--sun)}
.tc-fav.pop{animation:dr-bump .4s}
.tc.small .tc-main{min-height:0;grid-template-columns:auto 1fr;align-items:center;padding:12px 40px 12px 12px}
.tc.small .tc-i{width:44px;height:44px;font-size:22px;border-radius:14px}
.tc.small .tc-fav{top:50%;bottom:auto;transform:translateY(-50%)}
.tool-res.tc-grid{grid-template-columns:1fr}
@media (min-width:700px){.uv-grid{grid-template-columns:repeat(4,1fr)}.tc-grid{grid-template-columns:repeat(3,1fr)}.tool-res.tc-grid{grid-template-columns:repeat(2,1fr)}.app-row{grid-template-columns:repeat(8,1fr)}.tj-row{grid-auto-columns:300px}}
@media (prefers-reduced-motion:reduce){.tj-e,.uv-big,.tc-new{animation:none}}
.tj-e{top:46px;font-size:58px}
.tj-card b,.tj-card small{max-width:72%}
.tc-main{padding-bottom:40px}
.tc.small .tc-main{padding-bottom:12px}
.tool-home,.tool-browse,.tool-browse>section,.tj{min-width:0;max-width:100%}
.tj-row{max-width:100%}
/* Pendant le défilement : les animations décoratives en pause (plus fluide) */
html.defile .dash *,html.defile .tool-home *,html.defile #saison-deco *{animation-play-state:paused!important}
/* Les ombres animées coûtent cher sur téléphone : on garde l'effet, sans ombre qui bouge */
@media (max-width:700px){.jeu-e,.tj-e,.lg-trophy,.lg-medal,.nh-tree{filter:none}}

/* ================= 🏠 ACCUEIL, VERSION « APP STORE » ================= */
.hello.hm-hero{position:relative;overflow:hidden;isolation:isolate;padding:22px 20px 20px;border-radius:28px;color:#fff;align-items:flex-end;min-height:132px;background:linear-gradient(150deg,var(--h1),var(--h2));box-shadow:0 14px 30px color-mix(in srgb,var(--h1) 30%,transparent);animation:jeu-in .5s ease both}
.hm-matin{--h1:#D9822B;--h2:#F2B541}
.hm-aprem{--h1:var(--brand);--h2:var(--brand2)}
.hm-soir{--h1:#2A2F5B;--h2:#6B4FA0}
.hello.hm-hero .eyebrow{color:rgba(255,255,255,.85)}
.hello.hm-hero h1{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.15)}
.hello.hm-hero>div{position:relative;z-index:1;flex:1 1 220px}
.hello.hm-hero .eyebrow{padding-right:58px}
.hello.hm-hero h1{font-size:clamp(26px,7vw,38px)}
.hm-astre{position:absolute;right:14px;top:14px;font-size:46px;line-height:1;filter:drop-shadow(0 8px 14px rgba(0,0,0,.2));animation:tj-float 5s ease-in-out infinite;z-index:0}
.hm-b1,.hm-b2{position:absolute;border-radius:50%;background:rgba(255,255,255,.13);z-index:-1;pointer-events:none}
.hm-b1{width:200px;height:200px;right:-60px;top:-80px}
.hm-b2{width:120px;height:120px;left:-40px;bottom:-60px;background:rgba(255,255,255,.08)}
.hello.hm-hero .streak{position:relative;z-index:1;background:rgba(0,0,0,.2);color:#fff;border:0}
.hm-soir .hm-astre{animation:tj-float 5s ease-in-out infinite,hm-luit 3s ease-in-out infinite alternate}
@keyframes hm-luit{to{filter:drop-shadow(0 0 16px rgba(255,236,170,.7))}}
.hm-rac,.hm-auj{min-width:0}
.hm-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.hm-h .tsec{margin-bottom:12px}
.hm-row{display:grid;grid-auto-flow:column;grid-auto-columns:min(86%,360px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;margin:0 -2px;scrollbar-width:none;align-items:start;overflow-y:hidden;transition:height .25s ease}
.hm-row::-webkit-scrollbar{display:none}
.hm-slide{scroll-snap-align:start;min-width:0;display:grid;animation:jeu-in .5s ease both;animation-delay:var(--d)}
.hm-slide>*{margin:0!important;min-width:0;box-sizing:border-box}
.hm-auj .tsec small{font-size:12.5px}
@media (prefers-reduced-motion:reduce){.hm-astre,.hello.hm-hero,.hm-slide{animation:none}}
/* 🗓️ Calendrier */
.hello.cal-hero h1{font-size:clamp(24px,6.4vw,36px)}
.hello.cal-hero{--h1:var(--brand);--h2:#2E3F55;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}
.cal-hero-p{color:rgba(255,255,255,.85);margin:6px 0 0}
.cal-ring{position:relative;width:84px;height:84px;display:grid;place-items:center;align-content:center;z-index:1}
.cal-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.cal-ring circle{fill:none;stroke-width:7}
.cal-ring .bg{stroke:rgba(255,255,255,.22)}
.cal-ring .fg{stroke:#F2B541;stroke-linecap:round;stroke-dashoffset:var(--off);animation:cal-ring 1.1s cubic-bezier(.2,.8,.2,1) both}
@keyframes cal-ring{from{stroke-dashoffset:190}}
.cal-ring b{font-family:var(--display);font-size:24px;line-height:1;position:relative}
.cal-ring b small{font-size:13px}
.cal-ring span{font-size:11px;font-weight:700;opacity:.85;position:relative}
.cal-hero-btns{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}
.cal-hero-btns .btn{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.35);box-shadow:none;backdrop-filter:blur(4px)}
.cal-hero-btns .btn:first-child{background:#fff;color:var(--brand);border-color:#fff}
.cal-types{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(108px,1fr);gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 6px;margin:0 -2px}
.cal-types::-webkit-scrollbar{display:none}
.cty{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:2px;justify-items:start;padding:10px 12px;border-radius:18px;background:var(--surface);border:1px solid var(--line);animation:jeu-in .4s ease both;animation-delay:var(--d);transition:transform .15s}
.cty:active{transform:scale(.96)}.cty:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.cty-i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:18px;background:linear-gradient(150deg,var(--c1),var(--c2));margin-bottom:4px;box-shadow:0 4px 10px color-mix(in srgb,var(--c1) 30%,transparent)}
.cty b{font-size:14px;white-space:nowrap}.cty small{font-size:12px;color:var(--muted)}
.cty[aria-pressed="true"]{background:linear-gradient(150deg,var(--c1),var(--c2));color:#fff;border-color:transparent;box-shadow:0 8px 18px color-mix(in srgb,var(--c1) 35%,transparent)}
.cty[aria-pressed="true"] small{color:rgba(255,255,255,.85)}
.cty[aria-pressed="true"] .cty-i{background:rgba(255,255,255,.22);box-shadow:none}
.cal-item{position:relative;overflow:hidden;padding-left:20px}
.cal-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--tc,var(--line)),var(--tc2,var(--line)))}
.cal-item .cal-date{background:linear-gradient(150deg,var(--tc),var(--tc2));color:#fff;box-shadow:0 6px 14px color-mix(in srgb,var(--tc) 25%,transparent)}
.cal-item .cal-date small{color:rgba(255,255,255,.9)}
.cal-item.done .cal-date{filter:grayscale(.7)}
/* ⚙️ Compte */
.acc-me.acc-me2{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(150deg,#D9822B,#F2B541);color:#fff;border:0;box-shadow:0 14px 30px rgba(217,130,43,.3)}
.acc-me2 .small.muted{color:rgba(255,255,255,.88)}
.acc-me2 .acc-av{background:#fff;color:#B35C12;box-shadow:0 6px 14px rgba(0,0,0,.15)}
.acc-me2 .pill{background:rgba(0,0,0,.18);color:#fff;border:0}
.acc-me2 .hm-b1{position:absolute;width:180px;height:180px;right:-50px;top:-70px;border-radius:50%;background:rgba(255,255,255,.15);z-index:-1}
.acc-row .acc-i{background:linear-gradient(150deg,var(--c1),var(--c2));box-shadow:0 4px 10px color-mix(in srgb,var(--c1) 28%,transparent);transition:transform .2s}
.acc-row:active .acc-i{transform:scale(.9)}
.acc-sec.open .acc-i{transform:rotate(-8deg) scale(1.06)}
@media (prefers-reduced-motion:reduce){.cal-ring .fg,.cty{animation:none}}
/* 👶 Bébé : les grosses tuiles, en dégradés comme les Outils */
.bb-t{overflow:hidden;isolation:isolate;color:#fff!important;background:linear-gradient(150deg,var(--b1),var(--b2))!important;box-shadow:0 10px 22px color-mix(in srgb,var(--b1) 30%,transparent);animation:jeu-in .45s ease both}
.bb-t::before{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-45px;top:-55px;background:rgba(255,255,255,.15);z-index:-1}
.bb-t .bb-i{filter:drop-shadow(0 6px 10px rgba(0,0,0,.2));transition:transform .2s}
.bb-t:active .bb-i{transform:scale(1.15) rotate(-8deg)}
.bb-t small{opacity:.9}
.t-bib{--b1:var(--brand);--b2:var(--brand2)}
.t-tl{--b1:#2A5B85;--b2:#5AB8FF;animation-delay:50ms}
.t-couche{--b1:#B35C12;--b2:#F2B541;animation-delay:100ms}
.t-dodo{--b1:#4B3A8C;--b2:#9C83E0;animation-delay:150ms}
.t-repas{--b1:#A3305E;--b2:#E39AC9;animation-delay:200ms}
.bb-t.on{box-shadow:0 0 0 3px var(--sun),0 10px 22px color-mix(in srgb,var(--b1) 30%,transparent)}
@media (prefers-reduced-motion:reduce){.bb-t{animation:none}}
html.rerendu .hello.hm-hero,html.rerendu .hm-slide,html.rerendu .app,html.rerendu .bb-t,html.rerendu .cty,html.rerendu .cal-ring .fg,html.rerendu .tj-card,html.rerendu .tc,html.rerendu .uv{animation:none}
.hm-astuce{margin:10px 0 0}
.rac-rec .app-i{width:52px;height:52px;border-radius:17px;font-size:25px;opacity:.92}
/* Photos en pause : les boutons d'ajout de photo disparaissent (sauf la capture d'écran du formulaire de contact) */
html.sans-photos label:has(input[data-act-file]:not([data-act-file="ct-file"]):not([data-act-file="rv-photo"])),html.sans-photos input[data-act-file]:not([data-act-file="ct-file"]):not([data-act-file="rv-photo"]){display:none!important}
.adm-bars.b14{grid-template-columns:repeat(14,minmax(0,1fr));gap:4px;height:170px}.adm-bars.b14 b{font-size:12px}
/* 💡 Le rappel du jour (accueil) */
.c-rj{display:flex;gap:12px;align-items:center;text-align:left;width:100%;color:var(--ink);background:color-mix(in srgb,#F2B33D 14%,var(--surface))}
.c-rj .rj-big{font-size:34px;line-height:1;flex:none}
.c-rj .eyebrow{display:block;margin:0 0 2px}
.c-rj b{display:block;font-size:16px}
.c-rj .rj-go{display:inline-block;margin-top:6px;font-weight:700;font-size:14px;color:var(--brand-txt)}
/* 🛒 Couches et lait : deux tuiles avec jauge */
.sk-card .mk-head{align-items:baseline}
.sk-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.sk-t{--c:#2FA37A;--c-soft:color-mix(in srgb,var(--c) 12%,var(--surface));position:relative;display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:18px;background:var(--c-soft);border:1.5px solid color-mix(in srgb,var(--c) 30%,transparent);min-width:0}
.sk-t.sk-moyen{--c:#E8932E}
.sk-t.sk-bas{--c:#E5484D;animation:sk-pulse 2.4s ease-in-out infinite}
.sk-t.sk-zero{--c:var(--brand-txt)}
@keyframes sk-pulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,#E5484D 0%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,#E5484D 22%,transparent)}}
@media (prefers-reduced-motion:reduce){.sk-t.sk-bas{animation:none}}
.sk-h{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sk-i{font-size:22px;line-height:1}
.sk-h b{font-size:15px}
.sk-chip{margin-left:auto;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--surface);color:var(--c);white-space:nowrap}
.sk-n{display:flex;align-items:baseline;gap:5px}
.sk-n b{font-size:38px;line-height:1;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.sk-n span{font-size:13px;color:var(--muted)}
.sk-bar{height:9px;border-radius:999px;background:color-mix(in srgb,var(--c) 18%,var(--surface));overflow:hidden}
.sk-bar span{display:block;height:100%;border-radius:inherit;background:var(--c);transition:width .5s ease}
.sk-rythme,.sk-vide{margin:0;font-size:12.5px;color:var(--muted);line-height:1.35}
.sk-act{display:flex;gap:6px;margin-top:2px}
.sk-plus{flex:1;min-height:40px;border-radius:12px;border:none;background:var(--c);color:#fff;font:inherit;font-weight:800;font-size:15px;cursor:pointer}
.sk-plus:active{transform:scale(.95)}
.sk-edit{width:40px;min-height:40px;border-radius:12px;border:1.5px solid color-mix(in srgb,var(--c) 35%,transparent);background:var(--surface);cursor:pointer;font-size:15px}
.sk-form{display:flex;gap:6px;margin-top:2px}
.sk-form input{flex:1;min-width:0;min-height:40px;border-radius:12px;border:1.5px solid var(--line);padding:6px 10px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px}
.sk-aide{margin:10px 0 0}
@media (max-width:340px){.sk-grid{grid-template-columns:1fr}}
/* 🩺 Santé et rappels */
.sa .card{position:relative}
.sa-r{position:relative;display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.sa-r:first-of-type{border-top:none}
.sa-r.ok .sa-t b{color:var(--muted)}
.sa-r.off{opacity:.6}
.sa-e{font-size:24px;width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,#2FA37A 12%,var(--surface))}
.sa-t{flex:1;min-width:0;display:flex;flex-direction:column}
.sa-t small{color:var(--muted);font-size:13px}
.sa-t .sa-fait{color:#2FA37A;font-weight:700}
.sa-x{border:none;background:none;color:var(--muted);font-size:20px;width:34px;height:34px;border-radius:10px;cursor:pointer;flex:none}
.sa-menu{position:absolute;right:0;top:100%;z-index:5;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.12)}
.sa-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.sa-chip{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 12px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;min-height:40px}
.sa-chip:active{transform:scale(.96)}
.sa-form{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:12px;border-radius:16px;background:color-mix(in srgb,var(--green) 6%,var(--surface))}
.sa-tform{background:none;padding:0}
.sa-in{min-height:42px;border-radius:12px;border:1.5px solid var(--line);padding:6px 10px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px}
.sa-num{width:84px}
.sa-tlist{margin-top:10px}
.sa-tl{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:14px}
.sa-tl b{min-width:70px;font-size:16px}
.sa-tl b.chaud{color:#E5484D}
.sa-tl span{flex:1;color:var(--muted)}
.sa-info{margin:10px 0 0}
.sa-lien{display:flex;align-items:center;gap:10px;text-align:left;width:100%;color:var(--ink)}
.c-sante{background:color-mix(in srgb,#2FA37A 10%,var(--surface))}
.c-sante .eyebrow{margin:0 0 4px}
.sa-due{display:flex;align-items:center;gap:10px;padding:6px 0}
.sa-due > span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.sa-due small{color:var(--muted);font-size:12.5px}
/* 📈 Courbe de ses mesures */
.cv{margin:6px 0 12px}
.cv-seg{margin-bottom:8px}
.cv-tiles{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.cv-tile{flex:1;min-width:120px;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--c) 12%,var(--surface))}
.cv-tile small{display:block;color:var(--muted);font-size:12px;font-weight:700}
.cv-tile b{display:block;font-size:24px;line-height:1.15}
.cv-tile span{font-size:12.5px;color:var(--c);font-weight:700}
.cv-svg{width:100%;height:auto;display:block}
.cv-g{stroke:var(--line);stroke-width:1}
.cv-t{fill:var(--muted);font-size:10px;font-family:inherit}
.cv-vide{margin:6px 0 0}
.sa-avert{display:flex;gap:10px;align-items:flex-start;background:color-mix(in srgb,#F2B541 14%,var(--surface));border:1.5px solid color-mix(in srgb,#F2B541 40%,transparent)}
.sa-avert p{margin:0;font-size:14px;line-height:1.45}
.sa-avert span{font-size:20px}
/* Ce qui nous rend différents (accueil) */
.lp-plus{padding:6px 0 18px}
.lp-plus-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.lp-plus-l li{display:flex;flex-direction:column;gap:3px;padding:14px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:0 6px 18px rgba(28,38,51,.05);animation:lp-up .5s ease both var(--d)}
.lp-plus-l span{font-size:24px;line-height:1.1}
.lp-plus-l b{font-size:15px}
.lp-plus-l small{font-size:13px;color:var(--muted);line-height:1.35}
@keyframes lp-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:900px){.lp-plus-l{grid-template-columns:1fr 1fr}.lp-plus-l li:last-child{grid-column:span 2}}
@media (prefers-reduced-motion:reduce){.lp-plus-l li{animation:none}}

/* ================= Les couleurs changent avec les saisons =================
   Printemps (20 mars – 20 juin) : vert feuille et rose cerisier. Été : lagon et soleil. Automne : sauge et miel. Hiver : bleu nuit et miel.
   L'attribut data-teinte est posé sur <html> dès le chargement. Les thèmes de fête (Halloween, Noël…) s'ajoutent par-dessus. */
html[data-teinte="printemps"]{--brand:#267A5C;--brand2:#7CCB9A}
html[data-teinte="ete"]{--brand:#0B7A8A;--brand2:#35C0C4}
html[data-teinte="automne"]{--brand:#3E7A5E;--brand2:#86B58C}
html[data-teinte="hiver"]{--brand:#2B4C7E;--brand2:#4C78B8}
@media (prefers-color-scheme: light){
  html[data-teinte="printemps"]:not([data-theme="dark"]){--bg:#F6FBF6;--line:#DCEADF;--green:#267A5C;--green-soft:#DDF3E5;--sun:#F6A6B8;--cream:#FFE6EC;--sky:#E6F2FF}
  html[data-teinte="ete"]:not([data-theme="dark"]){--bg:#F3F9FB;--line:#D6E5EA;--green:#0B7A8A;--green-soft:#D5F0F2;--sun:#FFC233;--cream:#FFF1C7;--sky:#DDEBFF}
  html[data-teinte="automne"]:not([data-theme="dark"]){--bg:#FAF6EE;--line:#E9E0CF;--green:#3E7A5E;--green-soft:#E5EFE3;--sun:#E8A33A;--cream:#FCEBC8;--sky:#E9EEF6}
  html[data-teinte="hiver"]:not([data-theme="dark"]){--bg:#F5F7FB;--line:#DCE2EE;--green:#2B4C7E;--green-soft:#E1E9F6;--sun:#F5B53F;--cream:#FFEFC6;--sky:#E3ECFA}
}
html[data-teinte="printemps"][data-theme="light"]{--bg:#F6FBF6;--line:#DCEADF;--green:#267A5C;--green-soft:#DDF3E5;--sun:#F6A6B8;--cream:#FFE6EC;--sky:#E6F2FF}
html[data-teinte="ete"][data-theme="light"]{--bg:#F3F9FB;--line:#D6E5EA;--green:#0B7A8A;--green-soft:#D5F0F2;--sun:#FFC233;--cream:#FFF1C7;--sky:#DDEBFF}
html[data-teinte="automne"][data-theme="light"]{--bg:#FAF6EE;--line:#E9E0CF;--green:#3E7A5E;--green-soft:#E5EFE3;--sun:#E8A33A;--cream:#FCEBC8;--sky:#E9EEF6}
html[data-teinte="hiver"][data-theme="light"]{--bg:#F5F7FB;--line:#DCE2EE;--green:#2B4C7E;--green-soft:#E1E9F6;--sun:#F5B53F;--cream:#FFEFC6;--sky:#E3ECFA}
@media (prefers-color-scheme: dark){
  html[data-teinte="printemps"]:not([data-theme="light"]){--green:#7FD1A4;--green-soft:#1B3A2C;--sun:#F6A6B8}
  html[data-teinte="ete"]:not([data-theme="light"]){--green:#4FC7D3;--green-soft:#173539;--bg:#0F181D;--surface:#172229}
  html[data-teinte="automne"]:not([data-theme="light"]){--green:#8CC59E;--green-soft:#22362A;--bg:#13181A;--surface:#1B2224;--sun:#E8A33A}
  html[data-teinte="hiver"]:not([data-theme="light"]){--green:#8FB3EA;--green-soft:#1E2A40;--bg:#0F1522;--surface:#172031}
}
html[data-teinte="printemps"][data-theme="dark"]{--green:#7FD1A4;--green-soft:#1B3A2C;--sun:#F6A6B8}
html[data-teinte="ete"][data-theme="dark"]{--green:#4FC7D3;--green-soft:#173539;--bg:#0F181D;--surface:#172229}
html[data-teinte="automne"][data-theme="dark"]{--green:#8CC59E;--green-soft:#22362A;--bg:#13181A;--surface:#1B2224;--sun:#E8A33A}
html[data-teinte="hiver"][data-theme="dark"]{--green:#8FB3EA;--green-soft:#1E2A40;--bg:#0F1522;--surface:#172031}
@media (prefers-color-scheme: light){
  html[data-teinte="printemps"]:not([data-theme="dark"]) .lp{--lp-sky:#E3F4E6}
  html[data-teinte="ete"]:not([data-theme="dark"]) .lp{--lp-sky:#CFF0F2}
  html[data-teinte="automne"]:not([data-theme="dark"]) .lp{--lp-sky:#F4EBDA}
  html[data-teinte="hiver"]:not([data-theme="dark"]) .lp{--lp-sky:#E6ECF8}
}
html[data-teinte="printemps"][data-theme="light"] .lp{--lp-sky:#E3F4E6}
html[data-teinte="ete"][data-theme="light"] .lp{--lp-sky:#CFF0F2}
html[data-teinte="automne"][data-theme="light"] .lp{--lp-sky:#F4EBDA}
html[data-teinte="hiver"][data-theme="light"] .lp{--lp-sky:#E6ECF8}
body,.card,.btn,.tabs,.app-head{transition:background-color .6s ease,border-color .6s ease,color .3s ease}
/* Le petit mot de bienvenue de la nouvelle saison */
.teinte-hello{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;width:min(92vw,440px);display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:20px;background:linear-gradient(140deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 18px 40px color-mix(in srgb,var(--brand) 35%,transparent);animation:th-in .6s cubic-bezier(.2,.9,.3,1.2) both}
.teinte-hello span{font-size:30px;line-height:1}
.teinte-hello p{margin:0;font-size:14.5px;line-height:1.35}
.teinte-hello b{display:block;font-size:16px}
.teinte-hello button{margin-left:auto;border:0;background:rgba(255,255,255,.2);color:#fff;width:34px;height:34px;border-radius:50%;font-size:18px;cursor:pointer;flex:none}
@keyframes th-in{from{opacity:0;transform:translate(-50%,20px) scale(.96)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){.teinte-hello{animation:none}body,.card,.btn{transition:none}}
/* 🎁 Fin du mois offert */
.c-fino{position:relative;background:linear-gradient(150deg,color-mix(in srgb,var(--sun) 22%,var(--surface)),var(--surface));border:1.5px solid color-mix(in srgb,var(--sun) 45%,transparent)}
.c-fino .x{position:absolute;top:10px;right:10px}
.c-fino .eyebrow{margin:0 0 4px}
.c-fino h2{margin:0 0 10px}
.fino-n{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-bottom:10px}
.fino-n span{display:flex;flex-direction:column;padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.fino-n b{font-family:var(--display);font-size:28px;line-height:1.1}
.fino-n small{color:var(--muted);font-size:13px}
.fino-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}
.fino-ctas .btn.sun{flex-direction:column;gap:0;line-height:1.15;padding-block:8px}
.fino-ctas .btn.sun small{font-weight:600;font-size:12.5px;opacity:.85}
/* Voile « ouverture du paiement » */
.pay-voile{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:pv-in .15s ease both}
.pay-box{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:24px 28px;border-radius:22px;background:var(--surface);box-shadow:var(--shadow);max-width:86vw}
.pay-box b{font-size:17px}
.pay-box small{color:var(--muted);font-size:13px}
.pay-spin{width:34px;height:34px;border-radius:50%;border:3.5px solid var(--green-soft);border-top-color:var(--green);animation:pv-spin .8s linear infinite}
@keyframes pv-spin{to{transform:rotate(360deg)}}
@keyframes pv-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.pay-spin{animation-duration:2s}}
/* 💳 Paiement intégré (formulaire Stripe dans l'appli) */
html.pay-open{overflow:hidden}
.pay-sheet{position:fixed;inset:0;z-index:210;display:flex;align-items:flex-end;justify-content:center;background:rgba(10,20,25,.45);animation:pv-in .2s ease both}
.pay-panel{width:min(100%,560px);max-height:94dvh;overflow:auto;background:#fff;color:#1C2633;border-radius:24px 24px 0 0;padding:14px 14px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px rgba(0,0,0,.25);animation:ps-up .28s cubic-bezier(.2,.9,.3,1) both}
@media (min-width:700px){.pay-sheet{align-items:center}.pay-panel{border-radius:24px}}
.pay-head{display:flex;align-items:center;gap:10px;padding:2px 4px 10px;border-bottom:1px solid #E6E9EE;margin-bottom:8px}
.pay-head div{flex:1;display:flex;flex-direction:column}
.pay-head b{font-size:17px}
.pay-head small{color:#5B6672;font-size:13px}
.pay-head .x{color:#1C2633}
#pay-embed{min-height:320px}
.pay-pied{margin:10px 4px 0;color:#5B6672}
@keyframes ps-up{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.pay-panel{animation:none}}
.apercu-pill{position:fixed;top:calc(8px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:120;border:0;border-radius:999px;padding:8px 14px;background:#1C2633;color:#FFD34D;font:700 13px var(--body);box-shadow:0 8px 20px rgba(0,0,0,.25);cursor:pointer}
/* 🔒 Outils réservés aux formules payantes */
.verrou{position:relative;min-height:420px}
.verrou-mini{min-height:260px}
.verrou-fond{max-height:620px;overflow:hidden;filter:blur(6px);opacity:.55}
.verrou-box{position:absolute;left:50%;top:90px;transform:translateX(-50%);width:min(92%,440px);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:24px 22px;border-radius:24px;background:var(--surface);border:1.5px solid color-mix(in srgb,var(--sun) 50%,transparent);box-shadow:var(--shadow)}
.verrou-mini .verrou-box{top:30px}
.verrou-box h2{margin:0;font-size:20px}
.verrou-box p{margin:0;font-size:15px;color:var(--muted)}
.verrou-i{font-size:34px}
.tc-lock{position:absolute;top:8px;right:44px;font-style:normal;font-size:13px;opacity:.8}
.tc{position:relative}
.app-i{position:relative}
.app-lock{position:absolute;right:-4px;bottom:-4px;font-style:normal;font-size:12px;background:var(--surface);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.bb-lock{position:relative;opacity:.6}
.bb-lock::after{content:"🔒";position:absolute;top:8px;right:10px;font-size:14px}
.mini-verrou{display:flex;gap:12px;align-items:center;text-align:left;width:100%;color:var(--ink);background:color-mix(in srgb,var(--sun) 10%,var(--surface));border:1.5px dashed color-mix(in srgb,var(--sun) 45%,transparent);cursor:pointer}
.mini-verrou .mv-i{font-size:26px}
.mini-verrou b i{font-style:normal;font-size:13px}
.mini-verrou small{display:block;color:var(--muted);font-size:13px}
/* 💳 Page « Nos formules » */
.fm-bill{margin:6px 0 16px}
.fm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
@media (max-width:900px){.fm-grid{grid-template-columns:1fr}.fm-familial{order:-1}.fm-gratuit{order:1}}
.fm-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:22px 20px;border-radius:24px;background:var(--surface);border:1.5px solid var(--line);box-shadow:0 8px 24px rgba(28,38,51,.06)}
.fm-card.on{border-color:var(--green)}
.fm-familial{border:2px solid var(--sun);background:linear-gradient(170deg,color-mix(in srgb,var(--sun) 12%,var(--surface)),var(--surface) 45%)}
.fm-tag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--sun);color:var(--sun-ink);font-weight:800;font-size:13px;padding:4px 12px;border-radius:999px;white-space:nowrap}
.fm-card h2{margin:0;font-size:22px}
.fm-sous{margin:-6px 0 0;color:var(--muted);font-size:14px}
.fm-prix b{font-family:var(--display);font-size:38px;line-height:1}
.fm-prix small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.fm-card ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px;flex:1}
.fm-actuel{display:block;text-align:center;font-weight:800;color:var(--brand-txt);padding:10px}
.fm-rassure{margin-top:16px;display:grid;gap:8px}
.fm-rassure p{margin:0;font-size:14.5px}
/* Moyens de paiement acceptés */
.pay-moyens{display:grid;gap:14px;padding:16px 18px;border-radius:20px;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 22px rgba(28,38,51,.06)}
.pm-head{display:flex;gap:12px;align-items:center;text-align:left}
.pm-lock{width:44px;height:44px;flex:none;border-radius:14px;display:grid;place-items:center;font-size:22px;background:linear-gradient(140deg,#2FA37A,#1F6F66);box-shadow:0 6px 14px rgba(31,111,102,.3)}
.pm-head b{display:block;font-size:16px;color:var(--ink)}
.pm-head small{display:block;font-size:12.5px;color:var(--muted);line-height:1.35}
.pay-moyens ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pay-moyens li{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:6px 8px;border-radius:12px;background:var(--bg);border:1px solid var(--line);font-weight:800;font-size:13.5px;color:var(--ink);white-space:nowrap}
.pay-moyens li i{font-style:normal;font-size:15px}
@media (min-width:700px){.pay-moyens ul{grid-template-columns:repeat(6,minmax(0,1fr))}}
.lp-moyens{max-width:760px;margin:34px auto 0;color:var(--ink)}

/* 🎞️ Page d'accueil : le défilé des fonctions */
.lp-defile{padding:34px 0 30px;overflow:hidden}
.lp-defile h2{font-family:var(--display);font-size:clamp(26px,4vw,38px);margin:0 0 16px;letter-spacing:-.02em}
.lp-defile h2 span{font-family:var(--body);font-size:.5em;font-weight:600;color:var(--muted);letter-spacing:0}
.lp-rail{overflow:hidden;padding:6px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.lp-rail-in{display:flex;gap:12px;width:max-content;animation:lp-defile 60s linear infinite}
.lp-rail.inverse .lp-rail-in{animation-direction:reverse;animation-duration:70s}
.lp-rail:hover .lp-rail-in{animation-play-state:paused}
.lp-puce{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:0 6px 16px rgba(28,38,51,.06);font-weight:700;font-size:15px;white-space:nowrap}
.lp-puce i{font-style:normal;font-size:20px}
.lp-rail.inverse .lp-puce{background:color-mix(in srgb,var(--brand) 10%,var(--surface))}
@keyframes lp-defile{to{transform:translateX(-50%)}}
/* Apparition en douceur au défilement */
.rev{opacity:0;transform:translateY(18px);transition:opacity .6s ease var(--rd,0ms),transform .6s cubic-bezier(.2,.8,.3,1) var(--rd,0ms)}
.rev.vu{opacity:1;transform:none}
.lp-feat{transition:transform .25s ease,box-shadow .25s ease}
.lp-feat:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 16px 34px rgba(28,38,51,.12)}
@media (prefers-reduced-motion:reduce){.lp-rail-in{animation:none;flex-wrap:wrap;width:auto}.rev{opacity:1;transform:none;transition:none}}
/* 📣 Partager l'appli */
.c-partage{display:flex;align-items:center;gap:12px;width:100%;text-align:left;color:#fff;background:linear-gradient(140deg,var(--brand),var(--brand2));border:0;cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb,var(--brand) 28%,transparent)}
.c-partage .cp-i{font-size:28px;width:48px;height:48px;flex:none;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.18)}
.c-partage b{display:block;font-size:17px}
.c-partage small{display:block;font-size:13.5px;opacity:.92;line-height:1.35}
.c-partage .cp-go{margin-left:auto;font-size:26px;opacity:.8}
.c-partage:active{transform:scale(.98)}
.lp-parrain{display:inline-block;margin:0 0 10px;padding:8px 14px;border-radius:999px;background:var(--sun);color:var(--sun-ink);font-weight:700;font-size:14px}
.pt-sheet{position:fixed;inset:0;z-index:210;display:flex;align-items:flex-end;justify-content:center;background:rgba(10,20,25,.45);animation:pv-in .2s ease both}
.pt-panel{width:min(100%,520px);background:var(--surface);color:var(--ink);border-radius:24px 24px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px rgba(0,0,0,.25);animation:ps-up .25s ease both}
@media (min-width:700px){.pt-sheet{align-items:center}.pt-panel{border-radius:24px}}
.pt-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.pt-head b{font-size:18px}
.pt-apercu{font-size:13.5px;line-height:1.45;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:0 0 12px;white-space:pre-line;word-break:break-word}
.pt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.pt-b{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:16px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-weight:800;font-size:14px;text-decoration:none;cursor:pointer}
.pt-b i{font-style:normal;font-size:24px}
.pt-wa{background:color-mix(in srgb,#25D366 14%,var(--surface));border-color:color-mix(in srgb,#25D366 40%,transparent)}

/* ===== 🗓️ Mon rythme de journée ===== */
.ry-bibs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ry-bib{display:inline-flex;align-items:center;gap:2px;background:color-mix(in srgb,var(--brand) 8%,var(--surface));border:1.5px solid var(--line);border-radius:12px;padding:2px 2px 2px 6px}
.ry-bib input{border:0!important;background:transparent!important;min-height:36px}
.ry-q{display:flex;flex-direction:column;gap:2px}
.ry-qr{display:grid;grid-template-columns:28px 1fr auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line)}
.ry-qr:last-child{border-bottom:0}
.ry-qr label{font-size:13px;color:var(--muted);white-space:nowrap}
.ry-qr .sa-num{width:58px}
.ry-qn{display:flex;flex-direction:column;min-width:0}
.ry-qn small{color:var(--muted);font-size:12px}
.ry-qn input{width:100%}
.ry-e{font-size:20px;line-height:1;text-align:center}
@media (max-width:480px){.ry-qr{grid-template-columns:28px 1fr 1fr;row-gap:4px}.ry-qn{grid-column:2/4}.ry-qr label:first-of-type{grid-column:2}}
.ry-tabs{display:flex;gap:6px;background:var(--surface);border:1.5px solid var(--line);border-radius:999px;padding:4px;width:max-content;max-width:100%}
.ry-tabs button{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;font-size:14px;padding:8px 16px;border-radius:999px;cursor:pointer}
.ry-tabs button.on{background:var(--brand);color:#fff}
.ry-tl{position:relative;display:flex;flex-direction:column;gap:6px;margin-top:10px}
.ry-tl::before{content:"";position:absolute;left:52px;top:8px;bottom:8px;width:2px;background:var(--line);border-radius:2px}
.ry-b{position:relative;display:grid;grid-template-columns:44px 32px 1fr auto;gap:8px;align-items:center;padding:8px 10px 8px 0;border-radius:14px;animation:ryIn .35s ease both}
.ry-b .ry-h{font-variant-numeric:tabular-nums;font-weight:700;font-size:13px;color:var(--muted);text-align:right}
.ry-b .ry-e{position:relative;z-index:1;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:2px solid var(--line);font-size:16px}
.ry-b .ry-n{display:flex;flex-direction:column;min-width:0}
.ry-b .ry-n small{color:var(--muted);font-size:12px}
.ry-b.ry-t-bib .ry-e{border-color:#F2B66B}
.ry-b.ry-t-bib{background:color-mix(in srgb,#F2B66B 12%,transparent)}
.ry-b.ry-t-repos{background:color-mix(in srgb,#8E8CE0 14%,transparent)}
.ry-b.ry-t-repos .ry-e{border-color:#8E8CE0}
.ry-b.ry-t-tache .ry-e{border-color:var(--brand2)}
.ry-b.now{outline:2px solid var(--brand);outline-offset:-2px}
.ry-b.now .ry-h{color:var(--brand-txt,var(--brand))}
.ry-b.ok .ry-n b{text-decoration:line-through;opacity:.55}
.ry-ok{border:0;background:transparent;font-size:20px;cursor:pointer;color:var(--muted);min-width:40px;min-height:40px}
.ry-qui{font-style:normal;font-weight:700;padding:1px 7px;border-radius:999px;font-size:11px}
.ry-qui.moi{background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand-txt,var(--brand))}
.ry-qui.lui{background:color-mix(in srgb,#E07A9A 20%,transparent);color:#B04670}
.ry-nuit{margin:10px 0 0}
.ry-rate{margin:10px 0 0;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,#F2B66B 16%,transparent)}
.ry-jour summary{display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;list-style:none}
.ry-jour summary::-webkit-details-marker{display:none}
.ry-jour summary b::before{content:"▸ ";color:var(--muted)}
.ry-jour[open] summary b::before{content:"▾ "}
.ry-flou{filter:blur(4px);pointer-events:none;user-select:none;max-height:260px;overflow:hidden}
@keyframes ryIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ry-b{animation:none}}
.ry-tr{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-bottom:1px dashed var(--line)}
.ry-jours{display:flex;gap:6px;flex-wrap:wrap}
.ry-jours label{position:relative;cursor:pointer}
.ry-jours input{position:absolute;opacity:0;inset:0}
.ry-jours span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);font-weight:700;font-size:13px;background:var(--surface)}
.ry-jours input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}
.ry-jours input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.ry-b.ry-t-travail{background:color-mix(in srgb,var(--muted) 12%,transparent)}
.ry-b.ry-t-travail .ry-e{border-color:var(--muted)}
.ry-b.ry-t-garde{opacity:.65}
.ry-b.ry-t-garde .ry-e{border-style:dashed;border-color:#F2B66B}
.ry-fr{display:flex;gap:4px;align-items:center}
.ry-fr select{min-height:38px;border-radius:10px;border:1.5px solid var(--line);padding:4px 6px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px}

/* =====================================================================
   🧭 ESPACE ADMIN : un back-office à part entière (téléphone + ordinateur)
   ===================================================================== */
.ad{--ad-acc:#1F6F66;--ad-acc-soft:#E3F2EE;--ad-side:#FFFFFF;--ad-bg:#F3F6F4;--c1:#2a78d6;--c2:#eb6834;--c3:#1baf7a;--c4:#eda100;--cn:#B9C2C9;--ok:#1F7A4D;--ok-bg:#E2F4EA;--info:#2A5FA8;--info-bg:#E5EEFB;--al:#B42318;--al-bg:#FDECEA;
  min-height:100vh;background:linear-gradient(90deg,var(--ad-side) 248px,var(--ad-bg) 248px);color:var(--ink);display:grid;grid-template-columns:248px minmax(0,1fr);grid-template-rows:auto 1fr}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ad{--ad-acc:#5CC2B3;--ad-acc-soft:#173430;--ad-side:#151E25;--ad-bg:#0E151A;--c1:#3987e5;--c2:#d95926;--c3:#199e70;--c4:#c98500;--cn:#4A5863;--ok:#6FD3A0;--ok-bg:#163326;--info:#8DB8F2;--info-bg:#18273C;--al:#F59A8C;--al-bg:#3A1D1A}}
:root[data-theme="dark"] .ad{--ad-acc:#5CC2B3;--ad-acc-soft:#173430;--ad-side:#151E25;--ad-bg:#0E151A;--c1:#3987e5;--c2:#d95926;--c3:#199e70;--c4:#c98500;--cn:#4A5863;--ok:#6FD3A0;--ok-bg:#163326;--info:#8DB8F2;--info-bg:#18273C;--al:#F59A8C;--al-bg:#3A1D1A}
.ad-top{grid-column:1/-1;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:10px 18px;background:var(--ad-side);border-bottom:1px solid var(--line)}
.ad-burger{all:unset;display:none;cursor:pointer;font-size:22px;width:40px;height:40px;text-align:center;line-height:40px;border-radius:10px}
.ad-burger:focus-visible,.ad-ico:focus-visible,.ad-logo:focus-visible{outline:3px solid var(--sun)}
.ad-logo{all:unset;cursor:pointer;display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:17px}
.ad-logo img{border-radius:8px}
.ad-logo span{font-family:var(--body);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:var(--ink);color:var(--bg);padding:3px 7px;border-radius:6px}
.ad-titre{display:none;font-weight:800;font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-top-r{margin-left:auto;display:flex;align-items:center;gap:8px}
.ad-ico{all:unset;cursor:pointer;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:20px;border:1px solid var(--line);background:var(--surface)}
.ad-env{font-size:12px;font-weight:800;padding:4px 9px;border-radius:999px;background:var(--info-bg);color:var(--info)}
.ad-env.live{background:var(--ok-bg);color:var(--ok)}
.ad-side{position:sticky;top:61px;height:calc(100vh - 61px);overflow:auto;background:var(--ad-side);border-right:1px solid var(--line)}
.ad-side-in{padding:14px 10px 30px;display:grid;gap:16px}
.ad-g{display:grid;gap:2px}
.ad-g>p{margin:0 10px 4px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.ad-g button,.ad-g a{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;font-weight:600;font-size:14.5px;color:var(--ink)}
.ad-g button:hover,.ad-g a:hover{background:var(--ad-acc-soft)}
.ad-g button:focus-visible,.ad-g a:focus-visible{outline:3px solid var(--sun)}
.ad-g button[aria-current="true"]{background:var(--ad-acc);color:#fff}
:root[data-theme="dark"] .ad-g button[aria-current="true"]{color:#0D1A1E}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ad-g button[aria-current="true"]{color:#0D1A1E}}
.ad-e{width:22px;text-align:center;flex:none}
.ad-l{flex:1;min-width:0}
.ad .n{font-size:12px;font-weight:700;opacity:.8;font-variant-numeric:tabular-nums;margin-left:auto}
.ad .n.alerte{opacity:1;background:var(--al);color:#fff;border-radius:999px;padding:1px 7px}
.ad-liens a{font-size:13.5px;color:var(--muted)}
.ad-scrim{display:none}
.ad-main{min-width:0}
.ad-wrap{max-width:1180px;margin:0 auto;padding:22px 24px 60px;display:grid;gap:16px;align-content:start}
.ad-wrap>*{min-width:0}
.ad-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.ad-head h1{font-size:clamp(24px,3vw,32px);font-weight:800;margin:0}
.ad-head p{margin:4px 0 0;color:var(--muted);font-size:14.5px}
.ad-head-a{display:flex;gap:8px;flex-wrap:wrap}
.ad .adm-head .eyebrow{display:none}
.ad-h2{font-size:17px;margin:6px 0 0}
.ad .card{margin:0}
.ad-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.ad-kpi{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;min-width:0}
button.ad-kpi{cursor:pointer}button.ad-kpi:hover{border-color:var(--ad-acc)}button.ad-kpi:focus-visible{outline:3px solid var(--sun)}
.ad-kpi span{font-size:13px;color:var(--muted);font-weight:700}
.ad-kpi b{font-family:var(--display);font-size:clamp(22px,2.6vw,30px);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15;overflow-wrap:anywhere}
.ad-kpi small{font-size:12.5px;color:var(--muted)}
.ad-kpi.pos b{color:var(--ok)}.ad-kpi.neg b{color:var(--al)}
.ad-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
.ad-card-h{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.ad-card-h h2{margin:0;font-size:17px}
/* À faire */
.ad-todo-l{display:grid;gap:8px;margin-top:8px}
.ad-todo-i{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--ad-acc);border-radius:12px;padding:10px 14px}
.ad-todo-i.alerte{border-left-color:var(--al)}
.ad-todo-i:hover{background:var(--ad-acc-soft)}.ad-todo-i:focus-visible{outline:3px solid var(--sun)}
.ad-todo-i b{display:block;font-size:15px}.ad-todo-i small{display:block;color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.ad-todo-ok{margin-top:8px;background:var(--ok-bg);color:var(--ok);border-radius:12px;padding:12px 14px;font-weight:700}
.ad-actions{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.ad-actions::-webkit-scrollbar{display:none}
.ad-act{all:unset;cursor:pointer;flex:none;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:14px;white-space:nowrap}
.ad-act:hover{border-color:var(--ad-acc)}.ad-act:focus-visible{outline:3px solid var(--sun)}
.ad-li{all:unset;box-sizing:border-box;width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
button.ad-li{cursor:pointer}button.ad-li:hover b{color:var(--ad-acc)}
.ad-li span:first-child{display:flex;flex-direction:column;min-width:0}
.ad-li small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-pill{display:inline-block;font-style:normal;font-size:12px;font-weight:800;padding:2px 9px;border-radius:999px;background:var(--line);color:var(--ink);white-space:nowrap}
.ad-pill.ok{background:var(--ok-bg);color:var(--ok)}.ad-pill.info{background:var(--info-bg);color:var(--info)}.ad-pill.alerte{background:var(--al-bg);color:var(--al)}.ad-pill.off{background:var(--line);color:var(--muted)}
.ad-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.ad-tabs::-webkit-scrollbar{display:none}
.ad-tabs button{all:unset;cursor:pointer;flex:none;padding:10px 14px;font-weight:700;font-size:14.5px;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap}
.ad-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ad-acc)}
.ad-tabs button:focus-visible{outline:3px solid var(--sun)}
.ad-seg{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.ad-seg::-webkit-scrollbar{display:none}
.ad-seg button{flex:none;white-space:nowrap}
.ad-alerte{border-left:4px solid var(--sun)}
.ad-ol{margin:8px 0;padding-left:20px;display:grid;gap:4px}
.ad-gros{font-family:var(--display);font-size:34px;font-weight:800;margin:4px 0;font-variant-numeric:tabular-nums}
.ad-urssaf.alerte{border-color:var(--al);background:var(--al-bg)}
.ad-seuil{margin:10px 0}
.ad-jauge{height:10px;border-radius:9px;background:var(--line);overflow:hidden;margin-top:6px}
.ad-jauge i{display:block;height:100%;border-radius:9px;background:var(--ad-acc)}
.ad-jauge.moyen i{background:var(--c4)}.ad-jauge.alerte i{background:var(--al)}
.ad-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 14px}
.ad-form label,.ad-lab{display:flex;flex-direction:column;gap:4px;font-size:13.5px;font-weight:700}
.ad-form small,.ad-lab small{font-weight:500;color:var(--muted);font-size:12px}
.ad-form input,.ad-form select,.ad-lab input,.ad-lab textarea,.ad-filtres input,.ad-tri select{font:inherit;font-weight:500;font-size:15px;min-height:44px;border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--surface);color:var(--ink);width:100%;box-sizing:border-box}
.ad-chips{display:flex;flex-wrap:wrap;gap:6px}
/* Tableaux (livre des recettes) : vrai tableau sur ordinateur, fiches sur téléphone */
.ad-table-w{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.ad-table{width:100%;border-collapse:collapse;font-size:14px}
.ad-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.ad-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.ad-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ad-table tr.neg td{color:var(--al)}
.ad-table tfoot td{font-weight:800;border-bottom:0}
/* Clients */
.ad-filtres{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ad-filtres input{flex:1;min-width:220px}
.ad-tri{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--muted)}
.ad-tri select{width:auto}
.ad-cl-h,.ad-cl-r{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.9fr) minmax(0,1.2fr);gap:10px;align-items:center}
.ad-cl-h{padding:0 14px 6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ad-cl{display:grid;gap:6px}
.ad-cl-r{all:unset;box-sizing:border-box;display:grid;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:14px}
.ad-cl-r:hover{border-color:var(--ad-acc)}.ad-cl-r:focus-visible{outline:3px solid var(--sun)}
.ad-cl-n{display:flex;flex-direction:column;min-width:0}
.ad-cl-n small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-cl-d{color:var(--muted);font-size:13px}
.ad-fiche-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.ad-visites{display:grid;grid-template-columns:repeat(30,1fr);gap:3px}
.ad-visites i{height:16px;border-radius:3px;background:var(--line)}
.ad-visites i.on{background:#1F6F66}
/* Abonnements */
.ad-rows{display:grid;gap:6px}
.ad-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) auto;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.ad-row-m,.ad-row-s{display:flex;flex-direction:column;gap:3px;min-width:0}
.ad-row-m small,.ad-row-s small{color:var(--muted);font-size:12.5px}
.ad-row-m b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-row-s .ad-pill{align-self:flex-start}
.ad-row-a{display:flex;gap:6px}
/* Notifications */
.ad-apercu{display:flex;gap:10px;align-items:center;background:var(--ad-bg);border:1px solid var(--line);border-radius:16px;padding:10px 12px;max-width:420px}
.ad-apercu img{border-radius:8px}
.ad-apercu div{display:flex;flex-direction:column;min-width:0;font-size:13.5px}
.ad-apercu span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
/* Mode d'emploi */
.ad-liens-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.ad-lien{display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--ink);text-decoration:none}
.ad-lien:hover{border-color:var(--ad-acc)}
.ad-lien span:last-child{display:flex;flex-direction:column}.ad-lien small{color:var(--muted);font-size:12.5px}
.ad-guide{display:grid;gap:8px}
.ad-guide details summary{cursor:pointer;font-weight:800;font-size:15.5px}
.ad-guide ol{margin:10px 0 0;padding-left:22px;display:grid;gap:6px;font-size:14.5px}
.ad-cal{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:14.5px}
.ad-cal:first-child{border-top:0}
.ad-regles ul{margin:0;padding-left:20px;display:grid;gap:6px;font-size:14.5px}
/* Barre du bas (téléphone) */
.ad-bas{display:none}
/* ===== Graphiques ===== */
.ch{margin:0;min-width:0}
.ch-t{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.ch-t b{font-size:16px}.ch-t span{font-size:12.5px;color:var(--muted)}
.ch-body{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:var(--h,160px) auto;column-gap:8px}
.ch-y{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:-6px;margin-bottom:-6px}
.ch-plot{position:relative;border-bottom:1px solid var(--muted);background:linear-gradient(var(--line),var(--line)) 0 0/100% 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 50%/100% 1px no-repeat}
.ch-cols{position:absolute;inset:0;display:grid;align-items:end;gap:2px}
.ch-col{position:relative;height:100%;display:flex;align-items:flex-end;justify-content:center;outline:none;cursor:default}
.ch-col i{display:block;width:min(70%,34px);background:var(--ad-acc,#1F6F66);border-radius:4px 4px 0 0;transition:filter .15s}
.ch-col:hover i,.ch-col:focus-visible i{filter:brightness(1.2)}
.ch-col:focus-visible{box-shadow:inset 0 0 0 2px var(--sun);border-radius:4px}
.ch-col em,.ch-fin{position:absolute;transform:translateY(-4px);font-style:normal;font-size:11px;font-weight:800;white-space:nowrap;color:var(--ink);pointer-events:none}
.ch-col em{left:50%;transform:translate(-50%,-4px)}
.ch-fin{right:0;transform:translate(0,-6px);background:var(--surface);padding:0 3px;border-radius:4px}
.ch-x{display:grid;font-size:11px;color:var(--muted);margin-top:4px}
.ch-x span{text-align:center;white-space:nowrap;overflow:visible}
.ch-x i{font-style:normal}.ch-x .lc{display:none}
.ch-x-l{position:relative;height:16px}
.ch-x-l span{position:absolute;transform:translateX(-50%)}
.ch-x-l span:first-child{transform:none}.ch-x-l span:last-child{transform:translateX(-100%)}
.ch-vide{position:absolute;inset:0;display:grid;place-items:center;margin:0;font-size:13px;color:var(--muted)}
.ch-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ch-ln{fill:none;stroke:var(--ad-acc,#1F6F66);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ch-area{fill:var(--ad-acc,#1F6F66);opacity:.12}
.ch-hits{position:absolute;inset:0}
.ch-hit{position:absolute;top:0;bottom:0;outline:none}
.ch-hit b{position:absolute;width:10px;height:10px;margin:0 0 -5px -5px;border-radius:50%;background:var(--ad-acc,#1F6F66);box-shadow:0 0 0 2px var(--surface);opacity:0;transition:opacity .12s}
.ch-hit:hover b,.ch-hit:focus-visible b{opacity:1}
.ch-tab{margin-top:8px;font-size:13px}
.ch-tab summary{cursor:pointer;color:var(--muted);font-weight:700}
.ch-tab table{width:100%;border-collapse:collapse;margin-top:6px}
.ch-tab td,.ch-tab th{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left}
.ch-tab td:last-child,.ch-tab th:last-child{text-align:right;font-variant-numeric:tabular-nums}
.ch-st{display:flex;gap:2px;height:22px;border-radius:6px;overflow:hidden}
.ch-st i{display:block;min-width:4px;outline:none}
.ch-st i:focus-visible{box-shadow:inset 0 0 0 2px var(--sun)}
.ch-st i.c1,.ch-leg i.c1{background:var(--c1)}.ch-st i.c2,.ch-leg i.c2{background:var(--c2)}.ch-st i.c3,.ch-leg i.c3{background:var(--c3)}.ch-st i.c4,.ch-leg i.c4{background:var(--c4)}.ch-st i.cn,.ch-leg i.cn{background:var(--cn)}
.ch-leg{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13.5px}
.ch-leg li{display:flex;align-items:center;gap:6px}
.ch-leg i{width:12px;height:12px;border-radius:3px;display:inline-block}
.ch-leg span{color:var(--muted)}
.ch-tip{position:fixed;left:0;top:0;z-index:300;pointer-events:none;background:var(--ink);color:var(--bg);font-size:13px;font-weight:600;line-height:1.4;padding:8px 10px;border-radius:10px;white-space:pre-line;max-width:260px;opacity:0;transition:opacity .12s;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.ch-tip.on{opacity:1}
/* ===== Téléphone et tablette ===== */
@media (max-width:999px){
  .ad{grid-template-columns:minmax(0,1fr);background:var(--ad-bg)}
  .ch-x .lg{display:none}.ch-x .lc{display:inline}
  .ad-filtres input{flex:1 1 100%}
  .ad-top{padding:8px 10px;gap:8px}
  .ad-burger{display:block}
  .ad-logo b,.ad-logo span{display:none}
  .ad-titre{display:block}
  .ad-retour{display:none}
  .ad-side{position:fixed;top:0;left:0;bottom:0;width:min(84vw,310px);height:auto;z-index:60;transform:translateX(-102%);transition:transform .22s ease;box-shadow:var(--shadow);padding-top:env(safe-area-inset-top)}
  .ad.menu-open .ad-side{transform:none}
  .ad-scrim{display:block;position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .2s}
  .ad.menu-open .ad-scrim{opacity:1;pointer-events:auto}
  .ad-g button,.ad-g a{padding:12px 12px;font-size:15.5px}
  .ad-wrap{padding:14px 14px calc(96px + env(safe-area-inset-bottom))}
  .ad-bas{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--ad-side);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
  .ad-bas button{all:unset;cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:12px;font-size:11.5px;font-weight:700;color:var(--muted)}
  .ad-bas button span{font-size:20px}
  .ad-bas button[aria-current="true"]{color:var(--ad-acc);background:var(--ad-acc-soft)}
  .ad-bas button:focus-visible{outline:3px solid var(--sun)}
  .ad-bas .n{position:absolute;top:0;right:12%;margin:0}
  .ad-bas .pt{position:absolute;top:6px;right:28%;width:9px;height:9px;border-radius:50%;background:var(--al)}
  .ad-grid{grid-template-columns:minmax(0,1fr)}
  .ad-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ad-kpi{padding:12px}
  .ad-cl-h{display:none}
  .ad-cl-r{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}
  .ad-cl-n{grid-column:1}.ad-cl-f{grid-column:2;grid-row:1;justify-self:end}
  .ad-cl-d{grid-column:auto;font-size:12.5px}
  .ad-cl-d::before{content:attr(data-l) " : ";font-weight:700}
  .ad-row{grid-template-columns:minmax(0,1fr) auto}
  .ad-row-s{grid-column:1/-1;grid-row:2;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}
  .ad-row-a{grid-column:2;grid-row:1}
  .ad-table-w{background:transparent;border:0;overflow:visible}
  .ad-table thead{display:none}
  .ad-table,.ad-table tbody,.ad-table tfoot,.ad-table tr,.ad-table td{display:block;width:auto}
  .ad-table tr{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:8px}
  .ad-table td{border:0;padding:3px 0;display:flex;justify-content:space-between;gap:12px;text-align:right}
  .ad-table td::before{content:attr(data-l);font-weight:700;color:var(--muted);text-align:left}
  .ad-table td[colspan]{display:block;text-align:left}.ad-table td[colspan]::before{content:none}
  .ad-table tfoot tr{display:flex;justify-content:space-between}
  .ad-cal{grid-template-columns:1fr;gap:2px}
  .ad-filtres input{min-width:0}
}
@media (max-width:420px){ .ad-kpi b{font-size:21px} .ad-env{display:none} }
@media print{ .ad-top,.ad-side,.ad-bas,.ad-scrim,.ad-tabs,.ad-head-a,.ad .btn,.ch-tip{display:none!important} .ad{display:block;background:#fff} .ad-wrap{padding:0;max-width:none} .ad-table tr{break-inside:avoid} }
.ad-sh{font-size:17px;margin:18px 0 6px;padding-top:14px;border-top:1px solid var(--line)}
.ad-sh:first-child{margin-top:0;padding-top:0;border-top:0}
.ad form[data-form="settings"]>button[type="submit"]{position:sticky;bottom:12px;width:100%;box-shadow:var(--shadow)}
@media (max-width:999px){ .ad form[data-form="settings"]>button[type="submit"]{bottom:calc(84px + env(safe-area-inset-bottom))} }
.nd-streak{margin-top:8px;font-size:14px;padding:4px 11px}
.ad-li.ad-off{opacity:.55}
.ad .card{grid-template-columns:minmax(0,1fr)}
.ad-li>span:first-child{flex:1 1 auto}
.ad-li>span:last-child{flex:none}
.ad-li.ad-li-w small{white-space:normal;overflow:visible}
@media (max-width:420px){ .ad .row>.field{min-width:0!important;flex:1 1 100%!important} .ad input,.ad select,.ad textarea{max-width:100%} }
.ry-b.ry-t-lit{opacity:.85}
.ry-b.ry-t-lit .ry-e{border-color:#8E8CE0;border-style:dashed}
.ry-conseil{margin:10px 0 0;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,#8E8CE0 14%,transparent)}
.ob-dates{grid-template-columns:1fr}
.ob-dates .choice,.ob-2 .choice{padding:12px 14px}
.ob-2{grid-template-columns:1fr 1fr}
.ob-ne{display:grid;gap:10px;padding:14px;border-radius:16px;background:color-mix(in srgb,var(--sun) 18%,var(--surface));border:1.5px solid color-mix(in srgb,var(--sun) 55%,var(--line))}
.ob-ne p{margin:0}
.sac-perso{background:color-mix(in srgb,var(--sun) 12%,var(--surface))}
.sac-calc{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14.5px}

/* 💶 Revendre sur Vinted (Dressing) */
.rv .head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rv-recup{background:var(--green-soft);color:var(--green);font-weight:800;border-radius:999px;padding:4px 12px;font-size:.95rem}
.rv-prop{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center;background:var(--cream);border:1px dashed var(--line);border-radius:16px;padding:10px 12px}
.rv-prop>span{font-size:22px}.rv-prop p{margin:0}.rv-prop>.row,.rv-prop>.btn{grid-column:1/-1;justify-self:start}
.rv-list{display:grid;gap:8px}
.rv-lot{border:1.5px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.rv-lot.retard{border-color:#E8A23A}
.rv-row{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;cursor:pointer}
.rv-row:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.rv-e{font-size:24px}.rv-t b{display:block;line-height:1.25}.rv-t small{color:var(--muted);font-size:.85rem}
.rv-chev{font-size:22px;color:var(--muted);transition:transform .2s}.rv-lot.open .rv-chev{transform:rotate(90deg)}
.rv-panel{display:grid;gap:12px;padding:0 12px 14px;border-top:1px solid var(--line);padding-top:12px}
.rv-g{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rv-form label{display:grid;gap:4px}.rv-form .sa-in,.rv-url .sa-in{width:100%;box-sizing:border-box}
.rv-form textarea{font:inherit;resize:vertical}
.rv-conseil{margin:0;background:var(--green-soft);border-radius:12px;padding:8px 10px}
.rv-annonce{display:grid;gap:10px;background:var(--bg);border-radius:14px;padding:12px}
.rv-copy{display:grid;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px}
.rv-copy pre{margin:0;white-space:pre-wrap;font:inherit;font-size:.9rem;max-height:180px;overflow:auto}
.rv-copy .btn{justify-self:start}
.rv-etapes{margin:0;padding-left:20px;display:grid;gap:4px}
.rv-annonce>.btn{justify-self:start}
.rv-url{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.rv-url label{display:grid;gap:4px}
.rv-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rv-vp{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rv-finis summary{cursor:pointer;color:var(--muted);margin-bottom:8px}
.bud-rv{all:unset;box-sizing:border-box;display:flex;gap:10px;align-items:center;width:100%;background:var(--green-soft);border-radius:18px;padding:12px 14px;cursor:pointer}
.bud-rv>span:first-child{font-size:24px}
@media (max-width:420px){.rv-url{grid-template-columns:1fr}.rv-url .btn{justify-self:start}}

/* 🛍️ La vitrine des parents (page publique) */
.vt{display:grid;gap:16px;padding-top:12px;padding-bottom:40px}
.vt-hero h1{font-family:var(--display);font-size:clamp(26px,6vw,40px);line-height:1.1;margin:4px 0 8px}
.vt-hero p{margin:0;max-width:640px}
.vt-filtres{display:grid;gap:8px}
.chip[aria-pressed="true"]{background:var(--green-soft);border-color:var(--green);font-weight:700}
.vt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.vt-card{all:unset;box-sizing:border-box;position:relative;display:grid;gap:4px;align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:14px;cursor:pointer;transition:transform .15s,box-shadow .15s}
.vt-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.vt-card:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.vt-card.vendu{opacity:.6}
.vt-ico{display:grid;place-items:center;width:100%;aspect-ratio:4/3;background:var(--green-soft);border-radius:14px;font-size:44px;margin-bottom:6px}
.vt-ico.big{width:72px;aspect-ratio:1;font-size:38px;margin:0}
.vt-badge{position:absolute;top:20px;left:20px;background:#1C1206;color:#fff;border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:700}
.vt-t{line-height:1.25}
.vt-prix{font-family:var(--display);font-weight:800;font-size:1.25rem;color:var(--green)}
.vt-cta{display:grid;gap:8px}.vt-cta h2,.vt-cta p{margin:0}.vt-cta .btn{justify-self:start}
.vt-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:end center}
@media (min-width:700px){.vt-modal{place-items:center}}
.vt-scrim{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.vt-fiche{position:relative;width:min(560px,100%);max-height:90vh;overflow:auto;display:grid;gap:14px;border-radius:24px 24px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px))}
@media (min-width:700px){.vt-fiche{border-radius:24px}}
.vt-x{position:absolute;top:10px;right:10px}
.vt-fh{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.vt-fh h2{margin:2px 0;font-size:1.3rem;line-height:1.2}.vt-fh .vt-prix{margin:0}
.vt-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:0}
.vt-dl div{background:var(--bg);border-radius:12px;padding:8px 10px}.vt-dl dt{font-size:.8rem;color:var(--muted)}.vt-dl dd{margin:0;font-weight:700}
.vt-ul{margin:0;padding-left:20px}
.vt-fiche .btn.big{justify-self:stretch;text-align:center}
.adm-vt.attente{border-left:4px solid #E8A23A}
.rv-lien{all:unset;box-sizing:border-box;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;background:var(--green-soft);border:1.5px solid var(--green);border-radius:20px;padding:14px 16px;cursor:pointer}
.rv-lien>span:first-child{font-size:28px}.rv-lien b{display:block}.rv-lien>span:last-child{font-size:24px;color:var(--green)}
.rv-home{position:relative;padding:0;overflow:hidden;background:linear-gradient(135deg,var(--green-soft),var(--cream))}
.rv-home-b{all:unset;box-sizing:border-box;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;padding:16px 44px 16px 16px;cursor:pointer}
.rv-home-b:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.rv-home-i{font-size:32px}.rv-home-b b{display:block;font-size:1.05rem;line-height:1.25}.rv-home-b small{color:var(--muted)}
.rv-home-x{position:absolute;top:8px;right:8px}
.rv-photos{display:grid;gap:10px;background:var(--bg);border-radius:14px;padding:12px}
.rv-ph-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.rv-ph{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--line);display:grid;place-items:center}
.rv-ph img{width:100%;height:100%;object-fit:cover;display:block}
.rv-ph-x{all:unset;position:absolute;top:3px;right:3px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;display:grid;place-items:center;font-size:16px;cursor:pointer}
.rv-ph-1{position:absolute;left:3px;bottom:3px;background:rgba(0,0,0,.6);color:#fff;font-size:10px;border-radius:6px;padding:1px 5px}
label.btn.disabled{opacity:.5;pointer-events:none}
.vt-cover{padding:0;overflow:hidden;background:var(--line)}.vt-cover img{width:100%;height:100%;object-fit:cover;display:block}
.vt-card .vt-ico{aspect-ratio:1}
.vt-nb{position:absolute;top:20px;right:20px;background:rgba(0,0,0,.6);color:#fff;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:700}
.vt-gal{display:flex;flex-shrink:0;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px;scrollbar-width:none}
.vt-gal::-webkit-scrollbar{display:none}
.vt-gal img{flex:0 0 86%;height:min(300px,70vw);object-fit:cover;border-radius:16px;scroll-snap-align:center;background:var(--line)}
.vt-gal-n{margin:-6px 0 0;text-align:center}
.adm-vt-ph{display:flex;gap:6px;overflow-x:auto}.adm-vt-ph img{width:84px;height:84px;object-fit:cover;border-radius:10px;display:block}
.vt-fiche .vt-x{z-index:2;background:var(--surface);border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.ry-bain-j{grid-column:1/-1;display:grid;gap:6px;margin-top:6px}

/* 📣 Le conseil du jour */
.pub-home{all:unset;box-sizing:border-box;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;background:linear-gradient(135deg,#1F6F66,#3FA796);color:#fff;border-radius:22px;padding:14px 16px;cursor:pointer;box-shadow:0 8px 24px rgba(31,111,102,.25)}
.pub-home .eyebrow{color:#FFD27A;display:block;margin:0 0 2px}.pub-home b{display:block;font-size:1.05rem;line-height:1.25}
.pub-home .rv-chev{color:#fff}.pub-home.vu{background:var(--surface);color:var(--ink);box-shadow:none;border:1px solid var(--line)}.pub-home.vu .eyebrow{color:var(--muted)}.pub-home.vu .rv-chev{color:var(--muted)}
.pub-i{font-size:30px;line-height:1}
.pub{display:grid;gap:12px}.pub-h{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.pub-h h2{margin:2px 0 0;line-height:1.2}.pub-h .eyebrow{margin:0}
.pub-t{margin:0}
.pub-slides{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:2px 16px 6px;scrollbar-width:none}.pub-slides::-webkit-scrollbar{display:none}
.pub-slide{flex:0 0 78%;scroll-snap-align:center;display:grid;align-content:start;gap:8px;background:linear-gradient(160deg,#1F6F66,#3FA796);color:#fff;border-radius:20px;padding:18px;min-height:190px;position:relative}
.pub-slide b{font-family:var(--display);font-size:1.25rem;line-height:1.15}.pub-slide p{margin:0;opacity:.92}.pub-e{font-size:34px}.pub-n{position:absolute;top:12px;right:14px;font-size:.8rem;opacity:.7;font-weight:700}
.t-bain{--b1:#1D7A9C;--b2:#6FD0E8;animation-delay:125ms}

/* 🤱 La tétée */
.t-sein{--b1:#B5476B;--b2:#F2A3B8;animation-delay:25ms}
.tt-aide{margin:0;padding-left:20px;display:grid;gap:4px;background:var(--bg);border-radius:14px;padding:10px 12px 10px 30px}
.tt-bloc{display:grid;gap:10px;padding:12px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.tt-bloc.on{border-color:#B5476B;box-shadow:0 0 0 2px color-mix(in srgb,#B5476B 25%,transparent)}
.tt-nom{margin:0;font-family:var(--display);font-weight:800;font-size:1.1rem}
.tt-dern{margin:0;font-size:.95rem;background:var(--bg);border-radius:12px;padding:8px 10px}
.tt-q{margin:0;font-weight:700;text-align:center}
.tt-tot{margin:0;text-align:center;font-size:.95rem;color:var(--muted)}
.tt-cotes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tt-cote{all:unset;box-sizing:border-box;cursor:pointer;display:grid;justify-items:center;gap:4px;padding:18px 8px;border-radius:22px;background:var(--bg);border:2px solid var(--line);text-align:center;-webkit-tap-highlight-color:transparent}
.tt-cote:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.tt-cote:active{transform:scale(.97)}
.tt-c{font-weight:800;font-size:1.05rem}
.tt-cote b{font-family:var(--display);font-size:2rem;line-height:1.1;font-variant-numeric:tabular-nums}
.tt-cote small{font-size:.8rem;color:var(--muted)}
.tt-cote.go{background:linear-gradient(150deg,#B5476B,#F2A3B8);border-color:transparent;color:#fff}.tt-cote.go small{color:rgba(255,255,255,.9)}
.tt-cote.on{background:linear-gradient(150deg,#B5476B,#F2A3B8);border-color:transparent;color:#fff;box-shadow:0 8px 20px color-mix(in srgb,#B5476B 35%,transparent)}.tt-cote.on small{color:rgba(255,255,255,.9)}
.tt-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center}
.tt-bloc>.link{justify-self:center}
.tt-manuel summary{cursor:pointer;color:var(--muted)}
.tt-g{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tt-g label{display:grid;gap:4px}.tt-g .sa-in{width:100%;box-sizing:border-box}
.bain-mes{display:grid;gap:10px;background:var(--bg);border-radius:16px;padding:12px}
.bain-b{display:grid;gap:6px}.bain-g{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bain-g label{display:grid;gap:4px}.bain-g .sa-in{width:100%;box-sizing:border-box}

/* 🎁 La carte cadeau + 🏷️ l'offre du moment */
.kdo{display:grid;gap:16px;padding-top:12px;padding-bottom:40px;max-width:720px}
.kdo-hero h1{font-family:var(--display);font-size:clamp(28px,6vw,42px);line-height:1.1;margin:4px 0 8px}.kdo-hero p{margin:0}
.kdo-fs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kdo-f{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:2px;justify-items:center;text-align:center;padding:16px 10px;border-radius:20px;border:2px solid var(--line);background:var(--surface)}
.kdo-f.on{border-color:var(--green);background:var(--green-soft)}.kdo-f:focus-visible{outline:3px solid var(--sun)}
.kdo-f b{font-family:var(--display);font-size:1.2rem}.kdo-f small{color:var(--muted);font-size:.85rem}.kdo-p{font-family:var(--display);font-weight:800;font-size:1.6rem;color:var(--green)}.kdo-p s{font-size:1rem;color:var(--muted);font-weight:600}
.kdo-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.kdo-g label,.kdo form label{display:grid;gap:4px}.kdo .sa-in,.kdo-g .sa-in{width:100%;box-sizing:border-box}.kdo textarea{font:inherit}
.kdo-c{width:100%;max-width:480px;height:auto;justify-self:center;border-radius:24px;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.kdo-code{margin:0;font-family:var(--display);font-weight:800;font-size:2rem;letter-spacing:.04em;text-align:center;background:var(--cream);border-radius:16px;padding:12px}
.kdo-faq ol{margin:0;padding-left:20px;display:grid;gap:4px}
.promo-band{display:flex;gap:12px;align-items:center;background:#1C1206;color:#fff;border-radius:18px;padding:12px 16px}.promo-band span{font-size:26px}.promo-band p{margin:0}.promo-band b{color:#FFD27A}

/* ===== 3 novembre : biberons propres, linge, habiller, trousse, premiers aliments, bilan, outils gratuits ===== */
.nv-card{--c:#2FA37A;border:1.5px solid color-mix(in srgb,var(--c) 30%,var(--line))}
.nv-card.nv-moyen{--c:#E89B2A}.nv-card.nv-bas{--c:#E5484D}
.nv-big{display:flex;align-items:baseline;gap:8px;margin:6px 0}.nv-big b{font-family:var(--display);font-size:2.6rem;line-height:1;color:var(--c)}.nv-big span{color:var(--muted)}
.nv-alerte{margin:6px 0;padding:8px 12px;border-radius:12px;background:color-mix(in srgb,var(--c,#E5484D) 14%,var(--surface));font-weight:600}
.nv-card.nv-bas .nv-alerte{--c:#E5484D}
.nv-soir{background:color-mix(in srgb,#5B6CFF 10%,var(--surface));padding:8px 12px;border-radius:12px}
.nv-form{gap:8px;flex-wrap:nowrap}.nv-form input{flex:1;min-width:0;min-height:42px;border-radius:12px;border:1.5px solid var(--line);padding:6px 12px;background:var(--surface);color:var(--ink)}
.nv-bar{height:8px;margin:6px 0}
.nv-linge{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:10px 0}
.nv-linge button{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-size:.75rem;font-weight:600;cursor:pointer}
.nv-linge button span{font-size:1.4rem}.nv-linge button:active{transform:scale(.94)}
.nv-linge button b{position:absolute;top:-6px;right:-4px;background:var(--brand);color:#fff;border-radius:99px;min-width:20px;height:20px;font-size:.72rem;display:grid;place-items:center;padding:0 5px}
.nv-linge+.row select{min-height:34px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink)}
.hb-meteo{display:flex;align-items:center;gap:14px;margin:6px 0 4px}.hb-meteo>b{font-family:var(--display);font-size:2.8rem;line-height:1}
.hb-l{margin:8px 0;padding-left:20px}.hb-l li{margin:3px 0}
.hb-nuit{background:color-mix(in srgb,#5B6CFF 10%,var(--surface));padding:10px 12px;border-radius:14px;margin:8px 0}.hb-nuit p{margin:4px 0 0}
.hb-card .x.sm{width:30px;height:30px;font-size:1.1rem;border:0;background:none;color:var(--muted);cursor:pointer}
.tr-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tr-i{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;border:1.5px solid var(--line)}
.tr-i>div:first-child{display:flex;flex-direction:column;min-width:0}
.tr-i.tr-moyen{border-color:#E89B2A;background:color-mix(in srgb,#E89B2A 8%,var(--surface))}.tr-i.tr-bas{border-color:#E5484D;background:color-mix(in srgb,#E5484D 8%,var(--surface))}
.al-tabs{margin-top:12px}.al-cat{margin:14px 0 6px;font-size:1rem}
.al-grid{display:flex;flex-wrap:wrap;gap:6px}
.al-it{display:inline-flex;align-items:center;gap:4px;padding:7px 12px;border-radius:99px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-size:.88rem;cursor:pointer}
.al-it.on{background:var(--green-soft);border-color:var(--green)}.al-it.sel{outline:2px solid var(--brand);outline-offset:1px}
.al-ed{display:grid;gap:8px;border:1.5px solid var(--brand)}
.al-avis{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.al-avis button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-size:.78rem;cursor:pointer}
.al-avis button span{font-size:1.4rem}.al-avis button[aria-pressed="true"]{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,var(--surface));font-weight:700}
.al-alerte{background:var(--danger-bg);color:var(--ink);padding:8px 12px;border-radius:12px;margin:0}
.al-recs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.al-rc{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;cursor:pointer;color:var(--ink)}.al-rc>span{font-size:2rem}.al-rc small{color:var(--muted)}
.al-rec-h{display:flex;gap:12px;align-items:center}.al-rec-h>span{font-size:2.6rem}.al-rec-h h2{margin:0}
.al-yt{justify-self:start}
.al-etape{background:var(--green-soft);border-radius:16px;padding:14px}.al-etape-t{font-size:1.15rem;font-weight:600;margin:6px 0 10px}
.al-timer{font-family:var(--display);font-size:2rem;margin:4px 0}
.bl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.bl-grid>div{display:flex;flex-direction:column;align-items:center;padding:14px 8px;border-radius:16px;background:var(--green-soft);animation:bl-in .5s both;animation-delay:var(--d)}
.bl-grid span{font-size:1.8rem}.bl-grid b{font-family:var(--display);font-size:1.7rem;color:var(--green-ink)}.bl-grid small{color:var(--muted);text-align:center}
@keyframes bl-in{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.bl-grid>div{animation:none}}
.bl-twins{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.bl-twins>div{display:flex;flex-direction:column;padding:10px;border-radius:14px;border:1.5px solid var(--line)}
.gr-liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.gr-lien{display:flex;gap:12px;align-items:center;text-align:left;cursor:pointer;color:var(--ink)}.gr-lien>span:first-child{font-size:2rem}.gr-lien b{display:block}.gr-lien small{color:var(--muted)}
.gr-res{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gr-res>div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 6px;border-radius:14px;background:var(--green-soft)}
.gr-res b{font-family:var(--display);font-size:1.6rem;color:var(--green-ink)}.gr-res small{color:var(--muted);font-size:.78rem}
.gr-cta{margin-top:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 14%,var(--surface)),var(--surface))}
@media (max-width:520px){.gr-res{grid-template-columns:1fr}.nv-linge{grid-template-columns:repeat(3,1fr)}}
@media print{.gr-valise .seg,.gr-valise .btn,.gr-cta,.gr-liste,.pub-head{display:none!important}}
.gr-card label.small:not(.switch){display:grid;gap:4px}.gr-card .row>label.small{flex:1 1 140px}
.gr-res b,.bl-grid b{color:var(--ink)}
/* ===== De 1 à 3 ans : outils débloqués selon l'âge ===== */
.db-card{border:1.5px solid color-mix(in srgb,var(--brand) 40%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--sun) 16%,var(--surface)),var(--surface))}
.db-it{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 4px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);cursor:pointer}
.db-it>span:first-child{font-size:1.8rem}.db-it b{display:block}.db-it small{color:var(--muted)}.db-it i{margin-left:auto;font-style:normal;font-size:1.4rem;color:var(--muted)}
.mn-j{display:flex;align-items:center;gap:10px;padding:10px 12px}.mn-j.auj{border:1.5px solid var(--brand)}
.mn-d{width:44px;font-weight:800;font-family:var(--display);display:flex;flex-direction:column;line-height:1.1}.mn-d small{font:600 .68rem var(--body,sans-serif);color:var(--brand)}
.mn-p{flex:1;display:flex;align-items:center;gap:10px;text-align:left;border:0;background:none;color:var(--ink);cursor:pointer;min-width:0}.mn-p>span:first-child{font-size:1.7rem}.mn-p b{display:block}.mn-p small{color:var(--muted)}
.mn-steps{padding-left:22px}.mn-steps li{margin:6px 0}
.pot-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pot-btns button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 8px;border-radius:20px;border:0;font-weight:800;font-size:1.05rem;cursor:pointer}
.pot-btns button span{font-size:2.2rem}.pot-ok{background:#FFE7A8;color:#5B3A00}.pot-acc{background:color-mix(in srgb,#5AB8FF 18%,var(--surface));color:var(--ink)}
.pot-btns button:active{transform:scale(.96)}
.pot-semaine{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.pot-semaine>div{display:flex;flex-direction:column;align-items:center;padding:8px 2px;border-radius:12px;background:var(--green-soft)}
.pot-semaine>div.auj{outline:2px solid var(--brand)}.pot-semaine small{color:var(--muted);font-size:.72rem}.pot-semaine b{font-size:.95rem;min-height:1.3em}
.col-sos ol{padding-left:20px;margin:0}.col-sos li{margin:8px 0}
.col-decl{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.col-decl button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-size:.78rem;cursor:pointer;text-align:center}
.col-decl button span{font-size:1.4rem}.col-decl button[aria-pressed="true"]{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,var(--surface));font-weight:700}
.col-stats{background:var(--green-soft);border-radius:14px;padding:10px 12px}.col-stats p{margin:4px 0}
.mat-i .pill{font-size:.7rem}
.df-cur{border:1.5px solid var(--brand)}.df-ok{opacity:.75}
.pt-form{flex-wrap:wrap}.pt-form input[name=cm]{flex:1 1 150px}.pt-form input[name=p]{flex:0 1 100px}
/* Médailles et mot du jour */
.med-pop{position:fixed;left:50%;top:84px;transform:translateX(-50%);z-index:300;width:min(92vw,420px);display:flex;gap:12px;align-items:flex-start;padding:16px 16px 16px 14px;border-radius:22px;background:linear-gradient(135deg,#FFF3CF,#FFFFFF);color:#1C2633;box-shadow:0 18px 50px rgba(0,0,0,.25);border:2px solid #F2B541;animation:med-in .5s cubic-bezier(.2,1.4,.4,1);cursor:pointer}
.med-pop .med-e{font-size:2.6rem;line-height:1}.med-pop b{font-family:var(--display);font-size:1.15rem;display:block}.med-pop p{margin:2px 0 0;font-size:.92rem}.med-pop .eyebrow{color:#9A6400}
.med-pop button{margin-left:auto;border:0;background:none;font-size:1.4rem;color:#5B6672;cursor:pointer;align-self:flex-start}
@keyframes med-in{from{opacity:0;transform:translate(-50%,-20px) scale(.9)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){.med-pop{animation:none}}
.med-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.med{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:14px 10px;border-radius:18px;border:1.5px dashed var(--line);color:var(--muted)}
.med>span{font-size:2rem;filter:grayscale(1);opacity:.5}.med.on{border:1.5px solid #F2B541;background:color-mix(in srgb,#F2B541 12%,var(--surface));color:var(--ink)}.med.on>span{filter:none;opacity:1}
.med small{color:var(--muted);font-size:.78rem}
.md-card{position:relative;background:linear-gradient(135deg,color-mix(in srgb,#E39AC9 14%,var(--surface)),var(--surface));border:1.5px solid color-mix(in srgb,#E39AC9 35%,var(--line))}
.md-card .x.sm{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;background:none;font-size:1.2rem;color:var(--muted);cursor:pointer}
.md-t{font-family:var(--display);font-size:1.1rem;line-height:1.35;margin:4px 24px 0 0}
/* Pour toi (maman, papa), nous deux, assistant */
.mm-tabs{margin-top:12px;flex-wrap:wrap}
.hu-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.hu-row button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-size:.72rem;font-weight:600;cursor:pointer}
.hu-row button span{font-size:1.6rem}.hu-row button[aria-pressed="true"]{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,var(--surface));font-weight:800}
.hu-hist{display:flex;gap:6px;font-size:1.2rem}
.hu-aide{background:color-mix(in srgb,#E39AC9 14%,var(--surface));border-radius:14px;padding:10px 12px;font-size:.9rem}
.hu-mini{position:relative}.hu-mini .x.sm{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;background:none;font-size:1.2rem;color:var(--muted);cursor:pointer}
.pm-t{font-family:var(--display);font-size:1.15rem;line-height:1.35;margin:0}
.pp-i{border:1.5px solid var(--line);border-radius:14px;padding:8px 10px;display:grid;gap:4px}.pp-i.now{border-color:var(--sun);background:color-mix(in srgb,var(--sun) 10%,var(--surface))}.pp-i.fait{opacity:.7}
.ls-form{flex-wrap:wrap}.ls-lieu{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;font-size:.85rem;cursor:pointer}
.rmo-card{border:1.5px solid color-mix(in srgb,var(--brand) 35%,var(--line))}.rm-geste{background:var(--green-soft);border-radius:14px;padding:10px 12px;font-size:.95rem}
.pd-q{margin:0;padding-left:20px}.pd-q li{margin:6px 0;font-weight:600}
.rp-bar{display:flex;border-radius:12px;overflow:hidden;font-size:.8rem;font-weight:800}.rp-bar span{padding:8px 6px;white-space:nowrap;overflow:hidden;min-width:0}.rp-bar span:first-child{background:#BFE3D6;color:#12453F}.rp-bar span:last-child{background:#F8D9A0;color:#5B3A00;text-align:right}
.as-chat{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow-y:auto;padding:12px}
.as-m{align-self:flex-start;max-width:88%;background:var(--green-soft);border-radius:16px 16px 16px 4px;padding:8px 12px}.as-m p{margin:0}
.as-m.moi{align-self:flex-end;background:var(--brand);color:#fff;border-radius:16px 16px 4px 16px}
.as-go{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.as-go button{border:0;background:var(--surface);color:var(--brand-txt);border-radius:99px;padding:6px 10px;font-weight:700;font-size:.85rem;cursor:pointer}
.as-sug{margin-top:10px}
.as-form{display:flex;gap:8px;margin-top:10px}.as-form input{flex:1;min-width:0;min-height:48px;border-radius:99px;border:1.5px solid var(--line);padding:6px 16px;background:var(--surface);color:var(--ink)}
.as-mini label{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.hm-med{all:unset;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;font-size:.85rem;font-weight:600;background:rgba(255,255,255,.18);border-radius:14px;padding:6px 10px}
.hm-med-n{display:inline-flex;align-items:center;gap:6px}.hm-med i{display:inline-block;width:60px;height:6px;border-radius:6px;background:rgba(255,255,255,.3);overflow:hidden}.hm-med i b{display:block;height:100%;background:#F2B541}
/* ===== Page Bébé · les compteurs ===== */
.cpt-card{display:grid;gap:12px}
.cpt-phrase{margin:0;background:var(--cream);border-radius:16px;padding:10px 14px;font-weight:700;line-height:1.4}
.cpt-noms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.cpt-noms span{display:none}
.cpt-row{display:grid;gap:6px}.cpt-h{display:flex;justify-content:space-between;align-items:center;font-weight:800}
.cpt-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cpt-g3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cpt{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;gap:6px;min-height:104px;padding:12px;border-radius:20px;border:2px solid var(--line);background:var(--surface);color:var(--ink);-webkit-tap-highlight-color:transparent;transition:transform .12s}
.cpt:active{transform:scale(.96)}.cpt:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.cpt-l{font-size:.8rem;font-weight:800;color:var(--muted)}
.cpt b{font-family:var(--display);font-size:1.75rem;line-height:1;letter-spacing:-.02em}.cpt-g3 .cpt b{font-size:1.35rem}
.cpt small{font-size:.8rem;font-weight:600;color:var(--muted);line-height:1.25}
.cpt-bar{display:block;height:6px;border-radius:6px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}.cpt-bar span{display:block;height:100%;border-radius:6px;background:var(--green)}
.cpt-tiede{border-color:#F2B541;background:color-mix(in srgb,#F2B541 14%,var(--surface))}
.cpt-chaud{border-color:#E8762B;background:color-mix(in srgb,#E8762B 14%,var(--surface))}.cpt-chaud .cpt-bar span{background:#E8762B}.cpt-chaud small{color:var(--ink)}
.cpt-dort{border-color:#B9B0F2;background:color-mix(in srgb,#8C7BFF 14%,var(--surface))}.cpt-dort .cpt-bar span{background:#8C7BFF}
.cpt-aide{margin:0}
.bb2-autres{display:grid;gap:10px}.bb2-gestes{display:flex;flex-wrap:wrap;gap:8px}
.bb2-g{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:99px;padding:10px 14px;font-weight:700;font-size:.92rem;cursor:pointer}
.bb2-g.on{border-color:var(--green);background:var(--green-soft)}
/* ===== L'appli devine ===== */
.dv-card{background:linear-gradient(160deg,#1F6F66,#2E8A7C);color:#fff;border:0;display:grid;gap:10px;padding:20px}
.dv-card.dv-chaud{background:linear-gradient(160deg,#1F6F66,#2E8A7C 60%,#B5741A)}
.dv-sur{color:#BFE7DD!important;margin:0}.dv-t{margin:0;font-family:var(--display);font-size:1.9rem;line-height:1.05;color:#fff}.dv-p{margin:0;color:#E6F4EF;line-height:1.4}
.dv-go{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:24px 16px;border-radius:26px;background:#F2B541;color:#1C2633;box-shadow:0 14px 30px rgba(0,0,0,.22);transition:transform .12s}
.dv-go:active{transform:scale(.97)}.dv-go:focus-visible{outline:3px solid #fff;outline-offset:3px}
.dv-go b{font-family:var(--display);font-size:1.6rem;line-height:1.1}.dv-go small{font-weight:700;font-size:.9rem}
.dv-adj{color:#FFE7A8!important;justify-self:center}
.dv-pas{margin:4px 0 0;color:#BFE7DD;font-weight:700}
.dv-autres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dv-autres button{border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;border-radius:16px;padding:12px 10px;font-weight:700;font-size:.9rem;text-align:left;cursor:pointer}
.dv-couche{display:grid;gap:8px;background:rgba(255,255,255,.12);border-radius:18px;padding:12px}
.dv-cg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dv-cg button{border:0;background:#F2B541;color:#1C2633;border-radius:16px;padding:16px 6px;font-weight:800;cursor:pointer}
.dv-couche .link{color:#FFE7A8}
/* ===== Page Bébé retravaillée (même base) ===== */
.bb-qui{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bb-qui>span{font-weight:800;font-size:.9rem;color:var(--muted)}.bb-qui>*:last-child{flex:1}
.bb-st2{display:grid!important;grid-template-columns:1fr;gap:8px}
.bb-st-n{font-family:var(--display);font-size:1.05rem}
.bb-st-c{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.bb-c{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:8px 10px;border-radius:14px;background:color-mix(in srgb,var(--surface) 70%,transparent);border:1.5px solid var(--line);min-width:0}
.bb-c i{font-style:normal;font-size:1.05rem}.bb-c b{font-family:var(--display);font-size:1.15rem;line-height:1.15}.bb-c small{font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bb-c.chaud{border-color:#E8762B;background:color-mix(in srgb,#E8762B 12%,var(--surface))}.bb-c.dort{border-color:#B9B0F2;background:color-mix(in srgb,#8C7BFF 12%,var(--surface))}
.bb-st2 .bb-st-r{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}
/* Les tuiles : 4 grandes (biberon, couche, tétée, dodo), puis les autres en petit */
.bb3 .bb-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}
.bb3 .bb-tiles>.bb-t{grid-column:span 3}
.bb3 .bb-tiles>.t-bib{order:1}.bb3 .bb-tiles>.t-couche{order:2}.bb3 .bb-tiles>.t-sein{order:3}.bb3 .bb-tiles>.t-dodo{order:4}
.bb3 .bb-tiles>.t-tl,.bb3 .bb-tiles>.t-bain,.bb3 .bb-tiles>.t-repas{order:5;grid-column:span 2;min-height:76px;padding:10px 12px;border-radius:18px}
.bb3 .bb-tiles:not(:has(.t-repas))>.t-tl,.bb3 .bb-tiles:not(:has(.t-repas))>.t-bain{grid-column:span 3}
.bb3 .bb-tiles>.t-tl b,.bb3 .bb-tiles>.t-bain b,.bb3 .bb-tiles>.t-repas b{font-size:16px}
.bb3 .bb-tiles>.t-tl small,.bb3 .bb-tiles>.t-bain small,.bb3 .bb-tiles>.t-repas small{font-size:12px}
.bb3 .bb-tiles>.t-tl .bb-i,.bb3 .bb-tiles>.t-bain .bb-i,.bb3 .bb-tiles>.t-repas .bb-i{font-size:22px}
.bb-voix2{width:100%}
.bb-maison{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.bb-maison>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:14px 16px;font-weight:800}
.bb-maison>summary::-webkit-details-marker{display:none}.bb-maison>summary::after{content:'›';margin-left:auto;font-size:1.4rem;color:var(--muted);transition:transform .2s}.bb-maison[open]>summary::after{transform:rotate(90deg)}
.bb-maison>summary small{font-weight:500;color:var(--muted);flex-basis:100%;order:3}.bb-badge{background:#FCE2CF;color:#9A3B0A;border-radius:99px;padding:2px 10px;font-size:.78rem}
.bb-maison-c{display:grid;gap:12px;padding:0 12px 12px}
.bb3 .bb-st2 .bb-st-r{display:flex;flex-direction:row!important;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-start}
.bb3 .bb-t small{font-size:13px;opacity:.95;font-weight:600;line-height:1.3}
.bb-next-row{display:flex;gap:8px;flex-wrap:wrap}
.bb-next2{flex:1 1 160px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:16px;padding:10px 14px;font-weight:600;cursor:pointer;text-align:left}
.bb-next2 small{font-size:.75rem;color:var(--muted);font-weight:500}.bb-next2.late{border-color:#E8762B;background:color-mix(in srgb,#E8762B 12%,var(--surface))}
.bb-par{margin:0;font-size:.88rem;font-weight:600;color:var(--muted);background:var(--surface);border:1.5px dashed var(--line);border-radius:14px;padding:8px 12px}
.bb-vite{display:grid;gap:6px}.bb-vite>span{font-size:.85rem;font-weight:800;color:var(--muted)}
.bb-vite>div{display:flex;gap:6px;flex-wrap:wrap}
.bb-vite button{flex:1 1 0;min-width:84px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:11px 6px;font-weight:800;font-size:.9rem;cursor:pointer;white-space:nowrap}
.bb-vite button:active{transform:scale(.96)}.bb-vite .bb-mic{flex-basis:100%;background:var(--green-soft);border-color:transparent}.bb-vite .bb-mic.on{background:#FCE2CF}
/* Urgences, aides, ce mois-ci, partenaires */
.urg-nums{display:grid;gap:8px}
.urg-n{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:12px 14px}
.urg-n b{display:block;font-size:1.02rem}.urg-n small{color:var(--muted);font-weight:500;line-height:1.3}.urg-e{font-size:1.6rem}
.urg-n.rouge{background:#C2410C;border-color:#C2410C;color:#fff}.urg-n.rouge small{color:#FFE4D6}
.aid{display:grid;gap:6px}.aid.fait{opacity:.7}.aid a{justify-self:start}
.cm-l{margin:0;padding-left:20px}.cm-l li{margin:6px 0;font-weight:600}
.cr-part{font-size:.78rem;font-weight:800;color:var(--brand-txt);white-space:nowrap}
/* 💬 La bulle de l'assistant, sur tous les écrans */
.as-bulle{position:fixed;right:16px;bottom:24px;z-index:35}
.as-bulle-b{width:58px;height:58px;border-radius:50%;border:0;background:linear-gradient(150deg,#1F6F66,#3FA796);color:#fff;font-size:26px;box-shadow:0 10px 26px rgba(28,38,51,.28);cursor:pointer;display:grid;place-items:center;animation:as-pop .5s cubic-bezier(.2,1.4,.4,1)}
.as-bulle-b:active{transform:scale(.92)}.as-bulle-b:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.as-bulle-x{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:var(--ink);color:var(--surface);font-size:14px;line-height:1;cursor:pointer;opacity:.8}
@keyframes as-pop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.as-bulle-b{animation:none}}
.as-sheet .as-chat{max-height:46vh}
@media (max-width:720px){.as-bulle{bottom:calc(84px + env(safe-area-inset-bottom))}}
.qui-mini{grid-column:1/-1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.qui-mini>span{font-size:.75rem;font-weight:800;color:var(--muted)}
.qui-mini button{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:99px;padding:5px 11px;font-size:.8rem;font-weight:700;cursor:pointer;min-height:32px}
.qui-mini button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.c-qui .seg button[aria-pressed="true"]{background:var(--brand);color:#fff}
/* ===== Nouvelle page d'accueil (essaie en 10 secondes) ===== */
.lp2-hero{background:linear-gradient(160deg,#1F6F66,#2E8A7C 60%,#3FA796);color:#fff;padding:42px 0 64px}
.lp2-hero-in{max-width:760px;display:grid;gap:14px}
.lp2-for{margin:0;font-weight:700;color:#BFE7DD;font-size:.95rem}
.lp2-h1{margin:0;font-family:var(--display);font-size:clamp(2.4rem,7vw,4.2rem);line-height:1.02;letter-spacing:-.02em;color:#fff}.lp2-h1 span{color:#F2B541}
.lp2-lead{margin:0;font-size:1.12rem;line-height:1.5;color:#E6F4EF;max-width:620px}
.lp2-try-w{margin-top:-40px}
.lp2-try{max-width:560px;background:var(--surface);color:var(--ink);border-radius:28px;box-shadow:0 22px 50px rgba(28,38,51,.16);padding:20px;display:grid;gap:12px}
.lp2-k{margin:0;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-txt)}
.lp2-try-b{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lp2-b{border:0;border-radius:22px;padding:24px 8px;font-family:var(--display);font-weight:800;font-size:1.35rem;cursor:pointer;color:#1C2633;transition:transform .1s}
.lp2-b:active{transform:scale(.95)}.lp2-b.bib{background:#F2B541}.lp2-b.couche{background:#DDF0E8}
.lp2-msg{margin:0;background:var(--bg);border-radius:16px;padding:12px 14px;line-height:1.45;min-height:48px}
.lp2-keep{width:100%}.lp2-full{justify-self:start}
.lp2-cta{max-width:560px;display:grid;gap:8px;margin-top:18px}.lp2-big{width:100%;font-size:1.15rem;padding:18px}.lp2-cta p{margin:0;text-align:center;color:var(--muted);font-size:.9rem}
.lp2-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:14px}
.lp2-c{background:var(--surface);border:1.5px solid var(--line);border-radius:20px;padding:16px;display:grid;gap:4px}
.lp2-c b{font-size:1.05rem;text-decoration:line-through;text-decoration-color:#E5484D;text-decoration-thickness:2px}.lp2-c span{color:var(--muted)}
.lp2-dark{background:#1C2633;color:#fff;border-radius:28px;padding:26px 22px;display:grid;gap:14px}.lp2-dark h2{margin:0;color:#fff}.lp2-dark p{margin:0;color:#DDE5F2;max-width:640px}
.lp2-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.lp2-steps span{background:rgba(255,255,255,.1);border-radius:14px;padding:10px 4px;text-align:center;font-weight:700;font-size:.85rem}.lp2-steps span.on{background:#F2B541;color:#1C2633}
.lp2-meds{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}
.lp2-meds>div{display:grid;gap:4px;background:color-mix(in srgb,#F2B541 14%,var(--surface));border:1.5px solid #F2B541;border-radius:18px;padding:14px}.lp2-meds span{font-size:1.6rem}.lp2-meds small{color:var(--muted)}
.lp2-share{background:var(--green-soft);border-radius:26px;padding:22px;display:grid;gap:10px;justify-items:start}.lp2-share h2,.lp2-share p{margin:0}
.pub-cta{display:flex;gap:14px;align-items:flex-start;margin:24px 0;padding:18px;border-radius:22px;background:var(--green-soft);border:1.5px solid color-mix(in srgb,var(--brand) 25%,var(--line))}
.pub-cta>span{font-size:2rem}.pub-cta b{display:block;font-family:var(--display);font-size:1.1rem}.pub-cta p{margin:4px 0 10px;color:var(--muted)}
.med .link{margin-top:4px}.med-pop .med-sh{font-weight:800;color:#9A6400;margin-top:6px}
.vc-mini{display:flex;gap:12px;align-items:center;text-align:left;cursor:pointer;color:var(--ink)}.vc-mini>span:first-child{font-size:1.8rem}.vc-mini b{display:block}.vc-mini small{color:var(--muted)}
.vc-card.neuf{border:1.5px solid #E39AC9;background:color-mix(in srgb,#E39AC9 12%,var(--surface))}
.cc-regle p{margin:8px 0}

.bx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:4px 0 8px}.bx-grid>div{background:var(--bg,#F7FAF8);border-radius:12px;padding:8px;text-align:center;display:flex;flex-direction:column}.bx-grid b{font-size:20px;font-family:'Bricolage Grotesque',sans-serif}.bx-grid small{font-size:11.5px;color:var(--muted);line-height:1.2}
.bb-boite .bar{height:8px;border-radius:8px;background:var(--line);overflow:hidden}.bb-boite .bar span{display:block;height:100%;background:var(--sun);border-radius:8px}
/* 🏡 Deux maisons */
.dm-ry{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 14px}.dm-ry legend{margin-bottom:4px}.dm-ry label{display:flex;gap:6px;align-items:center;font-size:15px}
.dm-pt{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:6px}.dm-j{border:0;border-radius:10px;padding:8px 0;font-weight:800}
.dm-j.a,.dm-c.a{background:#DDF0E8;color:#1F6F66}.dm-j.b,.dm-c.b{background:#ECE9FF;color:#4B3FA8}
.dm-hero{background:linear-gradient(135deg,#DDF0E8,#fff)}.dm-hero.dm-b{background:linear-gradient(135deg,#ECE9FF,#fff)}.dm-hero h2{font-size:22px;margin:2px 0 6px}
.dm-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.dm-c{border-radius:10px;padding:6px 0;text-align:center;display:flex;flex-direction:column}.dm-c small{font-size:11px;text-transform:capitalize}.dm-c b{font-size:16px}
.dm-leg{display:flex;align-items:center;gap:6px;font-size:13px;margin:8px 0 4px}.dm-leg .dm-c{width:14px;height:14px;padding:0;border-radius:4px;display:inline-block}
.dm-chips{display:flex;flex-wrap:wrap;gap:6px}.dm-chips .chip{border:1px solid var(--line);background:#fff;border-radius:99px;padding:6px 10px;font-size:13px;font-weight:600}
.dm-n{border-top:1px solid var(--line);padding:8px 0}.dm-n:first-of-type{border-top:0}
/* 👶 Les bébés du même mois */
.coh-l{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}.coh-l>span{font-size:24px;line-height:1}
/* 🛒 Où racheter */
.of-l{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:inherit}.of-l>span:first-child{flex:1;display:flex;flex-direction:column}.of-l small{color:var(--muted);font-size:12.5px}.of-p{font-size:17px;color:#1F6F66}
/* 📗 Le livre de la première année */
.l1{display:grid;gap:14px;max-width:680px}.l1-p{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.l1-p h3{font-family:'Bricolage Grotesque',sans-serif;font-size:22px;margin:0 0 12px}
.l1-cover{text-align:center;background:linear-gradient(160deg,#DDF0E8,#FFF6DF);padding:46px 22px}.l1-cover>span{font-size:54px}.l1-cover h2{font-size:34px;margin:8px 0 4px}.l1-cover p{font-size:20px;margin:0 0 6px;font-weight:700}
.l1-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.l1-g>div{background:#F7FAF8;border-radius:14px;padding:12px 6px;text-align:center;display:flex;flex-direction:column}.l1-g span{font-size:24px}.l1-g b{font-size:22px}.l1-g small{color:var(--muted);font-size:12px}
.l1-m{display:flex;flex-direction:column;padding:8px 0;border-top:1px solid var(--line)}.l1-m:first-of-type{border-top:0}
.l1-mot{font-size:18px;font-weight:700;margin:0 0 10px}.l1-mot small{display:block;font-weight:500;font-size:13px;color:var(--muted)}
.l1-lettre p{font-size:17px;line-height:1.6}.l1-fin{text-align:center;color:var(--muted);font-size:13px;padding:12px}
@media print{ .l1{max-width:none}.l1-p{border:0;border-radius:0;break-after:page;page-break-after:always;min-height:85vh}.l1-fin{min-height:auto} }
.dm-perso{display:none}form:has([name="rythme"][value="perso"]:checked) .dm-perso{display:block}
/* 🎲 Qui de nous deux ? (les questionnaires à deux) */
.c-qz{display:flex;gap:12px;align-items:center;text-align:left;width:100%;color:var(--ink);background:color-mix(in srgb,#E5484D 10%,var(--surface));border:1.5px solid color-mix(in srgb,#E5484D 30%,transparent)}
.c-qz .qz-big{font-size:34px;line-height:1;flex:none}
.c-qz .eyebrow{display:block;margin:0 0 2px}
.c-qz b{display:block;font-size:16px}
.qz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.qz-t{box-sizing:border-box;display:flex;gap:8px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--surface);border:1.5px solid var(--line);color:var(--ink)}
.qz-tb{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:12px;align-items:center;flex:1;min-width:0}
.qz-t .btn{flex:none}
.qz-pli{margin-top:12px}
.qz-pli>summary{cursor:pointer;padding:10px 4px;list-style-position:inside}
.qz-pli .qz-grid{margin-top:6px}
.qz-t.drole{border-left:6px solid #F2B541}
.qz-t.serieux{border-left:6px solid #1F6F66}
.qz-t.lock .qz-tb{opacity:.55;cursor:default}
.qz-tb:focus-visible{outline:3px solid var(--sun)}
.qz-t .qz-e{font-size:28px;flex:none}
.qz-t b{display:block;font-size:15px}
.qz-t small{display:block;color:var(--muted);margin-top:2px}
.qz-head{display:flex;gap:12px;align-items:center}
.qz-head>span{font-size:40px}
.qz-head b{display:block;font-size:20px}
.qz-q h2{font-size:clamp(22px,4.5vw,30px);margin:10px 0 14px}
.qz-o{display:grid;gap:10px}
.qz-o .btn{width:100%;justify-content:center;min-height:52px;font-size:17px}
.qz-res{background:var(--green-soft)}
/* 🤰 Le futur bébé (nouvel enfant en route) */
.c-att{display:flex;gap:12px;align-items:center;text-align:left;width:100%;color:var(--ink);background:color-mix(in srgb,#E39AC9 18%,var(--surface));border:1.5px solid color-mix(in srgb,#E39AC9 45%,transparent)}
.c-att .att-big{font-size:36px;line-height:1;flex:none}
.c-att .eyebrow{display:block;margin:0 0 2px}
.c-att b{display:block;font-size:16px}
.att-count{background:linear-gradient(135deg,#FDE2EC,#FFF4E0)}
/* 👧👦 Plusieurs enfants : la barre de choix et les couleurs de chacun */
.kids-bar{position:sticky;top:calc(env(safe-area-inset-top,0px) + 64px);z-index:9;background:var(--surface);border-bottom:1px solid var(--line)}
.kids-bar .wrap{display:flex;gap:8px;overflow-x:auto;padding:8px 16px;scrollbar-width:none}
.kids-bar button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:2px solid color-mix(in srgb,var(--k) 40%,transparent);white-space:nowrap;color:var(--ink);font-size:14px}
.kids-bar button i{width:10px;height:10px;border-radius:50%;background:var(--k);flex:none}
.kids-bar button small{color:var(--muted)}
.kids-bar button[aria-pressed="true"]{background:var(--k);border-color:var(--k);color:#fff}
.kids-bar button[aria-pressed="true"] i{background:#fff}
.kids-bar button[aria-pressed="true"] small{color:rgba(255,255,255,.85)}
.kids-bar button:focus-visible{outline:3px solid var(--sun)}
.mk-who button.kid{border-left:5px solid var(--k)}
.mk-h-row.kid,.ev.kid{box-shadow:inset 4px 0 0 var(--k)}
.c-3ans{display:flex;gap:12px;align-items:center;text-align:left;width:100%;color:var(--ink);background:color-mix(in srgb,#F2B541 18%,var(--surface));border:1.5px solid color-mix(in srgb,var(--k,#F2B541) 45%,transparent)}
.c-3ans .eyebrow{display:block;margin:0 0 2px}.c-3ans b{display:block;font-size:16px}
.c-3ans-hero{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,#FFEFC2,#FFF8E8);border-left:6px solid var(--k)}
.c-3ans-hero>span{font-size:44px}.c-3ans-hero>div{flex:1;min-width:200px}
@media (max-width:900px){.kids-bar{top:calc(env(safe-area-inset-top,0px) + 64px)}}
/* 💞 Versions solo : l'invitation à passer à deux */
.c-plus2{display:flex;gap:10px;align-items:center;background:color-mix(in srgb,#E5484D 8%,var(--surface));border:1.5px dashed color-mix(in srgb,#E5484D 35%,transparent);box-shadow:none}
.c-plus2>span{font-size:22px}
.card .c-plus2{margin-top:4px}
.cr-q-a{display:inline-block;padding:8px 12px;border-radius:999px;background:var(--bg);border:1.5px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px;margin:0 6px 6px 0}
/* 📖 Le livre d'or des familles */
.lf-mur{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.lf-mot{margin:0;padding:18px 18px 14px;border-radius:18px;background:linear-gradient(180deg,#FFFBEF,#FFF4DC);border:1px solid #EADBB8;color:#3A2E1C;position:relative}
.lf-mot::before{content:"“";position:absolute;top:-6px;left:12px;font:700 54px Georgia,serif;color:#E2C98F}
.lf-mot blockquote{margin:8px 0 10px;font:italic 17px/1.5 Georgia,serif}
.lf-mot figcaption{font-size:14px}.lf-mot figcaption small{display:block;color:#8A7A5C;margin-top:2px}
.c-lf{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,#FFFBEF,#FFF4DC);border:1.5px solid #EADBB8}
.lp-lf .lf-mur{margin-top:14px}
.l3-ph{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.l3-ph img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
/* 🧭 Découvrir les outils, ⏰ c'est le moment, ⭐ épingler */
.c-decouv{background:linear-gradient(135deg,color-mix(in srgb,var(--c1) 12%,var(--surface)),var(--surface));border:1.5px solid color-mix(in srgb,var(--c1) 35%,transparent)}
.c-decouv .eyebrow{margin:0 0 6px}
.dc-row{display:flex;gap:12px;align-items:center;margin-bottom:10px}.dc-e{font-size:38px;line-height:1}.dc-row b{font-size:17px}
.dc-prog{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:10px}.dc-prog i{display:block;height:100%;background:linear-gradient(90deg,#1F6F66,#3FA796);border-radius:99px}
.dc-sec{margin:6px 0 4px}.dc-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.dc-nv summary{cursor:pointer;padding:8px 0}
.c-moment{display:flex;gap:12px;align-items:flex-start;background:color-mix(in srgb,#F2B541 14%,var(--surface));border:1.5px solid color-mix(in srgb,#F2B541 45%,transparent)}
.c-moment .mo-e{font-size:36px;line-height:1}.c-moment .eyebrow{margin:0 0 2px}.c-moment b{display:block;font-size:16px}
.ep-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin:10px 0 0;padding:10px 14px;border-radius:14px;background:color-mix(in srgb,#D9A21B 14%,var(--surface));border:1px solid color-mix(in srgb,#D9A21B 40%,transparent);font-size:14px}
.ep-bar span{flex:1;min-width:180px}
/* 📨 Nouvelles pour la famille : les phrases toutes faites */
.nv-aide{display:grid;gap:8px;padding:12px;border-radius:14px;background:var(--bg);border:1px dashed var(--line)}
.nv-cats{overflow-x:auto;flex-wrap:nowrap}
.nv-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:220px;overflow:auto}
.nv-chips button{all:unset;cursor:pointer;padding:8px 12px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line);font-size:14px;line-height:1.35;color:var(--ink)}
.nv-chips button:focus-visible{outline:3px solid var(--sun)}
.nv-chips button.pop{border-color:var(--green);background:var(--green-soft)}
textarea.nv-flash{animation:nvf .6s}
@keyframes nvf{0%{background:color-mix(in srgb,#F2B541 30%,var(--surface))}100%{background:var(--surface)}}
/* 🧩 Les outils regroupés : les onglets en haut */
.hub-bar{display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none;margin:10px 0 4px;padding:4px 0}
.hub-bar .hub-t{font-size:22px;flex:none;margin-right:2px}
.hub-bar button{all:unset;cursor:pointer;white-space:nowrap;padding:8px 12px;border-radius:999px;background:var(--surface);border:1.5px solid var(--line);font-size:14px;color:var(--ink)}
.hub-bar button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}
.hub-bar button:focus-visible{outline:3px solid var(--sun)}
.outil-ranger{text-align:center;margin:26px 0 4px;opacity:.85}
/* 😎 Les nouvelles des copains */
.nv-cercle{margin:0 0 12px;overflow-x:auto;flex-wrap:nowrap}
.nv-amis .panel{background:linear-gradient(160deg,#FFF4DC,#FDE2EC 60%,#E3F4FF)}
.nv-amis-top{margin:0 auto 4px;padding:4px 12px;border-radius:999px;background:#1C2633;color:#fff;font-size:13px;font-weight:700;display:inline-block}
.qz-compat{background:linear-gradient(135deg,#FDE2EC,#FFF4DC)}
.qzc-top{display:flex;gap:12px;align-items:center}.qzc-e{font-size:40px}.qzc-pc{font-size:30px;font-family:"Bricolage Grotesque",sans-serif}
.qzc-bar{height:8px;border-radius:99px;background:rgba(0,0,0,.08);overflow:hidden;margin-top:8px}.qzc-bar i{display:block;height:100%;background:linear-gradient(90deg,#E5484D,#F2B541)}
.fp-styles{display:flex;flex-wrap:wrap;gap:6px}
.fp-styles button{all:unset;cursor:pointer;padding:8px 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);font-size:14px;display:flex;gap:6px;align-items:center}
.fp-styles button[aria-pressed="true"]{border-color:var(--green);background:var(--green-soft);font-weight:700}
.fp-jum{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:520px){.fp-jum{grid-template-columns:1fr}}
.fp-jb{padding:10px;border-radius:14px;background:var(--bg);display:grid;gap:4px}
.rec-card{gap:12px}.rec-h{display:flex;gap:12px;align-items:flex-start}.rec-h>div{flex:1}.rec-h h2{margin:2px 0}
.rec-e{font-size:46px;line-height:1;width:72px;height:72px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(135deg,#FFE9C7,#FFD6A8);flex:none}
.rec-fav{all:unset;cursor:pointer;font-size:26px;padding:4px}
.rec-qui{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:10px 12px;border-radius:14px;background:var(--bg)}
.rec-st{display:inline-flex;align-items:center;gap:6px;font-size:14px}.rec-st button{all:unset;cursor:pointer;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1.5px solid var(--line);font-weight:800}
.rec-ing{list-style:none;padding:0;margin:0;display:grid;gap:2px}.rec-ing li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:15px}.rec-ing li b{white-space:nowrap}
.rec-cad-btn{justify-content:center}
.rec-dem{display:flex;gap:12px;align-items:center}.rec-dem>span{font-size:30px}
.rec-ray h3{font-size:14px;margin:8px 0 4px}.rec-ray.plac{opacity:.75}
.rec-it{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;margin:3px 0;border-radius:12px;background:var(--surface);border:1.5px solid var(--line);font-size:15px}
.rec-it>span:nth-child(2){flex:1}.rec-it.ok{opacity:.55;text-decoration:line-through;background:var(--bg)}
.rec-cb{width:22px;height:22px;border-radius:7px;border:2px solid var(--green);display:grid;place-items:center;color:#fff;font-weight:800;flex:none}.rec-it.ok .rec-cb{background:var(--green)}
/* Accueil : sections claires (important / à faire / plaisir) */
.hm-sec{min-width:0;scroll-margin-top:80px}
.hm-sec>.tsec{align-items:center}
.hm-ic{width:32px;height:32px;border-radius:11px;display:inline-grid;place-items:center;font-size:17px;background:var(--surface);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.hm-n{font-size:12px;font-weight:800;background:#E4572E;color:#fff;border-radius:99px;padding:2px 8px}
.hm-plus{margin-top:10px}.hm-plus>summary{cursor:pointer;font-weight:700;color:var(--green);font-size:14px;padding:6px 2px;list-style:none}.hm-plus>summary::before{content:'＋ '}.hm-plus[open]>summary::before{content:'－ '}.hm-plus>.stack{margin-top:8px}
.hm-imp>.stack>.card:first-child{box-shadow:0 0 0 2px rgba(228,87,46,.18),0 8px 22px rgba(0,0,0,.06)}
.hm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.hm-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:99px;background:rgba(255,255,255,.75);color:var(--ink);font-size:13px;text-decoration:none;font-weight:600;backdrop-filter:blur(4px)}
.hm-chip b{font-size:14px}.hm-chip.c1 b{color:#E4572E}.hm-chip.c2 b{color:var(--green)}.hm-chip.c3 b{color:#D98E04}
#hm-faire .c-semaine>.head h2{font-size:15px;color:var(--muted)}
.c-rec{display:flex;gap:12px;align-items:center;text-align:left;background:linear-gradient(135deg,#FFF4E2,#FFE6CC);border:0}
.c-rec b{display:block;font-size:16px;margin:2px 0}.rec-e.sm{width:58px;height:58px;font-size:34px;border-radius:16px;background:#fff}
/* 👵 Espace garde : une petite appli à part */
.g-main{padding-bottom:90px}
.g-top{margin:4px 0 14px}
@media (max-width:720px){.g-top{display:none}}
.g-tabs .g-ti{font-size:22px;line-height:1}
.g-tabs button[aria-current="true"] .g-ti{transform:scale(1.12)}
.g-corps>.card+.card,.g-corps>.card+div{margin-top:14px}
.g-now{display:grid;gap:10px}
.g-etat{display:grid;gap:3px;padding:10px 12px;border-radius:14px;background:var(--bg)}
.g-etat b{font-size:17px}.g-etat span{font-size:15px}
.g-fi a{color:var(--green);font-weight:700}
.cs-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cs-grid .cs-txt{grid-column:1/-1}
.cs-in{display:flex;align-items:center;gap:6px}.cs-in input{flex:1;min-width:0}.cs-in i{font-style:normal;color:var(--muted);font-weight:700}
.g-cs{display:grid;gap:4px;padding:8px 10px;margin:4px 0;border-radius:12px;background:var(--surface);border:1.5px solid var(--green-soft)}
.g-cs span{font-size:15px}
/* 💬 Chat avec les parents (espace garde) */
.ch-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.ch-list{max-height:min(60vh,520px);overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:6px;background:var(--bg)}
.ch-jour{align-self:center;font-size:12px;color:var(--muted);background:var(--surface);padding:3px 10px;border-radius:99px;margin:6px 0}
.ch-b{max-width:80%;padding:8px 11px;border-radius:16px;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.06);display:grid;gap:3px}
.ch-b.moi{align-self:flex-end;background:var(--green);color:#fff;border-bottom-right-radius:4px}.ch-b.lui{align-self:flex-start;border-bottom-left-radius:4px}
.ch-b p{margin:0;font-size:15px;white-space:pre-wrap}.ch-b img{max-width:100%;border-radius:10px;display:block}
.ch-n{font-size:12px;color:var(--green)}.ch-t{font-size:11px;opacity:.7;justify-self:end}.ch-b.moi .link{color:#fff;font-size:11px}
.ch-form{display:flex;gap:8px;align-items:flex-end;padding:10px;border-top:1px solid var(--line);background:var(--surface)}
.ch-form textarea{flex:1;min-height:42px;max-height:120px;resize:vertical;border-radius:20px;padding:10px 14px}
.ch-ph{cursor:pointer;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--bg);font-size:20px;flex:none}
.g-lo{display:grid;gap:10px}.g-lo-m{padding:10px 12px;border-radius:14px;background:#FFF8EC}.g-lo-m p{margin:0 0 4px;font-style:italic}
.g-bb .bb-etat{display:grid;gap:10px}.g-bb .g-cs{margin-top:6px}
.g-ml{display:flex;align-items:center;gap:8px;justify-content:center}.g-ml input{width:110px;text-align:center;font-size:1.6rem;font-weight:800}
.g-ml button{all:unset;cursor:pointer;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:800;background:var(--bg);border:1.5px solid var(--line)}
.g-bb .bb-tiles{grid-template-columns:1fr 1fr}
.danger-t{color:#B3261E;border-color:#F3C1BC}
.gc-open{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--r,18px);background:linear-gradient(135deg,#E6F4EE,#D3ECE2);width:100%}
.gc-open>span:first-child{font-size:30px}.gc-open>span:nth-child(2){flex:1}.gc-open>span:last-child{font-size:24px;color:var(--green)}
.gc-par .ch-list{max-height:min(55vh,480px)}
.dbl-card{display:flex;gap:12px;align-items:flex-start;background:#FFF6E5;border:1.5px solid #F6D58E}.dbl-card>span{font-size:28px}
.apercu-bar{position:sticky;top:0;z-index:60;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;padding:10px 16px;background:#2B2D42;color:#fff;font-size:14px}
.apercu-bar .btn.ghost{color:#fff;border-color:rgba(255,255,255,.4);background:transparent}
.g-lien-chips{margin-top:-4px}.g-lien-chips .chip[aria-pressed="true"]{background:var(--green);color:#fff;border-color:var(--green)}
/* Espace garde : la page Bébé des parents, sans ce qui ne concerne qu'eux (tire-lait, tétée, stocks de la maison) */
.g-bebe-par .t-tl,.g-bebe-par .t-sein,.g-bebe-par .bb-maison{display:none!important}
/* Espace garde, pour ceux qui ne sont pas à l'aise avec les applis */
.g-ok{position:fixed;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:#1F6F66;color:#fff;box-shadow:0 12px 40px rgba(0,0,0,.25);animation:gOk .25s ease-out}
.g-ok-i{font-size:34px;line-height:1}.g-ok>div{flex:1;display:grid;gap:2px}.g-ok b{font-size:18px}.g-ok span{font-size:15px;opacity:.95}
.g-ok .btn.ghost{color:#fff;border-color:rgba(255,255,255,.6);background:transparent}
@keyframes gOk{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
@media (min-width:721px){.g-ok{left:auto;right:24px;bottom:24px;max-width:420px}}
.g-appel{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.g-appel .btn{flex:1;min-width:140px;justify-content:center}
.g-hello{position:relative}.g-aide{position:absolute;right:0;top:0;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);font-weight:800;font-size:18px;color:var(--green);cursor:pointer}
/* 🗓️ Semaines de grossesse et 📋 calendrier des démarches (outils gratuits) */
.gr-sem{display:grid;gap:12px;padding:16px;border-radius:18px;background:var(--bg)}
.gr-sa{display:flex;align-items:baseline;gap:8px}.gr-sa b{font:800 64px/1 "Bricolage Grotesque",sans-serif;color:var(--green)}.gr-sa span{font-weight:800;font-size:22px}
.gr-mois{font-size:15px;margin:14px 0 4px;color:var(--muted);text-transform:capitalize}
.gr-dm{border-bottom:1px solid var(--line)}.gr-dm summary{display:flex;gap:10px;align-items:center;padding:10px 2px;cursor:pointer;list-style:none}.gr-dm summary::-webkit-details-marker{display:none}
.gr-dm summary>span:last-child{display:grid}.gr-dm small{color:var(--muted)}.gr-dm-d{min-width:58px;font-weight:800;color:var(--green);font-size:14px}.gr-dm p{margin:0 0 10px 68px}
.gr-passe{opacity:.7;margin:4px 0}.gr-passe>summary{cursor:pointer;color:var(--muted)}
.gr-chk{display:flex!important;align-items:center;gap:8px;flex-direction:row!important}.gr-chk input{flex:none;margin:0}
.gr-sem .gr-res{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
button.notif-item{all:unset;box-sizing:border-box;display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:var(--bg);cursor:pointer;width:100%}
button.notif-item.new{background:var(--green-soft)}.notif-voir{color:var(--green);font-weight:700}
/* 📝 Notre avis sur le plat */
.rec-ph{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.rec-ph figure{margin:0}.rec-ph img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;display:block}.rec-ph figcaption{font-size:12px;color:var(--muted);margin-top:2px}
.rec-ph-add{justify-content:center;cursor:pointer}
.rec-notes{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:4px}.rec-notes button{all:unset;cursor:pointer;display:grid;justify-items:center;gap:2px;padding:8px 2px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface)}
.rec-notes button span{font-size:24px}.rec-notes button small{font-size:11px;color:var(--muted)}.rec-notes button[aria-pressed="true"]{border-color:var(--green);background:var(--green-soft)}
.rec-coms{display:grid;gap:10px}.rec-com{display:flex;gap:10px}.rec-com-e{font-size:24px}.rec-com p{margin:2px 0 0}
.lp-social{display:inline-block;margin:0 0 10px;padding:8px 14px;border-radius:14px;background:rgba(255,255,255,.85);color:var(--ink);font-size:14px}
.code-mail{display:grid;gap:8px;margin:14px 0;padding:12px;border-radius:14px;background:var(--bg)}.code-mail input{width:140px;text-align:center;font-size:1.4rem;letter-spacing:.2em;font-weight:800}
/* Accueil : choisir sa situation dès le premier écran + bouton qui suit */
.lp2-sit{margin-top:18px}.lp2-sit>p:first-child{margin:0 0 8px;font-weight:800;color:#fff;font-size:15px}
.lp2-sit-b{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lp2-sb{all:unset;box-sizing:border-box;cursor:pointer;display:grid;justify-items:center;gap:4px;padding:12px 6px;border-radius:16px;background:#fff;color:var(--ink);font-weight:800;font-size:14px;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,.12);transition:transform .15s}
.lp2-sb span{font-size:30px;line-height:1}.lp2-sb:active{transform:scale(.97)}.lp2-sb:hover{transform:translateY(-2px)}
.lp2-sit-n{margin:10px 0 0;font-size:13px;color:rgba(255,255,255,.9)}
@media (max-width:360px){.lp2-sb{font-size:12px}}
.lp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;gap:8px;align-items:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);box-shadow:0 -6px 20px rgba(0,0,0,.08);transform:translateY(110%);transition:transform .25s}
.lp-sticky.on{transform:none}.lp-sticky .btn.sun{flex:1;justify-content:center}
@media (min-width:900px){.lp-sticky{display:none}}
.email-card{display:flex;gap:12px;align-items:flex-start;background:#EEF4FF;border:1.5px solid #C9DAF8}.email-card>span{font-size:28px}
/* ⭐ demande d'avis */
.c-avisd{background:#FFF8E6}.c-avisd .avis-stars button{font-size:30px;background:none;border:0;cursor:pointer;color:#E8B400;padding:0 2px}
.fam-l{display:grid;gap:6px}.fam-r{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--bg)}.fam-r.off{opacity:.55}
/* 👵 Espace garde : planning, fin de garde, raconte-moi */
.plan-l{display:grid;gap:6px}.plan-i{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line,#e3e6ee);border-radius:12px}.plan-i>span:first-child{display:grid}.plan-i small{color:var(--muted,#667)}.plan-r{display:flex;gap:6px;flex-shrink:0}
.plan-f{display:grid;gap:8px;grid-template-columns:1fr 1fr}.plan-f input{min-width:0;padding:10px;border:1px solid var(--line,#d9dce5);border-radius:10px;font:inherit;background:var(--card,#fff);color:inherit}.plan-h{display:flex;gap:6px}.plan-h input{flex:1}.plan-f input[name=note],.plan-f button{grid-column:1/-1}
@media(max-width:420px){.plan-f{grid-template-columns:1fr}.plan-i{flex-wrap:wrap}}
.g-extras{display:grid;gap:12px;margin-top:12px}.g-fin-row{display:grid;gap:8px}.g-raconte .g-rq{font-size:1.15rem;font-weight:700;margin:4px 0}
/* 💑 Rien que nous deux · 😢 Bébé pleure · 📖 Glossaire */
.ck-en{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.ck-en label{cursor:pointer}.ck-en input{position:absolute;opacity:0}.ck-en span{display:grid;justify-items:center;gap:2px;padding:8px 2px;border:2px solid var(--line,#e3e6ee);border-radius:12px;font-size:1.4rem}.ck-en small{font-size:.68rem;color:var(--muted,#667)}.ck-en input:checked+span{border-color:var(--accent,#2f6fe4);background:color-mix(in srgb,var(--accent,#2f6fe4) 10%,transparent)}.ck-en input:focus-visible+span{outline:2px solid var(--accent,#2f6fe4)}
.ck-r{padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--accent,#2f6fe4) 7%,transparent)}.ck-r p{margin:4px 0 0}
.bon-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.bon-b{display:flex;align-items:center;gap:8px;padding:10px;border:1px dashed var(--line,#cfd3dd);border-radius:12px;background:var(--card,#fff);color:inherit;font:inherit;font-size:.9rem;text-align:left;cursor:pointer}.bon-b span{font-size:1.3rem}.bon-b:disabled{opacity:.5;cursor:default}
.bon-l{display:grid;gap:8px}.bon{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:2px dashed #e6a93a;background:#fff8ea}.bon>span{font-size:1.6rem}.bon>div{flex:1;display:grid}.bon small{color:#776}
@media (prefers-color-scheme:dark){.bon{background:#3a2f1a}.bon small{color:#cbb}}
.sd-i{font-size:1.15rem;font-weight:700;margin:0}
.pl-l{display:grid;gap:8px}.pl-i{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:12px;border:1px solid var(--line,#e3e6ee);border-radius:14px;background:var(--card,#fff);color:inherit;font:inherit;cursor:pointer}.pl-i>span:last-child{display:grid;gap:2px}.pl-i small{color:var(--muted,#667)}.pl-c{flex:0 0 36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:1.2rem;background:color-mix(in srgb,var(--accent,#2f6fe4) 10%,transparent)}.pl-i.ok{opacity:.65}.pl-i.ok .pl-c{background:#2e9d6a;color:#fff}
.c-calme{border-left:4px solid #e6a93a}.c-urg{border-left:4px solid #e85d4a}
.gl-q{width:100%;padding:12px;border:1px solid var(--line,#d9dce5);border-radius:12px;font:inherit;background:var(--card,#fff);color:inherit}.gl-l{margin:0;display:grid;gap:10px}.gl-l dt{font-weight:700}.gl-l dd{margin:2px 0 0;color:var(--muted,#556)}
/* 📱 Page d'arrivée courte (TikTok) · 🦸 Quiz */
.lpc{min-height:80vh}.lpc-in{max-width:520px;margin:0 auto;padding:22px 16px 40px;display:grid;gap:14px;text-align:center}.lpc-k{margin:0;font-weight:700;color:var(--accent,#1F6F66)}.lpc-h{margin:0;font-size:clamp(1.7rem,7vw,2.3rem);line-height:1.15}.lpc-l{margin:0;color:var(--muted,#556);font-size:1.05rem}.lpc-q{margin:8px 0 0;font-weight:800;font-size:1.15rem}
.lpc-b{display:grid;gap:10px}.lpc-sb{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:18px;border:2px solid var(--accent,#1F6F66);background:var(--card,#fff);color:inherit;font:inherit;font-size:1.1rem;font-weight:700;text-align:left;cursor:pointer}.lpc-sb span{font-size:1.6rem}.lpc-sb b{margin-left:auto;font-size:1.4rem;color:var(--accent,#1F6F66)}.lpc-sb:first-child{background:var(--accent,#1F6F66);color:#fff}.lpc-sb:first-child b{color:#fff}
.lpc-n{margin:0;font-size:.9rem;color:var(--muted,#556)}.lpc-p{list-style:none;padding:0;margin:6px 0;display:grid;gap:8px;text-align:left}.lpc-p li{padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--accent,#1F6F66) 7%,transparent)}
.qp-bar{height:6px;border-radius:9px;background:var(--line,#e3e6ee);overflow:hidden}.qp-bar i{display:block;height:100%;background:var(--accent,#1F6F66)}.qp-l{display:grid;gap:8px}.qp-b{padding:14px;border-radius:14px;border:1px solid var(--line,#d9dce5);background:var(--card,#fff);color:inherit;font:inherit;text-align:left;cursor:pointer}.qp-b:hover{border-color:var(--accent,#1F6F66)}.qp-e{font-size:3.4rem;margin:0;line-height:1}.qp-res{text-align:left}
/* 🔑 Continuer avec Google · 🛡️ confiance */
.oauth{display:grid;gap:10px}.btn-oauth{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 16px;border-radius:14px;border:1px solid #d5d9e0;background:#fff;color:#1f1f1f;font:600 1rem/1.2 inherit;font-family:inherit;cursor:pointer}.btn-oauth:hover{background:#f6f8fb}.btn-oauth.apple{background:#000;color:#fff;border-color:#000}
.oauth-cg{margin:0;text-align:center}.oauth-ou{display:flex;align-items:center;gap:10px;margin:2px 0;color:var(--muted,#667);font-size:.85rem}.oauth-ou::before,.oauth-ou::after{content:"";flex:1;height:1px;background:var(--line,#e3e6ee)}
.auth-conf{margin:0;text-align:center}
.confiance{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.confiance li{padding:8px 12px;border-radius:99px;background:color-mix(in srgb,var(--accent,#1F6F66) 8%,transparent);font-size:.9rem;font-weight:600}
.lp-qui-in{display:flex;gap:20px;align-items:flex-start;max-width:760px;margin:0 auto}.lp-qui-e{font-size:2.6rem;flex-shrink:0;line-height:1}.lp-qui h2{margin:4px 0 8px}.lp-qui p{margin:0 0 8px}
@media(max-width:600px){.lp-qui-in{flex-direction:column;gap:8px}}
.lp-qui-sig{font-weight:700;font-style:italic;color:var(--accent,#1F6F66)}
/* ✨ Les nouvelles recettes du jour */
.rec-nouv{display:grid;gap:8px;margin:0 0 12px}.rec-nouv-l{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.rec-nouv-b{display:flex;align-items:center;gap:8px;flex:0 0 auto;max-width:78%;padding:10px 14px;border-radius:14px;border:1px solid var(--line,#e3e6ee);background:var(--card,#fff);color:inherit;font:600 .92rem/1.25 inherit;font-family:inherit;text-align:left;cursor:pointer}.rec-nouv-b span{font-size:1.3rem}.rec-nouv-b[aria-pressed=true]{border-color:var(--accent,#1F6F66);background:color-mix(in srgb,var(--accent,#1F6F66) 10%,var(--card,#fff))}
/* 🚫 Allergies et régimes (recettes) */
.rec-al{gap:10px}.rec-al-h{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.rec-al-l{display:flex;flex-wrap:wrap;gap:6px}.rec-al-c{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:99px;border:1px solid var(--line,#d9dce5);background:var(--card,#fff);color:inherit;font:inherit;font-size:.9rem;cursor:pointer}.rec-al-c[aria-pressed=true]{background:#fdecea;border-color:#e85d4a;color:#a32a1a;font-weight:700}
.rec-al-c[aria-pressed=true]::after{content:"✕";font-size:.75rem}
.rec-warn{margin:0;padding:10px 12px;border-radius:12px;background:#fdecea;color:#8a2416;font-weight:600}.rec-prud{font-size:.8rem}.rec-cach{margin:0 0 10px}
@media (prefers-color-scheme:dark){.rec-al-c[aria-pressed=true]{background:#4a1f19;color:#ffb3a8}.rec-warn{background:#4a1f19;color:#ffcfc7}}
/* 💬 Le point de la semaine, mis en avant sur l'accueil */
.c-ptsem{display:flex;gap:12px;align-items:flex-start;border:2px solid color-mix(in srgb,#e85d8a 40%,transparent);background:linear-gradient(135deg,color-mix(in srgb,#e85d8a 9%,var(--card,#fff)),var(--card,#fff))}.ptsem-e{font-size:2rem;line-height:1}
/* 🍳📣 Admin : recettes et publications · 🩺 Santé de l'appli */
.aj-l{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line,#eceef3)}.aj-l.auj{background:color-mix(in srgb,var(--accent,#1F6F66) 7%,transparent);border-radius:8px;padding:8px}
.sante-l{display:grid;gap:8px}.sante-i{display:flex;gap:10px;align-items:flex-start}.sante-i>span{font-size:1.1rem;line-height:1.4}.sante-i small{display:block;color:var(--muted,#667)}
.sante-rouge{border-left:5px solid #e85d4a}.sante-orange{border-left:5px solid #e6a93a}.sante-vert{border-left:5px solid #2e9d6a}.sante-rap summary{cursor:pointer;padding:6px 0}
/* 🔥 Complicité */
.cpl-ouvrir{display:flex;justify-content:space-between;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.c-cpl{border:2px solid color-mix(in srgb,#c2185b 35%,transparent);background:linear-gradient(160deg,color-mix(in srgb,#c2185b 8%,var(--card,#fff)),var(--card,#fff))}
.cpl-modes{display:grid;gap:10px;grid-template-columns:1fr 1fr}.cpl-m{display:grid;gap:4px;justify-items:start;text-align:left;padding:14px;border-radius:16px;border:1px solid var(--line,#e3e6ee);background:var(--card,#fff);color:inherit;font:inherit;cursor:pointer}.cpl-m span{font-size:1.6rem}.cpl-m small{color:var(--muted,#667)}
@media(max-width:420px){.cpl-modes{grid-template-columns:1fr}}
.cpl-t{font-weight:800;font-size:1.05rem;margin:0}.cpl-env{display:flex;flex-wrap:wrap;gap:6px}.cpl-c{display:flex;align-items:center;gap:6px;padding:9px 12px;border-radius:99px;border:1px solid var(--line,#d9dce5);background:var(--card,#fff);color:inherit;font:inherit;font-size:.9rem;cursor:pointer}.cpl-c[aria-pressed=true],.cpl-c.on{background:#fce4ec;border-color:#c2185b;color:#880e4f;font-weight:700}
.cpl-cache{text-align:center;padding:24px 0}.cpl-carte{display:grid;gap:8px;justify-items:center;text-align:center;padding:26px 18px;border-radius:20px;color:#fff;font-size:1.15rem;font-weight:700;line-height:1.4}.cpl-carte span{font-size:2.2rem}.cpl-carte p{margin:0}
.cpl-carte.n1{background:linear-gradient(150deg,#2E5E8C,#4F8FC0)}.cpl-carte.n2{background:linear-gradient(150deg,#8e44ad,#c06c84)}.cpl-carte.n3{background:linear-gradient(150deg,#b71c1c,#e91e63)}
@media (prefers-color-scheme:dark){.cpl-c[aria-pressed=true],.cpl-c.on{background:#4a1430;color:#ffc1d9}}
/* 🙈 Admin : outils visibles */
.ov-l{display:grid;gap:6px}.ov-i{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line,#eceef3);border-radius:12px;cursor:pointer}.ov-i>span:first-of-type{font-size:1.3rem}.ov-i>span:last-child{display:grid}.ov-i small{color:var(--muted,#667)}.ov-i.off{opacity:.55;background:color-mix(in srgb,#e85d4a 6%,transparent)}.ov-i input{width:20px;height:20px}
/* 🎮 MODE NÉON (parents gamers, jusqu'au 19 novembre 2026) : coucher de soleil rose, orange et violet, palmiers */
html[data-saison="neon"]{--brand:#7B2FF7;--brand2:#FF4FA3;--green:#D6247A;--green-soft:#FFE1F0;--sun:#FF9E2C;--sun-ink:#2A0A1E;--cream:#FFE3D1;--sky:#EDE3FF;--bg:#FFF6FB;--line:#F3D6E6}
html[data-saison="neon"][data-theme="dark"]{--green:#FF5DB1;--green-soft:#3A1430;--bg:#140A1F;--surface:#1E1030;--line:#3A2350;--cream:#3A1E2A;--sky:#2A1A45}
@media (prefers-color-scheme: dark){html[data-saison="neon"]:not([data-theme="light"]){--green:#FF5DB1;--green-soft:#3A1430;--bg:#140A1F;--surface:#1E1030;--line:#3A2350;--cream:#3A1E2A;--sky:#2A1A45}}
html[data-saison="neon"] .app-head::after,html[data-saison="neon"] .pub-head::after{background:linear-gradient(90deg,#7B2FF7,#FF4FA3 40%,#FF9E2C 75%,#FFD23F)}
html[data-saison="neon"] .btn:not(.ghost):not(.link):not(.sun){background:linear-gradient(135deg,#D6247A,#7B2FF7);border-color:transparent;color:#fff;box-shadow:0 4px 14px rgba(214,36,122,.28)}
html[data-saison="neon"] .hello:not(.nd-hello) h1::after{content:" 🌴";font-size:.8em}
html[data-saison="neon"] .c-quick .q-bib{background:linear-gradient(160deg,#FF4FA3,#7B2FF7);border-color:#7B2FF7;color:#fff}
html[data-saison="neon"] .eyebrow{color:#C2186B}
html[data-saison="neon"][data-theme="dark"] .eyebrow{color:#FF8CC6}
.c-neon{display:flex;gap:12px;align-items:flex-start;color:#fff;background:linear-gradient(135deg,#2A0F4A 0%,#7B2FF7 45%,#FF4FA3 80%,#FF9E2C 100%);border:0}.c-neon .eyebrow{color:#FFD23F!important}.c-neon .muted{color:#FBE3F2!important}.c-neon .link{color:#fff}.c-neon .btn{background:#fff!important;color:#7B2FF7!important;box-shadow:none!important}.neon-e{font-size:2.2rem;line-height:1;filter:drop-shadow(0 0 8px #FF4FA3)}
