.kcol{--kcol-w:272px;--kcol-rail:56px;--kcol-cible:44px;--kcol-d:240ms;--kcol-ease:cubic-bezier(.2,.8,.2,1)}
.kcol[hidden]{display:none}
.kcol__ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.kcol :where(button,input){font:inherit;color:inherit}
.kcol button{background:none;border:0;padding:0;cursor:pointer}
.kcol a{text-decoration:none;color:inherit}
.kcol__bi{display:inline-grid;place-items:center;width:var(--kcol-cible);height:var(--kcol-cible);border-radius:var(--r-2);color:var(--c-ink-2);transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
.kcol__bi:hover{background:var(--c-surface-2);color:var(--c-ink)}
.kcol__bi--action{background:var(--c-action);color:var(--c-on-action);border-radius:var(--r-pill)}
.kcol .kcol__bi--action:hover{background:var(--c-action-hover);color:var(--c-on-action)}
.kcol .kcol__bi--action{color:var(--c-on-action)}
.kcol__bi--fermer{display:none}
.kcol__rail{position:fixed;inset-block:0;inset-inline-start:0;z-index:55;width:var(--kcol-rail);display:none;flex-direction:column;align-items:center;gap:var(--s-1);padding:var(--s-2) 0;background:var(--c-bg-2);border-inline-end:1px solid var(--c-line)}
html.kcol-rail .kcol__rail{display:flex}
.kcol__pan{position:fixed;inset-block:0;inset-inline-start:0;z-index:55;display:flex;flex-direction:column;width:var(--kcol-w);min-height:0;background:var(--c-bg-2);border-inline-end:1px solid var(--c-line);color:var(--c-ink)}
html.kcol-rail .kcol__pan{display:none}
.kcol__tete{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);height:var(--header-h,64px);padding:0 var(--s-2) 0 var(--s-4);flex:none}
.kcol__marque{display:inline-flex;align-items:center;min-height:var(--kcol-cible)}
.kcol__logo{height:28px;width:auto}
.kcol__logo--sombre{display:none}
[data-theme="dark"] .kcol__logo--clair{display:none}
[data-theme="dark"] .kcol__logo--sombre{display:block}
.kcol__haut{display:grid;gap:var(--s-2);padding:var(--s-1) var(--s-3) var(--s-3);flex:none}
.kcol .kcol__nouvelle{display:flex;align-items:center;gap:var(--s-3);height:var(--kcol-cible);padding:0 var(--s-4);border-radius:var(--r-pill);background:var(--c-action);color:var(--c-on-action);font-size:var(--fs-1);font-weight:var(--fw-title);transition:background-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.kcol__nouvelle:hover{background:var(--c-action-hover)}
.kcol__nouvelle:active{transform:scale(.98)}
.kcol__recherche{display:flex;align-items:center;gap:var(--s-3);height:40px;padding:0 var(--s-3);border-radius:var(--r-2);color:var(--c-ink-2);cursor:text;transition:background-color var(--t-fast) var(--ease)}
.kcol__recherche:hover,.kcol__recherche:focus-within{background:var(--c-surface-2)}
.kcol__recherche input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font-size:var(--fs-1);font-weight:var(--fw-ui);color:var(--c-ink)}
.kcol__recherche input::placeholder{color:var(--c-ink-2)}
.kcol__annexes{display:grid;gap:2px;padding:0 var(--s-3) var(--s-3);flex:none}
.kcol__ligne{display:flex;align-items:center;gap:var(--s-3);min-height:40px;padding:0 var(--s-3);border-radius:var(--r-2);font-size:var(--fs-1);font-weight:var(--fw-ui);transition:background-color var(--t-fast) var(--ease)}
.kcol__ligne .kcol__ic{color:var(--c-ink-2)}
.kcol__ligne:hover{background:var(--c-surface-2)}
.kcol__histo{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--s-3) var(--s-3)}
.kcol__histo ul{margin:0;padding:0;list-style:none}
.kcol__grp{margin:0;padding:var(--s-3) var(--s-3) var(--s-1);font-size:var(--fs-0);font-weight:var(--fw-title);color:var(--c-ink-2)}
.kcol__vide{margin:0;padding:var(--s-3);font-size:var(--fs-1);color:var(--c-ink-2)}
.kcol__h-a{display:flex;align-items:center;gap:var(--s-2);min-height:38px;padding:0 var(--s-3);border-radius:var(--r-2);font-size:var(--fs-1);transition:background-color var(--t-fast) var(--ease)}
.kcol__h-a:hover{background:var(--c-surface-2)}
.kcol__h-a[aria-current="page"]{background:var(--c-surface-2);font-weight:var(--fw-title);box-shadow:inset 3px 0 0 var(--c-action)}
.kcol__h-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kcol__h-cours{width:8px;height:8px;border-radius:50%;background:var(--c-action);flex:none;animation:kcol-souffle 1.6s ease-in-out infinite}
@keyframes kcol-souffle{50%{opacity:.35}}
.kcol__pied{display:grid;gap:var(--s-2);padding:var(--s-3);border-top:1px solid var(--c-line);flex:none}
.kcol__compte{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2);border-radius:var(--r-2);font-size:var(--fs-1);font-weight:var(--fw-ui);transition:background-color var(--t-fast) var(--ease)}
.kcol__compte:hover{background:var(--c-surface-2)}
.kcol__avatar{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:var(--c-action-soft);color:var(--c-action);font-size:var(--fs-1);font-weight:var(--fw-title)}
.kcol__compte-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kcol__garder{display:grid;gap:var(--s-2);justify-items:start;padding:var(--s-3);border-radius:var(--r-3);background:var(--c-surface);box-shadow:var(--sh-1)}
.kcol__garder p{margin:0;font-size:var(--fs-0);line-height:var(--lh-snug);color:var(--c-ink-2)}
.kcol__ghost{display:inline-flex;align-items:center;min-height:36px;padding:0 var(--s-4);border:1px solid var(--c-line-strong);border-radius:var(--r-pill);font-size:var(--fs-1);font-weight:var(--fw-ui);transition:background-color var(--t-fast) var(--ease)}
.kcol__ghost:hover{background:var(--c-surface-2)}
[hidden].kcol__compte,[hidden].kcol__garder{display:none}
html.kcol-on body{padding-inline-start:var(--kcol-w,272px)}
html.kcol-on.kcol-rail body{padding-inline-start:56px}
html.kcol-on .k-header[data-v-entete]{inset-inline-start:272px}
html.kcol-on.kcol-rail .k-header[data-v-entete]{inset-inline-start:56px}
html.kcol-on body.atelier-on .klat-bar.klat-v2{inset-inline-start:272px;inset-inline-end:0;width:auto}
html.kcol-on.kcol-rail body.atelier-on .klat-bar.klat-v2{inset-inline-start:56px}
.kcol-ouvrir{display:none;place-items:center;width:40px;height:40px;margin-inline-start:-8px;border:0;border-radius:var(--r-2);background:none;color:var(--c-ink-2);cursor:pointer}
.kcol-ouvrir svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:899px){
  html.kcol-on body,html.kcol-on.kcol-rail body{padding-inline-start:0}
  html.kcol-on .k-header[data-v-entete],html.kcol-on.kcol-rail .k-header[data-v-entete],html.kcol-on body.atelier-on .klat-bar.klat-v2,html.kcol-on.kcol-rail body.atelier-on .klat-bar.klat-v2{inset-inline-start:0}
  html.kcol-rail .kcol__rail,.kcol__rail{display:none}
  .kcol__pan,html.kcol-rail .kcol__pan{display:flex;z-index:65;width:min(320px,86vw);transform:translateX(-102%);visibility:hidden;transition:transform var(--kcol-d) var(--kcol-ease),visibility 0s var(--kcol-d)}
  [dir="rtl"] .kcol__pan{transform:translateX(102%)}
  html.kcol-tiroir .kcol__pan{transform:none;visibility:visible;box-shadow:var(--sh-2);transition:transform var(--kcol-d) var(--kcol-ease),visibility 0s}
  .kcol__voile{position:fixed;inset:0;z-index:64;background:var(--c-scrim);opacity:0;visibility:hidden;transition:opacity var(--kcol-d) var(--kcol-ease),visibility 0s var(--kcol-d)}
  html.kcol-tiroir .kcol__voile{opacity:1;visibility:visible;transition:opacity var(--kcol-d) var(--kcol-ease),visibility 0s}
  .kcol__bi--plier{display:none}
  .kcol__bi--fermer{display:inline-grid}
  .kcol__ligne,.kcol__h-a{min-height:44px}
  .kcol-ouvrir{display:inline-grid}
}
@media (min-width:900px){
  .kcol__voile{display:none}
  html.kcol-on:not(.kcol-rail) .k-header .k-logo{display:none}
  html.kcol-on:not(.kcol-rail) body.atelier-on .klat-bar.klat-v2 .klat-exit{display:none}
  html.kcol-on:not(.kcol-rail) body.atelier-on .klat-bar.klat-v2 .klat-mark{margin-left:0}
  html.kcol-on:not(.kcol-rail) body.atelier-on .klat-bar.klat-v2 .klat-mark::before{display:none}
}
@media (prefers-reduced-motion:reduce){
  .kcol *,.kcol__pan{transition:none;animation:none}
}
