/* GÉNÉRÉ par scripts/assiette-ui-css.py depuis Refontes/design_handoff_ton_assiette/src/assiette.css.
   Ne pas modifier à la main : modifier le script, puis le relancer. Classes en cea-, sous .cea. */
/* « Ton assiette » : étape 4 de la création (préfixe ce-) */
.cea-r{container:ceas/inline-size;display:flex;flex-direction:column;gap:30px;margin-top:6px}
:where(.cea) button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0;-webkit-tap-highlight-color:transparent}
.cea-blk{display:flex;flex-direction:column;gap:14px}
.cea-t{margin:0;display:flex;align-items:center;gap:12px;font:800 19px/1.2 var(--fd);letter-spacing:-.01em}
.cea-t i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--dark,#33261B);color:#fff;display:grid;place-items:center;font:800 15px var(--fd);font-style:normal}
.cea-t small{display:block;margin-top:2px;font:500 14px var(--fb);color:var(--ink2);letter-spacing:0}
/* A ou B */
.cea-ab{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.cea-opt{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);gap:2px 12px;align-items:start;padding:16px 18px;border-radius:22px;background:#fff;border:2px solid var(--line);text-align:left;transition:transform .35s var(--spring),border-color .2s,box-shadow .25s,background .25s}
.cea-opt:hover{transform:translateY(-2px);border-color:var(--line2)}
.cea-opt[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 5px 0 var(--ink);background:var(--cream)}
.cea-rd{grid-row:span 3;margin-top:1px;width:24px;height:24px;border-radius:50%;border:2px solid var(--line2);background:#fff;transition:border .35s var(--spring)}
.cea-opt[aria-pressed="true"] .cea-rd{border:7px solid var(--orange)}
.cea-opt b{font:800 17px/1.2 var(--fd);letter-spacing:-.01em}
.cea-opt .sht{display:none}
.cea-pl .tx{display:contents}
.cea-pl .cp-dz{display:contents}
.cea-pl>.cea-rd{display:none}
.cea-opt small{font-size:13.5px;line-height:1.4;color:var(--ink2);text-wrap:pretty}
.cea-kept{justify-self:start;display:inline-flex;align-items:center;gap:6px;min-height:26px;margin-top:6px;padding:0 10px;border-radius:999px;background:var(--cream2);font:700 12px var(--fb);color:var(--ink2);animation:ceIn .4s var(--spring)}
.cea-kept:empty{display:none}
.cea-kept svg{width:13px;height:13px}
.cea-pan{--nx:30px;position:relative;padding:18px;border-radius:24px;background:#fff;border:2px solid var(--ink);box-shadow:0 5px 0 var(--ink);animation:ceIn .45s var(--spring)}
.cea-pan::before{content:"";position:absolute;left:var(--nx);top:-11px;width:18px;height:18px;background:#fff;border-left:2px solid var(--ink);border-top:2px solid var(--ink);transform:rotate(45deg);transition:left .45s var(--spring)}
@keyframes ceIn{from{opacity:0;transform:translateY(10px)}}
/* A · trois assiettes */
.cea-plates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:stretch}
.cea-pl{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-height:44px;padding:12px 4px 10px;border-radius:18px;text-align:center;transition:background .25s}
.cea-pl:hover{background:var(--cream)}
.cea-pl[aria-pressed="true"]{background:var(--orange-bg)}
.cea-pl b{font:800 15px/1.15 var(--fd)}
.cea-pl small{font:600 12px var(--fb);color:var(--muted);white-space:nowrap}
.cea-pl[aria-pressed="true"] small{color:var(--orange-d)}
.cea-dish{--k:1;position:relative;flex:none;width:calc(var(--s)*var(--k));height:calc(var(--s)*var(--k));margin-bottom:4px;border-radius:50%;background:#fff;border:2px solid var(--line2);box-shadow:0 3px 0 var(--line2);transition:width .5s var(--spring),height .5s var(--spring),transform .45s var(--spring),border-color .25s,box-shadow .25s}
.cea-dish::before{content:"";position:absolute;inset:12%;border-radius:50%;border:1.5px solid var(--line)}
.cea-dish i{position:absolute;inset:25%;border-radius:46% 54% 50% 50%/52% 46% 54% 48%;background:radial-gradient(circle at 30% 34%,#7FBF4D 0 21%,transparent 22%),radial-gradient(circle at 70% 64%,#F5D45A 0 25%,transparent 26%),radial-gradient(circle at 66% 28%,#fff 0 9%,transparent 10%),#F0682F;opacity:.75;transition:opacity .25s,transform .45s var(--spring)}
.cea-pl:hover .cea-dish{transform:translateY(-3px)}
.cea-pl[aria-pressed="true"] .cea-dish{border-color:var(--ink);box-shadow:0 4px 0 var(--ink);transform:translateY(-3px)}
.cea-pl[aria-pressed="true"] .cea-dish i{opacity:1}
.cea-pl.cea-pop .cea-dish{animation:cePlate .55s var(--spring)}
@keyframes cePlate{0%{transform:scale(.7)}60%{transform:translateY(-5px) scale(1.06)}100%{transform:translateY(-3px)}}
/* B · des chiffres */
.cea-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:15px;background:var(--cream);border:1.5px solid var(--line)}
.cea-seg button{min-height:42px;padding:0 6px;border-radius:11px;font:700 14px/1.1 var(--fb);color:var(--ink2);transition:background .3s,color .3s,box-shadow .3s}
.cea-seg button[aria-pressed="true"]{background:#fff;color:var(--ink);font-weight:800;box-shadow:inset 0 0 0 2px var(--ink),0 3px 0 var(--ink)}
.cea-num{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0 2px}
.cea-rb{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);font:800 24px/1 var(--fd);transition:transform .25s var(--spring),box-shadow .2s}
.cea-rb:hover{transform:translateY(-2px)}
.cea-rb:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}
.cea-in{display:flex;align-items:center;gap:10px;cursor:text}
.cea-in input{width:4.1ch;padding:0 0 2px;border:0;border-bottom:3px dashed var(--line2);background:transparent;font:800 62px/1 var(--fd);letter-spacing:-.04em;text-align:center;color:var(--ink);outline:0;font-variant-numeric:tabular-nums;transition:border-color .2s}
.cea-in input:focus{border-bottom-color:var(--orange)}
.cea-in input.bump{animation:ceBump .4s var(--spring)}
@keyframes ceBump{40%{transform:scale(1.08);color:var(--orange-d)}}
.cea-in span{font:800 15px/1.1 var(--fd);color:var(--ink2)}
.cea-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px}
.cea-chips button{min-height:38px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line2);background:#fff;font:700 13.5px var(--fb);color:var(--ink2);font-variant-numeric:tabular-nums;transition:all .25s}
.cea-chips button:hover{border-color:var(--ink2);color:var(--ink)}
.cea-chips button[aria-pressed="true"]{background:var(--dark,#33261B);border-color:var(--dark,#33261B);color:#fff}
.cea-lb{display:block;margin:22px 0 10px;font:800 15.5px/1.25 var(--fd)}
.cea-mats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cea-mt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:44px;padding:12px;border-radius:16px;background:#fff;border:2px solid var(--line);text-align:left;transition:transform .3s var(--spring),border-color .2s,box-shadow .25s}
.cea-mt:hover{transform:translateY(-2px);border-color:var(--line2)}
.cea-mt[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 4px 0 var(--ink)}
.cea-mt .gl{display:flex;gap:2px;height:24px;margin-bottom:4px;color:var(--ink2)}
.cea-mt .gl svg{width:22px;height:22px}
.cea-mt[aria-pressed="true"] .gl{color:var(--orange-d)}
.cea-mt b{font:800 14px/1.2 var(--fd)}
.cea-mt small{font:600 12px var(--fb);color:var(--muted)}
/* la journée en une barre */
.cea-day{margin-top:20px}
.cea-tr,.cea-lr{display:flex;gap:3px}
.cea-tr{height:46px;padding:3px;border-radius:16px;background:#fff;border:2px solid var(--ink)}
.cea-sg{flex:var(--w) 1 0;min-width:0;display:grid;place-items:center;border-radius:11px;font:800 14px var(--fd);font-variant-numeric:tabular-nums;color:#fff;transition:flex-grow .6s var(--spring),background .3s}
.cea-sg.me{background:repeating-linear-gradient(-45deg,var(--cream2) 0 7px,var(--line) 7px 14px);color:var(--ink2)}
.cea-sg.mi{background:var(--orange)}
.cea-sg.so{background:var(--orange-d)}
.cea-lr{margin-top:6px}
.cea-lr span{flex:var(--w) 1 0;min-width:0;font:700 12px/1.25 var(--fb);color:var(--ink2);text-align:center;transition:flex-grow .6s var(--spring);text-wrap:balance}
.cea-key{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:10px;font:700 16px/1 var(--fh);color:var(--ink2)}
.cea-key span{display:inline-flex;align-items:center;gap:6px}
.cea-key i{width:12px;height:12px;border-radius:4px;background:var(--orange)}
.cea-key span:last-child i{background:repeating-linear-gradient(-45deg,var(--cream2) 0 3px,var(--line2) 3px 6px)}
.cea-soft{display:flex;gap:8px;align-items:flex-start;margin-top:12px;font-size:13.5px;line-height:1.45;color:var(--ink2);text-wrap:pretty;animation:ceIn .4s var(--spring)}
.cea-soft svg{flex:none;width:16px;height:16px;margin-top:2px;color:var(--green)}
/* pour chaque repas */
.cea-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.cea-fld{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border-radius:18px;background:var(--cream);border:1.5px solid var(--line)}
.cea-fld .fh{display:flex;align-items:center;gap:6px;font:800 14.5px var(--fd)}
.cea-fld .fh svg{width:18px;height:18px}
.cea-fld .fh.mi svg{color:#D89A00}.cea-fld .fh.so svg{color:#6A55C8}
.cea-fld .rw{display:flex;align-items:center;gap:8px}
.cea-fld .cea-rb{width:44px;height:44px;font-size:20px}
.cea-fld .cea-in{flex-direction:column;gap:0}
.cea-fld .cea-in input{width:3.6ch;font-size:36px}
.cea-fld .cea-in span{font-size:12.5px}
/* garde-fous */
.cea-msg{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border-radius:16px;background:var(--sun-bg,#FFF1D2);font:600 14px/1.45 var(--fb);color:#5E4300;text-wrap:pretty;animation:ceIn .4s var(--spring)}
.cea-msg:empty{display:none}
.cea-msg .fa{flex:none;width:30px;height:30px}
.cea-msg .fa svg{width:100%;height:100%}
.cea-msg b{color:var(--ink)}
.cea-fix{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin-top:8px;padding:0 14px;border-radius:999px;background:#fff;border:2px solid var(--ink);box-shadow:0 2px 0 var(--ink);font:800 13.5px var(--fd);color:var(--ink);transition:transform .25s var(--spring)}
.cea-fix:hover{transform:translateY(-2px)}
/* des soirs plus légers */
.cea-lt{display:flex;align-items:center;gap:14px;width:100%;min-height:44px;padding:14px 16px;border-radius:20px;background:#fff;border:1.5px solid var(--line);text-align:left;transition:border-color .2s}
.cea-lt:hover{border-color:var(--line2)}
.cea-lt .ti{flex:none;width:40px;height:40px;border-radius:13px;background:#EEE8FB;color:#6A55C8;display:grid;place-items:center;transition:transform .45s var(--spring)}
.cea-lt .ti svg{width:20px;height:20px}
.cea-lt[aria-checked="true"] .ti{transform:rotate(-20deg)}
.cea-lt span:nth-child(2){flex:1;min-width:0}
.cea-lt b{display:block;font:800 15.5px var(--fd)}
.cea-lt small{font-size:13px;color:var(--ink2)}
.cea-sw{position:relative;flex:none;width:50px;height:30px;border-radius:999px;background:var(--line2);transition:background .3s}
.cea-sw::after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.18);transition:transform .4s var(--spring)}
.cea-lt[aria-checked="true"] .cea-sw{background:var(--green)}
.cea-lt[aria-checked="true"] .cea-sw::after{transform:translateX(20px)}
/* la phrase de Popotam */
.cea-say{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px 14px;align-items:center;padding:14px 16px;border-radius:22px;background:var(--cream);border:1.5px dashed var(--line2)}
.cea-say .fa{width:44px;height:44px}.cea-say .fa svg{width:100%;height:100%}
.cea-say p{margin:0;font:600 15px/1.45 var(--fb);color:var(--ink2);text-wrap:pretty}
.cea-say p b{color:var(--ink)}
.cea-say p.say{animation:ceIn .4s var(--spring)}
.cea-pv{display:flex;align-items:flex-end;gap:12px;padding-left:4px}
.cea-pp{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:56px}
.cea-pp .cea-dish{margin:0;border-color:var(--ink);box-shadow:0 3px 0 var(--ink)}
.cea-pp .cea-dish i{opacity:1}
.cea-pp small{font:700 11.5px/1.15 var(--fb);color:var(--muted);text-align:center;white-space:nowrap}
.cea-pp small b{display:block;font:800 13.5px var(--fd);color:var(--ink);font-variant-numeric:tabular-nums}
.cea-med{grid-column:1/-1;margin:0;padding-top:8px;border-top:1.5px dashed var(--line2);font-size:12px;line-height:1.45;color:var(--muted)}
/* le style, viande ou poisson */
.cea-sty{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cea-st{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:44px;padding:14px;border-radius:20px;background:#fff;border:2px solid var(--line);text-align:left;transition:transform .35s var(--spring),border-color .2s,box-shadow .25s,background .25s}
.cea-st:hover{transform:translateY(-2px);border-color:var(--line2)}
.cea-st[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 5px 0 var(--ink);background:var(--cream)}
.cea-st .ti{width:40px;height:40px;margin-bottom:6px;border-radius:13px;display:grid;place-items:center;background:var(--tb);color:var(--tc);transition:transform .45s var(--spring)}
.cea-st .ti svg{width:21px;height:21px}
.cea-st:hover .ti,.cea-st[aria-pressed="true"] .ti{transform:rotate(-10deg) scale(1.06)}
.cea-st b{font:800 15.5px/1.2 var(--fd)}
.cea-st small{font-size:12.5px;line-height:1.35;color:var(--ink2);text-wrap:pretty}
.cea-vp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cea-vp button{min-height:52px;padding:6px 10px;border-radius:16px;background:#fff;border:2px solid var(--line);font:800 14.5px/1.2 var(--fd);transition:transform .3s var(--spring),border-color .2s,box-shadow .25s}
.cea-vp button:hover{transform:translateY(-2px);border-color:var(--line2)}
.cea-vp button[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 4px 0 var(--ink);background:var(--cream)}
/* ordinateur : A et B côte à côte, le panneau dessous */
@container ceas (min-width:600px){
.cea-ab{grid-template-columns:1fr 1fr;column-gap:12px;row-gap:14px}
.cea-opt{grid-row:1}.cea-opt[data-mode="faim"]{grid-column:1}.cea-opt[data-mode="chiffres"]{grid-column:2}
.cea-pan{grid-row:2;grid-column:1/-1;padding:22px}
.cea-pan[data-for="faim"]{--nx:calc(25% - 9px)}.cea-pan[data-for="chiffres"]{--nx:calc(75% - 9px)}
.cea-plates{gap:12px}
}
@container ceas (max-width:599px){
.cea-ab{grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:20px;background:var(--cream2)}
.cea-opt{grid-row:1;grid-template-columns:1fr;justify-items:center;gap:0;min-height:52px;padding:8px 6px;border-radius:16px;border:0;background:transparent;text-align:center;box-shadow:none}
.cea-opt:hover{transform:none}
.cea-opt[data-mode="faim"]{grid-column:1}.cea-opt[data-mode="chiffres"]{grid-column:2}
.cea-opt[aria-pressed="true"]{background:#fff;box-shadow:0 0 0 2px var(--ink),0 3px 0 2px var(--ink)}
.cea-opt .cea-rd,.cea-opt small,.cea-opt .lgt{display:none}
.cea-opt .sht{display:inline}
.cea-opt b{font-size:15.5px;align-self:center}
.cea-pan{grid-row:2;grid-column:1/-1;margin:4px -4px -4px;padding:14px;border:0;border-radius:18px;box-shadow:none}
.cea-pan::before{display:none}
.cea-plates{grid-template-columns:1fr;gap:6px}
.cea-pl{display:grid;grid-template-columns:100px minmax(0,1fr) 24px;grid-template-rows:auto;align-items:center;justify-content:stretch;gap:12px;min-height:68px;padding:8px 14px 8px 6px;border-radius:16px;border:1.5px solid var(--line);text-align:left}
.cea-pl[aria-pressed="true"]{border-color:var(--ink);background:var(--orange-bg)}
.cea-pl .cp-dz{display:grid;place-items:center;width:100px;height:96px}
.cea-pl .tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.cea-pl>.cea-rd{display:block;grid-row:auto;margin:0;width:22px;height:22px}
.cea-pl[aria-pressed="true"]>.cea-rd{border:7px solid var(--orange)}
.cea-pl .cea-dish{--k:.7;margin:0}
.cea-pl .cea-dish .cp-dc{left:-28%;top:-28%;width:156%;height:156%}
.cea-pl .cea-dish .cp-gs{display:none}
.cea-pl b{font-size:15.5px}
.cea-pl small{white-space:normal}
.cea-pl[aria-pressed="true"] .cea-dish{transform:none}
.cea-two{grid-template-columns:1fr;gap:8px}
.cea-fld{flex-direction:row;justify-content:space-between;padding:10px 10px 10px 14px}
.cea-fld .rw,.cea-fld .cea-num{margin:0;gap:6px}
.cea-fld .cea-in input{font-size:28px;width:3.2ch}
.cea-fld .cea-rb{width:44px;height:44px}
.cea-dish{--k:.82}
.cea-pp .cea-dish{--k:1}
.cea-sty{grid-template-columns:repeat(2,minmax(0,1fr))}
.cea-vp{grid-template-columns:1fr}
.cea-vp button{min-height:48px}
.cea-mats{grid-template-columns:1fr}
.cea-mt{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;column-gap:10px;padding:10px 12px}
.cea-mt .gl{grid-row:span 2;margin:0}
.cea-in input{font-size:52px}
.cea-rb{width:48px;height:48px}
.cea-say{grid-template-columns:40px minmax(0,1fr)}
.cea-say .fa{width:40px;height:40px}
.cea-pv{grid-column:1/-1;justify-content:center;padding:4px 0 0}
.cea-t{font-size:17px}
}
/* les assiettes : Popotam au centre, animées */
.cea-dish{position:relative;background:none!important;border:0!important;box-shadow:none!important;border-radius:50%}
.cea-dish::before,.cea-dish>i{display:none}
.cea-dish .cp-pb{position:relative;z-index:1;display:block;width:100%;height:100%;transform-origin:50% 90%}
.cea-dish .cp-pl{display:block;width:100%;height:auto;overflow:visible}
.cea-dish .cp-pt{fill:#fff;stroke:var(--line2);stroke-width:2.5;transition:stroke .25s}
.cea-dish .cp-sh{fill:var(--line2);transition:fill .25s}
.cea-dish .cp-fd{filter:saturate(.75);transition:filter .3s}
.cea-dish .cp-it{transform-box:fill-box;transform-origin:50% 100%}
.cea-dish .cp-fc{position:absolute;left:50%;top:50%;width:40%;height:40%;margin:-20% 0 0 -20%;border-radius:50%;filter:saturate(.8);transition:filter .3s}
.cea-dish .cp-fc svg{width:100%;height:100%;display:block}
.cea-dish .cp-dc{position:absolute;z-index:2;left:-40%;top:-40%;width:180%;height:180%;overflow:visible;pointer-events:none}
.cea-dish .cp-dc>*{transition:opacity .35s ease-out}
.cea-dish .cp-dc>:nth-child(2n){transition-delay:.06s}.cea-dish .cp-dc>:nth-child(3n){transition-delay:.12s}
.cea-pl:not([aria-pressed="true"]) .cea-dish .cp-dc>*{opacity:0;transition-delay:0s}
.cea-pl:not([aria-pressed="true"]) .cea-dish .cp-dc>.cp-k1{opacity:.55}
.cea-pl:not([aria-pressed="true"]) .cea-dish .cp-gs{opacity:.5}
.cea-dish .cp-dc *{transform-box:fill-box;transform-origin:center}
.cea-dish .cp-gs{position:absolute;left:12%;right:12%;bottom:-16%;height:9%;border-radius:50%;background:rgba(120,80,30,.16);transition:transform .3s}
/* choisie : tout s'anime */
.cea-pl[aria-pressed="true"] .cea-dish .cp-pt{stroke:var(--ink)}
.cea-pl[aria-pressed="true"] .cea-dish .cp-sh{fill:var(--ink)}
.cea-pl[aria-pressed="true"] .cea-dish .cp-fd,.cea-pl[aria-pressed="true"] .cea-dish .cp-fc{filter:none}

.cea-pl[aria-pressed="true"] .cp-tw{animation:ceTw 1.8s ease-in-out infinite;animation-delay:calc(var(--k)*.3s)}
@keyframes ceTw{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(.55) rotate(45deg)}}
.cea-pl[aria-pressed="true"] .cp-st{stroke-dasharray:60;animation:ceSt 2.4s ease-in-out infinite;animation-delay:calc(var(--k)*.6s)}
@keyframes ceSt{0%{stroke-dashoffset:60;opacity:0;transform:translateY(8px)}30%{opacity:1}70%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0;transform:translateY(-10px)}}
.cea-pl[aria-pressed="true"] .cp-hb{animation:ceHb 2.2s ease-in-out infinite;animation-delay:calc(var(--k)*.5s)}
@keyframes ceHb{0%{transform:translateY(6px) scale(.6);opacity:0}30%{opacity:1;transform:translateY(0) scale(1)}100%{transform:translateY(-16px) scale(.9);opacity:0}}
.cea-pl[aria-pressed="true"] .cp-ml{animation:ceMl 1s ease-in-out infinite;animation-delay:calc(var(--k)*.5s)}
@keyframes ceMl{50%{transform:translateX(var(--mx,0)) scaleY(.8);opacity:.5}}
.cea-pl[aria-pressed="true"] .cp-bs{animation:ceBs 1.4s ease-out infinite}
@keyframes ceBs{0%{transform:scale(.7);opacity:0}30%{opacity:1}100%{transform:scale(1.15);opacity:0}}
.cea-pl[aria-pressed="true"] .cp-jp{animation:ceJp .9s ease-in-out infinite}
@keyframes ceJp{0%,100%{opacity:.2;transform:translateY(-4px)}50%{opacity:1;transform:translateY(2px)}}
.cea-pl[data-faim="petit"][aria-pressed="true"] .cp-pb{animation:ceSway 2.6s ease-in-out infinite}
@keyframes ceSway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.cea-pl[data-faim="normal"][aria-pressed="true"] .cp-pb{animation:ceFloat 2.2s ease-in-out infinite}
.cea-pl[data-faim="normal"][aria-pressed="true"] .cp-gs{animation:ceGs 2.2s ease-in-out infinite}
@keyframes ceFloat{50%{transform:translateY(-6px)}}
@keyframes ceGs{50%{transform:scaleX(.82);opacity:.7}}
.cea-pl[data-faim="gros"][aria-pressed="true"] .cp-pb{animation:ceJump .9s cubic-bezier(.4,0,.6,1) infinite}
.cea-pl[data-faim="gros"][aria-pressed="true"] .cp-gs{animation:ceGs2 .9s cubic-bezier(.4,0,.6,1) infinite}
@keyframes ceJump{0%,100%{transform:translateY(0) scale(1.06,.94)}15%{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(.98,1.03)}85%{transform:translateY(0) scale(1)}}
@keyframes ceGs2{0%,100%{transform:scaleX(1.05)}50%{transform:scaleX(.7);opacity:.6}}
.cea-pl[aria-pressed="true"] .cp-fc{animation:ceFace 3s ease-in-out infinite}
@keyframes ceFace{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
/* au choix : les aliments tombent, Popotam surgit, les étoiles éclatent */
.cea-pl.cea-pop .cea-dish .cp-it,.cea-dish.cea-drop .cp-it,.cea-pan .cea-dish .cp-it{animation:ceFall .6s var(--spring) both;animation-delay:calc(.15s + var(--d)*45ms)}
@keyframes ceFall{0%{opacity:0;transform:translateY(-34px) scale(.5) rotate(-20deg)}55%{opacity:1;transform:translateY(2px) scale(1.06,.94)}100%{opacity:1;transform:none}}
.cea-pl.cea-pop .cea-dish .cp-fc{animation:ceFacePop .6s var(--spring) both}
@keyframes ceFacePop{0%{transform:scale(0) rotate(-30deg)}100%{transform:none}}
.cea-pl.cea-pop .cea-dish .cp-dc{animation:ceBurst .7s var(--spring) both}
@keyframes ceBurst{0%{transform:scale(.4);opacity:0}100%{transform:none;opacity:1}}
.cea-pl.cea-pop .cea-dish{animation:none}
.cea-pl:not([aria-pressed="true"]):hover .cea-dish .cp-it{animation:ceJig .5s var(--spring);animation-delay:calc(var(--d)*25ms)}
.cea-pl:not([aria-pressed="true"]):hover .cea-dish .cp-dc>.cp-k1{opacity:1}
@keyframes ceJig{40%{transform:translateY(-3px) rotate(-6deg)}}
.cea-pp .cea-dish .cp-dc,.cea-pp .cea-dish .cp-gs{display:none}
.cea-pp .cea-dish .cp-pt{stroke:var(--ink)}.cea-pp .cea-dish .cp-sh{fill:var(--ink)}.cea-pp .cea-dish .cp-fd,.cea-pp .cea-dish .cp-fc{filter:none}
.cea-pp .cea-dish{transition:width .5s var(--spring),height .5s var(--spring)}
/* les cartes : grandes, avec de la place pour les étoiles */
.cea-pl{position:relative;overflow:visible}
@container ceas (min-width:600px){
.cea-plates{gap:12px;align-items:stretch}
.cea-pl{justify-content:flex-end;min-height:250px;padding:20px 8px 16px;border-radius:22px;background:#fff;border:1.5px solid var(--line)}
.cea-pl[aria-pressed="true"]{background:var(--orange-bg);border-color:var(--orange-bg)}
.cea-pl .cp-dz{display:grid!important;place-items:center;width:100%;height:160px;margin-bottom:10px}
.cea-pl .tx{display:flex!important;flex-direction:column;align-items:center;gap:2px}
.cea-pl b{font-size:17px}
.cea-pl[aria-pressed="true"] b{color:#7A2E10}
}
.cea-pl[aria-pressed="true"] .cea-dish{transform:none!important}
.cea-pl:hover .cea-dish{transform:none!important}
@media (prefers-reduced-motion:reduce){.cea-dish *{animation:none!important}}
/* « Je ne connais pas mon chiffre » */
.cea-calc{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px auto 0;min-height:44px;padding:0 14px;border-radius:999px;font:700 14px var(--fb);color:var(--orange-d);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;transition:background .2s,color .2s}
.cea-calc:hover{background:var(--orange-bg);color:var(--ink)}
.cea-calc svg{width:18px;height:18px;flex:none;transition:transform .4s var(--spring)}
.cea-calc:hover svg{transform:rotate(-12deg) scale(1.1)}
.cea-fe-bg{position:fixed;inset:0;z-index:436;background:rgba(42,33,27,.42);opacity:0;transition:opacity .3s}
.cea-fe-bg.on{opacity:1}
.cea-fe{position:fixed;z-index:437;left:50%;top:50%;width:min(560px,calc(100% - 32px));max-height:calc(100% - 48px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#FFFDF4;border:2px solid var(--ink);border-radius:28px;box-shadow:0 8px 0 var(--ink),0 40px 80px -30px rgba(40,20,5,.6);font-family:var(--fb);color:var(--ink);opacity:0;transform:translate(-50%,-46%) scale(.95);transition:transform .45s var(--spring),opacity .25s}
.cea-fe.on{opacity:1;transform:translate(-50%,-50%)}
.cea-fe-bg.ph,.cea-fe.ph{position:fixed}
.cea-fe.ph{left:0;right:0;top:auto;bottom:0;width:auto;max-height:92%;border-radius:28px 28px 0 0;border-bottom:0;box-shadow:0 -20px 50px -20px rgba(40,20,5,.5);transform:translateY(105%)}
.cea-fe.ph.on{transform:none}
:where(.cea-fe) button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0;-webkit-tap-highlight-color:transparent}
.cea-feh{position:relative;padding:22px 64px 6px 24px}
.cea-feh .hn{display:inline-block;font:700 20px/1 var(--fh);color:var(--orange-d);transform:rotate(-2deg);transform-origin:left}
.cea-feh h2{margin:4px 0 0;font:800 26px/1.1 var(--fd);letter-spacing:-.02em;text-wrap:balance}
.cea-feh p{margin:6px 0 0;font-size:14.5px;line-height:1.45;color:var(--ink2);text-wrap:pretty}
.cea-fex{position:absolute;right:14px;top:14px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1.5px solid var(--line2);color:var(--ink2);transition:transform .35s var(--spring)}
.cea-fex:hover{transform:rotate(90deg);color:var(--ink)}
.cea-fex svg{width:18px;height:18px}
.cea-feb{min-height:0;overflow:auto;padding:12px 24px 18px;display:flex;flex-direction:column;gap:18px;scrollbar-width:thin}
.cea-fq{display:flex;flex-direction:column;gap:8px}
.cea-fl,.cea-fx label{font:800 15px/1.2 var(--fd)}
.cea-fn{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:12.5px;line-height:1.45;color:var(--muted);text-wrap:pretty}
.cea-fn svg{flex:none;width:14px;height:14px;margin-top:2px;color:var(--green)}
.cea-fxs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cea-fx{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:18px;background:#fff;border:1.5px solid var(--line);text-align:center}
.cea-fxr{display:flex;align-items:center;gap:4px}
.cea-fx input{width:3.2ch;min-width:0;padding:0 0 2px;border:0;border-bottom:3px dashed var(--line2);background:transparent;font:800 32px/1 var(--fd);letter-spacing:-.03em;text-align:center;color:var(--ink);outline:0;font-variant-numeric:tabular-nums;transition:border-color .2s}
.cea-fx input::placeholder{color:var(--line2)}
.cea-fx input:focus{border-bottom-color:var(--orange)}
.cea-fx input.bad{border-bottom-color:#E0A21A}
.cea-fx .u{font:700 12.5px var(--fb);color:var(--ink2)}
.cea-fs{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--cream);font:800 18px/1 var(--fd);transition:transform .25s var(--spring)}
.cea-fs:active{transform:scale(.88)}
.cea-chk{font:700 12px/1.3 var(--fb);color:#8A6200;background:var(--sun-bg,#FFF1D2);padding:3px 8px;border-radius:8px;animation:ceIn .3s var(--spring)}
.cea-acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cea-act{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:44px;padding:12px;border-radius:18px;background:#fff;border:2px solid var(--line);text-align:left;transition:transform .3s var(--spring),border-color .2s,box-shadow .25s}
.cea-act:hover{transform:translateY(-2px);border-color:var(--line2)}
.cea-act[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 4px 0 var(--ink)}
.cea-act .ti{width:40px;height:40px;margin-bottom:6px;border-radius:13px;display:grid;place-items:center;background:var(--cream2);color:var(--ink2);transition:transform .45s var(--spring),background .25s,color .25s}
.cea-act .ti svg{width:22px;height:22px}
.cea-act[aria-pressed="true"] .ti{background:var(--orange-bg);color:var(--orange-d);transform:rotate(-8deg)}
.cea-act b{font:800 14.5px/1.2 var(--fd)}
.cea-act small{font-size:12px;line-height:1.35;color:var(--ink2);text-wrap:pretty}
.cea-res{display:flex;flex-direction:column;gap:10px}
.cea-rw{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;border-radius:20px;background:var(--cream);border:1.5px dashed var(--line2);text-align:left}
.cea-rn{font:800 48px/1 var(--fd);letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap}
.cea-rn small{font-size:18px;letter-spacing:0;color:var(--ink2)}
.cea-rn.mute{color:var(--line2)}
.cea-rm{display:flex;flex-direction:column;align-items:center;gap:2px}
.cea-rm small{font:700 12px var(--fb);color:var(--ink2)}
.cea-rm b{font:800 38px/1 var(--fd);letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.cea-side{display:flex;gap:10px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:14px;background:#fff;border:1.5px solid var(--line);font:500 13px/1.45 var(--fb);color:var(--ink2);text-wrap:pretty}
.cea-side svg{flex:none;width:20px;height:20px;color:var(--orange-d)}
.cea-side b{color:var(--ink)}
.cea-fe.ph .cea-rm b{font-size:32px}
.cea-fe.ph .cea-rw{gap:10px;padding:14px 10px}
.cea-rn.bump{animation:ceBump .5s var(--spring)}
.cea-ru{font:700 13.5px/1.3 var(--fb);color:var(--ink2)}
.cea-ru em{font:700 18px/1 var(--fh);font-style:normal;color:var(--orange-d)}
.cea-res .cea-msg{margin:0}
.cea-pers{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:16px;background:#EEE8FB;font:600 13.5px/1.45 var(--fb);color:#3F3270;text-wrap:pretty}
.cea-pers .fa{flex:none;width:34px;height:34px}.cea-pers .fa svg{width:100%;height:100%}
.cea-fef{display:flex;gap:10px;justify-content:flex-end;padding:14px 24px 18px;border-top:1.5px dashed var(--line)}
.cea-fb1{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;border-radius:16px;background:var(--orange);color:#fff;font:800 15.5px var(--fd);box-shadow:0 4px 0 var(--orange-d);transition:transform .25s var(--spring),opacity .2s}
.cea-fb1 svg{width:18px;height:18px}
.cea-fb1:hover{transform:translateY(-2px)}
.cea-fb1:disabled{opacity:.4;cursor:default;transform:none}
.cea-fb2{min-height:52px;padding:0 18px;border-radius:16px;font:700 15px var(--fb);color:var(--ink2)}
.cea-fb2:hover{color:var(--ink);background:var(--cream)}
.cea-fe.ph .cea-fb1{flex:1}
.cea-fe.ph .cea-feh{padding:20px 60px 4px 18px}
.cea-fe.ph .cea-feh h2{font-size:23px}
.cea-fe.ph .cea-feb{padding:10px 18px 16px}
.cea-fe.ph .cea-fef{padding:12px 18px 28px}
.cea-fe.ph .cea-acts{grid-template-columns:1fr}
.cea-fe.ph .cea-act{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;column-gap:10px;padding:10px 12px}
.cea-fe.ph .cea-act .ti{grid-row:span 2;margin:0}
.cea-fe.ph .cea-fx input{font-size:26px}
.cea-fe.ph .cea-fx{padding:10px 6px}
.cea-fe.ph .cea-fx:first-child .cea-fxr{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}
.cea-fe.ph .cea-fx:first-child input{grid-column:1/-1;grid-row:1;justify-self:center;width:2.4ch}
.cea-fe.ph .cea-fx:first-child .cea-fs{grid-row:2;width:100%;height:44px;border-radius:12px}
.cea-fe.ph .cea-fx:first-child .u{order:-1;display:none}
.cea-fe.ph .cea-rn{font-size:40px}
@media (max-width:520px){.cea-fe:not(.ph){left:0;right:0;top:auto;bottom:0;width:auto;max-height:92%;border-radius:28px 28px 0 0;transform:translateY(105%)}.cea-fe:not(.ph).on{transform:none}.cea-acts{grid-template-columns:1fr}}
.cea-qm{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1.5px solid var(--line2);font:800 13px/1 var(--fd);color:var(--ink2);transition:background .2s,color .2s,border-color .2s,transform .3s var(--spring)}
.cea-qm:hover{border-color:var(--ink);color:var(--ink);transform:scale(1.08)}
.cea-qm[aria-expanded="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.cea-actw{position:relative;display:flex}
.cea-actw .cea-act{flex:1}
.cea-actw .cea-qm{position:absolute;right:8px;top:8px;width:30px;height:30px}
.cea-tip{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 8px);min-width:220px;padding:12px 14px;border-radius:16px;background:var(--ink);color:#fff;font:500 13px/1.45 var(--fb);box-shadow:0 14px 30px -12px rgba(40,20,5,.5);animation:ceIn .3s var(--spring)}
.cea-tip::before{content:"";position:absolute;right:16px;top:-6px;width:12px;height:12px;background:var(--ink);transform:rotate(45deg)}
.cea-tip b{display:block;margin-bottom:6px;font:800 13.5px var(--fd)}
.cea-tip ul{margin:0;padding:0 0 0 16px;display:grid;gap:3px}
.cea-tip span{display:block;margin-top:8px;font:700 16px/1.1 var(--fh);color:var(--sun,#FFC53D)}
.cea-actw:last-child .cea-tip{left:auto}
.cea-why{align-items:center;color:var(--ink2);font-size:13px}
.cea-why span{flex:1}
.cea-info{padding:14px 16px;border-radius:18px;background:#EEE8FB;color:#3F3270;font:500 13.5px/1.5 var(--fb);animation:ceIn .35s var(--spring)}
.cea-info>b{display:block;font:800 15px var(--fd);color:var(--ink)}
.cea-info p{margin:6px 0 0;text-wrap:pretty}
.cea-info ul{margin:8px 0 0;padding:0 0 0 18px;display:grid;gap:4px}
.cea-info ul b{color:var(--ink)}
.cea-info>span{display:block;margin-top:8px;font:600 11.5px var(--fb);color:#6A5C9A}
.cea-pro{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:18px;background:var(--green-bg,#E6F3E9);color:#1E5E36}
.cea-pro .fa{flex:none;width:36px;height:36px}.cea-pro .fa svg{width:100%;height:100%}
.cea-pro p{margin:0;font:500 13.5px/1.5 var(--fb);text-wrap:pretty}
.cea-pro b{display:block;margin-bottom:2px;font:800 14.5px var(--fd);color:var(--ink)}
.cea-fe.ph .cea-actw .cea-qm{top:50%;margin-top:-15px;right:12px}
.cea-fe.ph .cea-act{padding-right:52px}
.cea-fe.ph .cea-tip{min-width:0}
@media (max-width:520px){.cea-actw .cea-qm{top:50%;margin-top:-15px;right:12px}}
/* démo */
.cea-demo{position:fixed;left:20px;bottom:96px;z-index:50;font-family:var(--fb)}
.cea-demo>button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;background:var(--ink);color:#fff;font:800 13px var(--fd);border:0;cursor:pointer;box-shadow:0 6px 16px -6px rgba(0,0,0,.4)}
.cea-demo .dl{position:absolute;left:0;bottom:48px;width:260px;padding:6px;border-radius:18px;background:#fff;border:2px solid var(--ink);box-shadow:0 5px 0 var(--ink);animation:ceIn .3s var(--spring)}
.cea-demo .dl button{display:block;width:100%;min-height:38px;padding:0 10px;border-radius:10px;border:0;background:none;text-align:left;font:600 13.5px var(--fb);color:var(--ink);cursor:pointer}
.cea-demo .dl button:hover{background:var(--cream)}
.cea-demo .dl b{display:block;margin:6px 10px 4px;font:800 10.5px var(--fb);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.cea *,.cea-demo *{animation:none!important;transition-duration:.01ms!important}}

/* ---- Ajouts Popotam (scripts/assiette-ui-css.py) ---- */
.cea{--card:#fff;--cream:#FFF8EA;--cream2:#FCEFD9;--ink:#2A211B;--ink2:#6A5C4C;--muted:#9C8B79;--line:#EEDFC2;--line2:#E6D3AE;--orange:#F0682F;--orange-d:#DA541E;--orange-bg:#FCE3D8;--green:#33A15B;--green-d:#2C8B4E;--green-bg:#E6F3E9;--green-line:#BFE0C9;--sun:#FFC53D;--sun-bg:#FFF1D2;--pink:#E0578F;--pink-bg:#FCE4EE;--violet:#7A5BD6;--violet-bg:#EEE8FB;--blue:#3B82C4;--blue-bg:#E3EFFA;--dark:#33261B;--fd:"Bricolage Grotesque",system-ui,sans-serif;--fb:"Hanken Grotesk",system-ui,sans-serif;--fh:"Caveat",cursive;--spring:cubic-bezier(.3,1.35,.45,1);--ease:cubic-bezier(.2,.8,.2,1);font-family:var(--fb);color:var(--ink)}
/* Une vraie photo de plat dans l'assiette (le dessin reste en repli si l'image manque). */
.cea .cea-dish i.ph{inset:9%;border-radius:50%;background-color:#F3E7D2;background-size:210%;background-position:50% 56%;background-repeat:no-repeat;opacity:1}
.cea .cea-pl[aria-pressed="false"] .cea-dish i.ph{filter:saturate(.75)}
/* Viande ou poisson à quatre choix (la création propose « Jamais (végétarien) »). */
.cea .cea-vp.q4{grid-template-columns:repeat(4,minmax(0,1fr))}
/* Au téléphone (retour de Jérémy, 04/11/2026) : viande ou poisson en carrés, deux par rangée, centrés (le dernier,
   seul sur sa rangée, se centre à la même largeur). */
@container ceas (max-width:599px){.cea .cea-vp,.cea .cea-vp.q4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cea .cea-vp button{aspect-ratio:1;min-height:0;display:grid;place-items:center;padding:12px;text-align:center;font-size:15.5px;border-radius:20px}.cea .cea-vp button:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 5px)}}
.cea .cea-vpn{margin:0;font-size:13.5px;line-height:1.4;color:var(--ink2)}
.cea .cea-vpn:empty{display:none}
/* Une règle de l'appli met `.fa` en position fixe (le bouton flottant) : la mascotte du composant reste dans sa case. */
.cea .fa{position:relative;inset:auto;z-index:auto;transform:none;box-shadow:none}
/* Plusieurs personnes : le chiffre vaut pour chacun (audit du 04/11/2026). */
.cea .cea-pers2{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;padding:10px 12px;border-radius:14px;background:var(--violet-bg);font-size:13.5px;line-height:1.4;color:var(--ink)}
.cea .cea-pers2 svg{flex:none;width:16px;height:16px;color:var(--violet);margin-top:2px}
/* Le style à plusieurs (04/11/2026) : six tuiles, trois colonnes (deux au téléphone), et une ligne d'aide. */
.cea .cea-sty{grid-template-columns:repeat(3,minmax(0,1fr))}
@container ceas (max-width:599px){.cea .cea-sty{grid-template-columns:repeat(2,minmax(0,1fr))}.cea .cea-st{align-items:center;justify-content:center;text-align:center}.cea .cea-st .ti{margin-left:auto;margin-right:auto}}
.cea .cea-hint{margin:-4px 0 12px;font-size:14px;line-height:1.4;color:var(--ink2)}
/* Accessibilité (audit du 04/11/2026) : un anneau de focus visible, et 44 px de cible au téléphone. */
.cea button:focus-visible,.cea input:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
@media (max-width:600px){.cea .cea-qm{position:relative}.cea .cea-qm::after{content:"";position:absolute;inset:-9px}.cea .cea-chips button,.cea .cea-seg button,.cea .cea-fix{min-height:44px}}
