@font-face{font-family:"YS Serif";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/notoserifsc-500.woff2") format("woff2")}
@font-face{font-family:"YS Serif";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/notoserifsc-700.woff2") format("woff2")}
@font-face{font-family:"YS Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/atkinson-400.woff2") format("woff2")}
@font-face{font-family:"YS Sans";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/atkinson-700.woff2") format("woff2")}
/* Carnet Yang Sheng : styles de l'appli */
:root{
  --bg:#ECF0ED;--surface:#FFFFFF;--sunk:#DFE6E2;--ink:#18201D;--muted:#56635E;--line:#D3DCD7;
  --cin:#A5382A;--cin-bg:#F6E3DF;--jade:#256650;--jade-bg:#DCEEE6;--och:#8A5A10;--och-bg:#F5E8D0;--done:#8A9791;
  --seal:#B0392A;--seal-ink:#FFF7F3;--shadow:rgba(24,32,29,.10);--warn:#8C3B12;--warn-bg:#FBEBDD;
  --serif:"YS Serif","Noto Serif SC","Songti SC","STSong","Source Han Serif SC",Georgia,serif;
  --sans:"YS Sans","Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --tabs-h:64px;--fs:1;
}
:root[data-fs="l"]{--fs:1.12}
:root[data-fs="xl"]{--fs:1.25}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0F1412;--surface:#18201D;--sunk:#0A0E0C;--ink:#E6ECE8;--muted:#9AA8A2;--line:#2B3632;
    --cin:#E8846F;--cin-bg:#3A231E;--jade:#74C8A7;--jade-bg:#16332A;--och:#E3AA56;--och-bg:#3A2B13;--done:#5F6D67;
    --seal:#C4503E;--seal-ink:#FFF3EE;--shadow:rgba(0,0,0,.45);--warn:#F0A774;--warn-bg:#3A2415;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0F1412;--surface:#18201D;--sunk:#0A0E0C;--ink:#E6ECE8;--muted:#9AA8A2;--line:#2B3632;
  --cin:#E8846F;--cin-bg:#3A231E;--jade:#74C8A7;--jade-bg:#16332A;--och:#E3AA56;--och-bg:#3A2B13;--done:#5F6D67;
  --seal:#C4503E;--seal-ink:#FFF3EE;--shadow:rgba(0,0,0,.45);--warn:#F0A774;--warn-bg:#3A2415;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:calc(16px*var(--fs,1));line-height:1.5;-webkit-tap-highlight-color:transparent}
.standalone body{padding-top:env(safe-area-inset-top,0px)}
main{max-width:560px;margin-inline:auto;padding-inline:16px;padding-block:20px calc(var(--tabs-h) + 96px + env(safe-area-inset-bottom,0px))}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
h1,h2,h3{text-wrap:balance}

/* En-têtes de section */
.mast{display:flex;gap:14px;align-items:center}
.seal{flex:none;width:46px;height:82px;border-radius:5px;background:var(--seal);color:var(--seal-ink);font-family:var(--serif);font-weight:700;font-size:25px;line-height:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;box-shadow:inset 0 0 0 3px var(--seal),inset 0 0 0 4.5px var(--seal-ink)}
.mast h1,.vh{font-family:var(--serif);font-weight:700;font-size:calc(30px*var(--fs,1));line-height:1.15;margin:0}
.lede{margin:4px 0 0;color:var(--muted);font-size:calc(15px*var(--fs,1));max-width:44ch}
.tools{display:grid;gap:10px;margin-top:22px}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;background:var(--sunk);border-radius:12px}
.seg button{border:0;background:transparent;color:var(--muted);font-weight:700;font-size:calc(15px*var(--fs,1));border-radius:9px;min-height:42px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px var(--shadow)}
.seg .n{font-weight:400;font-variant-numeric:tabular-nums}
.find{position:relative;display:block}
.find input{width:100%;font:inherit;font-size:calc(16px*var(--fs,1));color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;min-height:46px;padding:10px 14px 10px 42px;-webkit-appearance:none;appearance:none}
.find input::placeholder{color:var(--muted)}
.find input:focus{outline:2px solid var(--jade);outline-offset:0;border-color:var(--jade)}
.find svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none}

/* Chronologie */
.month{display:flex;align-items:center;gap:10px;margin:28px 0 0;font-size:calc(13px*var(--fs,1));font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.month::after{content:"";flex:1;height:1px;background:var(--line)}
.day{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;margin-top:14px}
.date{display:flex;flex-direction:column;align-items:center;padding-top:10px}
.date .d{font-family:var(--serif);font-weight:700;font-size:calc(28px*var(--fs,1));line-height:1;font-variant-numeric:tabular-nums}
.date .w{font-size:calc(12px*var(--fs,1));color:var(--muted);margin-top:5px}
.entries{display:grid;gap:10px}
.entry{--ac:var(--jade);--acbg:var(--jade-bg);display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 14px 14px 16px;cursor:pointer;transition:border-color .15s,transform .1s}
.entry.recette{--ac:var(--och);--acbg:var(--och-bg)}
.entry:hover{border-color:var(--ac)}
.entry:active{transform:scale(.99)}
.entry .txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.kind{font-size:calc(12px*var(--fs,1));font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ac)}
.etitle{font-size:calc(18px*var(--fs,1));font-weight:700;line-height:1.3}
.emeta{font-size:calc(14px*var(--fs,1));color:var(--muted);font-variant-numeric:tabular-nums}
.ematch{font-size:calc(14px*var(--fs,1));font-weight:700;color:var(--ac)}
.emiss{font-size:calc(13px*var(--fs,1));color:var(--muted)}
.eprin{font-family:var(--serif);font-weight:500;writing-mode:vertical-rl;font-size:calc(19px*var(--fs,1));line-height:1.05;letter-spacing:.06em;color:var(--ac)}
.live{display:inline-block;margin-left:6px;padding:0 8px;border-radius:999px;background:var(--acbg);color:var(--ac);font-size:calc(12px*var(--fs,1));font-weight:700;letter-spacing:0;text-transform:none}
.msg{margin:28px 0 0;padding:18px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}
.results-h{margin:28px 0 12px;font-size:calc(19px*var(--fs,1));font-weight:700}

/* Puces de sélection */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chip{--ac:var(--jade);--acbg:var(--jade-bg);border:1.5px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;min-height:42px;font-size:calc(15px*var(--fs,1));font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.chips.och .chip{--ac:var(--och);--acbg:var(--och-bg)}
.chip[aria-pressed="true"]{background:var(--acbg);border-color:var(--ac);color:var(--ac)}
.chip[aria-pressed="true"]::before{content:"✓";font-size:calc(14px*var(--fs,1))}
.linkbtn{background:none;border:0;padding:8px 0;min-height:40px;color:var(--muted);font-size:calc(14px*var(--fs,1));text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.alert{margin-top:18px;background:var(--warn-bg);color:var(--ink);border-radius:14px;padding:14px 16px}
.alert h2{margin:0 0 6px;font-size:calc(16px*var(--fs,1));color:var(--warn)}
.alert ul{margin:0;padding-left:18px}
.alert li{margin:0 0 6px;font-size:calc(14px*var(--fs,1));line-height:1.45}
.alert li b{color:var(--warn)}
.fine{margin:14px 0 0;font-size:calc(13px*var(--fs,1));color:var(--muted)}

/* Fiche ouverte */
.fiche{--ac:var(--jade);--acbg:var(--jade-bg)}
.fiche.recette{--ac:var(--och);--acbg:var(--och-bg)}
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-inline:-16px;margin-top:-20px;padding:4px 16px;background:var(--bg);box-shadow:0 1px 0 var(--line)}
.back{border:0;background:none;cursor:pointer;font-weight:700;font-size:calc(16px*var(--fs,1));min-height:44px;display:inline-flex;align-items:center;gap:6px;padding:0 12px 0 0}
.back span{font-size:calc(26px*var(--fs,1));line-height:1;margin-top:-3px}
.dhead{padding-top:18px}
.eyebrow{margin:0;font-size:calc(13px*var(--fs,1));font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.dtitle{font-family:var(--serif);font-weight:700;font-size:calc(28px*var(--fs,1));line-height:1.2;margin:6px 0 0}
.ctx{margin:8px 0 0;color:var(--muted);max-width:60ch}
.for{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.for span{font-size:calc(13px*var(--fs,1));font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.prin{display:flex;align-items:center;gap:14px;margin-top:14px;padding:12px 14px;background:var(--acbg);border-radius:12px}
.prin .pz{font-family:var(--serif);font-weight:500;font-size:calc(26px*var(--fs,1));line-height:1.1;letter-spacing:.06em;color:var(--ac);flex:none}
.prin .pp{display:flex;flex-direction:column;min-width:0}
.prin .pp b{font-size:calc(15px*var(--fs,1))}
.prin .pp span{font-size:calc(14px*var(--fs,1));color:var(--muted);line-height:1.4}
.sum{margin-top:18px}
.sum p{margin:0;color:var(--muted)}
.hrow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}
.count{font-weight:700;font-variant-numeric:tabular-nums}
.ghost{background:none;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:calc(14px*var(--fs,1));cursor:pointer;min-height:40px}
.phase{margin:26px 0 12px;font-size:calc(19px*var(--fs,1));font-weight:700}
.phase.d{color:var(--cin)}.phase.t{color:var(--jade)}.phase.w{color:var(--och)}
.sec{margin:28px 0 12px;font-size:calc(19px*var(--fs,1));font-weight:700}

/* Points */
.pt{--ac:var(--cin);--acbg:var(--cin-bg);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 14px 10px;margin:0 0 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px}
.pt.t{--ac:var(--jade);--acbg:var(--jade-bg)}
.pt.w{--ac:var(--och);--acbg:var(--och-bg)}
.pt.running{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac)}
.pt>*{grid-column:1}
.meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.num{width:28px;height:28px;border-radius:50%;background:var(--acbg);color:var(--ac);display:grid;place-items:center;font-weight:700;font-size:calc(14px*var(--fs,1));flex:none}
.ab{font-weight:700;color:var(--ac);font-size:calc(15px*var(--fs,1))}
.pt .pt-zh{grid-column:2;grid-row:1 / span 4;font-family:var(--serif);font-weight:500;writing-mode:vertical-rl;font-size:calc(32px*var(--fs,1));line-height:1.1;letter-spacing:.06em;align-self:start;padding-top:2px}
.pt-py{font-size:calc(21px*var(--fs,1));line-height:1.25;margin:6px 0 0;font-weight:700}
.loc,.act{margin:6px 0 0;font-size:calc(15px*var(--fs,1));line-height:1.45}
.loc{color:var(--muted)}
.k{font-weight:700;color:var(--ink);margin-right:5px}
.tech{grid-column:1 / -1;justify-self:start;margin:12px 0 0;display:inline-flex;align-items:center;gap:8px;background:var(--acbg);color:var(--ac);border-radius:14px;padding:6px 14px 6px 10px;font-size:calc(14px*var(--fs,1));font-weight:700;line-height:1.35}
.tech .ic{font-size:calc(19px*var(--fs,1));line-height:1;flex:none}
.pt.done .pt-zh,.pt.done .pt-py{color:var(--done)}

/* Minuteurs */
.timer{grid-column:1 / -1;margin-top:12px;position:relative;overflow:hidden;width:100%;min-height:62px;border:1.5px solid var(--ac);border-radius:12px;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;cursor:pointer;text-align:left}
.timer::before{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--p,0) * 100%);background:var(--acbg);transition:width .2s linear}
.timer>*{position:relative}
.timer:focus-visible{outline-color:var(--ac)}
.lab{display:flex;flex-direction:column}
.lab .s{font-weight:700;font-size:calc(16px*var(--fs,1))}
.lab .h{font-size:calc(13px*var(--fs,1));color:var(--muted)}
.time{font-size:calc(30px*var(--fs,1));font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.done .timer{border-color:var(--line)}
.foot{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.dots{display:flex;gap:6px}
.dot{font-size:calc(13px*var(--fs,1));padding:3px 11px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.dot.ok{background:var(--ac);border-color:var(--ac);color:var(--surface)}
.redo{background:none;border:none;color:var(--muted);font-size:calc(13px*var(--fs,1));text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px 0;min-height:36px}
.note{color:var(--muted);font-size:calc(14px*var(--fs,1));margin:14px 0 0}
.rule{background:var(--och-bg);color:var(--och);border-radius:12px;padding:10px 14px;font-weight:700;font-size:calc(14px*var(--fs,1));margin:14px 0 0;line-height:1.45}
.prod{list-style:none;padding:0;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.prod li{padding:12px 14px;border-top:1px solid var(--line);font-size:calc(15px*var(--fs,1));line-height:1.45}
.prod li:first-child{border-top:0}
.prod b{display:block;font-size:calc(16px*var(--fs,1));margin-bottom:2px}
.prod span{color:var(--muted)}

/* Recettes */
.device{margin:14px 0 0;font-size:calc(14px*var(--fs,1));color:var(--muted)}
.serv{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px 8px 8px 16px}
.serv-l{font-weight:700}
.stepper{display:flex;align-items:center;gap:8px}
.stepper button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--och);background:transparent;color:var(--och);font-size:calc(22px*var(--fs,1));line-height:1;cursor:pointer;display:grid;place-items:center}
.stepper button:disabled{border-color:var(--line);color:var(--done);cursor:default}
.stepper output{min-width:2ch;text-align:center;font-size:calc(22px*var(--fs,1));font-weight:700;font-variant-numeric:tabular-nums}
.ing{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.ing li{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:12px;padding:11px 16px;border-top:1px solid var(--line);line-height:1.4}
.ing li:first-child{border-top:0}
.ing .q{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;color:var(--och)}
.ing small{display:block;color:var(--muted);font-size:calc(13px*var(--fs,1));margin-top:2px}
.ing .have{color:var(--jade);font-weight:700;font-size:calc(13px*var(--fs,1));margin-left:6px}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.step{--ac:var(--och);--acbg:var(--och-bg);display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}
.step.running{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac)}
.snum{width:30px;height:30px;border-radius:50%;background:var(--och-bg);color:var(--och);display:grid;place-items:center;font-weight:700;font-size:calc(14px*var(--fs,1))}
.step h3{margin:3px 0 0;font-size:calc(17px*var(--fs,1));line-height:1.3}
.step p{margin:6px 0 0;font-size:calc(15px*var(--fs,1))}
.step strong{color:var(--och);font-variant-numeric:tabular-nums}
.step.done h3{color:var(--done)}
.notes{margin:0;padding-left:20px}
.notes li{margin:0 0 6px}

/* Infos */
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:16px}
.card h2{margin:0 0 6px;font-size:calc(17px*var(--fs,1))}
.card p{margin:0 0 8px;font-size:calc(15px*var(--fs,1))}
.card p:last-child{margin-bottom:0}
.primary{border:0;background:var(--jade);color:var(--surface);font-weight:700;border-radius:12px;min-height:46px;padding:0 18px;cursor:pointer;margin-top:6px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:calc(15px*var(--fs,1));margin:0}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}

/* Barre d'onglets */
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
.tabs-in{max-width:560px;margin-inline:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:6px;padding:0 6px;height:var(--tabs-h)}
.tab{border:0;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:clamp(10px,2.8vw,12px);font-weight:700;padding:0;min-width:0}
.tab-l{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}
.tab svg{width:24px;height:24px}
.tab[aria-current="page"]{color:var(--jade)}
.tab[aria-current="page"] .pill{background:var(--jade-bg)}
.tab .pill{display:grid;place-items:center;width:min(52px,100%);height:30px;border-radius:999px;transition:background .15s}

/* Minuteur en cours ailleurs */
.mini{position:fixed;left:0;right:0;bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px));z-index:15;padding:0 16px 10px;display:flex;justify-content:center;pointer-events:none}
.mini-in{pointer-events:auto;width:100%;max-width:528px;display:flex;align-items:center;gap:12px;background:var(--ink);color:var(--bg);border-radius:14px;padding:8px 8px 8px 16px;box-shadow:0 6px 20px var(--shadow)}
.mini-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.mini-t b{font-size:calc(15px*var(--fs,1))}
.mini-t span{font-size:calc(13px*var(--fs,1));opacity:.75}
.mini-time{font-size:calc(22px*var(--fs,1));font-weight:700;font-variant-numeric:tabular-nums}
.mini button{border:0;background:var(--bg);color:var(--ink);font-weight:700;border-radius:10px;min-height:42px;padding:0 14px;cursor:pointer}

/* ---------- v0.2 : symptômes, tableaux, cuisine ---------- */
.seg4{grid-template-columns:repeat(4,minmax(0,1fr))}
.seg4 button{font-size:calc(13.5px*var(--fs,1));flex-direction:column;gap:0;line-height:1.15;padding:4px 2px}
.picked{margin-top:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.picked-h{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700}
.picked .chips{margin-top:6px}
.chips.small{gap:6px;margin-top:10px}
.chips.small .chip{min-height:36px;padding:5px 12px;font-size:calc(14px*var(--fs,1))}
.chip.add{border-style:dashed;color:var(--jade)}
.chip.add::before{content:none}
.chip.sign.key{font-weight:700;border-color:var(--jade)}
.chip.sign{font-weight:400}
details.cat{margin-top:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
details.cat>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;font-weight:700;min-height:52px}
details.cat>summary::-webkit-details-marker{display:none}
details.cat>summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin:-4px 4px 0 auto;flex:none;transition:transform .15s}
details.cat[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
details.cat>summary>span:first-child{flex:1}
details.cat>.chips{margin:0;padding:0 14px 14px}
details.cat>.prose{margin:0;padding:0 16px 16px}
details.pick>.chips{padding:0 14px 6px}
details.pick>.linkbtn,details.pick>.fine{margin:0 16px 12px;display:block}
.subcat{margin:4px 16px 8px;font-size:calc(13px*var(--fs,1));font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.cat-n{min-width:26px;height:26px;padding:0 8px;border-radius:999px;background:var(--jade);color:var(--surface);font-size:calc(13px*var(--fs,1));display:grid;place-items:center;font-variant-numeric:tabular-nums}
.cta-wrap{position:sticky;bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px) + 12px);margin-top:18px;display:flex;justify-content:center;pointer-events:none;z-index:4}
.cta{pointer-events:auto;border:0;background:var(--jade);color:var(--surface);font-weight:700;font-size:calc(16px*var(--fs,1));border-radius:999px;min-height:50px;padding:0 24px;box-shadow:0 6px 18px var(--shadow);cursor:pointer}
.result{display:grid;gap:0}
.result>.entry{border-bottom-left-radius:14px;border-bottom-right-radius:14px}
.verify{margin:-2px 0 0;padding:8px 14px 12px;background:var(--sunk);border-radius:0 0 14px 14px;font-size:calc(13px*var(--fs,1));color:var(--muted);font-weight:700}
.result:has(.verify)>.entry{border-bottom-left-radius:0;border-bottom-right-radius:0}
.verify .chips.small{margin-top:6px}
.match{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}
.force{font-size:calc(12px*var(--fs,1));font-weight:700;padding:2px 10px;border-radius:999px}
.force.forte{background:var(--jade);color:var(--surface)}
.force.moyenne{background:var(--jade-bg);color:var(--jade)}
.force.faible{border:1px solid var(--line);color:var(--muted)}
.entry.tableau{--ac:var(--cin);--acbg:var(--cin-bg)}
.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ghost.wide{width:100%;margin-top:12px}
.org{display:flex;align-items:baseline;gap:10px;margin:28px 0 12px;font-size:calc(19px*var(--fs,1));font-weight:700}
.org-zh{font-family:var(--serif);font-weight:500;color:var(--cin);font-size:calc(22px*var(--fs,1))}
.org-n{margin-left:auto;font-size:calc(13px*var(--fs,1));color:var(--muted);font-weight:400;font-variant-numeric:tabular-nums}
.axe{display:flex;align-items:baseline;gap:10px;margin:24px 0 10px;font-size:calc(17px*var(--fs,1));font-weight:700}
.axe .org-zh{color:var(--och);font-size:calc(19px*var(--fs,1))}
.sub{margin:4px 0 0;color:var(--muted);font-size:calc(15px*var(--fs,1))}
.sub [lang]{font-family:var(--serif);font-size:calc(18px*var(--fs,1));color:var(--ac)}
.hint{margin:-4px 0 10px;color:var(--muted);font-size:calc(14px*var(--fs,1))}
.prose{margin:0;font-size:calc(15.5px*var(--fs,1));line-height:1.55;max-width:62ch}
.bullets{margin:0;padding-left:20px}
.bullets li{margin:0 0 6px;font-size:calc(15px*var(--fs,1))}
.kv.tongue{margin-top:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;grid-template-columns:5em 1fr}
.kv.tongue dd{font-weight:400}
.dual{display:grid;gap:10px}
@media (min-width:520px){.dual{grid-template-columns:1fr 1fr}}
.dual .card{margin:0}
.card h3{margin:0 0 4px;font-size:calc(15px*var(--fs,1))}
.card.good h3{color:var(--jade)}
.card.bad h3{color:var(--cin)}
.bar-r{display:flex;align-items:center;gap:6px}
.star{border:0;background:none;font-size:calc(24px*var(--fs,1));line-height:1;color:var(--och);min-width:44px;min-height:44px;cursor:pointer}
.for{align-items:center}
.for-l{border:0!important;padding-left:0!important;color:var(--ink)!important}
.tag{font:inherit;font-size:calc(13px*var(--fs,1));font-weight:700;padding:5px 12px;border-radius:999px;border:1px solid var(--jade);background:var(--jade-bg);color:var(--jade);cursor:pointer;min-height:32px}
.tag.static{border-color:var(--line);background:none;color:var(--muted);cursor:default}
.flag{grid-column:1 / -1;margin:8px 0 0;font-size:calc(13px*var(--fs,1));font-weight:700;color:var(--cin)}
.flag.soft{color:var(--muted);font-weight:400}
.alert p{margin:0;font-size:calc(14px*var(--fs,1));line-height:1.45}
.alert.soft{background:var(--och-bg)}
.alert.soft h2{color:var(--och)}
.varseg{margin-top:16px}
.varseg button{font-size:calc(13.5px*var(--fs,1));line-height:1.2;padding:6px 4px}
.fiche.tableau{--ac:var(--cin);--acbg:var(--cin-bg)}
/* ---------- v0.3 : suggestions, barre de sélection ---------- */
.ac-wrap{position:relative}
.ac{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:12;display:grid;gap:2px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px var(--shadow);max-height:min(430px,52vh);overflow-y:auto;overscroll-behavior:contain}
.ac-item{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 12px;border:0;border-radius:10px;background:none;text-align:left;cursor:pointer}
.ac-item:first-child{background:var(--sunk)}
.ac-item:focus-visible{background:var(--jade-bg);outline-offset:-2px}
.ac-n{flex:1;min-width:0;font-size:calc(16px*var(--fs,1));font-weight:700;line-height:1.3}
.ac-n mark{background:none;color:var(--jade);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.ac-c{flex:none;max-width:42%;font-size:calc(12.5px*var(--fs,1));line-height:1.25;color:var(--muted);text-align:right}
.ac-ok{flex:none;color:var(--jade);font-weight:700}
.ac-item[aria-selected="true"] .ac-n{color:var(--jade)}
.ac-empty{margin:0;padding:12px;font-size:calc(14px*var(--fs,1));color:var(--muted)}
@media (hover:hover){.ac-item:hover{background:var(--jade-bg)}}
.cta-bar{pointer-events:auto;width:100%;display:flex;align-items:center;gap:6px;padding:8px 8px 8px 16px;background:var(--ink);color:var(--bg);border-radius:16px;box-shadow:0 8px 24px var(--shadow)}
.cta-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.cta-t b{font-size:calc(15px*var(--fs,1))}
.cta-t span{font-size:calc(13px*var(--fs,1));line-height:1.3;opacity:.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cta-x{flex:none;border:0;background:none;color:inherit;opacity:.8;font-size:calc(14px*var(--fs,1));min-height:44px;padding:0 8px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cta-bar .cta{flex:none;min-height:44px;padding:0 16px;font-size:calc(15px*var(--fs,1));box-shadow:none}
.chip{text-align:left}
.chip.rm::before{content:none}
.linkbtn.inline{min-height:0;padding:0;font-size:inherit;vertical-align:baseline}
.verify .chip.add{font-weight:400}
.verify .chip.add.key{font-weight:700;border-style:solid;border-color:var(--jade)}
.chip.rm span{font-size:calc(17px*var(--fs,1));line-height:1;opacity:.7}

/* Tableaux : accès rapide par organe */
.jump{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.jump-b{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:4px 12px 4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:calc(14px*var(--fs,1));font-weight:700;cursor:pointer}
.jump-b span{font-family:var(--serif);font-weight:500;color:var(--cin);font-size:calc(15px*var(--fs,1))}
.grp{scroll-margin-top:12px}
.also{display:grid;gap:6px;margin-top:10px;padding:10px 12px 12px;border:1px dashed var(--line);border-radius:14px}
.also>span{font-size:calc(12px*var(--fs,1));font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.also-b{display:block;width:100%;min-height:40px;padding:6px 0;border:0;background:none;text-align:left;font-size:calc(15px*var(--fs,1));line-height:1.35;cursor:pointer;color:var(--ink)}
.also-b b{display:block;font-size:calc(12px*var(--fs,1));letter-spacing:.06em;text-transform:uppercase;color:var(--cin)}
.org small{display:block;font-size:calc(13px*var(--fs,1));font-weight:400;color:var(--muted);margin-top:1px}
.sec-n{margin-left:8px;padding:2px 10px;border-radius:999px;background:var(--jade-bg);color:var(--jade);font-size:calc(13px*var(--fs,1));font-weight:700;vertical-align:middle}

/* Carnets personnels */
.colls{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.coll{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);font-size:calc(14.5px*var(--fs,1));font-weight:700;cursor:pointer;max-width:100%}
.coll .n{font-size:calc(13px*var(--fs,1));font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums}
.coll.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.coll.on .n{color:inherit;opacity:.75}
.coll.add{border-style:dashed;background:none;color:var(--jade)}
.coll-h{display:flex;align-items:center;justify-content:space-between;gap:12px}
.coll-h h2{margin:0;min-width:0;font-family:var(--serif);font-size:calc(22px*var(--fs,1));line-height:1.25;overflow-wrap:anywhere}
#timeline>.hint:first-child{margin:16px 0 10px}
.masked{margin:26px 0 0;text-align:center;font-size:calc(14px*var(--fs,1));color:var(--muted)}
.masked .linkbtn{margin-left:6px}
.favdot{margin-left:6px;color:var(--och);letter-spacing:0}

/* Appui long et glisser */
[data-lp]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.entry.lifted{transform:scale(1.02);border-color:var(--ac);box-shadow:0 10px 28px var(--shadow);transition:transform .15s,box-shadow .15s,border-color .15s}
.entry.dragging{position:relative;z-index:35;opacity:.9;border-color:var(--ac);box-shadow:0 16px 36px var(--shadow);transition:none}
.sortable .entry{transition:border-color .15s}

/* Onglets de carnets déplaçables */
[data-lpc]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.coll.lifted{transform:scale(1.06);box-shadow:0 8px 20px var(--shadow);transition:transform .15s,box-shadow .15s}
.coll.dragging{position:relative;z-index:6;box-shadow:0 12px 28px var(--shadow);transition:none}
.coll-a{display:flex;gap:8px;flex:none}
.trirow{display:flex;align-items:center;gap:12px}
.trirow>span{flex:none;font-size:calc(14px*var(--fs,1));font-weight:700;color:var(--muted)}
.segt{flex:1;grid-template-columns:repeat(2,minmax(0,1fr))}
.segt button{min-height:38px;font-size:calc(14px*var(--fs,1))}

/* Dépôt dans un carnet pendant un glisser */
.dock{position:fixed;left:0;right:0;top:0;z-index:30;display:flex;flex-direction:column;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 10px) 12px 12px;background:var(--ink);color:var(--bg);box-shadow:0 8px 24px var(--shadow);animation:ys-down .15s ease-out}
.dock-t{margin:0 0 8px;font-size:calc(13px*var(--fs,1));font-weight:700;letter-spacing:.04em;opacity:.8}
.dock-in{width:100%;max-width:560px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.dock-b{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 16px;border:1.5px dashed currentColor;border-radius:999px;font-size:calc(15px*var(--fs,1));font-weight:700;transition:transform .1s,background .1s}
.dock-b.has::before{content:"✓"}
.dock-b.new{opacity:.85}
.dock-b.over{background:var(--jade);border-color:var(--jade);border-style:solid;color:var(--surface);transform:scale(1.08)}
@keyframes ys-down{from{transform:translateY(-100%)}}

/* Sélection multiple */
.selecting .entry{position:relative;padding-left:54px}
.selecting .entry::before{content:"";position:absolute;left:16px;top:50%;width:24px;height:24px;margin-top:-12px;border:2px solid var(--line);border-radius:7px;background:var(--surface);display:grid;place-items:center;font-size:calc(15px*var(--fs,1));line-height:1;color:var(--surface)}
.selecting .entry[aria-pressed="true"]{border-color:var(--jade);box-shadow:0 0 0 1px var(--jade)}
.selecting .entry[aria-pressed="true"]::before{content:"✓";background:var(--jade);border-color:var(--jade)}
.selbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:7;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px -16px 12px;padding:6px 16px;background:var(--bg);box-shadow:0 1px 0 var(--line)}
.selbar .linkbtn{color:var(--jade);font-weight:700}
.seln{flex:1;text-align:center;font-size:calc(14px*var(--fs,1));font-weight:700}
.primary.sm{min-height:40px;margin-top:0;padding:0 14px}
.selact{position:sticky;bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px) + 12px);z-index:7;margin-top:18px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;padding:6px;background:var(--ink);border-radius:16px;box-shadow:0 8px 24px var(--shadow)}
.selact button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;padding:4px 2px;border:0;border-radius:12px;background:none;color:var(--bg);font-size:calc(13px*var(--fs,1));font-weight:700;cursor:pointer}
.selact button span{font-size:calc(19px*var(--fs,1));line-height:1}
.selact button:disabled{opacity:.4;cursor:default}
.selact [data-selact="rm"]{color:var(--cin-bg)}
body:has(.selact) .toast{bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px) + 90px)}
.sheet-row:disabled{opacity:.45;cursor:default}

/* Compte */
.accrow{display:flex;justify-content:flex-end;margin:-6px 0 8px}
.accbtn{display:inline-flex;align-items:center;gap:8px;max-width:70%;min-height:40px;padding:4px 14px 4px 4px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:calc(14px*var(--fs,1));font-weight:700;cursor:pointer}
.accbtn .acc-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accbtn:not(:has(.avatar)){padding-left:14px;color:var(--jade);border-color:var(--jade)}
.avatar{flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover;display:inline-grid;place-items:center;background:var(--jade-bg);color:var(--jade);font-weight:700;font-size:calc(18px*var(--fs,1))}
.avatar.sm{width:32px;height:32px;font-size:calc(14px*var(--fs,1))}
.avatar.big{width:64px;height:64px;font-size:calc(26px*var(--fs,1))}
.acc-id{display:flex;align-items:center;gap:14px;margin:4px 4px 8px}
.acc-id>div{display:flex;flex-direction:column;min-width:0;line-height:1.35}
.acc-id b{font-size:calc(17px*var(--fs,1))}
.acc-id span{font-size:calc(14px*var(--fs,1));color:var(--muted);overflow-wrap:anywhere}
.acc-sync{margin:0 4px 8px;font-size:calc(13.5px*var(--fs,1));color:var(--muted)}
.acc-sync.ok{color:var(--jade)}
.acc-sync.erreur{color:var(--cin)}
.card .acc-id{margin:8px 0}
.acc-intro{margin:0 4px 14px;font-size:calc(15px*var(--fs,1));color:var(--muted)}
.prov{display:block;width:100%;min-height:50px;margin-bottom:8px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);font-size:calc(16px*var(--fs,1));font-weight:700;cursor:pointer}
.prov:disabled,.acc-form [type="submit"]:disabled{opacity:.55;cursor:default}
.or{display:flex;align-items:center;gap:10px;margin:10px 4px;font-size:calc(13px*var(--fs,1));color:var(--muted)}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.acc-form{display:grid;gap:10px;padding:12px;border-radius:14px;background:var(--sunk)}
.acc-form label{display:grid;gap:6px;font-size:calc(13px*var(--fs,1));font-weight:700;color:var(--muted)}
.acc-form input{width:100%;min-height:46px;padding:10px 12px;font:inherit;font-size:calc(16px*var(--fs,1));color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;-webkit-appearance:none;appearance:none}
.acc-form input:focus{outline:2px solid var(--jade);outline-offset:0;border-color:var(--jade)}
.pw{position:relative;display:block}
.pw input{padding-right:92px}
.pw button{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-height:38px;padding:0 12px;border:0;border-radius:9px;background:none;color:var(--jade);font-size:calc(14px*var(--fs,1));font-weight:700;cursor:pointer}
.acc-err{margin:0;padding:8px 12px;border-radius:10px;background:var(--cin-bg);color:var(--cin);font-size:calc(14px*var(--fs,1));font-weight:700}
.primary.wide{width:100%;margin-top:2px}
.acc-switch{margin:10px 4px 0;font-size:calc(14px*var(--fs,1));color:var(--muted);text-align:center}
.acc-switch .linkbtn{color:var(--jade);font-weight:700}
.sheet-body>.fine{margin:12px 4px 0}
label.sheet-row{cursor:pointer}

/* Feuille d'actions */
body.noscroll{overflow:hidden}
.sheet-back{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:rgba(8,12,10,.45);animation:ys-fade .15s ease-out}
.sheet{width:100%;max-width:560px;max-height:86vh;overflow-y:auto;overscroll-behavior:contain;padding:10px 16px calc(14px + env(safe-area-inset-bottom,0px));background:var(--surface);border-radius:20px 20px 0 0;box-shadow:0 -8px 30px var(--shadow);animation:ys-up .2s ease-out}
.sheet::before{content:"";display:block;width:40px;height:4px;margin:0 auto 14px;border-radius:2px;background:var(--line)}
.sheet-t{margin:0 4px;font-size:calc(18px*var(--fs,1));line-height:1.3}
.sheet-s{margin:4px 4px 0;font-size:calc(14px*var(--fs,1));color:var(--muted)}
.sheet-body{display:grid;gap:2px;margin-top:12px}
.sheet-row{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 12px;border:0;border-radius:12px;background:none;text-align:left;font-size:calc(16px*var(--fs,1));font-weight:700;cursor:pointer}
.sheet-row>span{flex:1;min-width:0}
.sheet-row small{flex:none;font-size:calc(13px*var(--fs,1));font-weight:400;color:var(--muted)}
.sheet-row:active{background:var(--sunk)}
.sheet-row.danger{color:var(--cin)}
.sheet-row[aria-pressed]::after{content:"";flex:none;width:24px;height:24px;border:2px solid var(--line);border-radius:7px;display:grid;place-items:center;font-size:calc(15px*var(--fs,1));line-height:1}
.sheet-row[aria-pressed="true"]{color:var(--jade)}
.sheet-row[aria-pressed="true"]::after{content:"✓";background:var(--jade);border-color:var(--jade);color:var(--surface)}
.sheet-empty{margin:0 12px 6px;font-size:calc(14px*var(--fs,1));color:var(--muted)}
.sheet-new{margin-top:12px;padding:12px;border-radius:14px;background:var(--sunk)}
.sheet-new label{display:block;margin-bottom:6px;font-size:calc(13px*var(--fs,1));font-weight:700;color:var(--muted)}
.sheet-new div{display:flex;gap:8px}
.sheet-new input{flex:1;min-width:0;min-height:46px;padding:10px 12px;font:inherit;font-size:calc(16px*var(--fs,1));color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;-webkit-appearance:none;appearance:none}
.sheet-new input::placeholder{color:var(--muted)}
.sheet-new input:focus{outline:2px solid var(--jade);outline-offset:0;border-color:var(--jade)}
.sheet-new input.err{border-color:var(--cin);outline-color:var(--cin)}
.sheet-new .primary{flex:none;margin-top:0}
.sheet-cancel{display:block;width:100%;min-height:48px;margin-top:10px;border:1px solid var(--line);border-radius:12px;background:none;font-weight:700;cursor:pointer}
@media (hover:hover){.sheet-row:hover{background:var(--sunk)}}
@keyframes ys-fade{from{opacity:0}}
@keyframes ys-up{from{transform:translateY(40px);opacity:.4}}

/* Message éphémère */
.toast{position:fixed;left:50%;bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px) + 14px);z-index:50;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);display:flex;align-items:center;gap:6px;padding:6px 6px 6px 16px;background:var(--ink);color:var(--bg);border-radius:12px;box-shadow:0 8px 24px var(--shadow);font-size:calc(15px*var(--fs,1));animation:ys-fade .15s ease-out}
.toast-m{min-width:0;padding:6px 0;overflow-wrap:anywhere}
.toast-b{flex:none;min-height:40px;padding:0 12px;border:0;border-radius:9px;background:none;color:var(--jade-bg);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.toast:has(.toast-b[hidden]){padding-right:16px}
body:has(#symcta:not([hidden])) .toast{bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px) + 88px)}
body:has(#mini:not([hidden])) .toast{bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px) + 80px)}
body.noscroll .toast{top:calc(env(safe-area-inset-top,0px) + 14px);bottom:auto}

/* Fiche : options, enchaînement, ingrédients */
.more{min-width:44px;min-height:44px;border:0;background:none;color:var(--muted);font-size:calc(24px*var(--fs,1));line-height:1;cursor:pointer;display:grid;place-items:center}
.switch{display:flex;align-items:center;gap:12px;width:100%;margin-top:14px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:left;cursor:pointer}
.switch>span:last-child{display:flex;flex-direction:column;line-height:1.35}
.switch b{font-size:calc(15px*var(--fs,1))}
.switch small{font-size:calc(13px*var(--fs,1));color:var(--muted)}
.sw{position:relative;flex:none;width:46px;height:28px;border-radius:999px;background:var(--line);transition:background .15s}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px var(--shadow);transition:transform .15s}
.switch[aria-pressed="true"]{border-color:var(--jade)}
.switch[aria-pressed="true"] .sw{background:var(--jade)}
.switch[aria-pressed="true"] .sw::after{transform:translateX(18px)}
.pt.next,.step.next{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac)}
.pt.next .timer,.step.next .timer{border-style:dashed;animation:ys-pulse 1s ease-in-out infinite}
@keyframes ys-pulse{50%{background:var(--acbg)}}
.ing li{display:block;padding:0}
.ingrow{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:12px;width:100%;padding:11px 16px;border:0;background:none;text-align:left;line-height:1.4;cursor:pointer}
.ingrow .q{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;color:var(--och)}
.ingrow[aria-pressed="true"] .q,.ingrow[aria-pressed="true"] .nm{color:var(--done);text-decoration:line-through;text-decoration-thickness:1.5px}
.ingrow[aria-pressed="true"] .nm small,.ingrow[aria-pressed="true"] .have{text-decoration:none}
@media (prefers-reduced-motion:reduce){.sheet-back,.sheet,.toast,.dock{animation:none}.pt.next .timer,.step.next .timer{animation:none}.sw,.sw::after{transition:none}}


@media (prefers-reduced-motion:reduce){.timer::before,.entry,.tab .pill,details.cat>summary::after{transition:none}.entry:active{transform:none}}

/* ---------- Page d'ouverture ---------- */
.intro{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 42%,var(--surface) 0%,var(--bg) 58%,var(--sunk) 100%);transition:opacity .55s ease,visibility .55s;-webkit-user-select:none;user-select:none;touch-action:none}
.intro.out{opacity:0;visibility:hidden}
.intro.out .intro-in{transform:scale(1.04)}
.intro-in{display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .55s ease}
.taiji{width:min(56vw,230px);height:auto;overflow:visible}
.taiji-yang path{fill:var(--surface);stroke:var(--ink);stroke-opacity:.3;stroke-width:1.5}
.taiji-yin path{fill:var(--ink)}
.taiji-dot.d-yin{fill:var(--ink)}
.taiji-dot.d-yang{fill:var(--surface)}
.taiji-ring{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:103 103;stroke-dashoffset:103;opacity:0;transform:rotate(-90deg);transform-box:fill-box;transform-origin:center;animation:taiji-ring 1.1s cubic-bezier(.6,0,.3,1) .95s forwards}
.taiji-halo{fill:none;stroke:var(--seal);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center;animation:taiji-halo 1.6s ease-out 1.5s forwards}
.taiji-yang,.taiji-yin,.taiji-spin,.taiji-dot{transform-box:fill-box;transform-origin:center}
.taiji-yang{animation:taiji-yang 1.25s cubic-bezier(.22,.9,.25,1) .1s both}
.taiji-yin{animation:taiji-yin 1.25s cubic-bezier(.22,.9,.25,1) .1s both}
.taiji-dot{animation:taiji-dot .5s cubic-bezier(.3,1.6,.5,1) 1.05s both}
.taiji-spin{animation:taiji-spin 2.3s cubic-bezier(.45,0,.2,1) 1.15s both}
.intro-zh{margin:26px 0 0;font-family:var(--serif);font-weight:700;font-size:34px;letter-spacing:.3em;text-indent:.3em;color:var(--seal);animation:intro-up .7s ease-out 1.55s both}
.intro-t{margin:6px 0 0;font-family:var(--serif);font-weight:700;font-size:28px;line-height:1.2;color:var(--ink);animation:intro-up .7s ease-out 1.75s both}
.intro-s{margin:8px 0 0;font-size:15px;color:var(--muted);animation:intro-up .7s ease-out 1.95s both}
@keyframes taiji-yang{0%{transform:translate(140px,-70px) rotate(-150deg) scale(.7);opacity:0}35%{opacity:1}100%{transform:none;opacity:1}}
@keyframes taiji-yin{0%{transform:translate(-140px,70px) rotate(-150deg) scale(.7);opacity:0}35%{opacity:1}100%{transform:none;opacity:1}}
@keyframes taiji-dot{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes taiji-spin{0%{transform:rotate(0)}100%{transform:rotate(180deg)}}
@keyframes taiji-ring{0%{opacity:1;stroke-dashoffset:103}98%{opacity:1;stroke-dashoffset:0;stroke-dasharray:103 103}100%{opacity:1;stroke-dashoffset:0;stroke-dasharray:none}}
@keyframes taiji-halo{0%{opacity:.6;transform:scale(.96)}100%{opacity:0;transform:scale(1.25)}}
@keyframes intro-up{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.taiji-yang,.taiji-yin,.taiji-dot,.taiji-spin,.taiji-halo,.intro-zh,.intro-t,.intro-s{animation:none}.taiji-ring{animation:none;stroke-dasharray:none;stroke-dashoffset:0;opacity:1}.intro,.intro-in{transition-duration:.3s}}
.acc-card{border-color:var(--jade);box-shadow:0 0 0 1px var(--jade-bg)}

/* ---------- v0.7 : repères pour les novices ---------- */
.reperes{margin-top:4px;font-size:calc(13px*var(--fs,1));line-height:1.4;color:var(--ink)}
.reperes b{color:var(--cin);font-weight:700}
.enclair{margin-top:18px;padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--cin)}
.enclair h2{margin:0 0 6px;font-size:calc(16px*var(--fs,1));color:var(--cin)}
.enclair p{margin:0;font-size:calc(15.5px*var(--fs,1));line-height:1.5}
.enclair .enclair-l{margin-top:10px;font-size:calc(13px*var(--fs,1));font-weight:700;color:var(--muted)}
.rep-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.rep-list li{padding:4px 12px;border-radius:999px;background:var(--cin-bg);color:var(--ink);font-size:calc(14px*var(--fs,1));font-weight:700}
.enclair .enclair-f{margin-top:10px;font-size:calc(12.5px*var(--fs,1));color:var(--muted)}
.ac-h{margin:6px 12px 2px;font-size:calc(12px*var(--fs,1));font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cin)}
.ac-tab .ac-n{font-weight:700}
.dsimple{margin:10px 0 0;padding:10px 14px;border-left:4px solid var(--cin);border-radius:0 12px 12px 0;background:var(--cin-bg);font-size:calc(17px*var(--fs,1));line-height:1.45;font-weight:700;color:var(--ink)}
.dreps{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 0}
.dreps>b{font-size:calc(13px*var(--fs,1));color:var(--cin)}
.dreps span{padding:3px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:calc(13.5px*var(--fs,1));font-weight:700}
.dnote{margin:8px 0 0;font-size:calc(12.5px*var(--fs,1));color:var(--muted)}
.dnote+.sub{margin-top:12px}

/* ---------- v0.8 : compatibilité en pourcentage ---------- */
.match{gap:10px;margin-top:8px}
.ring{--rc:var(--muted);position:relative;flex:none;width:48px;height:48px;display:grid;place-items:center}
.ring.big{width:64px;height:64px}
.ring.forte{--rc:var(--jade)}
.ring.moyenne{--rc:var(--och)}
.ring.faible{--rc:var(--cin)}
.ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.ring-bg{fill:none;stroke:var(--line);stroke-width:3.6}
.ring-fg{fill:none;stroke:var(--rc);stroke-width:3.6;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p));animation:ring-fill 1s cubic-bezier(.3,.7,.2,1) both}
.ring b{position:relative;font-size:calc(14px*var(--fs,1));font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.ring.big b{font-size:calc(18px*var(--fs,1))}
.ring b small{font-size:.65em;margin-left:1px}
@keyframes ring-fill{from{stroke-dashoffset:100}}
.match-t{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.match-t b{font-size:calc(15px*var(--fs,1));color:var(--ink)}
.match-t span{font-size:calc(13px*var(--fs,1));color:var(--muted)}
.compat{display:flex;align-items:center;gap:14px;margin-top:18px;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.compat>div{display:flex;flex-direction:column;line-height:1.35}
.compat b{font-size:calc(16px*var(--fs,1))}
.compat span{font-size:calc(13.5px*var(--fs,1));color:var(--muted)}
@media (prefers-reduced-motion:reduce){.ring-fg{animation:none}}
.compat{margin-top:14px}
.compat+.sub{margin-top:12px}

/* ---------- v0.10 : image de l'emplacement des points ---------- */
.voir{display:inline-flex;align-items:center;gap:6px;margin:6px 0 0;padding:6px 12px 6px 8px;min-height:36px;border:1px solid var(--ac);border-radius:999px;background:var(--acbg);color:var(--ac);font-size:calc(13.5px*var(--fs,1));font-weight:700;cursor:pointer;justify-self:start;text-align:left}
.voir svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.fig-zh{margin:10px 4px 0;font-family:var(--serif);font-size:calc(22px*var(--fs,1));color:var(--cin)}
.fig-loc{margin:8px 4px 0;font-size:calc(15.5px*var(--fs,1));line-height:1.5}
@keyframes fig-pulse{0%{transform:scale(.6);opacity:.35}100%{transform:scale(1.5);opacity:0}}
@media (prefers-reduced-motion:reduce){.fig-halo{animation:none}}
.fig-zh span{font-family:var(--sans);font-size:calc(15px*var(--fs,1));font-weight:700;color:var(--ink);margin-left:6px}
/* v0.11 : rubriques avec note et guide (IST, maladies, cancer) */
details.cat.rich>.chips{margin:0;padding:0 14px 14px}
.cat-note{margin:0;padding:0 16px 10px;font-size:calc(14px*var(--fs,1));line-height:1.45;color:var(--muted)}
.cat-sub{margin:4px 16px 8px;font-size:calc(12px*var(--fs,1));font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.guide-b{display:flex;align-items:center;justify-content:space-between;gap:10px;width:calc(100% - 28px);margin:0 14px 14px;padding:10px 14px;min-height:46px;border:1px solid var(--jade);background:var(--jade-bg);color:var(--jade);border-radius:12px;font:inherit;font-size:calc(15px*var(--fs,1));font-weight:700;text-align:left;cursor:pointer}
.guide-b>span:last-child{font-size:calc(22px*var(--fs,1));line-height:1}
.guides{display:grid;gap:10px;margin-top:10px}
.guides .guide-b{width:100%;margin:0;background:var(--surface);border-color:var(--line);color:var(--ink);padding:12px 16px}
.guides .guide-b b{display:block;color:var(--jade)}
.guides .guide-b span:first-child{font-weight:400;font-size:calc(14px*var(--fs,1));color:var(--muted)}
.gd-p{margin:10px 0 0;font-size:calc(15px*var(--fs,1));line-height:1.5}
.gd-t{margin:22px 0 0;font-size:calc(13px*var(--fs,1));font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.gd-acc details.cat>summary{font-size:calc(15px*var(--fs,1))}
.gd{padding:0 16px 16px}
.gd>.gd-p:first-child{margin-top:0}
.gd-h{margin:14px 0 6px;font-size:calc(13px*var(--fs,1));font-weight:700;color:var(--muted)}
.gd-tabs{display:flex;flex-wrap:wrap;gap:6px}
.gd-tabs .tag{text-align:left;min-height:38px}
.gd-add{margin-top:14px}
.gd-add[aria-pressed="true"]{border-color:var(--jade);color:var(--jade);background:var(--jade-bg);font-weight:700}
.lies-h{margin-top:16px}
.chips.lies{margin-top:8px}
.gd-warn{background:var(--warn-bg);border-radius:10px;padding:10px 12px;font-size:calc(14.5px*var(--fs,1))}
.gd-warn b{color:var(--warn)}
.gd-sp{height:14px}

/* v0.12 : planches anatomiques (toujours sur fond blanc, comme une planche imprimée) */
.fig{margin:4px 0 0;padding:6px 4px;border-radius:14px;background:#fff;border:1px solid var(--line);display:flex;justify-content:center}
.fig-svg{width:100%;max-width:400px;max-height:66vh;height:auto;font-family:Roboto,"Helvetica Neue",Arial,sans-serif}
.fig-svg .sk{fill:none;stroke:#231F20;stroke-width:1.25;stroke-linejoin:round;stroke-linecap:round}
.fig-svg .skl{fill:none;stroke:#231F20;stroke-width:.8;stroke-linecap:round;stroke-linejoin:round}
.fig-svg .os{fill:#DCDCDC;stroke:#A9A9A9;stroke-width:.85;stroke-linejoin:round}
.fig-svg .osc{fill:#CFCFCF;stroke:#A9A9A9;stroke-width:.7}
.fig-svg .osl{fill:none;stroke:#A9A9A9;stroke-width:.75;stroke-linecap:round;stroke-linejoin:round}
.fig-svg .ost{font-size:7.5px;font-weight:700;fill:#A3A3A3}
.fig-svg .td{fill:#F7C6D4;stroke:#E4507F;stroke-width:.8;fill-opacity:.85}
.fig-svg .tdl{fill:none;stroke:#E4507F;stroke-width:.8}
.fig-svg .mu{fill:#F9DCE4;stroke:#E88AA6;stroke-width:.6}
.fig-svg .pli{fill:none;stroke:#2FA37F;stroke-width:1}
.fig-svg .ldr{fill:none;stroke:#231F20;stroke-width:.6}
.fig-svg .lbl{font-size:12px;fill:#231F20}
.fig-svg .rg{fill:none;stroke:#231F20;stroke-width:.75}
.fig-svg .rg-a{fill:#231F20}
.fig-svg .rg-c{fill:none;stroke:#231F20;stroke-width:.55}
.fig-svg .rg-t,.fig-svg .fr-t{font-size:10.5px;fill:#231F20}
.fig-svg .fr-b{stroke:#231F20;stroke-width:.7}
.fig-svg .fc{fill:#8E8E8E}
.fig-svg .fv{fill:#231F20}
.fig-svg .fv-t{font-size:12px;font-weight:700;fill:#231F20}
.fig-dot{fill:#E2231A;stroke:#fff;stroke-width:1.2}
.fig-dot.alt{opacity:.75}
.fig-halo{fill:#E2231A;opacity:.2;transform-box:fill-box;transform-origin:center;animation:fig-pulse 1.6s ease-out infinite}
.fig-lab{font-size:13.5px;font-weight:700;fill:#E2231A;paint-order:stroke;stroke:#fff;stroke-width:3px}.fig-svg .osf{fill:#E9E9E9;stroke:#BDBDBD;stroke-width:.8}

/* Paramètres */
.set .set-h{margin:26px 0 2px;font-size:calc(13px*var(--fs,1));font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.set .set-h:first-child{margin-top:4px}
.set-l{margin:18px 0 6px;font-size:calc(15px*var(--fs,1));font-weight:700}
.set-hint{margin:6px 2px 0;font-size:calc(13px*var(--fs,1));color:var(--muted)}
.set .switch{margin-top:10px}
.data-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.data-acts .ghost{text-align:left}
.no-intro #intro{display:none}
.pt-py2{margin:2px 0 0;font-size:calc(14px*var(--fs,1));color:var(--muted);font-style:italic}
details.set-acc{margin-top:16px}
details.set-acc>summary{padding:16px;min-height:64px}
.set-sum{display:flex;align-items:center;gap:14px}
.set-ic{width:28px;height:28px;flex:none;color:var(--jade)}
.set-sum b{display:block;font-size:calc(17px*var(--fs,1))}
.set-sum small{display:block;margin-top:2px;font-weight:400;font-size:calc(13px*var(--fs,1));color:var(--muted);line-height:1.35}
details.set-acc>.set{padding:0 16px 18px;border-top:1px solid var(--line);margin-top:0}
details.set-acc>.set>.set-h:first-child{margin-top:16px}
/* Encadrés d'explication (Symptômes, Tableaux) */
.tipbox{display:flex;gap:12px;align-items:flex-start;margin:16px 0 0;padding:12px 14px;border-radius:14px;background:var(--jade-bg);color:var(--ink);font-size:calc(14.5px*var(--fs,1));line-height:1.45;max-width:62ch}
.tipbox p{margin:0}
.tipbox b{color:var(--jade)}
.tipbox .ti{flex:none;width:22px;height:22px;margin-top:1px;color:var(--jade)}
/* Cuisine : recettes par type, guide des aliments */
.segc{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
.segc .n,.segt .n{font-weight:400;color:var(--muted);font-size:calc(13px*var(--fs,1))}
.segn{grid-template-columns:repeat(4,minmax(0,1fr))}
.segn button{font-size:calc(13.5px*var(--fs,1));padding:0 4px;line-height:1.15}
.nat{display:inline-block;flex:none;padding:2px 9px;border-radius:999px;font-size:calc(12.5px*var(--fs,1));font-weight:700;line-height:1.5;color:#fff;background:#8B9590;white-space:nowrap}
.n-froide{background:#1E4E9C}.n-fraiche-froide{background:linear-gradient(90deg,#1B87AA,#1E4E9C)}.n-fraiche{background:#1B87AA}
.n-neutre-fraiche{background:linear-gradient(90deg,#7E8A85,#1B87AA)}.n-neutre{background:#7E8A85}.n-neutre-tiede{background:linear-gradient(90deg,#7E8A85,#D9711C)}
.n-tiede{background:#D9711C}.n-tiede-chaude{background:linear-gradient(90deg,#D9711C,#B8342A)}.n-chaude{background:#B8342A}
.sav{display:inline-flex;align-items:center;gap:5px;font-size:calc(13px*var(--fs,1));font-weight:700;color:var(--ink);white-space:nowrap}
.sav::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.s-douce::before{background:#E09A12}.s-acide::before{background:#3E9B3A}.s-amere::before{background:#C9362B}.s-piquante::before{background:#8A8F8C}
.s-salee::before{background:#3F74B8}.s-astringente::before{background:#1F6B3A}.s-insipide::before{background:transparent;border:1.5px solid var(--muted)}
.alist{display:grid;gap:6px}
.al{display:grid;gap:4px;width:100%;text-align:left;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;min-height:52px}
.al-top{display:flex;align-items:center;gap:10px;justify-content:space-between}
.al-n{font-weight:700;font-size:calc(15px*var(--fs,1))}
.al-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
.al-t{font-size:calc(13px*var(--fs,1));color:var(--muted)}
.howto{margin-top:16px}
.howto-b{padding:0 16px 14px;font-size:calc(14.5px*var(--fs,1));line-height:1.5}
.howto-b p{margin:0 0 8px}
.natscale{display:flex;flex-wrap:wrap;gap:6px}
.savlist{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:6px;font-size:calc(14px*var(--fs,1));color:var(--muted)}
.savlist .sav{margin-right:4px}
.alim p{margin:0 0 10px}
.alim-nat{display:flex;gap:10px;align-items:flex-start;font-size:calc(14.5px*var(--fs,1))}
.alim .sh{margin:16px 0 6px;font-size:calc(14px*var(--fs,1));text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.alim-note{font-size:calc(14px*var(--fs,1));color:var(--muted);border-left:3px solid var(--line);padding-left:10px}
.alim-recs{display:grid;gap:6px}
.alim-r{display:block;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:calc(15px*var(--fs,1));font-weight:700;color:var(--ink);cursor:pointer;min-height:44px}
.alim .switch{margin-top:14px}
/* Bilan du praticien virtuel */
.pv{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.pv-h{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.pv-h b{display:block;font-size:calc(16px*var(--fs,1))}
.pv-h small{display:block;font-size:calc(13px*var(--fs,1));color:var(--muted)}
.pv-av{flex:none;width:44px;height:44px;border-radius:50%;background:var(--seal);color:var(--seal-ink);font-family:var(--serif);font-weight:700;font-size:calc(22px*var(--fs,1));display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 2px var(--seal),inset 0 0 0 3.5px var(--seal-ink)}
.pv-b{margin-top:10px;padding:11px 14px;border-radius:4px 16px 16px 16px;background:var(--jade-bg);font-size:calc(15px*var(--fs,1));line-height:1.5;color:var(--ink)}
.pv-b b{color:var(--jade)}
.pv-zh{margin:14px 0 0;text-align:center;font-family:var(--serif);font-size:calc(22px*var(--fs,1));color:var(--cin);line-height:1.4}
.pv-zh small{display:block;font-family:var(--sans);font-size:calc(13px*var(--fs,1));color:var(--muted)}
.pv-q{margin-top:14px;border-radius:14px}
.pv-role{margin:0 0 6px 4px;font-size:calc(12px*var(--fs,1));font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pour{margin:4px 0 0;font-size:calc(13px*var(--fs,1));color:var(--muted)}
.pv-go{display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:6px 16px 6px 6px}
.pv-go .pv-av{width:32px;height:32px;font-size:calc(16px*var(--fs,1))}

/* Parcours en 3 étapes : symptômes, langue, bilan */
.steps3{list-style:none;display:flex;gap:6px;margin:0 0 14px;padding:0;counter-reset:none}
.steps3 li{flex:1 1 auto;display:flex;align-items:center;gap:7px;min-width:0;padding:7px 9px;border-radius:12px;background:var(--sunk);color:var(--muted);font-size:calc(13.5px*var(--fs,1));font-weight:700}
.steps3 li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.steps3 b{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--muted);font-size:calc(12.5px*var(--fs,1))}
.steps3 li[aria-current="step"]{background:var(--jade-bg);color:var(--jade)}
.steps3 li[aria-current="step"] b{background:var(--jade);color:var(--surface)}
.steps3 li.ok b{background:var(--jade-bg);color:var(--jade)}
.bar+.steps3{margin-top:14px}
.vh.big-q{font-size:calc(33px*var(--fs,1));line-height:1.12}
@media (max-width:360px){.vh.big-q{font-size:calc(29px*var(--fs,1))}.steps3 li{font-size:calc(12.5px*var(--fs,1));padding:6px 7px}}

/* Étape langue */
.lg-photo{margin-top:16px}
.lg-take{padding:16px;border:1.5px dashed var(--line);border-radius:18px;background:var(--surface)}
.lg-take-t{margin:0 0 6px;font-weight:700;font-size:calc(17px*var(--fs,1))}
.lg-tips{margin:0 0 14px;padding-left:20px;color:var(--ink);font-size:calc(14.5px*var(--fs,1));line-height:1.45}
.lg-tips li{margin:3px 0}
.lg-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lg-btns .cta{display:inline-flex;align-items:center;gap:8px;box-shadow:none}
.lg-photo.pin{position:sticky;top:calc(52px + env(safe-area-inset-top,0px));z-index:3}
.lg-ph{margin:0;padding:8px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:0 6px 16px var(--shadow);display:flex;gap:12px;align-items:center}
.lg-zoom{flex:none;border:0;padding:0;background:none;cursor:zoom-in;border-radius:12px;overflow:hidden;line-height:0}
.lg-ph img{width:116px;height:116px;object-fit:cover;border-radius:12px;display:block}
.lg-ph figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:calc(14px*var(--fs,1));color:var(--muted)}
.lg-intro{margin:18px 0 0;font-size:calc(15px*var(--fs,1));line-height:1.45;color:var(--ink);max-width:52ch}
.lg-q{margin-top:22px}
.lg-t{display:flex;gap:10px;align-items:flex-start;margin:0 0 8px;font-size:calc(17px*var(--fs,1));line-height:1.3}
.lg-n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--cin-bg);color:var(--cin);display:grid;place-items:center;font-size:calc(14px*var(--fs,1));margin-top:-2px}
.lg-q .hint{margin:-2px 0 8px 36px}
.lg-os{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px}
.lg-o{--ac:var(--cin);--acbg:var(--cin-bg);display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px 9px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer;font-size:calc(13.5px*var(--fs,1));font-weight:700;line-height:1.25;text-align:center;min-height:44px;color:var(--ink)}
.lg-o[aria-pressed="true"]{border-color:var(--ac);background:var(--acbg);color:var(--ac);box-shadow:inset 0 0 0 1px var(--ac)}
.lg-svg{width:64px;height:76px;display:block;color:var(--muted)}
.lg-go{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:26px}
.lg-go .cta{width:100%;max-width:360px}
.lg-hist{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.lg-th{flex:none;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:5px;display:flex;flex-direction:column;gap:4px;align-items:center;font-size:calc(12.5px*var(--fs,1));color:var(--muted);cursor:pointer}
.lg-th img{width:84px;height:84px;object-fit:cover;border-radius:9px;display:block}
.lg-big{display:block;width:100%;max-height:62vh;object-fit:contain;border-radius:14px;background:var(--sunk)}
.chip.static{cursor:default}
.sheet-acts{display:flex;justify-content:center;margin-top:18px}
.ghost.danger{color:var(--cin);border-color:var(--cin)}
.pv-lg{display:flex;gap:12px;align-items:flex-start}
.pv-lgimg{flex:none;border:0;padding:0;background:none;cursor:zoom-in;line-height:0}
.pv-lgimg img{width:64px;height:64px;object-fit:cover;border-radius:10px;display:block}
.pv-link{color:var(--jade);font-weight:700}
/* Deux photos (dessus / dessous) et examens gardés */
.lg-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.lg-take+.lg-slots{margin-top:12px}
.lg-slot{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 10px;border:1.5px dashed var(--line);border-radius:16px;background:var(--surface);text-align:center}
.lg-slot b{font-size:calc(15px*var(--fs,1))}
.lg-slot-a{font-size:calc(13px*var(--fs,1));color:var(--muted);line-height:1.35}
.lg-slot .cta{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;font-size:calc(15px*var(--fs,1));box-shadow:none;margin-top:2px}
.lg-slot .linkbtn{padding:4px 0;min-height:36px;font-size:calc(13.5px*var(--fs,1))}
.lg-slot.on{margin:0;border-style:solid;padding:8px;gap:4px}
.lg-slot.on img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:11px;display:block}
.lg-slot.on .lg-zoom{width:100%}
.lg-slot.on figcaption{display:flex;flex-direction:column;align-items:center;font-size:calc(13px*var(--fs,1))}
.lg-slot.on figcaption b{font-size:calc(13.5px*var(--fs,1))}
.lg-photo.pin{padding:8px 0;background:var(--bg)}
.lg-photo.pin .lg-slots{margin-top:0;grid-template-columns:repeat(2,minmax(0,150px));justify-content:center}
.lg-photo.pin .lg-slot.on img{aspect-ratio:4/3}
.lg-exs{display:grid;gap:10px}
.lg-ex{display:grid;gap:8px;text-align:left;width:100%;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface);cursor:pointer;color:var(--ink)}
.lg-ex-d{font-weight:700;font-size:calc(15px*var(--fs,1))}
.lg-ex-d em{font-style:normal;font-weight:700;font-size:calc(12px*var(--fs,1));color:var(--jade);background:var(--jade-bg);border-radius:999px;padding:2px 8px;margin-left:6px}
.lg-ex-ph{display:flex;gap:8px}
.lg-ex-ph img,.lg-ex-no{width:84px;height:84px;border-radius:10px;object-fit:cover;display:block}
.lg-ex-no{display:grid;place-items:center;background:var(--sunk);color:var(--muted);font-size:calc(12px*var(--fs,1))}
.lg-ex-m{display:flex;flex-wrap:wrap;gap:4px}
.lg-mini{display:inline-grid;place-items:center;width:34px;height:40px;border-radius:8px;background:var(--sunk)}
.lg-mini .lg-svg{width:26px;height:31px}
.lg-ex-t{font-size:calc(13.5px*var(--fs,1));color:var(--muted);line-height:1.4}
.lg-ex-big{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lg-ex-big figure{margin:0}
.lg-ex-big figcaption{font-weight:700;font-size:calc(14px*var(--fs,1));margin-bottom:6px}
.lg-ex-big .lg-big{max-height:40vh}
.lg-ex-h{margin:18px 0 6px;font-size:calc(16px*var(--fs,1))}
.lg-ex-q{margin-top:10px}
.lg-ex-q p{margin:0 0 6px;font-size:calc(14px*var(--fs,1));color:var(--muted)}
.lg-ex-os{display:flex;flex-wrap:wrap;gap:8px}
.lg-ex-o{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:12px;background:var(--cin-bg);color:var(--cin);font-weight:700;font-size:calc(14px*var(--fs,1))}
.lg-ex-o .lg-svg{width:34px;height:40px}
.pv-lgimgs{display:flex;flex-direction:column;gap:6px;flex:none}
/* Bilans enregistrés et suivi */
.bsave{display:flex;flex-direction:column;align-items:center;gap:6px;margin:16px 0 4px;text-align:center}
.bsave .cta{box-shadow:none;width:100%;max-width:360px}
.bsave span{font-size:calc(13.5px*var(--fs,1));color:var(--muted)}
.bsave.ok{flex-direction:row;justify-content:center;flex-wrap:wrap;gap:4px 10px;padding:10px 14px;border-radius:14px;background:var(--jade-bg)}
.bsave.ok span{color:var(--jade);font-weight:700;font-size:calc(14.5px*var(--fs,1))}
.bl-list{display:grid;gap:10px}
.bl-card{display:grid;gap:5px;text-align:left;width:100%;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--cin);border-radius:14px;background:var(--surface);cursor:pointer;color:var(--ink)}
.bl-d{font-weight:700;font-size:calc(15px*var(--fs,1))}
.bl-t{display:flex;flex-direction:column;gap:2px}
.bl-t b{font-size:calc(14.5px*var(--fs,1));color:var(--cin)}
.bl-t b.as{font-weight:400;color:var(--ink)}
.bl-zh{font-family:var(--serif);color:var(--cin);font-size:calc(16px*var(--fs,1))}
.bl-n{font-size:calc(13px*var(--fs,1));color:var(--muted)}
.bl-lg{display:flex;gap:10px}
.bl-lg .lg-zoom img{width:120px;height:120px;object-fit:cover;border-radius:12px;display:block}
.bl-mods{margin-top:10px}
.bl-acts{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.suivi-b{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.suivi-b .ghost b,.mesbilans b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:6px;border-radius:999px;background:var(--jade-bg);color:var(--jade);font-size:calc(12.5px*var(--fs,1))}
.mesbilans{margin-top:12px;display:inline-flex;align-items:center}
.sheet-acts.col{flex-direction:column;align-items:center;gap:8px;text-align:center}
.sheet-acts.col .primary{width:100%;max-width:340px}
