/* ============================================================================
   HYGIPACK — Prototype de section « Hygipack en action » (scroll-driven)
   ----------------------------------------------------------------------------
   Route de travail /lab/en-action. Ne participe pas au site publié.

   Couleurs, rayons et ombres proviennent de
   livrables/hygipack-design-system/tokens/tokens.css (Design System v1.0).
   Les jetons de marque sont déjà déclarés par /assets/styles.css ; seuls les
   jetons d'état, absents de ce fichier, sont recopiés ci-dessous.

   Aucune ressource tierce : pas de police distante, pas de CDN, pas d'image.
   Les six écrans sont du HTML/CSS, comme l'exige la note de handoff.

   Seuls `opacity` et `transform` sont animés (composités GPU).
   ============================================================================ */

:root {
  /* Jetons d'état — Design System v1.0, chapitre couleur. */
  --hp-success:      #16A34A;
  --hp-success-bg:   #E6F6ED;
  --hp-success-text: #15803D;
  --hp-warning:      #D97706;
  --hp-warning-bg:   #FBF1DE;
  --hp-warning-text: #B45309;
  --hp-danger:       #DC2626;
  --hp-danger-bg:    #FDECEC;
  --hp-danger-text:  #B91C1C;
  --hp-danger-line:  #F6D4D4;

  --hp-night-deep:   #0A1E3C;
  --hp-surface-app:  #F1F5F9;
  --hp-surface-soft: #F4F7FB;
  --hp-line-soft:    #EEF2F6;
  --hp-line-strong:  #DDE5EE;

  /* Le wordmark est une image : la police du logo n'est jamais chargée.
     Aucune fonte distante ici non plus, uniquement des replis système. */
  --lab-font-display: 'Schibsted Grotesk', 'IBM Plex Sans', system-ui, 'Segoe UI', Helvetica, Arial, sans-serif;
  --lab-font-mono:    'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --lab-ease: cubic-bezier(.4, 0, .2, 1);

  /* Valeurs écrites par le JS. Les replis servent au rendu sans JavaScript. */
  --p: 0;
}

/* --------------------------------------------------------------------------
   Base de la section
   -------------------------------------------------------------------------- */

.lab-body { background: var(--hp-surface); overflow-x: hidden; }

.lab-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

/* --------------------------------------------------------------------------
   Scène — repli SANS JavaScript
   Les six étapes sont empilées verticalement et toutes lisibles.
   -------------------------------------------------------------------------- */

.stage-track { position: relative; }

.stage { position: relative; }

.stage-bg { display: none; }

.stage-inner {
  max-width: 1200px; margin: 0 auto;
  padding: 0 clamp(18px, 3vw, 32px);
}

.copy-stack { display: flex; flex-direction: column; gap: 40px; }

.copy { max-width: 46ch; }

.screen + .screen { margin-top: 28px; }

.rail, .dots, .chip, .step-badge { display: none; }

.stage-visual { margin-top: 32px; }

/* --------------------------------------------------------------------------
   Scène — mode JavaScript actif
   -------------------------------------------------------------------------- */

.has-js .stage-track {
  /* Course de scroll. 620vh pour six étapes, conformément à la note de handoff. */
  height: 620vh;
}

.has-js .stage {
  position: sticky; top: 0;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  display: flex; align-items: center;
}

/* Fond de scène : UNE SEULE couleur, du début à la fin de la séquence.
   --hp-night-deep (#0A1E3C) est le jeton retenu : c'est celui qui correspond
   à la capture de référence, et il était DÉJÀ la borne basse du dégradé nuit
   de cette scène. Aucune nuance n'est donc inventée, on fige simplement la
   couleur que la séquence atteignait en fin de parcours.
   Les deux autres candidats sont écartés : --hp-night (#0E2A52) est plus
   clair, --hp-night-footer (#0A1727) plus sombre et réservé au pied de page.

   Aucun dégradé, aucune transition, aucune dépendance à --night : la
   luminosité du fond ne bouge plus d'une étape à l'autre. */
.has-js .stage-bg {
  display: block;
  position: absolute; inset: 0;
  background: var(--hp-night-deep);
}

/* Calque « nuit » neutralisé VISUELLEMENT, et lui seul.
   en-action.js continue d'écrire --night sur cet élément : on ne touche pas au
   JS, on ne supprime pas la variable, on cesse simplement de la peindre. Si
   --night venait à servir ailleurs, il resterait disponible. */
.has-js .stage-bg-night {
  display: none;
}

/* Typographie de la scène, posée sur bleu foncé en permanence.
   Ces cinq variables sont le point d'entrée prévu par le prototype : le JS les
   écrit en phase nuit et les RETIRE sinon, laissant ce repli s'appliquer. Les
   déclarer ici rend la scène lisible du premier au dernier écran, sans toucher
   une ligne de en-action.js ni un sélecteur de composant.

   Hiérarchie conforme à la DA : blanc pur pour les titres, blanc atténué pour
   le secondaire, blanc discret pour le tertiaire. Les opacités sont relevées
   par rapport au fond bleu vif précédent, #0A1E3C étant nettement plus sombre. */
.has-js .stage {
  --ink:        #fff;
  --ink-soft:   rgba(255, 255, 255, .82);
  --ink-faint:  rgba(255, 255, 255, .62);
  --rail-track: rgba(255, 255, 255, .20);
  --dot-off:    rgba(255, 255, 255, .34);
}
/* Ancienne règle du calque nuit, retirée : elle peignait un dégradé piloté par
   --night, donc un fond qui changeait de luminosité pendant le scroll. */

.has-js .stage-inner {
  position: relative; z-index: 2;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
}

/* Colonne texte ------------------------------------------------------------ */

.has-js .stage-copy { position: relative; padding-left: 26px; }

.has-js .rail {
  display: block;
  position: absolute; left: 0; top: 4px; bottom: 4px;
  width: 2px; border-radius: 2px;
  background: var(--rail-track, var(--hp-line));
}
.rail-fill {
  display: block; width: 100%;
  height: calc(var(--p) * 100%);
  /* Sur fond bleu, le bleu de marque serait invisible : la jauge passe en blanc. */
  background: var(--rail-fill, #fff); border-radius: 2px;
}

.has-js .step-badge {
  display: block;
  font-family: var(--lab-font-mono); font-size: 10px;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-faint, var(--hp-ink-subtle));
}

.has-js .copy-stack {
  position: relative;
  margin-top: 14px;
  /* Hauteur réservée : les blocs sont superposés, aucun saut de hauteur. */
  min-height: clamp(200px, 30vh, 260px);
  display: block;
}

.has-js .copy {
  position: absolute; inset: 0;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .55s var(--lab-ease), transform .55s var(--lab-ease);
  pointer-events: none;
}
.has-js .copy.is-past { transform: translateY(-14px); }
.has-js .copy.is-on { opacity: 1; transform: translateY(0); pointer-events: auto; }

.copy-kicker {
  font-family: var(--lab-font-mono); font-size: 10px;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--ink-faint, var(--hp-ink-subtle));
}
.copy-title {
  font-family: var(--lab-font-display);
  font-size: clamp(24px, 2.9vw, 40px); line-height: 1.1;
  letter-spacing: -.033em; font-weight: 700;
  color: var(--ink, var(--hp-ink-title));
  margin: 12px 0 0;
  text-wrap: pretty;
}
.copy-quote {
  margin-top: 16px; font-size: 15px; line-height: 1.6;
  color: var(--ink-soft, var(--hp-ink-muted));
}
.copy-note {
  margin-top: 10px; font-size: 12.5px; line-height: 1.5;
  color: var(--ink-faint, var(--hp-ink-subtle));
}
/* L'étape 6 se joue sur fond nuit : le CTA est blanc sur navy, jamais bleu sur navy. */
.copy-cta-wrap { margin: 20px 0 0; }
.copy-cta {
  display: inline-block;
  background: var(--hp-white, #fff); color: var(--hp-night);
  font-size: 14.5px; font-weight: 700; text-decoration: none;
  padding: 13px 20px; border-radius: 12px;
}
.copy-cta:hover { background: var(--hp-blue-veil); color: var(--hp-night); }
.copy-cta:focus-visible { outline: 2px solid var(--hp-sky, #7FB0E8); outline-offset: 3px; }

.has-js .dots { display: flex; gap: 6px; margin-top: 26px; }
.dot {
  height: 3px; width: 14px; border-radius: 2px;
  background: var(--dot-off, var(--hp-line-strong));
  transition: width .4s var(--lab-ease), background .4s var(--lab-ease);
}
/* Même raison que la jauge : le point actif doit ressortir sur le bleu. */
.dot.is-on { width: 30px; background: var(--dot-on, #fff); }

/* Colonne mockup ----------------------------------------------------------- */

.has-js .stage-visual {
  position: relative; margin-top: 0;
  display: flex; align-items: center; justify-content: center;
}

.phone-move {
  position: relative;
  transform: var(--phone, translate(0, 0) scale(1));
  transition: transform .9s var(--lab-ease);
  will-change: transform;
}

.phone {
  width: min(286px, 72vw);
  border-radius: 26px;
  border: 1px solid var(--hp-line);
  background: var(--hp-surface-app);
  box-shadow: 0 30px 60px -28px rgba(15, 30, 46, .45);
  overflow: hidden;
  display: flex; flex-direction: column;
  height: min(580px, 66vh);
  font-size: 13px; line-height: 1.4;
  color: var(--hp-ink-title);
}

.phone-status {
  flex: 0 0 auto; height: 24px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 15px; font-size: 10px; font-weight: 600;
}
.phone-status-icons { display: flex; gap: 4px; align-items: center; opacity: .65; }
.phone-status-icons .sig { width: 7px; height: 8px; border-radius: 1px; background: currentColor; }
.phone-status-icons .sig-2 { height: 6px; }
.phone-status-icons .bat { width: 14px; height: 8px; border-radius: 2px; border: 1px solid currentColor; }

.phone-screens { flex: 1; min-height: 0; position: relative; }

.has-js .screen {
  position: absolute; inset: 0;
  opacity: 0;
  transform: translateY(18px) scale(.97);
  transition: opacity .5s var(--lab-ease), transform .6s var(--lab-ease);
}
.has-js .screen.is-past { transform: translateY(-18px) scale(.97); }
.has-js .screen.is-on { opacity: 1; transform: translateY(0) scale(1); }

/* Cartes flottantes -------------------------------------------------------- */

.has-js .chip {
  display: block;
  position: absolute;
  background: var(--hp-surface);
  border: 1px solid var(--hp-line);
  border-radius: var(--hp-radius-card);
  padding: 11px 13px;
  box-shadow: 0 18px 36px -16px rgba(15, 30, 46, .4);
  opacity: 0;
  transition: opacity .5s var(--lab-ease), transform .6s var(--lab-ease);
}
.chip-hygi   { left: -14%; top: 16%;    transform: translate(-12px, 10px) scale(.94); }
.chip-valid  { right: -16%; top: 30%;   transform: translate(12px, 10px) scale(.94); }
.chip-report { right: -20%; bottom: 16%; transform: translate(14px, 14px) scale(.94); }
.chip-ledger { left: -18%; bottom: 12%;  transform: translate(-14px, 14px) scale(.94); }
.chip.is-on { opacity: 1; transform: translate(0, 0) scale(1); }

.chip-title { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; }
.chip-sub { font-size: 10.5px; color: var(--hp-ink-subtle); margin-top: 3px; }
.chip-strong { font-size: 12.5px; font-weight: 600; margin-top: 5px; line-height: 1.4; }

/* ==========================================================================
   Écrans de l'application — HTML/CSS, aucune image
   ========================================================================== */

.scr { padding: 10px 13px 14px; display: flex; flex-direction: column; gap: 9px; height: 100%; }
.scr-white { background: var(--hp-surface); padding: 16px 13px; gap: 0; }
.scr-pilot { padding: 12px 13px; }
.scr-col { justify-content: flex-start; }

.ic { width: 1em; height: 1em; fill: currentColor; flex: 0 0 auto; }
.ic-blue { color: var(--hp-blue); }
.ic-ok { color: var(--hp-success-text); }
.ic-warn { color: var(--hp-warning-text); }
.ic-danger { color: var(--hp-danger-text); }
.ic-muted { color: var(--hp-ink-muted); }
.ic-mic { width: 26px; height: 26px; color: #fff; }

.row-between { display: flex; align-items: center; justify-content: space-between; }
.row-between.baseline { align-items: baseline; }
.row-center { display: flex; align-items: center; }
.gap-7 { gap: 7px; } .gap-8 { gap: 8px; } .gap-14 { gap: 14px; }
.push { margin-left: auto; }
.mt-4 { margin-top: 4px; } .mt-6 { margin-top: 6px; } .mt-16 { margin-top: 16px; }
.lh { line-height: 1.5; }
.ellipsis { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.t-xxs { font-size: 9.5px; }
.t-xs  { font-size: 10.5px; }
.t-sm  { font-size: 11.5px; }
.t-md  { font-size: 13px; }
.b     { font-weight: 600; }
.muted { color: var(--hp-ink-subtle); }
.ok     { color: var(--hp-success-text); }
.warn   { color: var(--hp-warning-text); }
.danger { color: var(--hp-danger-text); }

.t-name {
  font-family: var(--lab-font-display); font-weight: 700;
  font-size: 16px; letter-spacing: -.02em;
}
.t-name-sm { font-size: 15px; }
.t-mono {
  font-family: var(--lab-font-mono); font-size: 9px;
  letter-spacing: .1em; text-transform: uppercase; color: var(--hp-ink-subtle);
}

.num {
  font-family: var(--lab-font-display); font-weight: 700;
  font-size: 16px; letter-spacing: -.02em;
}
.num-lg { font-size: 17px; }
.num-sm { font-size: 12.5px; }
.num-ok { color: var(--hp-success-text); }
.num-danger { color: var(--hp-danger); }
.unit { font-size: 10px; }

.avatar {
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--hp-blue); color: #fff;
  font-size: 11px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}

.card {
  background: var(--hp-surface); border-radius: 12px; padding: 10px;
  box-shadow: var(--hp-elev-1);
}
.tile { border-radius: 11px; padding: 9px; }
.tile-danger { border: 1px solid var(--hp-danger-line); box-shadow: none; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

.pill {
  font-size: 9px; font-weight: 700; padding: 3px 7px; border-radius: 99px;
  white-space: nowrap;
}
.pill-ok     { background: var(--hp-success-bg); color: var(--hp-success-text); }
.pill-warn   { background: var(--hp-warning-bg); color: var(--hp-warning-text); font-size: 9.5px; }
.pill-danger { background: var(--hp-danger-bg); color: var(--hp-danger-text); }
.pill-danger-invert { background: var(--hp-surface); color: var(--hp-danger-text); }
.pill-blue   { background: var(--hp-blue-veil); color: var(--hp-blue); }
.pill-row { display: flex; flex-wrap: wrap; gap: 6px; }
.pill-row .pill { font-size: 10px; padding: 4px 8px; }

.alert-card {
  background: var(--hp-danger-bg); border: 1px solid var(--hp-danger-line);
  border-radius: 12px; padding: 9px;
}
.alert-title {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 700; color: var(--hp-danger-text);
}
.alert-line {
  background: var(--hp-surface); border-radius: 9px; padding: 7px 9px; margin-top: 7px;
  display: flex; justify-content: space-between; align-items: center;
}
.alert-line .num { font-size: 14px; }

.bar {
  height: 6px; border-radius: 99px; background: var(--hp-line-soft);
  margin-top: 5px; overflow: hidden;
}
.bar-fill { display: block; height: 100%; border-radius: 99px; width: 0; }
.bar-blue   { background: var(--hp-blue); }
.bar-57     { width: 57%; }   /* planning du jour, 8 tâches sur 14 */
.bar-ok     { background: var(--hp-success); }
.bar-warn   { background: var(--hp-warning-text); }
.bar-danger { background: var(--hp-danger); }

.task { margin-top: 9px; font-size: 11.5px; }
.task-label { display: flex; align-items: center; gap: 6px; color: var(--hp-ink-strong); }

/* Écran HYGI --------------------------------------------------------------- */

.scr-head { display: flex; align-items: center; gap: 8px; }
.hygi-body {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 14px;
}
.mic {
  position: relative; width: 64px; height: 64px; border-radius: 50%;
  background: var(--hp-blue);
  display: flex; align-items: center; justify-content: center;
}
.mic-halo {
  position: absolute; inset: 0; border-radius: 50%;
  background: var(--hp-blue); opacity: .35;
  transform: scale(var(--pulse, 1));
}
.levels { display: flex; align-items: flex-end; gap: 4px; height: 26px; }
.levels span {
  width: 4px; border-radius: 2px; background: var(--hp-blue); height: 35%;
}
.transcript {
  background: var(--hp-surface-soft); border-radius: var(--hp-radius-card);
  padding: 13px; font-size: 14px; line-height: 1.5; min-height: 66px; width: 100%;
}
.caret { color: var(--hp-blue); }
.scr-foot {
  font-size: 10.5px; line-height: 1.5; color: var(--hp-ink-subtle);
  display: flex; gap: 7px; align-items: flex-start;
}

/* Écran de confirmation ---------------------------------------------------- */

.confirm-rows { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.confirm-row {
  display: flex; align-items: center; justify-content: space-between;
  border: 1px solid var(--hp-line); border-radius: 12px; padding: 11px 12px;
}
.photo-slot {
  margin-top: 14px; border: 1px dashed var(--hp-line-strong); border-radius: 12px;
  padding: 11px; display: flex; align-items: center; gap: 8px;
  font-size: 12.5px; color: #475569;
}
.confirm-foot { margin-top: auto; display: flex; flex-direction: column; gap: 9px; }
.btn-valid {
  background: var(--hp-success); color: #fff; border-radius: 12px; padding: 13px;
  text-align: center; font-size: 14px; font-weight: 600;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  transform: scale(var(--valid-scale, 1));
}
.saved {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  font-size: 11.5px; color: var(--hp-success-text);
  opacity: var(--saved, 0); transition: opacity .3s var(--lab-ease);
}

/* Écran pilotage ----------------------------------------------------------- */

.ring {
  position: relative; width: 74px; height: 74px; flex: 0 0 auto; border-radius: 50%;
  background: conic-gradient(var(--hp-success) var(--ring, 0deg), var(--hp-line) var(--ring, 0deg));
}
.ring-hole {
  position: absolute; inset: 8px; border-radius: 50%; background: var(--hp-surface);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.ring-score {
  font-family: var(--lab-font-display); font-weight: 700;
  font-size: 21px; letter-spacing: -.03em;
}
.gauges { display: flex; flex-direction: column; gap: 10px; padding: 13px; border-radius: 14px; }
.gauges .row-between { font-size: 11.5px; }

/* Écran rapport ------------------------------------------------------------ */

.report-card {
  margin-top: 12px; border: 1px solid var(--hp-line); border-radius: var(--hp-radius-card);
  padding: 13px; box-shadow: 0 10px 22px -18px rgba(15, 30, 46, .4);
}
.report-rows { display: flex; flex-direction: column; margin-top: 10px; }
.report-row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 11.5px; color: var(--hp-ink-strong);
  border-bottom: 1px solid var(--hp-surface-soft); padding: 7px 0;
  opacity: 0; transform: translateY(8px);
}
.report-sent {
  margin-top: 12px; display: flex; align-items: center; gap: 8px;
  font-size: 11.5px; color: var(--hp-ink-muted);
  opacity: var(--sent, 0); transition: opacity .3s var(--lab-ease);
}
.scr-actions { margin-top: auto; display: flex; gap: 8px; padding-top: 12px; }
.btn-ghost {
  flex: 1; border: 1px solid var(--hp-line-strong); border-radius: 11px; padding: 10px 6px;
  text-align: center; font-size: 12px; font-weight: 600; white-space: nowrap;
  display: flex; align-items: center; justify-content: center; gap: 5px;
}
.btn-primary {
  flex: 1; background: var(--hp-blue); color: #fff; border-radius: 11px; padding: 10px;
  text-align: center; font-size: 12.5px; font-weight: 600;
}

/* Écran registre ----------------------------------------------------------- */

.tabs { display: flex; gap: 6px; margin-top: 11px; }
.tab {
  border: 1px solid var(--hp-line); color: var(--hp-ink-muted);
  font-size: 10.5px; font-weight: 600; padding: 5px 9px; border-radius: 99px;
}
.tab-on { border-color: var(--hp-blue); color: var(--hp-blue); background: var(--hp-blue-veil); }
.ledger { display: flex; flex-direction: column; margin-top: 12px; }
.ledger-row {
  display: flex; align-items: center; gap: 9px; padding: 9px 0;
  border-bottom: 1px solid var(--hp-surface-soft);
  opacity: 0;
}
.ledger-main { flex: 1; min-width: 0; }
.ledger-row .ic { font-size: 14px; }

/* ==========================================================================
   Responsive — disposition en colonne, aucun déplacement horizontal
   ========================================================================== */

@media (max-width: 900px) {
  .has-js .stage-track { height: 500vh; }

  /* Le mockup doit être ancré en bas et rogné par le bas : la scène est étirée,
     pas centrée, sinon un vide apparaît sous le téléphone. */
  .has-js .stage { overflow-x: hidden; align-items: stretch; }

  .has-js .stage-inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
    align-items: stretch;   /* surcharge le centrage vertical du desktop */
    gap: 10px;
    padding-top: clamp(14px, 3vh, 26px);
    height: 100%;
  }

  .has-js .stage-copy { padding-left: 0; }
  .has-js .rail { display: none; }

  .has-js .copy-stack { min-height: clamp(120px, 22vh, 170px); margin-top: 10px; }
  .copy-title { font-size: clamp(21px, 5.4vw, 28px); }

  /* Une seule phrase par étape sur mobile, sauf la citation de l'étape 2. */
  .copy-note { display: none; }

  .has-js .dots { margin-top: 14px; }

  /* Mockup ancré en bas et rogné par le bas. Aucune carte flottante. */
  .has-js .stage-visual {
    flex: 1; min-height: 0;
    align-items: flex-end; justify-content: center;
    overflow: hidden;
  }
  .phone-move {
    transform: scale(var(--phone-scale, 1));
    transform-origin: bottom center;
  }
  .phone {
    width: 250px;
    height: 460px;
    box-shadow: 0 -10px 40px -30px rgba(15, 30, 46, .5);
    border-bottom-left-radius: 0; border-bottom-right-radius: 0;
  }
  .has-js .chip { display: none; }
}

@media (max-width: 380px) {
  .has-js .stage { height: 92vh; height: 92svh; }
  .phone { width: 220px; height: 400px; }
}

/* ==========================================================================
   Mouvement réduit
   La séquence reste compréhensible : seul l'écran change, en opacité.
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .has-js .copy,
  .has-js .copy.is-past,
  .has-js .copy.is-on,
  .has-js .screen,
  .has-js .screen.is-past,
  .has-js .screen.is-on {
    transform: none;
  }
  .phone-move { transform: none; }
  .mic-halo { transform: none; }
  .btn-valid { transform: none; }
  .report-row { transform: none; }
  .caret { display: none; }
  .has-js .copy, .has-js .screen { transition: opacity .2s linear; }
}
