/* GÉNÉRÉ par scripts/courses-haut-css.py depuis Refontes/design_handoff_haut_courses/haut-courses.html :
   ne pas modifier à la main. Le haut de la liste de courses (14/10/2026), classes ch-. */
.ch-haut,.ch-cal,.ch-cscrim{--ch-card:#fff;--ch-cream:#FFF8EA;--ch-cream2:#FCEFD9;--ch-ink:#2A211B;--ch-ink2:#6A5C4C;--ch-muted:#9C8B79;--ch-line:#EEDFC2;--ch-line2:#E6D3AE;
  --ch-orange:#F0682F;--ch-orange-d:#DA541E;--ch-orange-bg:#FCE3D8;--ch-green:#33A15B;--ch-green-d:#2C8B4E;--ch-green-bg:#E6F3E9;--ch-green-line:#BFE0C9;--ch-sun:#FFC53D;--ch-sun-d:#F6A609;--ch-sun-bg:#FFF1D2;--ch-pink:#D9416E;--ch-dark:#33261B;
  --ch-fd:"Bricolage Grotesque",system-ui,sans-serif;--ch-fb:"Hanken Grotesk",system-ui,sans-serif;--ch-fh:"Caveat",cursive;--ch-spring:cubic-bezier(.3,1.35,.45,1)}
:where(.ch-haut,.ch-cal) *,:where(.ch-haut,.ch-cal) *::before,:where(.ch-haut,.ch-cal) *::after{box-sizing:border-box}
:where(.ch-haut,.ch-cal) [hidden]{display:none!important}
:where(.ch-haut,.ch-cal) button{font:inherit;color:inherit;cursor:pointer}
.ch-hd{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 20px;margin-top:4px}
.ch-kick{font:800 12px var(--ch-fb);letter-spacing:.14em;text-transform:uppercase;color:var(--ch-orange-d)}
.ch-hd h1{margin:2px 0 0;font:800 40px/1 var(--ch-fd);letter-spacing:-.025em}
.ch-acts{display:flex;gap:8px}
.ch-ib{position:relative;width:48px;height:48px;border:1.5px solid var(--ch-line);border-radius:16px;background:#fff;display:grid;place-items:center;color:var(--ch-ink2);transition:transform .3s var(--ch-spring),border-color .2s,color .2s,background .3s}
.ch-ib:hover{transform:translateY(-2px);border-color:var(--ch-ink2);color:var(--ch-ink)}
.ch-ib.ch-ok{background:var(--ch-green);border-color:var(--ch-green);color:#fff}
.ch-ib .ch-tt{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);padding:6px 10px;border-radius:10px;background:var(--ch-dark);color:#fff;font:700 12px var(--ch-fb);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .3s var(--ch-spring)}
.ch-ib:hover .ch-tt,.ch-ib:focus-visible .ch-tt{opacity:1;transform:translate(-50%,0)}
.ch-acts .ch-ib:last-child .ch-tt{left:auto;right:0;transform:translateY(4px)}
.ch-acts .ch-ib:last-child:hover .ch-tt,.ch-acts .ch-ib:last-child:focus-visible .ch-tt{transform:none}
.ch-range{position:relative;z-index:30;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.ch-rbtn{display:inline-flex;align-items:center;gap:12px;min-height:64px;padding:8px 14px 8px 8px;border:1.5px solid var(--ch-line);border-radius:20px;background:#fff;text-align:left;transition:border-color .2s,box-shadow .3s,transform .3s var(--ch-spring)}
.ch-rbtn:hover{border-color:var(--ch-ink2);transform:translateY(-1px)}
.ch-rbtn[aria-expanded="true"]{border-color:var(--ch-ink);box-shadow:0 0 0 4px var(--ch-cream2)}
.ch-rbtn .ch-ri{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--ch-dark);color:#fff;transform:rotate(-4deg);transition:transform .45s var(--ch-spring)}
.ch-rbtn:hover .ch-ri{transform:rotate(4deg)}
.ch-rbtn .ch-rt{display:flex;flex-direction:column;line-height:1.1;overflow:hidden}
.ch-rbtn .ch-rt small{font:800 10.5px var(--ch-fb);letter-spacing:.1em;text-transform:uppercase;color:var(--ch-orange-d)}
.ch-rbtn .ch-rt b{font:800 20px var(--ch-fd);white-space:nowrap}
.ch-rbtn .ch-rn{padding:5px 10px;border-radius:999px;background:var(--ch-cream);font:700 12.5px var(--ch-fb);color:var(--ch-ink2);white-space:nowrap}
.ch-rbtn .ch-chev{color:var(--ch-muted);transition:transform .35s var(--ch-spring)}
.ch-rbtn[aria-expanded="true"] .ch-chev{transform:rotate(180deg)}
.ch-cpre{display:flex;gap:6px;flex-wrap:wrap}
.ch-pc{min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--ch-line);background:#fff;font:700 13px var(--ch-fb);color:var(--ch-ink2);transition:all .25s}
.ch-pc:hover{border-color:var(--ch-ink2);color:var(--ch-ink)}
.ch-pc[aria-pressed="true"]{background:var(--ch-orange-bg);border-color:#F7C9B3;color:var(--ch-orange-d)}
.ch-cal{position:absolute;z-index:120;left:0;top:calc(100% + 10px);width:min(720px,calc(100vw - 48px));padding:18px;border-radius:26px;background:#fff;border:1.5px solid var(--ch-line);box-shadow:0 30px 60px -24px rgba(80,45,15,.5);transform-origin:40px 0}
.ch-ch b{display:block;font:800 18px var(--ch-fd)}
.ch-ch small{font-size:13px;color:var(--ch-muted)}
.ch-cpre{margin-top:12px}
.ch-cms{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:start;margin-top:14px}
.ch-cnav{width:40px;height:40px;margin-top:-4px;border:0;border-radius:50%;background:var(--ch-cream2);display:grid;place-items:center;color:var(--ch-ink2)}
.ch-cnav:disabled{opacity:.25;cursor:default}
.ch-cnav:hover:not(:disabled){background:var(--ch-line);color:var(--ch-ink)}
.ch-cgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;overflow:hidden}
.ch-mo h4{margin:0 0 8px;text-align:center;font:800 15px var(--ch-fd);text-transform:capitalize}
.ch-dw,.ch-dd{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.ch-dw span{text-align:center;font:800 10.5px var(--ch-fb);letter-spacing:.06em;color:var(--ch-muted);padding-bottom:4px}
.ch-dc{position:relative;height:46px;border:0;background:none;padding:0;display:grid;place-items:center}
.ch-dc::before{content:"";position:absolute;left:0;right:0;top:4px;bottom:4px;background:transparent;transition:background .15s}
.ch-dc.ch-in::before{background:var(--ch-orange-bg)}
.ch-dc.ch-s::before{left:50%}
.ch-dc.ch-e::before{right:50%}
.ch-dc.ch-s.ch-e::before{display:none}
.ch-dc.ch-in.ch-rs::before{border-radius:12px 0 0 12px;left:2px}
.ch-dc.ch-in.ch-re::before{border-radius:0 12px 12px 0;right:2px}
.ch-dc .ch-dn{position:relative;z-index:1;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font:700 14px var(--ch-fb);color:var(--ch-ink);transition:background .2s,color .2s,transform .3s var(--ch-spring)}
.ch-dc:hover:not(:disabled) .ch-dn{background:var(--ch-cream2)}
.ch-dc.ch-s .ch-dn,.ch-dc.ch-e .ch-dn{background:var(--ch-dark)!important;color:#fff;transform:scale(1.05)}
.ch-dc.ch-td .ch-dn{box-shadow:inset 0 0 0 2px var(--ch-orange)}
.ch-dc .ch-dt{position:absolute;z-index:1;bottom:5px;left:50%;display:flex;gap:2px;transform:translateX(-50%)}
.ch-dc .ch-dt i{width:4px;height:4px;border-radius:50%;background:var(--ch-sun-d)}
.ch-dc.ch-s .ch-dt i,.ch-dc.ch-e .ch-dt i{background:var(--ch-sun)}
.ch-dc:disabled{cursor:default}
.ch-dc:disabled .ch-dn{color:#CDBFA9}
.ch-dc.ch-np .ch-dn{color:#CDBFA9;text-decoration:line-through;text-decoration-color:#E6D9C3}
.ch-clg{display:flex;gap:14px;margin-top:8px;font-size:12px;color:var(--ch-muted)}
.ch-clg span{display:inline-flex;align-items:center;gap:6px}
.ch-clg i{width:6px;height:6px;border-radius:50%;background:var(--ch-sun-d)}
.ch-clg i.ch-dn{background:none;width:14px;height:2px;border-radius:1px;background:#CDBFA9}
.ch-cf{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1.5px dashed var(--ch-line)}
.ch-cs{flex:1;min-width:0;font-size:13.5px;color:var(--ch-ink2)}
.ch-cs b{color:var(--ch-ink)}
.ch-cno{min-height:48px;padding:0 16px;border:0;border-radius:14px;background:none;font:700 14px var(--ch-fb);color:var(--ch-ink2)}
.ch-cno:hover{background:var(--ch-cream2)}
.ch-cok{min-height:48px;padding:0 18px;border:0;border-radius:14px;background:var(--ch-orange);color:#fff;font:800 15px var(--ch-fd);box-shadow:0 3px 0 var(--ch-orange-d);transition:transform .3s var(--ch-spring),opacity .2s}
.ch-cok:disabled{opacity:.4;box-shadow:none;cursor:default}
.ch-cok:not(:disabled):hover{transform:translateY(-2px)}
.ch-cscrim{position:fixed;inset:0;z-index:119;background:rgba(51,38,27,.3)}
.ch-sum{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:20px;padding:18px 22px;border-radius:26px;background:#fff;border:1.5px solid var(--ch-line);box-shadow:0 18px 36px -26px rgba(120,72,24,.45)}
.ch-ring{position:relative;width:84px;height:84px;flex:none}
.ch-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ch-ring .ch-tr{fill:none;stroke:var(--ch-cream2);stroke-width:9}
.ch-ring .ch-fg{fill:none;stroke:var(--ch-green);stroke-width:9;stroke-linecap:round;stroke-dasharray:226.2;transition:stroke-dashoffset .7s var(--ch-spring),stroke-opacity .2s}
.ch-ring .ch-n{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.ch-ring .ch-n b{font:800 22px var(--ch-fd);font-variant-numeric:tabular-nums}
.ch-ring .ch-n small{margin-top:2px;font:700 11px var(--ch-fb);color:var(--ch-muted)}
.ch-ring.ch-full .ch-fg{stroke:var(--ch-green-d)}
.ch-bud{min-width:0}
.ch-bud .ch-bl{display:flex;align-items:center;gap:6px;font:800 12px var(--ch-fb);letter-spacing:.08em;text-transform:uppercase;color:var(--ch-green-d)}
.ch-bud .ch-bv{display:flex;align-items:baseline;gap:8px;margin-top:4px}
.ch-bud .ch-bv b{font:800 40px/1 var(--ch-fd);letter-spacing:-.02em;color:var(--ch-ink);font-variant-numeric:tabular-nums}
.ch-bud .ch-bv small{font-size:14px;color:var(--ch-muted);font-weight:600}
.ch-q{position:relative;width:26px;height:26px;border:1.5px solid var(--ch-line2);border-radius:50%;background:#fff;display:grid;place-items:center;font:800 12.5px var(--ch-fd);color:var(--ch-ink2);transition:background .2s}
.ch-q:hover,.ch-q[aria-expanded="true"]{background:var(--ch-cream2);color:var(--ch-ink)}
.ch-pop{position:absolute;z-index:20;left:0;top:calc(100% + 10px);width:min(340px,80vw);padding:14px 16px;border-radius:18px;background:var(--ch-dark);color:#F6EEE3;font-size:13.5px;line-height:1.5;text-transform:none;letter-spacing:0;font-weight:500;box-shadow:0 20px 40px -18px rgba(40,20,5,.6);transform-origin:14px 0}
.ch-pop::before{content:"";position:absolute;left:8px;top:-6px;width:12px;height:12px;background:var(--ch-dark);border-radius:2px;transform:rotate(45deg)}
.ch-pop b{color:#fff}
.ch-bud .ch-bar{position:relative;height:10px;margin-top:12px;border-radius:5px;background:var(--ch-cream2);overflow:hidden}
.ch-bud .ch-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--ch-green);transition:width .7s var(--ch-spring)}
.ch-bud .ch-bar s{position:absolute;right:0;top:0;bottom:0;border-radius:5px;background:repeating-linear-gradient(-45deg,var(--ch-sun-bg) 0 5px,#FFE6A8 5px 10px);transition:width .7s var(--ch-spring)}
.ch-bud .ch-lg{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:12.5px;color:var(--ch-muted)}
.ch-bud .ch-lg span{display:inline-flex;align-items:center;gap:6px}
.ch-bud .ch-lg i{width:10px;height:10px;border-radius:3px}
.ch-side{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.ch-chip{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px 0 6px;border-radius:999px;background:var(--ch-cream);font:700 13px var(--ch-fb);color:var(--ch-ink2);white-space:nowrap}
.ch-chip i{width:24px;height:24px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--c)}
.ch-sum.ch-done{border-color:var(--ch-green-line);background:linear-gradient(#F3FAF5,#fff)}
.ch-sum .ch-hand{position:absolute;right:22px;top:-14px;font:700 22px var(--ch-fh);color:var(--ch-green-d);transform:rotate(-4deg);opacity:0;transition:opacity .3s,transform .5s var(--ch-spring)}
.ch-sum.ch-done .ch-hand{opacity:1;transform:rotate(-4deg) translateY(-2px)}
.ch-tipz{display:grid;grid-template-rows:1fr;transition:grid-template-rows .45s var(--ch-spring),opacity .3s,margin .45s var(--ch-spring);margin-top:14px}
.ch-tipz.ch-gone{grid-template-rows:0fr;opacity:0;margin-top:0}
.ch-tipz>div{overflow:hidden}
.ch-tip{display:flex;align-items:center;gap:12px;padding:4px 0}
.ch-tip .ch-fc{flex:none;width:46px;height:46px;border-radius:15px;background:var(--ch-sun-bg);overflow:hidden;transform:rotate(-5deg)}
.ch-tip .ch-fc svg{width:100%;height:100%}
.ch-tip .ch-bb{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:10px 8px 10px 16px;border-radius:18px;background:var(--ch-sun-bg);font-size:13.5px;line-height:1.45;color:#5A4210}
.ch-tip .ch-bb::before{content:"";position:absolute;left:-6px;top:50%;width:12px;height:12px;margin-top:-6px;background:var(--ch-sun-bg);border-radius:2px;transform:rotate(45deg)}
.ch-tip .ch-bb p{margin:0;flex:1;min-width:0;text-wrap:pretty}
.ch-tip .ch-k{display:inline-grid;place-items:center;width:24px;height:24px;margin:0 2px;border-radius:7px;background:#fff;color:var(--ch-ink);vertical-align:-6px}
.ch-tip .ch-x{flex:none;min-height:36px;padding:0 12px;border:0;border-radius:999px;background:#fff;font:700 12.5px var(--ch-fb);color:var(--ch-ink2)}
.ch-tip .ch-x:hover{color:var(--ch-ink)}
@media (max-width:600px){.ch-mo h4{min-height:34px;display:grid;place-items:center;margin-bottom:12px}.ch-hd{grid-template-columns:minmax(0,1fr) auto;margin-top:14px;align-items:start}
.ch-hd h1{font-size:30px}
.ch-acts{grid-row:1;grid-column:2;align-self:end}
.ch-ib{width:44px;height:44px;border-radius:14px}
.ch-ib .ch-tt{display:none}
.ch-acts{align-self:end}
.ch-range{margin-top:14px}
.ch-rbtn{width:100%}
.ch-rbtn .ch-rt{flex:1;min-width:0}
.ch-rbtn .ch-rt b{font-size:18px}
.ch-cal{position:fixed;left:0;right:0;top:auto;bottom:0;width:100%;max-height:92vh;overflow:auto;border-radius:28px 28px 0 0;padding:12px 16px 20px}
.ch-cal::before{content:"";display:block;width:44px;height:5px;margin:0 auto 12px;border-radius:3px;background:var(--ch-line2)}
.ch-cgrid{grid-template-columns:minmax(0,1fr)}
.ch-cgrid .ch-mo+.ch-mo{display:none}
.ch-cms{grid-template-columns:minmax(0,1fr);position:relative}
.ch-cnav{position:absolute;top:-6px;z-index:2}
.ch-cnav[data-n="-1"]{left:0}
.ch-cnav[data-n="1"]{right:0}
.ch-cf{flex-wrap:wrap}
.ch-cs{flex-basis:100%}
.ch-cok{flex:1}
.ch-sum{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:14px 16px}
.ch-side{grid-column:1/-1;flex-direction:row;justify-content:flex-start;flex-wrap:wrap}
.ch-ring{width:72px;height:72px}
.ch-bud .ch-bv b{font-size:32px}
.ch-tip .ch-bb{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){:where(.ch-haut,.ch-cal) *{transition-duration:.01ms!important;animation-duration:.01ms!important}}
