/* v24 : style « Graphite » — sobre et haut de gamme : noir profond (ou blanc cassé), police Manrope,
   une seule couleur d'accent (champagne), filets fins, aucune couleur par partie.
   Les noms --g-* sont gardés : --g-strong = boutons, --g-bg = fond d'accent discret, --g-ink = texte d'accent, --gold = touche champagne */
:root{
  --bg:#F4F4F2; --surface:#ffffff; --ink:#111214; --muted:#6B6E76; --line:#E4E4E1; --field:#EEEEEB;
  --on-accent:#ffffff;
  --c-event:#B5652F; --c-cours:#3F6FB5; --c-stage:#2F7D5B; --c-memoire:#6B5BB0; --c-perso:#7A7F8C; --x1:#2A7F95; --x2:#A84A72; --x3:#9A7A2C; --x4:#5560B0; --x5:#4B8240; --x6:#A33D52;
  --ok:#2F7D5B; --warn:#A86A1C; --late:#B9443D;
  --bar:rgba(255,255,255,.92);
  --font:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"Manrope",-apple-system,sans-serif;
  --digits:"Manrope",-apple-system,sans-serif;
  --r-card:16px; --r-ctl:12px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0E0F11; --surface:#16171A; --ink:#ECEDEF; --muted:#878A93; --line:#25272C; --field:#1D1F23;
  --on-accent:#0E0F11;
  --c-event:#D9925F; --c-cours:#7EA6E0; --c-stage:#6FBF98; --c-memoire:#A99BE0; --c-perso:#A3A7B2; --x1:#6FC3D6; --x2:#D98AAE; --x3:#D9B862; --x4:#9AA2E8; --x5:#8CC57E; --x6:#E08A9A;
  --ok:#6FBF98; --warn:#D9AE62; --late:#E37A72;
  --bar:rgba(22,23,26,.92); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0E0F11; --surface:#16171A; --ink:#ECEDEF; --muted:#878A93; --line:#25272C; --field:#1D1F23;
  --on-accent:#0E0F11;
  --c-event:#D9925F; --c-cours:#7EA6E0; --c-stage:#6FBF98; --c-memoire:#A99BE0; --c-perso:#A3A7B2; --x1:#6FC3D6; --x2:#D98AAE; --x3:#D9B862; --x4:#9AA2E8; --x5:#8CC57E; --x6:#E08A9A;
  --ok:#6FBF98; --warn:#D9AE62; --late:#E37A72;
  --bar:rgba(22,23,26,.92); color-scheme:dark}
/* accent : encre en clair, champagne en sombre */
body{--g-strong:#111214;--g-bg:#EFEADF;--g-ink:#6E5A2E;--gold:#80632F;--on-gold:#ffffff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body{--g-strong:#C9B48A;--g-bg:#24211B;--g-ink:#D9C79E;--gold:#C9B48A;--on-gold:#0E0F11}}
:root[data-theme="dark"] body{--g-strong:#C9B48A;--g-bg:#24211B;--g-ink:#D9C79E;--gold:#C9B48A;--on-gold:#0E0F11}
body{--accent:var(--g-ink);--accent-soft:var(--g-bg)}
[hidden]{display:none!important}
/* v36 : sur téléphone on ne glisse que de haut en bas : plus de carrousels à faire défiler de côté (on passe par les boutons) */
html,body{overflow-x:clip}
.onb-track{overflow-x:hidden!important;touch-action:pan-y}
.vseg{overflow-x:hidden!important}
.vhead.many{flex-direction:column;align-items:stretch;gap:6px}.vhead.many .vseg{margin-top:0}.vhead.many .vseg button{flex:1 1 0;min-width:0;padding-inline:6px}
.sl-name{font-size:24px;font-weight:700;text-transform:none;letter-spacing:-.01em;color:var(--ink)}
.onb-all{justify-self:end;margin:-6px 0 -4px;font-size:15px}
.chips{flex-wrap:wrap;overflow-x:visible!important;margin:0!important;padding-inline:0!important}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.4 var(--font)}
body{padding-top:env(safe-area-inset-top,0px)}
main{max-width:640px;margin:0 auto;padding:12px 16px calc(96px + env(safe-area-inset-bottom,0px))}
.view[hidden]{display:none}
h1{font-size:32px;font-weight:700;letter-spacing:-.02em;margin:8px 0 4px}
h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 4px 8px}
.sub{color:var(--muted);font-size:15px;margin:0 0 14px}
.card{background:var(--surface);border-radius:14px;overflow:hidden}
.row{display:flex;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);min-height:52px}
.row:last-child{border-bottom:0}
.grow{flex:1;min-width:0;overflow-wrap:anywhere}
.muted{color:var(--muted)}
.small{font-size:13px}
button{font:inherit;color:inherit}
/* pas de zoom quand on appuie deux fois vite (clavier du code, boutons) */
button,a,label,input,select,textarea,summary,.pad,.pin{touch-action:manipulation}
.btn{border:0;border-radius:10px;padding:10px 16px;font-weight:600;background:var(--accent);color:var(--on-accent);cursor:pointer}
.btn.ghost{background:var(--accent-soft);color:var(--accent)}
/* v35 : contour visible sur tout ce qui se manipule au clavier */
:focus-visible{outline:2px solid var(--gold,var(--accent));outline-offset:2px}
.sheet[role=dialog]:focus{outline:none}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:0}
input,select{font:16px var(--font);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0;width:100%;max-width:100%}
/* champs date/heure : corrige l'affichage iPhone (largeur et hauteur) */
input[type=date],input[type=time]{-webkit-appearance:none;appearance:none;display:block;height:44px;line-height:22px;text-align:left}
input::-webkit-date-and-time-value{text-align:left;min-height:22px}
input[type=search]{-webkit-appearance:none;appearance:none}
.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.two>*{min-width:0}
/* marque */
.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--accent);margin:2px 0 0}
.brand img{width:22px;height:22px;border-radius:6px}
.search{margin:0 0 12px;padding-left:38px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 12px center}
.dot{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block}

/* progress */
.prog{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.prog .track{flex:1;height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.prog .fill{height:100%;background:var(--ok);border-radius:99px;transition:width .3s}

/* todos */
.addbar{display:flex;gap:8px;margin-bottom:12px}
.check{width:26px;height:26px;border-radius:50%;border:2px solid var(--muted);background:transparent;flex:none;display:grid;place-items:center;padding:0;cursor:pointer;color:var(--on-accent)}
.done .check{background:var(--ok);border-color:var(--ok)}
.done .ttl{text-decoration:line-through;color:var(--muted)}
.add-act{width:100%;margin:4px 0 14px}
.quick-hint{margin:-4px 2px 0;display:flex;gap:8px;align-items:center;color:var(--g-ink,var(--accent))}.quick-hint svg{width:16px;height:16px;flex:none}
.sl-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}.sl-back{justify-self:start;padding:6px 0;margin-bottom:4px}
.sl-name{margin:4px 0 12px}.sl-it .ttl{overflow-wrap:anywhere}.sl-done-h{display:flex;justify-content:space-between;align-items:center;margin:16px 4px 8px}
.sl-share{margin-top:16px}.sl-code{font-size:26px;font-weight:800;letter-spacing:.18em;margin:4px 0;font-variant-numeric:tabular-nums}.sl-leave{width:100%;margin-top:14px}
.empty-card{padding:18px;display:grid;gap:12px;text-align:center}.empty-card p{margin:0}
.ttl-btn{border:0;background:none;padding:6px 0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;min-width:0;overflow-wrap:anywhere;touch-action:manipulation}
.act-list{display:grid;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.act-it{display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;border-top:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:17px;padding:15px 16px;text-align:left;cursor:pointer;touch-action:manipulation}
.act-it:first-child{border-top:0}.act-it.danger{color:var(--late);font-weight:600}.act-it[aria-pressed="true"]{color:var(--gold,var(--accent));font-weight:600}
.realise{border:1.5px solid var(--ok);color:var(--ok);background:transparent;border-radius:99px;padding:6px 12px;font-size:14px;font-weight:600;cursor:pointer;flex:none}
.realise:active{background:var(--ok);color:var(--on-accent)}
.x{border:0;background:none;color:var(--muted);font-size:22px;line-height:1;padding:4px 6px;cursor:pointer;flex:none}
.x.armed{color:var(--late);font-size:13px;font-weight:600}
.empty{padding:18px 14px;color:var(--muted);text-align:center}
.foldbtn{display:flex;justify-content:space-between;width:100%;border:0;background:none;padding:0 4px;margin:22px 0 8px;cursor:pointer;color:var(--muted);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
@keyframes pop{from{transform:scale(.97);opacity:.4}to{transform:none;opacity:1}}
.fresh{animation:pop .25s ease-out}
@media (prefers-reduced-motion:reduce){.fresh{animation:none}.prog .fill{transition:none}}

/* planning */
.next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.next .n{background:var(--surface);border-radius:14px;padding:12px;border-left:4px solid var(--c);min-width:0}
.next .d{font:500 12px var(--mono);color:var(--muted)}
.next .t{font-weight:600;font-size:14px;margin-top:2px;overflow-wrap:anywhere}
/* types + ajout rapide */
.swatch{width:26px;height:26px;border-radius:50%;border:0;flex:none;cursor:pointer;box-shadow:inset 0 0 0 2px rgba(0,0,0,.08)}
.qbtn{border:1.5px dashed var(--line);background:none;color:var(--accent);border-radius:10px;padding:9px;width:100%;font-weight:600;cursor:pointer;margin-top:6px}
.qform{display:grid;gap:8px;margin-top:8px}
.qform .two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qform label{display:grid;gap:4px;font-size:12px;color:var(--muted)}
/* calendrier */
.cal{padding:10px 10px 4px}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.cal-title{border:0;background:none;font-size:17px;font-weight:700;cursor:pointer;padding:6px 10px;border-radius:8px}
.cal-nav{border:0;background:var(--accent-soft);color:var(--accent);width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.cal-dow span{text-align:center;font-size:11px;font-weight:600;color:var(--muted);padding:4px 0}
.day{border:0;background:none;border-radius:10px;min-height:48px;padding:4px 0 5px;display:grid;grid-template-rows:auto 1fr;justify-items:center;gap:3px;cursor:pointer;font:500 15px var(--font);font-variant-numeric:tabular-nums}
.day.out{visibility:hidden}
.day.past{color:var(--muted)}
.day.today .num{background:var(--accent);color:var(--on-accent);border-radius:50%;width:26px;height:26px;display:grid;place-items:center}
.day.sel{background:var(--accent-soft)}
.day .num{width:26px;height:26px;display:grid;place-items:center}
.marks{display:grid;gap:2px;width:100%;align-content:start;justify-items:center}
.marks .bars{display:grid;gap:2px;width:100%}
.marks .bars i{display:block;height:4px;background:var(--c)}
.marks .bars i.s{border-radius:99px 0 0 99px;margin-left:4px}
.marks .bars i.e{border-radius:0 99px 99px 0;margin-right:4px}
.marks .bars i.s.e{border-radius:99px}
.marks .dots{display:flex;gap:3px}
.marks .dots i{width:6px;height:6px;border-radius:50%;background:var(--c)}
/* v22 : vue année */
.yr-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.yr-title{font-size:22px;font-weight:800;color:var(--accent)}
.yr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}
.ym{border:0;background:none;padding:4px 2px;border-radius:10px;cursor:pointer;text-align:left;color:var(--ink)}
.ym:active{background:var(--accent-soft)}
.ym b{display:block;font-size:14px;margin:0 2px 3px}
.ym.cur b{color:var(--late)}
.ym-g{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;font:500 9px/1.6 var(--font);text-align:center;font-variant-numeric:tabular-nums}
.ym-g i{font-style:normal;border-radius:50%}
.ym-g i.ev{font-weight:800;color:var(--accent)}
.ym-g i.td{background:var(--late);color:#fff;font-weight:700}
.ym-g i.past{opacity:.55}
.cal-sel{border-top:1px solid var(--line);margin-top:8px;padding:8px 4px 6px}
.cal-sel .lbl{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:4px}
.cal-sel .lbl::first-letter{text-transform:uppercase}
.cal-sel .it{display:flex;gap:8px;align-items:center;padding:4px 0;font-size:15px}
.cal-sel .it .dot{transform:translateY(-1px)}
.chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin:0 -16px;padding-inline:16px;scrollbar-width:none}
.pill{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:6px 12px;font-size:14px;white-space:nowrap;display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.pill[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.task{border-left:4px solid var(--c)}
.task .date{font:500 13px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}
.tbc{font-size:11px;color:var(--warn);border:1px solid currentColor;border-radius:4px;padding:0 4px;margin-left:4px;white-space:nowrap}
.late{color:var(--late);font-weight:600}
/* v31 : ambiances travaillées : chaque couleur a ses fonds, cartes, champs et un léger reflet en haut de l'écran */
:root:not([data-palette]):not([data-theme="dark"]){--bg:#F5F3EE;--surface:#FFFFFF;--field:#EEEAE1;--line:#E5DFD3;--bar:color-mix(in srgb,#FFFFFF 92%,transparent)}
@media (prefers-color-scheme:dark){:root:not([data-palette]):not([data-theme="light"]){--bg:#0E0D0B;--surface:#171511;--field:#1F1C17;--line:#2A261F;--bar:color-mix(in srgb,#171511 92%,transparent)}}
:root:not([data-palette])[data-theme="dark"]{--bg:#0E0D0B;--surface:#171511;--field:#1F1C17;--line:#2A261F;--bar:color-mix(in srgb,#171511 92%,transparent)}
:root[data-palette="saphir"]:not([data-theme="dark"]){--bg:#F1F4F9;--surface:#FFFFFF;--field:#E7ECF4;--line:#D9E1EC;--bar:color-mix(in srgb,#FFFFFF 92%,transparent)}
@media (prefers-color-scheme:dark){:root[data-palette="saphir"]:not([data-theme="light"]){--bg:#0A0F1C;--surface:#111A2C;--field:#172238;--line:#22304B;--bar:color-mix(in srgb,#111A2C 92%,transparent)}}
:root[data-palette="saphir"][data-theme="dark"]{--bg:#0A0F1C;--surface:#111A2C;--field:#172238;--line:#22304B;--bar:color-mix(in srgb,#111A2C 92%,transparent)}
:root[data-palette="emeraude"]:not([data-theme="dark"]){--bg:#F0F5F2;--surface:#FFFFFF;--field:#E4EEE8;--line:#D5E3DA;--bar:color-mix(in srgb,#FFFFFF 92%,transparent)}
@media (prefers-color-scheme:dark){:root[data-palette="emeraude"]:not([data-theme="light"]){--bg:#07100C;--surface:#0E1914;--field:#14231C;--line:#1E3329;--bar:color-mix(in srgb,#0E1914 92%,transparent)}}
:root[data-palette="emeraude"][data-theme="dark"]{--bg:#07100C;--surface:#0E1914;--field:#14231C;--line:#1E3329;--bar:color-mix(in srgb,#0E1914 92%,transparent)}
:root[data-palette="bordeaux"]:not([data-theme="dark"]){--bg:#F8F2F3;--surface:#FFFFFF;--field:#F0E5E8;--line:#E7D6DB;--bar:color-mix(in srgb,#FFFFFF 92%,transparent)}
@media (prefers-color-scheme:dark){:root[data-palette="bordeaux"]:not([data-theme="light"]){--bg:#12090C;--surface:#1C0F14;--field:#25141B;--line:#372029;--bar:color-mix(in srgb,#1C0F14 92%,transparent)}}
:root[data-palette="bordeaux"][data-theme="dark"]{--bg:#12090C;--surface:#1C0F14;--field:#25141B;--line:#372029;--bar:color-mix(in srgb,#1C0F14 92%,transparent)}
:root[data-palette="platine"]:not([data-theme="dark"]){--bg:#F4F4F5;--surface:#FFFFFF;--field:#EBEBED;--line:#DEDEE1;--bar:color-mix(in srgb,#FFFFFF 92%,transparent)}
@media (prefers-color-scheme:dark){:root[data-palette="platine"]:not([data-theme="light"]){--bg:#0E0F10;--surface:#17181A;--field:#1E1F22;--line:#2A2B2F;--bar:color-mix(in srgb,#17181A 92%,transparent)}}
:root[data-palette="platine"][data-theme="dark"]{--bg:#0E0F10;--surface:#17181A;--field:#1E1F22;--line:#2A2B2F;--bar:color-mix(in srgb,#17181A 92%,transparent)}
body{background:radial-gradient(900px 420px at 50% -180px,color-mix(in srgb,var(--gold) 13%,transparent),transparent 72%) no-repeat,var(--bg)}
.card,.setsec{border-color:var(--line)}
nav .tab[aria-current="page"] .tabicon{color:var(--gold)}
.vseg button[aria-selected="true"]{box-shadow:inset 0 -2px 0 var(--gold),0 1px 4px rgba(0,0,0,.12)}
.btn:not(.ghost):not(.stop){background:var(--g-strong)}
:root[data-palette] .btn:not(.ghost):not(.stop){background:var(--gold);color:var(--on-gold)}
/* v31 : une activité dont la date est passée n'est pas « en retard » : elle est simplement passée (grisée) */
.past{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.row.is-past{opacity:.6}
@media (min-width:601px){#todoCats{flex-wrap:wrap;overflow:visible;margin-inline:0;padding-inline:0}}
.status{border:1.5px solid var(--line);background:transparent;border-radius:99px;padding:5px 10px;font-size:13px;font-weight:600;flex:none;cursor:pointer}
.status[data-s="en cours"]{color:var(--warn);border-color:var(--warn)}
.status[data-s="fait"]{color:var(--ok);border-color:var(--ok)}
.task.isfait .ttl{text-decoration:line-through;color:var(--muted)}
.form{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:14px}
.form>*,.dish,.dish *{min-width:0}
.dish-note,.dish-it .grow{overflow-wrap:anywhere}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.form label{display:grid;gap:4px;font-size:13px;color:var(--muted)}

/* cours */
.code{font:12px var(--mono);color:var(--muted)}
.q{font:600 12px var(--mono);padding:2px 7px;border-radius:5px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}
.ects{font:600 15px var(--mono);font-variant-numeric:tabular-nums;width:28px;text-align:right}
.alert{background:var(--surface);border-radius:14px;padding:12px 14px;font-size:15px;border-left:4px solid var(--warn)}

/* pomodoro */
.pomo-stage{background:var(--surface);border-radius:20px;padding:22px 16px;display:grid;justify-items:center;gap:14px;text-align:center}
.phase{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--pc,var(--accent))}
.ringwrap{position:relative;width:min(72vw,270px);aspect-ratio:1;max-width:100%}
.ringwrap svg{width:100%;height:100%;transform:rotate(-90deg)}
.ringwrap .bgc{stroke:var(--line)}
.ringwrap .fgc{stroke:var(--pc,var(--accent));transition:stroke-dashoffset .5s linear}
.ringtxt{position:absolute;inset:0;display:grid;place-content:center;gap:4px}
.big{font:600 clamp(44px,15vw,60px)/1 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.ringtxt .small{color:var(--muted)}
.pomo-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.pomo-meta div{background:var(--bg);border-radius:12px;padding:8px 4px}
.pomo-meta b{display:block;font:600 16px var(--mono);font-variant-numeric:tabular-nums}
.pomo-meta span{font-size:12px;color:var(--muted)}
.ctrls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;width:100%}
.ctrls .btn{flex:1 1 0;min-width:90px}
.btn.stop{background:transparent;color:var(--late);border:1.5px solid var(--late)}
.presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.preset{border:1.5px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 4px;font-weight:600;cursor:pointer}
.preset[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.stepper{display:flex;align-items:center;gap:6px}
.stepper button{width:34px;height:34px;border-radius:50%;border:0;background:var(--accent-soft);color:var(--accent);font-size:20px;font-weight:600;cursor:pointer;line-height:1}
.stepper output{min-width:58px;text-align:center;font:600 16px var(--mono);font-variant-numeric:tabular-nums}
.plan{display:flex;height:12px;border-radius:99px;overflow:hidden;gap:2px;margin:4px 0 2px}
.plan i{display:block;height:100%}
.plan i.w{background:var(--accent)}
.plan i.b{background:var(--ok)}
.plan i.past{opacity:.3}
.flash{animation:flash 1s ease-out 2}
@keyframes flash{50%{background:var(--pc,var(--accent));}}
@media (prefers-reduced-motion:reduce){.flash{animation:none}.ringwrap .fgc{transition:none}}

/* connexion */
body.locked main,body.locked nav{display:none}
.auth{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px calc(24px + env(safe-area-inset-bottom,0px))}
.auth[hidden]{display:none}
.auth-box{width:100%;max-width:400px;display:grid;gap:14px;text-align:center}
.auth-logo{width:76px;height:76px;border-radius:18px;margin:0 auto;box-shadow:0 6px 20px rgba(31,95,191,.25)}
.auth h1{margin:0}
.auth-feats{list-style:none;margin:0;padding:6px 14px;text-align:left;display:grid}
.auth-feats li{display:flex;gap:12px;align-items:flex-start;padding:10px 0}.auth-feats li+li{border-top:1px solid var(--line)}
.auth-feats .af-ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--g-bg,var(--field));color:var(--g-ink,var(--ink))}
.auth-feats .af-ic svg{width:19px;height:19px}.auth-feats b{display:block;font-size:15px}.auth-feats span.small{display:block;margin-top:2px}
.legal{max-height:min(86vh,760px);display:flex;flex-direction:column;gap:12px}
.legal-body{overflow:auto;-webkit-overflow-scrolling:touch;padding-right:4px;display:grid;gap:4px}
.legal-body h3{font-size:15px;margin:12px 0 2px}.legal-body p{margin:0;font-size:14px;line-height:1.5;color:var(--ink)}.legal-body .small{margin-top:10px}
.auth-legal{margin:0;font-size:13px}.auth-legal .linkbtn{display:inline;padding:0;font-size:13px}
.auth-trial{display:grid;gap:6px}.auth-trial p{margin:0}
.auth .sub{margin:0}
.auth .form{text-align:left}
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--line);border-radius:12px;padding:3px;gap:3px}
.seg button{border:0;background:none;border-radius:9px;padding:9px;font-weight:600;color:var(--muted);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.check-row:not([hidden]){display:flex!important}
.check-row{gap:10px;align-items:center;font-size:14px!important;color:var(--ink)!important}
.check-row input{width:20px;height:20px;flex:none;accent-color:var(--accent)}
.err{color:var(--late);font-size:14px;font-weight:600;margin:0;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--late) 12%,transparent);border:1px solid color-mix(in srgb,var(--late) 40%,transparent)}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.err.shake{animation:shake .35s}
.btn[disabled]{opacity:.6}
.syncdot{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--ok)}
.syncdot.wait{background:var(--warn)}
.syncdot.err{background:var(--late)}
.bk-list{padding:4px 14px;margin:0}.bk-list .row{display:flex;gap:10px;align-items:center;padding:9px 0}.bk-list .row+.row{border-top:1px solid var(--line)}
.bk-list .n{font-variant-numeric:tabular-nums;font-weight:700;min-width:42px;text-align:right}.bk-list .now{font-variant-numeric:tabular-nums;min-width:60px;text-align:right}
.trial-card{display:flex;gap:12px;align-items:center;padding:12px 14px;margin:0 0 14px;border-radius:var(--r-card,16px);background:var(--g-bg,var(--field));border:1px solid var(--line)}
.trial-card .grow{display:flex;flex-direction:column;gap:3px;min-width:0}.trial-card .btn{flex:none;padding:10px 14px}
.sync-warn{display:flex;gap:12px;align-items:center;padding:12px 14px;margin:0 0 14px;border-radius:var(--r-card,16px);color:var(--ink);background:color-mix(in srgb,var(--late) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--late) 35%,transparent)}
.sync-warn .grow{display:flex;flex-direction:column;gap:3px;min-width:0}
.sync-warn b{color:var(--late)}

/* modification */
.pen{border:0;background:none;color:var(--muted);padding:6px;cursor:pointer;flex:none;display:grid;place-items:center;border-radius:8px}
.pen:hover{color:var(--accent)}
.sheet-bg{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:30;display:flex;align-items:flex-end;justify-content:center}
.sheet{width:100%;max-width:640px;border-radius:20px 20px 0 0;padding:16px 16px calc(18px + env(safe-area-inset-bottom,0px));display:grid;gap:10px;max-height:90vh;overflow:auto}
.sheet-head{display:flex;justify-content:space-between;align-items:center;font-size:17px}
.sheet label{display:grid;gap:4px;font-size:13px;color:var(--muted)}
.sheet .two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.time{font:600 13px var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}
/* appli */
.steps{list-style:none;margin:0;padding:0;counter-reset:st}
.steps li{counter-increment:st;display:flex;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}
.steps li:last-child{border-bottom:0}
.steps li::before{content:counter(st);flex:none;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700;display:grid;place-items:center;font-size:14px}
.install{text-align:left}
.install summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:15px;padding:6px 0;list-style:none;text-align:center}
.install summary::-webkit-details-marker{display:none}
.install .steps{margin-top:8px}
.okline{display:flex;gap:10px;align-items:center}

/* à faire : en suspens + réalisées */
#v-todo .row{gap:6px;padding-inline:12px}
#v-todo .pen{padding:5px}
#v-todo .x{padding:4px}
#v-todo .realise,#v-todo .resume{padding:6px 10px}
.paused .ttl{color:var(--muted)}
.resume{border:1.5px solid var(--accent);color:var(--accent);background:transparent;border-radius:99px;padding:6px 12px;font-size:14px;font-weight:600;cursor:pointer;flex:none}
.grp-y{font-size:22px;font-weight:700;margin:18px 4px 4px;letter-spacing:-.01em}
.grp-m{font-size:16px;font-weight:700;margin:12px 4px 6px}
.grp-w{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:10px 4px 6px}
.grp-d{font-size:13px;font-weight:600;color:var(--muted);padding:10px 14px 4px;border-bottom:1px solid var(--line)}
.grp-d::first-letter{text-transform:uppercase}
.donetime{font:600 12px var(--mono);color:var(--muted);flex:none;font-variant-numeric:tabular-nums;width:40px}
/* vue jour */
.dayv-head{display:flex;align-items:center;gap:6px;margin-bottom:10px}
.back{border:0;background:none;color:var(--accent);font-weight:600;font-size:15px;cursor:pointer;padding:6px 2px;white-space:nowrap}
.dayv-title{flex:1;text-align:center;font-weight:700;font-size:16px;min-width:0}
.dayv-title::first-letter{text-transform:uppercase}
.allday{display:grid;gap:6px;margin-bottom:10px}
.chip-ev{display:flex;align-items:center;gap:6px;background:var(--bg);border-left:4px solid var(--c);border-radius:8px;padding:4px 4px 4px 10px;font-size:14px}
.tline{position:relative;margin:18px 4px 10px 46px}
.hr{position:absolute;left:0;right:0;border-top:1px solid var(--line)}
.hr span{position:absolute;left:-46px;top:-8px;width:40px;text-align:right;font:500 11px var(--mono);color:var(--muted)}
.blk{position:absolute;border:0;border-left:3px solid var(--c);border-radius:8px;padding:3px 6px;background:color-mix(in srgb,var(--c) 18%,var(--surface));font-size:13px;overflow:hidden;cursor:pointer;text-align:left;color:var(--ink);line-height:1.25}
.blk b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blk .t{font:500 11px var(--mono);color:var(--muted)}
.blk.fait{opacity:.5}
.nowline{position:absolute;left:-6px;right:0;height:2px;background:var(--late);z-index:2}
.nowline::before{content:"";position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--late)}
@keyframes zoomin{from{transform:scale(.9);opacity:0}to{transform:none;opacity:1}}
.zoom{animation:zoomin .22s ease-out;transform-origin:var(--zo,50% 30%)}
@media (prefers-reduced-motion:reduce){.zoom{animation:none}}
/* interrupteurs */
.switch{-webkit-appearance:none;appearance:none;width:50px!important;min-width:50px;height:30px;border-radius:99px;background:var(--line);position:relative;cursor:pointer;flex:none;border:0;padding:0;transition:background .2s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.switch:checked{background:var(--ok)}
.switch:checked::after{transform:translateX(20px)}
.switch:disabled{opacity:.5}
/* spotify */
.spot iframe{width:100%;height:152px;border:0;border-radius:12px;display:block}
.linkbtn{color:var(--accent);font-weight:600;text-decoration:none}

/* musculation */


.ms>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:14px;cursor:pointer}
.ms>summary::-webkit-details-marker{display:none}
.ms>summary .chev{transition:transform .2s;color:var(--muted)}
.ms[open]>summary .chev{transform:rotate(90deg)}
.ms-name{font-weight:700;font-size:17px}
.ms-body{border-top:1px solid var(--line);padding:12px;display:grid;gap:12px}
.ex{background:var(--bg);border-radius:12px;padding:10px;display:grid;gap:8px}
.ex-head{display:flex;gap:6px;align-items:center}
.ex-head .num{font:700 13px var(--mono);color:var(--muted);width:20px;flex:none}
.ex-head input{font-weight:600;background:var(--surface)}
.set{display:grid;grid-template-columns:62px minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:center}
.set .lbl{font-size:13px;color:var(--muted);font-weight:600}
.unit{position:relative}
.unit input{background:var(--surface);padding-right:40px;text-align:right;font-variant-numeric:tabular-nums}
.unit span{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--muted);pointer-events:none}
.ex-actions{display:flex;gap:6px;flex-wrap:wrap}
.mini{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:5px 11px;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink)}
.ms-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ms-actions .wide{grid-column:1/-1}
textarea{font:15px var(--font);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%;min-height:120px;resize:vertical}
/* horaire iCal */
.more-opts{margin-top:22px}
.more-opts>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;font-weight:600;padding:6px 4px}
.more-opts>summary::-webkit-details-marker{display:none}
.more-opts .plus{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:16px;line-height:1;transition:transform .2s}
.more-opts[open] .plus{transform:rotate(45deg)}
.bar-h2{display:flex;justify-content:space-between;align-items:flex-end;gap:8px}
.bar-h2 .mini{margin-bottom:8px}
.blk.canc,.chip-ev.canc .ttl{text-decoration:line-through;opacity:.55}
.canc-pill{font:600 11px var(--font);color:var(--late);border:1px solid currentColor;border-radius:4px;padding:0 4px;margin-left:4px;text-decoration:none;display:inline-block}
.blk .loc{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* à faire : catégories + ordre */
.catbar{background:var(--surface);border-radius:14px;padding:10px 12px;margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.catbar .grow b{font-size:16px}
#folderBar .grow{flex:1 1 100%}
#folderBar .x{margin-left:auto}
.cat-h{display:flex;align-items:center;gap:8px;margin:18px 4px 8px}
.cat-h h2{margin:0;flex:1}
.cat-h .small{font-variant-numeric:tabular-nums}
.cat-prog{width:56px;height:5px;border-radius:99px;background:var(--line);overflow:hidden}
.cat-prog i{display:block;height:100%;background:var(--ok)}
.grip{border:0;background:none;color:var(--muted);padding:6px 2px;cursor:grab;flex:none;touch-action:none;display:grid;place-items:center;opacity:.7}
.row.dragging{position:relative;z-index:5;box-shadow:0 8px 24px rgba(0,0,0,.18);background:var(--surface);opacity:.95}
.row.drop-anim{transition:transform .15s}
.tchips{margin:0;padding-inline:0;flex-wrap:nowrap}
.tchips .pill{font-size:13px;padding:5px 10px}
.pill.add{border-style:dashed;color:var(--accent)}
.pill .cnt{font:600 11px var(--mono);color:var(--muted)}
.sel{-webkit-appearance:none;appearance:none;width:auto;max-width:55%;padding:8px 28px 8px 12px;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center}
.sheet .sel{max-width:100%;width:100%}
/* documents */
.doc-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.doc-actions .btn{text-align:center;cursor:pointer;padding:12px}
.doc{display:flex;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);min-height:60px}
.doc:last-child{border-bottom:0}
.doc-ic{width:38px;height:46px;border-radius:6px;background:color-mix(in srgb,var(--late) 14%,var(--surface));color:var(--late);font:700 10px var(--font);display:grid;place-items:end center;padding-bottom:6px;flex:none;position:relative;border:0;cursor:pointer}
.doc-ic::before{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 10px 10px 0;border-color:transparent var(--bg) transparent transparent}
.doc-open{flex:1;min-width:0;border:0;background:none;text-align:left;cursor:pointer;padding:0;color:var(--ink)}
.doc-open b{display:block;font-weight:600;overflow-wrap:anywhere}
.doc-open mark{background:color-mix(in srgb,var(--accent) 22%,transparent);color:inherit;border-radius:3px}
.viewer{position:fixed;inset:0;z-index:40;background:var(--bg);display:flex;flex-direction:column}
.viewer-head{display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 8px) 12px 8px;background:var(--bar);border-bottom:1px solid var(--line)}
.viewer-head b{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.viewer-body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:12px 8px calc(24px + env(safe-area-inset-bottom,0px));display:grid;gap:10px;justify-items:center;align-content:start}
.viewer-body canvas,.viewer-body img{max-width:100%;height:auto;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.15);border-radius:2px}
.viewer-body iframe{width:100%;height:80vh;border:0;background:#fff}
.scan-pages{display:flex;gap:8px;overflow-x:auto;min-height:20px}
.scan-pages .pg{position:relative;flex:none}
.scan-pages img{height:120px;border-radius:6px;box-shadow:0 1px 4px rgba(0,0,0,.2);display:block;background:#fff}
.scan-pages .pg button{position:absolute;top:4px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.scan-pages .pg .rm{right:4px}
.scan-pages .pg .rot{left:4px}
.scan-pages .pg span{position:absolute;bottom:4px;left:6px;font:600 11px var(--font);color:#fff;text-shadow:0 1px 2px #000}
/* présentation */
.onb{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 8px) 0 calc(12px + env(safe-area-inset-bottom,0px))}
.onb-track{flex:1;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.onb-track::-webkit-scrollbar{display:none}
.onb-slide{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;overflow-y:auto;padding:16px 16px 12px}
.onb-slide .onb-box>*{transition:opacity .45s,transform .45s}
.onb-slide:not(.on) .onb-box>*{opacity:0;transform:translateY(14px)}
.onb-slide.on .onb-box>*:nth-child(2){transition-delay:.06s}.onb-slide.on .onb-box>*:nth-child(3){transition-delay:.12s}.onb-slide.on .onb-box>*:nth-child(4){transition-delay:.18s}.onb-slide.on .onb-box>*:nth-child(n+5){transition-delay:.24s}
.onb-skip{position:absolute;top:calc(env(safe-area-inset-top,0px) + 10px);right:14px;z-index:2;border:0;background:none;color:var(--muted);font-weight:600;cursor:pointer;padding:8px}
.onb-nav{display:flex;align-items:center;gap:12px;padding:8px 16px 0;max-width:560px;width:100%;margin:0 auto}
.onb-nav .btn{padding:12px 18px}
.onb-nav #onbNext{margin-left:auto}
.onb-dots{display:flex;gap:7px;flex:1;justify-content:center}
.onb-dots i{width:8px;height:8px;border-radius:99px;background:var(--line);transition:width .25s,background .25s}
.onb-dots i.on{width:22px;background:var(--accent)}
.onb-pop{animation:onbpop .7s cubic-bezier(.2,1.6,.4,1)}
@keyframes onbpop{from{transform:scale(.4);opacity:0}}
.onb-big{font-size:64px;line-height:1;animation:onbfloat 3s ease-in-out infinite}
@keyframes onbfloat{50%{transform:translateY(-8px) rotate(-4deg)}}
.onb-floats{display:flex;justify-content:center;gap:14px;font-size:30px}
.onb-floats span{animation:onbfloat 2.6s ease-in-out infinite}
.onb-floats span:nth-child(2n){animation-delay:-1.3s}.onb-floats span:nth-child(3n){animation-delay:-.6s}
.onb-it{transition:transform .15s,opacity .2s}
.onb-it:active{transform:scale(.97)}
.onb-it.bump{animation:bump .3s}
@keyframes bump{40%{transform:scale(1.03)}}
.onb-preview{padding:14px;display:grid;gap:10px;text-align:left;background:var(--surface)}
.onb-pv-t{font-size:20px;color:var(--accent)}
@media (prefers-reduced-motion:reduce){.onb-big,.onb-floats span,.onb-pop{animation:none}.onb-slide .onb-box>*{transition:none}}
.onb-box{max-width:520px;margin:0 auto;display:grid;gap:14px;text-align:center}
.onb-list{display:grid;gap:10px;text-align:left}
.onb-it{background:var(--surface);border-radius:14px;padding:12px 14px;display:flex;gap:12px;align-items:center;cursor:pointer}
.onb-it .ic{width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}
.onb-it .ic svg{width:22px;height:22px}
.onb-it b{display:block;font-size:16px}
.onb-it.off{opacity:.55}
.auth-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.testpill{font:700 11px var(--font);text-transform:uppercase;letter-spacing:.05em;color:var(--on-accent);background:var(--warn);border-radius:6px;padding:2px 6px}
nav.many .tab{font-size:10px}
nav.many .tab svg{width:22px;height:22px}
nav.lots .tab{font-size:9px;letter-spacing:-.01em;line-height:1.1;padding-inline:1px;text-align:center}
nav.lots .tab svg{width:21px;height:21px}
.onb-tag{text-wrap:balance;font-size:19px;font-weight:700;line-height:1.3;letter-spacing:-.01em;margin:0;color:var(--accent)}
.onb-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px;text-align:left;width:100%;max-width:340px}
.onb-steps li{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:12px;padding:10px 12px;font-size:15px}
.onb-steps li span{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:14px}
/* v23 : nutrition en 3 onglets, choix des repas, recette, quantités, rappels */
.nu-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--surface);border-radius:14px;padding:4px;margin:6px 0 4px}
.nu-tabs button{border:0;background:none;border-radius:10px;padding:9px 4px;font-family:inherit;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer;display:grid;gap:1px;justify-items:center}
.nu-tabs button span{font-size:18px;line-height:1}
.nu-tabs button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent)}
.nu-hint{margin:8px 4px 4px;font-size:14px;color:var(--muted)}
.nu-left{display:flex;align-items:center;gap:10px;background:var(--accent-soft);color:var(--ink);border-radius:12px;padding:10px 12px;margin:8px 0;font-size:14px}
.nu-left b{color:var(--accent)}
.nu-slots{display:flex;flex-wrap:wrap;gap:6px}
.nu-slots .pill{font-size:14px}
.nu-mk-note{font-size:13px;color:var(--muted);margin:2px 2px 0}
.qty-ed{border:0;background:none;padding:0;font:inherit;color:var(--muted);font-size:13px;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px;text-align:left}
.qty-in{display:inline-flex;gap:6px;align-items:center;margin-top:2px}
.qty-in input{width:110px;font-size:16px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.notmention{display:inline-block;margin-left:6px;font-size:11px;font-weight:600;color:var(--warn);border:1px solid currentColor;border-radius:99px;padding:0 6px;vertical-align:1px}
.recipe{margin:8px 0 2px;padding:10px 12px;border-radius:12px;background:var(--bg);font-size:14px}
.recipe ol{margin:6px 0 0;padding-left:20px;display:grid;gap:6px}
.me-done{font-size:13px;color:var(--st-good,var(--accent));font-weight:600}
.cal-title{display:inline-flex;align-items:center;gap:6px;background:var(--accent-soft)!important;color:var(--accent)}
.cal-title .yr-ic{font-size:11px;font-weight:700;border:1px solid currentColor;border-radius:99px;padding:1px 7px;opacity:.9}
.notif-lead-custom{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}
.notif-lead-custom input{width:70px;font-size:16px}
.plan-notif{display:flex;align-items:center;gap:10px;margin-top:10px}
#docFolders{flex-wrap:wrap;overflow:visible;margin-inline:0;padding-inline:0}
/* v19 : catégories repliables */
.foldc{border:0;background:none;color:var(--muted);padding:2px 4px;cursor:pointer;display:grid;place-items:center;flex:none}
.foldc svg{transition:transform .2s}
.foldc[aria-expanded="false"] svg{transform:rotate(-90deg)}
.cat-h .fold-n{font-size:12px;color:var(--muted);font-weight:600}
/* v19 : tri des documents */
.docbar{display:flex;align-items:center;gap:8px;margin:0 0 10px}
.docbar .seg{flex:none;width:auto;grid-template-columns:auto auto;padding:2px;border-radius:10px}
.docbar .seg button{padding:5px 12px;font-size:13px}
.howto{margin:0 0 10px}
.howto>summary{list-style:none;cursor:pointer;color:var(--accent);font-weight:600;font-size:14px;padding:4px}
.howto>summary::-webkit-details-marker{display:none}
.howto .steps{margin-top:6px}
/* v19 : notes */
.note{display:block;width:100%;border:0;background:none;text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer;color:var(--ink)}
.note:last-child{border-bottom:0}
.note b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.note .prev{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}
.note .when{font:500 12px var(--mono);color:var(--muted);margin-top:4px;display:block}
.note-ed{background:var(--surface);border-radius:14px;padding:6px 14px 14px}
.note-ed input{border:0;background:none;padding:8px 0;font-size:22px;font-weight:700;border-radius:0}
.note-ed textarea{border:0;background:none;padding:4px 0;min-height:55vh;font-size:16px;line-height:1.5;resize:none;border-radius:0}
.note-ed input:focus,.note-ed textarea:focus{outline:none}
/* v19 : mots de passe */
.pin{display:grid;justify-items:center;gap:10px;padding:0 0 8px;text-align:center}
.pin-t{font-size:19px;font-weight:700;margin:0}
.pin-dots{display:flex;gap:16px;margin:4px 0}
.pin-dots i{width:15px;height:15px;border-radius:50%;border:2px solid var(--muted);display:block;transition:background .15s,border-color .15s}
.pin-dots i.on{background:var(--accent);border-color:var(--accent)}
.pin-dots.shake{animation:shake .35s}
.pad{display:grid;grid-template-columns:repeat(3,64px);gap:10px 26px;justify-content:center}
.pad button{width:64px;height:64px;border-radius:50%;border:0;background:var(--surface);font:500 30px var(--font);color:var(--ink);cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.06);font-variant-numeric:tabular-nums}
.sheet .pad button{background:var(--bg)}
.pad button:active{background:var(--accent-soft)}
.pad button.blank{visibility:hidden}
.pad button.del{background:none;box-shadow:none;font-size:16px;font-weight:600;color:var(--accent)}
.pin-err{min-height:18px;color:var(--late);font-size:14px;font-weight:600;margin:0}
#v-docs.is-locked>*:not(.brand):not(h1):not(.sub):not(#docLocked):not(#docPinHost){display:none!important}
.doc-locked{padding:26px 16px;display:grid;gap:8px;justify-items:center;text-align:center}
.pin-ic2{font-size:40px}
.doc .grip{padding:6px 0}
.doc.dragging{opacity:.4}
.doc-ghost{position:fixed;z-index:70;pointer-events:none;background:var(--surface);border-radius:12px;padding:10px 14px;box-shadow:0 10px 28px rgba(0,0,0,.25);font-weight:600;max-width:70vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#docFolders .pill.drop{background:var(--accent);color:var(--on-accent);border-color:var(--accent);transform:scale(1.06)}
.ns-bar{display:flex;align-items:center;gap:8px;background:var(--surface);border-radius:12px;padding:8px 12px;margin:0 0 10px;font-size:14px}
.note-lock b{color:var(--muted)}
.pw-row{display:flex;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);min-height:62px}
.pw-row:last-child{border-bottom:0}
.pw-av{width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:16px;flex:none;text-transform:uppercase}
.pw-main{flex:1;min-width:0}
.pw-main b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pw-main .small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pw-sec{font:500 14px var(--mono);letter-spacing:.02em;overflow-wrap:anywhere}
.pw-field{display:flex;gap:6px}
.pw-field input{flex:1}
.pw-top{display:flex;align-items:center;gap:8px;margin:0 0 10px}
.pw-top .search{margin:0;flex:1}

/* v21 : styles Coloré et Intense */
:root[data-look="vivid"] body{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 34%,var(--bg)) 0,var(--bg) 300px) no-repeat,var(--bg)}
:root[data-look="vivid"] nav{background:color-mix(in srgb,var(--accent) 88%,#000 0%);border-top-color:transparent}
:root[data-look="vivid"] nav .tab{color:color-mix(in srgb,var(--on-accent) 70%,transparent)}
:root[data-look="vivid"] nav .tab[aria-current="page"]{color:var(--on-accent)}
:root[data-look="vivid"] .card,:root[data-look="vivid"] .setsec{box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 14%,transparent)}
/* v20 : catégories d'onglets */
.sbadge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:5px;border-radius:99px;background:var(--late);color:#fff;font:700 11px/1 var(--font);font-style:normal;vertical-align:1px}
.sbadge.dot{min-width:8px;width:8px;height:8px;padding:0;background:var(--accent)}
.badge.dot{width:9px;height:9px;padding:0;background:var(--accent)}
.tabgrp{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 4px 6px;display:flex;align-items:center;gap:8px}
.tabgrp svg{width:16px;height:16px}
.onb-grp{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:8px 4px -2px;text-align:left}
/* v20 : réglages repliables */
.setsec{background:var(--surface);border-radius:14px;margin:10px 0 0}
.setsec>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px;cursor:pointer;font-weight:600;font-size:16px}
.setsec>summary::-webkit-details-marker{display:none}
.setsec>summary .chev{color:var(--muted);transition:transform .2s;flex:none}
.setsec[open]>summary .chev{transform:rotate(90deg)}
.setsec-in{padding:0 12px 14px}
.priv .row{align-items:flex-start;gap:12px}.priv-ic{font-size:22px;line-height:1.2}.priv b{display:block;margin-bottom:2px}
.setsec-in .card{background:var(--bg)}
.setsec-in .card .card{background:var(--surface)}
.accents{display:flex;flex-wrap:wrap;gap:12px}
.accents button{width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;background:var(--a);box-shadow:inset 0 0 0 2px rgba(0,0,0,.08);display:grid;place-items:center;color:#fff;padding:0}
.accents button[aria-pressed="true"]{outline:3px solid var(--a);outline-offset:3px}
#themeSel button{padding:6px 10px;font-size:13px}
/* v20 : dictée */
.nu-mic.on{background:var(--late);border-color:var(--late);color:#fff;animation:micpulse 1.2s ease-in-out infinite}
@keyframes micpulse{50%{opacity:.6}}
@media (prefers-reduced-motion:reduce){.nu-mic.on{animation:none}}
/* v21 : nutrition */
:root{--m-p:#2a78d6;--m-c:#eb6834;--m-f:#1baf7a;--st-good:#0ca30c;--st-warn:#fab219;--st-bad:#d03b3b}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--m-p:#3987e5;--m-c:#d95926;--m-f:#199e70}}
:root[data-theme="dark"]{--m-p:#3987e5;--m-c:#d95926;--m-f:#199e70}
input[type=number]{-moz-appearance:textfield;appearance:textfield}
input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.nu-form{display:grid;gap:12px}
.nu-blk{padding:14px;display:grid;gap:10px}
.nu-blk-h{font-weight:700;font-size:16px}
.nu-sex{grid-template-columns:1fr 1fr}
.nu-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.nu-f{display:grid;gap:4px;font-size:13px;color:var(--muted);min-width:0}
.nu-in{position:relative;display:block;min-width:0}
.nu-in input{background:var(--bg);padding:10px 34px 10px 12px;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.nu-in i{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-style:normal;font-size:13px;color:var(--muted);pointer-events:none}
.nu-tgt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:8px}
.nu-dur{display:flex;gap:6px;min-width:0}
.nu-dur .nu-in{width:62px;flex:none}
.nu-dur .nu-in input{padding-right:10px;text-align:center}
.nu-dur .sel{max-width:none;flex:1;min-width:0}
.nu-sports{display:grid;gap:8px}
.nu-sport{background:var(--bg);border-radius:12px;padding:8px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;gap:6px;align-items:center}
.nu-sport>.nu-name{grid-column:1/3}
.nu-sport input{background:var(--surface)}
.nu-sport .nu-in input{background:var(--surface);font-size:16px}
.nu-sport .x{grid-row:1;grid-column:3}
.nu-goals,.nu-pace{display:grid;gap:8px}
.nu-pace{grid-template-columns:repeat(3,minmax(0,1fr))}
.nu-goals button,.nu-pace button{border:1.5px solid var(--line);background:var(--bg);border-radius:12px;padding:10px 12px;text-align:left;cursor:pointer;display:flex;gap:10px;align-items:center;color:var(--ink)}
.nu-goals button>span:last-child{display:grid;gap:2px}
.nu-pace button{display:grid;gap:3px;justify-items:center;text-align:center;padding:10px 6px}
.nu-pace button .small{font-size:11px;line-height:1.25}
.nu-goals button b,.nu-pace button b{font-size:15px}
.nu-gi{font-size:22px;line-height:1}
.nu-goals button[aria-pressed="true"],.nu-pace button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.nu-goalcard{border-left:4px solid var(--warn);margin-bottom:12px;padding:12px 14px;display:grid;gap:4px}
.nu-goalcard.ok{border-left-color:var(--ok)}
.nu-goalcard b{font-size:15px}
.nu-daylbl{position:relative;cursor:pointer}
.nu-daylbl input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.nu-sum{display:flex;gap:16px;align-items:center;padding:14px}
.nu-ring{width:124px;height:124px;--pc:var(--accent)}
.nu-ring.over{--pc:var(--late)}
.nu-big{font:700 28px/1 var(--font);text-align:center}
.nu-ring .small{text-align:center;font-size:11px}
.nu-macros{flex:1;min-width:0;display:grid;gap:10px}
.nu-m{display:grid;gap:4px}
.nu-m .top{display:flex;justify-content:space-between;font-size:13px;gap:6px;align-items:center}
.nu-m .top b{display:flex;align-items:center;gap:6px}
.nu-m .top span{font:500 12px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.nu-m .bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.nu-m .bar i{display:block;height:100%;border-radius:99px;background:var(--c)}
.mdot{width:9px;height:9px;border-radius:50%;background:var(--c);display:inline-block;flex:none}
.nu-ask{gap:10px}
.nu-ask textarea{min-height:56px;font-size:17px;line-height:1.4;background:var(--bg);resize:none;overflow:hidden;transition:min-height .2s}
.nu-ask textarea:focus{min-height:104px}
.nu-ask-row{display:flex;gap:8px;align-items:center}
.nu-ask-row .btn{flex:1}
.nu-tool{padding:9px 12px;font-size:14px;cursor:pointer;flex:none}
.nu-photo{position:relative;justify-self:start}
.nu-photo img{height:96px;border-radius:12px;display:block;object-fit:cover}
.nu-photo button{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;cursor:pointer}
/* plat : carte visuelle */
.dish{background:var(--surface);border-radius:16px;overflow:hidden;margin-bottom:10px}
.nu-ask .dish{background:var(--bg);margin:0}
.dish-h{display:flex;gap:12px;align-items:center;padding:12px}
.dish-ic{width:52px;height:52px;border-radius:14px;background:var(--accent-soft);display:grid;place-items:center;font-size:28px;flex:none;overflow:hidden}
.dish-ic img{width:100%;height:100%;object-fit:cover}
.dish-t{flex:1;min-width:0}
.dish-t b{display:block;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dish-kcal{font:700 20px/1 var(--font);text-align:right;white-space:nowrap}
.dish-kcal small{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-top:2px}
.mbar{display:flex;height:8px;gap:2px;margin:0 12px 10px;border-radius:99px;overflow:hidden}
.mbar i{display:block;height:100%;background:var(--c)}
.mchips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 12px 10px}
.mchip{display:grid;justify-items:center;gap:1px;background:var(--bg);border-radius:10px;padding:6px 4px;font-size:15px}
.mchip>span{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}
.nu-ask .mchip{background:var(--surface)}
.dish-items{border-top:1px solid var(--line)}
.dish-it{display:flex;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line)}
.dish-it:last-child{border-bottom:0}
.dish-it .em{font-size:22px;width:28px;text-align:center;flex:none}
.dish-it .grow b{display:block;font-weight:600;font-size:15px}
.dish-it .k{font-weight:700;font-size:14px;white-space:nowrap}
.dish-note{font-size:13px;color:var(--muted);padding:0 12px 10px}
.dish-act{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;padding:10px 12px 12px}
.dish>summary{list-style:none;cursor:pointer}
.dish>summary::-webkit-details-marker{display:none}
.memtag{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:99px;padding:2px 8px}
.dish-time{font:600 12px var(--mono);color:var(--muted)}
/* chargement */
.loadcard{background:var(--bg);border-radius:16px;padding:16px;display:grid;gap:12px;justify-items:center;text-align:center}
.load-em{font-size:40px;animation:bob 1.2s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-6px) rotate(-6deg)}}
.load-msg{font-weight:600}
.load-bar{width:100%;height:6px;border-radius:99px;background:var(--line);overflow:hidden;position:relative}
.load-bar i{position:absolute;inset:0 auto 0 0;width:40%;border-radius:99px;background:var(--accent);animation:slide 1.3s ease-in-out infinite}
@keyframes slide{0%{left:-40%}100%{left:100%}}
.shim{height:12px;border-radius:6px;width:100%;background:linear-gradient(90deg,var(--line) 0,color-mix(in srgb,var(--line) 40%,var(--surface)) 50%,var(--line) 100%);background-size:200% 100%;animation:shim 1.2s linear infinite}
@keyframes shim{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.load-em,.load-bar i,.shim{animation:none}}
/* boîtes chiffres (besoins, menu) */
.nu-plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.nu-plan.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.nu-plan div{background:var(--bg);border-radius:12px;padding:10px 4px;text-align:center;display:grid;gap:2px;justify-items:center}
.nu-plan b{display:block;font:700 17px var(--font)}
.nu-plan span{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px}
.nu-warn{border-left:4px solid var(--warn);background:var(--bg);border-radius:8px;padding:8px 10px;font-size:14px;margin-top:8px}
.nu-meal{margin-top:12px}
.nu-ehint{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);background:var(--bg);border-radius:10px;padding:8px 10px}
.nu-ehint .mini{margin-left:auto;flex:none}
.nu-mtype{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.nu-mtype button{border:1.5px solid var(--line);background:var(--bg);border-radius:12px;padding:8px 2px;display:grid;gap:2px;justify-items:center;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer}
.nu-mtype button span{font-size:22px;line-height:1.1}
.nu-mtype button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.nu-mk{display:grid;gap:6px}
.nu-mk .row{padding:0;border:0;min-height:0;gap:10px}
.nu-mk .em{font-size:20px;width:26px;text-align:center}
.nu-mk .nu-in{width:120px;flex:none}
.nu-mk .nu-in input{padding:8px 44px 8px 10px;font-size:16px}
.me-act{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px 12px 12px}
.me-act .mini{padding:8px 4px;text-align:center}
.me-add{display:flex;gap:6px;padding:0 12px 10px}
.me-add input{flex:1}
.me-qty{display:flex;gap:6px;align-items:center}
.me-qty input{width:84px;padding:6px 8px;font-size:16px}
.nu-week{padding:12px 14px;margin-bottom:12px;display:grid;gap:8px}
.nu-week-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.nu-week-h b{font-size:15px}
.nu-wsp{display:flex;align-items:center;gap:10px}
.nu-wsp .grow b{display:block;font-size:15px}
.nu-meal-h{display:flex;align-items:center;gap:8px;margin:0 4px 6px}
.nu-meal-h b{flex:1}
.spin{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-3px;margin-right:6px}
@keyframes spin{to{transform:rotate(360deg)}}
/* bientôt disponible */
.soonable{position:relative}
.soonable.is-soon>*:not(.soon){filter:blur(6px);pointer-events:none;user-select:none;opacity:.7}
.soon{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:140px;z-index:5}
.soon-card{background:var(--surface);border-radius:20px;padding:22px 28px;display:grid;gap:6px;justify-items:center;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.soon-ic{font-size:36px}
.soon-card b{font-size:18px}
html[lang="en"] .soon-en{display:none}
/* graphiques */
.gr-filters{display:flex;margin:4px 0 12px}
.gr-filters .seg{grid-template-columns:auto auto;padding:2px}
.gr-filters .seg button{padding:6px 14px;font-size:14px}
.gr-card{padding:14px 12px 10px;margin-bottom:12px}
.gr-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 2px 6px}
.gr-h b{font-size:16px}
.gr-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:0 2px 6px}
.gr-legend span{display:inline-flex;align-items:center;gap:6px}
.gr-legend i{display:inline-block;width:14px;height:2px;border-radius:2px;background:var(--c)}
.gr-legend i.box{width:10px;height:10px;border-radius:3px}
.gr-plot{position:relative}
.gr-plot svg{display:block;width:100%;height:auto;overflow:visible}
.gr-plot .ax{font:11px var(--font);fill:var(--muted)}
.gr-plot .grid{stroke:var(--line);stroke-width:1}
.gr-plot .lbl{font:600 11px var(--font);fill:var(--ink)}
.gr-empty{color:var(--muted);text-align:center;padding:26px 8px;font-size:14px}
.gr-wform{display:flex;gap:8px;margin:0 0 10px}
.gr-wform .nu-in{flex:1}
.gr-tip{position:fixed;z-index:60;pointer-events:none;background:var(--ink);color:var(--bg);border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.35;box-shadow:0 6px 18px rgba(0,0,0,.25);max-width:220px}
.gr-tip b{font-size:15px}
.gr-tip .k{display:inline-block;width:12px;height:2px;background:var(--c);margin-right:6px;vertical-align:4px}
.gr-rev{padding:14px;display:grid;gap:8px}
.gr-rev h3{margin:0;font-size:16px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.gr-rev p{margin:0;font-size:15px;line-height:1.45}
.gr-rev ul{margin:0;padding-left:20px;display:grid;gap:4px;font-size:14px}
.gr-rev .lab{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:4px}
.gr-wk{margin-bottom:10px}
.gr-tbl{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.gr-tbl th,.gr-tbl td{padding:6px 4px;text-align:right;border-bottom:1px solid var(--line)}
.gr-tbl th:first-child,.gr-tbl td:first-child{text-align:left}
/* tab bar */
nav{position:fixed;left:0;right:0;bottom:0;background:var(--bar);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--line);display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom,0px);z-index:10}
nav .in{display:grid;grid-template-columns:repeat(5,1fr);width:100%;max-width:640px}
.tab{border:0;background:none;padding:8px 0 6px;display:grid;justify-items:center;gap:2px;font-size:11px;font-weight:500;color:var(--muted);cursor:pointer}
.tab[aria-current="page"]{color:var(--accent)}
.tab svg{width:24px;height:24px}
.badge{position:absolute;margin-left:18px;margin-top:-2px;background:var(--late);color:#fff;font-size:11px;font-weight:700;border-radius:99px;padding:0 5px;line-height:16px}
.tabicon{position:relative;display:grid;place-items:center}
.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:12px;font-size:14px;z-index:20;max-width:calc(100% - 32px)}

/* ===================== v24 : style « Graphite » ===================== */
html,body{font-family:var(--font);letter-spacing:-.005em;-webkit-font-smoothing:antialiased}
/* icônes au trait */
svg.i{width:1.15em;height:1.15em;vertical-align:-.2em;flex:none}
i.ic{font-style:normal;display:inline-flex;align-items:center}
/* en-tête de page : petite marque en capitales, grand titre net */
.view>.brand{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:6px 2px 0;gap:8px}
.view>.brand img{width:18px;height:18px;border-radius:5px}
.view>h1,#notesList>h1{font-size:32px;font-weight:600;letter-spacing:-.035em;line-height:1.08;color:var(--ink);margin:6px 2px 14px;padding:0;background:none}
.view>h1+.sub,#notesList>h1+.sub{margin-top:-6px}
h1{font-weight:600;letter-spacing:-.03em}
h2{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:26px 2px 10px}
.foldbtn,.grp-w,.tabgrp{letter-spacing:.14em}
.sub{color:var(--muted)}
/* surfaces : filet fin, arrondi mesuré, aucune ombre */
.card,.setsec,.dish,.onb-it,.catbar,.ns-bar,.note-ed,.pomo-stage,.loadcard,.soon-card,.onb-steps li{border-radius:var(--r-card)}
.card,.setsec,.dish,.onb-it,.catbar,.note-ed,.pomo-stage,.onb-steps li{border:1px solid var(--line);box-shadow:none}
.setsec-in .card,.nu-ask .dish,.sheet.card{border:0}
.setsec>summary{padding:16px;font-size:16px;font-weight:600}
.row{padding:13px 16px}
/* boutons : nets, peu arrondis */
.btn{border-radius:var(--r-ctl);padding:12px 18px;font-weight:600;background:var(--g-strong);color:var(--on-accent);letter-spacing:0}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn.stop{border-radius:var(--r-ctl);background:transparent}
.mini{border:0;background:var(--field);border-radius:10px;padding:7px 12px;font-weight:600;color:var(--ink)}
.pill{border:1px solid var(--line);border-radius:10px;padding:7px 12px;font-weight:500;background:var(--surface);color:var(--ink)}
.pill[aria-pressed="true"]{background:var(--g-bg);border-color:var(--gold);color:var(--ink);font-weight:600}
.pill.add{border-style:dashed;color:var(--muted)}
.qbtn{border-radius:var(--r-ctl);color:var(--ink);border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;gap:8px}
.realise,.resume,.status{border-radius:10px}
.stepper button{background:var(--field);color:var(--ink);border-radius:10px}
.cal-nav{background:var(--field);color:var(--ink);border-radius:10px}
.back,.linkbtn,.howto>summary,.install summary{color:var(--g-ink)}
/* champs */
input,select,textarea{background:var(--field);border:1px solid transparent;border-radius:var(--r-ctl);font-family:var(--font)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);background:var(--surface)}
.search{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl)}
.nu-in input,.unit input,.ex-head input{background:var(--field)}
.sel{background-color:var(--field);border-radius:10px}
/* sélecteurs segmentés et barre de partie */
.seg{background:var(--field);border-radius:var(--r-ctl);padding:3px;gap:3px}
.seg button{border-radius:9px}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line)}
/* barre du bas : l'onglet ouvert en clair, souligné d'un point champagne */
nav{border-top:1px solid var(--line)}
.tab{font-weight:600;padding:8px 0 7px;gap:4px;letter-spacing:.01em}
.tab .tabicon{padding:0}
.tab[aria-current="page"]{color:var(--ink)}
.tab[aria-current="page"] .tabicon::after{content:"";position:absolute;left:50%;bottom:-5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--gold)}
.tab svg{width:22px;height:22px;stroke-width:1.7}
/* calendrier */
.cal-title{background:var(--field)!important;color:var(--ink);border-radius:10px;padding:7px 12px;font-weight:600}
.cal-title .yr-ic{border-color:var(--line);color:var(--muted);font-weight:600}
.day{border-radius:10px}
.day.today .num{background:var(--gold);color:var(--on-gold)}
.day.sel{background:var(--field)}
.ym-g i.ev{color:var(--gold)}
.ym-g i.td{background:var(--gold);color:var(--on-gold)}
.ym.cur b{color:var(--gold)}
.next .n{border-left:0;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--c)}
.next .d{color:var(--muted)}
.blk{border-radius:8px}
.chip-ev{border-radius:10px}
.yr-title{background:var(--field)!important;color:var(--ink)!important;border-radius:10px!important;font-weight:700!important}
.yr-title .yr-ic{border-color:var(--line)!important;color:var(--muted)}
.nowline,.nowline::before{background:var(--gold)}
/* chiffres */
.big,.pomo-meta b,.stepper output,.nu-big,.dish-kcal,.nu-plan b,.time,.date,.ects,.donetime,.dish-time{font-family:var(--font);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.nu-big{font-size:34px;font-weight:600}
.dish-kcal{font-weight:700}
.nu-ring{--pc:var(--gold)}
.ringwrap .fgc{stroke:var(--pc,var(--gold))}
.prog .fill,.cat-prog i{background:var(--gold)}
.plan i.w{background:var(--gold)}
/* nutrition */
.nu-tabs{background:var(--field);border-radius:var(--r-ctl);padding:3px}
.nu-tabs button{border-radius:9px;display:flex;justify-content:center;gap:7px;align-items:center;padding:9px 4px;white-space:nowrap;min-width:0;color:var(--muted)}
.nu-tabs button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line)}
.nu-left{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-card)}
.nu-left svg.i{color:var(--gold);width:20px;height:20px}
.nu-left b{color:var(--ink)}
.nu-left .muted{color:var(--muted)}
.nu-mtype button,.nu-goals button,.nu-pace button,.preset{border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.nu-mtype button svg.i,.nu-gi svg.i{width:22px;height:22px;color:var(--muted)}
.nu-mtype button[aria-pressed="true"],.nu-goals button[aria-pressed="true"],.nu-pace button[aria-pressed="true"],.preset[aria-pressed="true"]{background:var(--g-bg);color:var(--ink);border-color:var(--gold)}
.nu-mtype button[aria-pressed="true"] svg.i,.nu-goals button[aria-pressed="true"] svg.i,.nu-pace button[aria-pressed="true"] svg.i{color:var(--gold)}
.nu-mk .em svg.i{width:20px;height:20px;color:var(--muted)}
/* plats : initiales sobres à la place des émojis */
.dish-ic{background:var(--field);color:var(--ink);border-radius:12px;width:44px;height:44px;font-size:14px;font-weight:700;letter-spacing:.06em}
.dish-it .em{display:none}
.mchip,.nu-plan div,.pomo-meta div{border-radius:12px;background:var(--field)}
.memtag{background:var(--g-bg);color:var(--g-ink);border-radius:8px}
.recipe{background:var(--field);color:var(--ink);border-radius:12px}
.recipe b{display:flex;align-items:center;gap:6px}
.qty-ed{color:var(--g-ink)}
.mbar{border-radius:3px}
/* chargement : un anneau fin au lieu des émojis */
.load-em{font-size:0;width:28px;height:28px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--gold);animation:spin .9s linear infinite}
.load-msg{font-weight:500;color:var(--muted)}
/* divers */
.check{border-color:var(--line);border-width:1.5px}
.done .check{background:var(--ok);border-color:var(--ok)}
.switch:checked{background:var(--gold)}
.toast{border-radius:12px;padding:10px 16px;font-weight:500}
.toast:has(.toast-act){width:max-content;display:flex;align-items:center;gap:14px;padding:8px 8px 8px 16px}
.toast-act{border:0;background:color-mix(in srgb,var(--bg) 18%,transparent);color:var(--bg);font:inherit;font-weight:700;padding:8px 12px;border-radius:9px;cursor:pointer;touch-action:manipulation;white-space:nowrap}
.sheet{border-radius:20px 20px 0 0}
.sheet-bg{background:rgba(8,8,10,.55)}
.steps li::before,.onb-steps li span,.onb-it .ic,.pw-av{background:var(--field);color:var(--ink)}
.pw-av{border-radius:10px}
.auth-logo{box-shadow:none;border-radius:18px}
.onb-tag{color:var(--ink);font-weight:600}
.onb-dots i.on{background:var(--gold)}
.load-bar i,.pin-dots i.on{background:var(--gold);border-color:var(--gold)}
.more-opts .plus{border-color:var(--line);color:var(--ink)}
.more-opts .plus svg.i{width:14px;height:14px}
.alert,.nu-goalcard,.nu-warn{border-radius:12px}
.gr-tip{border-radius:10px}
.pad button{background:var(--surface);border:1px solid var(--line);box-shadow:none;font-weight:500}
.doc-ic{border-radius:8px}
.priv-ic svg.i{width:20px;height:20px;color:var(--muted)}
.soon-ic svg.i,.pin-ic2 svg.i{width:30px;height:30px;color:var(--muted)}
.nu-mic svg.i{width:16px;height:16px}
.nu-tool{display:inline-flex!important;flex-direction:row;align-items:center;gap:6px;white-space:nowrap}
/* macros : couleurs adoucies */
:root{--m-p:#3F6FB5;--m-c:#B5732F;--m-f:#2F7D5B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--m-p:#8FB0E0;--m-c:#D9A066;--m-f:#7FC2A0}}
:root[data-theme="dark"]{--m-p:#8FB0E0;--m-c:#D9A066;--m-f:#7FC2A0}
.ns-bar svg.i{color:var(--gold)}
#docFolders .pill svg.i{width:15px;height:15px;color:var(--muted)}
/* présentation : sobre, sans animations ludiques */
.onb-big{animation:none;color:var(--gold)}
.onb-big svg{width:44px;height:44px;stroke-width:1.5}
.onb-floats{gap:18px}
.onb-floats span{animation:none;color:var(--muted)}
.onb-floats svg{width:24px;height:24px}
.onb-pop{animation:none}
.onb-grp{color:var(--gold);letter-spacing:.14em}
/* l'ancien choix « couleur / style » n'a plus d'effet */
/* étapes centrées, année → mois actuel, repas à cocher, rappel par activité */
.onb-steps{justify-self:center;margin:0 auto}
.yr-title{border:0;padding:6px 12px;font-size:19px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-family:var(--font)}
.yr-title .yr-ic{font-size:11px;font-weight:600;border:1px solid;border-radius:8px;padding:1px 7px}
.meal-tg{gap:8px;padding:8px 12px 8px 9px}
.meal-tg svg.i{color:var(--muted)}
.meal-tg .tg-box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:800;line-height:1}
.meal-tg[aria-pressed="true"] .tg-box{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}
.meal-tg[aria-pressed="false"]{border-style:dashed;color:var(--muted)}
.rem-box{display:grid;gap:8px;background:var(--field);border-radius:14px;padding:10px 12px}
.rem-h{font-size:13px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:6px}
.rem-h svg.i{color:var(--gold)}
.rem-chips{display:flex;flex-wrap:wrap;gap:6px}
.rem-chips .pill{font-size:13px;padding:6px 10px}
.rem-on{justify-self:start;padding:8px 14px;display:inline-flex;align-items:center;gap:6px}
.na-box{justify-items:center;text-align:center;gap:12px;padding:26px 20px calc(22px + env(safe-area-inset-bottom,0px))}
.na-ic{width:56px;height:56px;border-radius:16px;background:var(--g-bg);color:var(--gold);display:grid;place-items:center}
.na-ic svg{width:28px;height:28px}
.na-t{font-size:20px;font-weight:600;letter-spacing:-.02em}
.na-box .btn{width:100%;max-width:360px}
/* ===================== v25 : nouvelle structure ===================== */
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.view>.brand{display:none!important}
/* en-tête de module */
.vhead{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;margin:4px 0 0}
.vback{border:0;background:none;color:var(--g-ink);font:600 15px var(--font);display:inline-flex;align-items:center;gap:2px;padding:6px 6px 6px 0;cursor:pointer}
.vback svg{width:18px;height:18px}
.vhead .eyebrow:only-child{margin-top:6px}
/* barre du bas : fixe, collée en bas, pleine largeur, fond opaque (rien ne passe en dessous) */
nav{left:0;right:0;bottom:0;transform:none;width:auto;border:0;border-top:1px solid var(--line);border-radius:0;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
nav .in{max-width:520px;margin:0 auto}
nav .in{display:flex!important;align-items:center;justify-content:space-between;grid-template-columns:none!important}
nav .tab{flex:1;padding:6px 0 4px;gap:3px;font-size:10px;color:var(--muted)}
nav .tab .tab-l{font-size:11px;font-weight:600;letter-spacing:.01em}
nav .tab[aria-current="page"]{color:var(--ink)}
nav .tab svg{width:22px;height:22px}
.dv-seg{display:flex;gap:6px;margin:4px 0 10px}
.dc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.dc-top b{font-size:16px}
.dc-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.dc-g i{font:600 11px var(--font);color:var(--muted);font-style:normal;padding-bottom:2px}
.dc-d{position:relative;aspect-ratio:1;border:0;border-radius:10px;background:var(--bg);color:var(--muted);font:500 13px var(--font);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;padding:0}
.dc-d:disabled{cursor:default;opacity:.55}
.dc-d b{font-size:10px;line-height:1;font-weight:700}
.dc-d.lv1{background:color-mix(in srgb,var(--accent) 22%,var(--bg));color:var(--ink)}
.dc-d.lv2{background:color-mix(in srgb,var(--accent) 42%,var(--bg));color:var(--ink)}
.dc-d.lv3{background:color-mix(in srgb,var(--accent) 66%,var(--bg));color:var(--on-accent)}
.dc-d.lv4{background:var(--accent);color:var(--on-accent)}
.dc-d.td{outline:2px solid var(--ink);outline-offset:-2px}
.dc-d[aria-pressed="true"]{box-shadow:0 0 0 3px var(--gold)}
body.todo-dragging #todoCats{position:sticky;top:calc(env(safe-area-inset-top) + 8px);z-index:30;background:var(--bg);padding-block:6px;box-shadow:0 6px 12px -8px rgba(0,0,0,.4)}
#todoCats .pill.drop{background:var(--accent);color:var(--on-accent);border-color:var(--accent);transform:scale(1.06)}
.nf-ical{display:flex;align-items:center;gap:8px;margin:10px 4px 0;font-size:13px;color:var(--muted);cursor:pointer}
.nf-ical input{width:18px;height:18px;accent-color:var(--accent);margin:0}
.pw-field{position:relative;display:block}
.mic-field{display:flex;gap:8px;align-items:center}.mic-field input{flex:1;min-width:0}.mic-field .nu-mic{flex:none;align-self:stretch}
.pw-field input{padding-right:46px}
.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:none;color:var(--muted);display:grid;place-items:center;cursor:pointer;border-radius:10px}
.pw-eye svg{width:20px;height:20px}
.linkbtn{border:0;background:none;color:var(--accent);font:600 14px var(--font);padding:6px;cursor:pointer;justify-self:center}
/* v29 : ambiances de couleurs (Réglages > Apparence > Couleurs) */
:root[data-palette="saphir"] body{--gold:#2F5DA8;--g-bg:#E6ECF6;--g-ink:#2B4C85;--on-gold:#ffffff}
@media (prefers-color-scheme:dark){:root[data-palette="saphir"]:not([data-theme="light"]) body{--g-strong:#8FB3EA;--gold:#8FB3EA;--g-bg:#1A2130;--g-ink:#A9C3EE;--on-gold:#0E0F11}}
:root[data-palette="saphir"][data-theme="dark"] body{--g-strong:#8FB3EA;--gold:#8FB3EA;--g-bg:#1A2130;--g-ink:#A9C3EE;--on-gold:#0E0F11}
:root[data-palette="emeraude"] body{--gold:#2F7A5B;--g-bg:#E3EFE8;--g-ink:#245F47;--on-gold:#ffffff}
@media (prefers-color-scheme:dark){:root[data-palette="emeraude"]:not([data-theme="light"]) body{--g-strong:#86C6A4;--gold:#86C6A4;--g-bg:#18241F;--g-ink:#A3D6BA;--on-gold:#0E0F11}}
:root[data-palette="emeraude"][data-theme="dark"] body{--g-strong:#86C6A4;--gold:#86C6A4;--g-bg:#18241F;--g-ink:#A3D6BA;--on-gold:#0E0F11}
:root[data-palette="bordeaux"] body{--gold:#9B3550;--g-bg:#F3E4E8;--g-ink:#7C2A41;--on-gold:#ffffff}
@media (prefers-color-scheme:dark){:root[data-palette="bordeaux"]:not([data-theme="light"]) body{--g-strong:#E0A3B4;--gold:#E0A3B4;--g-bg:#2A1A1F;--g-ink:#EBBBC8;--on-gold:#0E0F11}}
:root[data-palette="bordeaux"][data-theme="dark"] body{--g-strong:#E0A3B4;--gold:#E0A3B4;--g-bg:#2A1A1F;--g-ink:#EBBBC8;--on-gold:#0E0F11}
:root[data-palette="platine"] body{--gold:#55585F;--g-bg:#E9E9E7;--g-ink:#3E4046;--on-gold:#ffffff}
@media (prefers-color-scheme:dark){:root[data-palette="platine"]:not([data-theme="light"]) body{--g-strong:#C9CCD3;--gold:#C9CCD3;--g-bg:#202226;--g-ink:#D9DBE0;--on-gold:#0E0F11}}
:root[data-palette="platine"][data-theme="dark"] body{--g-strong:#C9CCD3;--gold:#C9CCD3;--g-bg:#202226;--g-ink:#D9DBE0;--on-gold:#0E0F11}
.pals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.pal{border:0;background:none;padding:4px 0;display:grid;justify-items:center;gap:6px;cursor:pointer;color:var(--muted);font:600 11px var(--font)}
.pal-dot{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--pb) 0 50%,var(--pa) 50% 100%);box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;color:#fff}
.pal-dot svg{width:18px;height:18px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}
.pal[aria-pressed="true"]{color:var(--ink)}.pal[aria-pressed="true"] .pal-dot{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--pa)}
.pal-n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* v29 : mois repliables dans l'Agenda */
.mfold{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:0 4px;margin:20px 0 8px;cursor:pointer;color:var(--muted);font:600 12px var(--font);text-transform:uppercase;letter-spacing:.14em;text-align:left}
.mf-chev{display:grid;place-items:center;width:18px;height:18px;transition:transform .2s;transform:rotate(-90deg)}.mf-chev svg{width:14px;height:14px}
.mfold[aria-expanded="true"] .mf-chev{transform:none}
.mf-n{font-variant-numeric:tabular-nums;letter-spacing:0;background:var(--field);border-radius:99px;padding:2px 8px;font-size:11px}
.mfold-all{display:flex;justify-content:flex-end;margin:6px 0 -12px}
/* v29 : page figée derrière une fenêtre ouverte */
html.modal-open,html.modal-open body{overflow:hidden;overscroll-behavior:none}
html.modal-open body{position:fixed;left:0;right:0;width:100%}
.sheet-bg{overscroll-behavior:contain;top:var(--vvt,0px);bottom:auto;height:var(--vvh,100%)}
.sheet-bg .sheet{max-height:calc(var(--vvh,100vh) - 16px)}
.sheet-bg .sheet{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

/* v29 : clavier du code des Documents dans la page */
.pin-host{padding:18px 0 8px}
.pad button.del{border:0!important;background:none!important;box-shadow:none!important;font-size:15px!important;font-weight:600;color:var(--accent)}
.pin-host .pin{padding-top:0}
/* v29 : plus épuré (téléphone et ordinateur) : textes et marges un peu plus petits (les champs restent à 16 px pour éviter le zoom d'iOS) */
@media all{
  html,body{font-size:15px}
  main{padding:8px 14px calc(88px + env(safe-area-inset-bottom,0px))}
  input,select,textarea{padding:9px 12px}
  .view>h1,#notesList>h1{font-size:27px!important;margin:4px 2px 10px!important}
  h1{font-size:27px}
  .home-hello{font-size:30px!important;margin:4px 2px 14px!important}
  h2{font-size:11px;margin:18px 4px 7px}
  .sub{font-size:14px;margin-bottom:12px}
  .row{padding:10px 14px;min-height:46px;gap:10px}
  .btn{padding:10px 15px;font-size:15px}
  .pill{padding:6px 10px;font-size:13px}
  .mini{padding:6px 10px;font-size:12px}
  .sp-row,.qa-it{padding:12px 14px;font-size:15px}
  .hm-next{padding:14px}.hm-next b{font-size:17px}
  .hm-tile{padding:10px}.hm-tile b{font-size:19px}
  .hm-row{padding:11px 14px}
  .ttl{font-size:15px}
  .date{font-size:12px}
  .card{border-radius:14px}
  nav .tab{padding:5px 0 3px}
  nav .tab svg{width:20px;height:20px}
  nav .tab .tab-l{font-size:11px}
  .vseg button{font-size:13px;padding:6px 10px}
  .eyebrow{font-size:10px}
  .pad{grid-template-columns:repeat(3,62px);gap:12px 28px}
  .pad button{width:62px;height:62px;font-size:26px}
}
textarea.autogrow{display:block;width:100%;min-height:64px;resize:none;font:16px/1.4 var(--font);color:var(--ink);background:var(--field);border:1px solid transparent;border-radius:var(--r-ctl);padding:10px 12px;overflow:hidden}
textarea.autogrow:focus{outline:none;border-color:var(--gold);background:var(--surface)}
.auth-langs{display:inline-flex;gap:2px}.auth-langs .linkbtn{padding:4px 6px;font-size:13px;color:var(--muted)}.auth-langs .linkbtn[aria-pressed="true"]{color:var(--ink);font-weight:700}
.home-acts{display:flex;align-items:center;gap:10px}
.home-add{width:38px;height:38px;border-radius:13px;border:0;background:var(--gold);color:var(--on-gold);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.home-add svg{width:20px;height:20px}.home-add:active{transform:scale(.94)}
.vseg{display:flex;gap:4px;margin-top:8px;padding:3px;border-radius:12px;background:var(--surface);border:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.vseg::-webkit-scrollbar{display:none}
.vseg button{flex:1 0 auto;border:0;background:none;color:var(--muted);font:600 14px var(--font);padding:7px 12px;border-radius:9px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.vseg button[aria-selected="true"]{background:var(--bg);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.dock-add{flex:none;width:48px;height:48px;border-radius:16px;border:0;background:var(--gold);color:var(--on-gold);display:grid;place-items:center;cursor:pointer;margin:0 6px;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.dock-add svg{width:24px;height:24px}
.dock-add:active{transform:scale(.95)}
main{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
.toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
/* Aujourd'hui */
.home-top{display:flex;align-items:center;justify-content:space-between;margin:10px 2px 0}
.avatar{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--field);color:var(--ink);font:700 13px var(--font);letter-spacing:.04em;cursor:pointer}
.home-hello{font-size:36px!important;margin:6px 2px 18px!important}
.hm-next{display:grid;gap:4px;text-align:left;width:100%;padding:16px;cursor:pointer;color:var(--ink);font:inherit;border-color:color-mix(in srgb,var(--gold) 45%,var(--line))!important;background:linear-gradient(0deg,var(--surface),var(--surface))}
.hm-next .eyebrow{color:var(--gold)}
.hm-next b{font-size:19px;font-weight:600;letter-spacing:-.02em}
.hm-tiles{display:grid;gap:8px;margin-top:10px}
.hm-tile{display:grid;gap:2px;text-align:left;padding:12px;cursor:pointer;color:var(--ink);font:inherit;min-width:0}
.hm-tile b{font-size:22px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-list{display:grid}
.hm-row{display:flex;align-items:center;gap:12px;padding:13px 16px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.hm-row:last-child{border-bottom:0}
.hm-row.is-done{color:var(--muted);text-decoration:line-through}
.hm-time{font-size:13px;font-weight:600;color:var(--gold);width:58px;flex:none;font-variant-numeric:tabular-nums}
.hm-box{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--line);flex:none}
@keyframes hlpulse{0%,60%{background:var(--g-bg);box-shadow:inset 3px 0 0 var(--gold)}100%{background:transparent;box-shadow:inset 3px 0 0 transparent}}
.row.hl{animation:hlpulse 2.4s ease-out}
/* Espaces */
#v-spaces>.eyebrow{display:block;margin:14px 2px 0}
.sp-h{margin:22px 2px 8px}
.sp-card{display:grid}
.sp-row,.qa-it{display:flex;align-items:center;gap:12px;padding:14px 16px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:500 16px var(--font);text-align:left;cursor:pointer}
.sp-row:last-child,.qa-it:last-child{border-bottom:0}
.sp-ic{width:34px;height:34px;border-radius:10px;background:var(--field);display:grid;place-items:center;flex:none;color:var(--ink)}
.sp-ic svg{width:19px;height:19px}
.sp-meta{font-size:13px;color:var(--muted);white-space:nowrap}
.chev-r{width:16px;height:16px;color:var(--muted);flex:none}
/* ajout rapide */
.qa-list{display:grid;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.qa-it b{display:block;font-weight:600}
.qa-it .sp-ic{color:var(--gold)}
/* photos dans les notes */
.note-ph-btn{cursor:pointer;display:inline-flex;align-items:center}
.bio-btn{margin-top:4px;min-width:200px}
.mcp-url{font:13px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;background:var(--field);border:1px solid var(--line);border-radius:10px;padding:10px;user-select:all}
.mcp-steps{margin:0;padding-left:20px;display:grid;gap:4px}
.mcp-it .grow b{display:block;font-weight:600}

.note-ed textarea{min-height:38vh!important}
.note-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.np{aspect-ratio:1;border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:0;background:var(--field);cursor:pointer;display:grid;place-items:center}
.np img{width:100%;height:100%;object-fit:cover;display:block}
.np-load{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--gold);animation:spin .9s linear infinite}
.np-count{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-top:4px}
.lightbox{position:fixed;inset:0;z-index:60;background:rgba(5,5,7,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(env(safe-area-inset-bottom,0px) + 16px);gap:14px}
.lightbox img{max-width:100%;max-height:78vh;border-radius:12px;object-fit:contain}
.lb-bar{display:flex;gap:10px}
.lb-bar .btn.ghost{color:#ECEDEF;box-shadow:inset 0 0 0 1px #3A3D44}
/* barre latérale : ordinateur et tablette (v43 : dès 768 px, masquable : body.side-off) */
.side{display:none}
@media (min-width:768px){
  .side{display:flex;flex-direction:column;gap:2px;position:fixed;top:0;bottom:0;left:0;width:264px;padding:22px 14px;border-right:1px solid var(--line);background:var(--surface);overflow-y:auto;z-index:9}
  .side-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;letter-spacing:-.01em;margin:0 8px 18px}
  .side-brand img{width:28px;height:28px;border-radius:8px}
  .side-h{margin:18px 10px 6px}
  .side-it,.side-add{display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:10px;background:none;color:var(--muted);font:600 14px var(--font);text-align:left;cursor:pointer}
  .side-it .sp-ic,.side-add .sp-ic{width:28px;height:28px;border-radius:8px;background:transparent}
  .side-it:hover{background:var(--field);color:var(--ink)}
  .side-it[aria-current="true"]{background:var(--field);color:var(--ink)}
  .side-it[aria-current="true"] .sp-ic{color:var(--gold)}
  .side-add{color:var(--on-gold);background:var(--gold);margin:6px 0 4px}
  .side-add .sp-ic{color:var(--on-gold)}
  .side .sp-meta{font-size:12px}
  nav{display:none!important}
  main{margin-left:236px;max-width:none;padding:22px 40px 48px}
  main>.view,main>.vhead{max-width:760px;margin-left:auto;margin-right:auto}
  .side{width:236px;padding:18px 12px}
  .side-it,.side-add{padding:7px 10px;font-size:13.5px}
  .side-it .sp-ic,.side-add .sp-ic{width:24px;height:24px}
  .side-h{margin:16px 10px 4px}
  .view>h1,#notesList>h1{font-size:28px!important}
  .card:hover{border-color:color-mix(in srgb,var(--ink) 14%,var(--line))}
  body.locked main{margin-left:0}
  .toast{bottom:24px;left:calc(50% + 118px)}
  .home-hello{font-size:34px!important}
  .home-add{display:none} /* sur ordinateur, « + Ajouter » est dans la barre latérale */
}
body.locked .side{display:none!important}
/* v38 : une note ouverte prend toute la page (téléphone et ordinateur) */
body.note-full{overflow:hidden}
body.note-full #noteEdit{position:fixed;inset:0;z-index:15;background:var(--bg);display:flex;flex-direction:column;overflow-y:auto;
  padding:calc(10px + env(safe-area-inset-top,0px)) 16px calc(14px + env(safe-area-inset-bottom,0px))}
body.note-full .note-ed{flex:1 0 auto;display:flex;flex-direction:column;min-height:60vh}
body.note-full .note-ed textarea{flex:1;min-height:40vh!important}
@media (min-width:900px){body.note-full #noteEdit{padding:24px max(40px,calc((100vw - 1040px)/2)) 32px}}

/* v39 : tâches planifiées */
.vh-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}
.tchip{display:inline-block;font-size:12px;font-weight:600;line-height:1;padding:4px 7px;border-radius:999px;background:var(--field);color:var(--muted);vertical-align:2px;white-space:nowrap}
.tchip.today{background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--gold)}
.tchip.late{background:color-mix(in srgb,var(--warn,#c2410c) 14%,transparent);color:var(--warn,#c2410c)}
.dt-box{padding:6px 0;margin-bottom:12px}
.dt-h{display:flex;align-items:center;gap:8px;padding:6px 16px 8px}.dt-h b{flex:1;display:flex;align-items:center;gap:6px}
.dt-row{display:flex;align-items:center;gap:10px;padding:6px 12px;border-top:1px solid var(--line)}
.dt-row.done .ttl{text-decoration:line-through;color:var(--muted)}
.dt-empty{padding:4px 16px 8px}
.dt-add{padding:6px 12px 4px;border-top:1px solid var(--line)}.dt-add input{border:0;background:none;padding:8px 4px}
.hm-trow{padding:8px 12px}.hm-tt{border:0;background:none;font:inherit;color:inherit;text-align:left;padding:4px 0;cursor:pointer}
.hm-chk{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);background:none;display:grid;place-items:center;color:var(--gold);flex:none;cursor:pointer;padding:0}
.hm-trow.is-done .hm-chk{background:color-mix(in srgb,var(--gold) 16%,transparent);border-color:transparent}
.hm-plan{border-top:1px solid var(--line);padding:10px 0 0}.hm-plan>.small{display:block;padding:0 16px 4px}
/* v39 : notes façon Word */
.note-rt{min-height:50vh;outline:none;font-size:16px;line-height:1.55;padding:4px 0 40px;word-wrap:break-word;overflow-wrap:anywhere;-webkit-user-modify:read-write}
.note-rt.is-empty::before{content:attr(data-ph);color:var(--muted);pointer-events:none;position:absolute}
.note-rt h2{font-size:22px;margin:14px 0 6px;line-height:1.25}.note-rt h3{font-size:18px;margin:12px 0 4px;line-height:1.3}
.note-rt ul,.note-rt ol{margin:4px 0;padding-left:26px}.note-rt li{margin:2px 0}
.note-rt blockquote{margin:8px 0;padding:4px 0 4px 14px;border-left:3px solid var(--gold);color:var(--muted)}
.note-rt hr{border:0;border-top:1px solid var(--line);margin:14px 0}
.note-rt mark{background:color-mix(in srgb,var(--gold) 30%,transparent);color:inherit;border-radius:3px;padding:0 2px}
.note-rt a{color:var(--gold)}
.note-rt ul.chk{list-style:none;padding-left:2px}
.note-rt ul.chk>li{position:relative;padding-left:30px;min-height:24px}
.note-rt ul.chk>li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border:1.6px solid var(--muted);border-radius:6px;cursor:pointer}
.note-rt ul.chk>li[data-c="1"]{color:var(--muted);text-decoration:line-through}
.note-rt ul.chk>li[data-c="1"]::before{background:var(--gold);border-color:var(--gold);box-shadow:inset 0 0 0 3px var(--surface)}
.note-ed{position:relative}
.rt-bar{display:flex;flex-wrap:wrap;gap:4px;padding:6px;margin:0 0 8px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.rt-bar button{min-width:36px;height:34px;padding:0 8px;border:0;border-radius:8px;background:none;color:var(--ink);font:600 15px/1 inherit;cursor:pointer;touch-action:manipulation}
.rt-bar button[aria-pressed="true"]{background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold)}
.rt-mk{background:color-mix(in srgb,var(--gold) 35%,transparent);padding:0 3px;border-radius:3px}
/* v43 : en-tête + barre de mise en forme = un seul bloc collé tout en haut, fond plein jusqu'aux bords :
   plus aucun espace par où le texte de la note défilait au-dessus de la barre */
body.note-full #noteEdit{padding-top:0!important;overflow-x:hidden}
body.note-full .note-top{position:sticky;top:0;z-index:4;background:var(--bg);padding:calc(10px + env(safe-area-inset-top,0px)) 0 8px;margin-bottom:6px}
body.note-full .note-top::before{content:"";position:absolute;top:0;bottom:0;left:-100vw;right:-100vw;background:var(--bg);z-index:-1;border-bottom:1px solid var(--line)}
body.note-full .note-top .rt-bar{margin:0}
@media (min-width:900px){body.note-full .note-top{padding-top:24px}}
body.note-full .note-ed{min-height:auto}
.dict-tmp{background:color-mix(in srgb,var(--gold) 14%,transparent);border-radius:3px}
/* v39 : dossiers de notes */
.nf-form{display:flex;gap:8px;margin:0 0 10px}.nf-form input{flex:1;min-width:0}
.nf-path{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 2px 10px;font-size:14px;color:var(--muted)}
.nf-crumb{border:0;background:none;color:var(--gold);font:inherit;padding:2px 0;cursor:pointer}
.nf-path b{color:var(--ink)}
.nf-row{display:flex;align-items:center;border-bottom:1px solid var(--line)}
.nf-open{flex:1;display:flex;align-items:center;gap:10px;padding:13px 6px 13px 16px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-width:0}
.nf-ic{color:var(--gold);display:inline-flex}.nf-ic .i{width:20px;height:20px}
.nf-in{display:block;margin-top:2px}
.pill.lock{cursor:default;opacity:.85}

/* v39 : Mon IA */
a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}
.ai-card{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:12px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line))}
.ai-card b{display:block;margin-bottom:2px}.ai-card-b{display:flex;align-items:center;gap:4px;flex:none}
.ai-pick{display:grid;gap:8px}
.ai-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.ai-opt[aria-pressed="true"]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.ai-step{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 10px}.ai-step>b{display:block;margin-bottom:4px}
.ai-step .mcp-steps{margin:8px 0 0}
.ai-prompt{background:var(--field);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-top:8px;font-size:15px;line-height:1.45;user-select:all;white-space:pre-wrap}
.ai-acts{display:grid;gap:8px;margin-top:12px}
.ai-wait{display:flex;align-items:center;gap:10px;justify-content:center;padding:12px;margin:0 0 10px;font-size:15px;text-align:center}
.ok{color:var(--good,#2e7d32)}
.spin{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--gold);animation:spin .9s linear infinite;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}
.ai-more{margin:0 0 10px;padding:0 4px}.ai-more summary{cursor:pointer;color:var(--muted);padding:6px 0}
/* v41 : programme de musculation */
.coach-card{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:14px 0 12px}
.coach-card b{display:block}.coach-on{display:block}
.coach-top{display:flex;align-items:flex-start;gap:8px}.coach-top b{font-size:17px;margin:2px 0}
.coach-go{width:100%;margin:12px 0 4px}
.coach-days{display:grid;gap:6px;margin-top:8px}
.coach-day{border:1px solid var(--line);border-radius:12px;padding:0 12px}
.coach-day summary{display:flex;align-items:center;gap:8px;padding:11px 0;cursor:pointer;list-style:none}
.coach-day summary::-webkit-details-marker{display:none}
.coach-ex{margin:0 0 8px;padding-left:20px;display:grid;gap:4px}.coach-ex li span.grow{display:block}
.coach-day .mini{margin:0 0 12px}
.ms-free-h{margin-top:18px}
.coach-form{display:grid;gap:16px}.cf-q{display:grid;gap:8px}
.cf-seg button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;line-height:1.2}
.cf-seg small{font-size:11px;color:var(--muted);font-weight:400}
.wo-sheet{max-height:calc(var(--vvh,100vh) - 24px)}
.wo-ex{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;display:grid;gap:6px}
.wo-h{display:flex;align-items:center;gap:8px}.wo-h .num{width:24px;height:24px;border-radius:50%;background:var(--field);display:grid;place-items:center;font-size:13px;font-weight:700;flex:none}
.wo-hint{color:var(--gold)}
.wo-set{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1fr) 40px;gap:6px;align-items:center}
.wo-set.done .lbl{color:var(--gold);font-weight:700}
.wo-rest{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;margin:0 0 10px;border-radius:12px;background:var(--gold);color:var(--bg);font-weight:700;font-size:17px}
.wo-rest .mini{background:color-mix(in srgb,var(--bg) 20%,transparent);color:inherit}

/* v41 : dossiers de notes plus clairs + glisser-déposer */
.nf-path{display:block;margin:0 0 12px}
.nf-back{display:inline-flex;align-items:center;font-size:17px;font-weight:600;padding:6px 10px 6px 2px;border-radius:10px}
.nf-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-top:4px}
.note-row{display:flex;align-items:stretch;border-bottom:1px solid var(--line)}.note-row:last-child{border-bottom:0}
.note-row .note{flex:1;min-width:0;border-bottom:0}
.ngrip{display:flex;align-items:center;padding:0 2px 0 10px;color:var(--muted);cursor:grab;touch-action:none;flex:none;opacity:.7}
.nf-row .ngrip{padding-left:10px}.nf-row .nf-open{padding-left:6px}
.dragging{opacity:.4}
.drop{background:color-mix(in srgb,var(--gold) 18%,transparent)!important;outline:2px solid var(--gold);outline-offset:-2px;border-radius:12px}

/* v41 : barre façon Word */
.rt-bar{align-items:center;gap:2px;flex-wrap:wrap}
.rt-bar button{display:inline-flex;align-items:center;gap:3px;min-width:34px;justify-content:center}
.rt-bar b,.rt-bar i,.rt-bar u{font-size:17px}.rt-aa{font-size:15px;font-weight:600}
.rt-ch{opacity:.6}.rt-sep{width:1px;height:22px;background:var(--line);margin:0 4px}
.rt-hlbar{stroke:#e8c547}.rt-tcbar{stroke:#d64545}
.rt-pop{position:fixed;z-index:35;min-width:190px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.22);display:grid}
.rt-pop button{display:flex;align-items:center;gap:10px;padding:11px 12px;border:0;border-radius:10px;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}
.rt-pop button:hover{background:var(--field)}
.rt-sw{width:16px;height:16px;border-radius:5px;border:1px solid var(--line);display:inline-block;background:transparent}
[data-sw="hl:y"] .rt-sw,.note-rt mark[data-hl="y"],.note-rt mark:not([data-hl]){background:#fde68a}
[data-sw="hl:g"] .rt-sw,.note-rt mark[data-hl="g"]{background:#bbf7d0}
[data-sw="hl:b"] .rt-sw,.note-rt mark[data-hl="b"]{background:#bfdbfe}
[data-sw="hl:p"] .rt-sw,.note-rt mark[data-hl="p"]{background:#fbcfe8}
.note-rt mark{color:#111}
[data-sw="tc:r"] .rt-sw,.note-rt span[data-tc="r"]{color:#dc2626;background-color:transparent}[data-sw="tc:r"] .rt-sw{background:#dc2626}
[data-sw="tc:o"] .rt-sw{background:#ea580c}.note-rt span[data-tc="o"]{color:#ea580c}
[data-sw="tc:g"] .rt-sw{background:#16a34a}.note-rt span[data-tc="g"]{color:#16a34a}
[data-sw="tc:b"] .rt-sw{background:#2563eb}.note-rt span[data-tc="b"]{color:#2563eb}
[data-sw="tc:v"] .rt-sw{background:#7c3aed}.note-rt span[data-tc="v"]{color:#7c3aed}
[data-sw="tc:none"] .rt-sw{background:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .note-rt span[data-tc="r"]{color:#f87171}:root:not([data-theme="light"]) .note-rt span[data-tc="b"]{color:#60a5fa}:root:not([data-theme="light"]) .note-rt span[data-tc="v"]{color:#a78bfa}}
:root[data-theme="dark"] .note-rt span[data-tc="r"]{color:#f87171}:root[data-theme="dark"] .note-rt span[data-tc="b"]{color:#60a5fa}:root[data-theme="dark"] .note-rt span[data-tc="v"]{color:#a78bfa}

/* v42 : suppression en deux temps (1er appui → « Confirmer ? » en rouge, 3 s) */
[data-c2]{background:var(--late)!important;color:#fff!important;border-color:var(--late)!important;width:auto!important;min-width:0!important;padding-inline:12px!important;border-radius:999px!important;font-size:13px!important;font-weight:700!important;white-space:nowrap}
.act-it[data-c2]{border-radius:12px!important;font-size:16px!important}
.x.trash .i{width:20px;height:20px}
/* v42 : questionnaire musculation, recherche d'exercices imposés / exclus, repos modifiable */
.cf-pick .search{width:100%;margin-top:8px}
.cf-res{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.cf-hit{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer}
.cf-hit small{color:var(--muted);font-size:12px;margin-top:2px}
.cf-sel{margin-top:6px}.cf-sel:empty{display:none}
.cf-chip{display:inline-flex;align-items:center;gap:4px;padding-right:4px}.cf-chip .x{width:24px;height:24px;font-size:16px}
.co-rest{font-size:inherit;padding:0;text-decoration:underline dotted;text-underline-offset:3px}

/* v44.2 : anneau des calories (Nutrition) ; il partageait les styles de l'ancien chrono, retirés en v44 */
.nu-ring{position:relative;flex:none}
.nu-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.nu-ring .bgc{stroke:var(--line)}
.nu-ring .fgc{stroke:var(--pc);transition:stroke-dashoffset .25s linear,stroke .2s}
.nu-ring-txt{position:absolute;inset:0;display:grid;place-items:center}
@media (prefers-reduced-motion:reduce){.nu-ring .fgc{transition:none}}

/* v44.5 : barre du bas collée en bas (bottom:0). Le calage sur visualViewport (44.4) se faussait pendant le rebond d'iOS
   (page tirée vers le bas en haut de l'écran) et la barre restait au milieu : retiré. La page ne rebondit plus (overscroll-behavior),
   et la barre est masquée pendant la saisie (clavier ouvert). */
html,body{overscroll-behavior:none}
nav{top:auto;bottom:0;transform:none}
html.kb-open nav{visibility:hidden}
.note-row .note-more{align-self:center;flex:none;margin-left:4px}
