/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/styles/foundation.css */
:root {
  --font-family:DM Sans,
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
  --font-scale:1;
  --radius:28px;
  --touch-target:44px;
  --button-weight:600;
  --button-gap:8px;
  --button-disabled-opacity:0.48;
  --button-border-width:1px;
  --button-focus-width:3px;
  --button-focus-offset:3px;
  --button-line-height:1.35;
  --button-active-brightness:0.92;
  --button-spinner-stroke:2px;
  --button-pill-radius:999px;
  --button-xs-height:28px;
  --button-xs-font:12px;
  --button-xs-icon:14px;
  --button-xs-padding:8px;
  --button-xs-paddingBlock:4px;
  --button-sm-height:36px;
  --button-sm-font:13px;
  --button-sm-icon:16px;
  --button-sm-padding:12px;
  --button-sm-paddingBlock:6px;
  --button-md-height:44px;
  --button-md-font:14px;
  --button-md-icon:16px;
  --button-md-padding:16px;
  --button-md-paddingBlock:6px;
  --button-lg-height:50px;
  --button-lg-font:15px;
  --button-lg-icon:18px;
  --button-lg-padding:20px;
  --button-lg-paddingBlock:6px;
  --button-xl-height:56px;
  --button-xl-font:16px;
  --button-xl-icon:20px;
  --button-xl-padding:24px;
  --button-xl-paddingBlock:6px;
  --duration-instant:0.12s;
  --duration-fast:0.16s;
  --duration-exit:0.18s;
  --duration-standard:0.24s;
  --duration-considered:0.48s;
  --duration-spinner:0.7s;
  --duration-themeReveal:0.6s;
  --ease-enter:cubic-bezier(0.16,1,0.3,1);
  --ease-exit:cubic-bezier(0.7,0,0.84,0);
  --ease-standard:cubic-bezier(0.22,1,0.36,1);
  --ease-inOut:cubic-bezier(0.65,0,0.35,1);
  --ease-themeReveal:cubic-bezier(0.22,1,0.36,1);
  --input-xs-height:28px;
  --input-xs-padding:8px;
  --input-xs-font:12px;
  --input-sm-height:36px;
  --input-sm-padding:12px;
  --input-sm-font:13px;
  --input-md-height:44px;
  --input-md-padding:16px;
  --input-md-font:14px;
  --input-lg-height:50px;
  --input-lg-padding:20px;
  --input-lg-font:15px;
  --input-xl-height:56px;
  --input-xl-padding:24px;
  --input-xl-font:16px;
  --input-focus-color:var(--accent);
  --canvas:#f8fafc;
  --panel:#ffffff;
  --ink:#0f172a;
  --muted:#475569;
  --border:#cbd5e1;
  --subtle:#e2e8f0;
  --accent:#2563eb;
  --accent-hover:#1d4ed8;
  --on-accent:#ffffff;
  --accent-soft:#eff6ff;
  --danger:#b91c1c;
  --danger-soft:#fef2f2;
  --focus:#2563eb;
  --success:#15803d;
  --warning:#b45309;
}
:root,
.lab {
  --arc-accent:var(--accent);
  --arc-accent-foreground:var(--on-accent);
  --arc-accent-strong:var(--accent-hover);
  --arc-background:var(--panel);
  --arc-border:var(--border);
  --arc-border-strong:var(--border);
  --arc-border-subtle:var(--border);
  --arc-control-on:var(--accent);
  --arc-danger:var(--danger);
  --arc-focus-ring:var(--focus);
  --arc-font-body:var(--font-family);
  --arc-foreground:var(--ink);
  --arc-radius-control:var(--radius);
  --arc-radius-panel:var(--radius);
  --arc-radius-pill:var(--radius);
  --arc-success:var(--success);
  --arc-surface:var(--panel);
  --arc-surface-muted:var(--subtle);
  --arc-surface-raised:var(--panel);
  --arc-text-muted:var(--muted);
  --arc-text-secondary:var(--muted);
  --arc-control-height-sm:var(--button-sm-height);
  --arc-control-height-md:var(--button-md-height);
  --arc-control-height-lg:var(--button-lg-height);
  --arc-duration-instant:var(--duration-instant);
  --arc-duration-fast:var(--duration-fast);
  --arc-duration-standard:var(--duration-standard);
  --arc-ease-enter:var(--ease-enter);
  --arc-ease-standard:var(--ease-standard);
  --arc-ease-in-out:var(--ease-inOut);
  --arc-ease-spring:var(--ease-standard);
  --arc-duration-spring:var(--duration-considered);
  --arc-leading-body:var(--button-line-height);
  --arc-tracking-body:-.01em;
  --arc-text-xs:calc(var(--button-xs-font) * var(--font-scale));
  --arc-text-sm:calc(var(--button-md-font) * var(--font-scale));
  --arc-shadow-resting:0 1px 2px color-mix(in srgb, var(--ink) 6%, transparent);
  --arc-shadow-raised:0 6px 18px color-mix(in srgb, var(--ink) 10%, transparent);
  --arc-shadow-floating:0 20px 48px color-mix(in srgb, var(--ink) 14%, transparent);
  --arc-space-1:0.25rem;
  --arc-space-2:0.5rem;
  --arc-space-3:0.75rem;
  --arc-space-4:1.0rem;
  --arc-space-5:1.25rem;
  --arc-accent-subtle:var(--accent-soft);
  --arc-duration-considered:var(--duration-considered);
  --arc-font-display:var(--font-family);
  --arc-space-6:24px;
  --arc-space-8:32px;
  --arc-text-2xl:24px;
  --arc-text-3xl:calc(36px * var(--font-scale));
  --arc-text-base:16px;
  --arc-text-lg:18px;
  --arc-text-xl:20px;
  --arc-tracking-display:-.02em;
  --arc-warning:var(--warning);
  --arc-menu-group-size:11px;
  --arc-menu-group-weight:500;
  --arc-menu-group-color:var(--muted);
  --arc-menu-group-tracking:.09em;
  --arc-menu-group-gap:12px;
  --arc-control-glyph:var(--on-accent);
  --arc-control-track:var(--subtle);
  --arc-control-track-hover:color-mix(in srgb, var(--ink) 22%, var(--panel));
  --arc-control-thumb:var(--panel);
  --arc-control-thumb-on:var(--on-accent);
  --arc-control-thumb-shadow:0 1px 3px color-mix(in srgb, var(--ink) 16%, transparent);
  --arc-control-fill:var(--accent);
  --arc-nav-row-height:40px;
  --arc-nav-icon-size:18px;
  --arc-dialog-compact:400px;
  --arc-dialog-default:520px;
  --arc-dialog-wide:720px;
  --arc-dialog-padding:28px;
  --arc-dialog-title-size:calc(20px * var(--font-scale));
  --arc-dialog-description-size:calc(13px * var(--font-scale));
  --arc-dialog-description-color:var(--muted);
  --arc-dialog-section-gap:24px;
  --arc-input-border-hover:color-mix(in srgb, var(--border) 70%, var(--muted));
  --arc-text-4xl:calc(36px * var(--font-scale));
  --arc-text-5xl:calc(48px * var(--font-scale));
  --arc-leading-display:1.1;
  --identity-avatar-radius:50%;
  --identity-avatar-sm:28px;
  --identity-avatar-md:36px;
  --identity-avatar-lg:48px;
  --identity-avatar-xl:88px;
  --arc-overlay-background:oklch(10% 0 0 / .46);
  --arc-overlay-blur:7px;
  --arc-radius-surface:var(--radius);
  --arc-space-12:48px;
  --arc-font-mono:ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    monospace;
  --arc-ease-exit:var(--ease-exit);
  --arc-gradient-from:var(--accent-soft);
  --arc-gradient-to:var(--arc-series-2);
  --arc-focus-width:1px;
  --arc-focus-offset:2px;
  --arc-space-10:2.5rem;
  --arc-space-16:4.0rem;
  --arc-space-20:5.0rem;
  --arc-space-24:6.0rem;
}
[data-theme=dark] {
  --canvas:#0b1120;
  --panel:#141e30;
  --ink:#f1f5f9;
  --muted:#cbd5e1;
  --border:#475569;
  --subtle:#25324a;
  --accent:#93c5fd;
  --accent-hover:#bfdbfe;
  --on-accent:#102341;
  --accent-soft:#172b4b;
  --danger:#fca5a5;
  --danger-soft:#3b1923;
  --focus:#93c5fd;
  --success:#86efac;
  --warning:#fcd34d;
}
:root,
.lab {
  --arc-series-1:var(--arc-accent);
  --arc-series-2:#7128a5;
  --arc-series-3:#e58f00;
  --arc-series-4:#009e84;
}
@supports (color:oklch(from white l c h)) {
  :root,
  .lab {
    --arc-series-1:oklch(from var(--arc-accent) calc(l * sign(max(c - .02, 0)) + .58 * (1 - sign(max(c - .02, 0)))) calc(c * sign(max(c - .02, 0)) + .15 * (1 - sign(max(c - .02, 0)))) calc(h * sign(max(c - .02, 0)) + 250 * (1 - sign(max(c - .02, 0)))));
    --arc-series-2:oklch(from var(--arc-accent) clamp(.45, l * sign(max(c - .02, 0)) + .58 * (1 - sign(max(c - .02, 0))) - 0.25, .76) .19 calc(h * sign(max(c - .02, 0)) + 250 * (1 - sign(max(c - .02, 0))) + 57));
    --arc-series-3:oklch(from var(--arc-accent) clamp(.45, l * sign(max(c - .02, 0)) + .58 * (1 - sign(max(c - .02, 0))) + 0.14, .76) .18 calc(h * sign(max(c - .02, 0)) + 250 * (1 - sign(max(c - .02, 0))) + 184));
    --arc-series-4:oklch(from var(--arc-accent) clamp(.45, l * sign(max(c - .02, 0)) + .58 * (1 - sign(max(c - .02, 0))), .76) .21 calc(h * sign(max(c - .02, 0)) + 250 * (1 - sign(max(c - .02, 0))) + 292));
  }
  [data-theme=dark] {
    --arc-series-1:oklch(from var(--arc-accent) calc(l * sign(max(c - .02, 0)) + .73 * (1 - sign(max(c - .02, 0)))) calc(c * sign(max(c - .02, 0)) + .15 * (1 - sign(max(c - .02, 0)))) calc(h * sign(max(c - .02, 0)) + 250 * (1 - sign(max(c - .02, 0)))));
    --arc-series-2:oklch(from var(--arc-accent) clamp(.485, l * sign(max(c - .02, 0)) + .73 * (1 - sign(max(c - .02, 0))) - 0.19, .665) .21 calc(h * sign(max(c - .02, 0)) + 250 * (1 - sign(max(c - .02, 0))) + 66));
    --arc-series-3:oklch(from var(--arc-accent) clamp(.485, l * sign(max(c - .02, 0)) + .73 * (1 - sign(max(c - .02, 0))) + 0.02, .665) .21 calc(h * sign(max(c - .02, 0)) + 250 * (1 - sign(max(c - .02, 0))) + 175));
    --arc-series-4:oklch(from var(--arc-accent) clamp(.485, l * sign(max(c - .02, 0)) + .73 * (1 - sign(max(c - .02, 0))) - 0.1, .665) .18 calc(h * sign(max(c - .02, 0)) + 250 * (1 - sign(max(c - .02, 0))) + 270));
  }
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/button/button.module.css */
.button_button {
  --h:var(--button-md-height);
  --fs:var(--button-md-font);
  --ic:var(--button-md-icon);
  --px:var(--button-md-padding);
  --py:var(--button-md-paddingBlock);
  position: relative;
  display: inline-flex;
  min-height: var(--h);
  align-items: center;
  justify-content: center;
  gap: var(--button-gap);
  padding: var(--py) var(--px);
  border: var(--button-border-width) solid transparent;
  border-radius: var(--radius);
  font-family: var(--font-family);
  font-size: calc(var(--fs)*var(--font-scale));
  font-weight: var(--button-weight);
  line-height: var(--button-line-height);
  cursor: pointer;
  text-decoration: none;
  vertical-align: middle;
  -webkit-tap-highlight-color: transparent;
  transition:
    background var(--duration-fast) var(--ease-standard),
    color var(--duration-fast) var(--ease-standard),
    border-color var(--duration-fast) var(--ease-standard);
}
.button_button:focus-visible {
  outline: var(--button-focus-width) solid var(--focus);
  outline-offset: var(--button-focus-offset);
}
.button_button:disabled,
.button_button[aria-disabled=true]:not([aria-busy=true]) {
  opacity: var(--button-disabled-opacity);
  cursor: not-allowed;
}
.button_button[aria-busy=true] {
  cursor: progress;
}
.button_button:is([aria-haspopup]:not([aria-haspopup=false]), [data-state], [role=combobox]) {
  transform: none !important;
}
.button_primary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--on-accent);
}
.button_secondary {
  background: var(--panel);
  border-color: var(--border);
  color: var(--accent);
}
.button_ghost {
  background: transparent;
  color: var(--accent);
}
.button_danger {
  background: var(--danger-soft);
  border-color: var(--danger);
  color: var(--danger);
}
@media (hover: hover) {
  .button_primary:hover:not(:disabled):not([aria-disabled=true]) {
    background: var(--accent-hover);
    border-color: var(--accent-hover);
  }
  .button_secondary:hover:not(:disabled):not([aria-disabled=true]),
  .button_ghost:hover:not(:disabled):not([aria-disabled=true]) {
    background: var(--accent-soft);
  }
  .button_danger:hover:not(:disabled):not([aria-disabled=true]) {
    background: var(--danger);
    color: var(--panel);
  }
}
.button_button:active:not(:disabled):not([aria-disabled=true]) {
  filter: brightness(var(--button-active-brightness));
}
.button_labelSlot {
  position: relative;
  display: inline-flex;
  min-width: 0;
  justify-content: center;
  align-items: center;
}
.button_labelContent {
  display: inline-flex;
  align-items: center;
}
.button_labelPhase {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--button-gap);
  white-space: nowrap;
}
.button_labelPhase svg,
.button_button > svg,
.button_button > span[aria-hidden] > svg {
  width: var(--ic);
  height: var(--ic);
  flex: none;
}
.button_loadingLabel {
  opacity: 0;
}
.button_loader {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  width: var(--ic);
  height: var(--ic);
  margin: calc(var(--ic) / -2);
}
.button_spinner {
  border: var(--button-spinner-stroke) solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: button_spin var(--duration-spinner) linear infinite;
}
.button_pill {
  border-radius: var(--button-pill-radius);
}
.button_icon {
  padding: 0;
  min-width: var(--h);
  aspect-ratio: 1;
}
@keyframes button_spin {
  to {
    transform: rotate(360deg);
  }
}
@media (pointer: coarse) {
  .button_button {
    min-height: max(var(--touch-target), var(--h));
    min-width: var(--touch-target);
  }
}
@media (prefers-reduced-motion: reduce) {
  .button_button {
    transition: none;
  }
  .button_spinner {
    animation: none;
  }
}
[data-motion=reduced] .button_button {
  transition: none;
}
[data-motion=reduced] .button_spinner {
  animation: none;
}
.button_xs {
  --py:var(--button-xs-paddingBlock);
  --h:var(--button-xs-height);
  --fs:var(--button-xs-font);
  --ic:var(--button-xs-icon);
  --px:var(--button-xs-padding);
}
.button_sm {
  --py:var(--button-sm-paddingBlock);
  --h:var(--button-sm-height);
  --fs:var(--button-sm-font);
  --ic:var(--button-sm-icon);
  --px:var(--button-sm-padding);
}
.button_md {
  --py:var(--button-md-paddingBlock);
  --h:var(--button-md-height);
  --fs:var(--button-md-font);
  --ic:var(--button-md-icon);
  --px:var(--button-md-padding);
  --py:var(--button-md-paddingBlock);
}
.button_lg {
  --py:var(--button-lg-paddingBlock);
  --h:var(--button-lg-height);
  --fs:var(--button-lg-font);
  --ic:var(--button-lg-icon);
  --px:var(--button-lg-padding);
}
.button_xl {
  --py:var(--button-xl-paddingBlock);
  --h:var(--button-xl-height);
  --fs:var(--button-xl-font);
  --ic:var(--button-xl-icon);
  --px:var(--button-xl-padding);
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/carousel/carousel.module.css */
.carousel_root {
  --carousel-gap: var(--arc-space-4);
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--arc-space-4);
  container-type: inline-size;
}
.carousel_viewport {
  position: relative;
  min-width: 0;
  overflow-x: clip;
  overflow-y: visible;
  border-radius: var(--arc-radius-panel);
  cursor: grab;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.carousel_viewport[data-dragging] {
  cursor: grabbing;
}
.carousel_viewport:focus-visible {
  outline: 1px solid var(--arc-accent);
  outline-offset: 4px;
}
.carousel_track {
  display: flex;
  gap: var(--carousel-gap);
  padding-inline: calc((100cqw - var(--carousel-slide)) / 2);
  user-select: none;
  -webkit-user-select: none;
}
.carousel_track:not([data-measured]) {
  translate: calc(var(--carousel-start) * -1 * (var(--carousel-slide) + var(--carousel-gap))) 0;
}
.carousel_slide {
  flex: 0 0 var(--carousel-slide);
  min-width: 0;
  transform-origin: 50% 50%;
  will-change: transform, opacity;
}
.carousel_slide img {
  -webkit-user-drag: none;
}
.carousel_controls {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--arc-space-2);
  padding-inline: calc((100cqw - var(--carousel-slide)) / 2);
}
.carousel_tabs {
  display: flex;
  min-width: 0;
  align-items: center;
}
.carousel_tab {
  display: grid;
  height: var(--arc-control-height-sm);
  flex: none;
  place-items: center;
  border: 0;
  border-radius: var(--arc-radius-pill);
  padding: 0 5px;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.carousel_dot {
  position: relative;
  display: block;
  width: 6px;
  height: 6px;
  overflow: hidden;
  border-radius: var(--arc-radius-pill);
  background: var(--arc-border-strong);
  transition: background-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.carousel_dotFill,
.carousel_dotDrain {
  position: absolute;
  inset: 0;
}
.carousel_dotFill {
  background: var(--arc-foreground);
}
.carousel_dotDrain {
  background: var(--arc-border-strong);
  transform-origin: 100% 50%;
}
@media (hover: hover) and (pointer: fine) {
  .carousel_tab:hover .carousel_dot {
    background: var(--arc-text-muted);
  }
}
.carousel_tab:focus-visible {
  outline: 1px solid var(--arc-accent);
  outline-offset: -4px;
}
.carousel_arrows {
  display: flex;
  flex: none;
  gap: var(--arc-space-2);
  margin-left: auto;
}
.carousel_control {
  display: grid;
  width: var(--arc-control-height-sm);
  height: var(--arc-control-height-sm);
  flex: none;
  place-items: center;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-pill);
  padding: 0;
  background: var(--arc-surface);
  color: var(--arc-foreground);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color var(--arc-duration-fast) var(--arc-ease-standard),
    color var(--arc-duration-fast) var(--arc-ease-standard),
    opacity var(--arc-duration-fast) var(--arc-ease-standard),
    transform var(--arc-duration-spring) var(--arc-ease-spring);
}
@media (hover: hover) and (pointer: fine) {
  .carousel_control:hover:not([aria-disabled=true]) {
    background: var(--arc-surface-muted);
  }
}
.carousel_control:active:not([aria-disabled=true]) {
  transform: scale(.97);
  transition: transform 100ms var(--arc-ease-standard);
}
.carousel_control[aria-disabled=true] {
  color: var(--arc-text-muted);
  cursor: default;
  opacity: .5;
}
.carousel_control:focus-visible {
  outline: 1px solid var(--arc-accent);
  outline-offset: 1px;
}
.carousel_iconSlot {
  display: grid;
  width: 16px;
  height: 16px;
  place-items: center;
}
.carousel_icon {
  grid-area: 1 / 1;
  display: grid;
  place-items: center;
}
@container (max-width: 340px) {
  .carousel_controls {
    gap: var(--arc-space-1);
    padding-inline: max(0px, calc((100cqw - var(--carousel-slide)) / 2 - var(--arc-space-2)));
  }
  .carousel_arrows {
    gap: var(--arc-space-1);
  }
  .carousel_tab {
    padding: 0 4px;
  }
}
.carousel_visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .carousel_dot,
  .carousel_control,
  .carousel_control:active:not([aria-disabled=true]) {
    transition: none;
    transform: none;
  }
}
.carousel_root {
  margin-bottom: 0;
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/avatar/avatar.module.css */
.avatar_avatar {
  position: relative;
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  overflow: visible;
  border: 1px solid var(--arc-border);
  border-radius: var(--identity-avatar-radius);
  background: var(--arc-surface-muted);
  color: var(--arc-foreground);
  font-size: var(--arc-text-xs);
  font-weight: 500;
}
.avatar_avatar img {
  pointer-events: none;
  border-radius: inherit;
  object-fit: cover;
  transition: opacity var(--arc-duration-standard) var(--arc-ease-enter), filter var(--arc-duration-standard) var(--arc-ease-enter);
}
.avatar_avatar img[data-loading] {
  opacity: 0;
  filter: blur(4px);
  transition: none;
}
.avatar_fallback {
  animation: avatar_avatar-fallback-in var(--arc-duration-standard) var(--arc-ease-enter) both;
}
.avatar_sm {
  width: var(--identity-avatar-sm);
  height: var(--identity-avatar-sm);
  font-size: 10px;
}
.avatar_md {
  width: var(--identity-avatar-md);
  height: var(--identity-avatar-md);
}
.avatar_lg {
  width: var(--identity-avatar-lg);
  height: var(--identity-avatar-lg);
  font-size: var(--arc-text-sm);
}
.avatar_xl {
  width: var(--identity-avatar-xl);
  height: var(--identity-avatar-xl);
  font-size: var(--arc-text-xl);
}
.avatar_status {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: 10px;
  height: 10px;
  border: 2px solid var(--arc-surface);
  border-radius: var(--identity-avatar-radius);
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--arc-border) 70%, transparent);
}
.avatar_sm .avatar_status {
  width: 8px;
  height: 8px;
  border-width: 1.5px;
}
.avatar_lg .avatar_status {
  width: 12px;
  height: 12px;
}
.avatar_xl .avatar_status {
  width: 14px;
  height: 14px;
  right: 4px;
  bottom: 4px;
}
.avatar_online {
  background: var(--arc-success);
}
.avatar_offline {
  background: var(--arc-text-muted);
}
@keyframes avatar_avatar-fallback-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .avatar_avatar img {
    transition: none;
  }
  .avatar_avatar img[data-loading] {
    filter: none;
  }
  .avatar_fallback {
    animation: none;
  }
}
.avatar_avatar[data-reduced-motion] img {
  transition: none;
}
.avatar_avatar[data-reduced-motion] img[data-loading] {
  filter: none;
}
.avatar_avatar[data-reduced-motion] .avatar_fallback {
  animation: none;
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/switch/switch.module.css */
.switch_switch {
  display: inline-flex;
  min-height: var(--arc-control-height-md);
  align-items: center;
  gap: var(--arc-space-3);
  padding: 0;
  border: 0;
  color: var(--arc-foreground);
  background: transparent;
  font: inherit;
  font-size: var(--arc-text-sm);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.switch_switch:disabled {
  cursor: not-allowed;
  opacity: .5;
}
.switch_track {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  border-radius: var(--arc-radius-pill);
  background: var(--arc-control-track);
  isolation: isolate;
  transition: background-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.switch_track::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: var(--arc-control-on);
  opacity: 0;
  transition: opacity var(--arc-duration-standard) var(--arc-ease-standard);
}
.switch_switch[data-state=checked] .switch_track::before {
  opacity: 1;
}
.switch_thumb {
  flex: 0 0 auto;
  border-radius: var(--arc-radius-pill);
  background: var(--arc-control-thumb);
  box-shadow: var(--arc-control-thumb-shadow);
  will-change: transform;
  transition: background-color var(--arc-duration-standard) var(--arc-ease-standard);
}
.switch_switch[data-state=checked] .switch_thumb {
  background: var(--arc-control-thumb-on);
}
@media (hover: hover) and (pointer: fine) {
  .switch_switch[data-state=unchecked]:hover:not(:disabled) .switch_track {
    background: var(--arc-control-track-hover);
  }
}
.switch_switch:focus-visible {
  outline: none;
}
.switch_label {
  line-height: var(--arc-leading-body);
}
@media (prefers-reduced-motion: reduce) {
  .switch_track,
  .switch_track::before,
  .switch_thumb {
    transition: none;
  }
}
[data-motion=reduced] .switch_track,
[data-motion=reduced] .switch_track::before,
[data-motion=reduced] .switch_thumb {
  transition: none;
}
.switch_switch:focus-visible .switch_track {
  outline: 1px solid var(--arc-control-on);
  outline-offset: 0;
}
.switch_switch {
  min-height: var(--touch-target);
  font-family: var(--font-family, "DM Sans", sans-serif);
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/popover/popover.module.css */
.popover_anchor:active:not(:disabled) {
  transform: none;
}
.popover_content {
  --popover-x: 0px;
  --popover-y: -5px;
  z-index: 80;
  min-width: 12rem;
  max-width: min(22rem, calc(100vw - 20px));
  padding: 1rem;
  border: 1px solid var(--arc-border);
  border-radius: var(--radius);
  color: var(--arc-foreground);
  box-shadow: var(--arc-shadow-floating);
  transform-origin: var(--radix-popover-content-transform-origin);
  transition: opacity var(--arc-duration-fast) var(--arc-ease-enter), transform var(--arc-duration-spring) var(--arc-ease-spring);
}
.popover_content[data-side=top] {
  --popover-y: 5px;
}
.popover_content[data-side=left] {
  --popover-x: 5px;
  --popover-y: 0px;
}
.popover_content[data-side=right] {
  --popover-x: -5px;
  --popover-y: 0px;
}
@starting-style {
  .popover_content[data-state=open] {
    opacity: 0;
    transform: translate(var(--popover-x), var(--popover-y)) scale(.97);
  }
}
.popover_content[data-state=closed] {
  opacity: 0;
  transform: translate(calc(var(--popover-x) * .5), calc(var(--popover-y) * .5)) scale(.98);
  transition: opacity var(--arc-duration-fast) var(--arc-ease-standard), transform var(--arc-duration-fast) var(--arc-ease-standard);
  animation: popover_popover-exit var(--arc-duration-fast) linear both;
  pointer-events: none;
}
.popover_content:focus {
  outline: none;
}
.popover_content,
.popover_arrow {
  background: var(--arc-surface-raised);
}
.popover_arrow {
  display: block;
}
@keyframes popover_popover-exit {
  to {
    --popover-exit: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .popover_content,
  .popover_content[data-state=closed] {
    transform: none;
    transition: opacity var(--arc-duration-instant) var(--arc-ease-standard);
  }
}
[data-motion=reduced] .popover_content,
.popover_content[data-motion=reduced],
[data-motion=reduced] .popover_content[data-state=closed],
.popover_content[data-state=closed][data-motion=reduced] {
  transform: none;
  transition: opacity var(--arc-duration-instant) var(--arc-ease-standard);
}
.popover_content {
  font-family: var(--font-family);
  font-size: var(--arc-text-sm);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: var(--arc-tracking-body);
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/sidebar-rail/sidebar-rail.module.css */
.sidebar_rail_root {
  position: relative;
  display: flex;
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-panel);
  background: var(--arc-surface-raised);
  color: var(--arc-foreground);
  font-family: var(--arc-font-body);
}
.sidebar_rail_sidebar {
  display: grid;
  flex: none;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 0;
  overflow: hidden;
  border-right: 1px solid var(--arc-border-subtle);
  background: var(--arc-surface-muted);
}
.sidebar_rail_brand {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 0 16px;
  font-weight: 600;
  font-size: var(--arc-text-sm);
  white-space: nowrap;
  overflow: hidden;
}
.sidebar_rail_nav {
  min-height: 0;
  overflow-y: auto;
  padding: 4px 8px 8px;
}
.sidebar_rail_section + .sidebar_rail_section {
  margin-top: 10px;
}
.sidebar_rail_sectionLabel {
  margin: 6px 10px 4px;
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  white-space: nowrap;
}
.sidebar_rail_list,
.sidebar_rail_children {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sidebar_rail_children {
  overflow: hidden;
}
.sidebar_rail_row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 34px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--arc-radius-control);
  background: none;
  color: var(--arc-text-secondary);
  font: inherit;
  font-size: var(--arc-text-sm);
  white-space: nowrap;
  text-align: left;
  cursor: pointer;
}
.sidebar_rail_row[data-depth="1"] {
  padding-left: 36px;
}
.sidebar_rail_root[data-collapsed] .sidebar_rail_row {
  justify-content: center;
  padding: 0;
}
.sidebar_rail_row[data-active] {
  color: var(--arc-foreground);
  font-weight: 500;
}
.sidebar_rail_activeIndicator {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: var(--arc-surface-raised);
  box-shadow: var(--arc-shadow-resting);
  pointer-events: none;
}
.sidebar_rail_row > :not(.sidebar_rail_activeIndicator) {
  position: relative;
  z-index: 1;
}
.sidebar_rail_row[data-holds] {
  color: var(--arc-foreground);
}
.sidebar_rail_row[aria-busy=true] {
  opacity: .6;
}
.sidebar_rail_row:focus-visible,
.sidebar_rail_iconButton:focus-visible {
  outline: 1px solid var(--arc-control-on);
  outline-offset: -1px;
}
@media (hover: hover) and (pointer: fine) {
  .sidebar_rail_row:not([data-active]):hover {
    background: color-mix(in oklab, var(--arc-foreground) 5%, transparent);
    color: var(--arc-foreground);
  }
}
.sidebar_rail_icon {
  display: grid;
  place-items: center;
  flex: none;
}
.sidebar_rail_label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar_rail_badge {
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  font-variant-numeric: tabular-nums;
}
.sidebar_rail_badge > * {
  font-size: inherit;
}
.sidebar_rail_chevron {
  display: grid;
  place-items: center;
  color: var(--arc-text-muted);
}
.sidebar_rail_user {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-top: 1px solid var(--arc-border-subtle);
}
.sidebar_rail_root[data-collapsed] .sidebar_rail_user {
  justify-content: center;
}
.sidebar_rail_userText {
  display: grid;
  min-width: 0;
}
.sidebar_rail_userName {
  overflow: hidden;
  font-size: var(--arc-text-sm);
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar_rail_userEmail {
  overflow: hidden;
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar_rail_main {
  display: grid;
  flex: 1;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
}
.sidebar_rail_header {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 14px;
  border-bottom: 1px solid var(--arc-border-subtle);
}
.sidebar_rail_iconButton {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: var(--arc-radius-control);
  background: none;
  color: var(--arc-text-secondary);
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .sidebar_rail_iconButton:hover {
    background: var(--arc-surface-muted);
    color: var(--arc-foreground);
  }
}
.sidebar_rail_crumbs {
  min-width: 0;
  overflow: hidden;
}
.sidebar_rail_crumbs ol {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--arc-text-sm);
  color: var(--arc-text-muted);
  white-space: nowrap;
}
.sidebar_rail_crumbs li {
  position: relative;
  display: inline-flex;
  min-width: 0;
}
.sidebar_rail_crumbs li + li::before {
  content: "/";
  margin-right: 6px;
  color: var(--arc-border-strong);
}
.sidebar_rail_crumbs li[aria-current=page] {
  color: var(--arc-foreground);
  font-weight: 500;
}
.sidebar_rail_crumb {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar_rail_content {
  container-type: inline-size;
  min-height: 0;
  overflow-y: auto;
}
.sidebar_rail_sheet {
  width: min(288px, 85%);
  max-width: 288px;
}
.sidebar_rail_sheetBody {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-height: 0;
  height: 100%;
}
.sidebar_rail_header {
  width: 100%;
  max-width: none;
  margin: 0;
  justify-content: flex-start;
}
.sidebar_rail_header span {
  display: inline-block;
  letter-spacing: normal;
  color: inherit;
}
.sidebar_rail_row {
  min-height: var(--touch-target);
}
.sidebar_rail_iconButton {
  width: var(--touch-target);
  height: var(--touch-target);
  min-width: var(--touch-target);
  min-height: var(--touch-target);
  padding: 0;
  aspect-ratio: 1;
  border-radius: var(--arc-radius-control);
}
.sidebar_rail_iconButton svg {
  display: block;
}
.sidebar_rail_sectionLabel {
  font-size: var(--arc-menu-group-size);
  font-weight: var(--arc-menu-group-weight);
  letter-spacing: var(--arc-menu-group-tracking);
  text-transform: uppercase;
}
.sidebar_rail_section + .sidebar_rail_section {
  margin-top: var(--arc-menu-group-gap);
}
.sidebar_rail_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.sidebar_rail_row {
  height: 40px;
  min-height: 40px;
  line-height: 1.4;
}
.sidebar_rail_icon {
  width: 18px;
  height: 18px;
}
.sidebar_rail_icon svg {
  display: block;
  width: 18px;
  height: 18px;
}
.sidebar_rail_root[data-collapsed] .sidebar_rail_row {
  width: 40px;
  margin-inline: auto;
}
.sidebar_rail_header .sidebar_rail_crumb {
  display: inline-block;
}
@media (pointer: coarse) {
  .sidebar_rail_row {
    height: 44px;
    min-height: 44px;
  }
  .sidebar_rail_root[data-collapsed] .sidebar_rail_row {
    width: 44px;
  }
}
.sidebar_rail_root .sidebar_rail_row {
  height: var(--arc-nav-row-height);
  min-height: var(--arc-nav-row-height);
  line-height: 1.4;
}
.sidebar_rail_root[data-collapsed] .sidebar_rail_row {
  width: var(--arc-nav-row-height);
  margin-inline: auto;
}
.sidebar_rail_root .sidebar_rail_icon,
.sidebar_rail_root .sidebar_rail_icon svg {
  width: var(--arc-nav-icon-size);
  height: var(--arc-nav-icon-size);
}
@media (pointer: coarse) {
  .sidebar_rail_root .sidebar_rail_row {
    height: var(--touch-target);
    min-height: var(--touch-target);
  }
  .sidebar_rail_root[data-collapsed] .sidebar_rail_row {
    width: var(--touch-target);
  }
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/segmented-control/segmented-control.module.css */
.segmented_control_root {
  display: inline-flex;
  min-width: 0;
  max-width: 100%;
  flex-shrink: 1;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-control);
  background: var(--arc-surface-muted);
}
.segmented_control_track {
  --fade-start: 0px;
  --fade-end: 0px;
  isolation: isolate;
  display: flex;
  min-width: 0;
  gap: 2px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: 3px;
  border-radius: inherit;
  scrollbar-width: none;
  -webkit-mask-image:
    linear-gradient(
      to right,
      transparent,
      #000 var(--fade-start),
      #000 calc(100% - var(--fade-end)),
      transparent);
  mask-image:
    linear-gradient(
      to right,
      transparent,
      #000 var(--fade-start),
      #000 calc(100% - var(--fade-end)),
      transparent);
}
.segmented_control_track::-webkit-scrollbar {
  display: none;
}
.segmented_control_track[data-fade-start] {
  --fade-start: 20px;
}
.segmented_control_track[data-fade-end] {
  --fade-end: 20px;
}
.segmented_control_button {
  position: relative;
  flex: 0 0 auto;
  min-height: var(--arc-control-height-sm);
  border: 0;
  border-radius: calc(var(--arc-radius-control) - 4px);
  padding: 0 12px;
  background: transparent;
  color: var(--arc-text-muted);
  font: inherit;
  font-size: var(--arc-text-sm);
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color var(--arc-duration-fast) var(--arc-ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .segmented_control_button:hover {
    color: var(--arc-foreground);
  }
}
.segmented_control_button:active,
.segmented_control_button[aria-pressed=true] {
  color: var(--arc-foreground);
}
.segmented_control_selection {
  position: absolute;
  z-index: -1;
  inset: 0;
  border: 1px solid var(--arc-border);
  border-radius: inherit;
  background: var(--arc-surface);
  box-shadow: var(--arc-shadow-resting);
}
.segmented_control_label {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
@media (max-width: 380px) {
  .segmented_control_button {
    padding: 0 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .segmented_control_button {
    transition: none;
  }
}
[data-motion=reduced] .segmented_control_button {
  transition: none;
}
.segmented_control_button:focus-visible {
  outline: 1px solid var(--input-focus-color);
  outline-offset: 0;
}
.segmented_control_button:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.segmented_control_root[data-size=sm] .segmented_control_button {
  min-height: var(--arc-control-height-sm);
}
.segmented_control_root[data-size=md] .segmented_control_button {
  min-height: var(--arc-control-height-md);
}
.segmented_control_root[data-size=lg] .segmented_control_button {
  min-height: var(--arc-control-height-lg);
  font-size: var(--arc-text-base);
}
@media (pointer: coarse) {
  .segmented_control_button {
    min-height: 44px !important;
  }
}
@media (forced-colors: active) {
  .segmented_control_button:focus-visible {
    outline-color: Highlight;
  }
  .segmented_control_selection {
    border-color: Highlight;
  }
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/drawer/drawer.module.css */
.drawer_overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: oklch(10% 0 0 / .38);
  backdrop-filter: blur(4px);
}
.drawer_content {
  --drawer-size: min(30rem, calc(100vw - var(--arc-space-4)));
  --ease-drawer: cubic-bezier(.32,.72,0,1);
  --drawer-from: translateX(100%);
  position: fixed;
  z-index: 51;
  display: flex;
  flex-direction: column;
  width: var(--drawer-size);
  max-width: 100vw;
  max-height: 100dvh;
  overflow: hidden;
  border: 1px solid var(--arc-border);
  background: var(--arc-surface-raised);
  color: var(--arc-foreground);
  box-shadow: var(--arc-shadow-floating);
}
.drawer_overlay[data-state=closed],
.drawer_content[data-state=closed] {
  pointer-events: none !important;
}
.drawer_content[data-side=right] {
  inset: 0 0 0 auto;
  border-width: 1px 0 1px 1px;
  border-radius: var(--radius) 0 0 var(--radius);
}
.drawer_content[data-side=left] {
  inset: 0 auto 0 0;
  border-width: 1px 1px 1px 0;
  border-radius: 0 var(--radius) var(--radius) 0;
}
.drawer_content[data-side=top] {
  inset: 0 0 auto;
  width: 100%;
  max-width: none;
  max-height: min(32rem, 100dvh);
  border-width: 0 0 1px;
  border-radius: 0 0 var(--radius) var(--radius);
}
.drawer_content[data-side=bottom] {
  inset: auto 0 0;
  width: 100%;
  max-width: none;
  max-height: min(32rem, 100dvh);
  border-width: 1px 0 0;
  border-radius: var(--radius) var(--radius) 0 0;
}
.drawer_content[data-side=bottom]::before {
  position: absolute;
  top: 9px;
  left: 50%;
  width: 2.25rem;
  height: 4px;
  border-radius: var(--arc-radius-pill);
  background: var(--arc-border-strong);
  content: "";
  opacity: .75;
  transform: translateX(-50%);
}
.drawer_content[data-side=left] {
  --drawer-from: translateX(-100%);
}
.drawer_content[data-side=top] {
  --drawer-from: translateY(-100%);
}
.drawer_content[data-side=bottom] {
  --drawer-from: translateY(100%);
}
.drawer_keyframes.drawer_overlay[data-state=open] {
  animation: drawer_overlay-in var(--arc-duration-standard) var(--arc-ease-enter) both;
}
.drawer_keyframes.drawer_overlay[data-state=closed] {
  animation: drawer_overlay-out var(--arc-duration-fast) var(--arc-ease-standard) both;
}
.drawer_keyframes.drawer_content[data-state=open] {
  animation: drawer_drawer-in var(--arc-duration-considered) var(--ease-drawer) both;
}
.drawer_keyframes.drawer_content[data-state=closed] {
  animation: drawer_drawer-out var(--arc-duration-standard) var(--arc-ease-standard) both;
}
.drawer_content:focus {
  outline: none;
}
.drawer_overlay[data-contained],
.drawer_content[data-contained] {
  position: absolute;
}
.drawer_overlay[data-ubm-overlay-engaged=false]:not([data-contained]),
.drawer_content[data-ubm-overlay-engaged=false]:not([data-contained]) {
  visibility: hidden;
  pointer-events: none !important;
}
.drawer_overlay[data-contained] {
  z-index: 1;
  background: oklch(10% 0 0 / .16);
  backdrop-filter: none;
}
.drawer_content[data-contained] {
  --drawer-size: min(22rem, calc(100% - var(--arc-space-8, 32px)));
  z-index: 2;
  max-height: 100%;
  box-shadow: none;
}
.drawer_content[data-contained][data-side=top],
.drawer_content[data-contained][data-side=bottom] {
  max-height: min(32rem, calc(100% - var(--arc-space-8, 32px)));
}
.drawer_content[data-contained][data-side] {
  border-width: 0;
}
.drawer_content[data-contained][data-side=right] {
  border-left-width: 1px;
}
.drawer_content[data-contained][data-side=left] {
  border-right-width: 1px;
}
.drawer_content[data-contained][data-side=top] {
  border-bottom-width: 1px;
}
.drawer_content[data-contained][data-side=bottom] {
  border-top-width: 1px;
}
.drawer_header {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--arc-space-5);
  padding: var(--arc-space-6);
  border-bottom: 1px solid var(--arc-border);
}
.drawer_handle {
  touch-action: none;
  user-select: none;
}
.drawer_content[data-side=bottom] .drawer_handle,
.drawer_content[data-side=top] .drawer_handle {
  cursor: grab;
}
.drawer_title,
.drawer_description {
  position: relative;
}
.drawer_swap {
  display: block;
  line-height: var(--arc-leading-body);
}
.drawer_title {
  margin: 0;
  font-family: var(--arc-font-body);
  font-size: var(--arc-text-lg);
  font-weight: 500;
  letter-spacing: var(--arc-tracking-body);
  line-height: var(--arc-leading-body);
}
.drawer_description {
  max-width: 32rem;
  margin: var(--arc-space-2) 0 0;
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-sm);
  line-height: var(--arc-leading-body);
}
.drawer_close {
  display: grid;
  flex: 0 0 auto;
  width: var(--arc-space-8, 32px);
  height: var(--arc-space-8, 32px);
  margin-top: calc((var(--arc-text-lg) * var(--arc-leading-body) - var(--arc-space-8, 32px)) / 2);
  place-items: center;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-control);
  background: color-mix(in oklab, var(--arc-surface-muted) 65%, transparent);
  color: var(--arc-text-secondary);
  cursor: pointer;
  transition:
    background-color var(--arc-duration-fast) var(--arc-ease-standard),
    color var(--arc-duration-fast) var(--arc-ease-standard),
    transform var(--arc-duration-spring) var(--arc-ease-spring);
}
@media (hover: hover) and (pointer: fine) {
  .drawer_close:hover {
    background: var(--arc-surface-muted);
    color: var(--arc-foreground);
  }
}
.drawer_close:active {
  transform: scale(.96);
  transition:
    background-color var(--arc-duration-fast) var(--arc-ease-standard),
    color var(--arc-duration-fast) var(--arc-ease-standard),
    transform var(--arc-duration-instant) var(--arc-ease-standard);
}
.drawer_body {
  min-height: 0;
  overflow: auto;
  padding: var(--arc-space-6);
  font-size: var(--arc-text-sm);
  line-height: var(--arc-leading-body);
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
@media (max-width: 40rem) {
  .drawer_content {
    --drawer-size: calc(100vw - var(--arc-space-3));
  }
  .drawer_content[data-side=right] {
    border-radius: var(--radius) 0 0 var(--radius);
  }
  .drawer_content[data-side=left] {
    border-radius: 0 var(--radius) var(--radius) 0;
  }
  .drawer_content[data-side=top] {
    border-radius: 0 0 var(--radius) var(--radius);
  }
  .drawer_content[data-side=bottom] {
    border-radius: var(--radius) var(--radius) 0 0;
  }
  .drawer_header,
  .drawer_body {
    padding: var(--arc-space-5);
  }
}
@keyframes drawer_overlay-in {
  from {
    opacity: 0;
  }
}
@keyframes drawer_overlay-out {
  to {
    opacity: 0;
  }
}
@keyframes drawer_drawer-in {
  from {
    transform: var(--drawer-from);
  }
}
@keyframes drawer_drawer-out {
  65% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: var(--drawer-from);
  }
}
@keyframes drawer_drawer-fade-in {
  from {
    opacity: 0;
  }
}
@keyframes drawer_drawer-fade-out {
  to {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .drawer_keyframes.drawer_overlay[data-state=open] {
    animation: drawer_overlay-in var(--arc-duration-instant) linear both;
  }
  .drawer_keyframes.drawer_overlay[data-state=closed] {
    animation: drawer_overlay-out 100ms linear both;
  }
  .drawer_keyframes.drawer_content[data-state=open] {
    animation: drawer_drawer-fade-in var(--arc-duration-instant) linear both;
  }
  .drawer_keyframes.drawer_content[data-state=closed] {
    animation: drawer_drawer-fade-out 100ms linear both;
  }
  .drawer_close,
  .drawer_close:active {
    transition: none;
  }
  .drawer_close:active {
    transform: none;
  }
}
[data-motion=reduced] .drawer_keyframes.drawer_overlay[data-state=open],
.drawer_keyframes.drawer_overlay[data-state=open][data-motion=reduced] {
  animation: drawer_overlay-in var(--arc-duration-instant) linear both;
}
[data-motion=reduced] .drawer_keyframes.drawer_overlay[data-state=closed],
.drawer_keyframes.drawer_overlay[data-state=closed][data-motion=reduced] {
  animation: drawer_overlay-out 100ms linear both;
}
[data-motion=reduced] .drawer_keyframes.drawer_content[data-state=open],
.drawer_keyframes.drawer_content[data-state=open][data-motion=reduced] {
  animation: drawer_drawer-fade-in var(--arc-duration-instant) linear both;
}
[data-motion=reduced] .drawer_keyframes.drawer_content[data-state=closed],
.drawer_keyframes.drawer_content[data-state=closed][data-motion=reduced] {
  animation: drawer_drawer-fade-out 100ms linear both;
}
[data-motion=reduced] .drawer_close,
.drawer_close[data-motion=reduced],
[data-motion=reduced] .drawer_close:active,
.drawer_close:active[data-motion=reduced] {
  transition: none;
}
[data-motion=reduced] .drawer_close:active,
.drawer_close:active[data-motion=reduced] {
  transform: none;
}
.drawer_content {
  font-family: var(--arc-font-body);
}
.drawer_content button:focus-visible {
  outline: 1px solid var(--arc-control-on);
  outline-offset: -1px;
}
.drawer_content .drawer_header {
  margin: 0;
  max-width: none;
  width: 100%;
  border: 0;
  padding: var(--arc-dialog-padding);
  gap: 16px;
  box-sizing: border-box;
}
.drawer_content .drawer_header > div {
  min-width: 0;
}
.drawer_content .drawer_title {
  font-size: var(--arc-dialog-title-size);
  font-weight: 600;
  letter-spacing: -.025em;
}
.drawer_content .drawer_description {
  font-size: var(--arc-dialog-description-size);
  color: var(--arc-dialog-description-color);
  line-height: 1.55;
}
.drawer_content .drawer_header span {
  display: block;
  letter-spacing: inherit;
  color: inherit;
}
.drawer_content .drawer_body {
  padding: 0 var(--arc-dialog-padding) var(--arc-dialog-padding);
  line-height: 1.6;
}
.drawer_content .drawer_close {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  width: 32px;
  height: 32px;
}
.drawer_content .drawer_close:hover {
  background: var(--arc-surface-muted);
}
@media (pointer: coarse) {
  .drawer_content .drawer_close {
    width: 44px;
    height: 44px;
  }
}

/* src/adapted/notification-center/notification-center.module.css */
.notification_center_trigger {
  position: relative;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--arc-border);
  border-radius: var(--radius);
  background: var(--arc-surface);
  color: var(--arc-foreground);
  cursor: pointer;
  transition: border-color var(--arc-duration-fast) var(--arc-ease-standard), background var(--arc-duration-fast) var(--arc-ease-standard);
}
.notification_center_trigger[data-state=open],
.notification_center_trigger:active {
  border-color: var(--arc-border-strong);
  background: var(--arc-surface-muted);
}
@media (hover: hover) and (pointer: fine) {
  .notification_center_trigger:hover {
    border-color: var(--arc-border-strong);
    background: var(--arc-surface-muted);
  }
}
.notification_center_trigger > span:first-child {
  display: grid;
  place-items: center;
}
.notification_center_badge {
  position: absolute;
  top: -6px;
  right: -6px;
  display: grid;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  place-items: center;
  overflow: hidden;
  border: 2px solid var(--arc-surface);
  border-radius: var(--arc-radius-pill);
  background: var(--arc-foreground);
  color: var(--arc-background);
  font-size: var(--arc-text-xs);
  font-weight: 500;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.notification_center_panel {
  z-index: 90;
  display: flex;
  flex-direction: column;
  width: min(424px, calc(100vw - 24px));
  max-height: min(590px, calc(100vh - 24px));
  overflow: hidden;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-panel);
  background: var(--arc-surface-raised);
  color: var(--arc-foreground);
  box-shadow: var(--arc-shadow-floating);
  font-family: var(--arc-font-body);
  letter-spacing: var(--arc-tracking-body);
  transform-origin: var(--radix-popover-content-transform-origin);
}
.notification_center_panel {
  --panel-x: 0px;
  --panel-y: -6px;
}
.notification_center_panel[data-side=top] {
  --panel-y: 6px;
}
.notification_center_panel[data-side=left] {
  --panel-x: 6px;
  --panel-y: 0px;
}
.notification_center_panel[data-side=right] {
  --panel-x: -6px;
  --panel-y: 0px;
}
.notification_center_panel[data-state=open] {
  animation: notification_center_panel-open var(--arc-duration-standard) var(--arc-ease-enter) both;
}
.notification_center_panel[data-state=closed] {
  animation: notification_center_panel-close var(--arc-duration-instant) var(--arc-ease-standard) both;
}
.notification_center_header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 23px 24px 18px;
}
.notification_center_heading {
  display: flex;
  align-items: center;
  gap: var(--arc-space-2);
}
.notification_center_heading h2 {
  margin: 0;
  font-size: var(--arc-text-xl);
  font-weight: 500;
  letter-spacing: var(--arc-tracking-body);
  line-height: 1.2;
}
.notification_center_count {
  display: grid;
  min-width: 21px;
  height: 21px;
  padding: 0 5px;
  place-items: center;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--arc-surface-muted);
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-xs);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.notification_center_header p {
  position: relative;
  margin: 4px 0 0;
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-xs);
  line-height: var(--arc-leading-body);
}
.notification_center_close {
  display: grid;
  width: 30px;
  height: 30px;
  flex: none;
  place-items: center;
  border: 0;
  border-radius: var(--radius);
  background: transparent;
  color: var(--arc-text-muted);
  cursor: pointer;
  transition:
    transform var(--arc-duration-spring) var(--arc-ease-spring),
    color var(--arc-duration-fast) var(--arc-ease-standard),
    background var(--arc-duration-fast) var(--arc-ease-standard);
}
.notification_center_close:active {
  transform: scale(.96);
}
.notification_center_toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 0 17px 13px 20px;
  border-bottom: 1px solid var(--arc-border-subtle);
}
.notification_center_viewSwitch {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.notification_center_viewSwitch button {
  position: relative;
  isolation: isolate;
  min-width: 61px;
  height: 31px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--radius);
  background: transparent;
  color: var(--arc-text-secondary);
  font: inherit;
  font-size: var(--arc-text-xs);
  cursor: pointer;
  transition: color var(--arc-duration-fast) var(--arc-ease-standard);
}
.notification_center_viewSwitch .notification_center_viewActive {
  color: var(--arc-foreground);
}
.notification_center_viewSwitch button > span:last-child {
  position: relative;
  z-index: 1;
}
.notification_center_viewHighlight {
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: var(--radius);
  background: var(--arc-surface-muted);
}
.notification_center_markAll {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 0;
  border: 0;
  background: transparent;
  color: var(--arc-text-secondary);
  font: inherit;
  font-size: var(--arc-text-xs);
  white-space: nowrap;
  cursor: pointer;
  transition: transform var(--arc-duration-spring) var(--arc-ease-spring), color var(--arc-duration-fast) var(--arc-ease-standard);
}
.notification_center_markAll:active {
  transform: scale(.97);
}
.notification_center_list {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 9px 11px 10px;
  scrollbar-width: none;
}
.notification_center_list::-webkit-scrollbar {
  display: none;
}
.notification_center_row {
  overflow: hidden;
}
.notification_center_item {
  position: relative;
  padding: 10px;
  border-radius: calc(var(--arc-radius-panel) - 12px);
  transition: background var(--arc-duration-fast) var(--arc-ease-standard);
  animation: notification_center_item-in var(--arc-duration-standard) var(--arc-ease-enter) calc(var(--index, 0) * 35ms) both;
}
.notification_center_itemExpanded {
  background: var(--arc-surface-muted);
}
.notification_center_itemRead .notification_center_itemTitle strong {
  color: var(--arc-text-secondary);
}
.notification_center_itemMain {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  min-width: 0;
}
.notification_center_eventIcon {
  display: grid;
  width: 36px;
  height: 36px;
  flex: none;
  place-items: center;
  color: var(--arc-accent);
}
.notification_center_eventIcon.notification_center_success {
  color: var(--arc-success);
}
.notification_center_eventIcon.notification_center_warning {
  color: var(--arc-warning);
}
.notification_center_itemToggle {
  display: grid;
  min-width: 0;
  flex: 1;
  gap: 4px;
  padding: 2px 0 0;
  border: 0;
  background: transparent;
  color: var(--arc-foreground);
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.notification_center_itemTitle {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  min-height: 20px;
}
.notification_center_itemTitle strong {
  overflow: hidden;
  font-size: var(--arc-text-sm);
  font-weight: 500;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.notification_center_unreadDot {
  display: block;
  width: 6px;
  height: 6px;
  flex: none;
  border-radius: 50%;
  background: var(--arc-foreground);
}
.notification_center_itemPreview {
  overflow: hidden;
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-xs);
  line-height: var(--arc-leading-body);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.notification_center_time {
  flex: none;
  padding-top: 4px;
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  line-height: var(--arc-leading-body);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.notification_center_details {
  overflow: hidden;
  padding-left: 47px;
}
.notification_center_details p {
  margin: 12px 0;
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-xs);
  line-height: var(--arc-leading-body);
}
.notification_center_itemActions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-bottom: 5px;
}
.notification_center_itemActions button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 30px;
  padding: 0 10px;
  overflow: clip;
  border: 1px solid var(--arc-border);
  border-radius: var(--radius);
  background: transparent;
  color: var(--arc-foreground);
  font: inherit;
  font-size: var(--arc-text-xs);
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition:
    transform var(--arc-duration-spring) var(--arc-ease-spring),
    border-color var(--arc-duration-fast) var(--arc-ease-standard),
    background var(--arc-duration-fast) var(--arc-ease-standard);
}
.notification_center_itemActions button:active {
  transform: scale(.97);
}
.notification_center_close:active,
.notification_center_markAll:active,
.notification_center_itemActions button:active,
.notification_center_footer button:active {
  transition-duration: var(--arc-duration-instant);
  transition-timing-function: var(--arc-ease-standard);
}
.notification_center_morph {
  display: inline-flex;
  align-items: center;
}
.notification_center_morphContent {
  position: relative;
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 5px;
}
.notification_center_actionIcon,
.notification_center_actionGlyph {
  position: relative;
  display: grid;
  place-items: center;
}
.notification_center_swap {
  position: relative;
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}
.notification_center_swapLine {
  display: block;
}
.notification_center_roll {
  position: relative;
  display: inline-grid;
  vertical-align: top;
}
.notification_center_rollValue {
  display: block;
}
.notification_center_emptyFrame {
  overflow: hidden;
}
.notification_center_empty {
  display: grid;
  justify-items: center;
  align-content: center;
  min-height: 190px;
  padding: 22px 12px;
  text-align: center;
}
.notification_center_empty > svg {
  margin-bottom: 13px;
  color: var(--arc-text-muted);
}
.notification_center_empty strong {
  font-size: var(--arc-text-sm);
  font-weight: 500;
}
.notification_center_empty p {
  margin: 4px 0 0;
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-xs);
}
.notification_center_empty button {
  margin-top: 16px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--arc-foreground);
  font: inherit;
  font-size: var(--arc-text-xs);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.notification_center_footerFrame {
  flex: none;
  overflow: hidden;
}
.notification_center_footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 46px;
  padding: 8px 22px;
  border-top: 1px solid var(--arc-border-subtle);
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
}
.notification_center_footer button {
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: var(--arc-text-secondary);
  font: inherit;
  font-size: var(--arc-text-xs);
  cursor: pointer;
  transition: transform var(--arc-duration-spring) var(--arc-ease-spring), color var(--arc-duration-fast) var(--arc-ease-standard);
}
.notification_center_footer button:active {
  transform: scale(.97);
}
@media (hover: hover) and (pointer: fine) {
  .notification_center_close:hover,
  .notification_center_item:hover {
    background: var(--arc-surface-muted);
  }
  .notification_center_close:hover,
  .notification_center_viewSwitch button:hover,
  .notification_center_markAll:hover,
  .notification_center_footer button:hover {
    color: var(--arc-foreground);
  }
  .notification_center_itemActions button:hover {
    border-color: var(--arc-border-strong);
    background: var(--arc-surface);
  }
}
@keyframes notification_center_panel-open {
  from {
    opacity: 0;
    transform: translate(var(--panel-x), var(--panel-y)) scale(.97);
  }
}
@keyframes notification_center_panel-close {
  to {
    opacity: 0;
    transform: translate(calc(var(--panel-x) / 2), calc(var(--panel-y) / 2)) scale(.98);
  }
}
@keyframes notification_center_item-in {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
}
@media (max-width: 380px) {
  .notification_center_header {
    padding: 20px 16px 16px;
  }
  .notification_center_heading h2 {
    font-size: var(--arc-text-lg);
  }
  .notification_center_toolbar {
    align-items: flex-start;
    padding: 0 12px 12px;
  }
  .notification_center_list {
    padding: 8px 5px;
  }
  .notification_center_item {
    padding-inline: 7px;
  }
  .notification_center_itemMain {
    gap: 7px;
  }
  .notification_center_details {
    padding-left: 43px;
  }
  .notification_center_itemActions {
    gap: 5px;
  }
  .notification_center_itemActions button {
    padding-inline: 7px;
  }
  .notification_center_markAll span {
    display: none;
  }
  .notification_center_footer {
    padding-inline: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .notification_center_panel[data-state],
  .notification_center_trigger,
  .notification_center_close,
  .notification_center_viewSwitch button,
  .notification_center_markAll,
  .notification_center_item,
  .notification_center_itemActions button,
  .notification_center_footer button {
    animation: none;
    transition-duration: 0ms;
  }
  .notification_center_close:active,
  .notification_center_markAll:active,
  .notification_center_itemActions button:active,
  .notification_center_footer button:active {
    transform: none;
  }
}
.notification_center_panel {
  box-sizing: border-box;
  max-height: min(590px, var(--radix-popover-content-available-height,calc(100dvh - 24px)));
}
.notification_center_panel .notification_center_header {
  margin: 0;
  max-width: none;
}
.notification_center_panel .notification_center_header > div {
  min-width: 0;
}
.notification_center_panel .notification_center_item {
  border: 0;
  background: transparent;
  margin: 0;
}
.notification_center_panel .notification_center_itemExpanded {
  background: var(--arc-surface-muted);
}
.notification_center_panel .notification_center_footer {
  margin: 0;
}
.notification_center_panel .notification_center_toolbar,
.notification_center_panel .notification_center_footer {
  border: 0;
}
.notification_center_panel button:focus-visible,
.notification_center_trigger:focus-visible {
  outline: 1px solid var(--input-focus-color);
  outline-offset: -1px;
}
.notification_center_trigger {
  font-family: var(--arc-font-body);
}
.notification_center_panel .notification_center_heading h2 {
  font-family: var(--arc-font-body);
}
.notification_center_panel .notification_center_viewSwitch {
  flex: none;
}
.notification_center_panel[data-motion=reduced],
.notification_center_panel[data-motion=reduced] * {
  animation: none !important;
  transition-duration: 0ms !important;
}
@media (pointer: coarse) {
  .notification_center_trigger,
  .notification_center_close {
    min-width: 44px;
    min-height: 44px;
  }
  .notification_center_panel .notification_center_viewSwitch button,
  .notification_center_panel .notification_center_markAll,
  .notification_center_panel .notification_center_itemActions button,
  .notification_center_panel .notification_center_footer button,
  .notification_center_panel .notification_center_empty button {
    min-height: 44px;
  }
}
@media (forced-colors: active) {
  .notification_center_panel button:focus-visible,
  .notification_center_trigger:focus-visible {
    outline-color: Highlight;
  }
}
@media (hover: hover) and (pointer: fine) {
  .notification_center_panel .notification_center_item:hover {
    background: var(--arc-surface-muted);
  }
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/tabs/tabs.module.css */
.tabs_root {
  position: relative;
}
.tabs_listShell {
  position: relative;
  display: inline-flex;
  max-width: 100%;
  min-width: 0;
  align-items: center;
  isolation: isolate;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-control);
  background: var(--arc-surface-muted);
}
.tabs_viewport {
  min-width: 0;
  overflow-x: auto;
  border-radius: inherit;
  scrollbar-width: none;
}
.tabs_viewport::-webkit-scrollbar {
  display: none;
}
.tabs_listShell[data-left=true] .tabs_viewport {
  mask-image:
    linear-gradient(
      to right,
      transparent,
      black 35px,
      black);
}
.tabs_listShell[data-right=true] .tabs_viewport {
  mask-image:
    linear-gradient(
      to right,
      black,
      black calc(100% - 35px),
      transparent);
}
.tabs_listShell[data-left=true][data-right=true] .tabs_viewport {
  mask-image:
    linear-gradient(
      to right,
      transparent,
      black 35px,
      black calc(100% - 35px),
      transparent);
}
.tabs_list {
  isolation: isolate;
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: var(--arc-space-1);
  padding: var(--arc-space-1);
}
.tabs_scrollButton {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  display: grid;
  width: 33px;
  place-items: center;
  border: 0;
  background: var(--arc-surface-muted);
  color: var(--arc-foreground);
}
.tabs_scrollLeft {
  left: 0;
  border-radius: var(--arc-radius-control) 0 0 var(--arc-radius-control);
}
.tabs_scrollRight {
  right: 0;
  border-radius: 0 var(--arc-radius-control) var(--arc-radius-control) 0;
}
.tabs_scrollButton:disabled {
  opacity: 0;
  pointer-events: none;
}
.tabs_scrollButton:focus-visible {
  outline: 1px solid var(--input-focus-color);
  outline-offset: -1px;
}
.tabs_trigger {
  position: relative;
  -webkit-tap-highlight-color: transparent;
  display: inline-grid;
  min-width: 5.5rem;
  place-items: center;
  flex: 0 0 auto;
  min-height: var(--arc-control-height-sm);
  border: 0;
  border-radius: calc(var(--arc-radius-control) - 3px);
  padding: 0 var(--arc-space-3);
  background: transparent;
  color: var(--arc-text-muted);
  font: inherit;
  font-size: var(--arc-text-sm);
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: color var(--arc-duration-fast) var(--arc-ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .tabs_trigger:hover {
    color: var(--arc-foreground);
  }
}
.tabs_trigger:active {
  color: var(--arc-foreground);
}
.tabs_trigger[data-state=active] {
  color: var(--arc-accent-strong);
}
.tabs_selection {
  position: absolute;
  z-index: -1;
  inset: 0;
  border: 1px solid var(--arc-border);
  border-radius: inherit;
  background: var(--arc-surface);
  box-shadow: var(--arc-shadow-resting);
  will-change: transform;
}
.tabs_triggerLabel {
  position: relative;
  z-index: 1;
}
.tabs_trigger:focus-visible {
  outline: 1px solid var(--input-focus-color);
  outline-offset: 0;
}
.tabs_trigger:disabled {
  cursor: not-allowed;
  opacity: .5;
}
.tabs_content {
  margin-top: var(--arc-space-4);
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-sm);
  line-height: var(--arc-leading-body);
}
.tabs_content[data-motion-pop-id] {
  margin-top: 0;
}
.tabs_content[data-state=inactive] {
  pointer-events: none;
}
.tabs_content:focus-visible {
  outline: 1px solid var(--input-focus-color);
  outline-offset: 0;
  border-radius: var(--arc-radius-control);
}
@media (prefers-reduced-motion: reduce) {
  .tabs_trigger {
    transition: none;
  }
}
[data-motion=reduced] .tabs_trigger,
.tabs_trigger[data-motion=reduced] {
  transition: none;
}
.tabs_root {
  font-family: var(--font-family,var(--arc-font-body));
  line-height: var(--arc-leading-body);
}
@media (pointer: coarse) {
  .tabs_trigger {
    min-height: 44px;
  }
  .tabs_scrollButton {
    width: 44px;
  }
}
@media (forced-colors: active) {
  .tabs_trigger:focus-visible,
  .tabs_content:focus-visible,
  .tabs_scrollButton:focus-visible {
    outline-color: Highlight;
  }
  .tabs_selection {
    border-color: Highlight;
  }
}
.tabs_listShell {
  --tabs-arrow-width:33px;
}
.tabs_listShell[data-overflow=true] {
  padding-inline: var(--tabs-arrow-width);
}
.tabs_listShell[data-overflow=true][data-left][data-right] .tabs_viewport {
  mask-image: none;
}
.tabs_scrollButton {
  width: var(--tabs-arrow-width);
}
@media (pointer: coarse) {
  .tabs_listShell {
    --tabs-arrow-width:44px;
  }
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/animated-counter/animated-counter.module.css */
.animated_counter_counter {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  color: var(--arc-foreground);
  font-family: var(--arc-font-display);
  font-size: var(--arc-text-3xl);
  font-weight: 500;
  letter-spacing: var(--arc-tracking-display);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.animated_counter_label {
  margin-bottom: var(--arc-space-2);
  color: var(--arc-text-muted);
  font-family: var(--arc-font-body);
  font-size: var(--arc-text-xs);
  font-weight: 400;
  letter-spacing: var(--arc-tracking-body);
  line-height: var(--arc-leading-body);
}
.animated_counter_value {
  display: inline-flex;
  align-items: flex-start;
  white-space: nowrap;
  user-select: none;
}
.animated_counter_column {
  --feather: .16em;
  position: relative;
  display: inline-block;
  overflow: hidden;
  margin-block: calc(var(--feather) * -1);
  padding-block: var(--feather);
  mask-image:
    linear-gradient(
      to bottom,
      transparent,
      #000 calc(var(--feather) * 1.5),
      #000 calc(100% - var(--feather) * 1.5),
      transparent);
}
.animated_counter_sizer {
  visibility: hidden;
}
.animated_counter_glyph {
  position: absolute;
  inset: var(--feather) 0;
  text-align: center;
}
.animated_counter_labelText {
  display: inline-block;
}
.animated_counter_labelSwap {
  position: relative;
  display: block;
}
.animated_counter_symbol {
  display: inline-block;
  overflow-x: clip;
}
.animated_counter_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/liquid-tab-bar/liquid-tab-bar.module.css */
.liquid_tab_bar_root {
  position: relative;
  display: inline-flex;
  max-width: 100%;
}
.liquid_tab_bar_root > [data-overflow] {
  border: 0;
  background: transparent;
  border-radius: var(--arc-radius-pill);
}
.liquid_tab_bar_root > [data-overflow] > div {
  border-radius: var(--arc-radius-pill);
}
.liquid_tab_bar_root .liquid_tab_bar_list {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  gap: 2px;
  width: max-content;
  padding: 4px;
  border-radius: var(--arc-radius-pill);
  background: var(--arc-surface);
  box-shadow: inset 0 0 0 1px var(--arc-border-subtle), var(--arc-shadow-resting);
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}
.liquid_tab_bar_root .liquid_tab_bar_list[data-dragging] {
  cursor: grabbing;
}
.liquid_tab_bar_root .liquid_tab_bar_tab {
  position: relative;
  display: inline-flex;
  min-width: 0;
  height: var(--liquid-slot, 44px);
  flex: none;
  align-items: center;
  justify-content: flex-start;
  padding: 0 11px;
  border-radius: var(--arc-radius-pill);
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-sm);
  font-weight: 560;
  letter-spacing: -.01em;
  white-space: nowrap;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.liquid_tab_bar_root .liquid_tab_bar_tab > span[aria-hidden=true] {
  display: none;
}
.liquid_tab_bar_root .liquid_tab_bar_tab > span:not([aria-hidden]) {
  display: inline-flex;
  height: 100%;
  align-items: center;
}
@media (hover: hover) and (pointer: fine) {
  .liquid_tab_bar_root .liquid_tab_bar_tab:hover {
    color: var(--arc-foreground);
  }
}
.liquid_tab_bar_root .liquid_tab_bar_tab:focus-visible {
  outline: none;
}
.liquid_tab_bar_root .liquid_tab_bar_tab:focus-visible::after {
  content: "";
  position: absolute;
  inset: 2px;
  border: 1px solid var(--arc-control-on);
  border-radius: inherit;
  z-index: 3;
  pointer-events: none;
}
.liquid_tab_bar_root .liquid_tab_bar_tab[data-state=active]:focus-visible::after {
  border-color: var(--arc-accent-foreground);
}
.liquid_tab_bar_root .liquid_tab_bar_tab[data-state=active] {
  cursor: grab;
}
.liquid_tab_bar_icon {
  display: inline-grid;
  width: 22px;
  height: 22px;
  flex: none;
  place-items: center;
}
.liquid_tab_bar_icon > svg {
  width: 22px;
  height: 22px;
  stroke-width: 1.75;
}
.liquid_tab_bar_label {
  display: inline-block;
  overflow: hidden;
  flex: none;
}
.liquid_tab_bar_labelText {
  display: inline-block;
  padding-left: 6px;
  padding-right: 2px;
}
.liquid_tab_bar_badge {
  position: absolute;
  top: 3px;
  left: 23px;
  display: inline-flex;
  box-sizing: border-box;
  width: 17px;
  height: 17px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: var(--arc-radius-pill);
  background: var(--arc-foreground);
  color: var(--arc-background);
  box-shadow: 0 0 0 2px var(--arc-surface);
  font-size: 10.5px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  overflow: hidden;
}
.liquid_tab_bar_badge > span {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: 0;
  line-height: 1;
  color: inherit;
}
.liquid_tab_bar_lens {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 4px;
  border-radius: inherit;
  background: var(--arc-accent);
  color: var(--arc-accent-foreground);
  pointer-events: none;
  will-change: clip-path;
}
.liquid_tab_bar_lens[data-hidden] {
  visibility: hidden;
}
.liquid_tab_bar_cloneTab {
  position: relative;
  display: inline-flex;
  height: var(--liquid-slot, 44px);
  flex: none;
  align-items: center;
  padding: 0 11px;
  font-size: var(--arc-text-sm);
  font-weight: 560;
  letter-spacing: -.01em;
  white-space: nowrap;
}
.liquid_tab_bar_cloneTab .liquid_tab_bar_badge {
  background: var(--arc-accent-foreground);
  color: var(--arc-accent);
  box-shadow: 0 0 0 2px var(--arc-accent);
}
.liquid_tab_bar_measure {
  position: absolute;
  visibility: hidden;
  pointer-events: none;
  display: flex;
  top: 0;
  left: 0;
  font-size: var(--arc-text-sm);
  font-weight: 560;
  letter-spacing: -.01em;
  white-space: nowrap;
}
.liquid_tab_bar_measure > span {
  display: inline-block;
}
@media (prefers-contrast: more) {
  .liquid_tab_bar_root .liquid_tab_bar_list {
    box-shadow: inset 0 0 0 1px var(--arc-border-strong);
  }
}
.liquid_tab_bar_root {
  font-family: var(--arc-font-body);
  line-height: var(--arc-leading-body);
}
.liquid_tab_bar_sizing {
  min-width: 0;
  max-width: 100%;
  display: flex;
  justify-content: center;
}
.liquid_tab_bar_sizing[data-labels=always] {
  width: 100%;
}
.liquid_tab_bar_list[data-labels=always] .liquid_tab_bar_tab,
.liquid_tab_bar_list[data-labels=always] .liquid_tab_bar_cloneTab {
  width: var(--liquid-tab-width);
  padding: 0;
}
.liquid_tab_bar_list[data-labels=always] .liquid_tab_bar_tab > span:not([aria-hidden]),
.liquid_tab_bar_list[data-labels=always] .liquid_tab_bar_cloneTab {
  flex-direction: column;
  justify-content: center;
  gap: 3px;
}
.liquid_tab_bar_list[data-labels=always] .liquid_tab_bar_label {
  height: 16px;
  font-size: 11px;
  text-align: center;
  line-height: 16px;
}
.liquid_tab_bar_list[data-labels=always] .liquid_tab_bar_labelText {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0;
}
.liquid_tab_bar_list[data-labels=always] .liquid_tab_bar_badge {
  left: calc(50% + 3px);
  top: 4px;
}
.liquid_tab_bar_badge[data-wide] {
  width: 22px;
  left: 18px;
  font-size: 10px;
}
.liquid_tab_bar_list[data-labels=always] .liquid_tab_bar_badge[data-wide] {
  left: calc(50% + 1px);
}
.liquid_tab_bar_icon {
  position: relative;
}
.liquid_tab_bar_icon .liquid_tab_bar_badge,
.liquid_tab_bar_list[data-labels=always] .liquid_tab_bar_icon .liquid_tab_bar_badge {
  top: -6px;
  left: auto;
  right: -6px;
}
.liquid_tab_bar_icon .liquid_tab_bar_badge[data-wide],
.liquid_tab_bar_list[data-labels=always] .liquid_tab_bar_icon .liquid_tab_bar_badge[data-wide] {
  left: auto;
  right: -6px;
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/dropdown-menu/dropdown-menu.module.css */
.dropdown_menu_trigger {
  display: inline-flex;
  max-width: 100%;
  min-height: var(--arc-control-height-sm);
  align-items: center;
  gap: var(--arc-space-2);
  padding: 0 var(--arc-space-3);
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-control);
  background: var(--arc-surface);
  color: var(--arc-foreground);
  font: inherit;
  font-size: var(--arc-text-sm);
  font-weight: 500;
  cursor: pointer;
  transition:
    background-color var(--arc-duration-instant) var(--arc-ease-standard),
    border-color var(--arc-duration-fast) var(--arc-ease-standard),
    box-shadow var(--arc-duration-fast) var(--arc-ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .dropdown_menu_trigger:hover {
    border-color: var(--arc-border-strong);
    background: var(--arc-surface-muted);
    box-shadow: var(--arc-shadow-resting);
  }
}
.dropdown_menu_trigger[data-state=open] {
  border-color: var(--arc-border-strong);
  background: var(--arc-surface-muted);
  box-shadow: none;
}
.dropdown_menu_trigger:active {
  border-color: var(--arc-border-strong);
  background: color-mix(in oklab, var(--arc-surface-muted), var(--arc-border) 55%);
  box-shadow: none;
}
.dropdown_menu_trigger:focus-visible {
  outline: 1px solid var(--arc-control-on);
  outline-offset: 0;
}
.dropdown_menu_item:focus-visible {
  outline: none;
}
.dropdown_menu_triggerIcon {
  display: inline-flex;
  flex: none;
  color: var(--arc-text-secondary);
}
.dropdown_menu_label {
  position: relative;
  display: inline-flex;
  min-width: 0;
  flex: 0 1 auto;
  overflow-x: clip;
}
.dropdown_menu_labelMeasure {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  white-space: nowrap;
  pointer-events: none;
}
.dropdown_menu_labelText {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dropdown_menu_chevron {
  flex: none;
  color: var(--arc-text-muted);
  transition: transform var(--arc-duration-spring) var(--arc-ease-spring), color var(--arc-duration-fast) var(--arc-ease-standard);
}
.dropdown_menu_trigger[data-state=open] .dropdown_menu_chevron {
  transform: rotate(180deg);
}
.dropdown_menu_menu {
  --menu-x: 0px;
  --menu-y: -5px;
  position: relative;
  z-index: 60;
  min-width: min(12rem, var(--radix-dropdown-menu-content-available-width));
  max-width: var(--radix-dropdown-menu-content-available-width);
  transform-origin: var(--radix-dropdown-menu-content-transform-origin);
  transition: opacity var(--arc-duration-fast) var(--arc-ease-enter), transform var(--arc-duration-spring) var(--arc-ease-spring);
}
.dropdown_menu_menu,
.dropdown_menu_surface {
  padding: 5px;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-panel);
  background: var(--arc-surface-raised);
  box-shadow: var(--arc-shadow-floating);
}
.dropdown_menu_menu[data-side=top] {
  --menu-y: 5px;
}
.dropdown_menu_menu[data-side=left] {
  --menu-x: 5px;
  --menu-y: 0px;
}
.dropdown_menu_menu[data-side=right] {
  --menu-x: -5px;
  --menu-y: 0px;
}
@starting-style {
  .dropdown_menu_menu[data-state=open] {
    opacity: 0;
    transform: translate(var(--menu-x), var(--menu-y)) scale(.97);
  }
  .dropdown_menu_menu[data-state=open] .dropdown_menu_item {
    opacity: 0;
    transform: translate(calc(var(--menu-x) * .4), calc(var(--menu-y) * .4));
  }
}
.dropdown_menu_menu[data-state=closed] {
  opacity: 0;
  transform: translate(calc(var(--menu-x) * .5), calc(var(--menu-y) * .5)) scale(.985);
  transition: opacity 130ms var(--arc-ease-standard), transform 130ms var(--arc-ease-standard);
  animation: dropdown_menu_menu-exit 130ms linear both;
  pointer-events: none;
}
.dropdown_menu_highlight {
  position: absolute;
  top: 0;
  right: 5px;
  left: 5px;
  border-radius: calc(var(--arc-radius-panel) - 6px);
  opacity: 0;
  pointer-events: none;
  transition: background-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.dropdown_menu_highlight,
.dropdown_menu_item[data-active] {
  background: var(--arc-surface-muted);
}
.dropdown_menu_highlight[data-tone=danger],
.dropdown_menu_item[data-active][data-tone=danger] {
  background: color-mix(in oklab, var(--arc-danger) 8%, var(--arc-surface));
}
.dropdown_menu_item {
  position: relative;
  display: flex;
  min-height: 36px;
  align-items: center;
  gap: 10px;
  padding: 0 11px;
  border-radius: calc(var(--arc-radius-panel) - 6px);
  color: var(--arc-foreground);
  font-size: var(--arc-text-sm);
  cursor: pointer;
  outline: none;
  transition:
    color var(--arc-duration-fast) var(--arc-ease-standard),
    opacity var(--arc-duration-standard) var(--arc-ease-enter) calc(min(var(--i, 0), 4) * 35ms),
    transform var(--arc-duration-standard) var(--arc-ease-enter) calc(min(var(--i, 0), 4) * 35ms);
}
.dropdown_menu_icon {
  display: inline-flex;
  width: 17px;
  color: var(--arc-text-secondary);
}
.dropdown_menu_separator {
  height: 1px;
  margin: var(--arc-space-1) calc(var(--arc-space-1) * -1);
  background: var(--arc-border-subtle);
}
.dropdown_menu_destructive {
  color: var(--arc-danger);
}
.dropdown_menu_destructive .dropdown_menu_icon {
  color: var(--arc-danger);
}
.dropdown_menu_item[data-disabled] {
  opacity: .45;
  cursor: default;
}
.dropdown_menu_note {
  padding: var(--arc-space-2) 11px;
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
}
.dropdown_menu_item[data-rich] {
  min-height: 36px;
  padding-block: var(--arc-space-2);
  white-space: normal;
}
button.dropdown_menu_item {
  width: 100%;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: var(--arc-text-sm);
  text-align: start;
}
@keyframes dropdown_menu_menu-exit {
  to {
    --menu-exit: 1;
  }
}
@media (prefers-reduced-transparency: reduce) {
  .dropdown_menu_menu {
    background: var(--arc-surface-raised);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dropdown_menu_trigger,
  .dropdown_menu_chevron,
  .dropdown_menu_item,
  .dropdown_menu_highlight {
    transition: none;
  }
  .dropdown_menu_menu,
  .dropdown_menu_menu[data-state=closed] {
    transform: none;
    transition: opacity var(--arc-duration-instant) linear;
  }
}
[data-motion=reduced] .dropdown_menu_trigger,
.dropdown_menu_trigger[data-motion=reduced],
[data-motion=reduced] .dropdown_menu_chevron,
.dropdown_menu_chevron[data-motion=reduced],
[data-motion=reduced] .dropdown_menu_item,
.dropdown_menu_item[data-motion=reduced],
[data-motion=reduced] .dropdown_menu_highlight,
.dropdown_menu_highlight[data-motion=reduced] {
  transition: none;
}
[data-motion=reduced] .dropdown_menu_menu,
.dropdown_menu_menu[data-motion=reduced],
[data-motion=reduced] .dropdown_menu_menu[data-state=closed],
.dropdown_menu_menu[data-state=closed][data-motion=reduced] {
  transform: none;
  transition: opacity var(--arc-duration-instant) linear;
}
.dropdown_menu_menu,
.dropdown_menu_surface {
  font-family: var(--arc-font-body);
  font-weight: 400;
  line-height: var(--arc-leading-body);
}
.dropdown_menu_trigger {
  min-height: var(--touch-target);
}
.dropdown_menu_separator {
  height: 0;
  margin: var(--arc-menu-group-gap) 0;
  background: transparent;
}

/* src/adapted/chat-thread/chat-thread.module.css */
.chat_thread_root {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  color: var(--arc-foreground);
  font-family: var(--arc-font-body);
  font-size: var(--arc-text-sm);
  letter-spacing: var(--arc-tracking-body);
  line-height: var(--arc-leading-body);
}
.chat_thread_viewport {
  position: relative;
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
}
.chat_thread_scroller {
  min-height: 0;
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-gutter: stable;
}
.chat_thread_track {
  overflow: clip;
}
.chat_thread_content {
  padding: 12px 16px 14px;
  will-change: transform;
}
.chat_thread_list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.chat_thread_day {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 4px 4px;
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  font-weight: 500;
}
.chat_thread_day::before,
.chat_thread_day::after {
  height: 1px;
  flex: 1;
  background: var(--arc-border-subtle);
  content: "";
}
.chat_thread_day:first-child {
  padding-top: 4px;
}
.chat_thread_day > span:empty::before {
  content: "\a0";
}
.chat_thread_row {
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin-top: 2px;
}
.chat_thread_row[data-first] {
  margin-top: 14px;
}
.chat_thread_day + .chat_thread_row {
  margin-top: 10px;
}
.chat_thread_row[data-mine] {
  justify-content: flex-end;
}
.chat_thread_gutter {
  width: 28px;
  flex: none;
  align-self: flex-end;
}
.chat_thread_stack {
  display: flex;
  min-width: 0;
  max-width: min(78%, 34rem);
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.chat_thread_row[data-mine] .chat_thread_stack {
  align-items: flex-end;
}
.chat_thread_meta {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 0 0 2px;
  padding: 0 12px;
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  font-variant-numeric: tabular-nums;
}
.chat_thread_author {
  color: var(--arc-text-secondary);
  font-weight: 500;
}
.chat_thread_line {
  position: relative;
  display: flex;
  max-width: 100%;
  align-items: center;
  gap: 6px;
}
.chat_thread_face {
  position: absolute;
  bottom: 0;
  left: -36px;
  display: flex;
}
.chat_thread_row[data-mine] .chat_thread_line {
  flex-direction: row-reverse;
}
.chat_thread_parts {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.chat_thread_row[data-mine] .chat_thread_parts {
  align-items: flex-end;
}
.chat_thread_bubble {
  --r: 18px;
  --tight: 6px;
  max-width: 100%;
  padding: 8px 13px 9px;
  border-radius: var(--r);
  background: var(--arc-surface-muted);
  color: var(--arc-foreground);
  font-size: var(--arc-text-sm);
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.chat_thread_row:not([data-mine]):not([data-first]) .chat_thread_bubble {
  border-top-left-radius: var(--tight);
}
.chat_thread_row:not([data-mine]):not([data-last]) .chat_thread_bubble {
  border-bottom-left-radius: var(--tight);
}
.chat_thread_row[data-mine] .chat_thread_bubble {
  background: var(--arc-accent);
  color: var(--arc-accent-foreground);
}
:root[data-theme=dark] .chat_thread_row:not([data-mine]) .chat_thread_bubble {
  background: var(--arc-surface-raised);
}
.chat_thread_row[data-mine]:not([data-first]) .chat_thread_bubble {
  border-top-right-radius: var(--tight);
}
.chat_thread_row[data-mine]:not([data-last]) .chat_thread_bubble {
  border-bottom-right-radius: var(--tight);
}
.chat_thread_row[data-failed] .chat_thread_bubble {
  opacity: .6;
}
.chat_thread_gallery {
  display: grid;
  width: min(240px, 100%);
  gap: 3px;
  grid-template-columns: 1fr;
}
.chat_thread_gallery[data-count="2"],
.chat_thread_gallery[data-count="3"],
.chat_thread_gallery[data-count="4"] {
  grid-template-columns: 1fr 1fr;
}
.chat_thread_gallery[data-count="3"] > :first-child {
  grid-column: span 2;
  aspect-ratio: 2 / 1;
}
.chat_thread_image {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: 16px;
  background: var(--arc-surface-muted);
}
.chat_thread_gallery[data-count="1"] .chat_thread_image {
  aspect-ratio: 4 / 3;
}
.chat_thread_gallery:not([data-count="1"]) .chat_thread_image {
  border-radius: 6px;
}
.chat_thread_gallery:not([data-count="1"]) {
  overflow: hidden;
  border-radius: 16px;
}
.chat_thread_image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.chat_thread_more {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: oklch(0% 0 0 / .45);
  color: #fff;
  font-size: var(--arc-text-lg);
  font-weight: 500;
}
.chat_thread_file {
  display: flex;
  max-width: 100%;
  align-items: center;
  gap: 10px;
  padding: 9px 14px 9px 11px;
  border: 1px solid var(--arc-border);
  border-radius: 16px;
  background: var(--arc-surface);
  color: var(--arc-foreground);
  text-decoration: none;
  transition: background-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.chat_thread_file > svg {
  flex: none;
  color: var(--arc-text-secondary);
}
.chat_thread_fileText {
  display: grid;
  min-width: 0;
}
.chat_thread_fileName {
  overflow: hidden;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat_thread_fileSize {
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  font-variant-numeric: tabular-nums;
}
@media (hover: hover) and (pointer: fine) {
  .chat_thread_file:hover {
    background: var(--arc-surface-muted);
  }
}
.chat_thread_pickerWrap {
  position: static;
  flex: none;
}
.chat_thread_reactButton {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: var(--arc-radius-pill);
  background: transparent;
  color: var(--arc-text-muted);
  cursor: pointer;
  opacity: 0;
  -webkit-tap-highlight-color: transparent;
  transition:
    opacity var(--arc-duration-fast) var(--arc-ease-standard),
    background-color var(--arc-duration-fast) var(--arc-ease-standard),
    color var(--arc-duration-fast) var(--arc-ease-standard);
}
.chat_thread_row:hover .chat_thread_reactButton,
.chat_thread_row:focus-within .chat_thread_reactButton,
.chat_thread_pickerWrap[data-open] .chat_thread_reactButton {
  opacity: 1;
}
.chat_thread_pickerWrap[data-open] .chat_thread_reactButton {
  background: var(--arc-surface-muted);
  color: var(--arc-foreground);
}
@media (hover: hover) and (pointer: fine) {
  .chat_thread_reactButton:hover {
    background: var(--arc-surface-muted);
    color: var(--arc-foreground);
  }
}
@media (hover: none) {
  .chat_thread_reactButton {
    opacity: .7;
  }
}
.chat_thread_picker {
  position: absolute;
  z-index: 5;
  bottom: calc(100% + 6px);
  right: -4px;
  display: flex;
  gap: 2px;
  padding: 4px;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-pill);
  background: var(--arc-surface-raised);
  box-shadow: var(--arc-shadow-floating);
  transform-origin: calc(100% - 18px) 100%;
}
.chat_thread_picker[data-mine] {
  right: auto;
  left: -4px;
  transform-origin: 18px 100%;
}
.chat_thread_pickerWrap[data-below] .chat_thread_picker {
  top: calc(100% + 6px);
  bottom: auto;
  transform-origin: calc(100% - 18px) 0;
}
.chat_thread_pickerWrap[data-below] .chat_thread_picker[data-mine] {
  transform-origin: 18px 0;
}
.chat_thread_emoji {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: var(--arc-radius-pill);
  background: transparent;
  cursor: pointer;
  font-size: 19px;
  line-height: 1;
  -webkit-tap-highlight-color: transparent;
  transition: background-color var(--arc-duration-fast) var(--arc-ease-standard), transform var(--arc-duration-instant) var(--arc-ease-standard);
}
.chat_thread_emoji:focus-visible {
  background: var(--arc-surface-muted);
}
.chat_thread_emoji:active {
  transform: scale(.9);
}
@media (hover: hover) and (pointer: fine) {
  .chat_thread_emoji:hover {
    background: var(--arc-surface-muted);
    transform: scale(1.12);
  }
}
.chat_thread_reactionClip {
  overflow: hidden;
  margin: -2px -4px;
  padding: 2px 4px 2px 8px;
}
.chat_thread_row[data-mine] .chat_thread_reactionClip {
  padding: 2px 8px 2px 4px;
}
.chat_thread_reactions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.chat_thread_row[data-mine] .chat_thread_reactions {
  justify-content: flex-end;
}
.chat_thread_reaction {
  display: inline-flex;
  height: 26px;
  align-items: center;
  gap: 5px;
  padding: 0 9px 0 7px;
  border: 1px solid var(--arc-border-subtle);
  border-radius: var(--arc-radius-pill);
  background: var(--arc-surface);
  color: var(--arc-text-secondary);
  cursor: pointer;
  font: inherit;
  font-size: var(--arc-text-xs);
  font-weight: 500;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color var(--arc-duration-fast) var(--arc-ease-standard),
    border-color var(--arc-duration-fast) var(--arc-ease-standard),
    color var(--arc-duration-fast) var(--arc-ease-standard),
    transform var(--arc-duration-instant) var(--arc-ease-standard);
}
.chat_thread_reaction > span:first-child {
  font-size: 14px;
}
.chat_thread_reaction[aria-pressed=true] {
  border-color: color-mix(in oklab, var(--arc-accent) 28%, transparent);
  background: color-mix(in oklab, var(--arc-accent) 8%, var(--arc-surface));
  color: var(--arc-foreground);
}
@media (hover: hover) and (pointer: fine) {
  .chat_thread_reaction:hover {
    border-color: var(--arc-border-strong);
  }
}
.chat_thread_reaction:active {
  transform: scale(.95);
}
.chat_thread_countRoll {
  display: inline-grid;
  overflow: hidden;
  font-variant-numeric: tabular-nums;
}
.chat_thread_countRoll > span {
  grid-area: 1 / 1;
}
.chat_thread_receipts {
  display: flex;
  min-height: 16px;
  align-items: center;
  gap: 6px;
  padding: 1px 6px 0;
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
}
.chat_thread_readers {
  display: inline-flex;
}
.chat_thread_reader {
  display: inline-flex;
  border-radius: 50%;
  box-shadow: 0 0 0 2px var(--arc-surface);
}
.chat_thread_reader + .chat_thread_reader {
  margin-left: -4px;
}
.chat_thread_status[data-status=failed] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--arc-danger);
}
.chat_thread_retry {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-pill);
  background: var(--arc-surface);
  color: var(--arc-foreground);
  cursor: pointer;
  font: inherit;
  font-weight: 500;
  line-height: 16px;
  -webkit-tap-highlight-color: transparent;
  transition: background-color var(--arc-duration-fast) var(--arc-ease-standard), border-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.chat_thread_retry > svg {
  color: var(--arc-text-secondary);
}
@media (hover: hover) and (pointer: fine) {
  .chat_thread_retry:hover {
    background: var(--arc-surface-muted);
    border-color: var(--arc-border-strong);
  }
}
.chat_thread_avatar {
  display: inline-grid;
  flex: none;
  overflow: hidden;
  place-items: center;
  border-radius: 50%;
  background: var(--arc-surface-muted);
  color: var(--arc-text-secondary);
  font-weight: 500;
}
.chat_thread_avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.chat_thread_typing {
  display: grid;
  height: 36px;
  box-sizing: border-box;
  place-items: center;
  padding: 0 14px;
}
.chat_thread_dots {
  display: inline-flex;
  gap: 4px;
}
.chat_thread_dots i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--arc-text-muted);
  animation: chat_thread_breathe 1.2s var(--arc-ease-in-out) infinite;
}
.chat_thread_dots i:nth-child(2) {
  animation-delay: .16s;
}
.chat_thread_dots i:nth-child(3) {
  animation-delay: .32s;
}
@keyframes chat_thread_breathe {
  0%, 60%, 100% {
    opacity: .35;
    transform: translateY(0);
  }
  30% {
    opacity: 1;
    transform: translateY(-3px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .chat_thread_dots i {
    animation: none;
    opacity: .6;
  }
}
.chat_thread_pill {
  position: absolute;
  z-index: 6;
  bottom: 12px;
  left: 50%;
  translate: -50% 0;
  display: inline-flex;
  height: 32px;
  align-items: center;
  gap: 6px;
  padding: 0 14px 0 11px;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-pill);
  background: var(--arc-surface-raised);
  box-shadow: var(--arc-shadow-floating);
  color: var(--arc-foreground);
  cursor: pointer;
  font: inherit;
  font-size: var(--arc-text-xs);
  font-weight: 500;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
}
.chat_thread_pill > span {
  display: inline-flex;
  gap: .3em;
}
.chat_thread_pill > .chat_thread_pillIcon {
  display: inline-grid;
  place-items: center;
}
.chat_thread_pill:active {
  scale: .97;
}
.chat_thread_composer {
  display: grid;
  padding: 10px 12px 12px;
  border-top: 1px solid var(--arc-border-subtle);
  transition: background-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.chat_thread_composer[data-dragging] {
  background: var(--arc-accent-subtle);
}
.chat_thread_trayClip {
  overflow: hidden;
}
.chat_thread_tray {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 8px 8px 10px 4px;
  overflow-x: auto;
  list-style: none;
  scrollbar-width: none;
}
.chat_thread_pending {
  position: relative;
  flex: none;
}
.chat_thread_pendingImage {
  display: block;
  width: 56px;
  height: 56px;
  border-radius: 12px;
  object-fit: cover;
}
.chat_thread_pendingFile {
  display: grid;
  width: 168px;
  height: 56px;
  box-sizing: border-box;
  align-content: center;
  column-gap: 8px;
  padding: 0 12px;
  border: 1px solid var(--arc-border);
  border-radius: 12px;
  background: var(--arc-surface);
  grid-template-columns: auto minmax(0, 1fr);
}
.chat_thread_pendingFile > svg {
  grid-row: span 2;
  align-self: center;
  color: var(--arc-text-secondary);
}
.chat_thread_pendingName {
  overflow: hidden;
  font-size: var(--arc-text-xs);
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat_thread_pendingSize {
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  font-variant-numeric: tabular-nums;
}
.chat_thread_remove {
  position: absolute;
  top: -6px;
  right: -6px;
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  padding: 0;
  border: 2px solid var(--arc-surface);
  border-radius: 50%;
  background: var(--arc-foreground);
  color: var(--arc-background);
  cursor: pointer;
}
.chat_thread_inputRow {
  display: flex;
  align-items: flex-end;
  gap: 6px;
}
.chat_thread_attach {
  display: grid;
  width: 40px;
  height: 40px;
  flex: none;
  place-items: center;
  margin-bottom: 1px;
  padding: 0;
  border: 0;
  border-radius: var(--arc-radius-pill);
  background: transparent;
  color: var(--arc-text-secondary);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color var(--arc-duration-fast) var(--arc-ease-standard),
    color var(--arc-duration-fast) var(--arc-ease-standard),
    transform var(--arc-duration-instant) var(--arc-ease-standard);
}
.chat_thread_attach:active {
  transform: scale(.94);
}
@media (hover: hover) and (pointer: fine) {
  .chat_thread_attach:hover {
    background: var(--arc-surface-muted);
    color: var(--arc-foreground);
  }
}
.chat_thread_box {
  position: relative;
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: flex-end;
  border: 1px solid var(--arc-border);
  border-radius: 21px;
  background: var(--arc-surface);
  transition: border-color var(--arc-duration-fast) var(--arc-ease-standard), background-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.chat_thread_box:focus-within {
  border-color: var(--arc-border-strong);
}
.chat_thread_composer[data-dragging] .chat_thread_box {
  border-color: var(--arc-accent);
  border-style: dashed;
}
.chat_thread_field {
  position: relative;
  min-width: 0;
  flex: 1;
  overflow: hidden;
  border-radius: 20px;
}
.chat_thread_mirror,
.chat_thread_textarea {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 9px 6px 9px 16px;
  border: 0;
  font: inherit;
  font-size: var(--arc-text-base);
  letter-spacing: var(--arc-tracking-body);
  line-height: 22px;
  overflow-wrap: break-word;
  white-space: pre-wrap;
  word-break: break-word;
}
.chat_thread_mirror {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  pointer-events: none;
}
.chat_thread_textarea {
  position: absolute;
  inset: 0;
  height: 100%;
  display: block;
  resize: none;
  overflow-y: auto;
  background: transparent;
  color: var(--arc-foreground);
  outline: none;
  scrollbar-width: none;
}
.chat_thread_textarea::placeholder {
  color: var(--arc-text-muted);
}
.chat_thread_send {
  position: relative;
  display: grid;
  width: 32px;
  height: 32px;
  flex: none;
  place-items: center;
  margin: 0 4px 4px 0;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--arc-text-muted);
  cursor: default;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color var(--arc-duration-standard) var(--arc-ease-standard),
    color var(--arc-duration-standard) var(--arc-ease-standard),
    transform var(--arc-duration-instant) var(--arc-ease-standard);
}
.chat_thread_send[data-ready] {
  background: var(--arc-accent);
  color: var(--arc-accent-foreground);
  cursor: pointer;
}
.chat_thread_send[data-ready]:active {
  transform: scale(.92);
}
.chat_thread_sendIcon {
  display: grid;
  grid-area: 1 / 1;
  place-items: center;
}
.chat_thread_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (max-width: 420px) {
  .chat_thread_content {
    padding-inline: 12px;
  }
  .chat_thread_stack {
    max-width: 84%;
  }
}
.chat_thread_send[data-pending] {
  cursor: progress;
  opacity: .7;
}
.chat_thread_send[data-stop] {
  background: var(--arc-foreground);
  color: var(--arc-background);
  cursor: pointer;
}
.chat_thread_composerError {
  margin: 6px 2px 0;
  color: var(--arc-danger);
  font-size: 12px;
  line-height: 16px;
}
[data-motion=reduced] .chat_thread_root *,
[data-motion=reduced] .chat_thread_root {
  transition: none;
}

/* src/shell-nav.css */
.cc-acs .cc-hubhead {
  gap: 10px;
  align-items: center;
}
.cc-acs .cc-hubhead .cc-title {
  display: grid;
  gap: 2px;
  min-width: 0;
  flex: 1;
  font-family: var(--cc-font-title);
  font-size: 24px;
  font-weight: 750;
  letter-spacing: -.02em;
  line-height: 1.1;
  overflow-wrap: anywhere;
}
.cc-acs .cc-hubhead .cc-title small {
  color: var(--cc-link);
  font-family: inherit;
  font-family:
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .09em;
  line-height: 14px;
  text-transform: uppercase;
}
.cc-acs .cc-hubhead .cc-shell-actions {
  flex: none;
}
.cc-phone.cc-acs :is(.cc-pagehead, .cc-account-head) {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 44px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.cc-phone.cc-acs :is(.cc-pagehead, .cc-account-head) > .cc-title {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.cc-phone.cc-acs :is(.cc-pagehead, .cc-account-head) > .cc-shell-actions {
  margin-left: auto;
}
.cc-phone.cc-acs .cc-scroll :is(.cc-sectionhead h2, .cc-sv-head h2, h2.ccn-h2, h2.hub-std-kicker, h2.hub-acc-h, h2.cc-sv-overline, h2.cc-account-group-title, h2.cc-resa-month-title) {
  margin: 0;
  color: var(--cc-link);
  font-family: var(--cc-font-title);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
}
.cc-phone.cc-acs .cc-scroll .cc-sectionhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 36px 0 10px;
}
.cc-phone.cc-acs .cc-scroll :is(.cc-sectionhead .cc-seeall, .hub-std-more) {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-height: 0;
  margin: 0;
  padding: 3px 9px;
  border-radius: 99px;
  background: var(--cc-sunk);
  color: var(--cc-ink);
  font-family: var(--cc-font-ui);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .02em;
  text-transform: none;
  white-space: nowrap;
}
.cc-phone.cc-acs :is(.cc-sectionhead .cc-seeall, .hub-std-more) svg {
  width: 12px;
  height: 12px;
}
.cc-phone.cc-acs .hp-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.cc-phone.cc-acs .cc-scroll .cc-sv-head {
  align-items: center;
  margin-bottom: 10px;
}
.cc-phone.cc-acs .cc-scroll h2.hub-acc-h {
  margin: 22px 0 10px;
}
.cc-phone.cc-acs .cc-scroll .cc-sv-head .cc-sv-status {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px 9px;
  border-radius: 99px;
  background: var(--cc-sunk);
  color: var(--cc-ink);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .02em;
}
.cc-phone.cc-acs .cc-scroll :is(h2.ccn-h2, h2.cc-resa-month-title) {
  margin: 0 0 10px;
}
.cc-phone.cc-acs .cc-scroll h2.hub-std-kicker {
  margin: 36px 0 10px;
}
.cc-phone.cc-acs .cc-scroll .hub-std section:first-child > h2.hub-std-kicker {
  margin-top: 12px;
}
.cc-phone.cc-acs .cc-scroll .cc-account-group {
  margin-top: 36px;
}
.cc-phone.cc-acs .cc-scroll h2.cc-account-group-title {
  margin: 0 0 10px;
}
.cc-phone.cc-acs .cc-scroll .cc-sv-section {
  gap: 0;
  margin-top: 36px;
}
.cc-phone.cc-acs .cc-scroll .cc-sv-body > .cc-sv-section:first-child {
  margin-top: 16px;
}
.cc-phone.cc-acs .cc-scroll .hub-acc .hp-studio {
  margin-top: 0;
}
.cc-phone.cc-acs {
  --cc-card-shadow: 0 1px 1px rgb(16 16 19 / .035), 0 2px 6px rgb(56 44 20 / .025);
  --cc-card-radius: 22px;
}
.cc-phone.cc-acs .cc-scroll :is(.cc-card, .hub-acc-daycard, .hub-acc-tile:not([data-i="0"]), .cc-ent-heat, .ccn-meal, .ccn-card, .ccn-share, .ccn-jentry, .ccn-complete, .hub-std-une, .hub-std-event, .hub-std-feed, .hub-std-panel, .cc-sv-answers, .cc-sv-routines, .cc-sv-trends, .cc-sv-bilans, .cc-ent-day, .cc-ent-donelist, .cc-ent-list) {
  border: 0;
  border-radius: var(--cc-card-radius);
  background-color: #fff;
  box-shadow: var(--cc-card-shadow);
  overflow: hidden;
}
.cc-phone.cc-acs .cc-scroll :is(li, button, a):not(.cc-seeall):not(.hub-std-more) > svg.lucide-chevron-right,
.cc-phone.cc-acs .cc-scroll :is(li, button, a):not(.cc-seeall):not(.hub-std-more) > span > svg.lucide-chevron-right {
  width: 16px;
  height: 16px;
  color: var(--cc-rule-strong);
  stroke: var(--cc-rule-strong);
}
.cc-phone.cc-acs .cc-scroll :is(.hub-acc-next-time, .cc-perf-value) {
  font-family: var(--cc-font-title);
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.cc-phone.cc-acs .cc-scroll :is(.cc-ent-hub dd, .cc-sv-trend-v, .hub-std-tile b, .cc-ent-done-date b) {
  font-family: var(--cc-font-title);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.cc-phone.cc-acs .cc-scroll .cc-ent-time {
  font-family: var(--cc-font-title);
  font-size: 17px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.cc-phone.cc-acs .cc-scroll :is(.hub-acc-tile-l, .hp-story-title, .ccn-meal-name, .ccn-feature-text b, .hub-std-une-title, .ccn-cadre-text b, .hub-std-coach-name, .cc-sv-coach-q, .hub-acc-checkin-v, .cc-account-name) {
  font-family: var(--cc-font-title);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.25;
}
.cc-phone.cc-acs .cc-scroll :is(.hub-acc-next-title, .hub-acc-coach-t b, .cc-ent-slot-text b, .cc-habits-pick span, .cc-perf-row-date, .cc-perf-row b, .cc-bank-row-text b, .ccn-recrow-text b, .ccn-card-title, .ccn-course-text b, .ccn-share-text b, .ccn-jentry-body b, .ccn-muted, .cc-sv-answer-l, .cc-sv-routine-l, .cc-bp-row-text b, .hub-std-event-title, .hub-std-feed-title, .hub-std-now, .cc-account-row-label) {
  font-family: var(--cc-font-ui);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
}
.cc-phone.cc-acs .cc-scroll :is(.cc-sv-answer-v, .ccn-course-qty, .cc-account-row-value, .is-closed, .cc-perf-meta) {
  font-size: 14px;
  font-weight: 400;
  color: var(--cc-muted);
  font-variant-numeric: tabular-nums;
}
.cc-phone.cc-acs .cc-scroll :is(.hub-acc-next-meta, .hub-acc-tile-s, .cc-ent-slot-text small, .cc-ent-seance-x, .cc-bank-row-text small, .ccn-meal-meta, .ccn-cadre-text small, .ccn-recrow-text small, .ccn-course-text small, .ccn-share-text small, .ccn-jnote, .cc-sv-routine-l small, .cc-sv-trend-s, .cc-bp-row-text small, .hub-std-meta, .cc-perf-row-title, .cc-perf-note, .cc-account-since, .hp-story-meta, .hub-acc-coach-t small, .cc-sv-coach-by, .ccn-card-foot) {
  font-family: var(--cc-font-ui);
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.35;
}
.cc-phone.cc-acs .cc-scroll :is(.cc-ent-state, .ccn-badge, .ccn-tag, .hub-std-state, .hub-std-date, .hub-acc-next-kick, .cc-ent-seance-k, .ccn-over, .cc-sv-overline, .cc-sv-trend-l, .hub-acc-checkin-l, .cc-sv-legend-l, .cc-bp-pill, .hub-std-mine, .cc-account-pill) {
  font-size: 12px;
  font-weight: 500;
}
.cc-phone.cc-acs .cc-scroll :is(.hub-std-excerpt, .hub-std-closures p, .hub-std-address span) {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
}
.cc-phone.cc-acs .cc-shell-search {
  background: #fff;
}
.cc-phone.cc-acs .cc-scroll .hub-std-more {
  justify-self: start;
  align-self: start;
  width: auto;
}
.cc-phone.cc-acs,
body[data-brand=acs] {
  --accent: var(--cc-action, #c0a46d);
  --accent-hover: #d4bd8c;
  --on-accent: var(--cc-on-action, #0b0b0d);
  --accent-soft: var(--cc-sunk, #efece4);
  --focus: var(--cc-link, #8a6a1f);
  --panel: #fff;
  --border: var(--cc-rule-strong, #c2c1bd);
  --arc-accent: var(--cc-action, #c0a46d);
  --arc-accent-foreground: var(--cc-on-action, #0b0b0d);
  --arc-control-on: var(--cc-link, #8a6a1f);
  --arc-focus-ring: var(--cc-link, #8a6a1f);
}
.cc-phone.cc-acs :is([class*=button_secondary], [class*=button_ghost]),
body[data-brand=acs] :is([class*=button_secondary], [class*=button_ghost]) {
  color: var(--cc-link, #8a6a1f);
}
.cc-phone.cc-acs .cc-cta,
body[data-brand=acs] .cc-cta {
  width: 100%;
}
.cc-phone.cc-acs .cc-scroll .cc-sv-answer[data-empty] .cc-sv-answer-v {
  color: var(--cc-link);
  font-weight: 500;
}
.cc-phone.cc-acs [class*=button_button],
body[data-brand=acs] [class*=button_button] {
  font-family: var(--cc-font-ui);
  font-weight: 600;
}
.cc-phone.cc-acs [class*=button_button][class*=button_lg],
body[data-brand=acs] [class*=button_button][class*=button_lg] {
  font-size: 15px;
}
.cc-phone.cc-acs .ccn-hold,
body[data-brand=acs] .ccn-hold {
  width: 100%;
  margin-top: 16px;
}
.cc-phone.cc-acs,
body[data-brand=acs] {
  --arc-surface-muted: var(--cc-sunk, #efece4);
  --arc-border: var(--cc-rule, #e4ded2);
  --arc-border-subtle: var(--cc-rule, #e4ded2);
  --arc-foreground: var(--cc-ink, #101013);
}
:is(.cc-phone.cc-acs, body[data-brand=acs]) [role=dialog] :is(.cc-home-sheet-head h2, h2:first-of-type) {
  font-family: var(--cc-font-title);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.01em;
}
:is(.cc-phone.cc-acs, body[data-brand=acs]) [role=dialog] :is(.ccn-sheet-label, .cc-account-group-title) {
  margin: 24px 0 10px;
  color: var(--cc-link);
  font-family: var(--cc-font-title);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
:is(.cc-phone.cc-acs, body[data-brand=acs]) [role=dialog] :is(.cc-sv-q-l, [class*=number_field_label], .cc-account-field > span) {
  margin: 0 0 8px;
  color: var(--cc-ink);
  font-family: var(--cc-font-ui);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
:is(.cc-phone.cc-acs, body[data-brand=acs]) [role=dialog] .cc-suivi-kv li > span:first-child {
  color: var(--cc-muted);
  font-size: 13.5px;
  font-weight: 400;
}
:is(.cc-phone.cc-acs, body[data-brand=acs]) [role=dialog] .cc-suivi-kv li > :is(b, strong) {
  color: var(--cc-ink);
  font-size: 14px;
  font-weight: 500;
}
:is(.cc-phone.cc-acs, body[data-brand=acs]) [class*=action_button] {
  font-family: var(--cc-font-ui);
  font-size: 15px;
  font-weight: 600;
}
.cc-phone.cc-acs .cc-shell-actions {
  gap: 0;
}
.cc-phone.cc-acs .cc-shell-actions :is(.cc-shell-search, .cc-shell-bell) {
  width: 40px;
  height: 40px;
  background: transparent;
  box-shadow: none;
}
.cc-phone.cc-acs .cc-shell-actions .cc-shell-usermenu {
  margin-left: 4px;
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/command-palette/command-palette.module.css */
.command_palette_palette {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-panel);
  background: var(--arc-surface);
  box-shadow: var(--arc-shadow-floating);
  transform-origin: top center;
}
.command_palette_searchRow {
  position: relative;
  display: flex;
  min-height: 54px;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-bottom: 1px solid var(--arc-border-subtle);
  transition: background var(--arc-duration-fast) var(--arc-ease-standard);
}
.command_palette_searchRow:focus-within {
  background: var(--arc-surface-muted);
}
.command_palette_searchIcon,
.command_palette_itemIcon {
  display: grid;
  flex: none;
  place-items: center;
  color: var(--arc-text-muted);
}
.command_palette_searchIcon {
  width: 22px;
  height: 22px;
}
.command_palette_searchRow input {
  min-width: 0;
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--arc-foreground);
  font: inherit;
  font-size: var(--arc-text-sm);
}
.command_palette_searchRow input::placeholder {
  color: var(--arc-text-muted);
}
.command_palette_searchRow input:focus-visible {
  outline: none;
}
.command_palette_commandKey,
.command_palette_shortcut {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  border: 1px solid var(--arc-border);
  border-radius: 7px;
  background: var(--arc-surface-muted);
  color: var(--arc-text-muted);
  font-family: inherit;
  font-size: var(--arc-text-xs);
  font-weight: 500;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.command_palette_commandKey {
  min-width: 38px;
  height: 24px;
  padding: 0 6px;
  gap: 2px;
}
.command_palette_clearButton {
  display: grid;
  width: 24px;
  height: 24px;
  flex: none;
  place-items: center;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--arc-text-muted);
  cursor: pointer;
  transition: color var(--arc-duration-fast) var(--arc-ease-standard), background-color var(--arc-duration-fast) var(--arc-ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .command_palette_clearButton:hover,
  .command_palette_closeButton:hover {
    background: var(--arc-surface);
    color: var(--arc-foreground);
  }
}
.command_palette_clearButton:active,
.command_palette_closeButton:active {
  background: var(--arc-surface);
  color: var(--arc-foreground);
}
.command_palette_clearButton:focus-visible {
  outline: var(--arc-focus-width) solid var(--arc-accent);
  outline-offset: var(--arc-focus-offset);
}
.command_palette_closeButton {
  display: grid;
  min-width: 27px;
  height: 24px;
  flex: none;
  place-items: center;
  border: 1px solid var(--arc-border-subtle);
  border-radius: 7px;
  background: transparent;
  color: var(--arc-text-muted);
  padding: 0 6px;
  font: inherit;
  font-size: var(--arc-text-xs);
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: color var(--arc-duration-fast) var(--arc-ease-standard), background-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.command_palette_closeButton:focus-visible {
  outline: var(--arc-focus-width) solid var(--arc-accent);
  outline-offset: var(--arc-focus-offset);
}
.command_palette_resultsFrame {
  overflow: hidden;
}
.command_palette_results {
  position: relative;
  max-height: 342px;
  overflow: auto;
  padding: 6px 8px;
}
.command_palette_highlight {
  position: absolute;
  top: 0;
  right: 8px;
  left: 8px;
  border-radius: 8px;
  background: var(--arc-surface-muted);
  opacity: 0;
  pointer-events: none;
}
.command_palette_group {
  position: relative;
}
.command_palette_group + .command_palette_group {
  margin-top: 6px;
}
.command_palette_groupHeading {
  display: block;
  padding: 6px 8px 3px;
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  font-weight: 500;
  line-height: var(--arc-leading-body);
}
.command_palette_result {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 34px;
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 8px;
  padding: 0 8px;
  background: transparent;
  color: var(--arc-foreground);
  text-align: left;
  cursor: pointer;
}
.command_palette_itemIcon {
  transition: color var(--arc-duration-fast) var(--arc-ease-standard);
}
.command_palette_activeResult .command_palette_itemIcon,
.command_palette_activeResult .command_palette_result:focus-visible {
  outline: var(--arc-focus-width) solid var(--arc-accent);
  outline-offset: -2px;
}
.command_palette_itemIcon {
  display: grid;
  width: 16px;
  height: 16px;
  flex: none;
  place-items: center;
  color: var(--arc-text-muted);
}
.command_palette_itemIcon svg {
  width: 16px;
  height: 16px;
}
.command_palette_resultCopy {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: baseline;
  gap: 8px;
}
.command_palette_resultCopy strong,
.command_palette_resultCopy small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.command_palette_resultCopy strong {
  flex: none;
  max-width: 100%;
}
.command_palette_resultCopy small {
  min-width: 0;
}
.command_palette_resultCopy strong {
  font-size: var(--arc-text-sm);
  font-weight: 500;
}
.command_palette_resultCopy small {
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
}
.command_palette_shortcut {
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-color: transparent;
  border-radius: 5px;
  font-size: 11px;
}
.command_palette_activeResult .command_palette_empty {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 26px 12px 28px;
  text-align: center;
}
.command_palette_empty > span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  margin-bottom: 5px;
  color: var(--arc-text-muted);
}
.command_palette_empty strong {
  font-size: var(--arc-text-sm);
  font-weight: 500;
}
.command_palette_empty small {
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
}
.command_palette_visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
@media (max-width: 480px) {
  .command_palette_searchRow {
    gap: 8px;
    padding: 8px 11px;
  }
  .command_palette_results {
    padding: 6px;
  }
  .command_palette_highlight {
    right: 6px;
    left: 6px;
  }
  .command_palette_result {
    gap: 8px;
  }
  .command_palette_shortcut,
  .command_palette_commandKey {
    display: none;
  }
}
@media (max-width: 340px) {
  .command_palette_result {
    padding-inline: 6px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .command_palette_searchRow,
  .command_palette_itemIcon,
  .command_palette_clearButton,
  .command_palette_closeButton {
    transition: none;
  }
}
[data-motion=reduced] .command_palette_palette,
[data-motion=reduced] .command_palette_palette *,
[data-motion=reduced] .command_palette_frame,
[data-motion=reduced] .command_palette_frame * {
  transition: none;
  animation: none;
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/action-button/action-button.module.css */
.action_button_button {
  position: relative;
  display: inline-flex;
  min-height: var(--arc-control-height-md);
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0 var(--arc-space-5);
  border: 1px solid var(--arc-foreground);
  border-radius: var(--arc-radius-control);
  background: var(--arc-foreground);
  color: var(--arc-background);
  font: inherit;
  font-size: var(--arc-text-sm);
  font-weight: 500;
  line-height: var(--arc-leading-body);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition:
    background var(--arc-duration-fast) var(--arc-ease-standard),
    border-color var(--arc-duration-fast) var(--arc-ease-standard),
    color var(--arc-duration-fast) var(--arc-ease-standard),
    box-shadow var(--arc-duration-fast) var(--arc-ease-standard),
    opacity var(--arc-duration-fast) var(--arc-ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .action_button_button:hover:not(:disabled) {
    box-shadow: var(--arc-shadow-resting);
  }
}
.action_button_button:disabled {
  cursor: not-allowed;
}
.action_button_button:disabled:not([data-state=pending]) {
  opacity: .7;
}
.action_button_button[data-state=pending] {
  cursor: progress;
}
.action_button_content {
  display: inline-flex;
  min-height: 1.25rem;
  align-items: center;
  justify-content: center;
  gap: var(--arc-space-2);
  white-space: nowrap;
}
.action_button_morph {
  display: inline-flex;
  min-width: 0;
}
.action_button_morph[data-morphing] {
  clip-path: inset(-.6em 0 -.6em -.3em);
}
.action_button_glyphs {
  position: relative;
  display: inline-flex;
  flex: none;
  white-space: pre;
}
.action_button_glyph {
  display: inline-block;
}
.action_button_iconSlot {
  display: grid;
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  place-items: center;
}
.action_button_phase {
  grid-area: 1 / 1;
  display: grid;
  width: 17px;
  height: 17px;
  place-items: center;
}
.action_button_arrow {
  flex: none;
}
.action_button_statusIcon {
  color: currentColor;
}
.action_button_spinner {
  display: inline-block;
  width: var(--arc-space-4);
  height: var(--arc-space-4);
  border: 1.5px solid currentColor;
  border-right-color: transparent;
  border-radius: var(--arc-radius-pill);
  animation: action_button_spin .7s linear infinite;
}
.action_button_visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
@keyframes action_button_spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .action_button_button {
    transition: none;
  }
  .action_button_spinner {
    animation: none;
  }
}
[data-motion=reduced] .action_button_button {
  transition: none;
}
[data-motion=reduced] .action_button_spinner {
  animation: none;
}
.action_button_button {
  min-height: var(--touch-target);
  min-width: var(--touch-target);
  font-weight: var(--button-weight);
  border-radius: var(--radius);
}
.action_button_button:focus-visible {
  outline: var(--button-focus-width) solid var(--focus);
  outline-offset: var(--button-focus-offset);
}
.action_button_button {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--on-accent);
}
.action_button_button {
  min-height: var(--feedback-height, var(--touch-target));
  font-size: var(--feedback-font, var(--arc-text-sm));
  padding-inline: var(--feedback-padding, var(--arc-space-3));
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/hold-to-confirm/hold-to-confirm.module.css */
.hold_to_confirm_button {
  --hold-ink: var(--arc-foreground);
  --hold-fill: var(--arc-accent);
  --hold-on-fill: var(--arc-accent-foreground);
  --hold-border: var(--arc-border-strong);
  position: relative;
  display: inline-flex;
  min-height: var(--arc-control-height-md);
  align-items: center;
  justify-content: center;
  padding: 0 var(--arc-space-5);
  border: 1px solid var(--hold-border);
  border-radius: var(--arc-radius-control);
  background: var(--arc-surface);
  color: var(--hold-ink);
  font: inherit;
  font-size: var(--arc-text-sm);
  font-weight: 500;
  line-height: var(--arc-leading-body);
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color var(--arc-duration-fast) var(--arc-ease-standard),
    border-color var(--arc-duration-fast) var(--arc-ease-standard),
    opacity var(--arc-duration-fast) var(--arc-ease-standard);
}
.hold_to_confirm_button[data-tone=danger] {
  --hold-ink: var(--arc-danger);
  --hold-fill: var(--arc-danger);
  --hold-on-fill: var(--arc-background);
  --hold-border: color-mix(in oklab, var(--arc-danger) 32%, var(--arc-border));
}
.hold_to_confirm_button[data-tone=neutral] {
  --hold-ink: var(--arc-foreground);
  --hold-fill: var(--arc-foreground);
  --hold-on-fill: var(--arc-background);
  --hold-border: var(--arc-border-strong);
}
@media (hover: hover) and (pointer: fine) {
  .hold_to_confirm_button:not(:disabled):not([aria-disabled=true]):hover {
    background: color-mix(in oklab, var(--hold-fill) 6%, var(--arc-surface));
  }
}
.hold_to_confirm_button[aria-disabled=true] {
  cursor: default;
}
.hold_to_confirm_button:disabled {
  cursor: not-allowed;
  opacity: .5;
}
.hold_to_confirm_face {
  display: inline-flex;
  align-items: center;
  gap: var(--arc-space-2);
  white-space: nowrap;
}
.hold_to_confirm_fill {
  position: absolute;
  inset: -1px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--arc-radius-control);
  background: var(--hold-fill);
  color: var(--hold-on-fill);
  pointer-events: none;
}
.hold_to_confirm_iconSlot {
  display: grid;
  width: 18px;
  height: 18px;
  flex: none;
  place-items: center;
}
.hold_to_confirm_iconPhase {
  display: grid;
  grid-area: 1 / 1;
  place-items: center;
}
.hold_to_confirm_iconPhase svg {
  width: 18px;
  height: 18px;
}
.hold_to_confirm_labelFrame {
  position: relative;
  display: inline-flex;
  min-width: 0;
  clip-path: inset(-.6em -3px);
}
.hold_to_confirm_label {
  display: block;
  white-space: nowrap;
}
.hold_to_confirm_measure {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  white-space: nowrap;
  pointer-events: none;
}
.hold_to_confirm_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .hold_to_confirm_button {
    transition: none;
  }
}
[data-motion=reduced] .hold_to_confirm_button {
  transition: none;
}
.hold_to_confirm_button {
  min-height: var(--touch-target);
  min-width: var(--touch-target);
  font-weight: var(--button-weight);
  border-radius: var(--radius);
}
.hold_to_confirm_button:focus-visible {
  outline: var(--button-focus-width) solid var(--focus);
  outline-offset: var(--button-focus-offset);
}
.hold_to_confirm_button {
  min-height: var(--feedback-height, var(--touch-target));
  font-size: var(--feedback-font, var(--arc-text-sm));
  padding-inline: var(--feedback-padding, var(--arc-space-3));
}

/* src/fil-du-jour.css */
.fdj {
  --fdj-gold-hi: #ead49d;
  --fdj-ease: cubic-bezier(.16, 1, .3, 1);
  --fdj-spring: cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}
.fdj-cal {
  display: grid;
  gap: 10px;
  margin: 0 0 12px;
}
.fdj-cal-h {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
}
.fdj-cal-h b {
  font-family: var(--cc-font-title);
  font-size: 15px;
  font-weight: 600;
}
.fdj-cal-h > span {
  color: var(--cc-muted);
  font-size: 12.5px;
}
.fdj-cal-nav {
  display: flex;
  gap: 2px;
  margin-left: auto;
}
.fdj-cal-nav button {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgb(16 16 19 / .06);
}
.fdj-cal-nav button[disabled] {
  opacity: .35;
}
.fdj-days {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  padding: 4px;
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--cc-card-shadow, 0 1px 2px rgb(16 16 19 / .04));
}
.fdj-pill {
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 4px;
  width: calc((100% - 8px - 12px) / 7);
  border-radius: 16px;
  background: var(--cc-ink);
  transition: transform 380ms var(--fdj-ease);
}
.fdj-dy {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 2px;
  padding: 7px 0 6px;
  border-radius: 16px;
  color: var(--cc-ink);
  transition: color 260ms;
}
.fdj-dy small {
  color: var(--cc-muted);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.fdj-dy b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-family: var(--cc-font-title);
  font-size: 16px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.fdj-dy.is-today b {
  box-shadow: inset 0 0 0 1.5px var(--cc-action);
}
.fdj-dots {
  display: flex;
  gap: 3px;
  height: 4px;
}
.fdj-dots i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--cc-action);
}
.fdj-dy.is-sel {
  color: #fff;
}
.fdj-dy.is-sel small {
  color: rgb(255 255 255 / .6);
}
.fdj-dy.is-sel b {
  box-shadow: none;
}
.fdj-dy.is-sel .fdj-dots i {
  background: var(--fdj-gold-hi);
}
.fdj-card {
  display: grid;
  grid-template-columns: 128px 1fr;
  min-height: 260px;
  margin: 0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 1px 2px rgb(16 16 19 / .05), 0 12px 28px -16px rgb(16 16 19 / .22);
  overflow: hidden;
  transition: box-shadow 600ms var(--fdj-ease);
}
.fdj-card.is-compact {
  min-height: 0;
}
.fdj-card.is-won {
  box-shadow: 0 1px 2px rgb(16 16 19 / .05), 0 14px 30px -14px rgb(192 164 109 / .55);
}
.fdj-tl {
  position: relative;
  display: grid;
  align-content: center;
  padding: 12px 0 12px 10px;
  background:
    radial-gradient(
      140% 70% at 0% 0%,
      #2a2a31 0%,
      #141418 60%,
      #0e0e11 100%);
  color: #fff;
}
.fdj-list {
  position: relative;
}
.fdj-rail {
  position: absolute;
  left: 12px;
  top: 23px;
  bottom: 23px;
  width: 2px;
  border-radius: 1px;
  background: rgb(255 255 255 / .12);
}
.fdj-rail i {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  border-radius: 1px;
  background:
    linear-gradient(
      180deg,
      var(--fdj-gold-hi),
      var(--cc-action));
  transition: height 600ms var(--fdj-ease);
}
.fdj-card.is-won .fdj-rail i {
  box-shadow: 0 0 10px rgb(234 212 157 / .9);
}
.fdj-it {
  position: relative;
  display: grid;
  grid-template-columns: 26px 1fr;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 46px;
  padding: 5px 8px 5px 0;
  border-radius: 16px 0 0 16px;
  color: inherit;
  text-align: left;
  transition: background 220ms;
}
.fdj-dot {
  position: relative;
  z-index: 1;
  justify-self: center;
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #141418;
  box-shadow: inset 0 0 0 1.75px rgb(255 255 255 / .38);
  transition:
    background 260ms,
    box-shadow 260ms,
    transform 220ms var(--fdj-spring);
}
.fdj-dot svg {
  width: 9px;
  height: 9px;
  fill: none;
  stroke: #0b0b0d;
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0;
  transition: opacity 200ms;
}
.fdj-tx {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.fdj-t {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.fdj-h {
  color: rgb(255 255 255 / .55);
  font-size: 11.5px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.fdj-it.is-done .fdj-dot {
  background:
    linear-gradient(
      145deg,
      var(--fdj-gold-hi),
      var(--cc-action));
  box-shadow: none;
}
.fdj-it.is-done .fdj-dot svg {
  opacity: 1;
}
.fdj-it.is-done .fdj-t {
  color: rgb(255 255 255 / .55);
  font-weight: 500;
}
.fdj-it.is-timed .fdj-dot {
  width: 18px;
  height: 18px;
  background: var(--cc-action);
  box-shadow: 0 0 0 4px rgb(192 164 109 / .22);
}
.fdj-it.is-timed .fdj-h {
  color: var(--fdj-gold-hi);
  font-weight: 600;
}
.fdj-it.is-sel {
  background: #fff;
  color: var(--cc-ink);
}
.fdj-it.is-sel .fdj-h {
  color: var(--cc-muted);
}
.fdj-it.is-sel.is-timed .fdj-h {
  color: var(--cc-link);
}
.fdj-it.is-sel .fdj-dot {
  transform: scale(1.12);
  background: #fff;
  box-shadow: inset 0 0 0 1.75px var(--cc-ink);
}
.fdj-it.is-sel.is-done .fdj-dot {
  background:
    linear-gradient(
      145deg,
      var(--fdj-gold-hi),
      var(--cc-action));
  box-shadow: none;
}
.fdj-it.is-sel.is-timed .fdj-dot {
  background: var(--cc-action);
  box-shadow: 0 0 0 4px rgb(192 164 109 / .22);
}
.fdj-it.is-sel.is-done .fdj-t {
  color: var(--cc-muted);
}
.fdj-it.is-sel::after {
  content: "";
  position: absolute;
  right: 0;
  top: -14px;
  width: 14px;
  height: 14px;
  background:
    radial-gradient(
      circle at 0 0,
      transparent 13.5px,
      #fff 14px);
}
.fdj-it.is-sel::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: -14px;
  width: 14px;
  height: 14px;
  background:
    radial-gradient(
      circle at 0 100%,
      transparent 13.5px,
      #fff 14px);
}
.fdj-it.is-just .fdj-dot {
  animation: fdj-pop 460ms var(--fdj-spring);
}
.fdj-it:focus-visible {
  outline: 2px solid var(--fdj-gold-hi);
  outline-offset: -2px;
}
.fdj-now {
  position: relative;
  display: grid;
  grid-template-columns: 26px 1fr;
  align-items: center;
  gap: 8px;
  height: 22px;
  padding-right: 10px;
}
.fdj-now i {
  position: relative;
  z-index: 1;
  justify-self: center;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 3px #141418;
}
.fdj-now span {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.fdj-now span::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #fff;
  opacity: .25;
}
.fdj-empty-l {
  margin: 0;
  padding: 0 14px 0 4px;
  color: rgb(255 255 255 / .6);
  font-size: 13px;
}
@keyframes fdj-pop {
  0% {
    transform: scale(.7);
  }
  55% {
    transform: scale(1.35);
  }
  100% {
    transform: scale(1);
  }
}
.fdj-dt {
  display: grid;
  align-content: center;
  padding: 18px 16px 18px 18px;
}
.fdj-pane {
  display: grid;
  gap: 14px;
  animation: fdj-in 300ms var(--fdj-ease);
}
@keyframes fdj-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fdj-kick {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--cc-link);
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.fdj-kick svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.fdj-pane h3 {
  margin: 6px 0 0;
  font-family: var(--cc-font-title);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.15;
  text-wrap: balance;
}
.fdj-pane p {
  margin: 0;
  color: #4a4943;
  font-size: 13.5px;
  line-height: 1.45;
}
.fdj-photo {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 16px;
  object-fit: cover;
}
.fdj-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.fdj-chips span {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 11px;
  border-radius: 99px;
  background: var(--cc-sunk);
  font-size: 12.5px;
  font-weight: 500;
}
.cc-phone.cc-acs .fdj .fdj-cta {
  width: 100%;
}
.fdj-done {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.fdj-ok {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  height: 48px;
  border-radius: 99px;
  background:
    linear-gradient(
      90deg,
      #f3e3b8,
      var(--fdj-gold-hi));
  color: #4a360c;
  font-size: 14px;
  font-weight: 700;
}
.fdj-ok i {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  animation: fdj-pop 440ms var(--fdj-spring);
}
.fdj-ok svg {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: var(--cc-link);
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cc-phone.cc-acs .fdj .fdj-undo {
  width: 100%;
}
@media (prefers-reduced-motion: reduce) {
  .fdj *,
  .fdj *::before,
  .fdj *::after {
    animation: none !important;
    transition: none !important;
  }
}
.fdj-rowwrap:last-child .fdj-it.is-sel::before {
  display: none;
}
.fdj-rowwrap:last-child .fdj-it.is-sel {
  border-bottom-left-radius: 16px;
}
.fdj-rowwrap:first-child .fdj-it.is-sel::after {
  display: none;
}

/* src/hub-accueil.css */
.hub-acc {
  --hub-surface: #ffffff;
  --hub-radius: 22px;
  --hub-shadow:
    0 0 0 1px var(--acs-rule),
    0 1px 2px rgb(11 11 13 / .04),
    0 8px 24px -16px rgb(11 11 13 / .18);
}
.hub-acc .cc-scroll {
  padding-bottom: max(34px, env(safe-area-inset-bottom, 0px));
}
.hub-acc-h {
  margin: 18px 0 10px;
  color: var(--acs-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hub-acc button {
  font: inherit;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}
.hub-acc-daycard {
  overflow: hidden;
  background: var(--hub-surface);
  border-radius: var(--hub-radius);
  box-shadow: var(--hub-shadow);
}
.hub-acc-next {
  display: grid;
  gap: 8px;
  width: 100%;
  padding: 16px 16px 16px 18px;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
  position: relative;
}
.hub-acc-next::before {
  content: "";
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 0;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--acs-gold);
}
.hub-acc-next-kick {
  color: var(--acs-gold-deep);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
}
.hub-acc-next-row {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.hub-acc-next-time {
  flex: none;
  font-family: var(--cc-font-title, inherit);
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.hub-acc-next-text {
  display: grid;
  gap: 3px;
  flex: 1;
  min-width: 0;
}
.hub-acc-next-title {
  overflow: hidden;
  font-size: 17px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hub-acc-next-meta {
  overflow: hidden;
  color: var(--acs-muted);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hub-acc-chev {
  flex: none;
  margin-left: auto;
  color: var(--acs-faint);
}
.hub-acc-dayfoot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  border-top: 1px solid var(--acs-rule);
}
.hub-acc-checkin,
.hub-acc-week {
  min-height: 76px;
  padding: 12px 16px;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
}
.hub-acc-checkin {
  display: grid;
  align-content: center;
  gap: 4px;
}
.hub-acc-checkin-l {
  color: var(--acs-muted);
  font-size: 12px;
  font-weight: 600;
}
.hub-acc-checkin-v {
  font-family: var(--cc-font-title, inherit);
  font-size: 18px;
  font-weight: 700;
}
.hub-acc-checkin[data-todo] .hub-acc-checkin-v {
  color: var(--acs-gold-deep);
}
.hub-acc-week {
  display: flex;
  align-items: center;
  gap: 12px;
  border-left: 1px solid var(--acs-rule);
}
.hub-acc-week .hub-acc-rings {
  flex: none;
}
.hub-acc-legend {
  display: grid;
  gap: 3px;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--acs-muted);
  font-size: 12px;
  white-space: nowrap;
}
.hub-acc-legend li {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hub-acc-legend i {
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.hub-acc-legend span {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.hub-acc-launch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}
.hub-acc-tile {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-content: start;
  min-height: 136px;
  padding: 14px 14px 14px;
  text-align: left;
  background: var(--hub-surface);
  border: 0;
  border-radius: var(--hub-radius);
  box-shadow: var(--hub-shadow);
  cursor: pointer;
  transition: transform .18s cubic-bezier(.2, .8, .2, 1), box-shadow .18s;
}
.hub-acc-tile:active {
  transform: scale(.97);
}
.hub-acc-tile:focus-visible {
  outline: 2px solid var(--acs-gold-deep);
  outline-offset: 3px;
}
.hub-acc-tile-ic {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: var(--acs-sunk);
  color: var(--acs-ink);
}
.hub-acc-tile-ic svg {
  width: 21px;
  height: 21px;
  stroke-width: 1.9;
}
.hub-acc-tile[data-i="0"] {
  background: var(--acs-ink);
  color: #fff;
  box-shadow: 0 10px 24px -14px rgb(11 11 13 / .55);
}
.hub-acc-tile[data-i="0"] .hub-acc-tile-ic {
  background: rgb(255 255 255 / .1);
  color: var(--acs-gold);
}
.hub-acc-tile[data-i="0"] .hub-acc-tile-s {
  color: rgb(255 255 255 / .7);
}
.hub-acc-tile[data-i="0"] .hub-acc-tile-go {
  color: rgb(255 255 255 / .55);
}
.hub-acc-tile-go {
  position: absolute;
  top: 14px;
  right: 14px;
  color: var(--acs-faint);
}
.hub-acc-tile-l {
  align-self: end;
  margin-top: 18px;
  font-family: var(--cc-font-title, inherit);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -.01em;
}
.hub-acc-tile-s {
  display: block;
  margin-top: 3px;
  overflow: hidden;
  color: var(--acs-muted);
  font-size: 12.5px;
  line-height: 1.3;
}
.hub-acc-tile-s i {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 6px 1px 0;
  vertical-align: middle;
  border-radius: 50%;
  background: var(--acs-gold);
}
.hub-acc .cc-home-v3 {
  margin-top: 26px;
}
.hub-acc .hp-studio {
  margin-top: 22px;
}
.hub-acc-coaches {
  margin-top: 22px;
}
.hub-acc-coaches ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hub-acc-coach {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 64px;
  padding: 10px 12px;
  text-align: left;
  background: var(--hub-surface);
  border: 0;
  border-radius: 18px;
  box-shadow: var(--hub-shadow);
  cursor: pointer;
}
.hub-acc-coach:active {
  transform: scale(.98);
}
.hub-acc-coach-t {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.hub-acc-coach-t b {
  font-size: 15px;
  font-weight: 600;
}
.hub-acc-coach-t small {
  overflow: hidden;
  color: var(--acs-muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hub-acc-coach-t small[data-new] {
  color: var(--acs-gold-deep);
  font-weight: 600;
}
.hub-acc-foot {
  display: grid;
  justify-items: center;
  gap: 6px;
  margin-top: 26px;
}
.hub-acc-custom {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  color: var(--acs-ink);
  font-size: 14px;
  font-weight: 600;
  background: transparent;
  border: 1px solid var(--acs-rule-strong, #c2c1bd);
  border-radius: 999px;
  cursor: pointer;
}
.hub-acc-custom:active {
  background: var(--acs-sunk);
}
.hub-acc-wlist {
  display: grid;
  margin: 4px 0 8px;
  padding: 0;
  list-style: none;
}
.hub-acc-wlist li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 60px;
  border-bottom: 1px solid var(--acs-rule, #e6e6ea);
}
.hub-acc-wlist li:last-child {
  border-bottom: 0;
}
.hub-acc-wlist span {
  display: grid;
  gap: 2px;
}
.hub-acc-wlist b {
  font-size: 15px;
  font-weight: 600;
}
.hub-acc-wlist small {
  color: var(--acs-muted, #8e8e93);
  font-size: 13px;
}
@media (max-width: 370px) {
  .hub-acc-launch,
  .hub-acc-coaches ul {
    gap: 10px;
  }
  .hub-acc-tile {
    min-height: 128px;
    padding: 12px;
  }
  .hub-acc-tile-l {
    font-size: 17px;
  }
  .hub-acc-next-time {
    font-size: 30px;
  }
  .hub-acc-week {
    gap: 10px;
    padding: 12px;
  }
  .hub-acc-dayfoot {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hub-acc-tile,
  .hub-acc-coach {
    transition: none;
  }
  .hub-acc-tile:active,
  .hub-acc-coach:active {
    transform: none;
  }
}
.cc-acs .hub-acc-hello {
  white-space: nowrap;
  font-size: clamp(20px, 5.6vw, 24px);
}
.cc-phone.cc-acs .hub-acc .hub-acc-checkrow {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 52px;
  padding: 0 16px;
  border-top: 1px solid var(--cc-rule);
  text-align: left;
}
.hub-acc .hub-acc-checkrow-l {
  color: var(--cc-ink);
  font-size: 15px;
  font-weight: 500;
}
.hub-acc .hub-acc-checkrow-v {
  margin-left: auto;
  color: var(--cc-muted);
  font-size: 14px;
}
.hub-acc .hub-acc-checkrow[data-todo] .hub-acc-checkrow-v {
  color: var(--cc-link);
  font-weight: 500;
}
.hub-acc .hub-acc-checkrow .hub-acc-chev {
  color: var(--cc-rule-strong);
}
.hub-acc .hub-acc-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 16px;
}
.hub-acc .hub-acc-card {
  position: relative;
  display: grid;
  align-content: space-between;
  gap: 18px;
  min-height: 148px;
  padding: 14px;
  overflow: hidden;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 1px 1px rgb(16 16 19 / .035), 0 2px 6px rgb(56 44 20 / .025);
  text-align: left;
  color: var(--cc-ink);
  transition: transform 160ms cubic-bezier(.2, 0, 0, 1);
}
.hub-acc .hub-acc-card:active {
  transform: scale(.98);
}
.hub-acc .hub-acc-card--wide {
  grid-column: 1 / -1;
  min-height: 0;
}
.hub-acc .hub-acc-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.hub-acc .hub-acc-card--wide .hub-acc-card-top {
  justify-content: flex-start;
}
.hub-acc .hub-acc-card-t {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.hub-acc .hub-acc-card-t b {
  font-family: var(--cc-font-title);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.2;
}
.hub-acc .hub-acc-card-t small {
  overflow: hidden;
  color: var(--cc-muted);
  font-size: 13.5px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hub-acc .hub-acc-card-t small[data-alert] {
  color: var(--cc-link);
  font-weight: 500;
}
.hub-acc .hub-acc-card-sub {
  color: var(--cc-ink) !important;
  font-weight: 500;
}
.hub-acc .hub-acc-card--ink {
  background: var(--cc-ink);
  color: #fff;
  box-shadow: 0 10px 24px -16px rgb(11 11 13 / .6);
}
.hub-acc .hub-acc-card--ink .hub-acc-card-t small {
  color: rgb(255 255 255 / .66);
}
.hub-acc .hub-acc-week7 {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
}
.hub-acc .hub-acc-week7 > span {
  display: grid;
  justify-items: center;
  gap: 6px;
  padding: 8px 0 7px;
  border-radius: 12px;
  background: rgb(255 255 255 / .06);
}
.hub-acc .hub-acc-week7 i {
  color: rgb(255 255 255 / .62);
  font-size: 11px;
  font-style: normal;
  font-weight: 500;
}
.hub-acc .hub-acc-week7 em {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgb(255 255 255 / .16);
}
.hub-acc .hub-acc-week7 [data-on] em {
  background: var(--cc-action);
}
.hub-acc .hub-acc-week7 [data-today] {
  background: rgb(255 255 255 / .14);
}
.hub-acc .hub-acc-week7 [data-today] i {
  color: #fff;
}
.hub-acc .hub-acc-card-thumb {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 3px #fff, 0 2px 8px rgb(16 16 19 / .12);
}
.hub-acc .hub-acc-card-ring {
  position: relative;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: conic-gradient(var(--cc-ink) calc(var(--p) * 1%), var(--cc-sunk) 0);
}
.hub-acc .hub-acc-card-ring::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: #fff;
}
.hub-acc .hub-acc-card-ring b {
  position: relative;
  font-family: var(--cc-font-title);
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.hub-acc .hub-acc-card--photo {
  min-height: 120px;
  align-content: end;
  color: #fff;
  background: #1d1b18;
}
.hub-acc .hub-acc-card-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hub-acc .hub-acc-card--photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgb(16 16 19 / .05) 20%,
      rgb(16 16 19 / .72));
}
.hub-acc .hub-acc-card--photo .hub-acc-card-top {
  position: relative;
  z-index: 1;
}
.hub-acc .hub-acc-card--photo .hub-acc-card-t small {
  color: rgb(255 255 255 / .8);
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media (prefers-reduced-motion: reduce) {
  .hub-acc .hub-acc-card {
    transition: none;
  }
  .hub-acc .hub-acc-card:active {
    transform: none;
  }
}
.hub-acc-sheet,
.hub-acc-sheet :is(.cc-home-sheet-body, .cc-sheet-body) {
  background: #fff !important;
}
.hub-acc .hub-acc-card-fig {
  display: grid;
  justify-items: end;
  color: var(--cc-muted);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
.hub-acc .hub-acc-card-fig b {
  color: var(--cc-ink);
  font-family: var(--cc-font-title);
  font-size: 22px;
  font-weight: 600;
}
.hub-acc .hub-acc-card-fig small {
  font-size: 11.5px;
}
.cc-phone.cc-acs .hub-acc .hub-acc-foot [class*=button_ghost] {
  color: var(--cc-muted);
  font-size: 14px;
  font-weight: 500;
}
.hub-acc .hub-acc-card:not(.hub-acc-card--wide) {
  align-content: start;
  gap: 22px;
}
.hub-acc .hub-acc-d1 {
  display: grid;
  padding: 0;
}
.hub-acc .hub-acc-d1-main {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 16px 16px 15px;
  text-align: left;
}
.hub-acc .hub-acc-d1-time {
  display: grid;
  gap: 3px;
  min-width: 76px;
  padding-right: 16px;
  border-right: 1px solid var(--cc-rule);
}
.hub-acc .hub-acc-d1-time small {
  color: var(--cc-link);
  font-size: 12px;
  font-weight: 500;
}
.hub-acc .hub-acc-d1-time b {
  font-family: var(--cc-font-title);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.hub-acc .hub-acc-d1-txt {
  display: grid;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.hub-acc .hub-acc-d1-name {
  color: var(--cc-ink);
  font-size: 15px;
  font-weight: 500;
}
.hub-acc .hub-acc-d1-sub {
  overflow: hidden;
  color: var(--cc-muted);
  font-size: 13.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hub-acc .hub-acc-d1-when {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  height: 22px;
  margin-top: 3px;
  padding: 0 8px;
  border-radius: 99px;
  background: var(--cc-sunk);
  color: var(--cc-ink);
  font-size: 11.5px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.hub-acc .hub-acc-d1 .hub-acc-chev {
  flex: none;
  color: var(--cc-rule-strong);
}
.hub-acc .hub-acc-d1-row {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 50px;
  padding: 0 16px;
  border-top: 1px solid var(--cc-rule);
  text-align: left;
}
.hub-acc .hub-acc-d1-v {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  color: var(--cc-muted);
  font-size: 14px;
}
.hub-acc .hub-acc-d1-row[data-todo] .hub-acc-d1-v {
  color: var(--cc-link);
  font-weight: 500;
}
.hub-acc .hub-acc-tick {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--cc-action);
  color: #0b0b0d;
}
.hub-acc .hub-acc-apps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.hub-acc .hub-acc-app {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 2px 0;
}
.hub-acc .hub-acc-app-ic {
  position: relative;
  display: block;
  width: 66px;
  height: 66px;
  transition: transform 180ms cubic-bezier(.2, 0, 0, 1);
}
.hub-acc .hub-acc-app:active .hub-acc-app-ic {
  transform: scale(.93);
}
.hub-acc .acs-appicon {
  display: block;
  filter: drop-shadow(0 4px 8px rgb(16 16 19 / .16));
}
.hub-acc .hub-acc-app-badge {
  position: absolute;
  top: -6px;
  right: -7px;
  display: grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 99px;
  background: var(--cc-action);
  color: #0b0b0d;
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 0 0 2.5px var(--cc-page);
}
.hub-acc .hub-acc-app-nm {
  color: var(--cc-ink);
  font-size: 12.5px;
  font-weight: 500;
}
.hub-acc .hub-acc-app:focus-visible {
  outline: 2px solid var(--cc-link);
  outline-offset: 4px;
  border-radius: 18px;
}
@media (prefers-reduced-motion: reduce) {
  .hub-acc .hub-acc-app-ic {
    transition: none;
  }
  .hub-acc .hub-acc-app:active .hub-acc-app-ic {
    transform: none;
  }
}
.cc-phone.cc-acs .hub-acc .hp-story img {
  height: auto;
  aspect-ratio: 4 / 3;
  margin-bottom: 6px;
  border-radius: 20px;
}
.cc-phone.cc-acs .hub-acc .hp-story-meta {
  color: var(--cc-link);
  font-size: 12px;
  font-weight: 500;
}
.cc-phone.cc-acs .hub-acc .hp-story-title {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.25;
}
.cc-phone.cc-acs .hub-acc .hp-studio .hp-carousel [class*=carousel_controls] {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip-path: none;
  white-space: normal;
  margin-top: 10px;
}
.hub-acc .hub-acc-coachlist {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 1px 1px rgb(16 16 19 / .035), 0 2px 6px rgb(56 44 20 / .025);
  overflow: hidden;
}
.hub-acc .hub-acc-coachlist li {
  position: relative;
}
.hub-acc .hub-acc-coachlist li + li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 72px;
  right: 0;
  height: 1px;
  background: var(--cc-rule);
}
.hub-acc .hub-acc-coachrow {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 64px;
  padding: 0 16px;
  text-align: left;
}
.hub-acc .hub-acc-coachrow-t {
  display: grid;
  gap: 1px;
  flex: 1;
  min-width: 0;
}
.hub-acc .hub-acc-coachrow-t b {
  color: var(--cc-ink);
  font-size: 15px;
  font-weight: 500;
}
.hub-acc .hub-acc-coachrow-t small {
  overflow: hidden;
  color: var(--cc-muted);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hub-acc .hub-acc-coachrow-n {
  display: grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 99px;
  background: var(--cc-action);
  color: #0b0b0d;
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.hub-acc .hub-acc-coachrow .hub-acc-chev {
  color: var(--cc-rule-strong);
}
.hp-carousel [class*=carousel_track] {
  padding-left: 0 !important;
  padding-right: 10% !important;
}

/* src/hub-suivi.css */
.cc-sv .cc-scroll {
  padding-bottom: calc(var(--cc-dock-reserve) + 12px);
}
.cc-sv-body {
  display: grid;
  gap: 0;
}
.cc-sv-date {
  margin: 2px 0 0;
  color: var(--cc-muted);
  font-size: 13px;
}
.cc-sv-overline {
  margin: 0;
  color: var(--cc-muted);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.cc-sv-note {
  margin: 0;
  color: var(--cc-muted);
  font-size: 12.5px;
  line-height: 1.45;
}
.cc-sv-note b {
  color: var(--cc-ink);
  font-weight: 600;
}
.cc-sv-chev {
  flex: none;
  color: var(--cc-rule-strong);
}
.cc-sv-section {
  display: grid;
  gap: 10px;
  margin-top: 26px;
}
.cc-sv-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.cc-sv-head h2 {
  margin: 0;
  font-family: var(--cc-font-title);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -.01em;
}
.cc-sv-head-top {
  margin-top: 26px;
  margin-bottom: 4px;
}
.cc-sv-status {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--cc-link);
  font-size: 12.5px;
  font-weight: 600;
  white-space: nowrap;
}
.cc-sv-status[data-done] {
  color: var(--cc-ink);
}
.cc-sv-status[data-done] svg {
  color: var(--cc-link);
}
.cc-sv-week {
  display: grid;
  gap: 10px;
  margin-top: 18px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--cc-rule);
}
.cc-sv-rings {
  display: flex;
  align-items: center;
  gap: 26px;
}
.cc-sv-rings .cc-rings {
  flex: none;
}
.cc-sv-arc {
  transition: stroke-dasharray 520ms cubic-bezier(.22, 1, .36, 1);
}
.cc-sv-legend {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.cc-sv-legend li {
  display: grid;
  gap: 1px;
}
.cc-sv-legend-l {
  font-size: 12px;
  font-weight: 600;
}
.cc-sv-legend-v {
  color: var(--cc-muted);
  font-size: 12px;
  white-space: nowrap;
}
.cc-sv-legend-v b {
  margin-right: 2px;
  color: var(--cc-ink);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.cc-sv-legend-v small {
  font-size: 12px;
}
.cc-sv-answers,
.cc-sv-trends {
  display: grid;
}
.cc-sv-answers > li + li,
.cc-sv-trends > li + li {
  border-top: 1px solid var(--cc-rule);
}
.cc-sv-answer {
  display: grid;
  width: 100%;
  grid-template-columns: 32px minmax(0, 1fr) auto 16px;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 6px 0;
  text-align: left;
}
.cc-sv-answer-ic {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-sunk);
  color: var(--cc-ink);
}
.cc-sv-answer-l {
  font-size: 14.5px;
  font-weight: 600;
}
.cc-sv-answer-v {
  overflow: hidden;
  color: var(--cc-ink);
  font-size: 14px;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.cc-sv-answer[data-empty] .cc-sv-answer-v {
  color: var(--cc-link);
  font-weight: 600;
}
.cc-sv-drop {
  display: block;
  width: 11px;
  height: 14px;
  border-radius: 50% 50% 50% 50% / 62% 62% 40% 40%;
  background: currentColor;
  clip-path: polygon(50% 0, 100% 62%, 100% 100%, 0 100%, 0 62%);
  opacity: .9;
}
.cc-sv-cta {
  width: 100%;
  margin-top: 6px;
}
.cc-sv-routines {
  display: grid;
}
.cc-sv-routine {
  display: grid;
  gap: 10px;
  padding: 12px 0;
}
.cc-sv-routine + .cc-sv-routine {
  border-top: 1px solid var(--cc-rule);
}
.cc-sv-routine-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.cc-sv-routine-l {
  display: grid;
  gap: 2px;
  font-size: 15px;
  font-weight: 600;
}
.cc-sv-routine-l small {
  color: var(--cc-muted);
  font-size: 12px;
  font-weight: 400;
}
.cc-sv-tick {
  display: grid;
  width: 44px;
  height: 44px;
  flex: none;
  place-items: center;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1.5px var(--cc-rule-strong);
  color: transparent;
  transition:
    background-color 180ms ease-out,
    box-shadow 180ms ease-out,
    color 180ms ease-out,
    transform 160ms cubic-bezier(.23, 1, .32, 1);
}
.cc-sv-tick[aria-checked=true] {
  background: var(--cc-ink);
  box-shadow: none;
  color: var(--cc-page);
}
.cc-sv-tick:active {
  transform: scale(.94);
}
.cc-sv .cc-suivi-mark[data-state=done] i {
  background: var(--cc-ink);
  color: var(--cc-page);
}
.cc-sv .cc-suivi-mark[data-state=todo] i {
  box-shadow: inset 0 0 0 1.5px var(--cc-rule-strong);
}
.cc-sv .cc-suivi-mark[data-today] > span {
  color: var(--cc-ink);
  font-weight: 700;
}
.cc-sv .cc-suivi-mark[data-today] i {
  outline: 2px solid var(--acs-axis-1, #c0a46d);
  outline-offset: 2px;
}
.cc-sv .cc-suivi-mark[data-future] i {
  opacity: .55;
}
.cc-sv-trend-top {
  display: grid;
  gap: 12px;
  margin-top: 2px;
}
.cc-sv-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 44px;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px var(--cc-rule-strong);
  color: var(--cc-ink);
  font-size: 14px;
  font-weight: 600;
}
.cc-sv-add:active {
  transform: scale(.98);
}
.cc-sv-trends {
  margin-top: 10px;
}
.cc-sv-trend {
  display: grid;
  width: 100%;
  grid-template-columns: 32px minmax(0, 1fr) 84px 16px;
  align-items: center;
  gap: 10px;
  min-height: 68px;
  padding: 8px 0;
  text-align: left;
}
.cc-sv-trend-text {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.cc-sv-trend-l {
  color: var(--cc-muted);
  font-size: 12px;
  font-weight: 600;
}
.cc-sv-trend-v {
  overflow: hidden;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.cc-sv-trend-s {
  overflow: hidden;
  color: var(--cc-muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-sv-spark {
  display: block;
  width: 84px;
  height: 32px;
  overflow: hidden;
  pointer-events: none;
}
.cc-sv-spark > * {
  --arc-accent: var(--cc-link);
}
.cc-sv-spark-empty {
  border-bottom: 1px dashed var(--cc-rule-strong);
  height: 17px;
  align-self: center;
}
.cc-sv-chart {
  width: 100%;
}
.cc-sv-single {
  margin: 0;
  font-size: 13px;
  color: var(--cc-muted);
}
.cc-sv-single b {
  color: var(--cc-ink);
  font-size: 15px;
}
.cc-sv-measure {
  display: grid;
  gap: 6px;
}
.cc-sv-reg .cc-habits-reg-head {
  justify-content: flex-start;
}
.cc-sv-weekrows {
  display: grid;
}
.cc-sv-weekrows > li {
  display: grid;
  gap: 10px;
  padding: 12px 0;
}
.cc-sv-weekrows > li + li {
  border-top: 1px solid var(--cc-rule);
}
.cc-sv-sheet .cc-sv-q {
  display: grid;
  gap: 10px;
}
.cc-sv-q-l {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
}
.cc-sv-coach {
  display: grid;
  gap: 6px;
  width: 100%;
  margin-top: 16px;
  padding: 4px 0 4px 14px;
  border-left: 2px solid var(--acs-axis-1, #c0a46d);
  text-align: left;
}
.cc-sv-coach-q {
  font-family: var(--cc-font-title);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.005em;
}
.cc-sv-coach-by {
  color: var(--cc-muted);
  font-size: 12.5px;
}
.cc-sv .cc-bp-list.cc-sv-bilans {
  margin-top: 6px;
  padding: 0;
  background: none;
  box-shadow: none;
}
.cc-sv .cc-bp-row b {
  font-size: 15px;
  font-weight: 600;
}
.cc-sv .cc-bp-row small {
  color: var(--cc-muted);
  font-size: 12px;
}
.cc-sv-planned {
  margin-top: 12px;
}
@media (prefers-reduced-motion: reduce) {
  .cc-sv-arc,
  .cc-sv-tick {
    transition: none;
  }
}
.cc-sv-wk {
  margin-top: 28px;
  padding: 0;
  border: 0;
}
.cc-sv-wk-card {
  display: grid;
  gap: 12px;
  padding: 16px 16px 14px;
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--cc-card-shadow);
}
.cc-sv-wk-row {
  display: grid;
  grid-template-columns: 76px repeat(7, minmax(0, 1fr)) 40px;
  gap: 6px;
  align-items: center;
}
.cc-sv-wk-head span {
  color: #8b8984;
  font-size: 10.5px;
  font-weight: 600;
  text-align: center;
}
.cc-sv-wk-head span[data-today] {
  color: var(--cc-ink);
}
.cc-sv-wk-l {
  font-size: 12.5px;
  font-weight: 600;
  white-space: nowrap;
}
.cc-sv-wk-row em {
  font-style: normal;
  text-align: right;
  color: #8b8984;
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.cc-sv-wk-row em b {
  color: var(--cc-ink);
  font-family: var(--cc-font-title);
  font-size: 18px;
  font-weight: 700;
}
.cc-sv-cell {
  position: relative;
  aspect-ratio: 1;
  border-radius: 9px;
  background: #f2efe8;
  animation: cc-sv-cell-in .5s cubic-bezier(.34, 1.56, .64, 1) backwards;
}
.cc-sv-cell[data-st=plan] {
  background: transparent;
  box-shadow: inset 0 0 0 1.5px #ddd6c6;
}
.cc-sv-cell[data-st=ok] {
  box-shadow: 0 2px 6px rgb(138 106 31 / .22);
}
.cc-sv-cell[data-st=ok][data-tone=gold] {
  background:
    linear-gradient(
      160deg,
      #ead49d,
      var(--cc-action));
}
.cc-sv-cell[data-st=ok][data-tone=ink] {
  background:
    linear-gradient(
      160deg,
      #3a3a42,
      var(--cc-ink));
  box-shadow: 0 2px 6px rgb(16 16 19 / .2);
}
.cc-sv-cell[data-st=ok][data-tone=sage] {
  background:
    linear-gradient(
      160deg,
      #c7cfb2,
      #7f8a6a);
  box-shadow: 0 2px 6px rgb(95 105 75 / .25);
}
.cc-sv-cell[data-st=ok]::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 46%;
  width: 26%;
  height: 46%;
  border: solid var(--cc-ink);
  border-width: 0 2.5px 2.5px 0;
  border-radius: 1px;
  transform: translate(-50%, -50%) rotate(42deg);
}
.cc-sv-cell[data-st=ok][data-tone=ink]::after {
  border-color: #fff;
}
.cc-sv-cell[data-today] {
  box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--cc-ink);
}
.cc-sv-wk-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--cc-rule, #e4ded2);
  color: var(--cc-muted);
  font-size: 13px;
}
.cc-sv-wk-foot b {
  color: var(--cc-ink);
  font-weight: 600;
}
.cc-sv-wk-chip {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  border-radius: 99px;
  background: #ead49d;
  color: var(--cc-ink);
  font-size: 12px;
  font-weight: 600;
}
@keyframes cc-sv-cell-in {
  from {
    transform: scale(.4);
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cc-sv-cell {
    animation: none;
  }
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/line-chart/line-chart.module.css */
.line_chart_figure {
  display: grid;
  min-width: 0;
  gap: var(--arc-space-4);
  margin: 0;
  color: var(--arc-foreground);
  font-family: var(--arc-font-body);
  letter-spacing: var(--arc-tracking-body);
}
.line_chart_legend {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 4px;
  min-width: 0;
  margin-inline: -8px;
}
.line_chart_toggle {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  gap: 8px;
  padding: 0 10px 0 8px;
  border: 0;
  border-radius: var(--arc-radius-pill);
  background: transparent;
  color: var(--arc-text-secondary);
  cursor: pointer;
  font: inherit;
  font-size: var(--arc-text-sm);
  line-height: var(--arc-leading-body);
  -webkit-tap-highlight-color: transparent;
  transition:
    color var(--arc-duration-fast) var(--arc-ease-standard),
    background-color var(--arc-duration-fast) var(--arc-ease-standard),
    transform var(--arc-duration-instant) var(--arc-ease-standard);
}
.line_chart_toggle:active {
  transform: scale(.97);
}
.line_chart_toggle[aria-pressed=false] {
  color: var(--arc-text-muted);
}
.line_chart_toggleLabel {
  white-space: nowrap;
  transition: opacity var(--arc-duration-fast) var(--arc-ease-standard);
}
.line_chart_toggle[aria-pressed=false] .line_chart_toggleLabel {
  opacity: .72;
  text-decoration: line-through;
  text-decoration-color: color-mix(in oklab, currentColor 55%, transparent);
}
.line_chart_swatch {
  position: relative;
  width: 14px;
  height: 10px;
  flex: none;
}
.line_chart_swatch::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2.5px;
  border-radius: 2px;
  background: var(--series);
  content: "";
  transform: translateY(-50%) scaleX(1);
  transform-origin: left;
  transition: transform var(--arc-duration-standard) var(--arc-ease-spring), opacity var(--arc-duration-fast) var(--arc-ease-standard);
}
.line_chart_swatch[data-dashed]::before {
  background:
    repeating-linear-gradient(
      to right,
      var(--series) 0 4px,
      transparent 4px 7px);
}
.line_chart_toggle[aria-pressed=false] .line_chart_swatch::before {
  opacity: .45;
  transform: translateY(-50%) scaleX(.35);
}
@media (hover: hover) and (pointer: fine) {
  .line_chart_toggle:hover {
    background: color-mix(in oklab, var(--arc-foreground) 5%, transparent);
    color: var(--arc-foreground);
  }
}
.line_chart_chart {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px;
  grid-template-rows: auto 26px;
  min-width: 0;
}
.line_chart_plot {
  position: relative;
  grid-area: 1 / 1;
  min-width: 0;
  outline: none;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.line_chart_svg {
  display: block;
  overflow: visible;
}
.line_chart_grid {
  stroke: var(--arc-border);
  stroke-width: 1;
  shape-rendering: crispEdges;
}
.line_chart_baseline {
  stroke: var(--arc-border-strong);
  stroke-width: 1;
  shape-rendering: crispEdges;
}
.line_chart_crosshair {
  stroke: var(--arc-border-strong);
  stroke-width: 1;
  shape-rendering: crispEdges;
  opacity: 0;
  transition: opacity var(--arc-duration-instant) var(--arc-ease-standard);
}
.line_chart_chart[data-scrubbing] .line_chart_crosshair {
  opacity: 1;
}
.line_chart_series {
  transition: opacity var(--arc-duration-standard) var(--arc-ease-standard);
}
.line_chart_chart[data-loading] .line_chart_series {
  opacity: .32;
  animation: line_chart_breathe 1.4s var(--arc-ease-in-out) infinite alternate;
}
.line_chart_line {
  fill: none;
  stroke: var(--series);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke var(--arc-duration-standard) var(--arc-ease-standard);
}
.line_chart_line[data-dashed] {
  stroke-dasharray: 4 5;
  stroke-width: 1.75;
}
.line_chart_area {
  fill: color-mix(in oklab, var(--series) 9%, transparent);
  stroke: none;
}
.line_chart_dot {
  fill: var(--series);
  stroke: var(--arc-surface);
  stroke-width: 2;
  opacity: 0;
  transition: opacity var(--arc-duration-instant) var(--arc-ease-standard);
}
.line_chart_chart[data-scrubbing] .line_chart_dot:not([data-hidden]) {
  opacity: 1;
}
.line_chart_tooltip {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: grid;
  min-width: 140px;
  max-width: min(220px, 100%);
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--arc-border);
  border-radius: 14px;
  background: var(--arc-surface-raised);
  box-shadow: var(--arc-shadow-floating);
  opacity: 0;
  pointer-events: none;
  scale: .96;
  transition: opacity var(--arc-duration-fast) var(--arc-ease-standard), scale var(--arc-duration-fast) var(--arc-ease-standard);
}
.line_chart_chart[data-scrubbing] .line_chart_tooltip {
  opacity: 1;
  scale: 1;
}
.line_chart_tipTitle {
  margin: 0 0 2px;
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-xs);
  line-height: var(--arc-leading-body);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.line_chart_tipRow {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: var(--arc-text-sm);
  line-height: var(--arc-leading-body);
}
.line_chart_tipSwatch {
  width: 10px;
  height: 2.5px;
  flex: none;
  border-radius: 2px;
  background: var(--series);
}
.line_chart_tipSwatch[data-dashed] {
  background:
    repeating-linear-gradient(
      to right,
      var(--series) 0 3px,
      transparent 3px 5px);
}
.line_chart_tipName {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  color: var(--arc-text-secondary);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.line_chart_tipValue {
  flex: none;
  margin-left: 8px;
  color: var(--arc-foreground);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.line_chart_message {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  margin: 0;
  color: var(--arc-text-muted);
  font-size: var(--arc-text-sm);
  pointer-events: none;
}
.line_chart_skeleton {
  position: absolute;
  inset: 30% 0 25%;
  border-radius: 12px;
  background:
    linear-gradient(
      to bottom,
      transparent,
      color-mix(in oklab, var(--arc-foreground) 5%, transparent));
  animation: line_chart_breathe 1.4s var(--arc-ease-in-out) infinite alternate;
}
.line_chart_gutter {
  position: relative;
  grid-area: 1 / 2;
  min-width: 0;
}
.line_chart_tick {
  position: absolute;
  top: 0;
  left: 10px;
  display: block;
  height: 0;
  white-space: nowrap;
  pointer-events: none;
}
.line_chart_tickText {
  display: block;
  transform: translateY(-50%);
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.line_chart_axis {
  position: relative;
  grid-area: 2 / 1;
  min-width: 0;
}
.line_chart_axisLabel {
  position: absolute;
  top: 8px;
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  line-height: 1;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.line_chart_grid[data-zero] {
  stroke: var(--arc-border-strong);
}
.line_chart_rule {
  stroke: color-mix(in oklab, var(--arc-foreground) 55%, var(--arc-surface));
  stroke-width: 1;
  shape-rendering: crispEdges;
  pointer-events: none;
}
.line_chart_rule[data-dashed] {
  stroke-dasharray: 4 4;
}
.line_chart_rule[data-tone=accent] {
  stroke: var(--arc-accent);
}
.line_chart_rule[data-tone=warning] {
  stroke: var(--arc-warning);
}
.line_chart_rule[data-tone=danger] {
  stroke: var(--arc-danger);
}
.line_chart_ruleLabels {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.line_chart_ruleLabel {
  position: absolute;
  top: 0;
  left: 4px;
  display: block;
  padding: 0 4px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--arc-surface) 82%, transparent);
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-xs);
  line-height: 1.4;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  translate: 0 -110%;
}
.line_chart_ruleLabel[data-tone=warning] {
  color: color-mix(in oklab, var(--arc-warning) 80%, var(--arc-foreground));
}
.line_chart_ruleLabel[data-tone=danger] {
  color: var(--arc-danger);
}
.line_chart_ruleLabel[data-tone=accent] {
  color: var(--arc-accent);
}
.line_chart_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.line_chart_plot:not([data-interactive]) {
  touch-action: auto;
}
.line_chart_chart[data-bare] {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
}
.line_chart_band {
  fill: color-mix(in oklab, var(--arc-accent) 13%, transparent);
  stroke: none;
}
.line_chart_band[data-tone=neutral] {
  fill: color-mix(in oklab, var(--arc-foreground) 7%, transparent);
}
.line_chart_band[data-tone=warning] {
  fill: color-mix(in oklab, var(--arc-warning) 16%, transparent);
}
.line_chart_playhead {
  stroke: var(--arc-foreground);
  stroke-width: 1;
  opacity: .55;
  shape-rendering: crispEdges;
}
.line_chart_tipDot {
  fill: var(--series);
  stroke: var(--arc-surface);
  stroke-width: 2;
}
.line_chart_progressLabel {
  position: absolute;
  top: 0;
  left: 0;
  padding: 1px 6px;
  border-radius: 6px;
  background: var(--arc-foreground);
  color: var(--arc-surface);
  font-size: var(--arc-text-xs);
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}
.line_chart_axisClock {
  position: absolute;
  top: 6px;
  left: 0;
  padding: 1px 6px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--arc-foreground) 8%, var(--arc-surface));
  color: var(--arc-foreground);
  font-size: var(--arc-text-xs);
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}
.line_chart_chart[data-progressive] .line_chart_axis {
  overflow: visible;
}
.line_chart_marker {
  fill: var(--arc-surface);
  stroke: color-mix(in oklab, var(--arc-foreground) 70%, var(--arc-surface));
  stroke-width: 2;
  opacity: 0;
  scale: .4;
  transform-box: fill-box;
  transform-origin: center;
  transition: opacity var(--arc-duration-fast) var(--arc-ease-standard), scale var(--arc-duration-standard) var(--arc-ease-spring);
}
.line_chart_marker[data-shown] {
  opacity: 1;
  scale: 1;
}
.line_chart_marker[data-tone=accent] {
  stroke: var(--arc-accent);
}
.line_chart_marker[data-tone=warning] {
  stroke: var(--arc-warning);
}
.line_chart_marker[data-tone=danger] {
  stroke: var(--arc-danger);
}
.line_chart_rule[data-draggable] {
  stroke-width: 1.5;
}
.line_chart_handles {
  position: absolute;
  top: 0;
  left: 0;
  right: 48px;
  grid-area: 1 / 1;
  pointer-events: none;
}
.line_chart_ruleHandle {
  position: absolute;
  top: 0;
  right: -12px;
  display: grid;
  width: 44px;
  height: 44px;
  margin-top: -22px;
  place-items: center;
  outline: none;
  cursor: ns-resize;
  pointer-events: auto;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.line_chart_ruleGrip {
  display: block;
  width: 22px;
  height: 14px;
  border: 1.5px solid var(--arc-foreground);
  border-radius: 7px;
  background: var(--arc-surface);
  box-shadow: 0 1px 2px color-mix(in oklab, var(--arc-foreground) 18%, transparent);
  transition: scale var(--arc-duration-fast) var(--arc-ease-standard), background-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.line_chart_ruleHandle[data-tone=warning] .line_chart_ruleGrip {
  border-color: var(--arc-warning);
}
.line_chart_ruleHandle[data-tone=danger] .line_chart_ruleGrip {
  border-color: var(--arc-danger);
}
.line_chart_ruleHandle[data-tone=accent] .line_chart_ruleGrip {
  border-color: var(--arc-accent);
}
.line_chart_ruleHandle:focus-visible .line_chart_ruleGrip,
.line_chart_ruleHandle[data-following] .line_chart_ruleGrip {
  background: var(--arc-foreground);
  scale: 1.15;
}
.line_chart_ruleHandle[aria-disabled] {
  cursor: default;
  opacity: .5;
}
@keyframes line_chart_breathe {
  from {
    opacity: .22;
  }
  to {
    opacity: .45;
  }
}
@media (prefers-reduced-motion: reduce) {
  .line_chart_toggle,
  .line_chart_swatch::before,
  .line_chart_line,
  .line_chart_tooltip,
  .line_chart_crosshair,
  .line_chart_dot,
  .line_chart_series,
  .line_chart_marker,
  .line_chart_ruleGrip {
    transition: none;
  }
  .line_chart_chart[data-loading] .line_chart_series,
  .line_chart_skeleton {
    animation: none;
  }
}
[data-motion=reduced] .line_chart_figure * {
  transition: none !important;
  animation: none !important;
}
.line_chart_toggle:focus-visible,
.line_chart_plot:focus-visible {
  outline: 1px solid var(--arc-accent);
  outline-offset: 3px;
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/split-button/split-button.module.css */
.split_button_group {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--arc-foreground);
  border-radius: var(--arc-radius-control);
  background: var(--arc-foreground);
  transition: transform var(--arc-duration-spring) var(--arc-ease-spring);
}
.split_button_group:has(> .split_button_primary:active:not(:disabled)) {
  transform: scale(.97);
  transition-duration: var(--arc-duration-instant);
  transition-timing-function: var(--arc-ease-standard);
}
.split_button_primary,
.split_button_trigger {
  border: 0;
  background: var(--arc-foreground);
  color: var(--arc-background);
  font: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color var(--arc-duration-fast) var(--arc-ease-standard),
    color var(--arc-duration-fast) var(--arc-ease-standard),
    opacity var(--arc-duration-fast) var(--arc-ease-standard);
}
.split_button_primary {
  position: relative;
  display: inline-grid;
  min-height: var(--arc-control-height-md);
  place-items: center;
  padding: 0 var(--arc-space-4);
  border-radius: calc(var(--arc-radius-control) - 1px) 0 0 calc(var(--arc-radius-control) - 1px);
  font-size: var(--arc-text-sm);
  font-weight: 500;
}
.split_button_primarySlot {
  display: inline-flex;
  min-width: 0;
  align-items: center;
}
.split_button_primarySlot[data-morphing] {
  clip-path: inset(-50% calc(var(--arc-space-2) * -1));
}
.split_button_primaryContent {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: var(--arc-space-2);
  white-space: nowrap;
}
.split_button_mainIcon {
  display: inline-grid;
  flex: none;
  place-items: center;
}
.split_button_iconPhase {
  grid-area: 1 / 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.split_button_glyphs {
  position: relative;
  display: inline-flex;
  flex: none;
  white-space: pre;
}
.split_button_glyph {
  display: inline-block;
}
.split_button_trigger {
  display: grid;
  width: 38px;
  min-height: var(--arc-control-height-md);
  place-items: center;
  border-left: 1px solid color-mix(in oklab, var(--arc-background) 18%, var(--arc-foreground));
  border-radius: 0 calc(var(--arc-radius-control) - 1px) calc(var(--arc-radius-control) - 1px) 0;
}
.split_button_chevron {
  transition: transform var(--arc-duration-spring) var(--arc-ease-spring);
}
.split_button_trigger[data-state=open] .split_button_chevron {
  transform: rotate(180deg);
}
@media (hover: hover) and (pointer: fine) {
  .split_button_primary:hover:not(:disabled),
  .split_button_trigger:hover:not(:disabled) {
    background: color-mix(in oklab, var(--arc-foreground) 88%, var(--arc-background));
  }
  .split_button_secondary .split_button_primary:hover:not(:disabled),
  .split_button_secondary .split_button_trigger:hover:not(:disabled) {
    background: var(--arc-surface-muted);
  }
}
.split_button_primary:active:not(:disabled),
.split_button_trigger:active:not(:disabled),
.split_button_trigger[data-state=open] {
  background: color-mix(in oklab, var(--arc-foreground) 80%, var(--arc-background));
}
.split_button_primary:disabled,
.split_button_trigger:disabled {
  cursor: not-allowed;
  opacity: .52;
}
.split_button_secondary {
  border-color: var(--arc-border);
  border-radius: var(--arc-radius-pill);
  background: var(--arc-surface);
}
.split_button_secondary .split_button_primary,
.split_button_secondary .split_button_trigger {
  min-height: var(--arc-control-height-sm);
  background: var(--arc-surface);
  color: var(--arc-foreground);
}
.split_button_secondary .split_button_primary {
  min-width: 142px;
  border-radius: var(--arc-radius-pill) 0 0 var(--arc-radius-pill);
  padding-inline: var(--arc-space-3);
  font-size: var(--arc-text-xs);
}
.split_button_secondary .split_button_trigger {
  width: 32px;
  border-left-color: var(--arc-border-subtle);
  border-radius: 0 var(--arc-radius-pill) var(--arc-radius-pill) 0;
}
.split_button_secondary .split_button_primary:active:not(:disabled),
.split_button_secondary .split_button_trigger:active:not(:disabled),
.split_button_secondary .split_button_trigger[data-state=open] {
  background: color-mix(in oklab, var(--arc-surface-muted), var(--arc-border) 55%);
}
.split_button_icon {
  display: inline-flex;
}
.split_button_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.split_button_menu {
  --menu-x: 0px;
  --menu-y: -5px;
  z-index: 60;
  min-width: min(12rem, var(--radix-dropdown-menu-content-available-width));
  max-width: var(--radix-dropdown-menu-content-available-width);
  padding: 5px;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-panel);
  background: var(--arc-surface-raised);
  color: var(--arc-foreground);
  box-shadow: var(--arc-shadow-floating);
  transform-origin: var(--radix-dropdown-menu-content-transform-origin);
  transition: opacity var(--arc-duration-fast) var(--arc-ease-enter), transform var(--arc-duration-spring) var(--arc-ease-spring);
}
.split_button_menu[data-side=top] {
  --menu-y: 5px;
}
.split_button_menu[data-side=left] {
  --menu-x: 5px;
  --menu-y: 0px;
}
.split_button_menu[data-side=right] {
  --menu-x: -5px;
  --menu-y: 0px;
}
@starting-style {
  .split_button_menu[data-state=open] {
    opacity: 0;
    transform: translate(var(--menu-x), var(--menu-y)) scale(.97);
  }
  .split_button_menu[data-state=open] .split_button_item {
    opacity: 0;
    transform: translate(calc(var(--menu-x) * .4), calc(var(--menu-y) * .4));
  }
}
.split_button_menu[data-state=closed] {
  opacity: 0;
  transform: translate(calc(var(--menu-x) * .5), calc(var(--menu-y) * .5)) scale(.985);
  transition: opacity 130ms var(--arc-ease-standard), transform 130ms var(--arc-ease-standard);
  animation: split_button_menu-exit 130ms linear both;
  pointer-events: none;
}
.split_button_item {
  display: flex;
  min-height: var(--arc-control-height-sm);
  align-items: center;
  gap: 10px;
  padding: 0 11px;
  border-radius: calc(var(--arc-radius-panel) - 6px);
  font-size: var(--arc-text-sm);
  cursor: pointer;
  outline: none;
  transition: opacity var(--arc-duration-standard) var(--arc-ease-enter) calc(min(var(--i, 0), 4) * 35ms), transform var(--arc-duration-standard) var(--arc-ease-enter) calc(min(var(--i, 0), 4) * 35ms);
}
.split_button_item[data-highlighted] {
  background: var(--arc-surface-muted);
}
.split_button_item[data-disabled] {
  cursor: default;
  opacity: .45;
}
.split_button_destructive {
  color: var(--arc-danger);
}
.split_button_destructive[data-highlighted] {
  background: color-mix(in oklab, var(--arc-danger) 8%, var(--arc-surface));
}
@keyframes split_button_menu-exit {
  to {
    --menu-exit: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .split_button_group,
  .split_button_primary,
  .split_button_trigger,
  .split_button_chevron {
    transition: none;
  }
  .split_button_group:has(> .split_button_primary:active:not(:disabled)) {
    transform: none;
  }
  .split_button_item {
    transition: none;
  }
  .split_button_menu,
  .split_button_menu[data-state=closed] {
    transform: none;
    transition: opacity var(--arc-duration-instant) linear;
  }
}
[data-motion=reduced] .split_button_group,
[data-motion=reduced] .split_button_primary,
[data-motion=reduced] .split_button_trigger,
[data-motion=reduced] .split_button_chevron {
  transition: none;
}
[data-motion=reduced] .split_button_group:has(> .split_button_primary:active:not(:disabled)) {
  transform: none;
}
[data-motion=reduced] .split_button_item {
  transition: none;
}
[data-motion=reduced] .split_button_menu,
[data-motion=reduced] .split_button_menu[data-state=closed] {
  transform: none;
  transition: opacity var(--arc-duration-instant) linear;
}
.split_button_group[data-size=xs] {
  --group-h: var(--button-xs-height);
  --group-font: var(--button-xs-font);
  --group-pad: var(--button-xs-padding);
}
.split_button_group[data-size=sm] {
  --group-h: var(--button-sm-height);
  --group-font: var(--button-sm-font);
  --group-pad: var(--button-sm-padding);
}
.split_button_group[data-size=md] {
  --group-h: var(--button-md-height);
  --group-font: var(--button-md-font);
  --group-pad: var(--button-md-padding);
}
.split_button_group[data-size=lg] {
  --group-h: var(--button-lg-height);
  --group-font: var(--button-lg-font);
  --group-pad: var(--button-lg-padding);
}
.split_button_group[data-size=xl] {
  --group-h: var(--button-xl-height);
  --group-font: var(--button-xl-font);
  --group-pad: var(--button-xl-padding);
}
.split_button_group {
  border-color: var(--accent);
  background: var(--accent);
}
.split_button_primary,
.split_button_trigger {
  background: var(--accent);
  color: var(--on-accent);
}
.split_button_primary,
.split_button_trigger,
.split_button_secondary .split_button_primary,
.split_button_secondary .split_button_trigger {
  min-height: var(--group-h);
  font-size: calc(var(--group-font) * var(--font-scale));
}
.split_button_primary,
.split_button_secondary .split_button_primary {
  min-width: 0;
  padding-inline: var(--group-pad);
}
.split_button_trigger,
.split_button_secondary .split_button_trigger {
  width: var(--group-h);
  min-width: var(--group-h);
}
.split_button_secondary,
.split_button_secondary .split_button_primary,
.split_button_secondary .split_button_trigger {
  border-radius: inherit;
}
.split_button_secondary .split_button_primary {
  border-radius: calc(var(--radius) - 1px) 0 0 calc(var(--radius) - 1px);
}
.split_button_secondary .split_button_trigger {
  border-radius: 0 calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0;
}
@media (hover: hover) {
  .split_button_primary:hover:not(:disabled),
  .split_button_trigger:hover:not(:disabled) {
    background: var(--accent-hover);
  }
}
.split_button_primary:active:not(:disabled),
.split_button_trigger:active:not(:disabled),
.split_button_trigger[data-state=open] {
  background: var(--accent-hover);
}
@media (pointer: coarse) {
  .split_button_primary,
  .split_button_trigger,
  .split_button_secondary .split_button_primary,
  .split_button_secondary .split_button_trigger {
    min-height: max(var(--group-h), var(--touch-target));
  }
  .split_button_trigger,
  .split_button_secondary .split_button_trigger {
    min-width: max(var(--group-h), var(--touch-target));
  }
}
.split_button_item {
  font-family: var(--font-family);
}
@media (pointer: coarse) {
  .split_button_menu .split_button_item {
    min-height: var(--touch-target);
  }
}
.split_button_group button:focus-visible,
.split_button_group a:focus-visible,
.split_button_more:focus-visible {
  outline: var(--button-focus-width) solid var(--focus);
  outline-offset: calc(-1 * var(--button-focus-width));
}
.split_button_secondary {
  background: var(--panel);
  border-color: var(--border);
  border-radius: var(--radius);
}
.split_button_secondary .split_button_primary,
.split_button_secondary .split_button_trigger {
  background: var(--panel);
  color: var(--ink);
}
.split_button_secondary .split_button_primary:hover:not(:disabled),
.split_button_secondary .split_button_trigger:hover:not(:disabled),
.split_button_secondary .split_button_primary:active:not(:disabled),
.split_button_secondary .split_button_trigger:active:not(:disabled),
.split_button_secondary .split_button_trigger[data-state=open] {
  background: var(--subtle);
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/number-field/number-field.module.css */
.number_field_field {
  --nf-height: var(--arc-control-height-md);
  --nf-step: 34px;
  --nf-inset: 3px;
  --nf-text: var(--arc-text-base);
  --nf-width: var(--number-field-width, 196px);
  --nf-limit: color-mix(in oklab, var(--arc-warning) 72%, var(--arc-foreground));
  display: grid;
  min-width: 0;
}
.number_field_field[data-size=sm] {
  --nf-height: var(--arc-control-height-sm);
  --nf-step: 28px;
  --nf-inset: 3px;
  --nf-text: var(--arc-text-sm);
  --nf-width: var(--number-field-width, 164px);
}
.number_field_field[data-size=lg] {
  --nf-height: var(--arc-control-height-lg);
  --nf-step: 40px;
  --nf-inset: 4px;
  --nf-text: var(--arc-text-lg);
  --nf-width: var(--number-field-width, 228px);
}
:root[data-theme=dark] .number_field_field {
  --nf-limit: color-mix(in oklab, var(--arc-warning) 88%, var(--arc-foreground));
}
.number_field_head {
  display: flex;
  width: min(100%, var(--nf-width));
  align-items: baseline;
  justify-content: space-between;
  gap: var(--arc-space-3);
  margin-bottom: var(--arc-space-2);
}
.number_field_label {
  min-width: 0;
  color: var(--arc-foreground);
  font-size: var(--arc-text-sm);
  font-weight: 500;
  line-height: var(--arc-leading-body);
  letter-spacing: var(--arc-tracking-body);
}
.number_field_field[data-size=sm] .number_field_label {
  font-size: var(--arc-text-xs);
}
.number_field_limit {
  flex: none;
  color: var(--nf-limit);
  font-size: var(--arc-text-xs);
  font-weight: 500;
  line-height: var(--arc-leading-body);
  letter-spacing: var(--arc-tracking-body);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.number_field_label[data-scrub] {
  cursor: ew-resize;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}
.number_field_control {
  display: flex;
  align-items: center;
  width: min(100%, var(--nf-width));
  min-height: var(--nf-height);
  gap: 2px;
  border: 1px solid var(--arc-border);
  border-radius: var(--radius);
  padding: var(--nf-inset);
  background: var(--arc-surface);
  transition:
    border-color var(--arc-duration-fast) var(--arc-ease-standard),
    background-color var(--arc-duration-standard) var(--arc-ease-standard),
    opacity var(--arc-duration-fast) var(--arc-ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .number_field_control:hover,
  .number_field_field:has(.number_field_label[data-scrub]:hover) .number_field_control {
    border-color: var(--arc-border-strong);
  }
}
.number_field_control[data-scrubbing] {
  border-color: var(--input-focus-color);
}
.number_field_control:has(input:focus) {
  border-color: var(--input-focus-color);
}
.number_field_control[data-warn],
.number_field_control[data-warn]:hover {
  border-color: color-mix(in oklab, var(--arc-warning) 55%, var(--arc-border));
  background: color-mix(in oklab, var(--arc-warning) 5%, var(--arc-surface));
}
.number_field_control[data-warn]:has(input:focus) {
  border-color: color-mix(in oklab, var(--arc-warning) 80%, var(--arc-border));
}
.number_field_control[data-disabled] {
  opacity: .5;
  background: var(--arc-surface-muted);
}
.number_field_step {
  display: grid;
  width: var(--nf-step);
  height: var(--nf-step);
  flex: 0 0 var(--nf-step);
  place-items: center;
  border: 0;
  border-radius: calc(var(--arc-radius-control) - var(--nf-inset) - 1px);
  padding: 0;
  background: transparent;
  color: var(--arc-text-secondary);
  cursor: pointer;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color var(--arc-duration-fast) var(--arc-ease-standard),
    color var(--arc-duration-fast) var(--arc-ease-standard),
    opacity var(--arc-duration-standard) var(--arc-ease-standard);
}
.number_field_icon {
  display: grid;
  place-items: center;
}
.number_field_icon svg {
  transition: transform var(--arc-duration-spring) var(--arc-ease-spring);
}
@media (hover: hover) and (pointer: fine) {
  .number_field_step:hover:not(:disabled, [aria-disabled=true]) {
    background: var(--arc-surface-muted);
    color: var(--arc-foreground);
  }
}
.number_field_step:is(:active, [data-pressed]):not(:disabled, [aria-disabled=true]) {
  background: color-mix(in oklab, var(--arc-foreground) 10%, var(--arc-surface));
  color: var(--arc-foreground);
  transition: background-color 60ms linear, color 60ms linear;
}
.number_field_step:is(:active, [data-pressed]):not(:disabled, [aria-disabled=true]) svg {
  transform: scale(.82);
  transition: transform 90ms var(--arc-ease-standard);
}
.number_field_step:focus-visible {
  outline: none;
  background: var(--arc-surface-muted);
  color: var(--arc-foreground);
}
.number_field_step[aria-disabled=true] {
  opacity: .32;
  cursor: not-allowed;
}
.number_field_step:disabled {
  opacity: .35;
  cursor: not-allowed;
}
.number_field_control[data-strain=max] .number_field_step[aria-disabled=true]:last-child,
.number_field_control[data-strain=min] .number_field_step[aria-disabled=true]:first-child {
  opacity: .6;
  color: var(--nf-limit);
  transition: opacity 60ms linear, color 60ms linear;
}
.number_field_valueWrap {
  position: relative;
  display: flex;
  min-width: 0;
  flex: 1;
  align-self: stretch;
  align-items: center;
  justify-content: center;
  cursor: text;
}
.number_field_control[data-disabled] .number_field_valueWrap {
  cursor: not-allowed;
}
.number_field_value {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  color: var(--arc-foreground);
  font-size: var(--nf-text);
  transition: color var(--arc-duration-standard) var(--arc-ease-standard);
  font-weight: 500;
  line-height: var(--arc-leading-body);
  letter-spacing: var(--arc-tracking-body);
  font-variant-numeric: tabular-nums;
}
.number_field_affix {
  display: inline-flex;
  color: var(--arc-text-secondary);
  font-weight: 400;
}
.number_field_char {
  display: inline-block;
  overflow-x: clip;
  white-space: pre;
}
.number_field_number {
  position: relative;
  display: inline-grid;
  align-items: center;
}
.number_field_display {
  display: inline-flex;
  grid-area: 1 / 1;
}
.number_field_display[data-hidden] {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
}
.number_field_mirror {
  grid-area: 1 / 1;
  white-space: pre;
}
.number_field_input {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: calc(100% + 1em);
  height: 100%;
  margin: 0;
  border: 0;
  padding: 0;
  background: transparent;
  color: transparent;
  caret-color: var(--arc-foreground);
  font: inherit;
  font-variant-numeric: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-align: left;
  outline: none;
}
.number_field_input:focus-visible {
  outline: none;
}
.number_field_input::selection {
  background: color-mix(in oklab, var(--arc-foreground) 16%, transparent);
  color: transparent;
}
.number_field_input:disabled {
  cursor: not-allowed;
}
.number_field_column {
  --feather: .2em;
  position: relative;
  display: inline-block;
  overflow-x: visible;
  overflow-y: clip;
  margin-block: calc(var(--feather) * -1);
  padding-block: var(--feather);
  mask-image:
    linear-gradient(
      to bottom,
      transparent,
      #000 calc(var(--feather) * 1.5),
      #000 calc(100% - var(--feather) * 1.5),
      transparent);
  mask-repeat: repeat-x;
  mask-clip: no-clip;
}
.number_field_sizer {
  visibility: hidden;
}
.number_field_glyph {
  position: absolute;
  inset: var(--feather) 0;
  text-align: center;
}
.number_field_symbol {
  display: inline-block;
  overflow-x: clip;
  white-space: pre;
}
.number_field_messageSlot {
  display: block;
  overflow: hidden;
}
.number_field_hint {
  display: block;
  padding-top: var(--arc-space-2);
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  line-height: var(--arc-leading-body);
  letter-spacing: var(--arc-tracking-body);
  font-variant-numeric: tabular-nums;
}
.number_field_words {
  position: relative;
  display: block;
}
.number_field_wordSlot {
  position: relative;
  display: inline-block;
  vertical-align: top;
  white-space: pre;
}
.number_field_wordSizer {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  white-space: pre;
}
.number_field_word {
  display: inline-block;
  white-space: pre;
}
.number_field_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .number_field_control,
  .number_field_step {
    transition:
      opacity var(--arc-duration-instant) linear,
      border-color var(--arc-duration-instant) linear,
      background-color var(--arc-duration-instant) linear;
  }
  .number_field_step:is(:active, [data-pressed]):not(:disabled, [aria-disabled=true]) svg,
  .number_field_icon svg {
    transform: none;
    transition: none;
  }
  .number_field_control[data-strain] .number_field_value {
    color: var(--nf-limit);
    transition: none;
  }
}
[data-motion=reduced] .number_field_control,
[data-motion=reduced] .number_field_step {
  transition:
    opacity var(--arc-duration-instant) linear,
    border-color var(--arc-duration-instant) linear,
    background-color var(--arc-duration-instant) linear;
}
[data-motion=reduced] .number_field_step:is(:active, [data-pressed]):not(:disabled, [aria-disabled=true]) svg,
[data-motion=reduced] .number_field_icon svg {
  transform: none;
  transition: none;
}
[data-motion=reduced] .number_field_control[data-strain] .number_field_value {
  color: var(--nf-limit);
  transition: none;
}
.number_field_step:focus-visible {
  box-shadow: none;
}
@media (forced-colors: active) {
  .number_field_control:focus-within {
    border-color: Highlight;
  }
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/chip-group/chip-group.module.css */
.chip_group_frame {
  min-width: 0;
}
.chip_group_content {
  position: relative;
}
.chip_group_group {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-wrap: wrap;
  gap: var(--arc-space-2);
}
.chip_group_chip {
  position: relative;
  display: inline-flex;
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: var(--radius);
  background: none;
  color: var(--arc-text-secondary);
  font: inherit;
  font-size: var(--arc-text-sm);
  font-weight: 500;
  letter-spacing: var(--arc-tracking-body);
  line-height: 20px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color var(--arc-duration-fast) var(--arc-ease-standard);
}
.chip_group_body {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  min-width: 0;
  height: var(--arc-control-height-sm);
  align-items: center;
  padding: 0 14px;
  transition: scale var(--arc-duration-spring) var(--arc-ease-spring);
}
.chip_group_chip:active .chip_group_body {
  scale: .97;
  transition-duration: var(--arc-duration-instant);
  transition-timing-function: var(--arc-ease-standard);
}
.chip_group_surface {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  border: 1px solid var(--arc-border);
  border-radius: var(--radius);
  background: var(--arc-surface);
  transition: background-color var(--arc-duration-fast) var(--arc-ease-standard), border-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.chip_group_check {
  position: absolute;
  top: calc(50% - 7px);
  left: 12px;
  display: grid;
  width: 14px;
  height: 14px;
  place-items: center;
  color: var(--arc-accent-strong);
  transform-origin: 0 50%;
}
.chip_group_check svg {
  display: block;
  overflow: visible;
}
.chip_group_slot {
  width: 0;
  flex: none;
}
.chip_group_body[data-selected=true] .chip_group_slot {
  width: 18px;
}
.chip_group_label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chip_group_body[data-selected=true] .chip_group_surface {
  border-color: color-mix(in oklab, var(--arc-accent) 42%, var(--arc-border));
  background: color-mix(in oklab, var(--arc-accent) 11%, var(--arc-surface));
}
.chip_group_chip[aria-pressed=true] {
  color: var(--arc-foreground);
}
@media (hover: hover) and (pointer: fine) {
  .chip_group_chip:hover {
    color: var(--arc-foreground);
  }
  .chip_group_chip:hover .chip_group_surface {
    border-color: var(--arc-border-strong);
  }
  .chip_group_chip[aria-pressed=true]:hover .chip_group_surface {
    border-color: color-mix(in oklab, var(--arc-accent) 60%, var(--arc-border));
    background: color-mix(in oklab, var(--arc-accent) 16%, var(--arc-surface));
  }
}
.chip_group_chip:not(.chip_group_more) {
  z-index: 1;
}
.chip_group_more {
  color: var(--arc-text-muted);
}
.chip_group_more .chip_group_surface {
  border-color: var(--arc-border);
  background: var(--arc-surface-muted);
}
.chip_group_moreText {
  position: relative;
  display: inline-flex;
  justify-content: center;
  font-variant-numeric: tabular-nums;
}
.chip_group_moreLine {
  display: block;
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .chip_group_chip,
  .chip_group_body,
  .chip_group_surface {
    transition: none;
  }
  .chip_group_chip:active .chip_group_body {
    scale: none;
  }
}
[data-motion=reduced] .chip_group_chip,
[data-motion=reduced] .chip_group_body,
[data-motion=reduced] .chip_group_surface {
  transition: none;
}
[data-motion=reduced] .chip_group_chip:active .chip_group_body {
  scale: none;
}
.chip_group_chip:focus-visible {
  outline: 1px solid var(--focus);
  outline-offset: 2px;
  box-shadow: none;
}
@media (pointer: coarse) {
  .chip_group_body {
    min-height: 44px;
  }
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/search-field/search-field.module.css */
.search_field_field {
  display: grid;
  gap: var(--arc-space-2);
  min-width: 0;
}
.search_field_field label {
  font-size: var(--arc-text-sm);
  font-weight: 500;
  line-height: var(--arc-leading-body);
  letter-spacing: var(--arc-tracking-body);
}
.search_field_shell {
  display: flex;
  min-height: var(--arc-control-height-md);
  align-items: center;
  gap: var(--arc-space-2);
  border: 1px solid var(--arc-border-strong);
  border-radius: var(--arc-radius-control);
  padding: 0 var(--arc-space-3);
  background: var(--arc-surface);
  transition: border-color var(--arc-duration-fast) var(--arc-ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .search_field_shell:hover:not(:focus-within) {
    border-color: var(--input-focus-color);
  }
}
.search_field_shell:focus-within {
  border-color: var(--input-focus-color);
}
.search_field_shell > svg {
  flex: 0 0 auto;
  color: var(--arc-text-muted);
  transition: color var(--arc-duration-fast) var(--arc-ease-standard);
}
.search_field_shell:focus-within > svg,
.search_field_shell[data-filled=true] > svg {
  color: var(--arc-foreground);
}
.search_field_input {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--arc-foreground);
  font: inherit;
  font-size: var(--arc-text-sm);
  letter-spacing: var(--arc-tracking-body);
  outline: 0;
}
.search_field_input:focus-visible {
  outline: 0;
}
.search_field_input::placeholder {
  color: var(--arc-text-muted);
}
.search_field_input::-webkit-search-cancel-button {
  display: none;
}
.search_field_clearSlot {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  place-items: center;
}
.search_field_shell button {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  place-items: center;
  border: 0;
  border-radius: var(--arc-radius-control);
  background: transparent;
  color: var(--arc-text-muted);
  transition: background-color var(--arc-duration-fast) var(--arc-ease-standard), color var(--arc-duration-fast) var(--arc-ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .search_field_shell button:hover {
    background: var(--arc-surface-muted);
    color: var(--arc-foreground);
  }
}
@media (prefers-reduced-motion: reduce) {
  .search_field_shell,
  .search_field_shell > svg,
  .search_field_shell button {
    transition: none;
  }
}
[data-motion=reduced] .search_field_shell,
[data-motion=reduced] .search_field_shell > svg,
[data-motion=reduced] .search_field_shell button {
  transition: none;
}
.search_field_shell:focus-within {
  box-shadow: none;
}
.search_field_shell button:focus-visible {
  outline: 1px solid var(--input-focus-color);
  outline-offset: 0;
}
.search_field_shell:has(input:disabled) {
  opacity: .6;
  cursor: not-allowed;
  background: var(--arc-surface-muted);
}
.search_field_shell button:disabled {
  cursor: not-allowed;
}
@media (pointer: coarse) {
  .search_field_shell {
    min-height: 46px;
  }
  .search_field_shell button {
    min-width: 44px;
    min-height: 44px;
  }
  .search_field_clearSlot {
    width: 44px;
    height: 44px;
  }
  .search_field_input {
    font-size: 16px;
  }
}
@media (forced-colors: active) {
  .search_field_shell:focus-within {
    border-color: Highlight;
  }
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/checkbox/checkbox.module.css */
.checkbox_field {
  display: inline-flex;
  align-items: flex-start;
  gap: 0;
  min-width: 0;
}
.checkbox_box {
  position: relative;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: var(--arc-control-height-md);
  height: var(--arc-control-height-md);
  border: 0;
  border-radius: var(--arc-radius-control);
  padding: 0;
  background: transparent;
  color: var(--arc-control-glyph);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.checkbox_visual {
  position: relative;
  display: block;
  width: var(--checkbox-mark-size);
  height: var(--checkbox-mark-size);
  border: 1px solid var(--arc-border-strong);
  border-radius: var(--checkbox-mark-radius);
  background: var(--arc-surface);
  transition: border-color var(--arc-duration-fast) var(--arc-ease-standard), transform var(--arc-duration-spring) var(--arc-ease-spring);
}
.checkbox_fill {
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: var(--arc-control-on);
}
.checkbox_mark {
  position: absolute;
  inset: -1px;
  width: var(--checkbox-mark-size);
  height: var(--checkbox-mark-size);
  overflow: visible;
}
.checkbox_box[data-state=checked] .checkbox_visual,
.checkbox_box[data-state=indeterminate] .checkbox_visual {
  border-color: var(--arc-control-on);
}
@media (hover: hover) and (pointer: fine) {
  .checkbox_box[data-state=unchecked]:hover:not(:disabled) .checkbox_visual {
    border-color: var(--arc-text-muted);
  }
}
.checkbox_box:active:not(:disabled) .checkbox_visual {
  transform: scale(.95);
  transition: border-color var(--arc-duration-fast) var(--arc-ease-standard), transform var(--arc-duration-instant) var(--arc-ease-standard);
}
.checkbox_box:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.checkbox_copy {
  display: grid;
  gap: 2px;
  min-width: 0;
  margin-left: 1px;
  padding-top: calc((var(--arc-control-height-md) - var(--arc-text-sm) * var(--arc-leading-body)) / 2);
}
.checkbox_copy label {
  display: block;
  margin: 0;
  color: var(--arc-foreground);
  font-size: var(--arc-text-sm);
  font-weight: 500;
  line-height: var(--arc-leading-body);
  cursor: pointer;
}
.checkbox_copy span {
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  line-height: var(--arc-leading-body);
}
@media (prefers-reduced-motion: reduce) {
  .checkbox_visual,
  .checkbox_box:active:not(:disabled) .checkbox_visual {
    transition: none;
    transform: none;
  }
}
[data-motion=reduced] .checkbox_visual,
[data-motion=reduced] .checkbox_box:active:not(:disabled) .checkbox_visual {
  transition: none;
  transform: none;
}
.checkbox_box[aria-invalid=true] .checkbox_visual {
  border-color: var(--arc-danger);
}
.checkbox_box:focus-visible .checkbox_visual {
  border-color: var(--arc-control-on);
  outline: 1px solid var(--arc-control-on);
  outline-offset: 0;
}
.checkbox_box[data-ubm-canon][data-state]::after {
  content: none;
}
.checkbox_field {
  font-family: var(--font-family, "DM Sans", sans-serif);
}
.checkbox_box {
  min-width: var(--touch-target);
  min-height: var(--touch-target);
  outline: none;
}
.checkbox_visual {
  box-sizing: border-box;
}
.checkbox_copy {
  padding-top: calc((max(var(--touch-target), var(--arc-control-height-md)) - var(--arc-text-sm) * var(--arc-leading-body)) / 2);
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/textarea/textarea.module.css */
.textarea_field {
  display: grid;
  min-width: 0;
}
.textarea_field label {
  margin-bottom: var(--arc-space-2);
  font-size: var(--arc-text-sm);
  font-weight: 500;
}
.textarea_control {
  width: 100%;
  min-height: 110px;
  resize: vertical;
  border: 1px solid var(--arc-border-strong);
  border-radius: var(--arc-radius-control);
  padding: var(--arc-space-3);
  background: var(--arc-surface);
  color: var(--arc-foreground);
  font: inherit;
  font-size: var(--arc-text-sm);
  line-height: var(--arc-leading-body);
  outline: none;
  box-shadow: none;
  transition:
    border-color var(--arc-duration-fast) var(--arc-ease-standard),
    box-shadow var(--arc-duration-standard) var(--arc-ease-standard),
    background-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.textarea_control::placeholder {
  color: var(--arc-text-muted);
}
@media (hover: hover) and (pointer: fine) {
  .textarea_control:hover:not(:disabled, [aria-invalid=true]) {
    border-color: var(--input-focus-color);
  }
}
.textarea_control:focus-visible {
  border-color: var(--input-focus-color);
  box-shadow: none;
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.textarea_control[aria-invalid=true] {
  border-color: var(--arc-danger);
}
.textarea_control:disabled {
  cursor: not-allowed;
  background: var(--arc-surface-muted);
  opacity: .6;
}
.textarea_messageSlot {
  display: block;
  overflow: hidden;
}
.textarea_hint,
.textarea_error {
  display: block;
  padding-top: var(--arc-space-2);
  font-size: var(--arc-text-xs);
  line-height: var(--arc-leading-body);
}
.textarea_hint {
  color: var(--arc-text-muted);
}
.textarea_error {
  color: var(--arc-danger);
}
.textarea_words {
  position: relative;
  display: block;
}
.textarea_word {
  display: inline-block;
  white-space: pre;
}
.textarea_column {
  position: relative;
  display: inline-flex;
  justify-content: center;
  font-variant-numeric: tabular-nums;
}
.textarea_column > span {
  display: inline-block;
}
.textarea_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .textarea_control {
    transition: none;
  }
}
[data-motion=reduced] .textarea_control {
  transition: none;
}
.textarea_control[data-size=xs] {
  font-size: var(--arc-text-xs);
  padding: var(--arc-space-2);
}
.textarea_control[data-size=sm] {
  font-size: var(--arc-text-sm);
  padding: var(--arc-space-2);
}
.textarea_control[data-size=lg],
.textarea_control[data-size=xl] {
  font-size: var(--arc-text-base);
  padding: var(--arc-space-4);
}
@media (pointer: coarse) {
  .textarea_control {
    font-size: 16px;
  }
}
@media (forced-colors: active) {
  .textarea_control:focus-visible {
    border-color: Highlight;
  }
}
.textarea_control[aria-invalid=true]:focus-visible {
  border-color: color-mix(in oklab, var(--danger) 70%, var(--ink));
}

/* src/hub-nutrition.css */
.ccn {
  --ccn-ease: cubic-bezier(.22, 1, .36, 1);
  --ccn-r: 20px;
  --ccn-card: var(--cc-surface, #f6f4ef);
  --ccn-card-shadow: 0 0 0 1px var(--cc-rule), 0 1px 2px rgb(11 11 13 / .04);
}
.ccn .cc-scroll {
  padding-bottom: var(--cc-dock-reserve);
}
.ccn-head {
  gap: 12px;
}
.ccn-head .cc-title {
  font-size: 21px;
}
.ccn-body {
  display: grid;
  gap: 14px;
  padding-top: 6px;
}
.ccn :is(a, button) {
  -webkit-tap-highlight-color: transparent;
}
.ccn a {
  color: inherit;
  text-decoration: none;
}
.ccn-h2 {
  margin: 0;
  font-family: var(--cc-font-title);
  font-size: 19px;
  font-weight: 650;
  letter-spacing: -.01em;
  line-height: 1.2;
}
.ccn-over {
  color: var(--cc-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 14px;
  text-transform: uppercase;
}
.ccn-muted {
  color: var(--cc-muted);
  font-weight: 500;
}
.ccn-tag {
  display: inline-flex;
  height: 22px;
  align-items: center;
  padding: 0 9px;
  border-radius: 11px;
  background: var(--cc-sunk);
  color: var(--cc-link);
  font-size: 11.5px;
  font-weight: 600;
}
.ccn-dayhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 28px;
}
.ccn-dayhead--top {
  margin-top: 2px;
}
.ccn-count {
  color: var(--cc-muted);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}
.ccn-sechead {
  margin-top: 6px;
}
.ccn-daycontent {
  display: grid;
  gap: 12px;
}
.ccn-ph {
  display: grid;
  place-items: center;
  background: var(--cc-sunk);
  color: var(--cc-link-on-soft);
}
:is(.ccn, .ccn-sheet) span.ccn-ph {
  display: grid;
}
.ccn-outline {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 14px;
  border-radius: 20px;
  box-shadow: inset 0 0 0 1px var(--cc-rule-strong);
  color: var(--cc-ink);
  font-size: 13.5px;
  font-weight: 600;
  white-space: nowrap;
}
.ccn-outline--wide {
  width: 100%;
  min-height: 50px;
  border-radius: 25px;
  font-size: 15px;
}
.ccn-textbtn {
  justify-self: center;
  min-height: 44px;
  padding: 0 8px;
  color: var(--cc-link);
  font-size: 14px;
  font-weight: 600;
}
.ccn .cc-primary {
  margin-top: 0;
}
.ccn :is(.ccn-outline, .ccn-cadre, .ccn-meal-empty, .ccn-jentry, .ccn-fav, .ccn-textbtn, .ccn-day, .ccn-notice, .ccn-fold):active {
  transform: scale(.97);
}
.ccn :is(.ccn-outline, .ccn-cadre, .ccn-meal-empty, .ccn-jentry, .ccn-fav, .ccn-textbtn, .ccn-day, .ccn-notice, .ccn-fold, .ccn-feature-link, .ccn-recrow-link) {
  transition: transform 150ms var(--ccn-ease), opacity 150ms;
}
.ccn :is(.ccn-feature-link, .ccn-recrow-link, .ccn-meal-photo, .ccn-meal-name):active {
  opacity: .78;
}
.ccn-days {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin: 0 -4px;
}
.ccn-days-ind {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: calc(100% / 7);
  height: 66px;
  place-items: center;
  transform: translateX(calc(var(--i) * 100%));
  transition: transform 420ms var(--ccn-ease);
  pointer-events: none;
}
.ccn-days-ind i {
  width: min(44px, 100% - 4px);
  height: 66px;
  border-radius: 22px;
  background: var(--cc-ink);
  box-shadow: 0 6px 16px rgb(11 11 13 / .18);
}
.ccn-day {
  position: relative;
  z-index: 1;
  display: grid;
  height: 66px;
  min-width: 0;
  align-content: center;
  justify-items: center;
  gap: 3px;
  color: var(--cc-ink);
  transition: color 220ms var(--ccn-ease);
}
.ccn-day-l {
  color: var(--cc-muted);
  font-size: 11px;
  font-weight: 600;
  transition: color 220ms var(--ccn-ease);
}
.ccn-day-n {
  font-family: var(--cc-font-title);
  font-size: 17px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  line-height: 20px;
}
.ccn-day[data-today]:not([data-active]) .ccn-day-n {
  color: var(--cc-link);
}
.ccn-day-m {
  display: grid;
  width: 14px;
  height: 14px;
  place-items: center;
}
.ccn-day-m[data-m=dot]::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--cc-link);
}
.ccn-day-m[data-m=done] {
  border-radius: 50%;
  background: var(--cc-ink);
  color: var(--cc-page);
}
.ccn-day[data-active] {
  color: var(--cc-page);
}
.ccn-day[data-active] .ccn-day-l {
  color: rgb(246 244 239 / .72);
}
.ccn-day[data-active] .ccn-day-m[data-m=dot]::before {
  background: var(--cc-action);
}
.ccn-day[data-active] .ccn-day-m[data-m=done] {
  background: var(--cc-action);
  color: var(--cc-on-action);
}
.ccn-meals {
  display: grid;
  gap: 12px;
}
.ccn-meal {
  display: grid;
  grid-template-columns: clamp(96px, 30%, 116px) minmax(0, 1fr);
  overflow: hidden;
  border-radius: var(--ccn-r);
  background: var(--ccn-card);
  box-shadow: var(--ccn-card-shadow);
}
.ccn-meal-photo {
  display: block;
  min-height: 100%;
}
.ccn-meal-img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 150px;
  object-fit: cover;
}
.ccn-meal-body {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
  padding: 14px 14px 14px 16px;
}
.ccn-meal-name {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 6px;
  font-family: var(--cc-font-title);
  font-size: 16.5px;
  font-weight: 650;
  letter-spacing: -.01em;
  line-height: 1.25;
}
.ccn-meal-name svg {
  flex: none;
  margin-top: 2px;
  color: var(--cc-muted);
}
.ccn-meal-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  color: var(--cc-muted);
  font-size: 12px;
  line-height: 16px;
}
.ccn-badge {
  display: inline-flex;
  height: 22px;
  align-items: center;
  gap: 4px;
  padding: 0 8px;
  border-radius: 11px;
  background: var(--cc-sunk);
  color: var(--cc-ink);
  font-size: 11.5px;
  font-weight: 600;
}
.ccn-badge svg {
  color: var(--cc-link);
}
.ccn-meal .ccn-outline {
  justify-self: start;
  margin-top: 4px;
}
.ccn-meal-empty {
  display: flex;
  width: 100%;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 16px;
  border-radius: var(--ccn-r);
  box-shadow: inset 0 0 0 1.5px var(--cc-rule);
  background-image: none;
  text-align: left;
}
.ccn-meal-empty-cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--cc-link);
  font-size: 13.5px;
  font-weight: 600;
}
.ccn-cadre {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 14px;
  margin-top: 4px;
  padding: 16px 16px 16px 14px;
  border-radius: 22px;
  background: var(--cc-ink);
  color: var(--cc-page);
  text-align: left;
}
.ccn-cadre-ic {
  display: grid;
  width: 44px;
  height: 44px;
  flex: none;
  place-items: center;
  border-radius: 50%;
  background: rgb(192 164 109 / .16);
  color: var(--cc-action);
}
.ccn-cadre-text {
  display: grid;
  flex: 1;
  gap: 3px;
  min-width: 0;
}
.ccn-cadre-text .ccn-over {
  color: var(--cc-action);
}
.ccn-cadre-text b {
  font-family: var(--cc-font-title);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.3;
}
.ccn-cadre-text small {
  color: rgb(246 244 239 / .72);
  font-size: 12.5px;
}
.ccn-cadre > svg {
  flex: none;
  color: rgb(246 244 239 / .72);
}
.ccn-search label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.ccn-search input {
  font-size: 16px;
}
.ccn-filters {
  margin-top: -2px;
}
.ccn-feature {
  position: relative;
}
.ccn-feature-link {
  position: relative;
  display: block;
  height: 268px;
  overflow: hidden;
  border-radius: 24px;
  background: var(--cc-sunk);
}
.ccn-feature-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ccn-feature-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgb(11 11 13 / 0) 38%,
      rgb(11 11 13 / .72) 100%);
}
.ccn-feature-pill {
  position: absolute;
  top: 14px;
  left: 14px;
  display: inline-flex;
  height: 30px;
  align-items: center;
  gap: 5px;
  padding: 0 11px;
  border-radius: 15px;
  background: rgb(246 244 239 / .94);
  color: var(--cc-ink);
  font-size: 12.5px;
  font-weight: 600;
}
.ccn-feature-text {
  position: absolute;
  right: 18px;
  bottom: 16px;
  left: 18px;
  display: grid;
  gap: 4px;
  color: var(--cc-page);
}
.ccn-feature-text .ccn-over {
  color: rgb(246 244 239 / .8);
}
.ccn-feature-text b {
  font-family: var(--cc-font-title);
  font-size: 23px;
  font-weight: 650;
  letter-spacing: -.015em;
  line-height: 1.15;
}
.ccn-feature-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  color: #dcc89a;
  font-size: 13.5px;
  font-weight: 600;
}
.ccn-fav {
  display: grid;
  width: 44px;
  height: 44px;
  flex: none;
  place-items: center;
  border-radius: 50%;
  color: var(--cc-ink);
}
.ccn-fav[aria-pressed=true] {
  color: var(--cc-link);
}
.ccn-fav--float {
  position: absolute;
  top: 8px;
  right: 8px;
}
.ccn-fav--float::before {
  content: "";
  position: absolute;
  inset: 4px;
  z-index: -1;
  border-radius: 50%;
  background: rgb(246 244 239 / .94);
}
.ccn-fav--float {
  isolation: isolate;
}
.ccn-reclist {
  display: grid;
}
.ccn-recrow {
  display: flex;
  align-items: center;
  gap: 4px;
}
.ccn-recrow + .ccn-recrow {
  border-top: 1px solid var(--cc-rule);
}
.ccn-recrow-link {
  display: flex;
  flex: 1;
  min-width: 0;
  align-items: center;
  gap: 14px;
  padding: 10px 0;
}
.ccn-recrow-img {
  width: 76px;
  height: 64px;
  flex: none;
  border-radius: 14px;
  object-fit: cover;
}
.ccn-recrow-text {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.ccn-recrow-text b {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}
.ccn-recrow-text small {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  color: var(--cc-muted);
  font-size: 12.5px;
}
.ccn-empty {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 24px 12px;
  border-radius: var(--ccn-r);
  background: var(--cc-sunk);
  text-align: center;
}
.ccn-empty p {
  margin: 0;
  color: var(--cc-muted);
  font-size: 14px;
  line-height: 20px;
}
.ccn-recipe {
  display: grid;
  gap: 14px;
}
.ccn-recipe-hero {
  position: relative;
}
.ccn-recipe-img {
  display: block;
  width: 100%;
  height: 236px;
  border-radius: 24px;
  object-fit: cover;
}
.ccn-recipe-title {
  margin: 2px 0 0;
  font-family: var(--cc-font-title);
  font-size: 25px;
  font-weight: 650;
  letter-spacing: -.02em;
  line-height: 1.15;
}
.ccn-recipe-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin: -4px 0 0;
  color: var(--cc-muted);
  font-size: 13px;
}
.ccn-recipe-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.ccn-recipe-portions {
  padding: 12px 14px;
  border-radius: 18px;
  background: var(--ccn-card);
  box-shadow: var(--ccn-card-shadow);
}
.ccn-seg {
  width: 100%;
}
.ccn-ing {
  display: grid;
  padding: 0 16px;
  border-radius: var(--ccn-r);
  background: var(--ccn-card);
  box-shadow: var(--ccn-card-shadow);
}
.ccn-ing li {
  display: flex;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 14.5px;
}
.ccn-ing li + li {
  border-top: 1px solid var(--cc-rule);
}
.ccn-ing b {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.ccn-steps {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: var(--ccn-r);
  background: var(--ccn-card);
  box-shadow: var(--ccn-card-shadow);
}
.ccn-steps li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.ccn-steps li > span {
  display: grid;
  width: 26px;
  height: 26px;
  flex: none;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-ink);
  color: var(--cc-page);
  font-size: 12.5px;
  font-weight: 600;
}
.ccn-steps p {
  margin: 3px 0 0;
  font-size: 14.5px;
  line-height: 21px;
}
.ccn-recipe-actions {
  display: grid;
  gap: 10px;
  margin-top: 6px;
}
.ccn-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--cc-sunk);
}
.ccn-notice > svg:first-child {
  flex: none;
  color: var(--cc-link);
}
.ccn-notice span {
  display: grid;
  flex: 1;
  gap: 2px;
  min-width: 0;
}
.ccn-notice b {
  font-size: 14px;
  font-weight: 600;
}
.ccn-notice small {
  color: var(--cc-muted);
  font-size: 12.5px;
  line-height: 17px;
}
.ccn-notice > svg:last-child {
  flex: none;
  color: var(--cc-muted);
}
.ccn-card {
  display: grid;
  padding: 4px 16px;
  border-radius: var(--ccn-r);
  background: var(--ccn-card);
  box-shadow: var(--ccn-card-shadow);
}
.ccn-card-title {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 14px 0 4px;
  font-size: 15px;
  font-weight: 600;
}
.ccn-card-title svg {
  color: var(--cc-link);
}
.ccn-card-empty,
.ccn-card-foot {
  margin: 0;
  padding: 4px 0 14px;
  color: var(--cc-muted);
  font-size: 12.5px;
  line-height: 17px;
}
.ccn-courses {
  display: grid;
}
.ccn-course {
  display: flex;
  min-height: 58px;
  align-items: center;
  gap: 12px;
}
.ccn-course + .ccn-course {
  border-top: 1px solid var(--cc-rule);
}
.ccn-course-text {
  display: grid;
  flex: 1;
  gap: 1px;
  min-width: 0;
  padding: 8px 0;
  cursor: pointer;
}
.ccn-course-text b {
  font-size: 14.5px;
  font-weight: 600;
}
.ccn-course-text small {
  overflow: hidden;
  color: var(--cc-muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ccn-course-qty {
  flex: none;
  font-size: 14px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.ccn-course[data-on] :is(.ccn-course-text b, .ccn-course-qty) {
  color: var(--cc-muted);
  text-decoration: line-through;
  text-decoration-color: rgb(11 11 13 / .3);
}
.ccn-card--fold {
  padding-top: 0;
  padding-bottom: 0;
}
.ccn-fold {
  display: flex;
  width: 100%;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  text-align: left;
}
.ccn-fold span {
  display: grid;
  gap: 1px;
}
.ccn-fold b {
  font-size: 15px;
  font-weight: 600;
}
.ccn-fold small {
  color: var(--cc-muted);
  font-size: 12.5px;
}
.ccn-fold svg {
  color: var(--cc-muted);
  transition: transform 240ms var(--ccn-ease);
}
.ccn-fold svg[data-open] {
  transform: rotate(180deg);
}
.ccn-card--fold .ccn-courses {
  border-top: 1px solid var(--cc-rule);
}
.ccn-restes {
  display: grid;
}
.ccn-restes li {
  display: grid;
  gap: 2px;
  padding: 8px 0;
}
.ccn-restes span {
  color: var(--cc-muted);
  font-size: 12px;
  font-weight: 600;
}
.ccn-restes b {
  font-size: 14.5px;
  font-weight: 600;
}
.ccn-share {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: var(--ccn-r);
  background: var(--ccn-card);
  box-shadow: var(--ccn-card-shadow);
}
.ccn-share-text {
  display: grid;
  flex: 1;
  gap: 1px;
  min-width: 0;
}
.ccn-share-text b {
  font-size: 14.5px;
  font-weight: 600;
}
.ccn-share-text small {
  color: var(--cc-muted);
  font-size: 12.5px;
  line-height: 17px;
}
.ccn-journal {
  display: grid;
  gap: 10px;
}
.ccn-jentry {
  display: flex;
  width: 100%;
  min-height: 64px;
  align-items: stretch;
  overflow: hidden;
  border-radius: var(--ccn-r);
  background: var(--ccn-card);
  box-shadow: var(--ccn-card-shadow);
  text-align: left;
}
.ccn-jentry[data-empty] {
  background: transparent;
  box-shadow: inset 0 0 0 1.5px var(--cc-rule);
}
.ccn-jentry-img {
  display: block;
  width: 104px;
  min-height: 92px;
  flex: none;
  object-fit: cover;
}
.ccn-jentry[data-empty] .ccn-jentry-img {
  background: var(--cc-sunk);
  color: var(--cc-muted);
}
.ccn-jentry-body {
  display: grid;
  flex: 1;
  align-content: center;
  gap: 4px;
  min-width: 0;
  padding: 12px 6px 12px 16px;
}
.ccn-jentry-body > b {
  font-size: 15px;
  font-weight: 600;
}
.ccn-jnote {
  overflow: hidden;
  color: var(--cc-muted);
  font-size: 12.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ccn-jentry-plus {
  flex: none;
  align-self: center;
  margin-right: 14px;
  color: var(--cc-link);
}
.ccn-jentry-plus[data-hide] {
  visibility: hidden;
}
.ccn-feel {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ccn-feel span {
  display: inline-flex;
  height: 24px;
  align-items: center;
  padding: 0 9px;
  border-radius: 12px;
  background: var(--cc-sunk);
  font-size: 12.5px;
  font-weight: 500;
}
.ccn-complete {
  padding: 12px 14px;
  border-radius: var(--ccn-r);
  background: var(--ccn-card);
  box-shadow: var(--ccn-card-shadow);
}
.ccn-toast {
  bottom: calc(var(--cc-dock-reserve) - 8px);
}
.ccn-sheet {
  gap: 12px;
}
.ccn-sheet-sub {
  margin: -6px 0 0;
  color: var(--cc-muted);
  font-size: 13px;
  line-height: 18px;
}
.ccn-sheet-label {
  margin: 6px 0 -2px;
  color: var(--cc-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ccn-pick {
  display: grid;
}
.ccn-pick li + li {
  border-top: 1px solid var(--cc-rule);
}
.ccn-pick-row {
  display: flex;
  width: 100%;
  min-height: 60px;
  align-items: center;
  gap: 12px;
  padding: 6px 0;
  text-align: left;
}
.ccn-pick-row > span:nth-child(2) {
  display: grid;
  flex: 1;
  gap: 1px;
  min-width: 0;
}
.ccn-pick-row b {
  font-size: 14.5px;
  font-weight: 600;
}
.ccn-pick-row small {
  color: var(--cc-muted);
  font-size: 12px;
}
.ccn-pick-row > svg {
  flex: none;
  color: var(--cc-link);
}
.ccn-pick-img {
  width: 48px;
  height: 48px;
  flex: none;
  border-radius: 12px;
  object-fit: cover;
}
.ccn-kv {
  display: grid;
  gap: 2px;
}
.ccn-kv span {
  color: var(--cc-muted);
  font-size: 12px;
  font-weight: 600;
}
.ccn-kv b {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}
.ccn-reperes {
  display: grid;
  gap: 12px;
}
.ccn-reperes li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.ccn-reperes li > svg {
  flex: none;
  margin-top: 2px;
  color: var(--cc-link);
}
.ccn-reperes span {
  display: grid;
  gap: 2px;
}
.ccn-reperes b {
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.35;
}
.ccn-reperes small {
  color: var(--cc-muted);
  font-size: 13px;
  line-height: 18px;
}
.ccn-note {
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--cc-sunk);
  color: var(--cc-muted);
  font-size: 13px;
  line-height: 18px;
}
.ccn-choice {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ccn-jphoto {
  display: grid;
  gap: 4px;
}
.ccn-jphoto img {
  display: block;
  width: 100%;
  height: 160px;
  border-radius: 16px;
  object-fit: cover;
}
.ccn-sheet .cc-primary:disabled {
  opacity: .45;
}
@media (prefers-reduced-motion: reduce) {
  .ccn-days-ind,
  .ccn-day,
  .ccn-day-l,
  .ccn-fold svg,
  .ccn :is(.ccn-outline, .ccn-cadre, .ccn-meal-empty, .ccn-jentry, .ccn-fav, .ccn-textbtn, .ccn-day, .ccn-notice, .ccn-fold, .ccn-feature-link, .ccn-recrow-link) {
    transition: none;
  }
  .ccn :is(.ccn-outline, .ccn-cadre, .ccn-meal-empty, .ccn-jentry, .ccn-fav, .ccn-textbtn, .ccn-day, .ccn-notice, .ccn-fold):active {
    transform: none;
    opacity: .72;
  }
}

/* src/hub-studio.css */
.hub-std {
  --std-surface: #fff;
  --std-radius: 22px;
  --std-ease: cubic-bezier(.22, 1, .36, 1);
  --std-shadow:
    0 0 0 1px var(--cc-rule),
    0 1px 2px rgb(11 11 13 / .04),
    0 10px 28px -18px rgb(11 11 13 / .22);
}
.hub-std button {
  font: inherit;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}
.hub-std .cc-pagehead {
  display: flex;
  align-items: center;
  gap: 10px;
}
.hub-std-view {
  animation: std-in 260ms var(--std-ease) both;
}
@keyframes std-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.hub-std-kicker {
  margin: 24px 0 10px;
  color: var(--cc-link);
  font-family: var(--cc-font-ui, inherit);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hub-std section:first-child > .hub-std-kicker {
  margin-top: 12px;
}
.hub-std-date {
  color: var(--cc-link);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
}
.hub-std-meta {
  color: var(--cc-muted);
  font-size: 13px;
  line-height: 1.4;
}
.hub-std-note {
  margin: 8px 2px 0;
}
.hub-std-chev {
  flex: none;
  color: var(--cc-rule-strong, #c2c1bd);
}
.hub-std-empty {
  margin: 40px 8px;
  color: var(--cc-muted);
  font-size: 15px;
  line-height: 1.5;
  text-align: center;
}
.hub-std-une {
  display: grid;
  width: 100%;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: var(--std-radius);
  background: var(--std-surface);
  box-shadow: var(--std-shadow);
  text-align: left;
  cursor: pointer;
}
.hub-std-une-media {
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 2;
}
.hub-std-une-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 600ms var(--std-ease);
}
.hub-std-une-body {
  display: grid;
  gap: 6px;
  padding: 16px 18px 18px;
}
.hub-std-une-title {
  font-family: var(--cc-font-title);
  font-size: 23px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.015em;
  text-wrap: balance;
}
.hub-std-excerpt {
  color: var(--cc-ink);
  font-size: 15px;
  line-height: 1.45;
  opacity: .82;
}
.hub-std-more {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-top: 4px;
  color: var(--cc-link);
  font-size: 14px;
  font-weight: 600;
}
.hub-std-events,
.hub-std-feed,
.hub-std-team,
.hub-std-hours {
  margin: 0;
  padding: 0;
  list-style: none;
}
.hub-std-events {
  display: grid;
  gap: 10px;
}
.hub-std-event {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 84px;
  padding: 12px 14px 12px 12px;
  border: 0;
  border-radius: 18px;
  background: var(--std-surface);
  box-shadow: var(--std-shadow);
  text-align: left;
  cursor: pointer;
}
.hub-std-tile {
  display: grid;
  flex: none;
  justify-items: center;
  width: 56px;
  padding: 7px 0 6px;
  border-radius: 14px;
  background: var(--cc-sunk, #efece4);
  line-height: 1;
}
.hub-std-tile small {
  color: var(--cc-muted);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.hub-std-tile b {
  margin: 3px 0 2px;
  font-family: var(--cc-font-title);
  font-size: 24px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.hub-std-event-text {
  display: grid;
  flex: 1;
  gap: 3px;
  min-width: 0;
}
.hub-std-event-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
}
.hub-std-state {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  justify-self: start;
  color: var(--cc-muted);
  font-size: 12px;
  font-weight: 600;
}
.hub-std-state.is-open {
  color: var(--cc-link);
}
.hub-std-state.is-done {
  color: #1f7a45;
}
.hub-std-feed {
  display: grid;
  overflow: hidden;
  border-radius: 18px;
  background: var(--std-surface);
  box-shadow: var(--std-shadow);
}
.hub-std-feed > li + li {
  border-top: 1px solid var(--cc-rule);
}
.hub-std-feed-row {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 76px;
  padding: 12px 14px 12px 16px;
  border: 0;
  background: none;
  text-align: left;
  cursor: pointer;
}
.hub-std-feed-text {
  display: grid;
  flex: 1;
  gap: 3px;
  min-width: 0;
}
.hub-std-feed-title {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}
.hub-std-thumb {
  flex: none;
  width: 64px;
  height: 64px;
  border-radius: 12px;
  object-fit: cover;
}
.hub-std-article {
  padding-top: 6px;
}
.hub-std-article-hero {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin-bottom: 18px;
  border-radius: var(--std-radius);
  object-fit: cover;
}
.hub-std-article-title {
  margin: 6px 0 14px;
  font-family: var(--cc-font-title);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.02em;
  text-wrap: balance;
}
.hub-std-article-body p {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.6;
}
.hub-std-article-body p:first-child {
  font-size: 17.5px;
  line-height: 1.5;
}
.hub-std-aussi {
  margin-top: 10px;
  padding-top: 4px;
  border-top: 1px solid var(--cc-rule);
}
.hub-std-team {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.hub-std-coach {
  display: grid;
  gap: 3px;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
  cursor: pointer;
}
.hub-std-portrait {
  position: relative;
  display: block;
  overflow: hidden;
  margin-bottom: 8px;
  border-radius: 20px;
  aspect-ratio: 4 / 5;
  background: var(--cc-sunk, #efece4);
  box-shadow: 0 0 0 1px var(--cc-rule);
}
.hub-std-portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 18%;
  transition: transform 600ms var(--std-ease);
}
.hub-std-mine {
  position: absolute;
  left: 8px;
  bottom: 8px;
  padding: 4px 9px;
  border-radius: 10px;
  background: rgb(11 11 13 / .72);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .01em;
  backdrop-filter: blur(6px);
}
.hub-std-mine::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: var(--cc-action);
  vertical-align: 1px;
}
.hub-std-coach-name {
  font-family: var(--cc-font-title);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}
.hub-std-coach .hub-std-meta {
  font-size: 12.5px;
}
.hub-std-panel {
  overflow: hidden;
  border-radius: 20px;
  background: var(--std-surface);
  box-shadow: var(--std-shadow);
}
.hub-std-now {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 14px 16px 12px;
  color: var(--cc-muted);
  font-size: 15px;
  font-weight: 600;
}
.hub-std-now.is-open {
  color: #1f7a45;
}
.hub-std-hours {
  padding: 0 16px 8px;
}
.hub-std-hours li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 38px;
  font-size: 14.5px;
}
.hub-std-hours li + li {
  border-top: 1px solid var(--cc-rule);
}
.hub-std-hours b {
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.hub-std-hours b.is-closed {
  color: var(--cc-muted);
}
.hub-std-hours li[aria-current] {
  font-weight: 700;
}
.hub-std-hours li[aria-current] b {
  font-weight: 700;
}
.hub-std-hours li[aria-current]::before {
  content: "";
  position: absolute;
  left: -16px;
  top: 9px;
  bottom: 9px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--cc-action);
}
.hub-std-closures {
  padding: 12px 16px 14px;
  border-top: 1px solid var(--cc-rule);
  background: var(--cc-sunk, #efece4);
}
.hub-std-closures p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.45;
}
.hub-std-closures b {
  display: block;
  margin-bottom: 2px;
  font-size: 14px;
}
.hub-std-venue-photo {
  display: block;
  width: 100%;
  height: 150px;
  object-fit: cover;
  object-position: center 35%;
}
.hub-std-address {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 16px 16px 4px;
  font-size: 15px;
  line-height: 1.45;
}
.hub-std-address svg {
  flex: none;
  margin-top: 2px;
  color: var(--cc-link);
}
.hub-std-address b {
  display: block;
}
.hub-std-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  padding: 12px 16px 16px;
}
.hub-std .hub-std-btn {
  min-height: 46px;
  margin: 0;
  padding: 10px 8px;
  font-size: 14.5px;
  white-space: nowrap;
}
.hub-std-btn-2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 46px;
  padding: 10px 8px;
  border: 0;
  border-radius: 25px;
  white-space: nowrap;
  background: var(--cc-sunk, #efece4);
  font-size: 14.5px;
  font-weight: 600;
  cursor: pointer;
}
.hub-std-toast {
  bottom: calc(var(--cc-dock-height, 64px) + var(--cc-dock-gap, 16px) + 12px);
}
.hub-std :is(.hub-std-une, .hub-std-event, .hub-std-feed-row, .hub-std-coach, .hub-std-btn-2) {
  transition: transform 140ms var(--std-ease), background-color 140ms ease-out;
}
.hub-std :is(.hub-std-une, .hub-std-event, .hub-std-coach, .hub-std-btn-2):active {
  transform: scale(.98);
}
.hub-std .hub-std-feed-row:active {
  background: var(--cc-sunk, #efece4);
  transform: none;
}
@media (hover: hover) and (pointer: fine) {
  .hub-std-une:hover .hub-std-une-media img,
  .hub-std-coach:hover .hub-std-portrait img {
    transform: scale(1.03);
  }
  .hub-std-feed-row:hover {
    background: var(--cc-page);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hub-std-view {
    animation: std-fade 120ms linear both;
  }
  .hub-std :is(.hub-std-une, .hub-std-event, .hub-std-feed-row, .hub-std-coach, .hub-std-btn-2):active {
    transform: none;
  }
  .hub-std-une-media img,
  .hub-std-portrait img {
    transition: none;
    transform: none !important;
  }
}
@keyframes std-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (max-width: 370px) {
  .hub-std-une-title {
    font-size: 21px;
  }
  .hub-std-article-title {
    font-size: 25px;
  }
  .hub-std-actions {
    grid-template-columns: 1fr;
  }
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/select/select.module.css */
.select_field {
  display: grid;
  gap: var(--arc-space-2);
  min-width: 0;
}
.select_field label {
  font-size: var(--arc-text-sm);
  font-weight: 500;
}
.select_trigger {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--arc-space-3);
  width: 100%;
  min-height: var(--arc-control-height-md);
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-control);
  padding: 0 var(--arc-space-3);
  background: var(--arc-surface);
  color: var(--arc-foreground);
  font: inherit;
  font-size: var(--arc-text-sm);
  text-align: left;
  cursor: pointer;
  transition:
    border-color var(--arc-duration-fast) var(--arc-ease-standard),
    background-color var(--arc-duration-fast) var(--arc-ease-standard),
    box-shadow var(--arc-duration-fast) var(--arc-ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .select_trigger:hover:not([data-disabled]) {
    border-color: var(--arc-border-strong);
    background: var(--arc-surface-muted);
  }
}
.select_trigger:active:not([data-disabled]),
.select_trigger[data-state=open] {
  border-color: var(--arc-border-strong);
  background: var(--arc-surface-muted);
}
.select_trigger:focus-visible {
  border-color: var(--arc-border-strong);
}
.select_trigger[data-disabled] {
  opacity: .5;
  cursor: not-allowed;
}
.select_valueText {
  display: grid;
  flex: 1;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
}
.select_valueText > span {
  grid-area: 1 / 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.select_valueText > [data-placeholder] {
  color: var(--arc-text-muted);
}
.select_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.select_chevron {
  display: inline-flex;
  flex: 0 0 auto;
  color: var(--arc-text-muted);
  transition: transform var(--arc-duration-spring) var(--arc-ease-spring), color var(--arc-duration-fast) var(--arc-ease-standard);
}
.select_trigger[data-state=open] .select_chevron {
  transform: rotate(180deg);
}
.select_hint {
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
}
.select_content {
  --menu-x: 0px;
  --menu-y: -6px;
  box-sizing: border-box;
  z-index: 1000;
  width: var(--radix-select-trigger-width);
  min-width: var(--radix-select-trigger-width);
  max-width: min(24rem, calc(100vw - 20px));
  max-height: min(320px, var(--radix-select-content-available-height));
  overflow: hidden;
  border: 1px solid var(--arc-border);
  border-radius: calc(var(--arc-radius-control) + 2px);
  padding: 6px;
  background: var(--arc-surface-raised);
  color: var(--arc-foreground);
  box-shadow: var(--arc-shadow-floating);
  transform-origin: var(--radix-select-content-transform-origin);
  animation: select_select-in var(--arc-duration-standard) var(--arc-ease-enter) both;
}
.select_content[data-side=top] {
  --menu-y: 6px;
}
.select_content[data-side=left] {
  --menu-x: 6px;
  --menu-y: 0px;
}
.select_content[data-side=right] {
  --menu-x: -6px;
  --menu-y: 0px;
}
.select_content[data-state=closed] {
  animation: select_select-out var(--arc-duration-instant) var(--arc-ease-standard) both;
}
.select_viewport {
  padding: 2px 0;
}
.select_item {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 36px;
  border-radius: calc(var(--arc-radius-control) - 4px);
  padding: 0 34px 0 11px;
  color: var(--arc-foreground);
  font-size: var(--arc-text-sm);
  cursor: default;
  outline: none;
  user-select: none;
  transition: background-color var(--arc-duration-instant) var(--arc-ease-standard), color var(--arc-duration-instant) var(--arc-ease-standard);
}
.select_item[data-highlighted] {
  background: var(--arc-surface-muted);
}
.select_item[data-disabled] {
  opacity: .45;
}
.select_indicator {
  position: absolute;
  right: 10px;
  display: inline-flex;
  align-items: center;
  color: var(--arc-foreground);
  animation: select_indicator-in var(--arc-duration-standard) var(--arc-ease-enter) 40ms both;
}
.select_scrollButton {
  display: grid;
  height: 28px;
  place-items: center;
  color: var(--arc-text-muted);
}
@keyframes select_select-in {
  from {
    opacity: 0;
    transform: translate(var(--menu-x), var(--menu-y)) scale(.97);
  }
}
@keyframes select_select-out {
  to {
    opacity: 0;
    transform: translate(calc(var(--menu-x) / 2), calc(var(--menu-y) / 2)) scale(.98);
  }
}
@keyframes select_indicator-in {
  from {
    opacity: 0;
    transform: scale(.6);
    filter: blur(2px);
  }
}
@media (prefers-reduced-transparency: reduce) {
  .select_content {
    background: var(--arc-surface-raised);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .select_trigger,
  .select_chevron,
  .select_item {
    transition: none;
  }
  .select_content {
    animation: select_select-fade var(--arc-duration-instant) var(--arc-ease-standard) both;
  }
  .select_content[data-state=closed] {
    animation: select_select-fade-out var(--arc-duration-instant) var(--arc-ease-standard) both;
  }
  .select_indicator {
    animation: none;
  }
}
[data-motion=reduced] .select_trigger,
[data-motion=reduced] .select_chevron,
[data-motion=reduced] .select_item {
  transition: none;
}
[data-motion=reduced] .select_content {
  animation: select_select-fade var(--arc-duration-instant) var(--arc-ease-standard) both;
}
[data-motion=reduced] .select_content[data-state=closed] {
  animation: select_select-fade-out var(--arc-duration-instant) var(--arc-ease-standard) both;
}
[data-motion=reduced] .select_indicator {
  animation: none;
}
@keyframes select_select-fade {
  from {
    opacity: 0;
  }
}
@keyframes select_select-fade-out {
  to {
    opacity: 0;
  }
}
.select_groupLabel {
  padding: 6px 11px 2px;
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  font-weight: 500;
  user-select: none;
}
.select_valueRoll {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
}
.select_valueRoll > span {
  grid-area: 1 / 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.select_valueRoll > [data-placeholder] {
  color: var(--arc-text-muted);
}
.select_indicatorSlot {
  position: absolute;
  right: 10px;
  display: inline-flex;
  align-items: center;
}
.select_indicatorSlot > .select_indicator {
  position: static;
}
.select_trigger:focus-visible,
.select_trigger[data-state=open] {
  outline: none;
  box-shadow: none;
  border-color: var(--input-focus-color);
}
.select_trigger[aria-invalid=true] {
  border-color: var(--danger);
}
@media (forced-colors: active) {
  .select_trigger:focus-visible {
    border-color: Highlight;
  }
}
.select_content {
  font-family: var(--font-family);
  line-height: 1.5;
}
.select_chevron > svg {
  width: 16px;
  height: 16px;
  flex: none;
}
.select_chevron > svg + svg {
  display: none;
}
.select_groupLabel {
  font-size: var(--arc-menu-group-size);
  font-weight: var(--arc-menu-group-weight);
  color: var(--arc-menu-group-color);
  line-height: 1.5;
  padding-top: 12px;
  padding-bottom: 6px;
}
.select_groupLabel {
  text-transform: uppercase;
  letter-spacing: var(--arc-menu-group-tracking);
}
.select_viewport [role=group] + [role=group] {
  margin-top: var(--arc-menu-group-gap);
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/image-compare/image-compare.module.css */
.image_compare_root {
  position: relative;
  display: block;
  width: 100%;
  overflow: clip;
  container-type: size;
  isolation: isolate;
  border-radius: var(--arc-radius-panel);
  background: var(--arc-surface-muted);
  cursor: ew-resize;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.image_compare_root[data-orientation=vertical] {
  cursor: ns-resize;
  touch-action: pan-x;
}
.image_compare_root::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--arc-foreground) 8%, transparent);
  pointer-events: none;
}
.image_compare_layer {
  position: absolute;
  inset: 0;
}
.image_compare_layer :where(img, picture, video) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  -webkit-user-drag: none;
}
.image_compare_chip {
  position: absolute;
  z-index: 1;
  top: var(--arc-space-3);
  left: var(--arc-space-3);
  padding: 3px 10px;
  border-radius: var(--arc-radius-pill);
  background: color-mix(in oklab, var(--arc-background) 74%, transparent);
  color: var(--arc-foreground);
  font-size: var(--arc-text-xs);
  font-weight: 500;
  line-height: var(--arc-leading-body);
  letter-spacing: var(--arc-tracking-body);
  pointer-events: none;
  -webkit-backdrop-filter: blur(12px) saturate(1.4);
  backdrop-filter: blur(12px) saturate(1.4);
}
.image_compare_chip[data-place=end] {
  right: var(--arc-space-3);
  left: auto;
}
.image_compare_chip[data-place=bottom] {
  top: auto;
  bottom: var(--arc-space-3);
}
.image_compare_pivot {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
}
.image_compare_rotor {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}
.image_compare_line {
  position: absolute;
  top: calc((100cqw + 100cqh) * -1);
  left: -1px;
  width: 2px;
  height: calc((100cqw + 100cqh) * 2);
  background: var(--arc-surface-raised);
  box-shadow: 0 0 0 .5px oklch(0% 0 0 / .14);
}
:root[data-theme=dark] .image_compare_line {
  background: var(--arc-foreground);
}
.image_compare_handleSlot {
  position: absolute;
  top: 0;
  left: 0;
}
.image_compare_handle {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  place-items: center;
  translate: -50% -50%;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-pill);
  background: var(--arc-surface-raised);
  box-shadow: var(--arc-shadow-raised);
  color: var(--arc-foreground);
  pointer-events: auto;
  outline: 0 solid transparent;
  transition: border-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.image_compare_handle::after {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: inherit;
}
@media (hover: hover) and (pointer: fine) {
  .image_compare_root:hover .image_compare_handle {
    border-color: var(--arc-border-strong);
  }
}
.image_compare_chevrons {
  display: flex;
  align-items: center;
}
.image_compare_chevron {
  display: grid;
  margin-inline: -2.5px;
  place-items: center;
}
@media (prefers-reduced-motion: reduce) {
  .image_compare_handle {
    transition: none;
  }
}
.image_compare_handle:focus-visible {
  outline: var(--arc-focus-width) solid var(--arc-accent);
  outline-offset: 1px;
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/lightbox-gallery/media-viewer.module.css */
.media_viewer_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.media_viewer_backdrop {
  position: fixed;
  z-index: 90;
  inset: 0;
  background: color-mix(in oklab, var(--arc-background) 94%, transparent);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  backdrop-filter: blur(18px) saturate(1.2);
}
.media_viewer_surface {
  z-index: 91;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  color: var(--arc-foreground);
  outline: none;
}
.media_viewer_surface[data-presentation=fullscreen] {
  position: fixed;
  inset: 0;
}
.media_viewer_surface[data-presentation=inline] {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--arc-surface);
}
@media (prefers-reduced-transparency: reduce) {
  .media_viewer_backdrop {
    background: var(--arc-background);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
.media_viewer_bar {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
}
.media_viewer_bar[data-chrome=library] {
  padding: 10px 10px 4px;
}
.media_viewer_counter {
  color: var(--arc-foreground);
  font-size: var(--arc-text-sm);
  font-variant-numeric: tabular-nums;
}
.media_viewer_hint {
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
}
.media_viewer_barEnd {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
}
.media_viewer_heading {
  display: grid;
  justify-items: center;
  text-align: center;
  line-height: 1.25;
}
.media_viewer_headingTitle {
  font-size: var(--arc-text-sm);
  font-weight: 600;
}
.media_viewer_headingDetail {
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-xs);
  font-variant-numeric: tabular-nums;
}
.media_viewer_bar > :first-child {
  justify-self: start;
}
.media_viewer_bar[data-chrome=library] > :last-child {
  justify-self: end;
}
.media_viewer_thumb:focus-visible,
.media_viewer_film:focus-visible {
  outline: 1px solid var(--arc-accent);
  outline-offset: 1px;
}
.media_viewer_heart {
  display: grid;
  place-items: center;
}
.media_viewer_heart[data-on] {
  color: var(--arc-danger);
}
.media_viewer_stage {
  position: relative;
  overflow: hidden;
  touch-action: none;
  user-select: none;
  cursor: grab;
}
.media_viewer_surface[data-chrome=product] .media_viewer_stage {
  cursor: zoom-in;
}
.media_viewer_surface[data-chrome=product] .media_viewer_stage[data-zoomed] {
  cursor: zoom-out;
}
.media_viewer_stage[data-zoomed] {
  cursor: grab;
}
.media_viewer_layer {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
}
.media_viewer_frame {
  overflow: hidden;
  border-radius: 14px;
  background: var(--arc-surface-muted);
  will-change: transform;
}
.media_viewer_surface[data-presentation=inline] .media_viewer_frame {
  border-radius: 12px;
}
.media_viewer_image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-user-drag: none;
}
.media_viewer_side {
  position: absolute;
  z-index: 2;
  top: 50%;
  translate: 0 -50%;
}
.media_viewer_side[data-side=prev] {
  left: 16px;
}
.media_viewer_side[data-side=next] {
  right: 16px;
}
.media_viewer_surface[data-presentation=inline] .media_viewer_side[data-side=prev] {
  left: 10px;
}
.media_viewer_surface[data-presentation=inline] .media_viewer_side[data-side=next] {
  right: 10px;
}
@media (max-width: 639px), (hover: none) {
  .media_viewer_surface[data-presentation=fullscreen] .media_viewer_side {
    display: none;
  }
}
.media_viewer_footer {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 8px 16px 16px;
}
.media_viewer_footer[data-chrome=product] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  padding-bottom: 14px;
}
.media_viewer_caption {
  display: grid;
  justify-items: center;
  text-align: center;
  line-height: 1.3;
}
.media_viewer_captionTitle {
  font-size: var(--arc-text-sm);
  font-weight: 500;
}
.media_viewer_captionLine {
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-xs);
}
.media_viewer_thumbs {
  display: flex;
  max-width: 100%;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}
.media_viewer_thumb {
  flex: none;
  width: 36px;
  height: 48px;
  overflow: hidden;
  border: 0;
  border-radius: 6px;
  padding: 0;
  background: var(--arc-surface-muted);
  cursor: pointer;
  opacity: .7;
  transition: width var(--arc-duration-standard) var(--arc-ease-standard), opacity var(--arc-duration-fast) var(--arc-ease-standard);
}
.media_viewer_thumb[aria-current=true] {
  width: 72px;
  opacity: 1;
}
.media_viewer_thumb img,
.media_viewer_filmCell img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media_viewer_dots {
  display: inline-flex;
  gap: 5px;
}
.media_viewer_dot {
  width: 5px;
  height: 5px;
  border-radius: var(--arc-radius-pill);
  background: var(--arc-border-strong);
  transition: width var(--arc-duration-standard) var(--arc-ease-standard), background-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.media_viewer_dot[data-on] {
  width: 16px;
  background: var(--arc-foreground);
}
.media_viewer_film {
  display: flex;
  justify-content: center;
  gap: 2px;
  margin: 0 auto 10px;
  padding: 0 12px;
  overflow: hidden;
  outline: none;
  touch-action: none;
  cursor: ew-resize;
}
.media_viewer_filmCell {
  flex: none;
  width: 22px;
  height: 40px;
  overflow: hidden;
  border-radius: 4px;
  background: var(--arc-surface-muted);
  opacity: .85;
  transition: width var(--arc-duration-standard) var(--arc-ease-standard);
}
.media_viewer_filmCell[data-current] {
  width: 30px;
  margin: 0 4px;
  opacity: 1;
  box-shadow: 0 0 0 2px var(--arc-surface), 0 0 0 3px var(--arc-foreground);
}
@media (max-width: 479px) {
  .media_viewer_filmCell {
    width: 16px;
    height: 32px;
  }
  .media_viewer_surface[data-presentation=inline] .media_viewer_side {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .media_viewer_thumb,
  .media_viewer_dot,
  .media_viewer_filmCell {
    transition: none;
  }
}
[data-motion=reduced] .media_viewer_thumb,
[data-motion=reduced] .media_viewer_dot,
[data-motion=reduced] .media_viewer_filmCell {
  transition: none;
}
.media_viewer_surface {
  font-family: var(--arc-font-body);
  line-height: var(--arc-leading-body);
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/dialog/dialog.module.css */
.dialog_overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: oklch(10% 0 0 / .46);
  backdrop-filter: blur(7px);
}
.dialog_content {
  position: fixed;
  z-index: 51;
  inset: 0;
  width: min(calc(100vw - var(--arc-space-8)), 440px);
  height: fit-content;
  max-height: calc(100vh - var(--arc-space-8));
  max-height: calc(100dvh - var(--arc-space-8));
  margin: auto;
  overflow: auto;
}
.dialog_content,
.dialog_surface {
  border: 1px solid var(--arc-border);
  border-radius: var(--radius);
  background: var(--arc-surface-raised);
  color: var(--arc-foreground);
  box-shadow: var(--arc-shadow-floating);
}
.dialog_keyframes.dialog_overlay[data-state=open] {
  animation: dialog_overlay-in var(--arc-duration-standard) var(--arc-ease-enter) both;
}
.dialog_keyframes.dialog_overlay[data-state=closed] {
  animation: dialog_overlay-out var(--arc-duration-fast) var(--arc-ease-standard) both;
}
.dialog_keyframes.dialog_content[data-state=open] {
  animation: dialog_content-fade-in var(--arc-duration-fast) var(--arc-ease-enter) both, dialog_content-rise-in var(--arc-duration-spring) var(--arc-ease-spring) both;
}
.dialog_keyframes.dialog_content[data-state=closed] {
  animation: dialog_content-out var(--arc-duration-fast) var(--arc-ease-standard) both;
}
.dialog_content:focus {
  outline: none;
}
.dialog_overlay[data-state=closed],
.dialog_content[data-state=closed] {
  pointer-events: none !important;
}
.dialog_header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--arc-space-5);
  padding: var(--arc-space-6) var(--arc-space-6) var(--arc-space-4);
  border: 0;
}
.dialog_title {
  margin: 0;
  font-family: var(--arc-font-body);
  font-size: var(--arc-text-lg);
  font-weight: 500;
  letter-spacing: var(--arc-tracking-body);
  line-height: var(--arc-leading-body);
}
.dialog_description {
  margin: var(--arc-space-2) 0 0;
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-sm);
  line-height: var(--arc-leading-body);
}
.dialog_title,
.dialog_description {
  position: relative;
  overflow-wrap: anywhere;
}
.dialog_swap {
  display: block;
}
.dialog_title .dialog_swap {
  line-height: var(--arc-leading-body);
}
.dialog_close {
  flex: 0 0 auto;
  margin-block: calc((var(--arc-text-lg) * var(--arc-leading-body) - var(--arc-space-8)) / 2);
  display: grid;
  place-items: center;
  width: var(--arc-space-8);
  height: var(--arc-space-8);
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-control);
  background: color-mix(in oklab, var(--arc-surface-muted) 50%, transparent);
  color: var(--arc-text-secondary);
  cursor: pointer;
  transition:
    background-color var(--arc-duration-fast) var(--arc-ease-standard),
    color var(--arc-duration-fast) var(--arc-ease-standard),
    transform var(--arc-duration-spring) var(--arc-ease-spring);
}
@media (hover: hover) and (pointer: fine) {
  .dialog_close:hover {
    background: var(--arc-surface-muted);
    color: var(--arc-foreground);
  }
}
.dialog_close:active {
  transform: scale(.96);
  transition:
    background-color var(--arc-duration-fast) var(--arc-ease-standard),
    color var(--arc-duration-fast) var(--arc-ease-standard),
    transform var(--arc-duration-instant) var(--arc-ease-standard);
}
.dialog_body {
  padding: 0 var(--arc-space-6) var(--arc-space-6);
  font-size: var(--arc-text-sm);
  line-height: var(--arc-leading-body);
}
.dialog_content[data-size=default] {
  width: min(calc(100vw - var(--arc-space-8)), 480px);
}
.dialog_content[data-size=large] {
  width: min(calc(100vw - var(--arc-space-8)), 760px);
}
.dialog_content[data-padding=none] > .dialog_body {
  padding: 0;
}
.dialog_overlay[data-ubm-overlay-engaged=false],
.dialog_content[data-ubm-overlay-engaged=false] {
  visibility: hidden;
  pointer-events: none !important;
}
@keyframes dialog_overlay-in {
  from {
    opacity: 0;
  }
}
@keyframes dialog_overlay-out {
  to {
    opacity: 0;
  }
}
@keyframes dialog_content-fade-in {
  from {
    opacity: 0;
  }
}
@keyframes dialog_content-rise-in {
  from {
    transform: translateY(8px) scale(.96);
  }
}
@keyframes dialog_content-out {
  to {
    opacity: 0;
    transform: translateY(4px) scale(.98);
  }
}
@keyframes dialog_content-fade-out {
  to {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dialog_keyframes.dialog_overlay[data-state=open],
  .dialog_keyframes.dialog_content[data-state=open] {
    animation: dialog_overlay-in var(--arc-duration-instant) var(--arc-ease-standard) both;
  }
  .dialog_keyframes.dialog_overlay[data-state=closed] {
    animation: dialog_overlay-out var(--arc-duration-instant) var(--arc-ease-standard) both;
  }
  .dialog_keyframes.dialog_content[data-state=closed] {
    animation: dialog_content-fade-out var(--arc-duration-instant) var(--arc-ease-standard) both;
  }
  .dialog_close,
  .dialog_close:active {
    transition: none;
  }
  .dialog_close:active {
    transform: none;
  }
}
[data-motion=reduced] .dialog_keyframes.dialog_overlay[data-state=open],
.dialog_keyframes.dialog_overlay[data-state=open][data-motion=reduced],
[data-motion=reduced] .dialog_keyframes.dialog_content[data-state=open],
.dialog_keyframes.dialog_content[data-state=open][data-motion=reduced] {
  animation: dialog_overlay-in var(--arc-duration-instant) var(--arc-ease-standard) both;
}
[data-motion=reduced] .dialog_keyframes.dialog_overlay[data-state=closed],
.dialog_keyframes.dialog_overlay[data-state=closed][data-motion=reduced] {
  animation: dialog_overlay-out var(--arc-duration-instant) var(--arc-ease-standard) both;
}
[data-motion=reduced] .dialog_keyframes.dialog_content[data-state=closed],
.dialog_keyframes.dialog_content[data-state=closed][data-motion=reduced] {
  animation: dialog_content-fade-out var(--arc-duration-instant) var(--arc-ease-standard) both;
}
[data-motion=reduced] .dialog_close,
.dialog_close[data-motion=reduced],
[data-motion=reduced] .dialog_close:active,
.dialog_close:active[data-motion=reduced] {
  transition: none;
}
[data-motion=reduced] .dialog_close:active,
.dialog_close:active[data-motion=reduced] {
  transform: none;
}
.dialog_content,
.dialog_surface {
  font-family: var(--arc-font-body);
  box-sizing: border-box;
}
.dialog_content .dialog_header,
.dialog_surface .dialog_header {
  margin: 0;
  max-width: none;
}
.dialog_content .dialog_header > div,
.dialog_surface .dialog_header > div {
  min-width: 0;
}
.dialog_content .dialog_title,
.dialog_surface .dialog_title {
  font-size: var(--arc-text-lg);
  font-weight: 500;
  line-height: var(--arc-leading-body);
}
.dialog_content .dialog_close:focus-visible,
.dialog_surface .dialog_close:focus-visible {
  outline: 1px solid var(--input-focus-color);
  outline-offset: 0;
}
.dialog_body > :where(header) {
  display: block;
  max-width: none;
  padding: 0;
  margin: 0 0 var(--arc-space-4);
  font: inherit;
}
.dialog_body > :where(header) span {
  color: inherit;
  letter-spacing: inherit;
}
.dialog_body > :where(footer) {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--arc-space-3);
  margin: var(--arc-space-6) 0 0;
  padding: 0;
  border: 0;
}
.dialog_body > :where(footer) > div:last-child {
  display: block;
}
.dialog_body > :where(section) {
  margin: 0 0 var(--arc-space-4);
}
.dialog_body > :where(label) {
  font-size: inherit;
  font-weight: 500;
}
@media (pointer: coarse) {
  .dialog_close {
    width: 44px;
    height: 44px;
    margin-block: calc((var(--arc-text-lg) * var(--arc-leading-body) - 44px) / 2);
  }
}
@media (forced-colors: active) {
  .dialog_close:focus-visible {
    outline-color: Highlight;
  }
}
.dialog_body > p:first-child {
  margin-top: 0;
}
.dialog_content .dialog_header,
.dialog_surface .dialog_header {
  padding: var(--arc-dialog-padding);
  padding-bottom: var(--arc-dialog-section-gap);
  gap: 16px;
  align-items: flex-start;
}
.dialog_content .dialog_header > div,
.dialog_surface .dialog_header > div {
  flex: 1;
  padding-top: 3px;
}
.dialog_content .dialog_title,
.dialog_surface .dialog_title {
  font-size: var(--arc-dialog-title-size);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.3;
}
.dialog_content .dialog_title .dialog_swap,
.dialog_surface .dialog_title .dialog_swap {
  line-height: 1.3;
}
.dialog_content .dialog_description,
.dialog_surface .dialog_description {
  margin: 8px 0 0;
  font-size: var(--arc-dialog-description-size);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0;
  color: var(--arc-dialog-description-color);
}
.dialog_content .dialog_description .dialog_swap,
.dialog_surface .dialog_description .dialog_swap {
  line-height: inherit;
}
.dialog_content .dialog_body,
.dialog_surface .dialog_body {
  padding: 0 var(--arc-dialog-padding) var(--arc-dialog-padding);
  line-height: 1.65;
}
.dialog_content .dialog_close,
.dialog_surface .dialog_close {
  width: 32px;
  height: 32px;
  margin: 0 -4px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--arc-text-muted);
}
.dialog_content .dialog_close:hover,
.dialog_surface .dialog_close:hover {
  background: var(--arc-surface-muted);
}
@media (pointer: coarse) {
  .dialog_content .dialog_close,
  .dialog_surface .dialog_close {
    width: 44px;
    height: 44px;
    margin-top: -6px;
    margin-right: -6px;
  }
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/card/card.module.css */
.card_card {
  padding: 0;
  position: relative;
  min-width: 0;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-panel);
  background: var(--arc-surface);
  color: var(--arc-foreground);
  transition: border-color var(--arc-duration-fast) var(--arc-ease-standard), box-shadow var(--arc-duration-standard) var(--arc-ease-standard);
}
.card_card[data-hover] {
  border-color: var(--arc-border-strong);
  box-shadow: var(--arc-shadow-raised);
}
.card_card:has(.card_trigger:focus-visible) {
  border-color: var(--arc-border-strong);
}
.card_media {
  position: relative;
  overflow: hidden;
  background: var(--arc-surface-muted);
}
.card_zoom {
  display: grid;
  min-height: 112px;
  place-items: center;
}
.card_content {
  padding: var(--arc-space-5);
}
.card_title {
  width: fit-content;
  max-width: 100%;
  margin: 0;
  font-size: var(--arc-text-lg);
  font-weight: 500;
  letter-spacing: var(--arc-tracking-body);
  line-height: 1.3;
  text-wrap: balance;
}
.card_trigger {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-align: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.card_trigger::after {
  content: "";
  position: absolute;
  inset: 0;
}
.card_trigger:focus-visible {
  outline: none;
}
.card_description {
  max-width: 34ch;
  margin: var(--arc-space-2) 0 0;
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-sm);
  line-height: var(--arc-leading-body);
  text-wrap: pretty;
}
.card_footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--arc-space-3);
  margin-top: var(--arc-space-5);
}
.card_byline {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: var(--arc-space-3);
  min-width: 0;
}
.card_avatar {
  display: grid;
  flex: none;
  width: var(--arc-space-8);
  height: var(--arc-space-8);
  overflow: hidden;
  border-radius: var(--arc-radius-pill);
  background: var(--arc-surface-muted);
}
.card_avatar > * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card_bylineText {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  font-size: var(--arc-text-xs);
  line-height: var(--arc-leading-body);
}
.card_meta {
  overflow: hidden;
  color: var(--arc-foreground);
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.card_status {
  position: relative;
  overflow: clip visible;
  color: var(--arc-text-muted);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.card_roll {
  position: relative;
  display: block;
}
.card_line {
  display: block;
  overflow: clip visible;
  text-overflow: ellipsis;
}
.card_word {
  display: inline-block;
  white-space: pre;
}
.card_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.card_action {
  position: relative;
  z-index: 1;
  display: flex;
  flex: none;
  flex-wrap: wrap;
  gap: var(--arc-space-3);
}
.card_overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: var(--arc-overlay-background);
  backdrop-filter: blur(var(--arc-overlay-blur));
}
.card_panel {
  font-family: var(--arc-font-body);
  line-height: var(--arc-leading-body);
  position: fixed;
  inset: 0;
  z-index: 51;
  width: min(calc(100vw - var(--arc-space-8)), 30rem);
  height: fit-content;
  max-height: calc(100dvh - var(--arc-space-8));
  margin: auto;
  overflow: hidden auto;
  overscroll-behavior: contain;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-surface);
  background: var(--arc-surface-raised);
  color: var(--arc-foreground);
  box-shadow: var(--arc-shadow-floating);
  transition: background-color var(--arc-duration-standard) var(--arc-ease-standard), box-shadow var(--arc-duration-standard) var(--arc-ease-standard);
}
.card_panel:focus {
  outline: none;
}
.card_panel[data-returning] {
  inset: auto;
  top: var(--landing-top);
  left: var(--landing-left);
  width: var(--landing-width);
  height: var(--landing-height);
  max-height: none;
  margin: 0;
  overflow: hidden;
  border-color: var(--arc-border);
  background: var(--arc-surface);
  box-shadow: none;
  pointer-events: none;
}
.card_panel[data-returning] .card_content {
  padding: var(--arc-space-5);
}
.card_panel[data-returning] .card_title {
  font-size: var(--arc-text-lg);
}
.card_panel .card_content {
  padding: var(--arc-space-6);
}
.card_panel .card_title {
  font-size: var(--arc-text-xl);
}
.card_panel .card_description {
  max-width: var(--card-measure, 34ch);
}
.card_closeSlot {
  position: absolute;
  top: var(--arc-space-4);
  right: var(--arc-space-4);
  z-index: 2;
  display: grid;
}
.card_close {
  display: grid;
  width: var(--arc-space-8);
  height: var(--arc-space-8);
  place-items: center;
  padding: 0;
  border: 1px solid color-mix(in oklab, var(--arc-border) 70%, transparent);
  border-radius: var(--arc-radius-pill);
  background: color-mix(in oklab, var(--arc-surface-raised) 74%, transparent);
  backdrop-filter: blur(12px);
  color: var(--arc-foreground);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background-color var(--arc-duration-fast) var(--arc-ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .card_close:hover {
    background: var(--arc-surface-raised);
  }
}
.card_details {
  margin-top: var(--arc-space-6);
  padding-top: var(--arc-space-5);
  border-top: 1px solid var(--arc-border);
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-sm);
  line-height: var(--arc-leading-body);
}
@media (prefers-reduced-motion: reduce) {
  .card_card,
  .card_close {
    transition-duration: var(--arc-duration-instant);
  }
}
.card_surface {
  overflow: visible;
  isolation: auto;
}
.card_raised {
  box-shadow: var(--arc-shadow-resting);
}
.card_sunken {
  border-color: transparent;
  background: var(--arc-surface-muted);
}
.card_outline {
  box-shadow: none;
}
.card_pad-none {
  padding: 0;
}
.card_pad-xs {
  padding: var(--arc-space-2);
}
.card_pad-sm {
  padding: var(--arc-space-3);
}
.card_pad-md {
  padding: var(--arc-space-5);
}
.card_pad-lg {
  padding: var(--arc-space-6);
}
.card_radius-none {
  border-radius: 0;
}
.card_radius-sm {
  border-radius: var(--arc-radius-control);
}
.card_radius-md {
  border-radius: var(--arc-radius-panel);
}
.card_radius-lg {
  border-radius: var(--arc-radius-surface);
}
.card_radius-full {
  border-radius: var(--arc-radius-pill);
}
.card_interactive {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}
.card_interactive:focus-visible {
  outline: 1px solid var(--arc-focus-ring);
  outline-offset: 1px;
}
@media (hover: hover) and (pointer: fine) {
  .card_interactive:hover {
    border-color: var(--arc-border-strong);
  }
}
[data-motion=reduced] .card_card,
[data-motion=reduced] .card_close {
  transition-duration: var(--arc-duration-instant);
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/progress/progress.module.css */
.progress_progress {
  width: 100%;
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-sm);
}
.progress_meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  line-height: var(--arc-leading-body);
}
.progress_label {
  position: relative;
  min-width: 0;
}
.progress_line {
  display: block;
}
.progress_value {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 4px;
  color: var(--arc-text-muted);
  font-variant-numeric: tabular-nums;
}
.progress_count {
  display: inline-grid;
  justify-items: end;
}
.progress_count::before {
  content: "100%";
  height: 0;
  overflow: hidden;
  visibility: hidden;
}
.progress_done {
  display: grid;
  place-items: center;
  color: var(--arc-success);
}
.progress_track {
  height: 7px;
  overflow: hidden;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-pill);
  background: var(--arc-surface-muted);
}
.progress_fill {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: var(--arc-accent);
  transition: background-color var(--arc-duration-standard) var(--arc-ease-standard);
}
.progress_progress[data-complete] .progress_fill {
  background: var(--arc-success);
  transition-delay: 200ms;
}
@media (prefers-reduced-motion: reduce) {
  .progress_fill,
  .progress_progress[data-complete] .progress_fill {
    transition: none;
  }
}
[data-motion=reduced] .progress_fill,
.progress_fill[data-motion=reduced],
[data-motion=reduced] .progress_progress[data-complete] .progress_fill,
.progress_progress[data-complete] .progress_fill[data-motion=reduced] {
  transition: none;
}
.progress_progress[data-tone=accent] .progress_fill {
  background: var(--arc-accent);
}
.progress_progress[data-tone=success] .progress_fill {
  background: var(--arc-success);
}
.progress_progress[data-tone=danger] .progress_fill {
  background: var(--arc-danger);
}
.progress_progress[data-tone=neutral] .progress_fill {
  background: var(--arc-text-muted);
}
.progress_progress[data-tone=accent] .progress_done {
  color: var(--arc-accent);
}
.progress_progress[data-tone=danger] .progress_done {
  color: var(--arc-danger);
}
.progress_progress[data-tone=neutral] .progress_done {
  color: var(--arc-text-muted);
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/input/input.module.css */
.input_field {
  display: grid;
  min-width: 0;
}
.input_label {
  margin-bottom: var(--arc-space-2);
  color: var(--ink);
  font-size: var(--arc-text-sm);
  font-weight: 500;
  line-height: var(--arc-leading-body);
}
.input_input,
.input_control {
  --h:var(--input-md-height);
  --px:var(--input-md-padding);
  --fs:var(--input-md-font);
  box-sizing: border-box;
  width: 100%;
  min-height: var(--h);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
  color: var(--ink);
  font-family: var(--font-family);
  font-size: calc(var(--fs)*var(--font-scale,1));
  line-height: 1.4;
  transition: border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);
}
.input_input {
  padding: 0 var(--px);
  outline: none;
}
.input_input[data-size=xs],
.input_control[data-size=xs] {
  --h:var(--input-xs-height);
  --px:var(--input-xs-padding);
  --fs:var(--input-xs-font);
}
.input_input[data-size=sm],
.input_control[data-size=sm] {
  --h:var(--input-sm-height);
  --px:var(--input-sm-padding);
  --fs:var(--input-sm-font);
}
.input_input[data-size=lg],
.input_control[data-size=lg] {
  --h:var(--input-lg-height);
  --px:var(--input-lg-padding);
  --fs:var(--input-lg-font);
}
.input_input[data-size=xl],
.input_control[data-size=xl] {
  --h:var(--input-xl-height);
  --px:var(--input-xl-padding);
  --fs:var(--input-xl-font);
}
.input_input::placeholder {
  color: var(--muted);
  opacity: 1;
}
.input_input:focus-visible,
.input_control:focus-within {
  outline: none;
  box-shadow: none;
  border-color: var(--input-focus-color);
}
.input_input[aria-invalid=true],
.input_control[data-invalid=true] {
  border-color: var(--danger);
}
.input_input:disabled,
.input_control[data-disabled=true] {
  cursor: not-allowed;
  opacity: .5;
}
.input_control {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 var(--px);
}
.input_control > .input_input {
  flex: 1;
  min-width: 0;
  width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding-inline: 0;
  outline: none;
  box-shadow: none;
}
.input_control > .input_input:disabled {
  opacity: 1;
}
.input_adornment {
  flex: none;
  display: inline-flex;
  align-items: center;
  color: var(--muted);
  line-height: 1;
}
.input_adornment > svg {
  width: 1.1em;
  height: 1.1em;
}
@media (hover: hover) and (pointer: fine) {
  .input_input:hover:not(:disabled, :focus-visible, [aria-invalid=true]),
  .input_control:hover:not(:focus-within, [data-disabled=true], [data-invalid=true]) {
    border-color: var(--arc-input-border-hover);
  }
}
@media (pointer: coarse) {
  .input_input,
  .input_control {
    min-height: max(44px, var(--h));
    font-size: max(16px, calc(var(--fs)*var(--font-scale,1)));
  }
}
.input_messageSlot {
  display: block;
  overflow: hidden;
}
.input_description,
.input_error {
  display: block;
  padding-top: var(--arc-space-2);
  font-size: var(--arc-text-xs);
  line-height: var(--arc-leading-body);
}
.input_description {
  color: var(--muted);
}
.input_error {
  color: var(--danger);
}
.input_words {
  position: relative;
  display: block;
}
.input_word {
  display: inline-block;
  white-space: pre;
}
.input_column {
  position: relative;
  display: inline-flex;
  justify-content: center;
  font-variant-numeric: tabular-nums;
}
.input_column > span {
  display: inline-block;
}
.input_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .input_input,
  .input_control {
    transition-duration: .01ms;
  }
}
[data-motion=reduced] .input_input,
.input_control {
  transition-duration: .01ms;
}
@media (forced-colors: active) {
  .input_input:focus-visible,
  .input_control:focus-within {
    border-color: Highlight;
  }
}
.input_input[aria-invalid=true]:focus-visible,
.input_control[data-invalid=true]:focus-within {
  border-color: color-mix(in oklab, var(--danger) 70%, var(--ink));
}

/* src/hub-entrainement.css */
.cc-ent-hub {
  --ent-ink: var(--acs-ink, #101013);
  --ent-muted: var(--acs-muted, rgb(11 11 13 / .64));
  --ent-rule: var(--acs-rule, #e4ded2);
  --ent-gold: var(--acs-gold, #c0a46d);
  --ent-gold-deep: var(--acs-gold-deep, #8a6a1f);
  --ent-sunk: var(--acs-sunk, #efece4);
  --ent-title:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
}
.cc-ent-head {
  align-items: end;
}
.cc-ent-head .cc-title {
  display: grid;
  gap: 1px;
  font-family: var(--ent-title);
  font-size: 26px;
  font-weight: 750;
  letter-spacing: -.02em;
  line-height: 1.08;
}
.cc-ent-head .cc-title small {
  color: var(--ent-gold-deep);
  font-family:
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 11.5px;
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cc-ent-body {
  animation: cc-ent-in 200ms cubic-bezier(.2, 0, 0, 1);
}
@keyframes cc-ent-in {
  from {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cc-ent-body {
    animation-duration: 120ms;
  }
}
.cc-ent-hub .cc-ent-block {
  margin-top: 4px;
}
.cc-ent-hub .cc-sectionhead {
  margin: 26px 0 8px;
}
.cc-ent-hub .cc-sectionhead h2 {
  font-family: var(--ent-title);
  font-size: 17px;
  font-weight: 750;
  letter-spacing: -.01em;
  color: var(--ent-ink);
}
.cc-ent-hub :is(.cc-seeall, .cc-suivi-link) {
  color: var(--ent-gold-deep);
}
.cc-ent-hub .cc-seeall {
  min-height: 44px;
  margin: -12px -8px -12px 0;
  padding: 0 8px;
  font-size: 12.5px;
  font-weight: 650;
}
.cc-ent-chev {
  flex: none;
  color: var(--acs-rule-strong, #c2c1bd);
}
.cc-ent-empty {
  margin: 4px 0 0;
  color: var(--ent-muted);
  font-size: 13.5px;
}
.cc-ent-empty--action {
  display: grid;
  justify-items: start;
  gap: 6px;
  margin-top: 24px;
}
.cc-ent-weeknav {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  margin: 16px -10px 0;
}
.cc-ent-weeknav p {
  display: grid;
  justify-items: center;
  gap: 1px;
  margin: 0;
  text-align: center;
}
.cc-ent-weeknav small {
  color: var(--ent-gold-deep);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.cc-ent-weeknav b {
  font-family: var(--ent-title);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--ent-ink);
}
.cc-ent-weeknav .cc-icon-btn {
  width: 44px;
  height: 44px;
  color: var(--ent-ink);
}
.cc-ent-weeknav .cc-icon-btn:disabled {
  opacity: .28;
}
.cc-ent-agenda .cc-home-v3 {
  margin-top: 6px;
}
.cc-ent-agenda .cc-home-v3-field {
  margin-top: 0;
}
.cc-ent-hub .cc-ent-agenda .cc-home-v3-day[data-today]:not([aria-pressed=true]) b {
  color: var(--ent-gold-deep);
}
.cc-ent-agenda .cc-ent-panel {
  padding: 4px 14px 4px;
}
.cc-ent-foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 2px;
}
.cc-ent-day {
  margin: 0;
  padding: 0;
  list-style: none;
}
.cc-ent-day > li + li {
  border-top: 1px solid var(--ent-rule);
}
.cc-ent-slot {
  padding: 4px 0;
}
.cc-ent-slot-main {
  display: grid;
  width: 100%;
  min-height: 52px;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 10px;
  padding: 8px 0 6px;
  background: transparent;
  color: var(--ent-ink);
  text-align: left;
}
.cc-ent-slot--perso .cc-ent-slot-main {
  padding-bottom: 8px;
}
.cc-ent-slot[data-past] .cc-ent-slot-main {
  opacity: .55;
}
.cc-ent-time {
  font-family: var(--ent-title);
  font-size: 17px;
  font-weight: 750;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.cc-ent-time--perso {
  color: var(--ent-gold-deep);
  font-family:
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .02em;
}
.cc-ent-slot-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.cc-ent-slot-text b {
  font-size: 15.5px;
  font-weight: 650;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.cc-ent-slot-text small {
  color: var(--ent-muted);
  font-size: 12.5px;
  line-height: 1.3;
}
.cc-ent-state {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 30px;
  padding: 0 12px;
  border-radius: 15px;
  font-size: 12.5px;
  font-weight: 650;
  white-space: nowrap;
}
.cc-ent-state[data-tone=cta] {
  background: var(--ent-ink);
  color: #fff;
}
.cc-ent-state[data-tone=booked] {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--ent-gold);
  color: var(--ent-gold-deep);
}
.cc-ent-state[data-tone=wait] {
  box-shadow: inset 0 0 0 1px var(--ent-ink);
  color: var(--ent-ink);
}
.cc-ent-state[data-tone=muted] {
  padding: 0;
  color: var(--ent-muted);
}
.cc-ent-state[data-tone=done] {
  padding: 0;
  color: var(--ent-gold-deep);
}
.cc-ent-seance {
  display: grid;
  width: 100%;
  min-height: 36px;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 10px;
  margin-bottom: 4px;
  background: transparent;
  color: var(--ent-muted);
  text-align: left;
}
.cc-ent-seance-k {
  color: var(--ent-gold-deep);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.cc-ent-seance-x {
  overflow: hidden;
  font-size: 12.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-ent-seance svg {
  color: var(--ent-gold-deep);
}
@media (hover: hover) and (pointer: fine) {
  .cc-ent-slot-main:hover .cc-ent-slot-text b,
  .cc-ent-seance:hover .cc-ent-seance-x {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
  }
}
:is(.cc-ent-slot-main, .cc-ent-seance, .cc-ent-done, .cc-ent-link, .cc-ent-media button):active {
  transform: scale(.985);
  transition: transform 0s;
}
:is(.cc-ent-slot-main, .cc-ent-seance, .cc-ent-done, .cc-ent-link, .cc-ent-media button) {
  transition: transform 160ms cubic-bezier(.2, 0, 0, 1);
}
@media (prefers-reduced-motion: reduce) {
  :is(.cc-ent-slot-main, .cc-ent-seance, .cc-ent-done, .cc-ent-link, .cc-ent-media button):active {
    transform: none;
    opacity: .72;
  }
}
.cc-ent-prog {
  display: grid;
  gap: 10px;
}
.cc-ent-prog + .cc-ent-prog {
  margin-top: 18px;
}
.cc-ent-prog-top {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}
.cc-ent-prog-top > span {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.cc-ent-prog-top b {
  font-size: 15px;
  font-weight: 650;
}
.cc-ent-prog-top small {
  color: var(--ent-muted);
  font-size: 12.5px;
}
.cc-ent-prog-top em {
  font-family: var(--ent-title);
  font-size: 17px;
  font-style: normal;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
.cc-ent-prog .cc-ent-day {
  border-top: 1px solid var(--ent-rule);
}
.cc-ent-prog .cc-ent-slot-main {
  grid-template-columns: 50px minmax(0, 1fr) auto;
}
.cc-ent-sheet-when {
  margin: 0;
  color: var(--ent-muted);
  font-size: 13.5px;
}
.cc-ent-sheet-state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 6px 0 0;
  color: var(--ent-muted);
  font-size: 13px;
  font-weight: 600;
}
.cc-ent-sheet-state[data-booked] {
  color: var(--ent-gold-deep);
}
.cc-ent-ex {
  display: grid;
  margin: 12px 0 4px;
  padding: 0;
  list-style: none;
}
.cc-ent-ex > li + li {
  border-top: 1px solid var(--ent-rule);
}
.cc-ent-ex :is(button, div) {
  display: grid;
  width: 100%;
  min-height: 48px;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  background: transparent;
  color: var(--ent-ink);
  text-align: left;
}
.cc-ent-ex span {
  color: var(--ent-gold-deep);
  font-family: var(--ent-title);
  font-size: 14px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
.cc-ent-ex b {
  font-size: 15px;
  font-weight: 600;
}
.cc-ent-ex svg {
  color: var(--acs-rule-strong, #c2c1bd);
}
.cc-ent-sheet-coach {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 0;
  color: var(--ent-muted);
  font-size: 12.5px;
}
.cc-ent-sheet-cta {
  width: 100%;
  margin-top: 16px;
}
.cc-ent-heat {
  padding: 14px 14px 12px;
  border-radius: 18px;
  background: #fcfcfa;
  --arc-surface: #fcfcfa;
  box-shadow: inset 0 0 0 1px var(--ent-rule);
  --arc-accent: var(--ent-gold-deep);
  --heatmap-surface: #fcfcfa;
}
.cc-ent-heat [class*=activity_heatmap_canvas] {
  --gap: 4px;
  --cell: clamp(12px, calc((100cqi - 30px - 4px * 12) / 11), 24px);
}
.cc-ent-heat [class*=activity_heatmap_scroller] {
  direction: ltr;
}
.cc-ent-monthnav {
  margin-top: 22px;
}
.cc-ent-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 10px 0 0;
  padding: 12px 0;
  border-block: 1px solid var(--ent-rule);
}
.cc-ent-stats > div {
  display: grid;
  justify-items: center;
  gap: 2px;
  min-width: 0;
}
.cc-ent-stats > div + div {
  border-left: 1px solid var(--ent-rule);
}
.cc-ent-stats dt {
  order: 2;
  color: var(--ent-muted);
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap;
}
.cc-ent-stats dd {
  order: 1;
  margin: 0;
  font-family: var(--ent-title);
  font-size: 22px;
  font-weight: 750;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.cc-ent-stats > div:last-child dd {
  font-size: 17px;
  line-height: 26.5px;
}
.cc-ent-donelist {
  margin: 0;
  padding: 0;
  list-style: none;
}
.cc-ent-donelist > li + li {
  border-top: 1px solid var(--ent-rule);
}
.cc-ent-done {
  display: grid;
  width: 100%;
  min-height: 56px;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  background: transparent;
  color: var(--ent-ink);
  text-align: left;
}
.cc-ent-done-date {
  display: grid;
  justify-items: center;
  line-height: 1;
}
.cc-ent-done-date b {
  font-family: var(--ent-title);
  font-size: 20px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
.cc-ent-done-date small {
  margin-top: 3px;
  color: var(--ent-muted);
  font-size: 11px;
  font-weight: 600;
}
.cc-ent-more {
  margin-top: 4px;
  min-height: 44px;
}
.cc-ent-link {
  display: grid;
  width: 100%;
  min-height: 60px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  padding: 10px 0;
  border-block: 1px solid var(--ent-rule);
  background: transparent;
  color: var(--ent-ink);
  text-align: left;
}
.cc-ent-filters {
  margin-top: 14px;
}
.cc-ent-filterrow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}
.cc-ent-cat {
  margin-right: -8px;
}
.cc-ent-hub .cc-bank-tile {
  background: var(--ent-sunk);
  color: var(--ent-gold-deep);
}
.cc-ent-count {
  color: var(--ent-muted);
  font-size: 12.5px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.cc-ent-hub .cc-ent-list {
  margin-top: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  animation: none;
}
.cc-ent-hub .cc-ent-list > li + li {
  border-top: 1px solid var(--ent-rule);
}
.cc-ent-media {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cc-ent-media button {
  display: grid;
  width: 100%;
  gap: 3px;
  background: transparent;
  color: var(--ent-ink);
  text-align: left;
}
.cc-ent-media-ph {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  margin-bottom: 5px;
  border-radius: 14px;
  background: var(--ent-sunk);
}
.cc-ent-media-ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cc-ent-media-ph i {
  position: absolute;
  left: 8px;
  bottom: 8px;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 13px;
  background: rgb(255 255 255 / .92);
  color: var(--ent-ink);
}
.cc-ent-media b {
  font-size: 14px;
  font-weight: 650;
  line-height: 1.25;
}
.cc-ent-media small {
  color: var(--ent-muted);
  font-size: 12px;
}
.cc-ent-weeknav .cc-icon-btn {
  border: 0;
  background: transparent;
  box-shadow: none;
}
@media (max-width: 380px) {
  .cc-ent-hub .cc-ent-agenda .cc-home-v3-day b {
    font-size: 29px;
    letter-spacing: -.05em;
  }
}
.cc-ent-day > li {
  padding-inline: 14px;
}
.cc-ent-state[data-tone=cta] {
  background:
    linear-gradient(
      180deg,
      #cdb27c,
      var(--ent-gold));
  color: var(--ent-ink);
}
.cc-ent-book .cc-home-empty {
  padding: 14px 16px;
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--cc-card-shadow);
  color: var(--ent-muted);
  font-size: 13.5px;
  text-align: left;
}
.cc-ent-prog .cc-ent-day {
  border-top: 0;
}
.cc-ent-tickets {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cc-ent-tk {
  position: relative;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--cc-card-shadow);
}
.cc-ent-tk::before,
.cc-ent-tk::after {
  content: "";
  position: absolute;
  left: 66px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--cc-bg, #f6f4ef);
}
.cc-ent-tk::before {
  top: -8px;
}
.cc-ent-tk::after {
  bottom: -8px;
}
.cc-ent-tk-t {
  display: grid;
  place-content: center;
  padding: 14px 0;
  border-right: 2px dashed #e6e0d3;
  background:
    linear-gradient(
      180deg,
      #fbf9f4,
      #f3efe5);
  text-align: center;
}
.cc-ent-tk-t b {
  font-family: var(--ent-title);
  font-size: 21px;
  font-weight: 750;
  letter-spacing: -.03em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.cc-ent-tk-t span {
  margin-top: 4px;
  color: var(--ent-muted);
  font-size: 11px;
}
.cc-ent-tk[data-full] .cc-ent-tk-t b {
  color: #8b8984;
}
.cc-ent-tk-b {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 13px 12px 12px 16px;
}
.cc-ent-tk-h {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  text-align: left;
}
.cc-ent-tk-h img,
.cc-ent-tk-av {
  flex: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: cover;
}
.cc-ent-tk-av {
  display: grid;
  place-items: center;
  background: var(--cc-sunk, #efece4);
  font-size: 12px;
  font-weight: 700;
}
.cc-ent-tk-h > span {
  display: grid;
  min-width: 0;
}
.cc-ent-tk-h b {
  font-family: var(--ent-title);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.01em;
}
.cc-ent-tk-h small {
  overflow: hidden;
  color: var(--ent-muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-ent-tk-f {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.cc-ent-seats {
  display: flex;
  align-items: center;
  gap: 3px;
  color: var(--ent-muted);
  font-size: 11.5px;
  white-space: nowrap;
}
.cc-ent-seats i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e6e0d3;
}
.cc-ent-seats i[data-f] {
  background: var(--ent-ink);
}
.cc-ent-seats em {
  margin-left: 6px;
  font-style: normal;
}
.cc-phone.cc-acs .cc-ent-tk-cta {
  flex: none;
}
.cc-ent-p1 {
  overflow: hidden;
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--cc-card-shadow);
}
.cc-ent-p1 + .cc-ent-p1 {
  margin-top: 14px;
}
.cc-ent-p1-h {
  display: grid;
  gap: 12px;
  padding: 16px 16px 14px;
  background:
    radial-gradient(
      120% 100% at 100% 0%,
      #34343c,
      #0e0e11 75%);
  color: #fff;
}
.cc-ent-p1-top {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cc-ent-p1-top img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 2px rgb(234 212 157 / .5);
}
.cc-ent-p1-top > span {
  display: grid;
  min-width: 0;
}
.cc-ent-p1-top b {
  font-family: var(--ent-title);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -.01em;
}
.cc-ent-p1-top small {
  color: rgb(255 255 255 / .62);
  font-size: 12px;
}
.cc-ent-p1-top em {
  margin-left: auto;
  color: rgb(255 255 255 / .5);
  font-size: 13px;
  font-style: normal;
  font-variant-numeric: tabular-nums;
}
.cc-ent-p1-top em b {
  color: #fff;
  font-size: 22px;
  font-weight: 800;
}
.cc-ent-p1-segs {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 5px;
}
.cc-ent-p1-segs i {
  position: relative;
  height: 6px;
  overflow: hidden;
  border-radius: 99px;
  background: rgb(255 255 255 / .13);
}
.cc-ent-p1-segs i[data-f]::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      var(--ent-gold),
      #ead49d);
  transform-origin: left;
  animation: cc-ent-grow 1s cubic-bezier(.16, 1, .3, 1) backwards;
  animation-delay: inherit;
}
@keyframes cc-ent-grow {
  from {
    transform: scaleX(0);
  }
}
.cc-ent-p1-l {
  margin: 0;
  padding: 6px 8px 8px;
  list-style: none;
}
.cc-ent-p1-l li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 8px;
  border-radius: 16px;
}
.cc-ent-p1-l li + li {
  border-top: 1px solid #f1ede5;
}
.cc-ent-p1-l li[data-cur] {
  background: #fbf8f1;
  border-top-color: transparent;
}
.cc-ent-p1-l li[data-cur] + li {
  border-top-color: transparent;
}
.cc-ent-p1-n {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--cc-sunk, #efece4);
  font-family: var(--ent-title);
  font-size: 14px;
  font-weight: 800;
}
li[data-done] > .cc-ent-p1-n {
  background:
    linear-gradient(
      160deg,
      #ead49d,
      var(--ent-gold));
  color: var(--ent-ink);
}
li[data-cur] > .cc-ent-p1-n {
  background: var(--ent-ink);
  color: #fff;
}
.cc-ent-p1-t {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.cc-ent-p1-t b {
  font-size: 14.5px;
  font-weight: 600;
}
.cc-ent-p1-t small {
  color: var(--ent-muted);
  font-size: 12px;
}
li[data-done] .cc-ent-p1-t b {
  color: var(--ent-muted);
}
.cc-ent-p1-chip {
  height: 28px;
  padding: 0 11px;
  border-radius: 99px;
  box-shadow: inset 0 0 0 1px var(--cc-rule, #e4ded2);
  background: #fff;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .cc-ent-p1-segs i::after {
    animation: none;
  }
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/activity-heatmap/activity-heatmap.module.css */
.activity_heatmap_root {
  --level-0: color-mix(in oklab, var(--arc-foreground) 6.5%, var(--arc-surface));
  --level-1: color-mix(in oklab, var(--arc-accent) 26%, var(--level-0));
  --level-2: color-mix(in oklab, var(--arc-accent) 50%, var(--level-0));
  --level-3: color-mix(in oklab, var(--arc-accent) 76%, var(--level-0));
  --level-4: var(--arc-accent);
  container-type: inline-size;
  position: relative;
  display: grid;
  min-width: 0;
  gap: var(--arc-space-4);
  color: var(--arc-foreground);
}
.activity_heatmap_header {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--arc-space-3) var(--arc-space-4);
}
.activity_heatmap_summary {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: .3em;
  margin: 0;
  color: var(--arc-text-secondary);
  font-size: var(--arc-text-sm);
  line-height: var(--arc-leading-body);
  font-variant-numeric: tabular-nums;
}
.activity_heatmap_total {
  color: var(--arc-foreground);
  font-weight: 500;
  white-space: nowrap;
}
.activity_heatmap_period {
  white-space: nowrap;
}
.activity_heatmap_actions {
  display: flex;
  flex: none;
  align-items: center;
}
.activity_heatmap_rollingFrame {
  display: inline-flex;
  justify-content: flex-end;
  overflow: clip;
  overflow-clip-margin: .2em;
}
.activity_heatmap_rolling {
  display: inline-flex;
  flex: none;
}
.activity_heatmap_place {
  position: relative;
  display: inline-flex;
  overflow: clip;
  overflow-clip-margin: .15em;
}
.activity_heatmap_placeChar,
.activity_heatmap_riseLine {
  display: inline-block;
}
.activity_heatmap_rise {
  position: relative;
  display: inline-flex;
}
.activity_heatmap_scroller {
  direction: rtl;
  overflow-x: auto;
  overflow-y: hidden;
  margin: -6px;
  padding: 6px;
  overscroll-behavior-x: contain;
  scrollbar-color: var(--arc-border-strong) transparent;
  scrollbar-width: thin;
}
.activity_heatmap_canvas {
  --gap: 3px;
  --label: 30px;
  --cell: clamp(9px, calc((100cqi - var(--label) - var(--gap) * 53) / 53), 15px);
  --step: calc(var(--cell) + var(--gap));
  direction: ltr;
  display: grid;
  width: max-content;
  grid-template-columns: var(--label) auto;
  grid-template-rows: auto auto;
  column-gap: var(--gap);
  row-gap: var(--arc-space-2);
}
.activity_heatmap_months {
  position: relative;
  grid-row: 1;
  grid-column: 2;
  height: 1rem;
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
  line-height: 1rem;
}
.activity_heatmap_month {
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
  transform: translateX(calc(var(--col) * var(--step)));
  transition: transform var(--arc-duration-spring) var(--arc-ease-spring);
}
.activity_heatmap_weekdays {
  position: sticky;
  z-index: 1;
  left: -6px;
  display: grid;
  grid-row: 1 / 3;
  grid-column: 1;
  grid-template-rows: repeat(7, var(--cell));
  align-content: end;
  row-gap: var(--gap);
  margin: 0 calc(var(--gap) * -1) 0 -6px;
  padding: 0 var(--gap) 0 6px;
  background: var(--heatmap-surface, var(--arc-surface));
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
}
.activity_heatmap_weekday {
  display: flex;
  height: var(--cell);
  align-items: center;
  white-space: nowrap;
  line-height: 1;
}
.activity_heatmap_plot {
  position: relative;
  grid-row: 2;
  grid-column: 2;
}
.activity_heatmap_grid {
  display: grid;
  gap: var(--gap);
  outline: none;
}
.activity_heatmap_row {
  display: flex;
  gap: var(--gap);
}
.activity_heatmap_cell {
  --delay: var(--wave);
  display: block;
  width: var(--cell);
  height: var(--cell);
  flex: none;
  border-radius: calc(var(--cell) * .28);
  background: var(--level-0);
  outline: 1.5px solid transparent;
  outline-offset: 1px;
  cursor: default;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color 320ms var(--arc-ease-standard) var(--delay),
    transform var(--arc-duration-spring) var(--arc-ease-spring) var(--delay),
    opacity var(--arc-duration-fast) var(--arc-ease-standard);
}
.activity_heatmap_grid[data-direction=back] .activity_heatmap_cell {
  --delay: var(--wave-back);
}
.activity_heatmap_cell[data-level="1"] {
  background: var(--level-1);
}
.activity_heatmap_cell[data-level="2"] {
  background: var(--level-2);
}
.activity_heatmap_cell[data-level="3"] {
  background: var(--level-3);
}
.activity_heatmap_cell[data-level="4"] {
  background: var(--level-4);
}
.activity_heatmap_cell[data-empty] {
  transform: scale(0);
  background: var(--level-0);
}
.activity_heatmap_grid[data-reveal=hidden] .activity_heatmap_cell {
  opacity: 0;
  transform: scale(.5);
  transition: none;
}
.activity_heatmap_grid[data-reveal=hidden] .activity_heatmap_cell[data-empty] {
  transform: scale(0);
}
.activity_heatmap_grid[data-reveal=revealing] .activity_heatmap_cell {
  transition:
    background-color 320ms var(--arc-ease-standard) var(--delay),
    transform var(--arc-duration-spring) var(--arc-ease-spring) var(--delay),
    opacity 360ms var(--arc-ease-enter) var(--delay);
}
.activity_heatmap_grid[data-highlight] .activity_heatmap_cell:not([data-empty]) {
  opacity: .2;
}
.activity_heatmap_grid[data-highlight="0"] .activity_heatmap_cell[data-level="0"],
.activity_heatmap_grid[data-highlight="1"] .activity_heatmap_cell[data-level="1"],
.activity_heatmap_grid[data-highlight="2"] .activity_heatmap_cell[data-level="2"],
.activity_heatmap_grid[data-highlight="3"] .activity_heatmap_cell[data-level="3"],
.activity_heatmap_grid[data-highlight="4"] .activity_heatmap_cell[data-level="4"] {
  opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
  .activity_heatmap_cell:not([data-empty]):hover {
    outline-color: color-mix(in oklab, var(--arc-foreground) 45%, transparent);
  }
}
.activity_heatmap_ring {
  position: absolute;
  top: -3px;
  left: -3px;
  width: calc(var(--cell) + 6px);
  height: calc(var(--cell) + 6px);
  border: 1.5px solid var(--arc-foreground);
  border-radius: calc(var(--cell) * .28 + 3px);
  opacity: 0;
  pointer-events: none;
  transform: translate(calc(var(--col) * var(--step)), calc(var(--row) * var(--step)));
  transition: transform var(--arc-duration-spring) var(--arc-ease-spring), opacity var(--arc-duration-fast) var(--arc-ease-standard);
}
.activity_heatmap_ring[data-shown] {
  opacity: 1;
}
.activity_heatmap_legend {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: var(--arc-space-3);
  color: var(--arc-text-muted);
  font-size: var(--arc-text-xs);
}
.activity_heatmap_caption {
  position: relative;
  min-width: 0;
  overflow: hidden;
  color: var(--arc-text-secondary);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.activity_heatmap_scale {
  display: flex;
  flex: none;
  align-items: center;
  gap: var(--arc-space-2);
}
.activity_heatmap_captionShort {
  display: none;
}
@container (max-width: 440px) {
  .activity_heatmap_captionLong {
    display: none;
  }
  .activity_heatmap_captionShort {
    display: inline;
  }
}
.activity_heatmap_legendText {
  line-height: 1;
}
.activity_heatmap_swatches {
  display: flex;
}
.activity_heatmap_swatch {
  position: relative;
  display: grid;
  width: 15px;
  height: 20px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.activity_heatmap_swatch::before {
  content: "";
  width: 11px;
  height: 11px;
  border-radius: 3px;
  background: var(--level-0);
}
.activity_heatmap_swatch[data-level="1"]::before {
  background: var(--level-1);
}
.activity_heatmap_swatch[data-level="2"]::before {
  background: var(--level-2);
}
.activity_heatmap_swatch[data-level="3"]::before {
  background: var(--level-3);
}
.activity_heatmap_swatch[data-level="4"]::before {
  background: var(--level-4);
}
.activity_heatmap_swatch[aria-pressed=true] {
  box-shadow: inset 0 0 0 1.5px var(--arc-foreground);
}
.activity_heatmap_tip {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.activity_heatmap_bubble {
  position: absolute;
  bottom: 8px;
  left: 0;
  display: block;
  padding: 7px 12px 8px;
  border: 1px solid color-mix(in oklab, var(--arc-background) 14%, var(--arc-foreground));
  border-radius: var(--arc-radius-control);
  background: var(--arc-foreground);
  color: var(--arc-background);
  box-shadow: var(--arc-shadow-raised);
  transform-origin: 50% 100%;
  will-change: transform, opacity;
}
.activity_heatmap_tipBody {
  position: relative;
  display: block;
  overflow: clip;
  overflow-clip-margin: 8px;
}
.activity_heatmap_tipMeasure {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: max-content;
  visibility: hidden;
}
.activity_heatmap_tipLines {
  display: grid;
  width: max-content;
}
.activity_heatmap_tipMeasure > span,
.activity_heatmap_tipLines > span {
  white-space: nowrap;
}
.activity_heatmap_tipPrimary {
  font-size: var(--arc-text-sm);
  font-weight: 500;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
}
.activity_heatmap_tipSecondary {
  color: color-mix(in oklab, var(--arc-background) 68%, var(--arc-foreground));
  font-size: var(--arc-text-xs);
  line-height: 1.35;
}
.activity_heatmap_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .activity_heatmap_cell,
  .activity_heatmap_grid[data-reveal=revealing] .activity_heatmap_cell {
    transition: background-color var(--arc-duration-fast) var(--arc-ease-standard), opacity var(--arc-duration-fast) var(--arc-ease-standard);
  }
  .activity_heatmap_grid[data-reveal=hidden] .activity_heatmap_cell {
    transform: none;
  }
  .activity_heatmap_cell[data-empty],
  .activity_heatmap_grid[data-reveal=hidden] .activity_heatmap_cell[data-empty] {
    opacity: 0;
    transform: none;
  }
  .activity_heatmap_month,
  .activity_heatmap_ring {
    transition: opacity var(--arc-duration-fast) var(--arc-ease-standard);
  }
}
.activity_heatmap_root[data-reduced-motion] .activity_heatmap_cell,
.activity_heatmap_root[data-reduced-motion] .activity_heatmap_month,
.activity_heatmap_root[data-reduced-motion] .activity_heatmap_ring {
  transition: none;
}
.activity_heatmap_cell:focus-visible,
.activity_heatmap_swatch:focus-visible {
  outline: 1px solid var(--arc-focus-ring);
  outline-offset: 2px;
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/skeleton/skeleton.module.css */
.skeleton_root {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: flex-start;
  gap: var(--arc-space-4);
}
.skeleton_avatar,
.skeleton_line {
  display: block;
  flex: 0 0 auto;
  border-radius: var(--arc-radius-control);
  background: color-mix(in oklab, var(--arc-border-strong) 38%, var(--arc-surface));
  animation: skeleton_skeleton-pulse 1.8s var(--arc-ease-in-out) calc(var(--index, 0) * 90ms) 11 both;
}
.skeleton_avatar {
  width: var(--arc-control-height-md);
  height: var(--arc-control-height-md);
  border-radius: var(--arc-radius-pill);
}
.skeleton_lines {
  display: grid;
  flex: 1;
  gap: var(--arc-space-3);
  padding-top: var(--arc-space-1);
}
.skeleton_line {
  width: 100%;
  height: var(--arc-space-3);
}
.skeleton_line:first-child {
  width: 48%;
  height: var(--arc-space-4);
}
.skeleton_line:last-child {
  width: 72%;
}
.skeleton_frame {
  position: relative;
  display: flow-root;
}
.skeleton_block {
  display: block;
  background: color-mix(in oklab, var(--arc-border-strong) 38%, var(--arc-surface));
  animation: skeleton_skeleton-pulse 1.8s var(--arc-ease-in-out) 11 both;
}
@keyframes skeleton_skeleton-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: .52;
  }
}
@media (prefers-reduced-motion: reduce) {
  .skeleton_avatar,
  .skeleton_line,
  .skeleton_block {
    animation: none;
  }
}
[data-motion=reduced] .skeleton_avatar,
.skeleton_avatar[data-motion=reduced],
[data-motion=reduced] .skeleton_line,
.skeleton_line[data-motion=reduced],
[data-motion=reduced] .skeleton_block,
.skeleton_block[data-motion=reduced] {
  animation: none;
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/otp-input/otp-input.module.css */
.otp_input_field {
  display: grid;
  min-width: 0;
}
.otp_input_label {
  margin-bottom: 8px;
  color: var(--arc-foreground);
  font-size: var(--arc-text-sm);
  font-weight: 500;
  line-height: var(--arc-leading-body);
}
.otp_input_inputs {
  position: relative;
  display: flex;
  width: fit-content;
  max-width: 100%;
  gap: 8px;
}
.otp_input_slot {
  position: relative;
  display: grid;
  width: 42px;
  height: 48px;
  min-width: 0;
  flex: 0 1 42px;
}
.otp_input_input {
  width: 100%;
  height: 100%;
  min-width: 0;
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-control);
  background: var(--arc-surface);
  color: transparent;
  caret-color: var(--arc-accent);
  font: inherit;
  font-size: var(--arc-text-lg);
  font-variant-numeric: tabular-nums;
  text-align: center;
  outline: none;
  transition: border-color var(--arc-duration-fast) var(--arc-ease-standard), background-color var(--arc-duration-fast) var(--arc-ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .otp_input_input:hover:not(:disabled, [data-filled=true], [aria-invalid=true]) {
    border-color: var(--arc-border-strong);
    background: var(--arc-surface-muted);
  }
}
.otp_input_input[data-filled=true] {
  border-color: var(--arc-accent);
  background: var(--arc-accent-subtle);
}
.otp_input_input:focus-visible {
  outline: none;
}
.otp_input_input[aria-invalid=true] {
  border-color: var(--arc-danger);
  background: color-mix(in srgb, var(--arc-danger) 7%, var(--arc-surface));
}
.otp_input_input:disabled {
  cursor: not-allowed;
  opacity: .48;
  background: var(--arc-surface-muted);
}
.otp_input_glyph {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--arc-foreground);
  font-size: var(--arc-text-lg);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}
.otp_input_input:disabled ~ .otp_input_glyph {
  opacity: .48;
}
.otp_input_ring {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  z-index: 2;
  border: 1px solid var(--arc-accent-strong);
  border-radius: var(--arc-radius-control);
  pointer-events: none;
  transition: border-color var(--arc-duration-fast) var(--arc-ease-standard);
}
.otp_input_inputs[data-invalid=true] .otp_input_ring {
  border-color: var(--arc-danger);
}
.otp_input_messageSlot {
  display: block;
  overflow: hidden;
}
.otp_input_description,
.otp_input_error {
  display: block;
  padding-top: 8px;
  font-size: var(--arc-text-xs);
  line-height: var(--arc-leading-body);
}
.otp_input_description {
  color: var(--arc-text-muted);
}
.otp_input_error {
  color: var(--arc-danger);
}
.otp_input_words {
  position: relative;
  display: block;
}
.otp_input_word {
  display: inline-block;
  white-space: pre;
}
.otp_input_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (max-width: 360px) {
  .otp_input_inputs {
    gap: 6px;
  }
  .otp_input_slot {
    height: 44px;
  }
}
@media (forced-colors: active) {
  .otp_input_ring {
    display: none;
  }
  .otp_input_input:focus-visible {
    outline: 2px solid CanvasText;
    outline-offset: 2px;
  }
  .otp_input_input {
    color: CanvasText;
  }
  .otp_input_glyph {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .otp_input_input,
  .otp_input_ring {
    transition: none;
  }
}
[data-motion=reduced] .otp_input_field,
[data-motion=reduced] .otp_input_field *,
[data-motion=reduced] .otp_input_frame,
[data-motion=reduced] .otp_input_frame * {
  transition: none;
  animation: none;
}

/* ../../docs/research/2026-09-30-bibliotheque-experiences-membre/explorations/prototype-tc-react/vendor/ubm-ui-components/src/components/expanding-button-group/expanding-button-group.module.css */
.expanding_button_group_group {
  --ebg-h: 36px;
  --ebg-icon: 16px;
  --ebg-start: 10px;
  --ebg-gap: 7px;
  --ebg-end: 14px;
  --ebg-pad: 3px;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  max-width: 100%;
  flex: none;
  align-items: center;
  gap: 2px;
  padding: var(--ebg-pad);
  border: 1px solid var(--arc-border);
  border-radius: var(--arc-radius-pill);
  background: var(--arc-surface);
}
.expanding_button_group_item {
  position: relative;
  display: inline-flex;
  height: var(--ebg-h);
  min-width: var(--ebg-h);
  flex: none;
  align-items: center;
  justify-content: flex-start;
  gap: var(--ebg-gap);
  overflow: clip;
  border: 0;
  border-radius: var(--arc-radius-pill);
  padding: 0 0 0 var(--ebg-start);
  background: transparent;
  color: var(--arc-text-secondary);
  font: inherit;
  font-size: var(--arc-text-sm);
  font-weight: 500;
  line-height: 1;
  letter-spacing: var(--arc-tracking-body);
  white-space: nowrap;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: color var(--arc-duration-fast) var(--arc-ease-standard), background-color var(--arc-duration-standard) var(--arc-ease-standard);
}
.expanding_button_group_sm .expanding_button_group_item {
  font-size: var(--arc-text-xs);
}
.expanding_button_group_item[data-expanded] {
  color: var(--arc-foreground);
  background: var(--arc-surface-muted);
}
.expanding_button_group_item[data-tone=danger][data-expanded] {
  color: var(--arc-danger);
  background: color-mix(in oklab, var(--arc-danger) 10%, var(--arc-surface));
}
.expanding_button_group_item[data-state=done]:not([data-tone=danger]) {
  background: color-mix(in oklab, var(--arc-success) 10%, var(--arc-surface));
}
.expanding_button_group_item[data-state=done]:not([data-tone=danger]) .expanding_button_group_icon {
  color: var(--arc-success);
}
.expanding_button_group_item[aria-busy=true] {
  cursor: progress;
}
.expanding_button_group_item[aria-busy=true] .expanding_button_group_icon {
  animation: expanding_button_group_busy 1.1s var(--arc-ease-in-out) infinite;
}
.expanding_button_group_item[aria-disabled=true] {
  cursor: not-allowed;
  color: var(--arc-text-muted);
  opacity: .5;
}
.expanding_button_group_item[aria-disabled=true][data-expanded] {
  background: var(--arc-surface-muted);
  color: var(--arc-text-secondary);
}
:root[data-theme=dark] .expanding_button_group_item[data-tone=danger][data-expanded] {
  background: color-mix(in oklab, var(--arc-danger) 14%, var(--arc-surface));
}
:root[data-theme=dark] .expanding_button_group_item[data-state=done]:not([data-tone=danger]) {
  background: color-mix(in oklab, var(--arc-success) 14%, var(--arc-surface));
}
.expanding_button_group_icon {
  position: relative;
  display: grid;
  width: var(--ebg-icon);
  height: var(--ebg-icon);
  flex: none;
  place-items: center;
  transition: transform 320ms var(--arc-ease-spring);
}
.expanding_button_group_item:active:not([aria-disabled=true]) .expanding_button_group_icon {
  transform: scale(.86);
  transition-duration: 90ms;
  transition-timing-function: var(--arc-ease-standard);
}
.expanding_button_group_glyph {
  display: grid;
  grid-area: 1 / 1;
  place-items: center;
  width: 100%;
  height: 100%;
}
.expanding_button_group_glyph svg {
  width: 100%;
  height: 100%;
  stroke-width: 1.75;
}
.expanding_button_group_label {
  display: inline-grid;
  flex: none;
  align-items: center;
  justify-items: start;
}
.expanding_button_group_word {
  grid-area: 1 / 1;
  white-space: nowrap;
}
.expanding_button_group_sizer {
  grid-area: 1 / 1;
  visibility: hidden;
  pointer-events: none;
  white-space: nowrap;
}
.expanding_button_group_item[data-unmeasured][data-expanded] {
  width: auto !important;
  padding-inline-end: var(--ebg-end);
}
.expanding_button_group_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
@keyframes expanding_button_group_busy {
  50% {
    opacity: .45;
  }
}
@media (prefers-reduced-motion: reduce) {
  .expanding_button_group_item {
    transition: color var(--arc-duration-instant) linear, background-color var(--arc-duration-instant) linear;
  }
  .expanding_button_group_icon,
  .expanding_button_group_item:active:not([aria-disabled=true]) .expanding_button_group_icon {
    transform: none;
    transition: none;
  }
  .expanding_button_group_item[aria-busy=true] .expanding_button_group_icon {
    animation: none;
    opacity: .6;
  }
}
[data-motion=reduced] .expanding_button_group_item {
  transition: color var(--arc-duration-instant) linear, background-color var(--arc-duration-instant) linear;
}
[data-motion=reduced] .expanding_button_group_icon,
[data-motion=reduced] .expanding_button_group_item:active:not([aria-disabled=true]) .expanding_button_group_icon {
  transform: none;
  transition: none;
}
[data-motion=reduced] .expanding_button_group_item[aria-busy=true] .expanding_button_group_icon {
  animation: none;
  opacity: .6;
}
.expanding_button_group_group,
.expanding_button_group_item {
  border-radius: var(--radius);
}
.expanding_button_group_group {
  overflow-x: auto;
}
.expanding_button_group_item {
  min-height: var(--ebg-h);
  height: auto;
  padding-block: 8px;
}
.expanding_button_group_xs .expanding_button_group_item {
  font-size: calc(var(--button-xs-font) * var(--font-scale));
}
.expanding_button_group_sm .expanding_button_group_item {
  font-size: calc(var(--button-sm-font) * var(--font-scale));
}
.expanding_button_group_md .expanding_button_group_item {
  font-size: calc(var(--button-md-font) * var(--font-scale));
}
.expanding_button_group_lg .expanding_button_group_item {
  font-size: calc(var(--button-lg-font) * var(--font-scale));
}
.expanding_button_group_xl .expanding_button_group_item {
  font-size: calc(var(--button-xl-font) * var(--font-scale));
}
.expanding_button_group_item {
  font-family: var(--font-family);
}
@media (pointer: coarse) {
  .expanding_button_group_menu .expanding_button_group_item {
    min-height: var(--touch-target);
  }
}
.expanding_button_group_group button:focus-visible,
.expanding_button_group_group a:focus-visible,
.expanding_button_group_more:focus-visible {
  outline: var(--button-focus-width) solid var(--focus);
  outline-offset: calc(-1 * var(--button-focus-width));
}

/* src/lab-actions.css */
.lab-actions .lab-variant {
  padding-bottom: 40px;
  margin-bottom: 8px;
  border-bottom: 1px dashed var(--cc-rule);
}
.lab-actions .lab-tag {
  display: inline-block;
  margin: 18px 0 0;
  padding: 3px 10px;
  border-radius: 99px;
  background: var(--cc-ink);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}
.lab-actions .lab-card {
  margin: 0;
  padding: 0;
  list-style: none;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 1px 1px rgb(16 16 19 / .035), 0 2px 6px rgb(56 44 20 / .025);
  overflow: hidden;
}
.lab-actions .lab-rows li {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 0 16px;
  font-size: 15px;
  font-weight: 500;
  position: relative;
}
.lab-actions .lab-rows li + li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 16px;
  right: 0;
  height: 1px;
  background: var(--cc-rule);
}
.lab-actions .lab-rows em {
  margin-left: auto;
  color: var(--cc-muted);
  font-size: 14px;
  font-style: normal;
}
.lab-actions .lab-rows em.todo {
  color: var(--cc-link);
  font-weight: 500;
}
.lab-actions .lab-after {
  display: grid;
  justify-items: stretch;
  margin-top: 12px;
}
.lab-actions .lab-after > * {
  width: 100%;
}
.lab-actions .lab-meal {
  display: grid;
  grid-template-columns: 96px 1fr;
}
.lab-actions .lab-ph {
  background:
    linear-gradient(
      135deg,
      #d9c9a3,
      #8f7a4f);
}
.lab-actions .lab-meal-b {
  display: grid;
  gap: 3px;
  justify-items: start;
  padding: 12px 14px 14px;
}
.lab-actions .lab-meal-b small {
  color: var(--cc-muted);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.lab-actions .lab-meal-b b {
  font-family: var(--cc-font-title);
  font-size: 18px;
  font-weight: 600;
}
.lab-actions .lab-meal-b span {
  color: var(--cc-muted);
  font-size: 13.5px;
}
.lab-actions .lab-meal-act {
  margin-top: 8px;
}

/* src/dock.css */
.acs-dock-root {
  --dk-ease: cubic-bezier(.16, 1, .3, 1);
  --dk-spring: cubic-bezier(.34, 1.56, .64, 1);
  position: absolute;
  inset: 0;
  z-index: 40;
  pointer-events: none;
}
.acs-dock-root[data-hidden] {
  visibility: hidden;
}
.acs-dock-root > * {
  pointer-events: auto;
}
.acs-dock {
  position: absolute;
  left: 50%;
  bottom: calc(22px + env(safe-area-inset-bottom, 0px));
  display: flex;
  gap: 2px;
  padding: 6px;
  transform: translateX(-50%);
  border-radius: 99px;
  background: rgb(255 255 255 / .88);
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  box-shadow: 0 0 0 1px rgb(16 16 19 / .05), 0 12px 32px rgb(16 16 19 / .14);
  font-family: var(--cc-font-ui, "ACS Inter", system-ui, sans-serif);
}
.acs-dk {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 51px;
  min-width: 50px;
  padding: 0 13px;
  border-radius: 99px;
  color: var(--cc-ink, #101013);
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -webkit-user-select: none;
  transition:
    background 320ms var(--dk-ease),
    color 240ms,
    padding 360ms var(--dk-ease),
    transform 200ms var(--dk-spring),
    box-shadow 240ms;
}
.acs-dk:active {
  transform: scale(.93);
}
.acs-dk > svg {
  flex: none;
  width: 21px;
  height: 21px;
}
.acs-dk > span {
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -.005em;
  transition: max-width 360ms var(--dk-ease);
}
.acs-dk[data-on] {
  padding: 0 16px 0 14px;
  background: var(--cc-ink, #101013);
  color: #fff;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .12), 0 4px 12px rgb(16 16 19 / .22);
}
.acs-dk[data-on] > span {
  max-width: 120px;
}
.acs-dk[data-peek] {
  background: var(--cc-sunk, #efece4);
  box-shadow: inset 0 0 0 1.5px var(--cc-action, #c0a46d);
}
.acs-dk-dot {
  position: absolute;
  top: 9px;
  right: 9px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cc-action, #c0a46d);
  box-shadow: 0 0 0 2px #fff;
}
.acs-dock[data-input=pointer] .acs-dk:focus-visible {
  outline: none;
}
.acs-dk:focus-visible {
  outline: 2px solid var(--cc-link, #8a6a1f);
  outline-offset: 2px;
}
.acs-dock-scrim {
  position: absolute;
  inset: 0;
  background: rgb(16 16 19 / .2);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 280ms;
}
.acs-dock-scrim[data-open] {
  opacity: 1;
  pointer-events: auto;
}
.acs-surdock {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: calc(22px + 63px + 12px + env(safe-area-inset-bottom, 0px));
  overflow: hidden;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 0 0 1px rgb(16 16 19 / .05), 0 24px 50px -10px rgb(16 16 19 / .32);
  transform-origin: 50% 100%;
  animation: acs-sd-in 440ms var(--dk-spring) both;
}
@keyframes acs-sd-in {
  from {
    opacity: 0;
    transform: translateY(22px) scale(.95);
  }
}
.acs-surdock::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 74px;
  background:
    radial-gradient(
      90% 120% at 0% 0%,
      rgb(234 212 157 / .32),
      transparent 70%);
  pointer-events: none;
}
.acs-surdock-h {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px 12px;
}
.acs-surdock-ic {
  flex: none;
  display: grid;
  filter: drop-shadow(0 4px 8px rgb(16 16 19 / .18));
}
.acs-surdock-h b {
  display: block;
  font-family: var(--cc-font-title, "Archivo", sans-serif);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.15;
}
.acs-surdock-h small {
  display: block;
  color: var(--cc-muted, #605f5e);
  font-size: 12.5px;
}
.acs-surdock ul {
  margin: 0;
  padding: 0 8px 8px;
  list-style: none;
}
.acs-surdock li {
  animation: acs-sd-row 380ms var(--dk-ease) both;
}
@keyframes acs-sd-row {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
}
.acs-surdock li + li {
  border-top: 1px solid #f1ede5;
}
.acs-surdock li button {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 60px;
  padding: 9px 10px;
  border-radius: 18px;
  text-align: left;
  color: var(--cc-ink, #101013);
  transition: background 180ms, transform 180ms var(--dk-spring);
}
.acs-surdock li button:hover {
  background: #fbf8f1;
}
.acs-surdock li button:active {
  transform: scale(.985);
  background: #f7f2e7;
}
.acs-surdock li button:focus-visible {
  outline: 2px solid var(--cc-link, #8a6a1f);
  outline-offset: -2px;
}
.acs-surdock li button[data-cur] {
  background: #fbf8f1;
}
.acs-surdock li:has(button[data-cur]) + li,
.acs-surdock li:has(+ li button[data-cur]) + li {
  border-top-color: transparent;
}
.acs-surdock-ri {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--cc-sunk, #efece4);
}
.acs-surdock-ri svg {
  width: 19px;
  height: 19px;
}
button[data-cur] .acs-surdock-ri {
  background: var(--cc-ink, #101013);
  color: #fff;
}
.acs-surdock-t {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.acs-surdock-t b {
  font-size: 15px;
  font-weight: 600;
}
.acs-surdock-t small {
  overflow: hidden;
  color: var(--cc-muted, #605f5e);
  font-size: 12.5px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.acs-surdock-t small[data-go] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--cc-link, #8a6a1f);
  font-weight: 600;
}
.acs-surdock-t small[data-go]::before {
  content: "";
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cc-action, #c0a46d);
}
.acs-surdock li button > svg {
  color: #c2c1bd;
}
.acs-surdock-here {
  height: 24px;
  padding: 0 10px;
  border-radius: 99px;
  background: var(--cc-ink, #101013);
  color: #fff;
  font-size: 11.5px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
}
@media (prefers-reduced-motion: reduce) {
  .acs-surdock,
  .acs-surdock li {
    animation: acs-sd-fade 140ms both;
  }
  @keyframes acs-sd-fade {
    from {
      opacity: 0;
    }
  }
  .acs-dk,
  .acs-dk > span,
  .acs-dock-scrim {
    transition-duration: 1ms;
  }
}
.acs-dock-root {
  container-type: size;
}
@container (max-width: 380px) {
  .acs-dock {
    padding: 5px;
  }
  .acs-dk {
    min-width: 46px;
    height: 48px;
    padding: 0 11px;
    gap: 6px;
  }
  .acs-dk[data-on] {
    padding: 0 13px 0 12px;
  }
  .acs-dk > span {
    font-size: 13px;
  }
  .acs-dk-dot {
    top: 8px;
    right: 7px;
  }
}

/* src/copycat.css */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html,
body {
  height: 100%;
  margin: 0;
}
body {
  background: #e9e9ed;
  color: #111;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "SF Pro Text",
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;
  -webkit-font-smoothing: antialiased;
}
#root {
  min-height: 100%;
}
button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
button:focus-visible {
  outline: 2px solid var(--cc-link, #1b5cff);
  outline-offset: 2px;
}
p,
h1,
h2,
dl,
dd,
ul,
ol {
  margin: 0;
}
ul,
ol {
  padding: 0;
  list-style: none;
}
::selection {
  background: rgb(var(--cc-focus-rgb, 27 92 255) / .2);
}
.cc-stage {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 0 16px;
}
.cc-stage[data-mobile] {
  display: block;
  padding: 0;
  background: #f2f2f4;
}
.cc-phone-slot {
  position: relative;
  flex: none;
}
.cc-phone {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  overflow: clip;
  transform-origin: top left;
  border-radius: 48px;
  background: var(--cc-page, #f2f2f4);
  box-shadow: 0 0 0 1px var(--cc-rule-strong, #dcdce1), 0 30px 70px rgb(0 0 0 / .12);
}
.cc-stage[data-mobile] .cc-phone {
  border-radius: 0;
  box-shadow: none;
}
.cc-tag {
  max-width: 393px;
  margin-top: 14px;
  color: #8e8e93;
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}
.cc-screen {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
  background: var(--cc-page, #f2f2f4);
}
.cc-status {
  position: relative;
  z-index: 3;
  display: flex;
  flex: none;
  height: 50px;
  align-items: center;
  justify-content: space-between;
  padding: 6px 30px 0 52px;
}
.cc-status-time {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -.01em;
}
.cc-status-icons {
  display: flex;
  align-items: center;
  gap: 6px;
}
.cc-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 8px 22px 112px;
  scrollbar-width: none;
}
.cc-scroll::-webkit-scrollbar {
  display: none;
}
.cc-card {
  border-radius: 20px;
  background: var(--cc-surface, #fff);
  box-shadow: 0 1px 2px rgb(0 0 0 / .03);
}
.cc-title {
  font-size: 27px;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.15;
}
.cc-overline {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  font-weight: 500;
}
.cc-icon-btn {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-surface, #fff);
  box-shadow: 0 0 0 1px var(--cc-rule, #e6e6ea);
}
.cc-small {
  color: var(--cc-muted, #6b6b70);
  font-size: 12px;
}
.cc-muted {
  color: var(--cc-muted, #8e8e93);
}
.cc-right {
  text-align: right;
}
.cc-today {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-top: 10px;
}
.cc-today .cc-title {
  margin-top: 2px;
}
.cc-head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cc-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  object-position: 30% 25%;
}
.cc-week {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-top: 18px;
}
.cc-day {
  display: grid;
  width: 44px;
  height: 70px;
  justify-self: center;
  justify-items: center;
  align-content: center;
  gap: 4px;
  border-radius: 22px;
}
.cc-day-l {
  color: var(--cc-muted, #8e8e93);
  font-size: 11px;
  font-weight: 500;
}
.cc-day-n {
  font-size: 15px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.cc-day-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
}
.cc-day-dot[data-on] {
  background: #22c55e;
}
.cc-day[data-active] {
  background: var(--cc-action, #1b5cff);
  color: var(--cc-on-action, #fff);
}
.cc-day[data-active] .cc-day-l {
  color: rgb(255 255 255 / .8);
}
.cc-day[data-active] .cc-day-dot {
  background: var(--cc-surface, #fff);
}
.cc-rings-card {
  display: flex;
  height: 189px;
  align-items: center;
  gap: 36px;
  margin-top: 22px;
  padding: 0 20px 0 22px;
}
.cc-ring-stats {
  display: grid;
  gap: 10px;
}
.cc-ring-stats dt {
  font-size: 12px;
  font-weight: 600;
}
.cc-ring-stats dd {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-ring-stats b {
  margin-right: 2px;
  color: var(--cc-ink, #111);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.cc-halves {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 16px;
}
.cc-half {
  height: 122px;
  padding: 14px 16px;
}
.cc-half-label {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--cc-muted, #6b6b70);
  font-size: 12px;
  font-weight: 500;
}
.cc-half-value {
  margin-top: 10px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.cc-half-value small {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  font-weight: 500;
}
.cc-heartline {
  display: block;
  width: 100%;
  height: 20px;
  margin-top: 12px;
}
.cc-sleepbars {
  display: flex;
  height: 32px;
  align-items: flex-end;
  gap: 6px;
  margin-top: 8px;
}
.cc-sleepbars span {
  width: 9px;
  border-radius: 4px;
  background: var(--cc-alt, #8b5cf6);
}
.cc-upnext {
  position: relative;
  display: block;
  width: 100%;
  height: 187px;
  margin-top: 14px;
  overflow: hidden;
  border-radius: 20px;
  color: #fff;
  text-align: left;
}
.cc-upnext img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
}
.cc-upnext::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to top,
      rgb(0 0 0 / .72),
      rgb(0 0 0 / .1) 70%);
}
.cc-upnext-text {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 1;
  display: grid;
  gap: 3px;
}
.cc-upnext-kicker {
  font-size: 11px;
  opacity: .85;
}
.cc-upnext-title {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -.01em;
}
.cc-upnext-meta {
  font-size: 12px;
  opacity: .8;
}
.cc-upnext-play {
  position: absolute;
  right: 18px;
  bottom: 24px;
  z-index: 1;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
}
.cc-tabbar {
  position: absolute;
  right: 22px;
  bottom: 22px;
  left: 22px;
  z-index: 4;
  display: grid;
  height: 63px;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  padding: 6px;
  border-radius: 32px;
  background: var(--cc-surface, #fff);
  box-shadow: 0 8px 28px rgb(0 0 0 / .09), 0 0 0 1px rgb(0 0 0 / .03);
}
.cc-tab {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 3px;
  border-radius: 26px;
  color: var(--cc-muted, #8e8e93);
  font-size: 10.5px;
  font-weight: 500;
}
.cc-tab[data-active] {
  background: var(--cc-soft, #eaf0ff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-pagehead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 18px;
}
.cc-pagehead--stack {
  display: grid;
  justify-content: start;
  gap: 2px;
}
.cc-pagehead .cc-title {
  font-size: 23px;
}
.cc-chips {
  display: flex;
  gap: 8px;
  margin: 16px -22px 0 0;
  overflow: hidden;
  white-space: nowrap;
}
.cc-chip {
  flex: none;
  height: 30px;
  padding: 0 15px;
  border-radius: 15px;
  background: var(--cc-surface, #fff);
  box-shadow: inset 0 0 0 1px var(--cc-rule, #e2e2e6);
  font-size: 12px;
  font-weight: 500;
}
.cc-chip[data-active] {
  background: var(--cc-ink, #111);
  box-shadow: none;
  color: #fff;
}
.cc-featured {
  margin-top: 34px;
  padding: 10px;
}
.cc-featured-media {
  position: relative;
  height: 200px;
  overflow: hidden;
  border-radius: 14px;
}
.cc-featured-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.cc-featured-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 9px;
  border-radius: 12px;
  background: rgb(17 17 17 / .72);
  color: #fff;
  font-size: 10.5px;
  font-weight: 600;
}
.cc-heart {
  position: absolute;
  top: 10px;
  right: 10px;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-surface, #fff);
}
.cc-featured-body {
  display: grid;
  width: 100%;
  gap: 5px;
  padding: 16px 8px 14px;
  text-align: left;
}
.cc-featured-title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.01em;
}
.cc-featured-sub {
  color: var(--cc-muted, #6b6b70);
  font-size: 12px;
}
.cc-featured-meta {
  color: var(--cc-muted, #a1a1a6);
  font-size: 11px;
}
.cc-sectionhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 26px 0 12px;
}
.cc-sectionhead h2 {
  font-size: 15px;
  font-weight: 600;
}
.cc-seeall {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--cc-link, #1b5cff);
  font-size: 12px;
  font-weight: 600;
}
.cc-rows {
  display: grid;
  gap: 12px;
}
.cc-row {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 14px;
  padding: 8px;
  text-align: left;
}
.cc-row img {
  width: 131px;
  height: 131px;
  flex: none;
  border-radius: 14px;
  object-fit: cover;
}
.cc-row-text {
  display: grid;
  gap: 4px;
}
.cc-row-title {
  font-size: 17px;
  font-weight: 600;
}
.cc-row-sub {
  color: var(--cc-muted, #6b6b70);
  font-size: 12px;
}
.cc-row-meta {
  color: var(--cc-muted, #a1a1a6);
  font-size: 11px;
}
.cc-seg {
  display: grid;
  height: 44px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 18px;
  padding: 4px;
  border-radius: 22px;
  background: var(--cc-rule, #e6e6ea);
}
.cc-seg button {
  border-radius: 18px;
  color: var(--cc-muted, #6b6b70);
  font-size: 13px;
  font-weight: 500;
}
.cc-seg button[data-active] {
  background: var(--cc-surface, #fff);
  box-shadow: 0 1px 3px rgb(0 0 0 / .08);
  color: var(--cc-ink, #111);
}
.cc-training {
  margin-top: 31px;
  padding: 22px 18px 32px;
}
.cc-big {
  margin-top: 8px;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.cc-delta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-pill-up {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 2px 7px;
  border-radius: 10px;
  background: #dcfce7;
  color: #16a34a;
  font-size: 11px;
  font-weight: 600;
}
.cc-bars {
  display: grid;
  height: 175px;
  grid-template-columns: repeat(7, 1fr);
  align-items: end;
  margin-top: 28px;
}
.cc-bar {
  display: grid;
  justify-items: center;
  gap: 8px;
}
.cc-bar-stack {
  display: flex;
  width: 25px;
  flex-direction: column;
  gap: 2px;
}
.cc-bar-stack span {
  border-radius: 5px;
}
.cc-bar-d {
  color: var(--cc-muted, #8e8e93);
  font-size: 10px;
}
.cc-empty {
  display: grid;
  height: 170px;
  place-items: center;
  margin-top: 18px;
}
.cc-legend {
  display: flex;
  gap: 14px;
  margin-top: 23px;
  color: var(--cc-muted, #6b6b70);
  font-size: 11px;
}
.cc-legend li {
  display: flex;
  align-items: center;
  gap: 5px;
}
.cc-legend i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}
.cc-weight {
  margin-top: 28px;
  padding: 18px;
}
.cc-weight h2 {
  font-size: 15px;
  font-weight: 600;
}
.cc-weight-row {
  display: flex;
  justify-content: space-between;
  margin-top: 12px;
}
.cc-weight-v {
  margin-top: 2px;
  font-size: 22px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.cc-weight-v small {
  font-size: 12px;
  font-weight: 500;
}
.cc-rail {
  position: relative;
  height: 6px;
  margin-top: 14px;
  border-radius: 3px;
  background: var(--cc-rule, #e6e6ea);
}
.cc-rail span {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: 3px;
  background: var(--cc-action, #1b5cff);
}
.cc-rail i {
  position: absolute;
  top: -5px;
  width: 16px;
  height: 16px;
  border: 3px solid var(--cc-link, #1b5cff);
  border-radius: 50%;
  background: var(--cc-surface, #fff);
  transform: translateX(-50%);
}
.cc-exercise {
  background: var(--cc-surface, #fff);
}
.cc-ex-photo {
  position: absolute;
  inset: 0 0 auto;
  height: 470px;
}
.cc-ex-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
}
.cc-ex-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to bottom,
      rgb(0 0 0 / .35) 0%,
      rgb(0 0 0 / 0) 24%,
      rgb(255 255 255 / 0) 62%,
      var(--cc-surface, #fff) 100%);
}
.cc-ex-top {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  padding: 0 22px;
  color: #fff;
}
.cc-ex-close {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: rgb(0 0 0 / .32);
}
.cc-ex-name {
  font-size: 16px;
  font-weight: 600;
}
.cc-ex-check {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-action, #1b5cff);
}
.cc-ex-body {
  position: absolute;
  top: 428px;
  right: 0;
  left: 0;
  z-index: 2;
  text-align: center;
}
.cc-ex-current {
  color: var(--cc-link, #1b5cff);
  font-size: 12px;
  font-weight: 600;
}
.cc-ex-title {
  margin-top: 4px;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -.02em;
}
.cc-ex-time {
  margin-top: 18px;
  font-size: 60px;
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.cc-ex-total {
  margin-top: 6px;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-ex-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 30px 40px 0;
}
.cc-ex-stats dt {
  color: var(--cc-muted, #8e8e93);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.cc-ex-stats dd {
  margin-top: 4px;
  font-size: 17px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.cc-ex-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 46px;
  margin-top: 52px;
}
.cc-ex-skip {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-soft, #e8efff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-ex-play {
  display: grid;
  width: 92px;
  height: 92px;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-action, #1b5cff);
  box-shadow: 0 12px 28px rgb(var(--cc-focus-rgb, 27 92 255) / .32);
}
.cc-summary {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  align-items: flex-end;
  padding: 16px;
  background: rgb(17 17 17 / .32);
}
.cc-summary-card {
  display: grid;
  width: 100%;
  justify-items: center;
  gap: 8px;
  padding: 26px 22px 22px;
  border-radius: 24px;
  background: var(--cc-surface, #fff);
  text-align: center;
}
.cc-summary-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-action, #1b5cff);
  color: var(--cc-on-action, #fff);
}
.cc-summary-card h2 {
  font-size: 20px;
  font-weight: 700;
}
.cc-summary-card p {
  color: var(--cc-muted, #6b6b70);
  font-size: 13px;
}
.cc-primary {
  width: 100%;
  height: 50px;
  margin-top: 10px;
  border-radius: 25px;
  background: var(--cc-action, #1b5cff);
  color: var(--cc-on-action, #fff);
  font-size: 15px;
  font-weight: 600;
}
.cc-toast {
  position: absolute;
  bottom: 100px;
  left: 50%;
  z-index: 6;
  padding: 9px 14px;
  border-radius: 14px;
  background: var(--cc-ink, #111);
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
  transform: translateX(-50%);
}
.cc-home .cc-scroll {
  padding-bottom: var(--cc-dock-reserve);
}
.cc-home .cc-head-actions {
  gap: 8px;
}
.cc-home-avatar-btn {
  display: block;
  border-radius: 50%;
}
.cc-home .cc-day-dot[data-on] {
  background: #22c55e;
}
.cc-home .cc-day[data-active] .cc-day-dot[data-on] {
  background: var(--cc-surface, #fff);
}
.cc-home .cc-day[data-active] .cc-day-dot:not([data-on]) {
  background: transparent;
}
.cc-home .cc-ring-stats {
  gap: 6px;
}
.cc-home-axis {
  display: grid;
  justify-items: start;
  gap: 1px;
  padding: 2px 6px 2px 0;
  border-radius: 10px;
  text-align: left;
}
.cc-home-axis-l {
  font-size: 12px;
  font-weight: 600;
}
.cc-home-axis-v {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-home-axis-v b {
  margin-right: 2px;
  color: var(--cc-ink, #111);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.cc-home-half {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.cc-home-half-sub {
  margin-top: 6px;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-home-half-word {
  font-size: 22px;
}
.cc-home-half-add {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 14px;
  color: var(--cc-link, #1b5cff);
  font-size: 13px;
  font-weight: 600;
}
.cc-home-prog {
  cursor: pointer;
}
.cc-home-prog-open {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: 20px;
}
.cc-home-kicker {
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.cc-home .cc-home-play {
  z-index: 3;
  color: #fff;
}
.cc-home-section {
  margin-top: 6px;
}
.cc-home-card {
  padding: 4px 16px;
}
.cc-home-slots {
  display: grid;
}
.cc-home-slot {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 8px 0;
}
.cc-home-slot + .cc-home-slot {
  border-top: 1px solid var(--cc-rule, #efeff2);
}
.cc-home-slot-time {
  width: 44px;
  flex: none;
  font-size: 14px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.cc-home-slot-text {
  display: grid;
  flex: 1;
  gap: 2px;
  min-width: 0;
}
.cc-home-slot-title {
  overflow: hidden;
  font-size: 14px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-home-slot-meta {
  color: var(--cc-muted, #8e8e93);
  font-size: 11.5px;
}
.cc-home-slot-btn {
  flex: none;
  height: 32px;
  padding: 0 14px;
  border-radius: 16px;
  background: var(--cc-action, #1b5cff);
  color: var(--cc-on-action, #fff);
  font-size: 12px;
  font-weight: 600;
}
.cc-home-slot-btn[data-state=booked] {
  background: var(--cc-soft, #eaf0ff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-home-slot-btn[data-state=full] {
  background: var(--cc-page, #f2f2f4);
  color: var(--cc-muted, #8e8e93);
  cursor: default;
}
.cc-home-slot-btn[data-state=full][data-waitlist] {
  background: var(--cc-surface, #fff);
  box-shadow: inset 0 0 0 1px var(--cc-rule-strong, #d6d6db);
  color: var(--cc-ink, #111);
  cursor: pointer;
}
.cc-home-empty {
  padding: 18px 0;
  color: var(--cc-muted, #8e8e93);
  font-size: 13px;
  text-align: center;
}
.cc-home-info {
  display: flex;
  width: 100%;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
  padding: 14px 16px;
  color: var(--cc-text-2, #3a3a3f);
  font-size: 12.5px;
  line-height: 1.45;
  text-align: left;
}
.cc-home-info b {
  color: var(--cc-ink, #111);
}
.cc-home-info svg {
  flex: none;
  margin-top: 1px;
}
.cc-home-rows {
  gap: 10px;
}
.cc-home-row img {
  width: 72px;
  height: 72px;
}
.cc-home-row-title {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}
.cc-home-overlay {
  position: absolute;
  inset: 0;
  z-index: 7;
  display: flex;
  align-items: flex-end;
  background: rgb(17 17 17 / .32);
}
.cc-home-sheet {
  display: grid;
  width: 100%;
  max-height: 82%;
  gap: 14px;
  overflow-y: auto;
  padding: 18px 20px calc(20px + var(--cc-safe-bottom));
  border-radius: 24px 24px 0 0;
  background: var(--cc-surface, #fff);
}
.cc-home-sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.cc-home-sheet-head h2 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -.01em;
}
.cc-home-p {
  color: var(--cc-text-2, #3a3a3f);
  font-size: 14px;
  line-height: 1.5;
}
.cc-home-big {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.cc-home-big small {
  color: var(--cc-muted, #8e8e93);
  font-size: 13px;
  font-weight: 500;
}
.cc-home-demo {
  color: var(--cc-muted, #a1a1a6);
  font-size: 11.5px;
}
.cc-home-list {
  display: grid;
  gap: 12px;
}
.cc-home-list li {
  display: grid;
  gap: 2px;
  font-size: 14px;
  line-height: 1.45;
}
.cc-home-list small {
  color: var(--cc-muted, #8e8e93);
  font-size: 11.5px;
}
.cc-home-ex {
  display: grid;
  gap: 8px;
  padding-left: 20px;
  list-style: decimal;
  font-size: 14px;
}
.cc-home-stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}
.cc-home-choice {
  margin-top: 0;
}
.cc-home-sheet .cc-primary {
  margin-top: 0;
}
.cc-home-sheet .cc-primary:disabled,
.cc-seance .cc-suivi-pad > .cc-primary:disabled {
  opacity: .45;
  cursor: default;
}
.cc-home-planning {
  display: grid;
  gap: 14px;
}
.cc-home-planning h3 {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  font-weight: 600;
  text-transform: capitalize;
}
.cc-home-tabbar {
  grid-template-columns: repeat(5, 1fr);
  gap: 2px;
  padding: 6px 5px;
}
.cc-home-tabbar .cc-tab {
  font-size: 9.5px;
  white-space: nowrap;
}
.cc-home .cc-week {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  column-gap: 4px;
}
.cc-home .cc-day {
  width: 100%;
  max-width: 44px;
  min-width: 0;
}
.cc-home .cc-day-l,
.cc-home .cc-day-n {
  display: block;
  min-width: 2ch;
  text-align: center;
  line-height: 1.2;
}
.cc-home-section--day {
  margin-top: 0;
}
.cc-home-section--day .cc-sectionhead {
  margin-top: 18px;
}
.cc-home .cc-home-half-add {
  color: var(--cc-link, #1b5cff);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}
.cc-suivi .cc-scroll {
  padding-bottom: var(--cc-dock-reserve);
}
.cc-suivi .cc-seg {
  margin-top: 16px;
}
.cc-suivi .cc-seg.cc-suivi-seg-sm {
  height: 36px;
  margin-top: 0;
}
.cc-suivi .cc-seg.cc-suivi-seg-sm button {
  font-size: 12.5px;
}
.cc-suivi-period {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
}
.cc-suivi-period .cc-icon-btn:disabled {
  opacity: .35;
  cursor: default;
}
.cc-suivi-period-label {
  font-size: 15px;
  font-weight: 600;
}
.cc-suivi-block .cc-sectionhead {
  margin: 22px 0 10px;
}
.cc-suivi .cc-ring-stats {
  gap: 6px;
}
.cc-suivi-rings {
  height: auto;
  min-height: 160px;
  padding-block: 20px;
}
.cc-suivi-card {
  padding: 4px 16px;
}
.cc-suivi-pad {
  display: grid;
  gap: 14px;
  padding: 16px;
}
.cc-suivi-detail {
  display: grid;
  gap: 10px;
  margin-top: 10px;
  padding: 14px 16px;
}
.cc-suivi-meta {
  margin: 0;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  line-height: 1.45;
}
.cc-suivi-meta b {
  color: var(--cc-ink, #111);
  font-size: 14px;
}
.cc-suivi-empty {
  margin: 0;
  padding: 16px 0;
  color: var(--cc-muted, #8e8e93);
  font-size: 13px;
  text-align: center;
}
p.cc-suivi-empty.cc-card {
  padding: 22px 16px;
}
.cc-suivi-list {
  display: grid;
}
.cc-suivi-list > li + li {
  border-top: 1px solid var(--cc-rule, #efeff2);
}
.cc-suivi-row {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 8px 0;
  text-align: left;
}
.cc-suivi-check {
  display: grid;
  width: 28px;
  height: 28px;
  flex: none;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-soft, #eaf0ff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-suivi-row-text {
  display: grid;
  flex: 1;
  gap: 2px;
  min-width: 0;
}
.cc-suivi-row-title {
  margin: 0;
  overflow: hidden;
  font-size: 14px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-suivi-kv {
  display: grid;
  gap: 8px;
}
.cc-suivi-kv li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
}
.cc-suivi-kv li span {
  color: var(--cc-muted, #6b6b70);
}
.cc-suivi-kv li b {
  font-weight: 600;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.cc-suivi-weight {
  display: grid;
  gap: 8px;
}
.cc-suivi-weight-row {
  display: flex;
  justify-content: space-between;
}
.cc-suivi-big {
  margin: 2px 0 0;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.cc-suivi-delta {
  margin: 2px 0 0;
  color: #16a34a;
  font-size: 17px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.cc-suivi-curve {
  display: block;
  width: 100%;
  height: 70px;
}
.cc-suivi-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  justify-self: start;
  color: var(--cc-link, #1b5cff);
  font-size: 13px;
  font-weight: 600;
}
.cc-suivi-chips {
  flex-wrap: wrap;
  margin: 0;
  overflow: visible;
  white-space: normal;
}
.cc-suivi-perf {
  display: grid;
  width: 100%;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  text-align: left;
  font-size: 13px;
}
.cc-suivi-perf b {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.cc-suivi-bar {
  height: 6px;
  border-radius: 3px;
  background: var(--cc-sunk, #eef0f4);
}
.cc-suivi-bar i {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: var(--cc-link, #1b5cff);
}
.cc-suivi-habits {
  display: grid;
}
.cc-suivi-habits > li {
  display: grid;
  gap: 10px;
  padding: 12px 0;
}
.cc-suivi-habits > li + li {
  border-top: 1px solid var(--cc-rule, #efeff2);
}
.cc-suivi-habit-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.cc-suivi-marks {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}
.cc-suivi-mark {
  display: grid;
  justify-items: center;
  gap: 4px;
  color: var(--cc-muted, #8e8e93);
  font-size: 10.5px;
}
.cc-suivi-mark i {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
}
.cc-suivi-mark[data-state=done] i {
  background: var(--cc-link, #1b5cff);
  color: var(--cc-on-action, #fff);
}
.cc-suivi-mark[data-state=todo] i {
  box-shadow: inset 0 0 0 1.5px var(--cc-link, #1b5cff);
}
.cc-suivi-mark[data-state=none] i {
  width: 10px;
  height: 2px;
  margin: 11px 0;
  border-radius: 1px;
  background: var(--cc-rule-strong, #d6d6db);
}
.cc-suivi-mark:disabled {
  cursor: default;
}
.cc-suivi-note {
  padding-bottom: 12px;
}
.cc-suivi-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}
.cc-suivi-day {
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 4px 0;
  border-radius: 12px;
}
.cc-suivi-day:disabled {
  opacity: .4;
  cursor: default;
}
.cc-suivi-day-l {
  color: var(--cc-muted, #8e8e93);
  font-size: 10.5px;
  white-space: nowrap;
}
.cc-suivi-sleepbar {
  display: flex;
  width: 10px;
  height: 54px;
  align-items: flex-end;
  border-radius: 5px;
  background: var(--cc-soft, #f1eefe);
}
.cc-suivi-sleepbar i {
  display: block;
  width: 100%;
  border-radius: 5px;
  background: var(--cc-alt, #8b5cf6);
}
.cc-suivi-day-v {
  font-size: 11.5px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.cc-suivi-day[data-empty] .cc-suivi-day-v {
  color: var(--cc-rule-strong, #c4c4c9);
}
.cc-suivi-day-s {
  color: var(--cc-muted, #8e8e93);
  font-size: 10px;
}
.cc-suivi-bilan {
  display: grid;
  gap: 8px;
}
.cc-reserver .cc-scroll {
  padding-bottom: var(--cc-dock-reserve);
}
.cc-reserver .cc-week {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  column-gap: 4px;
  margin-top: 10px;
}
.cc-reserver .cc-day {
  width: 100%;
  max-width: 44px;
  min-width: 0;
}
.cc-reserver .cc-day-l,
.cc-reserver .cc-day-n {
  display: block;
  min-width: 2ch;
  text-align: center;
  line-height: 1.2;
}
.cc-reserver .cc-day-dot[data-on] {
  background: #22c55e;
}
.cc-reserver .cc-day[data-active] .cc-day-dot[data-on] {
  background: var(--cc-surface, #fff);
}
.cc-reserver .cc-day[data-active] .cc-day-dot:not([data-on]) {
  background: transparent;
}
.cc-reserver-period {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
}
.cc-reserver-period .cc-icon-btn:disabled {
  opacity: .35;
  cursor: default;
}
.cc-reserver-period-label {
  font-size: 15px;
  font-weight: 600;
}
.cc-reserver-block .cc-sectionhead {
  margin: 22px 0 10px;
}
.cc-reserver-open {
  text-align: left;
}
.cc-reserver-empty {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding-bottom: 14px;
}
.cc-reserver-when {
  display: grid;
  width: 56px;
  flex: none;
  gap: 1px;
}
.cc-reserver-when b {
  font-size: 14px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.cc-reserver-when small {
  color: var(--cc-muted, #8e8e93);
  font-size: 11px;
}
.cc-reserver-badge {
  flex: none;
  padding: 4px 9px;
  border-radius: 12px;
  background: #e8f8ee;
  color: #16a34a;
  font-size: 11px;
  font-weight: 600;
}
.cc-reserver-badge[data-wait] {
  background: #fff4e5;
  color: #b45309;
}
.cc-reserver-credits {
  margin: 0;
  color: var(--cc-muted, #6b6b70);
  font-size: 13px;
}
.cc-reserver-credits b {
  color: var(--cc-ink, #111);
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.cc-biblio .cc-scroll {
  padding-bottom: var(--cc-dock-reserve);
}
.cc-biblio-search {
  display: flex;
  height: 44px;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  padding: 0 14px;
  border-radius: 22px;
  background: var(--cc-surface, #fff);
  box-shadow: inset 0 0 0 1px var(--cc-rule, #e6e6ea);
}
.cc-biblio-search input {
  flex: 1;
  min-width: 0;
  height: 100%;
  border: 0;
  background: none;
  color: var(--cc-ink, #111);
  font: inherit;
  font-size: 14px;
  outline: none;
}
.cc-biblio-search input::placeholder {
  color: var(--cc-muted, #a1a1a6);
}
.cc-biblio-search input::-webkit-search-cancel-button {
  display: none;
}
.cc-biblio-search:focus-within {
  box-shadow: inset 0 0 0 2px var(--cc-link, #1b5cff);
}
.cc-biblio-search button {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-rule, #e6e6ea);
  color: var(--cc-muted, #6b6b70);
}
.cc-biblio-chips {
  margin: 12px 0 0;
}
.cc-biblio-block .cc-sectionhead {
  margin: 22px 0 10px;
}
.cc-biblio-prog {
  cursor: pointer;
}
.cc-biblio-prog-open {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: 20px;
}
.cc-biblio-kicker {
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.cc-biblio .cc-biblio-play {
  z-index: 3;
  color: #fff;
}
.cc-biblio-res {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  min-height: 68px;
  padding: 8px 0;
  text-align: left;
}
.cc-card.cc-biblio-res {
  margin-top: 10px;
  padding: 12px 16px;
}
.cc-biblio-res img {
  width: 52px;
  height: 52px;
  flex: none;
  border-radius: 12px;
  object-fit: cover;
}
.cc-biblio-format {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-biblio-empty {
  display: grid;
  justify-items: center;
  gap: 6px;
  margin: 40px 0 0;
  color: var(--cc-muted, #8e8e93);
  font-size: 14px;
  text-align: center;
}
.cc-biblio-empty p {
  margin: 0;
}
.cc-biblio-notes {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--cc-page, #f2f2f4);
}
.cc-biblio-notes ul {
  display: grid;
  gap: 4px;
  padding-left: 18px;
  list-style: disc;
  color: var(--cc-text-2, #3a3a3f);
  font-size: 13.5px;
  line-height: 1.45;
}
.cc-biblio-session {
  display: grid;
  gap: 6px;
}
.cc-biblio-player {
  display: grid;
  gap: 4px;
  padding: 16px;
  border-radius: 14px;
  background: var(--cc-page, #f2f2f4);
}
.cc-biblio-article {
  display: grid;
  gap: 10px;
}
.cc-card.cc-biblio-nutrition-entry {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 12px 16px;
  text-align: left;
}
.cc-biblio-ph {
  display: grid;
  width: 52px;
  height: 52px;
  flex: none;
  place-items: center;
  border-radius: 12px;
  background: var(--cc-soft, #eaf0ff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-nutrition {
  --ccn-ease: cubic-bezier(.22, 1, .36, 1);
}
.cc-nutrition .cc-scroll {
  padding-bottom: var(--cc-dock-reserve);
}
.cc-nutrition-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 18px;
}
.cc-nutrition-head .cc-title {
  font-size: 23px;
}
.cc-nutrition-block .cc-sectionhead {
  margin: 22px 0 10px;
}
.cc-nutrition-block .cc-seeall {
  gap: 4px;
}
.cc-nutrition-card {
  display: grid;
  gap: 12px;
  padding: 16px;
}
.cc-nutrition-line {
  display: grid;
  gap: 2px;
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}
.cc-nutrition-line span {
  color: var(--cc-muted, #8e8e93);
  font-size: 11.5px;
  font-weight: 500;
}
.cc-nutrition-reperes {
  display: grid;
  gap: 8px;
}
.cc-nutrition-reperes li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--cc-text-2, #3a3a3f);
  font-size: 13.5px;
  line-height: 1.4;
}
.cc-nutrition-reperes svg {
  flex: none;
  margin-top: 2px;
  color: var(--cc-link, #1b5cff);
}
.cc-nutrition-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
}
.cc-nutrition-start {
  justify-items: start;
}
.cc-nutrition-meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin: 0;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-nutrition-week {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.cc-nutrition-indicator {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: calc(100% / 7);
  height: 70px;
  place-items: center;
  transform: translateX(calc(var(--i) * 100%));
  transition: transform 420ms var(--ccn-ease);
  pointer-events: none;
}
.cc-nutrition-indicator i {
  width: 44px;
  height: 70px;
  border-radius: 22px;
  background: var(--cc-link, #1b5cff);
  box-shadow: 0 6px 16px rgb(var(--cc-focus-rgb, 27 92 255) / .28);
}
.cc-nutrition-day {
  position: relative;
  z-index: 1;
  display: grid;
  height: 70px;
  justify-items: center;
  align-content: center;
  gap: 4px;
  min-width: 0;
  color: var(--cc-ink, #111);
  transition: color 220ms var(--ccn-ease);
}
.cc-nutrition-day .cc-day-l {
  display: block;
  text-align: center;
  transition: color 220ms var(--ccn-ease);
}
.cc-nutrition-day[data-active] {
  color: #fff;
}
.cc-nutrition-day[data-active] .cc-day-l {
  color: rgb(255 255 255 / .8);
}
.cc-nutrition-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
}
.cc-nutrition-dot[data-on] {
  background: #22c55e;
}
.cc-nutrition-day[data-active] .cc-nutrition-dot[data-on] {
  background: var(--cc-surface, #fff);
}
@keyframes ccn-in-right {
  from {
    opacity: 0;
    transform: translateX(22px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes ccn-in-left {
  from {
    opacity: 0;
    transform: translateX(-22px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes ccn-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.cc-nutrition-daypanel {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding: 14px 16px;
}
.cc-nutrition-dayname {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--cc-muted, #6b6b70);
}
.cc-nutrition-meals {
  display: grid;
}
.cc-nutrition-meals > li {
  display: grid;
  gap: 6px;
  padding: 10px 0;
}
.cc-nutrition-meals > li + li {
  border-top: 1px solid var(--cc-rule, #efeff2);
}
.cc-nutrition-meal {
  color: var(--cc-muted, #8e8e93);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.cc-nutrition-entry {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  text-align: left;
}
.cc-nutrition-entry > span:nth-child(2) {
  display: grid;
  flex: 1;
  gap: 1px;
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
}
.cc-nutrition-entry small {
  color: var(--cc-muted, #8e8e93);
  font-size: 11.5px;
  font-weight: 500;
}
.cc-nutrition-mini {
  width: 36px;
  height: 36px;
  flex: none;
  border-radius: 10px;
  object-fit: cover;
}
.cc-nutrition-addmeal {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  justify-self: start;
  height: 32px;
  padding: 0 12px;
  border-radius: 16px;
  background: var(--cc-soft, #eaf0ff);
  color: var(--cc-link-on-soft, #1b5cff);
  font-size: 12.5px;
  font-weight: 600;
}
.cc-nutrition-ph {
  display: grid;
  place-items: center;
  background: var(--cc-soft, #eaf0ff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-nutrition-ideas {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.cc-nutrition-idea {
  display: grid;
  width: 100%;
  gap: 6px;
  padding: 6px 6px 10px;
  text-align: left;
}
.cc-nutrition-idea-img {
  display: block;
  width: 100%;
  height: 96px;
  border-radius: 14px;
  object-fit: cover;
}
.cc-nutrition-idea-name {
  padding: 0 4px;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.3;
}
.cc-nutrition-idea .cc-nutrition-meta {
  padding: 0 4px;
  font-size: 11px;
}
.cc-nutrition-hero {
  overflow: hidden;
  border-radius: 16px;
}
.cc-nutrition-hero-img {
  display: block;
  width: 100%;
  height: 170px;
  object-fit: cover;
  animation: ccn-hero 520ms var(--ccn-ease) both;
}
@keyframes ccn-hero {
  from {
    opacity: 0;
    transform: scale(1.08);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.cc-nutrition-row {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 8px 0;
  text-align: left;
}
.cc-nutrition-thumb {
  width: 48px;
  height: 48px;
  flex: none;
  border-radius: 12px;
  object-fit: cover;
}
.cc-nutrition-ing {
  margin-top: 8px;
}
.cc-nutrition-actions {
  display: grid;
  justify-items: center;
  gap: 10px;
}
.cc-nutrition-detail {
  display: grid;
  gap: 12px;
}
.cc-nutrition-detail li {
  display: grid;
  gap: 3px;
  font-size: 14px;
  line-height: 1.45;
}
.cc-nutrition-detail span {
  color: var(--cc-muted, #6b6b70);
}
.cc-nutrition-warn {
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: #fff4e5;
  color: #8a4b08;
  font-size: 13px;
  line-height: 1.45;
}
.cc-nutrition-choose {
  display: grid;
  gap: 8px;
}
.cc-nutrition-choose > span {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  font-weight: 600;
}
.cc-nutrition-chips {
  flex-wrap: wrap;
  margin: 0;
  overflow: visible;
  white-space: normal;
}
.cc-nutrition-search {
  display: flex;
  height: 40px;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border-radius: 20px;
  background: var(--cc-page, #f2f2f4);
}
.cc-nutrition-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: none;
  color: var(--cc-ink, #111);
  font: inherit;
  font-size: 14px;
  outline: none;
}
.cc-nutrition-courses {
  display: grid;
}
.cc-nutrition-courses li + li {
  border-top: 1px solid var(--cc-rule, #efeff2);
}
.cc-nutrition-check {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  min-height: 46px;
  text-align: left;
  font-size: 14px;
}
.cc-nutrition-check i {
  display: grid;
  width: 22px;
  height: 22px;
  flex: none;
  place-items: center;
  border-radius: 7px;
  box-shadow: inset 0 0 0 1.5px var(--cc-rule-strong, #c4c4c9);
  color: #fff;
  transition: background 180ms var(--ccn-ease), box-shadow 180ms var(--ccn-ease);
}
.cc-nutrition-check[data-on] i {
  background: var(--cc-link, #1b5cff);
  box-shadow: none;
}
.cc-nutrition-check span {
  flex: 1;
  transition: color 180ms;
}
.cc-nutrition-check[data-on] span {
  color: var(--cc-muted, #a1a1a6);
  text-decoration: line-through;
}
.cc-nutrition-check b {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
@keyframes ccn-backdrop-in {
  from {
    background: rgb(17 17 17 / 0);
  }
  to {
    background: rgb(17 17 17 / .32);
  }
}
@keyframes ccn-backdrop-out {
  from {
    background: rgb(17 17 17 / .32);
  }
  to {
    background: rgb(17 17 17 / 0);
  }
}
.cc-nutrition-overlay {
  position: absolute;
  inset: 0;
  z-index: 7;
  display: flex;
  align-items: flex-end;
  background: rgb(17 17 17 / .32);
  animation: ccn-backdrop-in 240ms ease-out backwards;
  transition: background-color 220ms ease-in;
}
.cc-nutrition-sheet {
  display: grid;
  width: 100%;
  max-height: 84%;
  gap: 14px;
  overflow-y: auto;
  padding: 18px 20px calc(20px + var(--cc-safe-bottom));
  border-radius: 24px 24px 0 0;
  background: var(--cc-surface, #fff);
}
.cc-nutrition-overlay[data-closing] {
  background: rgb(17 17 17 / 0);
}
.cc-nutrition-sheet .cc-primary {
  margin-top: 0;
}
.cc-nutrition button {
  transition: transform 140ms var(--ccn-ease);
}
.cc-nutrition button:active {
  transform: scale(.97);
}
.cc-nutrition .cc-nutrition-day:active,
.cc-nutrition .cc-tab:active {
  transform: scale(.94);
}
@keyframes ccn-toast {
  from {
    opacity: 0;
    transform: translate(-50%, 12px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}
.cc-nutrition-toast {
  position: absolute;
  bottom: 100px;
  left: 50%;
  z-index: 6;
  padding: 9px 14px;
  border-radius: 14px;
  background: var(--cc-ink, #111);
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
  transform: translateX(-50%);
  animation: ccn-toast 300ms var(--ccn-ease) both;
}
@media (prefers-reduced-motion: reduce) {
  .cc-nutrition-indicator,
  .cc-nutrition-day,
  .cc-nutrition button {
    transition: none;
  }
  .cc-nutrition button:active,
  .cc-nutrition .cc-nutrition-day:active,
  .cc-nutrition .cc-tab:active {
    transform: none;
  }
  .cc-nutrition-hero-img {
    animation: ccn-fade 120ms linear both;
  }
  .cc-nutrition-overlay,
  .cc-nutrition-overlay[data-closing] {
    animation: none;
  }
  .cc-nutrition-toast {
    animation: none;
  }
}
.cc-studio {
  --ccs-ease: cubic-bezier(.22, 1, .36, 1);
}
.cc-studio .cc-scroll {
  padding-bottom: var(--cc-dock-reserve);
}
.cc-studio-block .cc-sectionhead {
  margin: 22px 0 10px;
}
.cc-studio-meta {
  margin: 0;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  line-height: 1.4;
}
.cc-studio-link {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: var(--cc-link, #1b5cff);
  font-size: 12.5px;
  font-weight: 600;
}
.cc-studio-news {
  display: grid;
  width: 100%;
  overflow: hidden;
  text-align: left;
}
.cc-studio-news img {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.cc-studio-news-body {
  display: grid;
  gap: 4px;
  padding: 14px 16px 16px;
}
.cc-studio-news-title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.25;
}
.cc-studio-excerpt {
  color: var(--cc-text-2, #3a3a3f);
  font-size: 13.5px;
  line-height: 1.45;
}
.cc-studio-events {
  display: grid;
  grid-auto-columns: 78%;
  grid-auto-flow: column;
  gap: 12px;
  margin: 0 -22px;
  padding: 0 22px 4px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.cc-studio-events::-webkit-scrollbar {
  display: none;
}
.cc-studio-events > li {
  scroll-snap-align: start;
}
.cc-studio-event {
  display: grid;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-align: left;
}
.cc-studio-event img {
  display: block;
  width: 100%;
  height: 110px;
  object-fit: cover;
}
.cc-studio-event-body {
  display: grid;
  gap: 3px;
  padding: 12px 14px 14px;
}
.cc-studio-date {
  justify-self: start;
  padding: 3px 8px;
  border-radius: 10px;
  background: var(--cc-soft, #eaf0ff);
  color: var(--cc-link-on-soft, #1b5cff);
  font-size: 11px;
  font-weight: 600;
}
.cc-studio-event-title {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}
.cc-studio-teamphoto {
  position: relative;
  margin: 0 0 12px;
  overflow: hidden;
  border-radius: 20px;
}
.cc-studio-teamphoto img {
  display: block;
  width: 100%;
  height: 150px;
  object-fit: cover;
  object-position: center 30%;
}
.cc-studio-teamphoto figcaption {
  position: absolute;
  left: 12px;
  bottom: 10px;
  padding: 4px 9px;
  border-radius: 12px;
  background: rgb(17 17 17 / .62);
  color: #fff;
  font-size: 11px;
}
.cc-studio-team {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.cc-studio-coach {
  display: grid;
  justify-items: start;
  gap: 4px;
  padding: 16px;
}
.cc-studio-initials {
  display: grid;
  width: 48px;
  height: 48px;
  margin-bottom: 4px;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-soft, #eaf0ff);
  color: var(--cc-link-on-soft, #1b5cff);
  font-size: 18px;
  font-weight: 700;
}
.cc-studio-coach-name {
  font-size: 15px;
  font-weight: 600;
}
.cc-studio-row {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  min-height: 60px;
  padding: 8px 0;
  text-align: left;
}
.cc-studio-row > svg:first-child {
  flex: none;
  color: var(--cc-link, #1b5cff);
}
.cc-studio-hero {
  display: block;
  width: 100%;
  height: 170px;
  border-radius: 16px;
  object-fit: cover;
  animation: ccs-hero 520ms var(--ccs-ease) both;
}
@keyframes ccs-hero {
  from {
    opacity: 0;
    transform: scale(1.06);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.cc-studio-chips {
  flex-wrap: wrap;
  margin: 0;
  overflow: visible;
  white-space: normal;
}
.cc-studio-ok {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: #16a34a;
  font-size: 14px;
  font-weight: 600;
}
.cc-studio-iti {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.cc-studio-closures {
  display: grid;
  gap: 6px;
  padding-top: 6px;
  border-top: 1px solid var(--cc-rule, #efeff2);
}
@keyframes ccs-backdrop-in {
  from {
    background: rgb(17 17 17 / 0);
  }
  to {
    background: rgb(17 17 17 / .32);
  }
}
@keyframes ccs-backdrop-out {
  from {
    background: rgb(17 17 17 / .32);
  }
  to {
    background: rgb(17 17 17 / 0);
  }
}
@keyframes ccs-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.cc-studio-overlay {
  position: absolute;
  inset: 0;
  z-index: 7;
  display: flex;
  align-items: flex-end;
  background: rgb(17 17 17 / .32);
  animation: ccs-backdrop-in 240ms ease-out backwards;
  transition: background-color 220ms ease-in;
}
.cc-studio-sheet {
  display: grid;
  width: 100%;
  max-height: 84%;
  gap: 14px;
  overflow-y: auto;
  padding: 18px 20px calc(20px + var(--cc-safe-bottom));
  border-radius: 24px 24px 0 0;
  background: var(--cc-surface, #fff);
}
.cc-studio-overlay[data-closing] {
  background: rgb(17 17 17 / 0);
}
.cc-studio-sheet .cc-primary {
  margin-top: 0;
}
.cc-studio button {
  transition: transform 140ms var(--ccs-ease);
}
.cc-studio button:active {
  transform: scale(.97);
}
.cc-studio .cc-tab:active {
  transform: scale(.94);
}
@keyframes ccs-toast {
  from {
    opacity: 0;
    transform: translate(-50%, 12px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}
.cc-studio-toast {
  position: absolute;
  bottom: 100px;
  left: 50%;
  z-index: 6;
  padding: 9px 14px;
  border-radius: 14px;
  background: var(--cc-ink, #111);
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
  transform: translateX(-50%);
  animation: ccs-toast 300ms var(--ccs-ease) both;
}
@media (prefers-reduced-motion: reduce) {
  .cc-studio button {
    transition: none;
  }
  .cc-studio button:active,
  .cc-studio .cc-tab:active {
    transform: none;
  }
  .cc-studio-hero {
    animation: ccs-fade 120ms linear both;
  }
  .cc-studio-overlay,
  .cc-studio-overlay[data-closing],
  .cc-studio-toast {
    animation: none;
  }
  .cc-studio-events {
    scroll-behavior: auto;
  }
}
.cc-studio-portrait {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  margin-bottom: 6px;
  border-radius: 14px;
  object-fit: cover;
  object-position: 50% 16%;
  background: var(--cc-soft, #eaf0ff);
}
.cc-studio-portrait-hero {
  object-position: 50% 16%;
}
.cc-studio-mine {
  padding: 3px 8px;
  border-radius: 10px;
  background: var(--cc-soft, #eaf0ff);
  color: var(--cc-link-on-soft, #1b5cff);
  font-size: 10.5px;
  font-weight: 600;
}
.cc-seance {
  --ccse-ease: cubic-bezier(.22, 1, .36, 1);
}
.cc-seance .cc-scroll {
  padding-top: 12px;
  padding-bottom: var(--cc-dock-reserve);
}
.cc-seance-block .cc-sectionhead {
  margin: 22px 0 10px;
}
.cc-seance-meta {
  margin: 0;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  line-height: 1.45;
}
.cc-seance-title {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.2;
}
.cc-seance-rx {
  margin: 0;
  color: var(--cc-text-2, #3a3a3f);
  font-size: 14px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.cc-seance-ok {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: #16a34a;
  font-size: 14px;
  font-weight: 600;
}
.cc-seance-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 0;
}
.cc-seance-hero {
  display: grid;
  overflow: hidden;
}
.cc-seance-hero-media {
  position: relative;
}
.cc-seance-hero-media img {
  display: block;
  width: 100%;
  height: 210px;
  object-fit: cover;
}
.cc-seance-video-badge {
  position: absolute;
  left: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 12px;
  background: rgb(17 17 17 / .66);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
}
.cc-seance-hero-body {
  display: grid;
  gap: 8px;
  padding: 16px;
}
.cc-seance-progress {
  height: 6px;
  overflow: hidden;
  border-radius: 3px;
  background: var(--cc-rule, #e6e6ea);
}
.cc-seance-progress i {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: var(--cc-link, #1b5cff);
  transition: width 520ms var(--ccse-ease);
}
.cc-seance-list {
  padding: 4px 16px;
}
.cc-seance-list > li + li {
  border-top: 1px solid var(--cc-rule, #efeff2);
}
.cc-seance-group {
  margin: 10px 0 0;
  color: var(--cc-link, #1b5cff);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.cc-seance-row {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  min-height: 68px;
  padding: 8px 0;
  text-align: left;
}
.cc-seance-row[data-grouped] {
  padding-left: 10px;
  box-shadow: inset 2px 0 0 var(--cc-soft, #c9d8ff);
}
.cc-seance-row img {
  width: 48px;
  height: 48px;
  flex: none;
  border-radius: 12px;
  object-fit: cover;
}
.cc-seance-state {
  display: grid;
  width: 28px;
  height: 28px;
  flex: none;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-page, #f2f2f4);
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  font-weight: 700;
  transition: background 240ms var(--ccse-ease), color 240ms var(--ccse-ease);
}
.cc-seance-row[data-state=done] .cc-seance-state {
  background: #22c55e;
  color: #fff;
}
.cc-seance-row[data-state=active] .cc-seance-state {
  background: var(--cc-action, #1b5cff);
  color: var(--cc-on-action, #fff);
  box-shadow: 0 0 0 4px var(--cc-soft, #eaf0ff);
}
.cc-seance-row[data-state=active] .cc-suivi-row-title {
  color: var(--cc-link, #1b5cff);
}
.cc-seance-coach {
  display: flex;
  gap: 14px;
  padding: 16px;
}
.cc-seance-coach > img {
  width: 64px;
  height: 64px;
  flex: none;
  border-radius: 16px;
  object-fit: cover;
  object-position: 50% 16%;
}
.cc-seance-coach > div {
  display: grid;
  gap: 4px;
}
.cc-seance-preview {
  margin: 0;
  color: var(--cc-text-2, #3a3a3f);
  font-size: 13.5px;
  line-height: 1.45;
}
.cc-seance-coach-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.cc-seance-coach-row img {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  object-fit: cover;
  object-position: 50% 16%;
}
.cc-seance-coach-row span {
  display: grid;
  gap: 2px;
}
.cc-seance-coach-row small {
  color: var(--cc-muted, #8e8e93);
  font-size: 11.5px;
}
.cc-seance-cues {
  display: grid;
  gap: 8px;
  padding-left: 20px;
  color: var(--cc-text-2, #3a3a3f);
  font-size: 14px;
  line-height: 1.45;
}
ul.cc-seance-cues {
  list-style: disc;
}
ol.cc-seance-cues {
  list-style: decimal;
}
.cc-seance-video {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: 14px;
  background: var(--cc-page, #f2f2f4);
  color: var(--cc-muted, #6b6b70);
}
.cc-seance-video span {
  display: grid;
  gap: 2px;
  font-size: 13px;
}
.cc-seance-video small {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-seance-comment {
  width: 100%;
  padding: 12px 14px;
  border: 0;
  border-radius: 14px;
  background: var(--cc-page, #f2f2f4);
  color: var(--cc-ink, #111);
  font: inherit;
  font-size: 14px;
  resize: vertical;
  outline: none;
}
.cc-seance-comment:focus {
  box-shadow: inset 0 0 0 2px var(--cc-link, #1b5cff);
}
.cc-seance-feedback {
  animation: ccse-rise 420ms var(--ccse-ease) both;
}
.cc-seance-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 6px;
}
.cc-seance-head-text {
  display: grid;
  gap: 1px;
}
.cc-seance-head-title {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
}
.cc-seance-head + .cc-seance-progress {
  margin-top: 12px;
}
.cc-seance-step {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}
.cc-seance-step-photo {
  display: block;
  width: 100%;
  height: 170px;
  border-radius: 20px;
  object-fit: cover;
}
.cc-seance-caption {
  margin: -2px 0 4px;
  color: var(--cc-muted, #a1a1a6);
  font-size: 11px;
}
.cc-seance-sets {
  display: grid;
  margin-top: 6px;
  padding: 4px 14px;
}
.cc-seance-sets > li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 58px;
}
.cc-seance-sets > li + li {
  border-top: 1px solid var(--cc-rule, #efeff2);
}
.cc-seance-setn {
  flex: 1;
  min-width: 56px;
  font-size: 13px;
  font-weight: 600;
}
.cc-seance-sets > li[data-done] .cc-seance-setn {
  color: #16a34a;
}
.cc-seance-step-field {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px;
  border-radius: 16px;
  background: var(--cc-page, #f2f2f4);
}
.cc-seance-step-field button {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-surface, #fff);
  color: var(--cc-link, #1b5cff);
}
.cc-seance-step-field b {
  min-width: 42px;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.cc-seance-check {
  display: grid;
  width: 32px;
  height: 32px;
  flex: none;
  place-items: center;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1.5px var(--cc-rule-strong, #c4c4c9);
  color: transparent;
  transition:
    background 200ms var(--ccse-ease),
    box-shadow 200ms var(--ccse-ease),
    color 200ms;
}
.cc-seance-check[data-on] {
  background: var(--cc-action, #1b5cff);
  box-shadow: none;
  color: var(--cc-on-action, #fff);
  animation: ccse-pop 260ms var(--ccse-ease);
}
.cc-seance-nav {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  margin-top: 18px;
}
.cc-seance-secondary {
  display: inline-flex;
  height: 50px;
  align-items: center;
  gap: 6px;
  padding: 0 16px;
  border-radius: 25px;
  background: var(--cc-surface, #fff);
  box-shadow: inset 0 0 0 1px var(--cc-rule, #e2e2e6);
  font-size: 14px;
  font-weight: 600;
}
.cc-seance-secondary:disabled {
  opacity: .4;
  cursor: default;
}
@keyframes ccse-in-right {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes ccse-in-left {
  from {
    opacity: 0;
    transform: translateX(-24px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes ccse-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes ccse-pop {
  0% {
    transform: scale(.8);
  }
  60% {
    transform: scale(1.12);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes ccse-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes ccse-backdrop-in {
  from {
    background: rgb(17 17 17 / 0);
  }
  to {
    background: rgb(17 17 17 / .32);
  }
}
@keyframes ccse-backdrop-out {
  from {
    background: rgb(17 17 17 / .32);
  }
  to {
    background: rgb(17 17 17 / 0);
  }
}
.cc-seance-overlay {
  position: absolute;
  inset: 0;
  z-index: 7;
  display: flex;
  align-items: flex-end;
  background: rgb(17 17 17 / .32);
  animation: ccse-backdrop-in 240ms ease-out backwards;
  transition: background-color 220ms ease-in;
}
.cc-seance-sheet {
  display: grid;
  width: 100%;
  max-height: 84%;
  gap: 14px;
  overflow-y: auto;
  padding: 18px 20px calc(20px + var(--cc-safe-bottom));
  border-radius: 24px 24px 0 0;
  background: var(--cc-surface, #fff);
}
.cc-seance-overlay[data-closing] {
  background: rgb(17 17 17 / 0);
}
.cc-seance button {
  transition: transform 140ms var(--ccse-ease);
}
.cc-seance button:active {
  transform: scale(.97);
}
.cc-seance .cc-tab:active,
.cc-seance .cc-seance-check:active {
  transform: scale(.92);
}
@keyframes ccse-toast {
  from {
    opacity: 0;
    transform: translate(-50%, 12px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}
.cc-seance-toast {
  position: absolute;
  bottom: 100px;
  left: 50%;
  z-index: 6;
  padding: 9px 14px;
  border-radius: 14px;
  background: var(--cc-ink, #111);
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
  transform: translateX(-50%);
  animation: ccse-toast 300ms var(--ccse-ease) both;
}
@media (prefers-reduced-motion: reduce) {
  .cc-seance button,
  .cc-seance-progress i,
  .cc-seance-state,
  .cc-seance-check {
    transition: none;
  }
  .cc-seance button:active,
  .cc-seance .cc-tab:active,
  .cc-seance .cc-seance-check:active {
    transform: none;
  }
  .cc-seance-feedback {
    animation: ccse-fade 120ms linear both;
  }
  .cc-seance-check[data-on],
  .cc-seance-overlay,
  .cc-seance-overlay[data-closing],
  .cc-seance-toast {
    animation: none;
  }
}
.cc-seance-player {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  overflow: hidden;
  background: var(--cc-ink, #111);
  color: #fff;
}
.cc-seance-player-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  object-fit: contain;
  background: var(--cc-ink, #111);
}
.cc-seance-player[data-fullscreen] {
  border-radius: 0;
  aspect-ratio: auto;
  width: 100vw;
  height: 100vh;
}
.cc-seance-player-yt-wrap {
  display: grid;
  gap: 6px;
}
.cc-seance-player-yt-wrap a {
  color: var(--cc-link, #1b5cff);
  text-decoration: none;
  font-weight: 600;
}
.cc-seance-player button {
  -webkit-tap-highlight-color: transparent;
  transition:
    transform .14s ease,
    opacity .2s ease,
    background-color .2s ease;
}
.cc-seance-player button:active:not(:disabled) {
  transform: scale(.92);
}
.cc-seance-player-fs {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 17px;
  background: rgb(17 17 17 / .62);
  color: #fff;
  cursor: pointer;
}
.cc-seance-player-big {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 56px;
  height: 56px;
  margin: -28px 0 0 -28px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 28px;
  background: var(--cc-action, #1b5cff);
  color: var(--cc-on-action, #fff);
  cursor: pointer;
  box-shadow: 0 6px 20px rgb(0 0 0 / .28);
  animation: cc-seance-player-in .22s ease both;
}
.cc-seance-player-bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 18px 10px 8px;
  background:
    linear-gradient(
      to top,
      rgb(0 0 0 / .62),
      transparent);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.cc-seance-player[data-status=playing]:not(:hover):not(:focus-within) .cc-seance-player-bar {
  opacity: .0;
  transition: opacity .4s ease 1.2s;
}
.cc-seance-player-bar button {
  width: 30px;
  height: 30px;
  flex: none;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 15px;
  background: transparent;
  color: #fff;
  cursor: pointer;
}
.cc-seance-player-bar button:disabled {
  opacity: .4;
  cursor: default;
}
.cc-seance-player-time {
  flex: none;
  min-width: 32px;
  text-align: center;
}
.cc-seance-player-track {
  position: relative;
  flex: 1;
  height: 20px;
  display: flex;
  align-items: center;
}
.cc-seance-player-track::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 2px;
  background:
    linear-gradient(
      to right,
      var(--cc-surface, #fff) var(--p, 0%),
      rgb(255 255 255 / .3) var(--p, 0%));
  transition: background .2s linear;
}
.cc-seance-player-track input {
  position: relative;
  width: 100%;
  height: 20px;
  margin: 0;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.cc-seance-player-track input::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background: var(--cc-surface, #fff);
}
.cc-seance-player-track input::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border: 0;
  border-radius: 6px;
  background: var(--cc-surface, #fff);
}
.cc-seance-player-track input::-moz-range-track {
  background: transparent;
}
.cc-seance-player-spin {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 28px;
  height: 28px;
  margin: -14px 0 0 -14px;
  border-radius: 50%;
  border: 3px solid rgb(255 255 255 / .3);
  border-top-color: #fff;
  animation: cc-seance-player-spin .8s linear infinite;
}
.cc-seance-player-error {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 10px;
  padding: 16px;
  text-align: center;
  font-size: 13px;
}
.cc-seance-player-error button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: 0;
  border-radius: 16px;
  background: var(--cc-surface, #fff);
  color: var(--cc-ink, #111);
  font-weight: 600;
  cursor: pointer;
}
@keyframes cc-seance-player-in {
  from {
    opacity: 0;
    transform: scale(.86);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes cc-seance-player-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cc-seance-player button,
  .cc-seance-player-bar,
  .cc-seance-player-track::before {
    transition: opacity .15s ease;
  }
  .cc-seance-player button:active:not(:disabled) {
    transform: none;
  }
  .cc-seance-player-big {
    animation: cc-seance-player-fade .15s ease both;
  }
  .cc-seance-player-spin {
    animation-duration: 2.4s;
  }
}
@keyframes cc-seance-player-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.cc-seance-demo {
  display: grid;
  gap: 6px;
}
.cc-home .cc-home-usermenu {
  height: 40px;
  padding: 0;
  border-radius: 50%;
}
.cc-home .cc-home-usermenu [data-size=sm] {
  --face-size: 40px;
}
.cc-home-notif {
  display: inline-flex;
}
.cc-home-notif > button {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: var(--cc-surface, #fff);
  box-shadow: 0 0 0 1px var(--cc-rule, #e6e6ea);
  color: var(--cc-ink, #111);
}
.cc-home-notif > button svg {
  width: 18px;
  height: 18px;
}
body > [data-radix-popper-content-wrapper] {
  --arc-font-body:var(--cc-font-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif);
  --arc-accent: var(--cc-action, #1b5cff);
  --arc-accent-strong: var(--cc-action, #1b5cff);
  --arc-accent-subtle: var(--cc-soft, #eef3ff);
  --arc-control-on: var(--cc-link, #1b5cff);
  --arc-focus-ring: var(--cc-link, #1b5cff);
}
.cc-drawer-grip {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  justify-content: center;
  margin: -14px -20px -10px;
  padding: 2px 0 4px;
  background: var(--cc-surface, #fff);
  touch-action: none;
  cursor: grab;
}
.cc-drawer-grip:active {
  cursor: grabbing;
}
.cc-drawer-handle {
  display: grid;
  width: 44px;
  height: 24px;
  place-items: center;
  border-radius: 12px;
}
.cc-drawer-handle span {
  display: block;
  width: 36px;
  height: 5px;
  border-radius: 3px;
  background: var(--cc-rule-strong, #d1d1d6);
  transition: background-color .16s ease, width .16s ease;
}
.cc-drawer-handle:focus-visible span {
  background: var(--cc-muted, #a1a1a6);
}
@media (hover: hover) and (pointer: fine) {
  .cc-drawer-handle:hover span {
    background: var(--cc-muted, #a1a1a6);
  }
}
.cc-drawer-handle:active span {
  width: 42px;
}
@media (prefers-reduced-motion: reduce) {
  .cc-drawer-handle span {
    transition: none;
  }
  .cc-drawer-handle:active span {
    width: 36px;
  }
}
body > [data-radix-popper-content-wrapper] [role=dialog][aria-label=Notifications] button[aria-label="Fermer les notifications"] {
  display: none;
}
.cc-notif-grip {
  order: -1;
  flex: none;
}
.cc-notif-grip .cc-drawer-grip {
  position: static;
  margin: 0;
  padding: 6px 0 0;
  background: transparent;
}
.cc-drawer-grip {
  margin-bottom: 0;
}
.cc-card.cc-home-nutri {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  padding: 12px 16px;
  text-align: left;
}
.cc-home-nutri-ph {
  display: grid;
  width: 40px;
  height: 40px;
  flex: none;
  place-items: center;
  border-radius: 12px;
  background: var(--cc-soft, #eaf0ff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-home-nutri-text {
  display: grid;
  flex: 1;
  gap: 2px;
  min-width: 0;
}
.cc-home-nutri-title {
  overflow: hidden;
  font-size: 14px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-home-nutri-sub {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-notif-drawer {
  --arc-font-body:var(--cc-font-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif);
  --arc-accent: var(--cc-action, #1b5cff);
  --arc-accent-strong: var(--cc-action, #1b5cff);
  --arc-accent-subtle: var(--cc-soft, #eef3ff);
  --arc-control-on: var(--cc-link, #1b5cff);
  --arc-focus-ring: var(--cc-link, #1b5cff);
}
.cc-notif-drawer.cc-notif-drawer[data-side=bottom]::before {
  display: none;
}
.cc-notif-drawer.cc-notif-drawer > :first-child {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.cc-notif-drawer.cc-notif-drawer > :last-child {
  padding: 0 0 var(--cc-safe-bottom);
}
.cc-notif-drawer .cc-drawer-grip {
  margin: 0;
  padding: 8px 0 0;
}
.cc-account {
  --arc-control-on: var(--cc-link, #1b5cff);
  --arc-accent: var(--cc-action, #1b5cff);
  --arc-focus-ring: var(--cc-link, #1b5cff);
}
.cc-account .cc-scroll {
  padding-bottom: var(--cc-dock-reserve);
}
.cc-account-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 18px;
}
.cc-account-head .cc-title {
  font-size: 23px;
}
.cc-account-id {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 18px;
  padding: 16px;
}
.cc-account-id-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.cc-account-name {
  overflow: hidden;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-account-since {
  color: var(--cc-muted, #8e8e93);
  font-size: 13px;
}
.cc-account-photo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  justify-self: start;
  margin-top: 6px;
  color: var(--cc-link, #1b5cff);
  font-size: 13px;
  font-weight: 600;
}
.cc-account-group {
  margin-top: 22px;
}
.cc-account-group-title {
  margin: 0 4px 8px;
  color: var(--cc-muted, #8e8e93);
  font-size: 13px;
  font-weight: 600;
}
.cc-account-list {
  display: grid;
  padding: 0 16px;
}
.cc-account-list--flat {
  padding: 0;
}
.cc-account-row {
  display: flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid var(--cc-rule, #f0f0f2);
  color: inherit;
  text-align: left;
  text-decoration: none;
}
.cc-account-list > .cc-account-row:first-child {
  border-top: 0;
}
.cc-account-row-label {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
}
.cc-account-row-value {
  overflow: hidden;
  max-width: 55%;
  color: var(--cc-muted, #8e8e93);
  font-size: 13px;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
button.cc-account-row,
a.cc-account-row {
  transition: background-color .16s ease, transform .12s ease;
}
button.cc-account-row:active,
a.cc-account-row:active {
  transform: scale(.99);
}
.cc-account-pill {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 10px;
  background: var(--cc-page, #f2f2f4);
  color: var(--cc-muted, #6b6b70);
  font-size: 12px;
  font-weight: 600;
}
.cc-account-pill[data-state=active] {
  background: var(--cc-soft, #eef3ff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-account-pill[data-state=bloque] {
  background: #fdeceb;
  color: #c0392b;
}
.cc-account-note {
  margin: 8px 4px 0;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  line-height: 1.45;
}
.cc-account-inline {
  color: var(--cc-link, #1b5cff);
  font-weight: 600;
}
.cc-account-demo {
  margin-top: 22px;
}
.cc-account-form {
  display: grid;
  gap: 12px;
}
.cc-account-field {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--cc-muted, #6b6b70);
}
.cc-account-field input,
.cc-account-field textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--cc-rule, #e6e6ea);
  border-radius: 14px;
  background: var(--cc-sunk, #f7f7f9);
  color: var(--cc-ink, #111);
  font: inherit;
  font-size: 16px;
  font-weight: 500;
}
.cc-account-field input:focus-visible,
.cc-account-field textarea:focus-visible {
  outline: 2px solid var(--cc-link, #1b5cff);
  outline-offset: 1px;
  background: var(--cc-surface, #fff);
}
.cc-account-field input[aria-invalid] {
  border-color: #c0392b;
}
.cc-account-error {
  color: #c0392b;
  font-size: 13px;
}
.cc-account-ok {
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--cc-soft, #eef3ff);
  color: var(--cc-link-on-soft, #1b5cff);
  font-size: 14px;
  font-weight: 600;
}
.cc-account-days {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cc-account-file {
  display: grid;
  gap: 6px;
  color: var(--cc-link, #1b5cff);
  font-size: 14px;
  font-weight: 600;
}
.cc-account-file input {
  font-size: 13px;
  color: var(--cc-muted, #6b6b70);
}
.cc-account-guide {
  display: grid;
  gap: 6px;
}
.cc-account-consent {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid var(--cc-rule, #f0f0f2);
}
.cc-account-consent:first-child {
  border-top: 0;
}
.cc-account-consent > span {
  display: grid;
  flex: 1;
  gap: 2px;
}
.cc-account-consent small {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  line-height: 1.4;
}
.cc-account-bullets {
  display: grid;
  gap: 6px;
  padding-left: 18px;
  list-style: disc;
  font-size: 14px;
  line-height: 1.45;
}
.cc-account-bullets a {
  color: var(--cc-link, #1b5cff);
  font-weight: 600;
}
.cc-primary.cc-account-danger {
  background: #c0392b;
}
.cc-account-toast {
  position: absolute;
  left: 50%;
  bottom: calc(var(--cc-dock-height) + var(--cc-dock-gap) + 12px);
  z-index: 9;
  padding: 10px 16px;
  border-radius: 16px;
  background: var(--cc-ink, #111);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  transform: translateX(-50%);
  animation: cc-account-toast-in .24s cubic-bezier(.16, 1, .3, 1) both;
}
@keyframes cc-account-toast-in {
  from {
    opacity: 0;
    transform: translate(-50%, 8px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cc-account-toast {
    animation: ccb-fade 150ms linear both;
  }
  button.cc-account-row:active,
  a.cc-account-row:active {
    transform: none;
  }
}
.cc-card.cc-home-bilan {
  margin-top: 14px;
}
.cc-suivi-bilan-new {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--cc-rule, #f0f0f2);
}
.cc-bilan {
  --ccb-ease: cubic-bezier(.22, 1, .36, 1);
}
.cc-bilan .cc-scroll {
  display: flex;
  flex-direction: column;
  padding-bottom: calc(24px + var(--cc-safe-bottom));
}
.cc-bilan-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
}
.cc-bilan-head-text {
  display: grid;
  flex: 1;
  gap: 6px;
  min-width: 0;
}
.cc-bilan-count {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  font-weight: 600;
}
.cc-bilan-progress {
  height: 4px;
  overflow: hidden;
  border-radius: 2px;
  background: var(--cc-rule, #e6e6ea);
}
.cc-bilan-progress i {
  display: block;
  height: 100%;
  border-radius: 2px;
  background: var(--cc-link, #1b5cff);
  transition: width .45s var(--ccb-ease);
}
.cc-bilan-quit {
  flex: none;
  color: var(--cc-link, #1b5cff);
  font-size: 13px;
  font-weight: 600;
}
.cc-bilan-step {
  display: grid;
  flex: 1;
  align-content: start;
  gap: 14px;
  margin-top: 22px;
}
@keyframes ccb-in-right {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes ccb-in-left {
  from {
    opacity: 0;
    transform: translateX(-24px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.cc-bilan-intro {
  display: grid;
  gap: 10px;
}
.cc-bilan-lead {
  color: var(--cc-muted, #6b6b70);
  font-size: 16px;
  font-weight: 600;
}
.cc-bilan-parts {
  display: grid;
  gap: 8px;
  margin: 8px 0;
}
.cc-bilan-parts li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--cc-surface, #fff);
  font-size: 15px;
  font-weight: 600;
}
.cc-bilan-parts span {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 13px;
  background: var(--cc-soft, #eef3ff);
  color: var(--cc-link-on-soft, #1b5cff);
  font-size: 13px;
}
.cc-bilan-q {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.25;
}
.cc-bilan-help {
  color: var(--cc-muted, #6b6b70);
  font-size: 14px;
  line-height: 1.45;
}
.cc-bilan-demo {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  line-height: 1.4;
}
.cc-bilan-line {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--cc-ink, #111);
  font-size: 14px;
  line-height: 1.45;
}
.cc-bilan-choices {
  display: grid;
  gap: 8px;
}
.cc-bilan-choice {
  display: flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 16px;
  background: var(--cc-surface, #fff);
  box-shadow: inset 0 0 0 1px var(--cc-rule, #e6e6ea);
  font-size: 15px;
  font-weight: 600;
  text-align: left;
  transition:
    box-shadow .18s ease,
    background-color .18s ease,
    transform .12s ease;
}
.cc-bilan-choice:active {
  transform: scale(.985);
}
.cc-bilan-choice[data-on] {
  background: var(--cc-soft, #eef3ff);
  box-shadow: inset 0 0 0 2px var(--cc-link, #1b5cff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-bilan-tick {
  display: grid;
  width: 22px;
  height: 22px;
  flex: none;
  place-items: center;
  border-radius: 11px;
  box-shadow: inset 0 0 0 1.5px var(--cc-rule-strong, #c4c4c9);
  color: #fff;
}
.cc-bilan-choice[data-on] .cc-bilan-tick {
  background: var(--cc-link, #1b5cff);
  box-shadow: none;
  animation: ccb-pop .22s var(--ccb-ease) both;
}
@keyframes ccb-pop {
  from {
    transform: scale(.6);
  }
  to {
    transform: none;
  }
}
.cc-bilan-signal {
  display: flex;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--cc-soft, #eef3ff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-bilan-signal span {
  display: grid;
  gap: 2px;
  font-size: 14px;
}
.cc-bilan-signal small {
  color: var(--cc-text-2, #4a4a50);
  font-size: 12px;
  line-height: 1.4;
}
.cc-bilan-number {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 14px 18px;
  border-radius: 18px;
  background: var(--cc-surface, #fff);
  box-shadow: inset 0 0 0 1px var(--cc-rule, #e6e6ea);
}
.cc-bilan-number input {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--cc-ink, #111);
  font: inherit;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -.02em;
}
.cc-bilan-number input:focus-visible {
  outline: none;
}
.cc-bilan-number:focus-within {
  box-shadow: inset 0 0 0 2px var(--cc-link, #1b5cff);
}
.cc-bilan-number span {
  color: var(--cc-muted, #8e8e93);
  font-size: 16px;
  font-weight: 600;
}
.cc-bilan-shot {
  display: grid;
  aspect-ratio: 3 / 4;
  max-height: 300px;
  overflow: hidden;
  place-items: center;
  border-radius: 20px;
  background: var(--cc-surface, #fff);
  box-shadow: inset 0 0 0 1px var(--cc-rule, #e6e6ea);
}
.cc-bilan-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cc-bilan-shot-empty {
  display: grid;
  justify-items: center;
  gap: 6px;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-bilan-shot-actions {
  display: flex;
  gap: 8px;
}
.cc-bilan-secondary {
  height: 44px;
  padding: 0 16px;
  border-radius: 22px;
  background: var(--cc-surface, #fff);
  box-shadow: inset 0 0 0 1px var(--cc-rule, #e2e2e6);
  color: var(--cc-ink, #111);
  font-size: 14px;
  font-weight: 600;
  transition: transform .12s ease;
}
.cc-bilan-secondary:active {
  transform: scale(.97);
}
.cc-bilan-secondary--wide {
  width: 100%;
  height: 48px;
}
.cc-bilan-actions {
  display: grid;
  gap: 8px;
  margin-top: 22px;
}
.cc-bilan-actions .cc-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 0;
}
.cc-bilan-actions .cc-primary:disabled {
  opacity: .4;
}
.cc-bilan-done {
  display: grid;
  justify-items: start;
  gap: 8px;
}
.cc-bilan-done > span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 22px;
  background: var(--cc-action, #1b5cff);
  color: var(--cc-on-action, #fff);
  animation: ccb-pop .32s var(--ccb-ease) both;
}
.cc-bilan-recap {
  display: grid;
  gap: 12px;
}
.cc-bilan-section {
  display: grid;
  gap: 10px;
  padding: 16px;
}
.cc-bilan-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.cc-bilan-section-head h2 {
  font-size: 16px;
  font-weight: 700;
}
.cc-bilan-empty {
  color: var(--cc-muted, #8e8e93);
  font-size: 13px;
}
.cc-bilan-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.cc-bilan-tags li {
  padding: 5px 10px;
  border-radius: 12px;
  background: var(--cc-soft, #eef3ff);
  color: var(--cc-link-on-soft, #1b5cff);
  font-size: 13px;
  font-weight: 600;
}
.cc-bilan-quote {
  display: grid;
  gap: 2px;
  font-size: 14px;
  line-height: 1.45;
}
.cc-bilan-quote small {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-bilan-thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.cc-bilan-thumbs figure {
  display: grid;
  gap: 4px;
  margin: 0;
}
.cc-bilan-thumbs img,
.cc-bilan-thumb-empty {
  width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: 10px;
  object-fit: cover;
}
.cc-bilan-thumb-empty {
  display: grid;
  place-items: center;
  background: var(--cc-page, #f2f2f4);
  color: var(--cc-muted, #8e8e93);
}
.cc-bilan-thumbs figcaption {
  color: var(--cc-muted, #8e8e93);
  font-size: 11px;
}
@media (prefers-reduced-motion: reduce) {
  .cc-bilan-progress i,
  .cc-bilan-choice {
    transition: none;
  }
  .cc-bilan-choice:active,
  .cc-bilan-secondary:active {
    transform: none;
  }
  .cc-bilan-choice[data-on] .cc-bilan-tick,
  .cc-bilan-done > span {
    animation: none;
  }
}
@keyframes ccb-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.cc-messages {
  --arc-font-body:var(--cc-font-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif);
  --arc-accent: var(--cc-action, #1b5cff);
  --arc-accent-strong: var(--cc-action, #1b5cff);
  --arc-accent-subtle: var(--cc-soft, #eef3ff);
  --arc-accent-foreground: var(--cc-on-action, #fff);
  --arc-focus-ring: var(--cc-link, #1b5cff);
  --arc-surface-muted: var(--cc-surface, #fff);
  --arc-surface: var(--cc-surface, #fff);
  --arc-border-subtle: var(--cc-rule, #e6e6ea);
  --arc-border: var(--cc-rule, #e6e6ea);
}
.cc-messages .cc-scroll {
  padding-bottom: var(--cc-dock-reserve);
}
.cc-messages-list {
  display: grid;
  margin-top: 18px;
  padding: 0 12px;
}
.cc-messages-list > li + li {
  border-top: 1px solid var(--cc-rule, #f0f0f2);
}
.cc-messages-row {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  padding: 12px 4px;
  text-align: left;
  transition: transform .12s ease;
}
.cc-messages-row:active {
  transform: scale(.99);
}
.cc-messages-row-text {
  display: grid;
  flex: 1;
  gap: 2px;
  min-width: 0;
}
.cc-messages-row-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.cc-messages-row-top b {
  overflow: hidden;
  font-size: 15px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-messages-row-top time {
  flex: none;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-messages-row-preview {
  overflow: hidden;
  color: var(--cc-muted, #8e8e93);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-messages-row[data-unread] .cc-messages-row-preview {
  color: var(--cc-ink, #111);
  font-weight: 600;
}
.cc-messages-row[data-unread] time {
  color: var(--cc-link, #1b5cff);
  font-weight: 600;
}
.cc-messages-badge {
  display: grid;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  place-items: center;
  border-radius: 10px;
  background: var(--cc-action, #1b5cff);
  color: var(--cc-on-action, #fff);
  font-size: 12px;
  font-weight: 700;
}
.cc-messages-thread {
  background: var(--cc-page, #f2f2f4);
}
.cc-messages-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 10px;
  border-bottom: 1px solid var(--cc-rule, #e6e6ea);
  background: var(--cc-page, #f2f2f4);
}
.cc-messages-head-text {
  display: grid;
  flex: 1;
  min-width: 0;
}
.cc-messages-head-text b {
  overflow: hidden;
  font-size: 15px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-messages-head-text small {
  overflow: hidden;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-messages-demo {
  flex: none;
  padding: 5px 9px;
  border-radius: 12px;
  background: var(--cc-surface, #fff);
  box-shadow: inset 0 0 0 1px var(--cc-rule, #e2e2e6);
  color: var(--cc-muted, #6b6b70);
  font-size: 11px;
  font-weight: 600;
}
.cc-messages-demo[aria-pressed=true] {
  background: #fdeceb;
  box-shadow: none;
  color: #c0392b;
}
.cc-messages-empty {
  margin: 14px 18px 0;
  color: var(--cc-muted, #8e8e93);
  font-size: 13px;
  text-align: center;
}
.cc-messages-chat {
  display: flex;
  flex: 1;
  min-height: 0;
  padding-bottom: 0;
}
.cc-messages-chatthread {
  flex: 1;
  min-width: 0;
}
.cc-messages-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: var(--cc-soft, #eef3ff);
  animation: ccm-in .22s cubic-bezier(.16, 1, .3, 1) both;
}
.cc-messages-context a {
  overflow: hidden;
  color: var(--cc-link, #1b5cff);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-messages-context button {
  flex: none;
  color: var(--cc-muted, #6b6b70);
  font-size: 12px;
  font-weight: 600;
}
.cc-messages-attach {
  padding: 0 16px;
}
.cc-messages-attach .cc-account-row {
  gap: 12px;
}
.cc-messages-preview {
  display: block;
  width: 100%;
  max-height: 60vh;
  border-radius: 16px;
  background: var(--cc-ink, #111);
  object-fit: contain;
}
.cc-msg-context {
  display: block;
  margin-bottom: 4px;
  padding: 8px 12px;
  border-radius: 14px;
  background: var(--cc-soft, #eef3ff);
  color: var(--cc-link-on-soft, #1b5cff);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
.cc-msg-video {
  display: block;
  width: 220px;
  max-width: 100%;
  margin-bottom: 4px;
  border-radius: 16px;
  background: var(--cc-ink, #111);
}
.cc-msg-pending-media {
  position: relative;
  display: block;
  padding: 0;
  border-radius: 12px;
}
.cc-msg-pending-play {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  filter: drop-shadow(0 1px 2px rgb(0 0 0 / .5));
}
@keyframes ccm-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cc-messages-context {
    animation: ccb-fade 150ms linear both;
  }
  .cc-messages-row:active {
    transform: none;
  }
}
.cc-messages-attach-pop {
  --arc-font-body:var(--cc-font-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif);
  --arc-border: var(--cc-rule, #e6e6ea);
  --arc-foreground: var(--cc-ink, #111);
  --arc-focus-ring: var(--cc-link, #1b5cff);
  --radius: 18px;
  display: grid;
  min-width: 0;
  width: max-content;
  padding: 6px;
  background: var(--cc-surface, #fff);
  font-family: var(--arc-font-body);
}
.cc-messages-attach-item {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 14px 0 10px;
  border-radius: 12px;
  color: var(--cc-ink, #111);
  font-size: 15px;
  font-weight: 600;
  text-align: left;
  transition: background-color .16s ease;
}
.cc-messages-attach-item svg {
  color: var(--cc-link, #1b5cff);
}
.cc-messages-attach-item:focus-visible {
  background: var(--cc-soft, #eef3ff);
  outline: none;
}
@media (hover: hover) and (pointer: fine) {
  .cc-messages-attach-item:hover {
    background: var(--cc-soft, #eef3ff);
  }
}
.cc-messages-attach-item:active {
  background: var(--cc-soft, #e3ebff);
}
@media (prefers-reduced-motion: reduce) {
  .cc-messages-attach-item {
    transition: none;
  }
}
.cc-messages-attach-menu {
  --arc-font-body:var(--cc-font-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif);
  --arc-surface-raised: var(--cc-surface, #fff);
  --arc-surface: var(--cc-surface, #fff);
  --arc-surface-muted: var(--cc-page, #f2f2f4);
  --arc-border: var(--cc-rule, #e6e6ea);
  --arc-border-subtle: var(--cc-rule, #ececef);
  --arc-foreground: var(--cc-ink, #111);
  --arc-text-secondary: var(--cc-muted, #8e8e93);
  --arc-focus-ring: var(--cc-link, #1b5cff);
  --arc-control-on: var(--cc-link, #1b5cff);
  font-family: var(--arc-font-body);
  font-weight: 400;
}
.cc-messages-attach-menu :focus-visible {
  outline: 2px solid var(--cc-link, #1b5cff);
  outline-offset: -2px;
}
.cc-suivi-newbilan {
  margin-top: 14px;
}
.cc-bp {
  --arc-font-body:var(--cc-font-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif);
  --arc-accent: var(--cc-action, #1b5cff);
  --arc-focus-ring: var(--cc-link, #1b5cff);
  --arc-surface-muted: var(--cc-page, #f2f2f4);
  --arc-border: var(--cc-rule, #e6e6ea);
}
.cc-bp-new {
  margin-top: 18px;
}
.cc-bp-list {
  display: grid;
  margin-top: 14px;
  padding: 0 14px;
}
.cc-bp-list > li + li {
  border-top: 1px solid var(--cc-rule, #f0f0f2);
}
.cc-bp-row {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  text-align: left;
  transition: transform .12s ease;
}
.cc-bp-row:active {
  transform: scale(.99);
}
.cc-bp-row-text {
  display: grid;
  flex: 1;
  gap: 2px;
  min-width: 0;
}
.cc-bp-row-text b {
  font-size: 15px;
  font-weight: 600;
}
.cc-bp-row-text small {
  overflow: hidden;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-bp-pill {
  display: inline-block;
  flex: none;
  padding: 3px 8px;
  border-radius: 10px;
  background: var(--cc-page, #f2f2f4);
  color: var(--cc-muted, #6b6b70);
  font-size: 11px;
  font-weight: 600;
}
.cc-bp-pill[data-status=submitted] {
  background: var(--cc-soft, #eef3ff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-bp-pill[data-status=commented] {
  background: var(--cc-ink, #111);
  color: #fff;
}
.cc-bp-meta {
  margin-top: 6px;
  color: var(--cc-muted, #8e8e93);
  font-size: 13px;
}
.cc-bp-compare-with {
  display: grid;
  gap: 6px;
  margin-top: 16px;
  color: var(--cc-muted, #6b6b70);
  font-size: 13px;
  font-weight: 600;
}
.cc-bp-block {
  margin-top: 20px;
}
.cc-bp-note {
  color: var(--cc-muted, #8e8e93);
  font-size: 13px;
  line-height: 1.45;
}
.cc-bp-measures {
  display: grid;
  padding: 0 14px;
}
.cc-bp-measures > li + li {
  border-top: 1px solid var(--cc-rule, #f0f0f2);
}
.cc-bp-measure {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  text-align: left;
}
.cc-bp-measure-label {
  flex: 1;
  font-size: 14px;
  font-weight: 600;
}
.cc-bp-measure-values {
  display: grid;
  justify-items: end;
  gap: 2px;
  text-align: right;
}
.cc-bp-measure-values b {
  font-size: 15px;
  font-weight: 700;
}
.cc-bp-measure-values small {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-bp-angles {
  margin-bottom: 10px;
}
.cc-bp-compare {
  border-radius: 20px;
  background: var(--cc-sunk, #e9e9ed);
}
.cc-bp-compare img {
  object-fit: contain;
}
.cc-bp-single {
  display: grid;
  gap: 6px;
}
.cc-bp-single img {
  width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: 20px;
  background: var(--cc-sunk, #e9e9ed);
  object-fit: contain;
}
.cc-bp-single .cc-bilan-shot-empty {
  aspect-ratio: 3 / 4;
  place-content: center;
  border-radius: 20px;
  background: var(--cc-surface, #fff);
}
.cc-bp-text {
  padding: 14px 16px;
  font-size: 14px;
  line-height: 1.5;
}
.cc-bp-coach {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}
.cc-bp-coach .cc-bp-text {
  padding: 0;
}
.cc-bp-coach-head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cc-bp-coach-head span {
  display: grid;
}
.cc-bp-coach-head b {
  font-size: 14px;
}
.cc-bp-coach-head small {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-bp-chart {
  margin: 4px 0 8px;
}
@media (prefers-reduced-motion: reduce) {
  .cc-bp-row:active {
    transform: none;
  }
}
.cc-bp-demo-btn {
  margin-top: 10px;
}
.cc-bp-compare--demo {
  background: #f3f1eb;
}
.cc-prog {
  --arc-accent: var(--cc-action, #1b5cff);
  --arc-control-on: var(--cc-link, #1b5cff);
  --arc-focus-ring: var(--cc-link, #1b5cff);
  --arc-surface-muted: var(--cc-page, #f2f2f4);
  --arc-border: var(--cc-rule, #e6e6ea);
  --arc-font-body:var(--cc-font-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif);
}
.cc-suivi-progfilter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin: 0 0 8px;
}
.cc-prog-week {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 18px;
  padding: 6px;
  border-radius: 22px;
  background: var(--cc-surface, #fff);
}
.cc-prog-week .cc-icon-btn {
  box-shadow: none;
  background: var(--cc-page, #f2f2f4);
  transition: transform 120ms ease-out, opacity 120ms ease-out;
}
.cc-prog-week .cc-icon-btn:active:not(:disabled) {
  transform: scale(.94);
}
.cc-prog-week .cc-icon-btn:disabled {
  opacity: .35;
}
.cc-prog-week-label {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.01em;
}
.cc-prog-now {
  margin-top: 8px;
}
@keyframes ccp-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes ccp-in-right {
  from {
    opacity: 0;
    transform: translateX(16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes ccp-in-left {
  from {
    opacity: 0;
    transform: translateX(-16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.cc-prog-empty {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  padding: 18px 16px;
}
.cc-prog-empty p {
  font-size: 15px;
  line-height: 1.45;
}
.cc-prog-block {
  margin-top: 22px;
}
.cc-prog-group {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}
.cc-prog-group-head {
  display: grid;
  gap: 2px;
  margin: 0 4px;
}
.cc-prog-group-head b {
  font-size: 15px;
}
.cc-prog-group-head small {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-prog-sessions {
  display: grid;
  gap: 8px;
}
.cc-prog-card {
  display: grid;
  gap: 8px;
  background: var(--cc-surface, #fff);
}
.cc-prog-card-open {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  text-align: left;
}
.cc-prog-index {
  display: grid;
  width: 28px;
  height: 28px;
  flex: none;
  place-items: center;
  border-radius: 14px;
  background: var(--cc-page, #f2f2f4);
  color: var(--cc-muted, #6b6b70);
  font-size: 13px;
  font-weight: 700;
}
.cc-prog-card[data-status=done] .cc-prog-index {
  background: var(--cc-soft, #eef3ff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-prog-card-text {
  display: grid;
  flex: 1;
  gap: 2px;
  min-width: 0;
}
.cc-prog-card-text b {
  font-size: 15px;
  font-weight: 600;
}
.cc-prog-card-text small {
  overflow: hidden;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-prog-pill {
  flex: none;
  padding: 3px 8px;
  border-radius: 10px;
  background: var(--cc-page, #f2f2f4);
  color: var(--cc-muted, #6b6b70);
  font-size: 11px;
  font-weight: 600;
}
.cc-prog-pill[data-status=started] {
  background: var(--cc-soft, #eef3ff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-prog-pill[data-status=done] {
  background: var(--cc-ink, #111);
  color: #fff;
}
.cc-prog-act {
  justify-self: start;
  height: 34px;
  padding: 0 14px;
  border-radius: 17px;
  background: var(--cc-action, #1b5cff);
  color: var(--cc-on-action, #fff);
  font-size: 13px;
  font-weight: 600;
  transition: transform 120ms ease-out;
}
.cc-prog-card[data-status=done] .cc-prog-act {
  background: var(--cc-page, #f2f2f4);
  color: var(--cc-ink, #111);
}
.cc-prog-act:active {
  transform: scale(.96);
}
@media (hover: hover) and (pointer: fine) {
  .cc-prog-act:hover {
    filter: brightness(1.06);
  }
}
.cc-prog-notes {
  display: grid;
  gap: 10px;
  margin-bottom: 10px;
  padding: 14px 16px;
}
.cc-prog-notes-head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cc-prog-notes-head span {
  display: grid;
}
.cc-prog-notes-head small {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-prog-notes ul {
  display: grid;
  gap: 6px;
  padding-left: 18px;
  list-style: disc;
  font-size: 14px;
  line-height: 1.45;
}
.cc-prog-bref {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}
.cc-prog-bref p {
  font-size: 15px;
}
@media (prefers-reduced-motion: reduce) {
  .cc-prog-week .cc-icon-btn:active:not(:disabled),
  .cc-prog-act:active {
    transform: none;
  }
}
.cc-card.cc-biblio-bank-entry {
  margin-top: 10px;
}
.cc-bank {
  --arc-font-body:var(--cc-font-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif);
  --arc-accent: var(--cc-action, #1b5cff);
  --arc-control-on: var(--cc-link, #1b5cff);
  --arc-focus-ring: var(--cc-link, #1b5cff);
  --arc-surface-muted: var(--cc-page, #f2f2f4);
  --arc-border: var(--cc-rule, #e6e6ea);
  --arc-surface: var(--cc-surface, #fff);
}
.cc-bank-filters {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}
.cc-bank-filters label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.cc-bank-cat {
  display: inline-flex;
  justify-self: start;
  align-items: center;
  gap: 6px;
  height: 34px;
  padding: 0 12px;
  border-radius: 17px;
  background: var(--cc-surface, #fff);
  box-shadow: inset 0 0 0 1px var(--cc-rule, #e2e2e6);
  color: var(--cc-ink, #111);
  font-size: 13px;
  font-weight: 600;
  transition: transform 120ms ease-out;
}
.cc-bank-cat[data-active] {
  box-shadow: inset 0 0 0 1.5px var(--cc-link, #1b5cff);
  color: var(--cc-link, #1b5cff);
}
.cc-bank-cat:active {
  transform: scale(.97);
}
.cc-bank-menu {
  --arc-surface-raised: var(--cc-surface, #fff);
  --arc-surface-muted: var(--cc-page, #f2f2f4);
  --arc-border: var(--cc-rule, #e6e6ea);
  --arc-foreground: var(--cc-ink, #111);
  --arc-text-secondary: var(--cc-link, #1b5cff);
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "SF Pro Text",
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;
  font-weight: 400;
}
.cc-bank-list {
  display: grid;
  margin-top: 14px;
  padding: 0 12px;
  animation: ccbk-in 180ms ease-out both;
}
.cc-bank-list > li + li {
  border-top: 1px solid var(--cc-rule, #f0f0f2);
}
.cc-bank-row {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  padding: 10px 2px;
  text-align: left;
  transition: transform 120ms ease-out;
}
.cc-bank-row:active {
  transform: scale(.99);
}
.cc-bank-thumb {
  position: relative;
  display: block;
  width: 72px;
  height: 48px;
  flex: none;
  overflow: hidden;
  border-radius: 10px;
  background: var(--cc-sunk, #e9e9ed);
}
.cc-bank-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cc-bank-thumb svg {
  position: absolute;
  right: 4px;
  bottom: 4px;
  padding: 2px;
  border-radius: 4px;
  background: rgb(17 17 17 / .6);
  color: #fff;
  box-sizing: content-box;
}
.cc-bank-tile {
  display: grid;
  width: 72px;
  height: 48px;
  flex: none;
  place-items: center;
  border-radius: 10px;
  background: var(--cc-page, #f2f2f4);
  color: var(--cc-muted, #8e8e93);
}
.cc-bank-row-text {
  display: grid;
  flex: 1;
  gap: 2px;
  min-width: 0;
}
.cc-bank-row-text b {
  overflow: hidden;
  font-size: 15px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-bank-row-text small {
  overflow: hidden;
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-bank-empty {
  display: grid;
  justify-items: start;
  gap: 8px;
  margin-top: 14px;
  padding: 16px;
  font-size: 15px;
}
.cc-bank-meta {
  margin: 6px 0 12px;
  color: var(--cc-muted, #8e8e93);
  font-size: 13px;
}
.cc-bank-video {
  display: grid;
}
.cc-bank-block {
  margin-top: 20px;
}
.cc-bank-text {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}
.cc-bank-rx {
  font-size: 14px;
  font-weight: 600;
}
.cc-bank-ask {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  font-size: 15px;
  font-weight: 600;
  text-align: left;
  transition: transform 120ms ease-out;
}
.cc-bank-ask span:nth-child(2) {
  flex: 1;
}
.cc-bank-ask:active {
  transform: scale(.99);
}
.cc-bank-fiche .cc-scroll {
  animation: ccbk-in 200ms cubic-bezier(.22, 1, .36, 1) both;
}
@keyframes ccbk-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cc-bank-list,
  .cc-bank-fiche .cc-scroll {
    animation: ccbk-fade 150ms linear both;
  }
  .cc-bank-cat:active,
  .cc-bank-row:active,
  .cc-bank-ask:active {
    transform: none;
  }
}
@keyframes ccbk-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.cc-home-onb-link {
  display: block;
  margin: 18px auto 0;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cc-onb {
  --arc-font-body:var(--cc-font-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif);
  --arc-accent: var(--cc-action, #1b5cff);
  --accent: var(--cc-action, #1b5cff);
  --arc-control-on: var(--cc-link, #1b5cff);
  --arc-focus-ring: var(--cc-link, #1b5cff);
  --arc-surface-muted: var(--cc-page, #f2f2f4);
  --arc-border: var(--cc-rule, #e6e6ea);
  --arc-surface: var(--cc-surface, #fff);
  --arc-accent-foreground: var(--cc-on-action, #fff);
}
.cc-onb .cc-scroll {
  display: flex;
  flex-direction: column;
  padding-bottom: calc(24px + var(--cc-safe-bottom));
}
.cc-onb-step {
  display: grid;
  flex: 1;
  align-content: start;
  gap: 14px;
  margin-top: 22px;
}
@keyframes ccob-in-right {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes ccob-in-left {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.cc-onb-welcome {
  display: grid;
  justify-items: start;
  gap: 10px;
}
.cc-onb-points {
  display: grid;
  gap: 8px;
  margin: 6px 0;
  width: 100%;
}
.cc-onb-points li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--cc-surface, #fff);
  font-size: 15px;
  font-weight: 600;
}
.cc-onb-points svg {
  flex: none;
  color: var(--cc-link, #1b5cff);
}
.cc-onb-actions {
  display: grid;
  gap: 8px;
  margin-top: 22px;
}
.cc-onb-actions > *,
.cc-onb-form > button {
  width: 100%;
}
.cc-onb-resume {
  margin-top: 10px;
  text-align: center;
}
.cc-onb-form {
  display: grid;
  gap: 14px;
}
.cc-onb-avatar {
  display: flex;
  align-items: center;
  gap: 12px;
}
.cc-onb-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
}
.cc-onb-status span:first-child,
.cc-onb-guide-head span:first-child {
  display: grid;
  gap: 2px;
}
.cc-onb-status small,
.cc-onb-guide-head small {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  line-height: 1.4;
}
.cc-onb-badge {
  flex: none;
  padding: 3px 8px;
  border-radius: 10px;
  background: var(--cc-page, #f2f2f4);
  color: var(--cc-muted, #6b6b70);
  font-size: 11px;
  font-weight: 600;
}
.cc-onb-badge[data-kind=required] {
  background: var(--cc-soft, #eef3ff);
  color: var(--cc-link-on-soft, #1b5cff);
}
.cc-onb-guides {
  display: grid;
  gap: 10px;
}
.cc-onb-guide {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}
.cc-onb-guide-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.cc-onb-consent,
.cc-onb-consents {
  display: grid;
  gap: 14px;
  padding: 14px 16px;
}
.cc-onb-missing {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
}
.cc-onb-missing ul {
  display: grid;
  gap: 8px;
}
.cc-onb-missing li {
  display: grid;
  gap: 2px;
  font-size: 14px;
}
@keyframes ccob-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
:is(.cc-home, .cc-suivi, .cc-reserver, .cc-biblio) :is(button, a):is(.cc-card, .cc-row, .cc-suivi-row, .cc-home-axis, .cc-home-slot-text, .cc-primary, .cc-chip, .cc-home-slot-btn, .cc-upnext-play, .cc-suivi-perf, .cc-suivi-mark, .cc-tab, .cc-day, .cc-suivi-day, .cc-icon-btn, .cc-seeall, .cc-suivi-link, .cc-home-onb-link, .cc-home-prog-open, .cc-biblio-prog-open, .cc-biblio-res) {
  transition: transform 160ms cubic-bezier(.23, 1, .32, 1), opacity 160ms cubic-bezier(.23, 1, .32, 1);
}
:is(.cc-home, .cc-suivi, .cc-reserver, .cc-biblio) :is(button, a):is(.cc-card, .cc-row, .cc-suivi-row, .cc-home-axis, .cc-home-slot-text, .cc-biblio-res):active:not(:disabled):not(:focus-visible) {
  transform: scale(.99);
  transition-duration: 0s;
}
:is(.cc-home, .cc-suivi, .cc-reserver, .cc-biblio) :is(button, a):is(.cc-primary, .cc-chip, .cc-home-slot-btn, .cc-upnext-play, .cc-suivi-perf, .cc-suivi-mark):active:not(:disabled):not(:focus-visible) {
  transform: scale(.97);
  transition-duration: 0s;
}
:is(.cc-home, .cc-suivi, .cc-reserver, .cc-biblio) :is(button, a):is(.cc-tab, .cc-day, .cc-suivi-day, .cc-icon-btn):active:not(:disabled):not(:focus-visible) {
  transform: scale(.94);
  transition-duration: 0s;
}
:is(.cc-home, .cc-suivi, .cc-reserver, .cc-biblio) :is(button, a):is(.cc-seeall, .cc-suivi-link, .cc-home-onb-link, .cc-home-prog-open, .cc-biblio-prog-open):active:not(:disabled):not(:focus-visible) {
  opacity: .6;
  transition-duration: 0s;
}
@media (prefers-reduced-motion: reduce) {
  :is(.cc-home, .cc-suivi, .cc-reserver, .cc-biblio) :is(button, a):is(.cc-card, .cc-row, .cc-suivi-row, .cc-home-axis, .cc-home-slot-text, .cc-biblio-res, .cc-primary, .cc-chip, .cc-home-slot-btn, .cc-upnext-play, .cc-suivi-perf, .cc-suivi-mark, .cc-tab, .cc-day, .cc-suivi-day, .cc-icon-btn):active:not(:disabled):not(:focus-visible) {
    transform: none;
    opacity: .72;
  }
}
@font-face {
  font-family: "ACS Archivo";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("./assets/archivo-latin-wght-normal-FAU44YVK.woff2") format("woff2");
}
@font-face {
  font-family: "ACS Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("./assets/inter-latin-opsz-normal-KZ4OTMG4.woff2") format("woff2");
}
.acs-home-brand {
  --acs-cream: #f6f4ef;
  --acs-sunk: #efece4;
  --acs-rule: #e4ded2;
  --acs-rule-strong: #c2c1bd;
  --acs-ink: #101013;
  --acs-ink-strong: #0b0b0d;
  --acs-muted: rgb(11 11 13 / .64);
  --acs-faint: rgb(11 11 13 / .5);
  --acs-gold: #c0a46d;
  --acs-gold-deep: #8a6a1f;
  --acs-khaki: #6e6a3b;
  --acs-axis-1: var(--acs-gold);
  --acs-axis-1-text: var(--acs-gold-deep);
  --acs-axis-2: var(--acs-ink);
  --acs-axis-2-text: var(--acs-ink);
  --acs-axis-3: var(--acs-khaki);
  --acs-axis-3-text: var(--acs-khaki);
  --acs-ring-track: var(--acs-rule);
  background: var(--acs-cream);
  color: var(--acs-ink);
  font-family:
    "ACS Inter",
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
}
.acs-home-brand :is(button, a):focus-visible {
  outline: 2px solid var(--acs-gold-deep);
  outline-offset: 2px;
}
.acs-home-brand .acs-home-logo {
  display: block;
  width: 46px;
  height: 18px;
  margin-bottom: 6px;
}
.acs-home-brand :is(.cc-title, .cc-sectionhead h2, .cc-home-sheet-head h2, .cc-upnext-title) {
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
}
.acs-home-brand .cc-title {
  font-size: 26px;
  letter-spacing: -.015em;
}
.acs-home-brand :is(.cc-overline, .cc-day-l, .cc-home-axis-v, .cc-home-half-sub, .cc-home-slot-meta, .cc-home-empty, .cc-home-nutri-sub, .cc-half-label, .cc-row-meta, .cc-row-sub, .cc-home-big small, .cc-home-list small, .cc-home-planning h3, .cc-home-demo) {
  color: var(--acs-muted);
}
.acs-home-brand :is(.cc-home-p, .cc-home-info) {
  color: var(--acs-ink);
}
.acs-home-brand :is(.cc-home-axis-v b, .cc-home-info b) {
  color: var(--acs-ink-strong);
}
.acs-home-brand .cc-card {
  background: var(--acs-cream);
  box-shadow: 0 0 0 1px var(--acs-rule), 0 1px 2px rgb(11 11 13 / .04);
}
.acs-home-brand :is(.cc-icon-btn, .cc-home-notif > button) {
  background: var(--acs-cream);
  box-shadow: 0 0 0 1px var(--acs-rule);
  color: var(--acs-ink);
}
.acs-home-brand .cc-home-slot + .cc-home-slot {
  border-top-color: var(--acs-rule);
}
.acs-home-brand .cc-home-nutri-ph {
  background: var(--acs-sunk);
  color: var(--acs-gold-deep);
}
.acs-home-brand :is(.cc-home-info, .cc-half-label) svg {
  stroke: var(--acs-gold-deep);
}
.acs-home-brand .cc-day[data-active] {
  background: var(--acs-ink);
  color: var(--acs-cream);
}
.acs-home-brand .cc-day[data-active] .cc-day-l {
  color: rgb(246 244 239 / .8);
}
.acs-home-brand .cc-day-dot[data-on] {
  background: var(--acs-gold-deep);
}
.acs-home-brand .cc-day[data-active] .cc-day-dot[data-on] {
  background: var(--acs-cream);
}
.acs-home-brand :is(.cc-primary, .cc-home-slot-btn) {
  background: var(--acs-gold);
  color: var(--acs-ink-strong);
}
.acs-home-brand .cc-home-slot-btn[data-state=booked] {
  background: var(--acs-cream);
  box-shadow: inset 0 0 0 1px var(--acs-gold-deep);
  color: var(--acs-gold-deep);
}
.acs-home-brand .cc-home-slot-btn[data-state=full] {
  background: var(--acs-sunk);
  box-shadow: none;
  color: var(--acs-muted);
}
.acs-home-brand .cc-home-slot-btn[data-state=full][data-waitlist] {
  background: var(--acs-cream);
  box-shadow: inset 0 0 0 1px var(--acs-rule-strong);
  color: var(--acs-ink);
}
.acs-home-brand :is(.cc-seeall, .cc-suivi-link, .cc-home-half-add) {
  color: var(--acs-gold-deep);
}
.acs-home-brand .cc-home-onb-link {
  color: var(--acs-muted);
}
.acs-home-brand .cc-home-sheet {
  background: var(--acs-cream);
}
.acs-home-brand .cc-seg {
  background: var(--acs-sunk);
}
.acs-home-brand .cc-seg button {
  color: var(--acs-muted);
}
.acs-home-brand .cc-seg button[data-active] {
  background: var(--acs-cream);
  box-shadow: 0 0 0 1px var(--acs-rule);
  color: var(--acs-ink);
}
.acs-home-brand .cc-home-tabbar {
  background: var(--acs-cream);
  box-shadow: 0 0 0 1px var(--acs-rule), 0 8px 28px rgb(11 11 13 / .08);
}
.acs-home-brand .cc-home-tabbar .cc-tab {
  color: var(--acs-muted);
}
.acs-home-brand .cc-home-tabbar .cc-tab[data-active] {
  background: var(--acs-cream);
  box-shadow: inset 0 0 0 1px var(--acs-rule);
  color: var(--acs-gold-deep);
  font-weight: 600;
}
.cc-shell-dock,
.cc-shell-actions,
.cc-shell-inbox {
  --acs-cream: #f6f4ef;
  --acs-sunk: #efece4;
  --acs-rule: #e4ded2;
  --acs-ink: #101013;
  --acs-ink-strong: #0b0b0d;
  --acs-muted: rgb(11 11 13 / .64);
  --acs-gold: #c0a46d;
  --acs-gold-deep: #8a6a1f;
}
.cc-shell-dock {
  grid-template-columns: repeat(4, 1fr);
  background: var(--acs-cream);
  box-shadow: 0 0 0 1px var(--acs-rule), 0 8px 28px rgb(11 11 13 / .08);
  font-family:
    "ACS Inter",
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
}
.cc-shell-dock .cc-tab {
  color: var(--acs-muted);
  white-space: nowrap;
}
.cc-shell-dock .cc-tab[data-active] {
  background: var(--acs-cream);
  box-shadow: inset 0 0 0 1px var(--acs-rule);
  color: var(--acs-gold-deep);
  font-weight: 600;
}
.cc-shell-dock .cc-tab:focus-visible {
  outline: 2px solid var(--acs-gold-deep);
  outline-offset: 2px;
}
.cc-shell-dock .cc-tab:active:not(:focus-visible) {
  transform: scale(.94);
}
@media (prefers-reduced-motion: reduce) {
  .cc-shell-dock .cc-tab:active:not(:focus-visible) {
    transform: none;
    opacity: .72;
  }
}
.cc-shell-actions {
  display: flex;
  flex: none;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.cc-shell-actions .cc-shell-bell {
  position: relative;
  background: var(--acs-cream);
  box-shadow: 0 0 0 1px var(--acs-rule);
  color: var(--acs-ink);
}
.cc-shell-actions :is(.cc-shell-bell, .cc-shell-usermenu):focus-visible {
  outline: 2px solid var(--acs-gold-deep);
  outline-offset: 2px;
}
.cc-shell-actions .cc-shell-usermenu {
  height: 40px;
  padding: 0;
  border-radius: 50%;
}
.cc-shell-actions .cc-shell-usermenu [data-size=sm] {
  --face-size: 40px;
}
.cc-shell-actions[data-compact] .cc-shell-bell {
  width: 32px;
  height: 32px;
}
.cc-shell-actions[data-compact] .cc-shell-usermenu {
  height: 32px;
}
.cc-shell-actions[data-compact] .cc-shell-usermenu [data-size=sm] {
  --face-size: 32px;
}
.cc-shell-actions[data-compact] {
  gap: 6px;
}
.cc-shell-count {
  display: inline-grid;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  place-items: center;
  border-radius: 9px;
  background: var(--acs-gold);
  color: var(--acs-ink-strong);
  font-family:
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 11px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.cc-shell-bell .cc-shell-count {
  position: absolute;
  top: -4px;
  right: -4px;
  box-shadow: 0 0 0 2px var(--acs-cream);
}
.cc-shell-toprow {
  display: flex;
  justify-content: flex-end;
  padding-top: 10px;
}
.cc-shell-toprow + .cc-seance-hero {
  margin-top: 12px;
}
.cc-shell-inbox {
  --arc-font-body:
    "ACS Inter",
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
  --arc-accent: #8a6a1f;
  --arc-accent-strong: #8a6a1f;
  --arc-accent-subtle: #efece4;
  --arc-control-on: #8a6a1f;
  --arc-focus-ring: #8a6a1f;
  font-family:
    "ACS Inter",
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
}
.cc-shell-inbox-switch {
  padding: 6px 16px 4px;
}
.cc-shell-inbox-switch [role=radiogroup],
.cc-shell-inbox-switch > * {
  width: 100%;
}
.cc-shell-inbox-switch .cc-shell-count {
  margin-left: 6px;
}
.cc-shell-inbox-messages {
  padding: 4px 4px 12px;
}
.cc-shell-inbox-messages .cc-messages-list {
  margin-top: 6px;
}
.cc-card.cc-studio-biblio,
.cc-card.cc-suivi-nutri {
  margin-top: 16px;
}
.cc-shell-dock {
  grid-template-columns: repeat(5, 1fr);
}
.cc-shell-dock .cc-tab {
  min-width: 44px;
  min-height: 44px;
  color: rgb(11 11 13 / .64);
}
.cc-shell-dock .cc-tab[data-active] {
  background: #efece4;
  box-shadow: none;
  color: #8a6a1f;
}
.cc-shell-docked .cc-screen .cc-scroll {
  padding-bottom: var(--cc-dock-reserve);
}
.cc-shell-docked .cc-messages-thread {
  padding-bottom: calc(var(--cc-dock-height) + var(--cc-dock-gap) + 8px);
}
.cc-shell-docked .cc-messages-thread .cc-messages-chat {
  padding-bottom: 0;
}
.cc-shell-dock {
  position: absolute;
  right: 22px;
  bottom: 22px;
  left: 22px;
  z-index: 4;
  display: flex;
  height: 63px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  grid-template-columns: none;
  --arc-surface: #f6f4ef;
  --arc-background: #f6f4ef;
  --arc-border-subtle: #e4ded2;
  --arc-border-strong: #c2c1bd;
  --arc-text-secondary: rgb(11 11 13 / .64);
  --arc-foreground: #101013;
  --arc-accent: #c0a46d;
  --arc-accent-foreground: #0b0b0d;
  --arc-control-on: #8a6a1f;
  --arc-radius-pill: 999px;
  --arc-shadow-resting: 0 8px 28px rgb(11 11 13 / .08);
  --arc-font-body:
    "ACS Inter",
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
}
.cc-shell-page {
  position: absolute;
  inset: 0;
}
.cc-shell-dock [role=tablist] [role=tab][data-state=active]:focus-visible::after {
  border-color: #8a6a1f;
}
.cc-acs,
body[data-brand=acs] {
  --cc-page: #f6f4ef;
  --cc-surface: #f6f4ef;
  --cc-sunk: #efece4;
  --cc-soft: #efece4;
  --cc-rule: #e4ded2;
  --cc-rule-strong: #c2c1bd;
  --cc-ink: #101013;
  --cc-text-2: #101013;
  --cc-muted: rgb(11 11 13 / .64);
  --cc-action: #c0a46d;
  --cc-on-action: #0b0b0d;
  --cc-link: #8a6a1f;
  --cc-link-on-soft: #7b673d;
  --cc-alt: #8a6a1f;
  --cc-focus-rgb: 138 106 31;
  --cc-font-ui:
    "ACS Inter",
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
  --cc-font-title:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  --acs-axis-1: #c0a46d;
  --acs-axis-1-text: #8a6a1f;
  --acs-axis-2: #101013;
  --acs-axis-2-text: #101013;
  --acs-axis-3: #6e6a3b;
  --acs-axis-3-text: #6e6a3b;
  --acs-ring-track: #e4ded2;
  --arc-accent: #8a6a1f;
  --arc-accent-foreground: #f6f4ef;
  --arc-accent-strong: #7b673d;
  --arc-accent-subtle: #efece4;
  --arc-control-on: #8a6a1f;
  --arc-control-fill: #8a6a1f;
  --arc-control-glyph: #f6f4ef;
  --arc-control-track: #e4ded2;
  --arc-focus-ring: #8a6a1f;
  --input-focus-color: #8a6a1f;
  --arc-surface: #f6f4ef;
  --arc-surface-raised: #f6f4ef;
  --arc-background: #f6f4ef;
  --arc-surface-muted: #efece4;
  --arc-foreground: #101013;
  --arc-text-secondary: rgb(11 11 13 / .64);
  --arc-text-muted: rgb(11 11 13 / .64);
  --arc-border: #e4ded2;
  --arc-border-subtle: #e4ded2;
  --arc-border-strong: #c2c1bd;
  --arc-font-body: var(--cc-font-ui);
  --arc-font-display: var(--cc-font-title);
}
.cc-acs {
  font-family: var(--cc-font-ui);
  color: var(--cc-ink);
}
.cc-acs :is(.cc-title, .cc-sectionhead h2, .cc-home-sheet-head h2, .cc-seance-title, .cc-upnext-title) {
  font-family: var(--cc-font-title);
}
.cc-acs .cc-card {
  box-shadow: 0 0 0 1px var(--cc-rule), 0 1px 2px rgb(11 11 13 / .04);
}
@media (hover: hover) and (pointer: fine) {
  .cc-acs .cc-primary:not(:disabled):hover {
    background: #dcc89a;
  }
}
.cc-acs :is(.cc-today, .cc-pagehead, .cc-account-head, .cc-nutrition-head, .cc-seance-head, .cc-bilan-head) {
  position: sticky;
  top: 0;
  z-index: 5;
  margin-right: -22px;
  margin-left: -22px;
  padding-right: 22px;
  padding-bottom: 8px;
  padding-left: 22px;
  background: var(--cc-page);
}
.cc-shell-dock {
  transition:
    opacity 180ms ease-out,
    transform 220ms cubic-bezier(.23, 1, .32, 1),
    visibility 0s linear 0s;
}
.cc-shell-dock[data-hidden] {
  visibility: hidden;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition:
    opacity 120ms ease-in,
    transform 160ms ease-in,
    visibility 0s linear 160ms;
}
@media (prefers-reduced-motion: reduce) {
  .cc-shell-dock,
  .cc-shell-dock[data-hidden] {
    transform: none;
  }
}
.cc-shell-dock[data-input=pointer] [role=tablist] [role=tab][data-state]:focus-visible::after {
  border-color: transparent;
}
.cc-shell-dock [role=tablist] span[style*=width] {
  font-weight: 500;
}
.cc-acs,
body[data-brand=acs] {
  --cc-on-danger: #fff;
}
.cc-acs .cc-primary.cc-account-danger {
  color: var(--cc-on-danger);
}
.cc-acs .cc-status {
  z-index: 6;
  background: var(--cc-page);
}
.cc-acs {
  --cc-statusbar-h: max(50px, env(safe-area-inset-top, 0px));
  --cc-scroll-top: 8px;
}
.cc-acs .cc-seance {
  --cc-scroll-top: 12px;
}
.cc-acs .cc-messages-thread {
  --cc-scroll-top: 0px;
}
.cc-acs .cc-status {
  height: calc(var(--cc-statusbar-h) + var(--cc-scroll-top));
  padding-bottom: var(--cc-scroll-top);
  margin-bottom: calc(-1 * var(--cc-scroll-top));
}
.cc-planning {
  background: transparent;
}
.cc-ent-block {
  margin-top: 6px;
}
.cc-card.cc-ent-prog {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}
.cc-ent-prog-head {
  display: flex;
  align-items: center;
  gap: 12px;
}
.cc-ent-prog-head > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.cc-ent-prog-head b {
  font-size: 15px;
  font-weight: 600;
}
.cc-ent-prog-head small,
.cc-ent-row-text small {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
}
.cc-ent-prog p {
  margin: 0;
  font-size: 14px;
}
.cc-ent-row-text {
  display: grid;
  flex: 1;
  gap: 2px;
  min-width: 0;
  text-align: left;
}
.cc-card.cc-home-next {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
}
.cc-home-next-kicker {
  color: var(--cc-muted, #8e8e93);
  font-size: 12px;
  font-weight: 600;
}
.cc-home-next-title {
  font-size: 16px;
  font-weight: 600;
}
.cc-home-next-meta {
  margin: 0;
  color: var(--cc-muted, #8e8e93);
  font-size: 13px;
}
.cc-home-next .cc-primary {
  margin-top: 8px;
}
.cc-home-next-row {
  width: 100%;
  min-height: 44px;
  text-align: left;
}
.cc-home-next-state {
  flex: none;
  color: var(--cc-link, #8a6a1f);
  font-size: 12px;
  font-weight: 600;
}
.cc-home-rings--bare {
  height: auto;
  margin-top: 18px;
  padding: 6px 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.cc-home-halves--light {
  gap: 0;
  margin-top: 14px;
}
.cc-home-halves--light .cc-half {
  height: auto;
  min-height: 88px;
  padding: 10px 16px 10px 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.cc-home-halves--light .cc-half + .cc-half {
  padding-left: 16px;
  border-left: 1px solid var(--cc-rule, #e6e6ea);
}
.cc-home-halves--light .cc-half-value {
  font-family: var(--cc-font-title, inherit);
}
.cc-home-halves--light .cc-half:not([aria-disabled]):active {
  opacity: .6;
}
.cc-home-halves--light .cc-half[aria-disabled] {
  cursor: default;
}
.cc-home-halves--light .cc-half[aria-disabled] .cc-home-half-add {
  color: var(--cc-muted, #8e8e93);
}
.acs-home-brand .cc-home-week .cc-rings {
  display: block;
  width: 196px;
  height: 196px;
  margin: 4px auto 0;
}
.acs-home-brand .cc-home-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}
.acs-home-brand .cc-home-stat {
  display: grid;
  width: 100%;
  justify-items: center;
  gap: 4px;
  padding: 8px 2px;
  border-radius: 14px;
  text-align: center;
  transition: transform 160ms cubic-bezier(.23, 1, .32, 1);
}
.acs-home-brand .cc-home-stat-l {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
}
.acs-home-brand .cc-home-stat-l i {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}
.acs-home-brand .cc-home-stat-v {
  color: var(--acs-ink);
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.acs-home-brand .cc-home-stat-v small {
  margin-left: 1px;
  color: var(--acs-muted);
  font-family:
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
}
.acs-home-brand .cc-home-stat-u {
  color: var(--acs-muted);
  font-size: 12px;
}
.acs-home-brand .cc-home-mods {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.acs-home-brand .cc-home-mod {
  display: grid;
  align-content: space-between;
  gap: 18px;
  min-height: 132px;
  padding: 16px 16px 15px;
  border-radius: 18px;
  text-align: left;
  transition: transform 160ms cubic-bezier(.23, 1, .32, 1), box-shadow 200ms cubic-bezier(.23, 1, .32, 1);
}
.acs-home-brand .cc-home-mod-l {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 600;
}
.acs-home-brand .cc-home-mod-l svg {
  flex: none;
}
.acs-home-brand .cc-home-mod-v {
  display: grid;
  gap: 4px;
}
.acs-home-brand .cc-home-mod-v b {
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.acs-home-brand .cc-home-mod-v span {
  font-size: 13px;
}
.acs-home-brand .cc-home-mod-add {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}
.acs-home-brand .cc-home-mod--sleep {
  background: var(--acs-sunk);
  color: var(--acs-ink);
  box-shadow: 0 1px 2px rgb(11 11 13 / .04);
}
.acs-home-brand .cc-home-mod--sleep .cc-home-mod-l,
.acs-home-brand .cc-home-mod--sleep .cc-home-mod-v span {
  color: var(--acs-muted);
}
.acs-home-brand .cc-home-mod--sleep .cc-home-mod-l svg {
  stroke: var(--acs-gold-deep);
}
.acs-home-brand .cc-home-mod--form {
  background: var(--acs-ink);
  color: var(--acs-cream);
  box-shadow: 0 10px 24px rgb(11 11 13 / .18);
}
.acs-home-brand .cc-home-mod--form .cc-home-mod-l {
  color: rgb(246 244 239 / .72);
}
.acs-home-brand .cc-home-mod--form .cc-home-mod-l svg {
  stroke: var(--acs-gold);
}
.acs-home-brand .cc-home-mod--form .cc-home-mod-v b {
  font-size: 26px;
}
.acs-home-brand .cc-home-mod--form .cc-home-mod-v span,
.acs-home-brand .cc-home-mod--form .cc-home-mod-add {
  color: var(--acs-gold);
}
.acs-home-brand .cc-home-mod[aria-disabled] {
  cursor: default;
}
.acs-home-brand .cc-home-mod--sleep[aria-disabled] .cc-home-mod-add {
  color: var(--acs-muted);
}
.acs-home-brand .cc-home-mod--form[aria-disabled] .cc-home-mod-add {
  color: rgb(246 244 239 / .72);
}
.acs-home-brand :is(.cc-home-stat, .cc-home-mod:not([aria-disabled])):active {
  transform: scale(.97);
  transition-duration: 0s;
}
@media (hover: hover) and (pointer: fine) {
  .acs-home-brand .cc-home-stat:hover .cc-home-stat-v {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    text-decoration-color: var(--acs-rule);
  }
  .acs-home-brand .cc-home-mod--sleep:not([aria-disabled]):hover {
    box-shadow: 0 6px 16px rgb(11 11 13 / .08);
  }
  .acs-home-brand .cc-home-mod--form:not([aria-disabled]):hover {
    box-shadow: 0 14px 30px rgb(11 11 13 / .24);
  }
}
@media (prefers-reduced-motion: reduce) {
  .acs-home-brand :is(.cc-home-stat, .cc-home-mod:not([aria-disabled])):active {
    transform: none;
    opacity: .72;
  }
}
.acs-home-brand .cc-home-done {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 4px;
  color: var(--acs-gold-deep);
  font-size: 12.5px;
  font-weight: 600;
}
.acs-home-brand .cc-home-agenda {
  margin-top: 18px;
  padding: 2px 16px 6px;
  background: rgb(255 255 255 / .55);
  border: 1px solid var(--acs-rule);
  border-radius: 20px;
}
.acs-home-brand .cc-home-agenda .cc-sectionhead {
  margin: 12px 0 2px;
}
.acs-home-brand .cc-home-agenda .cc-week {
  margin-top: 6px;
}
.acs-home-brand .cc-home-agenda-day {
  margin-top: 6px;
  border-top: 1px solid var(--acs-rule);
}
.acs-home-brand .cc-home-agenda :is(.cc-home-slot, .cc-home-agenda-row) {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  column-gap: 12px;
  align-items: center;
}
.acs-home-brand .cc-home-agenda :is(.cc-home-slot-btn, .cc-home-done, .cc-home-agenda-state) {
  justify-self: end;
}
.acs-home-brand .cc-home-agenda .cc-home-slot--booked {
  display: block;
  padding: 0;
}
.acs-home-brand .cc-home-agenda-row {
  width: 100%;
  min-height: 58px;
  padding: 8px 0;
  background: transparent;
  color: inherit;
  text-align: left;
  transition: transform 160ms cubic-bezier(.23, 1, .32, 1), opacity 160ms cubic-bezier(.23, 1, .32, 1);
}
.acs-home-brand .cc-home-agenda-row:active:not(:focus-visible) {
  transform: scale(.99);
  transition-duration: 0s;
}
.acs-home-brand .cc-home-agenda-state {
  color: var(--acs-gold-deep);
  font-size: 12.5px;
  font-weight: 600;
}
@media (prefers-reduced-motion: reduce) {
  .acs-home-brand .cc-home-agenda-row:active:not(:focus-visible) {
    transform: none;
    opacity: .72;
  }
}
.acs-home-brand .cc-home-v3 {
  margin-top: 24px;
}
.acs-home-brand .cc-home-v3 .cc-sectionhead {
  align-items: baseline;
  margin: 0;
}
.acs-home-brand .cc-home-v3 .cc-sectionhead h2 {
  color: var(--acs-ink);
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 17px;
  font-weight: 750;
  letter-spacing: -.01em;
}
.acs-home-brand .cc-home-v3 .cc-seeall {
  flex-shrink: 0;
  min-height: 44px;
  margin: -12px -8px -12px 0;
  padding: 0 8px;
  font-size: 12.5px;
  font-weight: 650;
  white-space: nowrap;
}
.acs-home-brand .cc-home-v3-field {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin: 12px 0 0;
}
.acs-home-brand .cc-home-v3-day {
  display: grid;
  min-height: 80px;
  justify-items: center;
  align-content: center;
  gap: 3px;
  padding: 8px 0 10px;
  border-radius: 14px 14px 0 0;
  color: var(--acs-muted);
  transition:
    background-color 240ms cubic-bezier(.16, 1, .3, 1),
    color 240ms cubic-bezier(.16, 1, .3, 1),
    transform 160ms cubic-bezier(.16, 1, .3, 1);
}
.acs-home-brand .cc-home-v3-day:active {
  transform: scale(.94);
  transition-duration: 0s;
}
.acs-home-brand .cc-home-v3-day span {
  color: var(--acs-muted);
  font-size: 10.5px;
  font-weight: 650;
  letter-spacing: .02em;
}
.acs-home-brand .cc-home-v3-day b {
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 34px;
  font-weight: 750;
  letter-spacing: -.045em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.acs-home-brand .cc-home-v3-day[data-has] {
  color: var(--acs-ink);
}
.acs-home-brand .cc-home-v3-day i {
  width: 4px;
  height: 4px;
  margin-top: 3px;
  border-radius: 2px;
  transition: width 240ms cubic-bezier(.16, 1, .3, 1), background-color 240ms cubic-bezier(.16, 1, .3, 1);
}
.acs-home-brand .cc-home-v3-day[data-has] i {
  background: var(--acs-muted);
}
.acs-home-brand .cc-home-v3-day[aria-pressed=true] {
  margin-bottom: -1px;
  padding-bottom: 11px;
  background: rgb(255 255 255 / .7);
  box-shadow:
    inset 1px 0 0 var(--acs-rule),
    inset -1px 0 0 var(--acs-rule),
    inset 0 1px 0 var(--acs-rule);
  color: var(--acs-ink);
}
.acs-home-brand .cc-home-v3-day[aria-pressed=true] span {
  color: var(--acs-ink);
}
.acs-home-brand .cc-home-v3-day[aria-pressed=true] i {
  width: 18px;
  height: 3px;
  background: var(--acs-gold-deep);
}
.acs-home-brand .cc-home-v3-day:focus-visible {
  outline-offset: -3px;
}
.acs-home-brand .cc-home-v3-panel {
  padding: 14px 16px 6px;
  border-radius: 18px;
  background: rgb(255 255 255 / .7);
  box-shadow: inset 0 0 0 1px var(--acs-rule);
  color: var(--acs-ink);
}
.acs-home-brand .cc-home-v3-panel[data-edge=start] {
  border-top-left-radius: 0;
}
.acs-home-brand .cc-home-v3-panel[data-edge=end] {
  border-top-right-radius: 0;
}
.acs-home-brand .cc-home-v3-panel .cc-home-slots {
  margin: 0;
  padding: 0;
  list-style: none;
}
.acs-home-brand .cc-home-v3-panel .cc-home-slot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 12px;
  min-height: 0;
  padding: 12px 0;
}
.acs-home-brand .cc-home-v3-panel .cc-home-slot:not(.cc-home-slot--booked) > .cc-home-slot-time {
  display: none;
}
.acs-home-brand .cc-home-v3-panel .cc-home-slot--booked {
  display: block;
  padding: 0;
}
.acs-home-brand .cc-home-v3-panel .cc-home-agenda-row {
  display: grid;
  width: 100%;
  min-height: 44px;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: baseline;
  column-gap: 12px;
  padding: 12px 0;
  background: transparent;
  color: var(--acs-ink);
  text-align: left;
}
.acs-home-brand .cc-home-v3-panel .cc-home-slot-time {
  width: auto;
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 19px;
  font-weight: 750;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.acs-home-brand .cc-home-v3-panel .cc-home-slot-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.acs-home-brand .cc-home-v3-panel .cc-home-slot-title {
  overflow: visible;
  color: var(--acs-ink);
  font-size: 15.5px;
  font-weight: 650;
  line-height: 1.28;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}
.acs-home-brand .cc-home-v3-panel .cc-home-slot-meta {
  color: var(--acs-muted);
  font-size: 12.5px;
  font-weight: 500;
}
.acs-home-brand .cc-home-v3-panel :is(.cc-home-agenda-state, .cc-home-done) {
  color: var(--acs-gold-deep);
  font-size: 12.5px;
  font-weight: 650;
  white-space: nowrap;
}
.acs-home-brand .cc-home-v3-panel .cc-home-slot-btn {
  position: relative;
  flex: none;
  height: 32px;
  padding: 0 14px;
  border-radius: 16px;
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--acs-ink);
  color: var(--acs-ink);
  font-size: 12.5px;
  font-weight: 650;
  white-space: nowrap;
}
.acs-home-brand .cc-home-v3-panel .cc-home-slot-btn::after {
  content: "";
  position: absolute;
  inset: -6px -4px;
}
.acs-home-brand .cc-home-v3-panel .cc-home-empty {
  padding: 14px 0 6px;
  color: var(--acs-muted);
  font-size: 13.5px;
  text-align: left;
}
@media (hover: hover) and (pointer: fine) {
  .acs-home-brand .cc-home-v3-day:not([aria-pressed=true]):hover {
    background: var(--acs-sunk);
  }
  .acs-home-brand .cc-home-v3-panel .cc-home-agenda-row:hover .cc-home-slot-title {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .acs-home-brand :is(.cc-home-v3-day, .cc-home-v3-day i) {
    transition: none;
  }
  .acs-home-brand .cc-home-v3-day:active {
    transform: none;
    opacity: .72;
  }
}
.acs-home-brand .cc-home-weekgrid {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  align-items: center;
  column-gap: 20px;
}
.acs-home-brand .cc-home-week .cc-home-weekgrid .cc-rings {
  width: 148px;
  height: 148px;
  margin: 0;
}
.acs-home-brand .cc-home-weekgrid .cc-home-stats {
  grid-template-columns: 1fr;
  gap: 4px;
  margin: 0;
}
.acs-home-brand .cc-home-weekgrid .cc-home-stat {
  grid-template-columns: auto minmax(0, 1fr);
  justify-items: start;
  align-items: baseline;
  gap: 2px 6px;
  padding: 6px 0;
  border-radius: 12px;
  text-align: left;
}
.acs-home-brand .cc-home-weekgrid .cc-home-stat-l {
  grid-column: 1 / -1;
}
.acs-home-brand .cc-home-weekgrid .cc-home-stat-v {
  font-size: 22px;
  line-height: 1.05;
}
.acs-home-brand .cc-home-weekgrid .cc-home-stat-u {
  font-size: 12px;
}
.acs-home-brand.acs-home-rupture {
  --arc-accent: var(--acs-gold-deep);
  --arc-foreground: var(--acs-ink);
  --arc-text-muted: var(--acs-muted);
  --arc-text-secondary: var(--acs-muted);
  --arc-border: var(--acs-rule);
  --arc-border-strong: var(--acs-rule-strong);
  --arc-surface: var(--acs-cream);
  --arc-surface-muted: var(--acs-sunk);
  --arc-focus-ring: var(--acs-gold-deep);
  --arc-font-body:
    "ACS Inter",
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
}
.acs-home-brand.acs-home-rupture .cc-sectionhead {
  align-items: baseline;
  margin: 30px 0 12px;
}
.acs-home-brand.acs-home-rupture .cc-sectionhead h2 {
  color: var(--acs-ink);
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 18px;
  font-weight: 750;
  letter-spacing: -.015em;
}
.acs-home-brand.acs-home-rupture .cc-seeall {
  flex-shrink: 0;
  min-height: 44px;
  margin: -12px -8px -12px 0;
  padding: 0 8px;
  font-size: 12.5px;
  font-weight: 650;
  white-space: nowrap;
}
.acs-home-brand.acs-home-rupture .cc-home-v3 .cc-sectionhead {
  margin: 0;
}
.acs-home-brand.acs-home-rupture .hp-axis {
  display: grid;
  width: 100%;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: center;
  column-gap: 18px;
  padding: 16px;
  border-radius: 22px;
  background: rgb(255 255 255 / .6);
  box-shadow: inset 0 0 0 1px var(--acs-rule);
  color: var(--acs-ink);
  text-align: left;
}
.acs-home-brand.acs-home-rupture .hp-ring {
  display: block;
  width: 104px;
  height: 104px;
}
.acs-home-brand.acs-home-rupture .hp-axis-text {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.acs-home-brand.acs-home-rupture .hp-axis-l {
  font-size: 13px;
  font-weight: 650;
}
.acs-home-brand.acs-home-rupture .hp-axis-v {
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 40px;
  font-weight: 750;
  letter-spacing: -.035em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.acs-home-brand.acs-home-rupture .hp-axis-v small {
  margin-left: 2px;
  color: var(--acs-muted);
  font-family:
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
}
.acs-home-brand.acs-home-rupture .hp-axis-u {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--acs-muted);
  font-size: 12px;
}
.acs-home-brand.acs-home-rupture .hp-day {
  margin-top: 26px;
  border-top-color: var(--acs-rule);
}
.acs-home-brand.acs-home-rupture .hp-day > * {
  border-bottom-color: var(--acs-rule);
}
.acs-home-brand.acs-home-rupture .hp-day-trigger {
  min-height: 56px;
  gap: 12px;
  padding: 8px 0;
  color: var(--acs-ink);
  font-size: 14px;
}
.acs-home-brand.acs-home-rupture .hp-day-trigger > span:first-child {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 12px;
}
.acs-home-brand.acs-home-rupture .hp-day-name {
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 16px;
  font-weight: 750;
  letter-spacing: -.01em;
}
.acs-home-brand.acs-home-rupture .hp-day-sum {
  display: inline-flex;
  gap: 14px;
  color: var(--acs-ink);
  font-size: 13px;
  font-weight: 600;
}
.acs-home-brand.acs-home-rupture .hp-day-sum > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.acs-home-brand.acs-home-rupture .hp-day-sum svg {
  color: var(--acs-gold-deep);
}
.acs-home-brand.acs-home-rupture .hp-day-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0 0 14px;
}
.acs-home-brand.acs-home-rupture .hp-field {
  display: grid;
  min-height: 60px;
  align-content: start;
  gap: 4px;
  padding: 4px 12px 4px 0;
  color: var(--acs-ink);
  text-align: left;
}
.acs-home-brand.acs-home-rupture .hp-field + .hp-field {
  padding-left: 16px;
  border-left: 1px solid var(--acs-rule);
}
.acs-home-brand.acs-home-rupture .hp-field-l {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--acs-muted);
  font-size: 12px;
  font-weight: 600;
}
.acs-home-brand.acs-home-rupture .hp-field-l svg {
  color: var(--acs-gold-deep);
}
.acs-home-brand.acs-home-rupture .hp-field-v {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 8px;
}
.acs-home-brand.acs-home-rupture .hp-field-v b {
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.015em;
  font-variant-numeric: tabular-nums;
}
.acs-home-brand.acs-home-rupture .hp-field-v span {
  color: var(--acs-muted);
  font-size: 12px;
}
.acs-home-brand.acs-home-rupture .hp-field-add {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}
.acs-home-brand.acs-home-rupture .hp-field[aria-disabled] {
  cursor: default;
}
.acs-home-brand.acs-home-rupture .hp-field[aria-disabled] .hp-field-add {
  color: var(--acs-muted);
  font-weight: 500;
}
.acs-home-brand.acs-home-rupture .hp-field:not([aria-disabled]):active {
  opacity: .6;
}
.acs-home-brand.acs-home-rupture .hp-aside {
  display: flex;
  width: 100%;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--acs-sunk);
  color: var(--acs-ink);
  font-size: 12.5px;
  line-height: 1.45;
  text-align: left;
}
.acs-home-brand.acs-home-rupture .hp-aside svg {
  flex: none;
  margin-top: 1px;
  stroke: var(--acs-gold-deep);
}
.acs-home-brand.acs-home-rupture .hp-aside b {
  color: var(--acs-ink-strong);
}
.acs-home-brand.acs-home-rupture .hp-story {
  display: grid;
  width: 100%;
  gap: 4px;
  color: var(--acs-ink);
  text-align: left;
}
.acs-home-brand.acs-home-rupture .hp-story img {
  width: 100%;
  height: 190px;
  margin-bottom: 8px;
  border-radius: 18px;
  object-fit: cover;
}
.acs-home-brand.acs-home-rupture .hp-story-meta {
  color: var(--acs-muted);
  font-size: 12px;
}
.acs-home-brand.acs-home-rupture .hp-story-title {
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -.015em;
  line-height: 1.25;
}
.acs-home-brand.acs-home-rupture .cc-home-demo {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-top: 14px;
  font-size: 12px;
}
@media (hover: hover) and (pointer: fine) {
  .acs-home-brand.acs-home-rupture :is(.hp-axis:hover .hp-axis-v, .hp-story:hover .hp-story-title, .hp-field:not([aria-disabled]):hover .hp-field-v b) {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    text-decoration-color: var(--acs-rule-strong);
  }
}
@media (prefers-reduced-motion: reduce) {
  .acs-home-brand.acs-home-rupture .hp-field:not([aria-disabled]):active {
    opacity: .72;
  }
}
.acs-home-brand.acs-home-rupture .hp-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.acs-home-brand.acs-home-rupture .cc-home-v3 {
  margin-top: 18px;
}
.acs-home-brand.acs-home-rupture .cc-home-v3-field {
  margin-top: 0;
}
.acs-home-brand.acs-home-rupture .hp-agenda-foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 2px;
}
.acs-home-brand.acs-home-rupture .hp-agenda-foot .cc-seeall {
  margin: 0 -8px 0 0;
}
.acs-home-brand.acs-home-rupture .hp-axes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.acs-home-brand.acs-home-rupture .hp-axes li + li {
  border-left: 1px solid var(--acs-rule);
}
.acs-home-brand.acs-home-rupture .hp-axis {
  display: grid;
  width: 100%;
  grid-template-columns: none;
  align-content: start;
  justify-items: start;
  gap: 3px;
  min-height: 44px;
  padding: 2px 12px 4px;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--acs-ink);
  text-align: left;
  transition: opacity 160ms cubic-bezier(.23, 1, .32, 1);
}
.acs-home-brand.acs-home-rupture .hp-axes li:first-child .hp-axis {
  padding-left: 0;
}
.acs-home-brand.acs-home-rupture .hp-axes li:last-child .hp-axis {
  padding-right: 0;
}
.acs-home-brand.acs-home-rupture .hp-axis-l {
  overflow-wrap: anywhere;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.25;
}
.acs-home-brand.acs-home-rupture .hp-axis-v {
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 24px;
  font-weight: 750;
  letter-spacing: -.025em;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}
.acs-home-brand.acs-home-rupture .hp-axis-v small {
  margin-left: 1px;
  color: var(--acs-muted);
  font-family:
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
}
.acs-home-brand.acs-home-rupture .hp-axis-u {
  display: block;
  color: var(--acs-muted);
  font-size: 12px;
}
.acs-home-brand.acs-home-rupture .hp-axis-bar {
  margin-top: 6px;
}
.acs-home-brand.acs-home-rupture .hp-axis:active {
  opacity: .6;
  transition-duration: 0s;
}
@media (hover: hover) and (pointer: fine) {
  .acs-home-brand.acs-home-rupture .hp-axis:hover .hp-axis-v {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    text-decoration-color: var(--acs-rule-strong);
  }
}
.acs-home-brand.acs-home-rupture .cc-shell-actions .cc-shell-bell {
  width: 44px;
  height: 44px;
  background: transparent;
  box-shadow: none;
}
.acs-home-brand.acs-home-rupture .cc-shell-bell .cc-shell-count {
  top: 2px;
  right: 2px;
}
.cc-shell-dock [style*=--liquid-slot] {
  --liquid-slot: 48px !important;
}
.cc-shell-dock {
  --arc-text-sm: 14px;
}
.acs-home-brand.acs-home-rupture .hp-studio .hp-carousel [class*=carousel_controls]:not(:focus-within) {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.acs-home-brand.acs-home-rupture .hp-axis-l {
  min-height: 2.4em;
  line-height: 1.2;
}
.cc-acs,
body[data-brand=acs] {
  --cc-page: #fafaf8;
  --cc-surface: #ffffff;
  --cc-sunk: #f2f2ef;
  --cc-soft: #f2f2ef;
  --cc-rule: #e8e8e4;
  --acs-ring-track: #e8e8e4;
  --arc-surface: #ffffff;
  --arc-surface-raised: #ffffff;
  --arc-background: #fafaf8;
  --arc-surface-muted: #f2f2ef;
  --arc-border: #e8e8e4;
  --arc-border-subtle: #e8e8e4;
  --arc-accent-foreground: #ffffff;
}
.acs-home-brand {
  --acs-cream: #fafaf8;
  --acs-sunk: #f2f2ef;
  --acs-rule: #e8e8e4;
}
.acs-home-brand .cc-card {
  background: #ffffff;
}
.acs-home-brand.acs-home-rupture .cc-home-weekgrid {
  grid-template-columns: 132px minmax(0, 1fr);
  column-gap: 22px;
}
.acs-home-brand.acs-home-rupture .cc-home-week .cc-home-weekgrid .cc-rings {
  width: 132px;
  height: 132px;
}
.cc-shell-dock {
  --arc-surface: #ffffff;
  --arc-background: #ffffff;
  --arc-border-subtle: #e8e8e4;
  --arc-border-strong: #c9c9c4;
  --arc-text-secondary: #101013;
  --arc-foreground: #101013;
  --arc-accent: #101013;
  --arc-accent-foreground: #ffffff;
}
.acs-home-brand.acs-home-rupture .cc-home-weekgrid {
  grid-template-columns: 132px max-content;
  column-gap: 24px;
  justify-content: center;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
}
.cc-shell-actions {
  align-self: center;
  gap: 8px;
}
.cc-shell-actions .cc-shell-bell {
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
}
.cc-shell-bell-ic {
  position: relative;
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
}
.cc-shell-actions .cc-shell-bell .cc-shell-bell-ic .cc-shell-count {
  position: absolute;
  top: -5px;
  right: -7px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  font-size: 10.5px;
  box-shadow: 0 0 0 2px var(--cc-page, #fafaf8);
}
.cc-shell-actions .cc-shell-usermenu {
  width: 44px;
  height: 44px;
  justify-content: center;
  padding: 0;
  border-radius: 50%;
}
.cc-shell-actions .cc-shell-usermenu [data-size=sm] {
  --face-size: 36px;
}
.cc-shell-actions[data-compact] .cc-shell-bell-ic {
  width: 18px;
  height: 18px;
}
.cc-shell-actions[data-compact] .cc-shell-usermenu {
  width: 32px;
}
.acs-home-brand.acs-home-rupture .hp-agenda-foot {
  margin-top: 4px;
}
.acs-home-brand.acs-home-rupture :is(.hp-week, .hp-studio) > .cc-sectionhead {
  margin-top: 28px;
}
.acs-home-brand.acs-home-rupture .cc-sectionhead h2 {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.15;
}
.acs-home-brand.acs-home-rupture :is(.cc-home-stat-l, .cc-home-stat-u, .hp-story-meta, .cc-home-slot-meta) {
  letter-spacing: .01em;
}
.acs-home-brand.acs-home-rupture .hp-story {
  transition: transform 160ms cubic-bezier(.23, 1, .32, 1), opacity 160ms cubic-bezier(.23, 1, .32, 1);
}
.acs-home-brand.acs-home-rupture .hp-story:active {
  transform: scale(.98);
  transition-duration: 0s;
}
.acs-home-brand.acs-home-rupture .cc-seeall:active {
  opacity: .55;
  transition-duration: 0s;
}
.acs-home-brand.acs-home-rupture .cc-seeall {
  transition: opacity 160ms cubic-bezier(.23, 1, .32, 1);
}
.cc-shell-docked .cc-screen .cc-scroll {
  scroll-padding-bottom: calc(var(--cc-dock-reserve) - 8px);
}
@media (prefers-reduced-motion: reduce) {
  .acs-home-brand.acs-home-rupture .hp-story:active {
    transform: none;
    opacity: .72;
  }
}
@media (prefers-reduced-transparency: reduce) {
  .acs-home-brand.acs-home-rupture :is(.cc-home-v3-panel, .cc-home-v3-day[aria-pressed=true]) {
    background: #ffffff;
  }
}
@media (prefers-contrast: more) {
  .acs-home-brand.acs-home-rupture .cc-home-v3-panel {
    background: #ffffff;
    box-shadow: inset 0 0 0 1px #8f8f8a;
  }
  .acs-home-brand.acs-home-rupture .cc-home-v3-day[aria-pressed=true] {
    background: #ffffff;
    box-shadow:
      inset 1px 0 0 #8f8f8a,
      inset -1px 0 0 #8f8f8a,
      inset 0 1px 0 #8f8f8a;
  }
  .cc-shell-dock {
    --arc-border-subtle: #8f8f8a;
  }
}
.cc-shell-actions .cc-shell-usermenu {
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 160ms cubic-bezier(.23, 1, .32, 1);
}
.cc-shell-actions .cc-shell-usermenu > [data-size] {
  width: 36px;
  height: 36px;
  font-size: 13px;
}
.cc-shell-actions .cc-shell-usermenu:active {
  opacity: .7;
  transition-duration: 0s;
}
.cc-shell-actions[data-compact] .cc-shell-usermenu > [data-size] {
  width: 32px;
  height: 32px;
  font-size: 12px;
}
.cc-profile-menu {
  display: grid;
  gap: 12px;
  width: min(288px, calc(100vw - 24px));
  padding: 12px;
}
.cc-profile-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 2px 4px;
}
.cc-profile-text {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.cc-profile-name {
  overflow: hidden;
  color: var(--arc-foreground);
  font-size: 15px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-profile-mail {
  overflow: hidden;
  color: var(--arc-text-secondary);
  font-size: 12.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-member-card {
  --arc-space-5: 14px;
  --arc-space-2: 2px;
  --arc-text-lg: 15px;
}
.cc-member-card [class*=footer] {
  margin-top: 10px;
}
.cc-member-balance {
  color: var(--arc-text-secondary);
  font-size: 12.5px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.cc-member-balance b {
  color: var(--arc-foreground);
  font-weight: 650;
}
.cc-profile-menu .cc-profile-row {
  height: auto;
  min-height: 44px;
  font-size: 14px;
}
@media (prefers-reduced-motion: reduce) {
  .cc-shell-actions .cc-shell-usermenu {
    transition: none;
  }
}
.cc-profile-menu {
  display: grid;
  gap: 6px;
  width: min(280px, calc(100vw - 24px));
  padding: 8px;
}
.cc-member-card {
  --arc-space-5: 16px;
  --arc-space-2: 2px;
  --arc-text-lg: 18px;
  --arc-space-3: 8px;
  border: 1px solid var(--arc-border);
  border-radius: 18px;
  background: var(--arc-surface);
  background-image:
    radial-gradient(
      120% 90% at 100% 0%,
      color-mix(in srgb, var(--arc-foreground) 10%, transparent),
      transparent 60%);
  box-shadow: none;
}
.cc-member-card h3,
.cc-member-card [class*=title] {
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-weight: 750;
  letter-spacing: -.015em;
}
.cc-member-card [class*=description] {
  margin-top: 2px;
  color: var(--arc-text-secondary);
  font-size: 13px;
}
.cc-member-id {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}
.cc-member-person {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.cc-member-person b {
  overflow: hidden;
  color: var(--arc-foreground);
  font-size: 15px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-member-person span {
  color: var(--arc-text-muted);
  font-size: 12px;
}
.cc-member-card [class*=footer] {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--arc-border);
}
.cc-member-balance {
  color: var(--arc-text-secondary);
  font-size: 12.5px;
  font-weight: 500;
}
.cc-member-balance b {
  margin-right: 2px;
  color: var(--arc-foreground);
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  vertical-align: -2px;
}
.cc-profile-menu .cc-profile-row {
  height: auto;
  min-height: 44px;
  padding: 0 10px;
  font-size: 14px;
}
@media (prefers-contrast: more) {
  .cc-member-card {
    background-image: none;
    border-color: #8f8f8a;
  }
}
.cc-profile-menu {
  display: grid;
  gap: 6px;
  width: min(280px, calc(100vw - 24px));
  padding: 8px;
}
.cc-member-profile {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 18px;
  padding: 20px 16px 16px;
  border-radius: 20px;
  background: var(--arc-surface-muted);
  color: var(--arc-foreground);
}
.cc-member-profile-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.cc-member-wordmark {
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 20px;
  line-height: .98;
  font-weight: 800;
  letter-spacing: -.6px;
}
.cc-member-level {
  min-width: 0;
  overflow: hidden;
  padding-top: 3px;
  color: var(--arc-text-secondary);
  font-size: 11px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-member-wallet {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.cc-member-credit {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  color: var(--arc-text-secondary);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.cc-member-credit b {
  color: var(--arc-foreground);
  font-size: 13px;
  font-weight: 600;
}
.cc-member-profile-bottom {
  display: flex;
  align-items: center;
  gap: 9px;
}
.cc-member-person {
  display: grid;
  min-width: 0;
  flex: 1;
  text-align: left;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
}
.cc-member-person small {
  color: var(--arc-text-muted);
  font-size: 11px;
  font-weight: 400;
}
@media (prefers-contrast: more) {
  .cc-member-profile {
    box-shadow: inset 0 0 0 1px #8f8f8a;
  }
}
.cc-member-profile {
  gap: 18px;
}
.cc-profile-menu .cc-member-profile {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
  min-height: 112px;
  padding: 16px;
  border-radius: 16px;
  background: #f2f2ee;
  box-shadow: none;
}
.cc-profile-menu .cc-member-profile-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.cc-profile-menu .cc-member-wordmark {
  padding-top: 2px;
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.cc-profile-menu .cc-member-profile-top > [data-size] {
  width: 36px;
  height: 36px;
  font-size: 13px;
}
.cc-profile-menu .cc-member-person {
  display: grid;
  gap: 0;
  min-width: 0;
  color: var(--arc-foreground);
  font-size: 16px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: -.01em;
  text-align: left;
}
.cc-profile-menu .cc-member-person small {
  color: var(--arc-text-secondary);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: 0;
}
@media (prefers-contrast: more) {
  .cc-profile-menu .cc-member-profile {
    box-shadow: inset 0 0 0 1px #8f8f8a;
  }
}
.cc-messages-thread .cc-messages-head {
  border-bottom: 0;
}
.cc-messages-thread .cc-messages-chatthread [class~=chat_thread_composer] {
  border-top: 0;
}
.cc-messages-thread .cc-messages-chatthread {
  --arc-accent: #101013;
  --arc-accent-foreground: #ffffff;
  --arc-accent-subtle: #f2f2ef;
}
.cc-messages-thread .cc-messages-head {
  gap: 8px;
  min-height: 56px;
  padding: 4px 12px 6px 6px;
}
.cc-messages-thread .cc-messages-head > .cc-icon-btn:first-child {
  width: 44px;
  height: 44px;
  flex: none;
  background: transparent;
  box-shadow: none;
  color: var(--cc-ink, #101013);
}
.cc-messages-thread .cc-messages-head > [data-size] {
  width: 32px;
  height: 32px;
  flex: none;
}
.cc-messages-thread .cc-messages-head-text {
  gap: 1px;
}
.cc-messages-thread .cc-messages-head-text b {
  font-size: 14px;
  font-weight: 600;
  line-height: 18px;
}
.cc-messages-thread .cc-messages-head-text small {
  font-size: 12px;
  line-height: 16px;
}
.cc-messages-thread .cc-messages-head > .cc-icon-btn:first-child:active {
  opacity: .55;
  transition-duration: 0s;
}
.cc-messages-thread [class~=chat_thread_bubble] {
  background: #ffffff;
  box-shadow: inset 0 0 0 1px #e8e8e4;
  font-size: 14px;
  line-height: 1.4;
}
.cc-messages-thread [class~=chat_thread_row][data-mine] [class~=chat_thread_bubble] {
  background: #101013;
  box-shadow: none;
  color: #ffffff;
}
.cc-messages-thread [class~=chat_thread_meta] {
  font-size: 12px;
}
.cc-messages-thread [class~=chat_thread_day] {
  justify-content: center;
  font-size: 12px;
}
.cc-messages-thread [class~=chat_thread_day]::before,
.cc-messages-thread [class~=chat_thread_day]::after {
  display: none;
}
.cc-messages-thread [class~=chat_thread_composer] {
  padding: 8px 10px calc(8px + var(--cc-safe-bottom)) 6px;
}
.cc-messages-thread [class~=chat_thread_inputRow] {
  align-items: flex-end;
  gap: 4px;
}
.cc-messages-thread [class~=chat_thread_attach] {
  width: 44px;
  height: 44px;
  margin-bottom: 0;
  color: var(--cc-ink, #101013);
}
.cc-messages-thread [class~=chat_thread_attach] svg {
  width: 22px;
  height: 22px;
}
.cc-messages-thread [class~=chat_thread_box] {
  min-height: 44px;
  border-radius: 22px;
  background: #ffffff;
  border-color: #e8e8e4;
}
.cc-messages-thread :is([class~=chat_thread_mirror], [class~=chat_thread_textarea]) {
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 15px;
}
.cc-messages-thread [class~=chat_thread_send] {
  width: 36px;
  height: 36px;
  margin: 0 4px 3px 0;
  overflow: visible;
  color: rgb(11 11 13 / .5);
}
.cc-messages-thread [class~=chat_thread_send]::after {
  content: "";
  position: absolute;
  inset: -4px;
}
.cc-messages-thread [class~=chat_thread_send][data-ready] {
  color: #ffffff;
}
@media (prefers-reduced-motion: reduce) {
  .cc-messages-thread [class~=chat_thread_send][data-ready]:active {
    transform: none;
    opacity: .72;
  }
}
.cc-acs .cc-messages-list {
  background: #ffffff;
  box-shadow: 0 0 0 1px #e8e8e4;
}
.cc-acs .cc-messages-list > li + li {
  border-top-color: #efefeb;
}
.cc-acs .cc-messages-row {
  min-height: 64px;
}
.cc-acs .cc-messages-row-top b {
  font-size: 15px;
}
.cc-acs .cc-messages-row-preview {
  font-size: 13px;
  line-height: 18px;
}
.cc-acs .cc-messages-badge {
  align-self: center;
}
.cc-shell-inbox [class~=notification_center_header] {
  padding: 12px 16px 6px;
}
.cc-shell-inbox [class~=notification_center_heading] h2 {
  font-family:
    "ACS Archivo",
    "ACS Inter",
    system-ui,
    sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -.015em;
}
.cc-shell-inbox [class~=notification_center_list] {
  padding: 4px 8px 12px;
}
.cc-shell-inbox-switch {
  padding: 4px 16px 8px;
}
.cc-shell-inbox [class~=notification_center_header] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.cc-shell-inbox [class~=notification_center_toolbar] {
  min-height: 48px;
  padding: 4px 16px 8px;
  border-bottom: 0;
}
.cc-shell-inbox [class~=notification_center_itemTitle] {
  align-items: flex-start;
}
.cc-shell-inbox [class~=notification_center_itemTitle] strong {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 20px;
}
.cc-shell-inbox [class~=notification_center_itemTitle] [class~=notification_center_unreadDot] {
  margin-top: 7px;
  flex: none;
}
.cc-shell-inbox [class~=notification_center_time] {
  padding-top: 2px;
  line-height: 18px;
}
.cc-shell-inbox [class~=notification_center_details] > p {
  display: none;
}
.cc-shell-inbox [class~=notification_center_details] [class~=notification_center_itemActions] {
  margin-top: 8px;
}
.cc-messages-thread .cc-messages-chat {
  padding-bottom: 0;
}
.cc-phone,
body[data-brand=acs] {
  --cc-safe-bottom: max(env(safe-area-inset-bottom, 0px), 34px);
  --cc-safe-top: max(50px, env(safe-area-inset-top, 0px));
  --cc-dock-height: 56px;
  --cc-dock-gap: calc(var(--cc-safe-bottom) + 8px);
  --cc-dock-reserve: calc(var(--cc-dock-height) + var(--cc-dock-gap) + 24px);
}
.cc-shell-dock {
  bottom: var(--cc-dock-gap);
  height: var(--cc-dock-height);
}
.cc-phone:not(.cc-shell-docked) .cc-seance .cc-scroll {
  padding-bottom: calc(16px + var(--cc-safe-bottom));
}
.cc-acs {
  --cc-gutter-l: max(22px, env(safe-area-inset-left, 0px));
  --cc-gutter-r: max(22px, env(safe-area-inset-right, 0px));
}
.cc-acs .cc-scroll {
  padding-left: var(--cc-gutter-l);
  padding-right: var(--cc-gutter-r);
}
.cc-acs :is(.cc-today, .cc-pagehead, .cc-account-head, .cc-nutrition-head, .cc-seance-head, .cc-bilan-head) {
  margin-left: calc(-1 * var(--cc-gutter-l));
  margin-right: calc(-1 * var(--cc-gutter-r));
  padding-left: var(--cc-gutter-l);
  padding-right: var(--cc-gutter-r);
}
.cc-acs .cc-studio-events {
  margin-left: calc(-1 * var(--cc-gutter-l));
  margin-right: calc(-1 * var(--cc-gutter-r));
  padding-left: var(--cc-gutter-l);
  padding-right: var(--cc-gutter-r);
}
body[data-brand=acs] [class~=media_viewer_surface][data-presentation=fullscreen] [class~=media_viewer_bar] {
  padding-top: var(--cc-safe-top);
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}
body[data-brand=acs] [class~=media_viewer_surface][data-presentation=fullscreen] [class~=media_viewer_bar][data-chrome=library] {
  padding-left: max(10px, env(safe-area-inset-left, 0px));
  padding-right: max(10px, env(safe-area-inset-right, 0px));
}
body[data-brand=acs] [class~=media_viewer_surface][data-presentation=fullscreen] [class~=media_viewer_footer] {
  padding-bottom: calc(16px + var(--cc-safe-bottom));
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}
.cc-acs :is(.cc-home-sheet, .cc-nutrition-sheet, .cc-studio-sheet, .cc-seance-sheet) {
  --cc-sheet-l: max(20px, env(safe-area-inset-left, 0px));
  --cc-sheet-r: max(20px, env(safe-area-inset-right, 0px));
  gap: 16px;
  padding: 0 var(--cc-sheet-r) calc(20px + var(--cc-safe-bottom)) var(--cc-sheet-l);
  scroll-padding-top: 44px;
}
.cc-acs .cc-home-sheet {
  max-height: min(82%, calc(100% - var(--cc-safe-top) - 8px));
}
.cc-acs :is(.cc-nutrition-sheet, .cc-studio-sheet, .cc-seance-sheet) {
  max-height: min(84%, calc(100% - var(--cc-safe-top) - 8px));
}
.cc-acs :is(.cc-home-sheet, .cc-nutrition-sheet, .cc-studio-sheet, .cc-seance-sheet) > .cc-drawer-grip {
  margin: 0 calc(-1 * var(--cc-sheet-r)) -16px calc(-1 * var(--cc-sheet-l));
  padding: 0;
}
.cc-acs .cc-drawer-handle {
  height: 44px;
}
.cc-acs :is(.cc-home-sheet, .cc-nutrition-sheet, .cc-studio-sheet, .cc-seance-sheet) .cc-home-sheet-head h2 {
  font-family: var(--cc-font-title);
  font-size: 20px;
  font-weight: 650;
  line-height: 24px;
  letter-spacing: -.01em;
}
.cc-acs :is(.cc-home-sheet, .cc-nutrition-sheet, .cc-studio-sheet, .cc-seance-sheet) .cc-home-p {
  line-height: 20px;
}
.cc-acs :is(.cc-home-sheet, .cc-nutrition-sheet, .cc-studio-sheet, .cc-seance-sheet) > :not(.cc-primary, .cc-drawer-grip, .cc-home-sheet-head) + .cc-primary {
  margin-top: 8px;
}
.cc-acs :is(.cc-home-sheet, .cc-nutrition-sheet, .cc-studio-sheet, .cc-seance-sheet) .cc-home-stepper .cc-icon-btn {
  width: 44px;
  height: 44px;
}
.cc-acs :is(.cc-home-sheet, .cc-nutrition-sheet, .cc-studio-sheet, .cc-seance-sheet) .cc-account-field input:not([type=file]) {
  min-height: 44px;
}
.cc-acs :is(.cc-home-sheet, .cc-nutrition-sheet, .cc-studio-sheet, .cc-seance-sheet) > .cc-suivi-link {
  min-height: 44px;
}
.cc-acs .cc-notif-drawer .cc-drawer-grip {
  padding: 0;
}
.cc-acs .cc-notif-drawer.cc-notif-drawer[data-side=bottom] {
  max-height: min(32rem, calc(100% - var(--cc-safe-top) - 8px));
}
.cc-acs .cc-shell-inbox-switch {
  padding-left: 20px;
  padding-right: 20px;
}
.cc-acs .cc-shell-inbox [class~=notification_center_toolbar] {
  padding-left: 20px;
  padding-right: 20px;
}
.cc-acs .cc-shell-inbox [class~=notification_center_list] {
  padding-left: 10px;
  padding-right: 10px;
}
.cc-acs :is(.cc-home-sheet, .cc-nutrition-sheet, .cc-studio-sheet, .cc-seance-sheet) .cc-chip {
  min-height: 44px;
  border-radius: 22px;
}
.cc-bank-menu {
  --arc-font-body: var(--cc-font-ui);
  font-family: var(--arc-font-body);
}
:is(.cc-bank-menu, .cc-messages-attach-menu) [class~=dropdown_menu_item] {
  min-height: 44px;
  gap: 10px;
  font-size: 14px;
  line-height: 20px;
}
:is(.cc-bank-menu, .cc-messages-attach-menu) [class~=dropdown_menu_icon] {
  width: 18px;
  justify-content: center;
}
.cc-profile-menu .cc-profile-row {
  line-height: 20px;
}
body[data-brand=acs] [class~=select_content] {
  --arc-font-body: var(--cc-font-ui);
  font-family: var(--arc-font-body);
}
body[data-brand=acs] [class~=select_content] [class~=select_item] {
  min-height: 44px;
  font-size: 14px;
  line-height: 20px;
}
.cc-messages-thread [class~=chat_thread_emoji] {
  width: 40px;
  height: 40px;
  font-size: 20px;
}
.cc-messages-thread [class~=chat_thread_reactButton] {
  position: relative;
}
.cc-messages-thread [class~=chat_thread_reactButton]::after {
  content: "";
  position: absolute;
  inset: -8px;
}
.cc-bank-cat {
  height: auto;
  min-height: 44px;
  border-radius: 22px;
}
.cc-bank-cat:active {
  transform: none;
  opacity: .6;
  transition-duration: 0s;
}
.cc-messages-thread [class~=chat_thread_emoji] {
  width: 44px;
  height: 44px;
}
.cc-messages-thread [class~=chat_thread_picker] {
  left: 0;
  right: auto;
  transform-origin: 22px 100%;
}
.cc-messages-thread [class~=chat_thread_picker][data-mine] {
  left: auto;
  right: 0;
  transform-origin: calc(100% - 22px) 100%;
}
.cc-messages-thread [data-below] [class~=chat_thread_picker] {
  transform-origin: 22px 0;
}
.cc-messages-thread [data-below] [class~=chat_thread_picker][data-mine] {
  transform-origin: calc(100% - 22px) 0;
}
.cc-acs .cc-account-field {
  gap: 6px;
  font-size: 14px;
  line-height: 20px;
}
.cc-acs .cc-account-field input:not([type=file]) {
  min-height: 44px;
}
.cc-acs .cc-account-field :is(input, textarea):is(:disabled, [readonly]) {
  background: var(--cc-page);
  color: var(--cc-muted);
  cursor: default;
}
.cc-acs .cc-account-error {
  font-size: 12px;
  line-height: 16px;
}
.cc-acs .cc-account-form .cc-account-error {
  margin-top: -6px;
}
.cc-acs .cc-onb [class~=input_input] {
  min-height: 44px;
  font-size: 16px;
}
.cc-acs .cc-onb [class~=input_label] {
  font-size: 14px;
  line-height: 20px;
}
.cc-acs .cc-onb :is([class~=input_error], [class~=input_description]) {
  font-size: 12px;
  line-height: 16px;
}
.cc-acs .cc-bank [class~=search_field_input] {
  font-size: 16px;
}
.cc-acs .cc-biblio-search input,
.cc-acs .cc-nutrition-search input {
  font-size: 16px;
}
.cc-acs .cc-nutrition-search {
  height: 44px;
  border-radius: 22px;
}
.cc-acs .cc-biblio-search button {
  position: relative;
}
.cc-acs .cc-biblio-search button::after {
  content: "";
  position: absolute;
  inset: -10px;
}
.cc-acs .cc-seance-comment {
  font-size: 16px;
}
.cc-acs .cc-seance-step-field button,
.cc-acs .cc-seance-check {
  position: relative;
}
.cc-acs .cc-seance-step-field button::after {
  content: "";
  position: absolute;
  inset: -9px -5px;
}
.cc-acs .cc-seance-check::after {
  content: "";
  position: absolute;
  inset: -6px;
}
.cc-messages-thread :is([class~=chat_thread_mirror], [class~=chat_thread_textarea]) {
  font-size: 16px;
}
.cc-acs :is(.cc-account-field, .cc-account-file) input[type=file] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--cc-muted);
  font-size: 14px;
  line-height: 20px;
  overflow-wrap: anywhere;
}
.cc-acs :is(.cc-account-field, .cc-account-file) input[type=file]::file-selector-button {
  min-height: 44px;
  margin-right: 12px;
  padding: 0 16px;
  border: 1px solid var(--cc-rule);
  border-radius: 14px;
  background: var(--cc-sunk);
  color: var(--cc-ink);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.cc-acs :is(.cc-account-field, .cc-account-file) input[type=file]:focus-visible {
  outline: 2px solid var(--cc-link);
  outline-offset: 2px;
}
.cc-acs .cc-seance-comment-label {
  display: block;
  margin-bottom: -8px;
  color: var(--cc-muted);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}
.cc-acs :is(.cc-suivi-row-title, .cc-bank-row-text b) {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  overflow-wrap: break-word;
  line-height: 20px;
}
.cc-acs :is(.cc-bp-row-text b, .cc-prog-card-text b, .cc-ent-prog-head b) {
  line-height: 20px;
}
.cc-acs :is(.cc-nutrition-meta, .cc-studio-meta, .cc-biblio-format, .cc-bank-row-text small, .cc-bp-row-text small, .cc-prog-card-text small, .cc-ent-prog-head small, .cc-ent-row-text small) {
  line-height: 16px;
}
.cc-acs .cc-sectionhead > .cc-seeall {
  min-height: 44px;
  margin: -12px -8px -12px 0;
  padding: 0 8px;
}
.cc-acs :is(.cc-reserver, .cc-entrainement) .cc-home-slot-title {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  overflow-wrap: break-word;
  line-height: 20px;
}
.cc-acs :is(.cc-reserver, .cc-entrainement) .cc-home-slot-btn {
  position: relative;
}
.cc-acs :is(.cc-reserver, .cc-entrainement) .cc-home-slot-btn::after {
  content: "";
  position: absolute;
  inset: -6px -4px;
}
.cc-acs .cc-studio-team > li {
  display: grid;
}
.cc-acs .cc-studio-coach {
  position: relative;
  grid-template-rows: auto auto 1fr auto;
  align-content: start;
}
.cc-acs .cc-studio-coach .cc-studio-mine {
  position: absolute;
  top: 24px;
  left: 24px;
  max-width: calc(100% - 48px);
  line-height: 14px;
}
.cc-acs .cc-studio-coach .cc-studio-link {
  position: relative;
  align-self: end;
}
.cc-acs .cc-studio-coach .cc-studio-link::after {
  content: "";
  position: absolute;
  inset: -14px -8px;
}
.cc-acs .cc-studio-portrait-wrap {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 6px;
}
.cc-acs .cc-studio-portrait-wrap > .cc-studio-portrait {
  margin-bottom: 0;
}
.cc-acs .cc-studio-coach .cc-studio-portrait-wrap > .cc-studio-mine {
  top: auto;
  right: auto;
  bottom: 8px;
  left: 8px;
  max-width: calc(100% - 16px);
}
:where(.cc-acs) .cc-primary {
  display: flex;
  height: auto;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  line-height: 20px;
  text-align: center;
}
.cc-acs .cc-primary:disabled {
  opacity: .45;
  cursor: default;
}
.cc-acs .cc-seance button:disabled:active {
  transform: none;
}
.cc-acs .cc-icon-btn {
  position: relative;
}
.cc-acs .cc-icon-btn::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 50%;
}
.cc-acs .cc-scroll .cc-suivi-link:last-child {
  position: relative;
}
.cc-acs .cc-scroll .cc-suivi-link:last-child::after {
  content: "";
  position: absolute;
  inset: -13px -4px;
}
.cc-acs .cc-prog-act {
  position: relative;
}
.cc-acs .cc-prog-act::after {
  content: "";
  position: absolute;
  inset: -5px -4px;
}
.cc-acs :is(.cc-pagehead, .cc-account-head) > .cc-icon-btn:first-child {
  flex: none;
  width: 44px;
  height: 44px;
  min-width: 44px;
}
.cc-acs :is(.cc-pagehead, .cc-account-head) > .cc-title {
  flex: 1;
  min-width: 0;
  overflow-wrap: break-word;
}
.cc-acs :is(.cc-pagehead, .cc-account-head) > .cc-icon-btn:first-child::after,
.cc-acs .cc-home-stepper .cc-icon-btn::after,
.cc-acs .cc-shell-actions:not([data-compact]) .cc-shell-bell::after {
  content: none;
}
@media (max-width: 375px) {
  .cc-acs .cc-prog .cc-account-head > .cc-title {
    font-size: 20px;
    line-height: 24px;
    overflow-wrap: normal;
    word-break: normal;
  }
}
.cc-acs :is(.cc-reserver, .cc-entrainement) .cc-home-slot-meta,
.cc-acs :is(.cc-nutrition-line span, .cc-nutrition-entry small, .cc-nutrition-idea .cc-nutrition-meta, .cc-seance-coach-row small, .cc-reserver-when small, .cc-bilan-thumbs figcaption) {
  font-size: 12px;
  line-height: 16px;
}
.cc-acs .cc-seance-sets > li[data-done] .cc-seance-setn,
.cc-acs .cc-seance-ok {
  color: #15803d;
}
.cc-acs .cc-seance-row[data-state=done] .cc-seance-state {
  background: #15803d;
}
.cc-acs .cc-home-overlay {
  transition: background-color 220ms ease-in;
}
.cc-acs .cc-home-overlay[data-closing] {
  background: rgb(17 17 17 / 0);
}
.cc-acs :is(.cc-planning, .cc-reserver) .cc-home-slot-btn[data-state=booked] {
  padding: 0 4px;
  background: transparent;
  box-shadow: none;
  color: var(--acs-gold-deep, var(--cc-link));
  font-size: 12.5px;
  font-weight: 600;
}
.cc-acs .cc-prog-card-text small {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
}
.cc-acs .cc-onb [class~=button_primary] {
  color: var(--cc-on-action);
}
.acs-home-brand.cc-planning .cc-home-v3 {
  margin-top: 18px;
}
.acs-home-brand.cc-planning .cc-home-v3-field {
  margin-top: 0;
}
.acs-home-brand.cc-planning .hp-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.acs-home-brand.cc-planning .hp-agenda-foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
}
.acs-home-brand.cc-planning .hp-agenda-foot .cc-seeall {
  margin: 0 -8px 0 0;
}
.acs-home-brand.cc-planning .cc-home-v3-panel .cc-home-slot {
  grid-template-columns: 52px minmax(0, 1fr) auto;
}
.acs-home-brand.cc-planning .cc-home-v3-panel .cc-home-slot > .cc-home-slot-time {
  display: block;
}
.acs-home-brand.cc-planning .cc-home-v3-panel .cc-home-slot-btn[data-state=full] {
  background: var(--acs-sunk);
  box-shadow: none;
  color: var(--acs-muted);
}
.acs-home-brand.cc-planning .cc-home-v3-panel .cc-home-slot-btn[data-state=full][data-waitlist] {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--acs-rule-strong);
  color: var(--acs-ink);
}
@media (prefers-reduced-transparency: reduce) {
  .acs-home-brand.cc-planning :is(.cc-home-v3-panel, .cc-home-v3-day[aria-pressed=true]) {
    background: #ffffff;
  }
}
@media (prefers-contrast: more) {
  .acs-home-brand.cc-planning .cc-home-v3-panel {
    background: #ffffff;
    box-shadow: inset 0 0 0 1px #8f8f8a;
  }
  .acs-home-brand.cc-planning .cc-home-v3-day[aria-pressed=true] {
    background: #ffffff;
    box-shadow:
      inset 1px 0 0 #8f8f8a,
      inset -1px 0 0 #8f8f8a,
      inset 0 1px 0 #8f8f8a;
  }
}
.cc-acs .cc-auth .cc-scroll {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding-top: 40px;
  padding-bottom: calc(24px + var(--cc-safe-bottom));
}
.cc-acs .cc-auth-body {
  display: grid;
  flex: 1;
  align-content: start;
  gap: 16px;
}
.cc-acs .cc-auth-title {
  margin: 0;
  color: var(--cc-ink);
  font-family: var(--cc-font-title);
  font-size: 28px;
  font-weight: 700;
  line-height: 34px;
  letter-spacing: -.02em;
  overflow-wrap: break-word;
}
.cc-acs .cc-auth-email {
  overflow-wrap: anywhere;
}
.cc-acs .cc-auth-p {
  margin: 0;
  color: var(--cc-muted);
  font-size: 16px;
  line-height: 24px;
}
.cc-acs .cc-auth-form {
  display: grid;
  gap: 24px;
  margin-top: 8px;
}
.cc-acs .cc-auth-form > h1 {
  margin-bottom: -8px;
}
.cc-acs .cc-auth-actions {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}
.cc-acs .cc-auth-icon {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-sunk);
  color: var(--cc-link);
}
.cc-acs .cc-auth-note {
  margin: 8px 0 0;
  color: var(--cc-muted);
  font-size: 14px;
  line-height: 20px;
}
.cc-acs .cc-auth-status {
  min-height: 16px;
  margin: 0;
  color: var(--cc-muted);
  font-size: 12px;
  line-height: 16px;
  text-align: center;
}
.cc-acs .cc-auth-docs {
  margin: -8px 0 0;
  color: var(--cc-muted);
  font-size: 13px;
  line-height: 20px;
}
.cc-acs .cc-auth-docs a {
  color: var(--cc-link);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cc-acs .cc-auth-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  justify-self: center;
  padding: 0 8px;
  color: var(--cc-link);
  font-size: 15px;
  font-weight: 600;
}
.cc-acs .cc-auth-link:active {
  opacity: .6;
  transition-duration: 0s;
}
.cc-acs .cc-auth-contact {
  align-self: center;
  margin-top: 24px;
}
.cc-acs .cc-auth [class~=button_button] {
  width: 100%;
}
.cc-acs .cc-auth [class~=button_primary] {
  color: var(--cc-on-action);
}
.cc-acs .cc-auth [class~=input_input] {
  min-height: 44px;
  font-size: 16px;
}
.cc-acs .cc-auth [class~=input_input][readonly] {
  background: var(--cc-sunk);
  color: var(--cc-muted);
}
.cc-acs .cc-auth [class~=input_label] {
  font-size: 14px;
  line-height: 20px;
}
.cc-acs .cc-auth :is([class~=input_error], [class~=input_description]) {
  font-size: 12px;
  line-height: 16px;
}
.cc-acs .cc-auth-demo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 12px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px dashed var(--cc-rule);
  color: var(--cc-muted);
  font-size: 12px;
  line-height: 16px;
}
.cc-acs .cc-auth-demo span {
  flex-basis: 100%;
  text-align: center;
}
.cc-acs .cc-auth-demo button {
  min-height: 44px;
  padding: 0 8px;
  color: var(--cc-link);
  font-size: 12px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cc-acs .cc-auth-p .cc-auth-email {
  color: var(--cc-ink);
  font-weight: 600;
}
.cc-acs .cc-auth {
  --accent: var(--cc-action);
  --accent-hover: #dcc89a;
  --on-accent: var(--cc-on-action);
  --focus: var(--cc-link);
  --ink: var(--cc-ink);
  --muted: var(--cc-muted);
  --border: var(--cc-rule-strong);
}
.cc-acs .cc-auth [class~=button_secondary] {
  color: var(--cc-link);
}
.cc-acs .cc-auth-otp {
  display: grid;
  gap: 24px;
  margin-top: 8px;
}
.cc-acs .cc-auth [class~=otp_input_label] {
  font-size: 14px;
  line-height: 20px;
}
.cc-acs .cc-auth :is([class~=otp_input_error], [class~=otp_input_description]) {
  font-size: 12px;
  line-height: 16px;
}
.cc-acs .cc-auth-inline {
  position: relative;
  display: inline;
  padding: 0;
  color: var(--cc-link);
  font: inherit;
  font-weight: 600;
}
.cc-acs .cc-auth-inline::after {
  content: "";
  position: absolute;
  inset: -12px -8px;
}
.cc-acs .cc-auth-inline:active {
  opacity: .6;
  transition-duration: 0s;
}
.cc-acs .cc-auth-resend {
  display: grid;
  justify-items: center;
  gap: 0;
  margin-top: 4px;
}
.cc-acs .cc-auth-link:disabled {
  color: var(--cc-muted);
  cursor: default;
}
.cc-acs .cc-auth-resend + .cc-auth-note {
  margin-top: 0;
  font-size: 13px;
  text-align: center;
}
.cc-onb-introhead {
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 10px;
}
.cc-onb-introhead .cc-bilan-count {
  margin: 0;
  font-variant-numeric: tabular-nums;
}
.cc-onb-introhead .cc-onb-introprogress {
  flex-basis: 100%;
}
.cc-onb-introhead .cc-onb-introprogress [class~=progress_meta] {
  display: none;
}
.cc-onb-introhead .cc-onb-introprogress [class~=progress_track] {
  height: 3px;
}
.cc-onb[data-intro] .cc-bilan-lead {
  font-weight: 400;
}
.cc-onb-points--open {
  gap: 0;
  margin: 10px 0 0;
}
.cc-onb .cc-onb-points--open li {
  gap: 14px;
  min-height: 52px;
  padding: 12px 0;
  border-radius: 0;
  background: transparent;
  font-size: 15px;
  font-weight: 500;
}
.cc-onb .cc-onb-points--open li + li {
  border-top: 1px solid var(--cc-rule);
}
.cc-onb .cc-onb-points--open svg {
  color: var(--cc-link);
}
.cc-acs .cc-onb {
  --accent: var(--cc-action);
  --accent-hover: #dcc89a;
  --on-accent: var(--cc-on-action);
  --focus: var(--cc-link);
  --accent-soft: var(--cc-sunk);
}
.cc-acs .cc-onb [class~=button_secondary] {
  color: var(--cc-link);
}
.cc-acs .cc-ressource .cc-ressource-short {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-acs .cc-ressource-media {
  margin-top: 12px;
}
.cc-acs .cc-ressource-media.cc-seance-video {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 120px;
  justify-content: center;
  border-radius: 16px;
  background: var(--cc-sunk);
  color: var(--cc-muted);
}
.cc-acs .cc-ressource-credit {
  margin: 8px 0 0;
  color: var(--cc-muted);
  font-size: 12px;
  line-height: 16px;
}
.cc-acs .cc-ressource-pdfph {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 16px;
  border-radius: 16px;
  background: var(--cc-sunk);
  color: var(--cc-muted);
  font-size: 14px;
  line-height: 20px;
}
.cc-acs .cc-ressource-title {
  margin: 20px 0 4px;
  color: var(--cc-ink);
  font-family: var(--cc-font-title);
  font-size: 24px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: -.02em;
  overflow-wrap: break-word;
}
.cc-acs .cc-ressource-block {
  margin-top: 24px;
}
.cc-acs .cc-ressource-h2 {
  margin: 0 0 8px;
  color: var(--cc-ink);
  font-family: var(--cc-font-title);
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
}
.cc-acs .cc-ressource-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0 0 0 20px;
  list-style: decimal;
  color: var(--cc-ink);
  font-size: 15px;
  line-height: 22px;
}
.cc-acs .cc-ressource-list li {
  padding: 10px 0;
  border-bottom: 1px solid var(--cc-rule);
}
.cc-acs .cc-ressource .cc-ressource-cta {
  width: 100%;
  margin-top: 24px;
}
.cc-acs .cc-ressource [class~=button_primary] {
  color: var(--cc-on-action);
}
.cc-acs .cc-ressource {
  --accent: var(--cc-action);
  --accent-hover: #dcc89a;
  --on-accent: var(--cc-on-action);
  --focus: var(--cc-link);
}
.cc-acs .cc-ressource-ask {
  display: inline-flex;
  min-height: 44px;
  margin-top: 16px;
}
.cc-acs .cc-ressource .cc-home-demo {
  margin-top: 8px;
}
.cc-acs .cc-ressource-reader .cc-scroll {
  display: flex;
  flex-direction: column;
  padding-bottom: calc(24px + var(--cc-safe-bottom));
}
.cc-acs .cc-ressource-viewer {
  display: grid;
  flex: 1;
  place-content: center;
  justify-items: center;
  gap: 8px;
  margin-top: 16px;
  padding: 24px;
  border: 1px dashed var(--cc-rule-strong);
  border-radius: 16px;
  color: var(--cc-muted);
  text-align: center;
}
.cc-acs .cc-ressource-viewer-title {
  margin: 0;
  color: var(--cc-ink);
  font-size: 16px;
  font-weight: 600;
  line-height: 22px;
}
.cc-acs .cc-ressource-viewer-text {
  max-width: 280px;
  margin: 0;
  font-size: 13px;
  line-height: 20px;
}
.cc-acs .cc-ressource-reader {
  --accent: var(--cc-action);
  --accent-hover: #dcc89a;
  --on-accent: var(--cc-on-action);
  --focus: var(--cc-link);
  --accent-soft: var(--cc-sunk);
}
.cc-acs .cc-pdf {
  position: relative;
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  background: var(--cc-sunk);
}
.cc-acs .cc-pdf-scroll {
  flex: 1;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 60px 0 calc(72px + var(--cc-safe-bottom));
  -webkit-overflow-scrolling: touch;
}
.cc-acs .cc-pdf-pages {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 12px 16px;
  width: max-content;
  min-width: 100%;
  box-sizing: border-box;
}
.cc-acs .cc-pdf-page {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  background: #ffffff;
  box-shadow: 0 1px 3px rgb(11 11 13 / .12);
}
.cc-acs .cc-pdf-page canvas {
  position: absolute;
  inset: 0;
  display: block;
}
.cc-acs .cc-pdf-bar,
.cc-acs .cc-pdf-tools {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px var(--cc-gutter-r, 16px) 6px var(--cc-gutter-l, 16px);
  background: rgb(246 244 239 / .94);
  transition: transform 200ms cubic-bezier(.2, 0, 0, 1), opacity 200ms ease;
}
.cc-acs .cc-pdf-bar {
  top: 0;
  min-height: 56px;
  box-shadow: 0 1px 0 var(--cc-rule);
}
.cc-acs .cc-pdf-tools {
  bottom: 0;
  justify-content: space-between;
  padding-top: 8px;
  padding-bottom: calc(8px + var(--cc-safe-bottom));
  box-shadow: 0 -1px 0 var(--cc-rule);
}
.cc-acs .cc-pdf[data-hidden] .cc-pdf-bar {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}
.cc-acs .cc-pdf[data-hidden] .cc-pdf-tools {
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
}
.cc-acs .cc-pdf-bar .cc-icon-btn {
  flex: none;
  width: 44px;
  height: 44px;
}
.cc-acs .cc-pdf-bar .cc-icon-btn::after {
  content: none;
}
.cc-acs .cc-pdf-title {
  flex: 1;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--cc-ink);
  font-family: var(--cc-font-title);
  font-size: 17px;
  font-weight: 700;
  line-height: 22px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-acs .cc-pdf-state {
  display: grid;
  justify-items: center;
  gap: 12px;
  margin: 40px 24px;
  color: var(--cc-muted);
  font-size: 15px;
  line-height: 22px;
  text-align: center;
}
.cc-acs .cc-pdf-jump {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--cc-muted);
  font-size: 14px;
}
.cc-acs .cc-pdf-jump input {
  width: 56px;
  min-height: 44px;
  padding: 0 8px;
  border: 1px solid var(--cc-rule-strong);
  border-radius: 12px;
  background: #ffffff;
  color: var(--cc-ink);
  font: inherit;
  font-size: 16px;
  text-align: center;
}
.cc-acs .cc-pdf-jump input:focus-visible {
  outline: 2px solid var(--cc-link);
  outline-offset: 1px;
}
.cc-acs .cc-pdf-zoom {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cc-acs .cc-pdf-zoom [class~=button_button] {
  min-width: 44px;
  min-height: 44px;
}
.cc-acs .cc-pdf-zoomv {
  min-width: 48px;
  color: var(--cc-ink);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.cc-acs .cc-pdf-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .cc-acs .cc-pdf-bar,
  .cc-acs .cc-pdf-tools {
    transition: opacity 120ms linear;
  }
  .cc-acs .cc-pdf[data-hidden] :is(.cc-pdf-bar, .cc-pdf-tools) {
    transform: none;
  }
}
.cc-pdf-page .textLayer {
  color-scheme: only light;
  position: absolute;
  text-align: initial;
  inset: 0;
  overflow: clip;
  opacity: 1;
  line-height: 1;
  letter-spacing: normal;
  word-spacing: normal;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  forced-color-adjust: none;
  transform-origin: 0 0;
  caret-color: CanvasText;
  z-index: 0;
  --min-font-size: 1;
  --text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));
  --min-font-size-inv: calc(1 / var(--min-font-size));
}
.cc-pdf-page .textLayer :is(span, br) {
  color: transparent;
  position: absolute;
  white-space: pre;
  cursor: text;
  transform-origin: 0% 0%;
  -webkit-user-select: text;
  user-select: text;
}
.cc-pdf-page .textLayer > :not(.markedContent),
.cc-pdf-page .textLayer .markedContent span:not(.markedContent) {
  z-index: 1;
  --font-height: 0;
  font-size: calc(var(--text-scale-factor) * var(--font-height));
  --scale-x: 1;
  --rotate: 0deg;
  transform: rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv));
}
.cc-pdf-page .textLayer .markedContent {
  display: contents;
}
.cc-pdf-page .textLayer ::selection {
  background: rgb(0 0 255 / .25);
}
.cc-acs .cc-ressource-pdf {
  margin-left: 0;
  margin-right: 0;
}
.cc-acs .cc-pdf-preview {
  display: grid;
  justify-items: center;
  min-height: 120px;
  padding: 16px;
  border-radius: 16px;
  background: var(--cc-sunk);
}
.cc-acs .cc-pdf-preview .cc-pdf-page {
  box-shadow: 0 1px 3px rgb(11 11 13 / .12);
}
.cc-acs .cc-pdf-preview .cc-pdf-page canvas {
  position: static;
}
.cc-acs .cc-pdf-preview .cc-pdf-state {
  margin: 24px 8px;
}
.cc-acs .cc-ressource-intro {
  margin: 12px 0 0;
  color: var(--cc-ink);
  font-size: 15px;
  line-height: 22px;
}
.cc-acs .cc-pdf[data-hidden] :is(.cc-pdf-bar, .cc-pdf-tools):focus-within {
  transform: none;
  opacity: 1;
  pointer-events: auto;
}
.cc-acs .cc-pdf-bar,
.cc-acs .cc-pdf-tools {
  background: rgb(255 255 255 / .92);
  box-shadow: none;
}
.cc-acs .cc-pdf-bar {
  min-height: 52px;
}
.cc-acs .cc-pdf-title {
  font-family: var(--cc-font-ui);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: 0;
}
.cc-acs .cc-pdf-zoomv {
  font-size: 15px;
}
.cc-acs .cc-pdf-preview .cc-pdf-page {
  max-width: 100%;
}
.cc-acs .cc-pdf-preview .cc-pdf-page canvas {
  max-width: 100%;
  height: auto;
}
.cc-acs .cc-ressource-title {
  margin-top: 20px;
}
.cc-acs .cc-ressource-intro {
  margin-top: 8px;
  color: var(--cc-muted);
  font-size: 15px;
  line-height: 22px;
}
.cc-acs .cc-ressource-media .cc-seance-meta {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 16px;
}
.cc-acs .cc-reservations {
  --accent: var(--cc-action);
  --accent-hover: #dcc89a;
  --on-accent: var(--cc-on-action);
  --focus: var(--cc-link);
  --accent-soft: var(--cc-sunk);
}
.cc-acs .cc-reservations [class~=button_secondary] {
  color: var(--cc-link);
}
.cc-acs .cc-resa-switch {
  margin-top: 16px;
}
.cc-acs .cc-resa-switch [role=radiogroup],
.cc-acs .cc-resa-switch > * {
  width: 100%;
}
.cc-acs .cc-resa-filters {
  flex-wrap: wrap;
  margin: 16px 0 0;
  overflow: visible;
  white-space: normal;
}
.cc-acs .cc-resa-list {
  margin-top: 12px;
}
.cc-acs .cc-resa-month {
  margin-top: 20px;
}
.cc-acs .cc-resa-month-title {
  margin: 0;
  color: var(--cc-muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
}
.cc-acs .cc-resa-row {
  align-items: center;
  min-height: 64px;
}
.cc-acs .cc-resa-when {
  display: grid;
  flex: none;
  width: 56px;
  gap: 2px;
}
.cc-acs .cc-resa-when b {
  font-size: 15px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.cc-acs .cc-resa-when small {
  color: var(--cc-muted);
  font-size: 12px;
  line-height: 16px;
}
.cc-acs .cc-resa-meta {
  color: var(--cc-muted);
  font-size: 12px;
  line-height: 16px;
}
.cc-acs .cc-resa-state {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 4px;
  max-width: 108px;
  margin: 0;
  color: var(--cc-muted);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 16px;
  text-align: right;
}
.cc-acs .cc-resa-row > .cc-resa-state:not([data-status]),
.cc-acs .cc-resa-state[data-status=realisee] {
  color: var(--cc-link);
}
.cc-acs .cc-resa-chev {
  flex: none;
  color: var(--cc-rule-strong);
}
.cc-acs .cc-resa-empty {
  display: grid;
  justify-items: center;
  gap: 12px;
  margin: 40px 0 0;
  color: var(--cc-muted);
  font-size: 15px;
  line-height: 22px;
  text-align: center;
}
.cc-acs .cc-resa-empty p {
  margin: 0;
}
.cc-acs .cc-resa-skeleton {
  display: grid;
  gap: 16px;
  margin-top: 20px;
}
.cc-acs .cc-resa-more {
  margin: 16px auto 0;
  min-height: 44px;
}
.cc-acs .cc-resa-facts {
  display: grid;
  gap: 0;
  margin: 0;
}
.cc-acs .cc-resa-facts > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid var(--cc-rule);
  font-size: 14px;
  line-height: 20px;
}
.cc-acs .cc-resa-facts dt {
  color: var(--cc-muted);
}
.cc-acs .cc-resa-facts dd {
  margin: 0;
  color: var(--cc-ink);
  text-align: right;
}
.cc-acs .cc-resa-ask {
  min-height: 44px;
}
.cc-acs .cc-ent-resa {
  display: inline-flex;
  min-height: 44px;
  margin-top: 4px;
}
.cc-acs .cc-resa-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin: 16px 0 0;
  overflow: visible;
  white-space: nowrap;
}
.cc-acs .cc-resa-filters .cc-chip {
  min-width: 0;
  height: auto;
  min-height: 44px;
  padding: 0 6px;
  border-radius: 22px;
  text-align: center;
}
.cc-acs .cc-resa-filterbar {
  display: flex;
  margin-top: 12px;
}
.cc-acs .cc-resa-filter {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 4px;
  margin-left: -4px;
  padding: 0 4px;
  color: var(--cc-link);
  font-size: 15px;
  font-weight: 600;
}
.cc-acs .cc-resa-filter:active {
  opacity: .6;
  transition-duration: 0s;
}
.cc-acs .cc-resa-filter[data-state=open] svg {
  transform: rotate(180deg);
}
@media (prefers-reduced-motion: no-preference) {
  .cc-acs .cc-resa-filter svg {
    transition: transform 160ms ease;
  }
}
.cc-acs .cc-resa-switch {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cc-acs .cc-resa-switch > * {
  width: auto;
}
.cc-acs .cc-resa-switch > :first-child {
  flex: 1;
  min-width: 0;
}
.cc-acs .cc-resa-filterbtn {
  position: relative;
  display: grid;
  flex: none;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 22px;
  color: var(--cc-link);
}
.cc-acs .cc-resa-filterbtn:active {
  opacity: .6;
  transition-duration: 0s;
}
.cc-acs .cc-resa-filterbtn[data-state=open] {
  background: var(--cc-sunk);
}
.cc-acs .cc-resa-filterdot {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--cc-link);
  box-shadow: 0 0 0 2px var(--cc-page);
}
.cc-acs .cc-habits-head {
  display: grid;
  justify-content: start;
  gap: 2px;
}
.cc-acs .cc-habits-period {
  color: var(--cc-muted);
  font-size: 13px;
  line-height: 18px;
}
.cc-acs .cc-habits-rows {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cc-acs .cc-habits-rows > li {
  display: grid;
  gap: 10px;
  padding: 12px 0;
}
.cc-acs .cc-habits-rows > li + li {
  border-top: 1px solid var(--cc-rule);
}
.cc-acs .cc-habits-row-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.cc-acs .cc-habits-label {
  color: var(--cc-ink);
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
}
.cc-acs .cc-habits-count {
  color: var(--cc-muted);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.cc-acs .cc-habits-count b {
  color: var(--cc-ink);
  font-weight: 600;
}
.cc-acs .cc-habits .cc-suivi-mark {
  min-height: 44px;
  align-content: center;
}
.cc-acs .cc-habits-empty {
  display: grid;
  justify-items: start;
  gap: 12px;
  margin: 4px 0 0;
  color: var(--cc-muted);
  font-size: 15px;
  line-height: 22px;
}
.cc-acs .cc-habits-empty p {
  margin: 0;
}
.cc-acs .cc-habits {
  --accent: var(--cc-action);
  --accent-hover: #dcc89a;
  --on-accent: var(--cc-on-action);
  --focus: var(--cc-link);
  --accent-soft: var(--cc-sunk);
}
.cc-acs .cc-habits [class~=button_secondary] {
  color: var(--cc-link);
}
.cc-acs .cc-habits-reg {
  display: grid;
  gap: 8px;
  margin-top: 20px;
}
.cc-acs .cc-habits-reg-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.cc-acs .cc-habits-reg-head h3 {
  margin: 0;
  color: var(--cc-ink);
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
}
.cc-acs .cc-habits-pick {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 4px;
  margin-right: -4px;
  padding: 0 4px;
  color: var(--cc-link);
  font-size: 14px;
  font-weight: 600;
}
.cc-acs .cc-habits-pick:active {
  opacity: .6;
  transition-duration: 0s;
}
.cc-acs .cc-habits-weeks {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cc-acs .cc-habits-weeks li + li {
  border-top: 1px solid var(--cc-rule);
}
.cc-acs .cc-habits-week {
  display: flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--cc-ink);
  font-size: 14px;
  text-align: left;
}
.cc-acs .cc-habits-week b {
  color: var(--cc-muted);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.cc-acs .cc-habits-week:active {
  opacity: .6;
  transition-duration: 0s;
}
.cc-acs .cc-habits-date {
  margin: -4px 0 0;
  color: var(--cc-muted);
  font-size: 14px;
  line-height: 20px;
}
.cc-acs .cc-habits-state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--cc-muted);
  font-size: 15px;
  font-weight: 600;
}
.cc-acs .cc-habits-state[data-state=done] {
  color: var(--cc-link);
}
.cc-acs .cc-habits-chart [role=slider] {
  cursor: pointer;
}
.cc-acs #suivi-habitudes {
  scroll-margin-top: calc(18px + 44px + 8px + var(--cc-scroll-top, 8px));
}
.cc-acs .cc-perf-host {
  padding-inline: 0;
}
.cc-acs .cc-perf {
  display: grid;
  gap: 10px;
  min-width: 0;
}
.cc-acs .cc-perf-filters {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.cc-acs .cc-perf-pick {
  min-width: 0;
  max-width: 60%;
  margin: 0;
}
.cc-acs .cc-perf-pick:first-child {
  margin-left: -4px;
  color: var(--cc-ink);
  font-size: 15px;
}
.cc-acs .cc-perf-pick > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-acs .cc-perf-pick > svg {
  flex: none;
}
.cc-acs .cc-perf-summary {
  display: grid;
  gap: 2px;
}
.cc-acs .cc-perf-value {
  margin: 0;
  color: var(--cc-ink);
  font-size: 28px;
  font-weight: 700;
  line-height: 34px;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.cc-acs .cc-perf-meta {
  margin: 0;
  color: var(--cc-muted);
  font-size: 14px;
  line-height: 20px;
  font-variant-numeric: tabular-nums;
}
.cc-acs .cc-perf-note {
  margin: 0;
  color: var(--cc-muted);
  font-size: 13px;
  line-height: 18px;
}
.cc-acs .cc-perf-rows {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cc-acs .cc-perf-rows li + li {
  border-top: 1px solid var(--cc-rule);
}
.cc-acs .cc-perf-row {
  display: grid;
  width: 100%;
  min-height: 52px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  color: var(--cc-ink);
  text-align: left;
}
.cc-acs .cc-perf-row:active {
  opacity: .6;
  transition-duration: 0s;
}
.cc-acs .cc-perf-row-text {
  display: grid;
  min-width: 0;
}
.cc-acs .cc-perf-row-date {
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
}
.cc-acs .cc-perf-row-title {
  overflow: hidden;
  color: var(--cc-muted);
  font-size: 13px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cc-acs .cc-perf-row b {
  font-size: 15px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.cc-acs .cc-perf-all {
  justify-self: start;
  min-height: 44px;
}
.cc-acs .cc-perf-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}
.cc-acs .cc-perf-table th {
  padding: 0 0 6px;
  color: var(--cc-muted);
  font-size: 13px;
  font-weight: 600;
  text-align: right;
}
.cc-acs .cc-perf-table td {
  padding: 10px 0;
  border-top: 1px solid var(--cc-rule);
  color: var(--cc-ink);
  text-align: right;
}
.cc-acs .cc-perf-table :is(th, td):first-child {
  text-align: left;
}
.cc-acs #suivi-progression {
  scroll-margin-top: calc(18px + 44px + 8px + var(--cc-scroll-top, 8px));
}
.cc-acs .cc-perf-chart[data-single] [class~=line_chart_series] :is([class~=line_chart_line], [class~=line_chart_area]) {
  display: none;
}
.cc-acs .cc-health .cc-scroll {
  padding-bottom: calc(24px + var(--cc-safe-bottom));
}
.cc-acs .cc-health-state {
  display: grid;
  justify-items: start;
  gap: 10px;
  margin-top: 8px;
}
.cc-acs .cc-health-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  background: var(--cc-sunk);
  color: var(--cc-ink);
}
.cc-acs .cc-health-icon[data-status=valide] {
  background: var(--cc-action);
  color: var(--cc-on-action);
}
.cc-acs .cc-health-title {
  margin: 4px 0 0;
  color: var(--cc-ink);
  font-family: var(--cc-font-title);
  font-size: 24px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: -.01em;
}
.cc-acs .cc-health-text {
  margin: 0;
  color: var(--cc-muted);
  font-size: 16px;
  line-height: 24px;
}
.cc-acs .cc-health-pill {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border-radius: 14px;
  background: var(--cc-sunk);
  color: var(--cc-ink);
  font-size: 13px;
  font-weight: 600;
}
.cc-acs .cc-health-pill[data-status=valide] {
  color: var(--cc-link);
}
.cc-acs .cc-health-facts {
  display: grid;
  width: 100%;
  margin: 6px 0 0;
}
.cc-acs .cc-health-facts > div {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--cc-rule);
  font-size: 15px;
}
.cc-acs .cc-health-facts dt {
  color: var(--cc-muted);
}
.cc-acs .cc-health-facts dd {
  margin: 0;
  color: var(--cc-ink);
  font-weight: 600;
  text-align: right;
}
.cc-acs .cc-health-comment {
  margin: 0;
  color: var(--cc-ink);
  font-size: 15px;
  line-height: 22px;
}
.cc-acs .cc-health-actions {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}
.cc-acs .cc-health [class~=button_button] {
  width: 100%;
}
.cc-acs .cc-health [class~=button_primary] {
  color: var(--cc-on-action);
}
.cc-acs .cc-health-meta {
  margin: 0 0 8px;
  color: var(--cc-muted);
  font-size: 14px;
  line-height: 20px;
}
.cc-acs .cc-health-answers {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cc-acs .cc-health-answers li {
  display: grid;
  gap: 2px;
  padding: 12px 0;
  border-top: 1px solid var(--cc-rule);
}
.cc-acs .cc-health-q {
  margin: 0;
  color: var(--cc-muted);
  font-size: 14px;
  line-height: 20px;
}
.cc-acs .cc-health-a {
  margin: 0;
  color: var(--cc-ink);
  font-size: 16px;
  font-weight: 600;
  line-height: 22px;
}
.cc-acs .cc-health-detail {
  margin: 2px 0 0;
  color: var(--cc-ink);
  font-size: 15px;
  line-height: 22px;
}
.cc-acs .cc-health-privacy {
  margin: 16px 0 0;
  color: var(--cc-muted);
  font-size: 13px;
  line-height: 18px;
}
.cc-acs .cc-health-notice {
  display: grid;
  justify-items: start;
  gap: 6px;
}
.cc-acs .cc-health-notice p {
  margin: 0;
  color: var(--cc-ink);
  font-size: 15px;
  line-height: 22px;
}
.cc-acs .cc-health-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--cc-link);
  font-size: 15px;
  font-weight: 600;
}
.cc-acs .cc-health-link:active {
  opacity: .6;
  transition-duration: 0s;
}
.cc-acs .cc-health {
  --accent: var(--cc-action);
  --accent-hover: #dcc89a;
  --on-accent: var(--cc-on-action);
  --focus: var(--cc-link);
  --accent-soft: var(--cc-sunk);
  --ink: var(--cc-ink);
  --muted: var(--cc-muted);
  --border: var(--cc-rule-strong);
}
.cc-acs .cc-health > .cc-scroll > .cc-health-pill {
  justify-self: start;
  margin-bottom: 6px;
}
.cc-shell-inbox-notifs {
  display: contents;
}
.cc-acs .cc-health [class~=button_secondary] {
  color: var(--cc-link);
}
.cc-acs .cc-health-wait {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}
.cc-acs .cc-health-wait-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--cc-ink);
  font-family: var(--cc-font-title);
  font-size: 22px;
  font-weight: 700;
  line-height: 28px;
  letter-spacing: -.01em;
}
.cc-acs .cc-health-wait-title svg {
  flex: none;
  color: var(--cc-muted);
}
.cc-acs .cc-health-wait-meta {
  margin: 0;
  color: var(--cc-muted);
  font-size: 14px;
  line-height: 20px;
}
.cc-acs .cc-health-row {
  display: flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 20px;
  border-top: 1px solid var(--cc-rule);
  border-bottom: 1px solid var(--cc-rule);
  color: var(--cc-ink);
  font-size: 16px;
  font-weight: 600;
  text-align: left;
}
.cc-acs .cc-health-row:active {
  opacity: .6;
  transition-duration: 0s;
}
.cc-acs .cc-health [class~=button_button].cc-health-textlink {
  width: auto;
  min-height: 44px;
  margin-top: 8px;
  margin-left: -12px;
  background: transparent;
  color: var(--cc-link);
}
.cc-acs .cc-health-x {
  display: grid;
  gap: 16px;
  padding: 24px 0 8px;
}
.cc-acs .cc-health-x-title {
  margin: 0;
  color: var(--cc-muted);
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
}
.cc-acs .cc-health-x-message {
  margin: 0 0 8px;
  color: var(--cc-ink);
  font-family: var(--cc-font-title);
  font-size: 24px;
  font-weight: 600;
  line-height: 31px;
  letter-spacing: -.01em;
  text-wrap: pretty;
}
.cc-acs .cc-health-x-link {
  justify-self: center;
  min-height: 44px;
  padding: 0 12px;
  color: var(--cc-muted);
  font-size: 15px;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--cc-rule);
}
.cc-acs .cc-health-x-link:active {
  opacity: .6;
  transition-duration: 0s;
}
/*# sourceMappingURL=app.css.map */
