/* GÉNÉRÉ par scripts/repas-v4-css.py depuis le handoff page_du_repas (22/10/2026) : ne pas modifier à la main. */
:where(.r4) *,:where(.r4) *::before,:where(.r4) *::after{box-sizing:border-box}
.r4{--paper:#FFF9EE;--paper2:#FFF3DF;--card:#fff;--ink:#2A211B;--ink2:#6A5C4C;--muted:#8E7D6B;--line:#EEDFC2;--line2:#E3CFA8;
  --tang:#F0682F;--tang-d:#C9501C;--tang-bg:#FDE7DC;--green:#33A15B;--green-d:#2A7F48;--green-bg:#E6F3E9;
  --sun:#FFC53D;--sun-d:#946500;--sun-bg:#FFF1D2;--pink:#D9416E;--pink-d:#B02E57;--pink-bg:#FCE4EE;--blue:#2F7A93;--blue-d:#235E72;--blue-bg:#E3EEF2;
  --al:#C62D2D;--al-bg:#FDE3E1;--edge:#2A211B;--dark:#33261B;--on-dark:#FFF6E8;--shade:rgba(42,33,27,.38);
  --fd:"Bricolage Grotesque",system-ui,sans-serif;--fb:"Hanken Grotesk",system-ui,sans-serif;--fh:"Caveat",cursive;--sp:cubic-bezier(.3,1.35,.45,1)}
html[data-saison="noel"] .r4{--tang:#C8282E;--tang-d:#A31F25;--tang-bg:#FBE3E2;--green:#2E7D4F;--green-d:#22603C;--green-bg:#E4F0E7;--paper:#FBF7EF;--paper2:#F1F5EE;--sun:#E8B23A}
:where(.r4) [hidden]{display:none!important}
:where(.r4) a{color:var(--tang-d)}
:where(.r4) a:hover{color:var(--tang)}
:where(.r4) button{font:inherit;color:inherit;cursor:pointer}
:where(.r4) svg{display:block}
.r4 .r4-hd{position:relative;padding:14px 18px 22px;background:var(--tang-bg);border-bottom:2px solid var(--edge)}
.r4 .r4-hd-top{display:flex;justify-content:space-between}
.r4 .r4-ib{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.78);display:grid;place-items:center;color:var(--ink);transition:transform .3s var(--sp)}
.r4 .r4-ib:hover{transform:scale(1.06)}
.r4 .r4-ib.r4-bk svg{transform:scaleX(-1)}
.r4 .r4-hd-b{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:4px}
.r4 .r4-occ{display:inline-block;font:700 29px/1 var(--fh);color:var(--tang-d);rotate:-1.5deg}
.r4 .r4-hd h1{margin:6px 0 0;font:800 25px/1.1 var(--fd);letter-spacing:-.02em;text-wrap:balance}
.r4 .r4-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.r4 .r4-pl{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;background:var(--card);border:1.5px solid var(--line2);font:700 12.5px var(--fb);color:var(--ink2);white-space:nowrap}
.r4 .r4-pl.r4-hot{background:var(--tang);border-color:var(--tang);color:#fff}
.r4 .r4-with{display:flex;align-items:center;gap:8px;margin-top:12px;font:600 13.5px/1.35 var(--fb);color:var(--ink2);text-wrap:pretty}
.r4 .r4-with b{color:var(--ink)}
.r4 .r4-avs{display:flex;flex:none}
.r4 .r4-avs .r4-av+.r4-av{margin-left:-8px}
.r4 .r4-av{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--pc,var(--tang));color:#fff;font:800 13px/1 var(--fd);border:2px solid var(--card)}
.r4 .r4-av svg{width:58%;height:58%}
.r4 .r4-av.r4-xs{width:22px;height:22px;font-size:10px;border-width:1.5px}
.r4 .r4-av.r4-md{width:40px;height:40px;font-size:16px;border-color:var(--edge)}
.r4 .r4-av.r4-lg{width:44px;height:44px;font-size:18px;border-color:var(--edge)}
.r4 .r4-av.r4-ghost{background:var(--card);color:var(--muted);border:2px dashed var(--line2)}
.r4 .r4-dish{position:relative;width:98px;height:98px;margin:0 6px 2px 0}
.r4 .r4-pt{position:absolute;inset:0;border-radius:50%;background:var(--card);border:2px solid var(--edge);box-shadow:0 4px 0 var(--edge)}
.r4 .r4-pt::before{content:"";position:absolute;inset:8%;border-radius:50%;border:2px dashed var(--line2)}
.r4 .r4-fdd{position:absolute;inset:20%;border-radius:50%;background:var(--t);border:2px solid var(--edge);display:grid;place-items:center;rotate:-8deg;transition:rotate .5s var(--sp)}
.r4 .r4-fdd svg{width:80%;height:80%}
.r4 .r4-dish:hover .r4-fdd{rotate:10deg}
.r4 .r4-cl{position:absolute;left:8%;top:2%;width:84%;transform-origin:50% 90%;animation:r4-lift 1.2s cubic-bezier(.5,0,.3,1) .5s both}
.r4 .r4-still .r4-cl{display:none}
@keyframes r4-lift{0%{translate:0 0;rotate:0deg;opacity:1}18%{translate:0 -6%;rotate:-7deg}34%{translate:0 2%;rotate:5deg}80%{translate:6% -100%;rotate:-16deg;opacity:1}100%{translate:14% -150%;rotate:-26deg;opacity:0}}
.r4 .r4-dish .r4-tag{position:absolute;right:-10px;bottom:0;padding:2px 9px 3px;border-radius:999px;background:var(--sun);border:2px solid var(--edge);font:700 17px/1 var(--fh);color:var(--ink);rotate:7deg;white-space:nowrap}
.r4 .r4-tabs{position:sticky;top:0;z-index:20;display:flex;gap:4px;padding:8px 12px;background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1.5px solid var(--line);overflow-x:auto;scrollbar-width:none}
.r4 .r4-tabs::-webkit-scrollbar{display:none}
.r4 .r4-tabs a{position:relative;z-index:1;flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:999px;font:700 13.5px var(--fb);color:var(--ink2);text-decoration:none;transition:color .25s}
.r4 .r4-tabs a.r4-on{color:var(--on-dark)}
.r4 .r4-tp{position:absolute;left:0;top:8px;height:40px;border-radius:999px;background:var(--dark);transition:transform .42s var(--sp),width .42s var(--sp)}
.r4 .r4-bd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--tang);color:#fff;font:800 11.5px/1 var(--fb);font-style:normal;white-space:nowrap}
.r4 .r4-bd svg{width:13px;height:13px}
.r4 .r4-bd.r4-ok{background:var(--green-bg);color:var(--green-d)}
.r4 .r4-bd.r4-dk{background:var(--line);color:var(--ink2)}
.r4 .r4-tabs a.r4-on .r4-bd.r4-dk,.r4 .r4-tabs a.r4-on .r4-bd.r4-ok{background:rgba(255,255,255,.16);color:#fff}
.r4 .r4-pg{padding:16px 16px 40px}
.r4 .r4-pg{container-type:inline-size}
@container (min-width:900px){.r4 .r4-cols{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
.r4 .r4-aside{position:sticky;top:20px}
.r4 .r4-aside .r4-sec:first-child{margin-top:0}
.r4 .r4-main>.r4-sec:first-child{margin-top:0}}
.r4 .r4-sec{margin-top:26px;scroll-margin-top:66px}
.r4 .r4-aside .r4-sec:first-child{margin-top:26px}
.r4 .r4-sh2{display:flex;align-items:baseline;gap:4px 10px;flex-wrap:wrap;margin:0 2px 12px}
.r4 .r4-sh2 h2{margin:0;font:800 21px/1.15 var(--fd);letter-spacing:-.01em}
.r4 .r4-hand{font:700 19px/1.1 var(--fh);color:var(--tang-d)}
.r4 .r4-sh2 .r4-add{margin-left:auto}
.r4 .r4-card{padding:16px;border-radius:24px;background:var(--card);border:1.5px solid var(--line)}
.r4 .r4-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border:0;border-radius:16px;background:var(--tang);color:#fff;font:800 15px var(--fd);box-shadow:0 3px 0 var(--tang-d);transition:transform .3s var(--sp)}
.r4 .r4-btn:hover{transform:translateY(-2px)}
.r4 .r4-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--tang-d)}
.r4 .r4-btn:disabled{opacity:.45;pointer-events:none}
.r4 .r4-btn.r4-gh{background:var(--card);color:var(--ink);border:1.5px solid var(--line2);box-shadow:none}
.r4 .r4-btn.r4-full{width:100%}
.r4 .r4-lk{border:0;background:none;padding:0;font:700 13px var(--fb);color:var(--tang-d);text-decoration:underline;text-underline-offset:3px}
.r4 .r4-lk.r4-del{color:var(--al)}
.r4 .r4-prep{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:20px;background:var(--card);border:2px solid var(--edge);box-shadow:0 4px 0 var(--edge)}
.r4 .r4-prep .r4-pf{flex:none;width:52px;height:52px;border-radius:16px;overflow:hidden;background:var(--tang-bg);rotate:-5deg}
.r4 .r4-prep .r4-pf svg{width:100%;height:100%}
.r4 .r4-prep.r4-ok .r4-pf{background:var(--green-bg)}
.r4 .r4-prep p{margin:0;flex:1;min-width:0;font:600 14px/1.4 var(--fb);color:var(--ink2);text-wrap:pretty}
.r4 .r4-prep p b{display:block;font:800 16px/1.25 var(--fd);color:var(--ink)}
.r4 .r4-prep .r4-pg2{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.r4 .r4-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;border:1.5px solid var(--line2);background:var(--paper);font:700 12.5px var(--fb);color:var(--ink)}
.r4 .r4-chip:hover{border-color:var(--ink2)}
.r4 .r4-mn{display:flex;flex-direction:column;gap:10px}
.r4 .r4-mc{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border-radius:20px;background:var(--card);border:1.5px solid var(--line)}
.r4 .r4-tl{width:62px;height:62px;border-radius:18px;background:var(--t);border:2px solid var(--edge);display:grid;place-items:center;rotate:-4deg;transition:rotate .45s var(--sp)}
.r4 .r4-tl svg{width:78%;height:78%}
.r4 .r4-mc:hover .r4-tl{rotate:4deg}
.r4 .r4-mx{min-width:0}
.r4 .r4-mx .r4-lb{display:block;font:800 10.5px var(--fb);letter-spacing:.12em;text-transform:uppercase;color:var(--tang-d)}
.r4 .r4-mx>b{display:block;margin-top:3px;font:800 16px/1.25 var(--fd);text-wrap:pretty}
.r4 .r4-mx>small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}
.r4 .r4-mx .r4-vr{display:block;margin-top:6px;font:700 17px/1.2 var(--fh);color:var(--ink2)}
.r4 .r4-mx .r4-vr b{color:var(--sun-d)}
.r4 .r4-cf{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:3px 10px 3px 3px;border-radius:999px;background:var(--pb);color:var(--pd);font:700 12px var(--fb)}
.r4 .r4-qm{margin-top:10px;border-radius:18px;background:var(--paper2)}
.r4 .r4-qm summary{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;font:800 14px var(--fd);cursor:pointer;list-style:none}
.r4 .r4-qm summary::-webkit-details-marker{display:none}
.r4 .r4-qm summary small{font:600 12.5px var(--fb);color:var(--muted)}
.r4 .r4-qm summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2.5px solid var(--ink2);border-bottom:2.5px solid var(--ink2);rotate:45deg;translate:0 -2px;transition:rotate .3s var(--sp)}
.r4 .r4-qm[open] summary::after{rotate:225deg;translate:0 2px}
.r4 .r4-qm-r{display:flex;align-items:center;gap:10px;padding:8px 14px;border-top:1px dashed var(--line2)}
.r4 .r4-qm-r:last-child{padding-bottom:12px}
.r4 .r4-qm-n{flex:1;min-width:0;font:700 13.5px var(--fb)}
.r4 .r4-qm-n small{display:block;font:600 11.5px var(--fb);color:var(--muted)}
.r4 .r4-qm-p{display:flex;gap:6px}
.r4 .r4-qp{width:30px;height:30px;border-radius:50%;background:var(--card);border:2.5px solid var(--green);display:grid;place-items:center;overflow:hidden}
.r4 .r4-qp i{width:20px;height:20px;border-radius:50%;background:var(--t);display:grid;place-items:center}
.r4 .r4-qp i svg{width:100%;height:100%}
.r4 .r4-qp.r4-v{border-color:var(--sun)}
.r4 .r4-add{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px 0 12px;border:0;border-radius:999px;background:var(--tang);color:#fff;font:800 14px var(--fd);box-shadow:0 3px 0 var(--tang-d);transition:transform .3s var(--sp)}
.r4 .r4-add:hover{transform:translateY(-2px)}
.r4 .r4-bac{padding:14px;border-radius:22px;border:2px dashed var(--tang);background:var(--tang-bg)}
.r4 .r4-bac.r4-over,.r4 .r4-pc.r4-over{outline:4px solid color-mix(in srgb,var(--pc,var(--tang)) 30%,transparent);outline-offset:2px}
.r4 .r4-bac-h{display:flex;align-items:center;gap:8px;margin:0 2px 10px;font:800 15px var(--fd);color:var(--tang-d)}
.r4 .r4-bac-h small{margin-left:auto;font:600 12px var(--fb);color:var(--ink2)}
.r4 .r4-bac.r4-ok{display:flex;align-items:center;gap:12px;border-style:solid;border-color:var(--green);background:var(--green-bg);color:var(--green-d);font:600 14px/1.4 var(--fb)}
.r4 .r4-bac.r4-ok b{color:var(--ink)}
.r4 .r4-bac.r4-ok .r4-okc{flex:none;width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}
.r4 .r4-bac.r4-empty{display:flex;align-items:center;gap:12px;border-color:var(--line2);background:var(--paper2);font:600 14px/1.4 var(--fb);color:var(--ink2)}
.r4 .r4-bac.r4-empty b{color:var(--ink)}
.r4 .r4-bac.r4-empty .r4-pf{flex:none;width:48px;height:48px;border-radius:15px;overflow:hidden;background:var(--sun-bg);rotate:-5deg}
.r4 .r4-bac.r4-empty .r4-pf svg{width:100%;height:100%}
.r4 .r4-its{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.r4 .r4-it{display:flex;align-items:center;gap:8px}
.r4 .r4-it-m{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:58px;padding:7px 8px 7px 8px;border-radius:16px;border:1.5px solid var(--line);background:var(--card);text-align:left;transition:transform .3s var(--sp),border-color .2s}
.r4 button.r4-it-m:hover{border-color:var(--line2);transform:translateY(-1px)}
.r4 .r4-it[draggable="true"] .r4-it-m{cursor:grab}
.r4 .r4-it.r4-drag .r4-it-m{opacity:.4}
.r4 .r4-ci{flex:none;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--cb);color:var(--cc);rotate:-4deg}
.r4 .r4-ci.r4-dish{background:var(--t);border:1.5px solid var(--edge)}
.r4 .r4-ci.r4-dish svg{width:80%;height:80%}
.r4 .r4-c-blue{--cb:var(--blue-bg);--cc:var(--blue-d)}
.r4 .r4-c-sun{--cb:var(--sun-bg);--cc:var(--sun-d)}
.r4 .r4-c-green{--cb:var(--green-bg);--cc:var(--green-d)}
.r4 .r4-c-pink{--cb:var(--pink-bg);--cc:var(--pink-d)}
.r4 .r4-c-tang{--cb:var(--tang-bg);--cc:var(--tang-d)}
.r4 .r4-c-ink{--cb:var(--line);--cc:var(--ink)}
.r4 .r4-it-t{flex:1;min-width:0}
.r4 .r4-it-t b{display:block;font:700 14.5px/1.25 var(--fb);text-wrap:pretty}
.r4 .r4-it-t small{display:block;margin-top:1px;font-size:12.5px;color:var(--muted)}
.r4 .r4-it-go{flex:none;display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 10px;border-radius:11px;background:var(--tang);color:#fff;font:800 12.5px var(--fd)}
.r4 .r4-it-st{flex:none;padding:3px 9px;border-radius:999px;background:var(--green-bg);color:var(--green-d);font:800 11.5px var(--fb)}
.r4 .r4-it-ck{flex:none;width:44px;height:44px;border-radius:14px;border:2px solid var(--line2);background:var(--card);display:grid;place-items:center;color:transparent;transition:all .35s var(--sp)}
.r4 .r4-it-ck[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff;rotate:-6deg}
.r4 .r4-it.r4-done .r4-it-t b{text-decoration:line-through;text-decoration-thickness:1.5px;color:var(--muted)}
.r4 .r4-sug-h{margin:16px 2px 6px}
.r4 .r4-sug{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}
.r4 .r4-sug::-webkit-scrollbar{display:none}
@container (min-width:600px){.r4 .r4-sug{flex-wrap:wrap;overflow:visible}}
.r4 .r4-sg{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 12px 0 5px;border-radius:999px;border:1.5px dashed var(--line2);background:var(--card);font:700 13px var(--fb);transition:transform .3s var(--sp),border-color .2s}
.r4 .r4-sg:hover{border-style:solid;border-color:var(--tang);transform:translateY(-2px)}
.r4 .r4-sg .r4-ci{width:34px;height:34px;border-radius:50%;rotate:0deg}
.r4 .r4-sg em{font-style:normal;font-weight:600;color:var(--muted)}
.r4 .r4-sg>svg{color:var(--tang-d)}
.r4 .r4-pcs{display:grid;gap:12px;margin-top:14px}
.r4 .r4-pcs{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.r4 .r4-pc{padding:12px;border-radius:22px;background:var(--card);border:2px solid var(--edge);box-shadow:0 4px 0 var(--edge);transition:outline-color .2s}
.r4 .r4-pc.r4-me{background:var(--paper2)}
.r4 .r4-pc-h{display:flex;align-items:center;gap:10px}
.r4 .r4-pc-t{flex:1;min-width:0}
.r4 .r4-pc-t b{display:block;font:800 16.5px/1.2 var(--fd)}
.r4 .r4-pc-t small{display:block;font-size:12.5px;color:var(--muted);text-wrap:pretty}
.r4 .r4-sent{flex:none;display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:var(--green-bg);color:var(--green-d);font:800 11.5px var(--fb)}
.r4 .r4-pc .r4-its{margin-top:10px}
.r4 .r4-pc .r4-it-m{background:var(--paper);border-color:transparent}
.r4 .r4-pc.r4-me .r4-it-m{background:var(--card)}
.r4 .r4-pc-e{margin:10px 0 0;padding:12px;border-radius:14px;border:1.5px dashed var(--line2);font-size:13px;color:var(--muted);text-align:center;text-wrap:balance}
.r4 .r4-pc-send{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;margin-top:10px;border:0;border-radius:14px;background:var(--pb);color:var(--pd);font:800 14px var(--fd);transition:transform .3s var(--sp),filter .2s}
.r4 .r4-pc-send:hover{transform:translateY(-2px);filter:saturate(1.2)}
.r4 .r4-pc.r4-anon{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;align-items:center;border-style:dashed;border-color:var(--line2);box-shadow:none;background:transparent}
.r4 .r4-pc.r4-anon .r4-btn{grid-column:1/-1;min-height:44px}
.r4 .r4-qa-n{display:flex;align-items:center;gap:8px;margin:14px 4px 0;font-size:13px;color:var(--muted)}
.r4 .r4-qa-n svg{flex:none;color:var(--green-d)}
.r4 .r4-dr-q{margin:0 0 8px;font:700 14px var(--fb)}
.r4 .r4-hrs{display:flex;gap:6px;flex-wrap:wrap}
.r4 .r4-hr{min-height:40px;padding:0 13px;border-radius:999px;border:1.5px solid var(--line2);background:var(--card);font:700 13.5px var(--fb);transition:all .3s var(--sp)}
.r4 .r4-hr:hover{border-color:var(--ink2)}
.r4 .r4-hr[aria-checked="true"]{background:var(--dark);border-color:var(--dark);color:var(--on-dark)}
.r4 .r4-dr-tip{display:flex;align-items:center;gap:10px;margin:14px 0 0;padding:10px 12px;border-radius:16px;background:var(--sun-bg);font:600 13px/1.4 var(--fb);color:var(--ink2)}
.r4 .r4-dr-tip .r4-pf{flex:none;width:40px;height:40px;border-radius:12px;overflow:hidden;background:var(--card)}
.r4 .r4-dr-tip .r4-pf svg{width:100%;height:100%}
.r4 .r4-fr{position:relative;list-style:none;margin:16px 0 0;padding:0}
.r4 .r4-fr::before{content:"";position:absolute;left:59px;top:12px;bottom:14px;border-left:2px dashed var(--line2)}
.r4 .r4-fr-g{position:relative;margin:12px 0 6px 76px;font:800 10.5px var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--tang-d)}
.r4 .r4-fr-g:first-child{margin-top:0}
.r4 .r4-fr-s{position:relative;display:grid;grid-template-columns:48px 26px minmax(0,1fr);gap:0 4px;align-items:start;padding:5px 0}
.r4 .r4-fr-s .r4-t{padding-top:2px;text-align:right;font:800 13px var(--fd);font-variant-numeric:tabular-nums;white-space:nowrap}
.r4 .r4-fr-s .r4-dot{z-index:1;justify-self:center;width:14px;height:14px;margin-top:4px;border-radius:50%;background:var(--card);border:2.5px solid var(--tang)}
.r4 .r4-fr-s .r4-x{min-width:0}
.r4 .r4-fr-s .r4-x b{display:block;font:700 14px/1.3 var(--fb);text-wrap:pretty}
.r4 .r4-fr-s .r4-x small{display:block;margin-top:1px;font-size:12.5px;line-height:1.35;color:var(--muted);text-wrap:pretty}
.r4 .r4-fr-s.r4-guest .r4-dot{width:22px;height:22px;margin-top:0;border:0;background:none}
.r4 .r4-fr-s.r4-guest .r4-dot .r4-av{width:22px;height:22px}
.r4 .r4-fr-s.r4-guest .r4-x b{font-weight:600;color:var(--ink2)}
.r4 .r4-fr-s.r4-done .r4-dot{background:var(--green);border-color:var(--green)}
.r4 .r4-fr-s.r4-done .r4-x b{text-decoration:line-through;color:var(--muted)}
.r4 .r4-fr-s.r4-next .r4-x{margin:-4px 0 0;padding:6px 10px 8px;border-radius:14px;background:var(--tang-bg)}
.r4 .r4-fr-s.r4-next .r4-dot{background:var(--tang);animation:r4-nowp 1.6s ease-out infinite}
@keyframes r4-nowp{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--tang) 50%,transparent)}100%{box-shadow:0 0 0 10px transparent}}
.r4 .r4-now{display:block;font:800 10.5px var(--fb);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--tang-d)}
.r4 .r4-fr-s.r4-end .r4-t{color:var(--tang-d);font-size:15px}
.r4 .r4-fr-s.r4-end .r4-dot{width:22px;height:22px;margin-top:0;background:var(--tang);border-color:var(--edge);border-width:2px}
.r4 .r4-fr-s.r4-end .r4-x b{font:800 18px var(--fd);color:var(--tang-d)}
.r4 .r4-fr.r4-ghost .r4-t{color:var(--line2)}
.r4 .r4-fr.r4-ghost .r4-fr-s .r4-x{opacity:.55}
.r4 .r4-nx{margin:0 0 12px;font-size:14px;line-height:1.45;color:var(--ink2)}
.r4 .r4-nx-b{display:flex;flex-direction:column;gap:8px}
.r4 .r4-co-h{display:flex;align-items:center;gap:12px}
.r4 .r4-co-i{flex:none;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:var(--green-bg);color:var(--green-d);rotate:-5deg}
.r4 .r4-co-h b{display:block;font:800 17px var(--fd)}
.r4 .r4-co-h small{display:block;font-size:12.5px;color:var(--muted)}
.r4 .r4-co-r{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.r4 .r4-co-r span{display:inline-flex;gap:5px;padding:4px 10px;border-radius:999px;background:var(--paper2);font:600 12px var(--fb);color:var(--ink2)}
.r4 .r4-co-r b{color:var(--ink)}
.r4 .r4-co-al{display:flex;gap:8px;align-items:flex-start;margin:0 0 12px;font-size:12.5px;line-height:1.4;color:var(--ink2)}
.r4 .r4-co-al svg{flex:none;color:var(--al)}
.r4 .r4-docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.r4 .r4-dc{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:112px;padding:14px;border-radius:20px;background:var(--card);border:1.5px solid var(--line);color:var(--ink);text-decoration:none;text-align:left;transition:transform .3s var(--sp),border-color .2s}
.r4 .r4-dc:hover{transform:translateY(-3px);border-color:var(--line2);color:var(--ink)}
.r4 .r4-dc .r4-di{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--tang-bg);color:var(--tang-d);rotate:-4deg;transition:rotate .45s var(--sp)}
.r4 .r4-dc:hover .r4-di{rotate:6deg}
.r4 .r4-dc b{font:800 14.5px/1.2 var(--fd);text-wrap:balance}
.r4 .r4-dc small{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}
.r4 .r4-dc.r4-priv{background:var(--dark);border-color:var(--dark);color:var(--on-dark)}
.r4 .r4-dc.r4-priv:hover{color:var(--on-dark)}
.r4 .r4-dc.r4-priv .r4-di{background:rgba(255,255,255,.12);color:var(--sun)}
.r4 .r4-dc.r4-priv small{color:var(--sun)}
.r4 .r4-del{margin-top:34px;text-align:center}
.r4 .r4-del .r4-cfm{display:inline-flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-radius:18px;background:var(--al-bg);font-size:13.5px;color:var(--ink2)}
.r4 .r4-del .r4-cfm div{display:flex;gap:8px}
.r4 .r4-del .r4-btn.r4-al{background:var(--al);box-shadow:0 3px 0 color-mix(in srgb,var(--al) 70%,#000)}
.r4 .r4-shw{position:absolute;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}
.r4 .r4-shw .r4-bgd{position:absolute;inset:0;background:var(--shade);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.r4 .r4-sh{position:relative;width:100%;max-height:90%;overflow:auto;overscroll-behavior:contain;padding:12px 18px 22px;border-radius:28px 28px 0 0;background:var(--card);box-shadow:0 -20px 50px -20px rgba(0,0,0,.4)}
.r4 .r4-sh::before{content:"";display:block;width:44px;height:5px;margin:0 auto 12px;border-radius:3px;background:var(--line2)}
.r4 .r4-sh-x{position:absolute;right:12px;top:14px;width:44px;height:44px;border:0;border-radius:50%;background:var(--paper2);display:grid;place-items:center;color:var(--ink2);transition:transform .35s var(--sp)}
.r4 .r4-sh-x:hover{transform:rotate(90deg)}
.r4 .r4-sh h3{margin:2px 48px 4px 0;font:800 22px/1.15 var(--fd);letter-spacing:-.01em}
.r4 .r4-sh .r4-sub{margin:0 0 14px;font-size:14px;line-height:1.45;color:var(--ink2)}
.r4 .r4-sh-it{display:flex;align-items:center;gap:12px;margin:2px 48px 16px 0}
.r4 .r4-sh-it .r4-ci{width:56px;height:56px;border-radius:17px}
.r4 .r4-sh-it small{display:block;font:800 10.5px var(--fb);letter-spacing:.12em;text-transform:uppercase;color:var(--tang-d)}
.r4 .r4-sh-it b{display:block;font:800 19px/1.2 var(--fd)}
.r4 .r4-sh-it em{display:block;font-style:normal;font-size:13px;color:var(--muted)}
.r4 .r4-who{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.r4 .r4-wt{position:relative;display:flex;align-items:center;gap:10px;min-height:66px;padding:10px 12px;border-radius:18px;border:2px solid var(--line);background:var(--card);text-align:left;transition:transform .3s var(--sp),border-color .2s,background .2s}
.r4 .r4-wt:hover{transform:translateY(-2px);border-color:var(--pc,var(--ink2))}
.r4 .r4-wt b{display:block;font:800 15px/1.2 var(--fd)}
.r4 .r4-wt small{display:block;font-size:12px;color:var(--muted)}
.r4 .r4-wt[aria-pressed="true"],.r4 .r4-wt[aria-checked="true"]{border-color:var(--pc,var(--ink));background:var(--pb,var(--paper2))}
.r4 .r4-wt .r4-wk{position:absolute;right:-6px;top:-6px;width:24px;height:24px;border-radius:50%;background:var(--pc);color:#fff;display:grid;place-items:center;border:2px solid var(--card)}
.r4 .r4-wt.r4-none{grid-column:1/-1;justify-content:center;min-height:48px;border-style:dashed;font:700 13.5px var(--fb);color:var(--ink2)}
.r4 .r4-who.r4-sm{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.r4 .r4-who.r4-sm .r4-wt{min-height:52px;padding:6px 8px;gap:8px}
.r4 .r4-who.r4-sm .r4-wt b{font-size:13.5px}
.r4 .r4-note{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0;padding:10px 12px;border-radius:14px;background:var(--paper2);font-size:13px;line-height:1.45;color:var(--ink2)}
.r4 .r4-note svg{flex:none;margin-top:1px;color:var(--green-d)}
.r4 .r4-note.r4-pv{background:var(--sun-bg)}
.r4 .r4-note.r4-pv svg{color:var(--sun-d)}
.r4 .r4-fine{margin:12px 2px 0;font-size:12.5px;line-height:1.45;color:var(--muted);text-wrap:pretty}
.r4 .r4-sh-a{display:flex;justify-content:center;margin-top:12px}
.r4 .r4-fld{display:block;margin:0 0 14px}
.r4 .r4-fld>span{display:block;margin:0 0 6px;font:800 13px var(--fd)}
.r4 .r4-fld input{display:block;width:100%;min-height:52px;padding:0 14px;border-radius:15px;border:2px solid var(--edge);background:var(--paper);font:600 16px var(--fb);color:var(--ink);box-shadow:0 3px 0 var(--edge)}
.r4 .r4-fld input:focus{outline:none;box-shadow:0 0 0 4px var(--tang-bg),0 3px 0 var(--edge)}
.r4 .r4-fld small{display:block;margin-top:6px;font-size:12px;color:var(--muted)}
.r4 .r4-lbl{margin:0 0 8px;font:800 13px var(--fd)}
.r4 .r4-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
.r4 .r4-cat{display:flex;flex-direction:column;align-items:center;gap:5px;min-height:74px;padding:8px 4px;border-radius:16px;border:2px solid var(--line);background:var(--card);font:700 12px/1.15 var(--fb);text-align:center;transition:transform .3s var(--sp),border-color .2s,background .2s}
.r4 .r4-cat:hover{transform:translateY(-2px)}
.r4 .r4-cat[aria-checked="true"]{border-color:var(--cc);background:var(--cb)}
.r4 .r4-cat[aria-checked="true"] .r4-ci{background:var(--card);rotate:-10deg}
.r4 .r4-sh-f{position:sticky;bottom:-22px;margin:16px -18px -22px;padding:12px 18px 18px;background:linear-gradient(transparent,var(--card) 26%)}
.r4 .r4-ms-h{display:flex;align-items:center;gap:12px;margin:2px 48px 14px 0}
.r4 .r4-ms-h small{display:block;font:800 10.5px var(--fb);letter-spacing:.12em;text-transform:uppercase;color:var(--tang-d)}
.r4 .r4-ms-h b{display:block;font:800 20px var(--fd)}
.r4 .r4-bub{position:relative;padding:12px 14px 22px;border-radius:22px 22px 22px 6px;background:var(--green-bg);border:1.5px solid color-mix(in srgb,var(--green) 30%,transparent)}
.r4 .r4-bub textarea{display:block;width:100%;min-height:150px;resize:vertical;border:0;background:none;font:500 15px/1.5 var(--fb);color:var(--ink)}
.r4 .r4-bub textarea:focus{outline:none}
.r4 .r4-bub-t{position:absolute;right:12px;bottom:6px;font:700 15px var(--fh);color:var(--green-d)}
.r4 .r4-vias{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.r4 .r4-via{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:64px;border:2px solid var(--edge);border-radius:16px;background:var(--card);font:800 13px var(--fd);box-shadow:0 3px 0 var(--edge);transition:transform .3s var(--sp)}
.r4 .r4-via:hover{transform:translateY(-2px)}
.r4 .r4-via.r4-wa{background:var(--green);color:#fff}
.r4 .r4-via.r4-ok{background:var(--green-bg);color:var(--green-d)}
.r4 .r4-seg{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;margin-bottom:14px;border-radius:16px;background:var(--paper2)}
.r4 .r4-seg::before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:12px;background:var(--dark);transition:transform .42s var(--sp)}
.r4 .r4-seg.r4-r::before{transform:translateX(100%)}
.r4 .r4-seg button{position:relative;z-index:1;min-height:44px;border:0;background:none;font:700 14px var(--fb);color:var(--ink2);transition:color .25s}
.r4 .r4-seg button[aria-selected="true"]{color:var(--on-dark)}
.r4 .r4-txt{margin:0;padding:14px 16px;border-radius:18px;background:var(--paper2);font:500 14px/1.55 var(--fb);white-space:pre-wrap;color:var(--ink)}
.r4 .r4-sc{position:relative;width:min(300px,100%);aspect-ratio:1;margin:0 auto;padding:22px;border-radius:6px;background:var(--card);box-shadow:0 18px 30px -18px rgba(60,30,10,.5);display:flex;flex-direction:column;align-items:center;text-align:center;rotate:-1.5deg}
.r4 .r4-sc::before{content:"";position:absolute;inset:8px;border:2px solid var(--edge);border-radius:4px}
.r4 .r4-sc::after{content:"";position:absolute;inset:12px;border:1px dashed var(--line2);border-radius:3px}
.r4 .r4-sc .r4-k{font:800 8px var(--fb);letter-spacing:.3em;text-transform:uppercase}
.r4 .r4-sc .r4-o{margin-top:6px;font:700 28px/1 var(--fh);color:var(--tang)}
.r4 .r4-sc .r4-w{margin-top:4px;font:600 9.5px var(--fb);color:var(--ink2)}
.r4 .r4-sc .r4-s{margin-top:12px;display:flex;flex-direction:column;gap:7px}
.r4 .r4-sc .r4-s span{display:block;font:800 7px var(--fb);letter-spacing:.24em;text-transform:uppercase;color:var(--tang)}
.r4 .r4-sc .r4-s b{display:block;font:800 11.5px/1.2 var(--fd)}
.r4 .r4-sc .r4-s i{display:block;font:700 12px var(--fh);font-style:normal;color:var(--ink2)}
.r4 .r4-sc .r4-f{margin-top:auto;display:flex;align-items:center;gap:6px;font:700 15px var(--fh)}
.r4 .r4-sc .r4-f .r4-pf{width:26px;height:26px;border-radius:8px;overflow:hidden;background:var(--tang-bg)}
.r4 .r4-sc .r4-f .r4-pf svg{width:100%;height:100%}
.r4 .r4-sh-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.r4 .r4-toast{position:absolute;left:0;right:0;bottom:22px;z-index:80;width:max-content;max-width:calc(100% - 32px);margin:0 auto;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;border-radius:18px;background:var(--dark);color:var(--on-dark);font:600 13.5px/1.35 var(--fb);box-shadow:0 18px 30px -14px rgba(0,0,0,.5)}
.r4 .r4-toast button{flex:none;min-height:36px;padding:0 12px;border:0;border-radius:11px;background:rgba(255,255,255,.14);color:#fff;font:800 13px var(--fd)}
@media (prefers-reduced-motion:reduce){:where(.r4) *{animation:none!important;transition-duration:.01ms!important}
.r4 .r4-cl{display:none}}
/* ---------- propres à l'appli (scripts/repas-v4-css.py, EXTRA) ---------- */
.r4{font-family:var(--fb);color:var(--ink);line-height:1.4;text-align:left;background:var(--paper)}
/* La page vit dans l'écran de l'appli : elle prend toute la largeur au téléphone, et se centre à l'ordinateur. */
.r4.r4-page{margin:-16px -16px 0;min-height:100%}
@media (min-width:768px){
  .r4.r4-page{margin:0 auto;max-width:1180px;border-radius:24px;overflow:clip;border:1.5px solid var(--line)}
  .r4 .r4-pg{padding:26px 28px 50px}
  .r4 .r4-tabs{display:none}
}
/* Les raccourcis collent sous l'en-tête de l'appli. */
.r4 .r4-tabs{top:var(--r4-haut,0px)}
/* Les feuilles et les messages : une couche fixe, au-dessus de l'appli (ses fenêtres vont jusqu'à 430). */
.r4.r4-couche{position:fixed;inset:0;z-index:440;pointer-events:none;background:none}
.r4.r4-couche>*{pointer-events:auto}
.r4 .r4-shw{position:fixed}
@media (max-width:767px){.r4 .r4-sh{scrollbar-width:none}.r4 .r4-sh::-webkit-scrollbar{display:none}}
@media (min-width:768px){
  .r4 .r4-shw{align-items:center}
  .r4 .r4-sh{width:min(560px,92%);max-height:86%;padding:24px 26px;border-radius:28px;border:2px solid var(--edge);box-shadow:0 6px 0 var(--edge),0 40px 70px -30px rgba(0,0,0,.5)}
  .r4 .r4-sh::before{display:none}
  .r4 .r4-sh-f{bottom:-24px;margin:16px -26px -24px;padding:12px 26px 22px}
}
.r4 .r4-toast{position:fixed;bottom:calc(96px + env(safe-area-inset-bottom,0px))}
@media (min-width:768px){.r4 .r4-toast{bottom:28px}}
/* À l'ordinateur, les deux colonnes ne collent pas à la phrase de Popotam (oubli de la maquette). */
@container (min-width:900px){.r4 .r4-cols{margin-top:26px}}
/* Une photo de plat dans une vignette. */
.r4 .r4-tl img,.r4 .r4-ci.r4-dish img,.r4 .r4-fdd img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.r4 .r4-tl.r4-photo,.r4 .r4-ci.r4-photo,.r4 .r4-fdd.r4-photo{overflow:hidden}
/* Lire / Écrire la recette, sous chaque service. */
.r4 .r4-rec{display:inline-flex;align-items:center;gap:6px;margin-top:8px;min-height:36px;padding:0 12px;border-radius:999px;border:1.5px dashed var(--tang);background:none;font:800 12.5px var(--fd);color:var(--tang-d)}
.r4 .r4-rec.r4-lu{border-style:solid;background:var(--tang-bg)}
/* Ceux qui ne peuvent pas manger un service. */
.r4 .r4-mx .r4-x{display:block;margin-top:6px;font:600 12.5px/1.35 var(--fb);color:var(--al)}
