@import url("https://fonts.googleapis.com/css2?family=Inter+Tight:wght@500;600;650;700;750;800&family=Geist:wght@400;500;600;700&display=swap");
/* Carrousel — généré depuis design-system/tokens.json (scripts/build.py). Ne pas éditer à la main. */
:root{
  --bg:#000000;
  --surface:#141416;
  --surface2:#26262a;
  --line:#2a2a2e;
  --text:#ffffff;
  --text2:#b8b8be;
  --text3:#9e9ea6;
  --action:#ffffff;
  --action-text:#000000;
  --toast-erreur:#ff9281;
  --toast-attention:#ffb070;
  --mois-accent:#c6a7ff;
  --todo-bg:#ff8a2e;
  --todo-ink:#1c0a00;
  --todo-key:#1c0a00;
  --todo-soft:#3d1e06;
  --todo-rule:#c76b24;
  --todo-ill:#ffb985;
  --todo-ill2:#ffa158;
  --kid-bg:#ffb3c7;
  --kid-ink:#3a0a1a;
  --kid-key:#3a0a1a;
  --kid-soft:#5a2235;
  --kid-rule:#c98a9b;
  --kid-ill:#ffd3de;
  --kid-ill2:#ffc2d2;
  --plum-bg:#5b2aa8;
  --plum-ink:#ffffff;
  --plum-key:#ffd27a;
  --plum-soft:#e8e1f3;
  --plum-rule:#8a6cc0;
  --plum-ill:#754cb6;
  --plum-ill2:#997bc9;
  --calm-bg:#0d5440;
  --calm-ink:#ffffff;
  --calm-key:#8cf5be;
  --calm-soft:#dce8e5;
  --calm-rule:#4e8273;
  --calm-ill:#346f5f;
  --calm-ill2:#699589;
  --bell-bg:#7a4a1e;
  --bell-ink:#ffffff;
  --bell-key:#ffd27a;
  --bell-soft:#ede5dd;
  --bell-rule:#a27e5e;
  --bell-ill:#8f6742;
  --bell-ill2:#ad8f74;
  --cart-bg:#9bc53d;
  --cart-ink:#142000;
  --cart-key:#142000;
  --cart-soft:#283b08;
  --cart-rule:#6e8f2b;
  --cart-ill:#c1db87;
  --cart-ill2:#afd164;
  --sun-bg:#ffb81c;
  --sun-ink:#140e00;
  --sun-key:#140e00;
  --sun-soft:#3a2a04;
  --sun-rule:#c08a15;
  --sun-ill:#ffd675;
  --sun-ill2:#ffc94d;
  --red-bg:#b3201a;
  --red-ink:#ffffff;
  --red-key:#ffe08a;
  --red-soft:#f2dcdb;
  --red-rule:#d06a65;
  --red-ill:#c24a45;
  --red-ill2:#d4807c;
  --air-bg:#1636c9;
  --air-ink:#ffffff;
  --air-key:#9eebff;
  --air-soft:#e3e7f8;
  --air-rule:#6276d9;
  --air-ill:#3b56d2;
  --air-ill2:#7c8fe4;
  --sky-bg:#8fd0ff;
  --sky-ink:#06203f;
  --sky-key:#06203f;
  --sky-soft:#1b3656;
  --sky-rule:#5e95c2;
  --sky-ill:#bae2ff;
  --sky-ill2:#a5d9ff;
  --space-edge:12px;
  --space-gap:10px;
  --space-pad:18px;
  --space-head:52px;
  --target:44px;
  --tabbar:84px;
  --page-max:720px;
  --radius-aplat:22px;
  --radius-bouton:22px;
  --radius-champ:14px;
  --radius-vignette:12px;
  --shadow-toast:0 10px 30px rgba(0,0,0,0.45);
  --font-tight:"Inter Tight", Geist, system-ui, sans-serif;
}
:root{--cr-font:var(--font-tight,"Inter Tight",Geist,system-ui,sans-serif);--cr-ease:cubic-bezier(.16,1,.3,1);color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--cr-font);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased}
.cr *,.cr{box-sizing:border-box}
.cr button{font-family:inherit;cursor:pointer}
.cr :focus-visible{outline:2px solid var(--text);outline-offset:2px}
.cr-demo{display:flex;flex-direction:column;gap:var(--space-gap);padding:16px}
.cr-demo-row{display:flex;flex-wrap:wrap;gap:var(--space-gap);align-items:flex-start}
.cr-demo-row>*{flex:1 1 260px;min-width:0}
.cr-s-todo{--s-bg:var(--todo-bg);--s-ink:var(--todo-ink);--s-key:var(--todo-key);--s-soft:var(--todo-soft);--s-rule:var(--todo-rule);--s-ill:var(--todo-ill);--s-ill2:var(--todo-ill2)}
.cr-s-kid{--s-bg:var(--kid-bg);--s-ink:var(--kid-ink);--s-key:var(--kid-key);--s-soft:var(--kid-soft);--s-rule:var(--kid-rule);--s-ill:var(--kid-ill);--s-ill2:var(--kid-ill2)}
.cr-s-plum{--s-bg:var(--plum-bg);--s-ink:var(--plum-ink);--s-key:var(--plum-key);--s-soft:var(--plum-soft);--s-rule:var(--plum-rule);--s-ill:var(--plum-ill);--s-ill2:var(--plum-ill2)}
.cr-s-calm{--s-bg:var(--calm-bg);--s-ink:var(--calm-ink);--s-key:var(--calm-key);--s-soft:var(--calm-soft);--s-rule:var(--calm-rule);--s-ill:var(--calm-ill);--s-ill2:var(--calm-ill2)}
.cr-s-bell{--s-bg:var(--bell-bg);--s-ink:var(--bell-ink);--s-key:var(--bell-key);--s-soft:var(--bell-soft);--s-rule:var(--bell-rule);--s-ill:var(--bell-ill);--s-ill2:var(--bell-ill2)}
.cr-s-cart{--s-bg:var(--cart-bg);--s-ink:var(--cart-ink);--s-key:var(--cart-key);--s-soft:var(--cart-soft);--s-rule:var(--cart-rule);--s-ill:var(--cart-ill);--s-ill2:var(--cart-ill2)}
.cr-s-sun{--s-bg:var(--sun-bg);--s-ink:var(--sun-ink);--s-key:var(--sun-key);--s-soft:var(--sun-soft);--s-rule:var(--sun-rule);--s-ill:var(--sun-ill);--s-ill2:var(--sun-ill2)}
.cr-s-red{--s-bg:var(--red-bg);--s-ink:var(--red-ink);--s-key:var(--red-key);--s-soft:var(--red-soft);--s-rule:var(--red-rule);--s-ill:var(--red-ill);--s-ill2:var(--red-ill2)}
.cr-s-air{--s-bg:var(--air-bg);--s-ink:var(--air-ink);--s-key:var(--air-key);--s-soft:var(--air-soft);--s-rule:var(--air-rule);--s-ill:var(--air-ill);--s-ill2:var(--air-ill2)}
.cr-s-sky{--s-bg:var(--sky-bg);--s-ink:var(--sky-ink);--s-key:var(--sky-key);--s-soft:var(--sky-soft);--s-rule:var(--sky-rule);--s-ill:var(--sky-ill);--s-ill2:var(--sky-ill2)}
/* Aplat */
.cr-aplat{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:var(--space-pad);border-radius:var(--radius-aplat);background:var(--s-bg);color:var(--s-ink)}
.cr-aplat>*{position:relative;margin:0}
.cr-aplat-illu{position:absolute!important;right:-30px;bottom:-36px;width:140px;height:140px;color:var(--s-ill);pointer-events:none}
.cr-kick{font:650 15px/1.3 var(--cr-font);color:var(--s-soft)}
.cr-phrase{font:600 31px/1.04 var(--cr-font);letter-spacing:-.028em;text-wrap:balance}
.cr-phrase-m{font-size:27px;line-height:1.06}
.cr-phrase b{font-weight:780;letter-spacing:-.03em;color:var(--s-key)}
.cr-note{font:650 14px/1.3 var(--cr-font);color:var(--s-soft)}
.cr-faits{display:flex;flex-wrap:wrap;gap:8px 28px;padding-top:12px;border-top:1.5px solid var(--s-rule)}
.cr-fait{display:flex;flex-direction:column;gap:2px}
.cr-fait-v{font:750 23px/1.05 var(--cr-font);letter-spacing:-.025em}
.cr-fait-l{font:650 14px/1.3 var(--cr-font);color:var(--s-soft)}
/* Boutons */
.cr-btns{display:flex;flex-wrap:wrap;gap:8px}
.cr-btn{min-height:var(--target);padding:0 18px;border:0;border-radius:var(--radius-bouton);font:700 16px var(--cr-font);background:var(--s-ink);color:var(--s-bg)}
.cr-btn-2{background:color-mix(in srgb,var(--s-ink) 14%,transparent);color:var(--s-ink);font-weight:650}
.cr-pret{width:100%;min-height:56px;border:0;border-radius:28px;background:var(--action);color:var(--action-text);font:700 18px var(--cr-font)}
.cr-plus{width:52px;height:52px;border-radius:26px;border:0;background:var(--action);color:var(--action-text);display:flex;align-items:center;justify-content:center;font:600 28px/1 var(--cr-font)}
.cr-rond-btn{flex:none;width:var(--target);height:var(--target);border-radius:22px;border:0;background:var(--surface2);color:var(--text);font:600 28px/1 var(--cr-font)}
.cr-aplat .cr-rond-btn{background:color-mix(in srgb,var(--s-ink) 14%,transparent);color:var(--s-ink)}
/* Pastilles */
.cr-pastilles{display:flex;flex-wrap:wrap;gap:8px}
.cr-pastille{display:inline-flex;align-items:center;min-height:var(--target);padding:0 16px;border:0;border-radius:22px;background:color-mix(in srgb,var(--s-ink) 14%,transparent);color:var(--s-ink);font:650 16px var(--cr-font)}
.cr-pastille.on{background:var(--s-key);color:var(--s-bg);font-weight:700}
.cr-s-calm .cr-pastille.on{color:#002817}
.cr-pastille:disabled{opacity:.4}
.cr-pastille-jour{min-width:var(--target);justify-content:center;padding:0}
.cr-list .cr-pastille,.cr-sol .cr-pastille{background:var(--surface2);color:var(--text)}
.cr-list .cr-pastille.on,.cr-sol .cr-pastille.on{background:var(--action);color:var(--action-text)}
/* Lignes dans un aplat */
.cr-ligne{display:flex;align-items:center;gap:12px;min-height:52px;border-top:1.5px solid var(--s-rule)}
.cr-rond{flex:none;width:28px;height:28px;border-radius:14px;border:2.5px solid var(--s-key);background:transparent;padding:0}
.cr-ligne-t{flex:1;display:flex;flex-direction:column;gap:2px;font:600 19px/1.25 var(--cr-font);letter-spacing:-.015em}
.cr-ligne-s{font:650 14px var(--cr-font);color:var(--s-key)}
.cr-coche .cr-ligne-t{text-decoration:line-through;opacity:.55}
.cr-coche .cr-rond{background:var(--s-key)}
.cr-qte{flex:none;font:750 17px var(--cr-font);color:var(--s-key)}
/* Liste sur fond noir */
.cr-over{margin:12px 6px 0;font:650 14px var(--cr-font);color:var(--text2)}
.cr-list{list-style:none;margin:0;padding:0;background:var(--surface);border-radius:var(--radius-aplat);overflow:hidden}
.cr-list>li+li{border-top:1px solid var(--line)}
.cr-row{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px var(--space-pad);background:none;border:0;color:var(--text);text-align:left;font:inherit}
.cr-row-txt{flex:1;display:flex;flex-direction:column;gap:2px}
.cr-row-t{font:600 18px/1.25 var(--cr-font);letter-spacing:-.01em}
.cr-row-s{font:650 14px/1.3 var(--cr-font);color:var(--text2)}
.cr-chev{color:var(--text3);font:600 20px var(--cr-font)}
.cr-point{flex:none;width:12px;height:12px;border-radius:6px}
.cr-pastille-membre{flex:none;width:36px;height:36px;border-radius:18px;display:flex;align-items:center;justify-content:center;color:#000;font:750 15px var(--cr-font)}
/* Champs */
.cr-champ{width:100%;min-height:48px;padding:0 14px;border:0;border-radius:var(--radius-champ);background:var(--surface2);color:var(--text);font:600 17px var(--cr-font);outline:none}
.cr-champ::placeholder{color:var(--text3)}
.cr-champ:focus-visible{outline:2px solid var(--text);outline-offset:1px}
textarea.cr-champ{min-height:110px;padding:12px 14px;resize:vertical;line-height:1.35}
.cr-ajout{display:flex;align-items:center;gap:8px;min-height:56px;padding:0 6px 0 18px;border-radius:28px;background:var(--surface2)}
.cr-ajout input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:600 17px var(--cr-font);outline:none}
.cr-ajout input::placeholder{color:var(--text2)}
.cr-ajout button{min-height:var(--target);padding:0 16px;border:0;border-radius:22px;background:var(--action);color:var(--action-text);font:700 15px var(--cr-font)}
.cr-fiche-champ{min-height:48px;padding:0 16px;border:0;border-radius:var(--radius-champ);background:color-mix(in srgb,var(--s-ink) 14%,transparent);color:var(--s-ink);font:600 18px var(--cr-font)}
.cr-fiche-champ::placeholder{color:var(--s-soft)}
/* Fiche plein écran (rendue en boîte dans l'aperçu) */
.cr-fiche{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:22px;padding:52px 18px 34px;background:var(--s-bg);color:var(--s-ink)}
.cr-fiche>*{position:relative;margin:0}
.cr-fiche-illu{position:absolute!important;right:-70px;bottom:-50px;width:250px;height:250px;color:var(--s-ill);opacity:.9;pointer-events:none}
.cr-fiche-haut{display:flex;justify-content:space-between;align-items:center}
.cr-fiche-fait{min-height:var(--target);padding:0 20px;border:0;border-radius:22px;background:var(--s-ink);color:var(--s-bg);font:700 17px var(--cr-font)}
.cr-fiche-titre{margin-top:-12px!important;font:600 38px/1.04 var(--cr-font);letter-spacing:-.03em}
.cr-fiche-rangee{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1.5px solid var(--s-rule)}
/* Toasts */
.cr-toast,.cr-undo-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:0 18px;border-radius:26px;background:var(--action);color:var(--action-text);font:650 16px var(--cr-font);box-shadow:var(--shadow-toast)}
.cr-toast.erreur{background:var(--toast-erreur)}
.cr-toast.attention{background:var(--toast-attention)}
.cr-toast button{border:0;background:none;color:inherit;font:750 16px var(--cr-font);min-height:var(--target)}
.cr-undo-item{padding:0 8px 0 18px}
.cr-undo-item span{flex:1}
.cr-undo-item button{min-height:var(--target);padding:0 14px;border:0;border-radius:22px;background:var(--action-text);color:var(--action);font:700 15px var(--cr-font)}
/* Onglets */
.cr-tabs{display:flex;align-items:center;height:var(--tabbar);padding:0 8px 20px;background:var(--bg);border-top:1px solid var(--line)}
.cr-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;background:none;border:0;color:var(--text3);font:600 12px var(--cr-font)}
.cr-tab[aria-current="page"]{color:var(--text);font-weight:700}
.cr-tab svg{width:24px;height:24px}
/* En-têtes */
.cr-head{display:flex;flex-direction:column;gap:4px;padding:0 6px 6px}
.cr-head h1{margin:0;font:700 26px/1.1 var(--cr-font);letter-spacing:-.02em}
.cr-head p{margin:0;font:650 17px var(--cr-font);color:var(--text2)}
.cr-head-row{flex-direction:row;align-items:center;justify-content:space-between}
.cr-avatar{border:0;color:var(--text);width:36px;height:36px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:var(--surface2);font:700 15px var(--cr-font)}
.cr-heure{display:flex;align-items:baseline;gap:10px;padding:0 6px 6px}
.cr-heure b{font:700 26px var(--cr-font);letter-spacing:-.02em}
.cr-heure span{font:650 19px var(--cr-font);color:var(--text2)}
.cr-sous-tete{display:flex;align-items:center;gap:12px;padding:0 6px 6px}
.cr-sous-tete b{display:block;font:700 26px/1.1 var(--cr-font);letter-spacing:-.02em}
.cr-sous-tete span{display:block;font:650 15px var(--cr-font);color:var(--text2)}
/* Mois */
.cr-mois-tete{display:flex;align-items:center;justify-content:space-between;padding:0 6px}
.cr-mois-tete b{font:700 20px var(--cr-font)}
.cr-mois{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:10px;background:var(--surface);border-radius:var(--radius-aplat)}
.cr-mois-j{text-align:center;font:650 13px var(--cr-font);color:var(--text3);padding:4px 0}
.cr-mois-d{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;border:0;border-radius:var(--radius-champ);background:none;color:var(--text);font:600 17px var(--cr-font)}
.cr-mois-d.auj{color:var(--mois-accent);font-weight:800}
.cr-mois-d.on{background:var(--plum-bg);color:var(--plum-ink)}
.cr-mois-pts{display:flex;gap:3px;height:5px}
.cr-mois-pts i{width:5px;height:5px;border-radius:3px;background:var(--mois-accent)}
.cr-mois-d.on .cr-mois-pts i{background:var(--plum-key)}
.cr-vide{margin:24px 6px;font:600 22px/1.2 var(--cr-font);color:var(--text2)}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
