/* =====================================================
   ======================= PDF Overlay ===================
   ===================================================== */
.pdf-overlay {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: none;
}

.pdf-overlay.open {
  display: block;
}

.pdf-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.40);
  backdrop-filter: blur(4px);
}

.pdf-panel {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(1000px, 92vw);
  height: min(720px, 88vh);
  transform: translate(-50%, -50%);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow-md);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.pdf-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid var(--border);
}

.pdf-close {
  appearance: none;
  background: transparent;
  border: none;
  font-size: 1.6rem;
  color: var(--muted);
  cursor: pointer;
}

#pdf-frame {
  flex: 1;
  border: 0;
  background: #f8fafc;
}

.pdf-actions {
  display: flex;
  gap: 10px;
  padding: 10px;
  border-top: 1px solid var(--border);
  justify-content: flex-end;
}

@media (max-width: 768px) {
  .pdf-panel {
    width: 94vw;
    height: 80vh;
  }
}

/* =====================================================
   ===================== Social Icons ====================
   ===================================================== */

.social-icons {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 8px 0;
}

.social-icons a {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.social-icons a svg {
  width: 28px;
  height: 28px;
}

.social-icons a:hover {
  transform: scale(1.12);
  opacity: 0.75;
}

/* Variante animée glow + pulse */
.social-icons.social-animated a {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
}

.social-icons.social-animated a:hover {
  transform: scale(1.28);
  opacity: .92;
  box-shadow: 0 0 10px currentColor, 0 0 22px currentColor;
  animation: pulseGlow .8s ease-out;
}

/* Glow animation */
@keyframes pulseGlow {
  0%   { transform: scale(1);    box-shadow: 0 0 0 currentColor; }
  50%  { transform: scale(1.18); box-shadow: 0 0 14px currentColor; }
  100% { transform: scale(1.28); box-shadow: 0 0 10px currentColor; }
}

/* Brand colors */
.social-icons .instagram { color: #C13584; }
.social-icons .mastodon  { color: #595AFF; }
.social-icons .facebook  { color: #1877F3; }
.social-icons .lastfm    { color: #D51007; }
.social-icons .booknode  { color: #4A90E2; }
.social-icons .wattpad   { color: #FF500A; }
.social-icons .youtube   { color: #FF0000; }
.social-icons .tiktok    { color: #000000; }
.social-icons .linkedin  { color: #0A66C2; }
.social-icons .plex      { color: #E5A00D; }
.social-icons .twitch    { color: #9147FF; }
.social-icons .steam     { color: #171A21; }
.social-icons .pixelfed  { color: #F1680D; }
.social-icons .geovelo   { color: #00B86B; }
.social-icons .singingcarrots {color: #FF8C42;}
.social-icons .bandlab        {color: #F47B20;}

/* Fix icon colors where needed */
.facebook svg circle { fill: #1877F3; }
.facebook svg path   { fill: #fff; }
.wattpad svg path    { fill: #FF500A; }
.plex svg path       { fill: #E5A00D; }
.twitch svg path     { fill: #9147FF; }
.steam svg path,
.steam svg circle    { fill: #171A21; }
.geovelo svg circle  { fill: #00B86B; }
.geovelo svg path,
.geovelo svg circle  { stroke: #fff; }
.singingcarrots svg circle {  fill: #FF8C42;}
.singingcarrots svg path   {  fill: #fff;}
.bandlab svg circle        {  fill: #F47B20;}
.bandlab svg path          {  fill: #fff;}



/* Petite légende */
.social-label {
  display: block;
  font-size: 0.68em;
  color: #64748b;
  text-align: center;
  margin-top: 2px;
  pointer-events: none;
  white-space: nowrap;
}


/* =====================================================
   ================= Textes & ressources ================
   ===================================================== */

/* =====================================================
   ============== Hiérarchie interne panneaux ===========
   ===================================================== */

/*
 * Le nouvel en-tête du panneau affiche déjà :
 * 📰 Actualités
 * Les nouveautés du site
 *
 * Ce h3 historique devient donc redondant.
 */
#panel-actus > h3 {
  display: none;
}

/*
 * Le groupe "Écrits" commence directement par ses cartes :
 * aucun sous-cartouche supplémentaire.
 */
#textes-area .text-group-writings {
  margin-top: 0;
}

/*
 * COMPATIBILITÉ ANTI-CACHE
 * ------------------------
 * Une ancienne version de texts.js peut encore générer :
 *
 * .text-group-heading
 *   .text-group-heading-icon
 *   .text-group-heading-copy
 *   .text-group-title
 *   .text-group-subtitle
 *
 * Tant que le navigateur n'a pas rechargé le module versionné.
 *
 * On masque donc aussi l'ancien cartouche "Écrits" et on donne à l'ancien
 * cartouche Ressources exactement le même rendu que la nouvelle structure.
 */
#textes-area .text-group-writings > .text-group-heading {
  display: none;
}

#textes-area .text-group-resources > .text-group-heading {
  --resource-accent: #4f46e5;
  --resource-soft: rgba(79,70,229,.09);
  --resource-border: rgba(79,70,229,.17);

  display: flex;
  align-items: center;
  justify-content: space-between;

  min-height: 72px;
  padding: 11px 14px 11px 16px;
  gap: 14px;

  margin: 28px -18px 18px;
  border-radius: 14px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.965),
      var(--resource-soft)
    );

  border: 1px solid var(--resource-border);
  box-sizing: border-box;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    0 1px 4px rgba(34,45,67,.025);
}

#textes-area .text-group-resources > .text-group-heading > .text-group-heading-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;

  display: grid;
  place-items: center;

  border-radius: 14px;

  background:
    color-mix(in srgb, var(--resource-accent) 12%, white);

  border:
    1px solid color-mix(in srgb, var(--resource-accent) 15%, transparent);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75);

  font-size: 20px;
  line-height: 1;
}

#textes-area .text-group-resources > .text-group-heading > .text-group-heading-copy {
  min-width: 0;
  flex: 1 1 auto;

  display: grid;
  gap: 2px;
}

#textes-area .text-group-resources .text-group-title {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

  color: #1d2941;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 720;
  letter-spacing: -.018em;
}

#textes-area .text-group-resources .text-group-subtitle {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

  color: #788296;
  font-size: .76rem;
  line-height: 1.25;
  font-weight: 520;
}

@media (max-width: 768px) {
  #textes-area .text-group-resources > .text-group-heading {
    min-height: 64px;
    margin: 22px -8px 16px;
    border-radius: 13px;
    padding:
      8px
      max(10px, env(safe-area-inset-right))
      8px
      max(12px, env(safe-area-inset-left));
  }

  #textes-area .text-group-resources > .text-group-heading > .text-group-heading-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    border-radius: 12px;
    font-size: 18px;
  }

  #textes-area .text-group-resources .text-group-title {
    font-size: .96rem;
  }

  #textes-area .text-group-resources .text-group-subtitle {
    font-size: .70rem;
  }
}

@supports not (color: color-mix(in srgb, red, blue)) {
  #textes-area .text-group-resources > .text-group-heading > .text-group-heading-icon {
    background: var(--resource-soft);
    border-color: var(--resource-border);
  }
}

/*
 * Ressources reprend EXACTEMENT la géométrie du grand cartouche Textes :
 * - hauteur 72 px ;
 * - padding 11 / 14 / 11 / 16 ;
 * - rayon 14 px ;
 * - icône 42 px ;
 * - même typographie titre / sous-titre.
 *
 * Sa seule différence est la palette indigo + l'icône 📚.
 *
 * Le margin horizontal négatif compense les 20 px de padding de .panel-body :
 * le cartouche se retrouve, comme le grand en-tête, à 2 px du bord intérieur.
 */
#textes-area .text-section-cartouche-resources {
  --resource-accent: #4f46e5;
  --resource-soft: rgba(79,70,229,.09);
  --resource-border: rgba(79,70,229,.17);

  display: flex;
  align-items: center;
  justify-content: space-between;

  min-height: 72px;
  padding: 11px 14px 11px 16px;
  gap: 14px;

  margin: 28px -18px 18px;
  border-radius: 14px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.965),
      var(--resource-soft)
    );

  border: 1px solid var(--resource-border);
  box-sizing: border-box;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    0 1px 4px rgba(34,45,67,.025);
}

#textes-area .text-section-cartouche-heading {
  min-width: 0;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  align-items: center;
  gap: 11px;
}

#textes-area .text-section-cartouche-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;

  border-radius: 14px;

  background:
    color-mix(in srgb, var(--resource-accent) 12%, white);

  border:
    1px solid color-mix(in srgb, var(--resource-accent) 15%, transparent);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75);

  font-size: 20px;
  line-height: 1;
}

#textes-area .text-section-cartouche-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

#textes-area .text-section-cartouche-title {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

  color: #1d2941;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 720;
  letter-spacing: -.018em;
}

#textes-area .text-section-cartouche-subtitle {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

  color: #788296;
  font-size: .76rem;
  line-height: 1.25;
  font-weight: 520;
}

@media (max-width: 768px) {
  /*
   * Sur mobile, .panel-body passe à 10 px de padding :
   * -8 px replace le cartouche à 2 px du bord, comme en desktop.
   */
  #textes-area .text-section-cartouche-resources {
    min-height: 64px;
    margin: 22px -8px 16px;
    border-radius: 13px;
    padding:
      8px
      max(10px, env(safe-area-inset-right))
      8px
      max(12px, env(safe-area-inset-left));
  }

  #textes-area .text-section-cartouche-heading {
    grid-template-columns: 40px minmax(0,1fr);
    gap: 9px;
  }

  #textes-area .text-section-cartouche-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    font-size: 18px;
  }

  #textes-area .text-section-cartouche-title {
    font-size: .96rem;
  }

  #textes-area .text-section-cartouche-subtitle {
    font-size: .70rem;
  }
}

@supports not (color: color-mix(in srgb, red, blue)) {
  #textes-area .text-section-cartouche-icon {
    background: var(--resource-soft);
    border-color: var(--resource-border);
  }
}


/* =====================================================
   =========== Cartes Textes / Ressources ===============
   ===================================================== */

/*
 * Deux profils, exactement dans les familles du menu hamburger :
 *
 * Écrits      -> violet #7c3aed
 * Ressources  -> indigo #4f46e5
 *
 * Les cartes restent presque blanches : la couleur sert seulement
 * d'atmosphère, comme dans Conférences / Photos / Vidéos / Sport.
 */
#textes-area .text-group-writings {
  --text-card-accent: #7c3aed;
  --text-card-rgb: 124, 58, 237;
}

#textes-area .text-group-resources {
  --text-card-accent: #4f46e5;
  --text-card-rgb: 79, 70, 229;
}

#textes-area .text-group-writings .text-card,
#textes-area .text-group-resources .text-card {
  background:
    radial-gradient(
      ellipse 110% 88% at 10% 0%,
      rgba(var(--text-card-rgb), .032) 0%,
      rgba(var(--text-card-rgb), .008) 44%,
      transparent 74%
    ),
    radial-gradient(
      ellipse 72% 70% at 96% 100%,
      rgba(var(--text-card-rgb), .010) 0%,
      transparent 72%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,.995) 0%,
      rgba(255,254,255,.995) 100%
    );

  border: 1px solid rgba(var(--text-card-rgb), .09);
  border-radius: 16px;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.90),
    0 1px 2px rgba(15,23,42,.018),
    0 7px 18px rgba(var(--text-card-rgb), .018);
}

/* Le nom du dossier reprend légèrement l'identité de sa section. */
#textes-area .text-group-writings .text-card > h4,
#textes-area .text-group-resources .text-card > h4 {
  margin-top: 0;
  margin-bottom: .62rem;

  color: color-mix(
    in srgb,
    var(--text-card-accent) 68%,
    #243247
  );

  font-weight: 700;
}

/*
 * Les couleurs des liens restent volontairement inchangées :
 * bleu = jamais ouvert
 * indigo = déjà ouvert
 *
 * On adapte seulement le halo de focus à la section.
 */
#textes-area .text-group-writings .file-link:focus-visible,
#textes-area .text-group-resources .file-link:focus-visible {
  outline-color: rgba(var(--text-card-rgb), .20);
}

/* Fallback si color-mix() n'est pas disponible. */
@supports not (color: color-mix(in srgb, red, blue)) {
  #textes-area .text-group-writings .text-card > h4 {
    color: #6d28d9;
  }

  #textes-area .text-group-resources .text-card > h4 {
    color: #4338ca;
  }
}

/*
 * Liens du panneau "Textes".
 *
 * L'état "déjà ouvert" est géré par Mon Multivers avec la classe .is-visited
 * et localStorage, et non plus par :visited du navigateur.
 *
 * - jamais ouvert dans Mon Multivers : bleu
 * - déjà ouvert dans Mon Multivers   : indigo
 * - aucun soulignement
 * - sur plusieurs lignes, la puce et l'emoji restent alignés sur la 1re ligne
 */

/* On remplace la puce native par une puce maîtrisée pour éviter
   son centrage vertical lorsque le titre passe sur deux lignes. */
#textes-area .file-list {
  list-style: none;
  padding-left: 1.55rem;
}

#textes-area .file-list > li {
  position: relative;
  margin: 0.28rem 0;
}

#textes-area .file-list > li::before {
  content: "•";
  position: absolute;
  left: -1.05rem;
  top: 0.20em;
  color: currentColor;
  font-size: 1em;
  line-height: 1;
}

/* Par défaut : bleu, même si l'URL existe déjà dans l'historique du navigateur.
   Seule la classe .is-visited décide désormais de l'état visuel. */
#textes-area .file-link,
#textes-area .file-link:visited {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.3rem;

  max-width: 100%;
  padding: 0.16rem 0.36rem;
  margin: -0.16rem -0.36rem;

  border-radius: 0.5rem;

  color: #2563eb;
  text-decoration: none;
  text-decoration-line: none;

  line-height: 1.42;

  transition:
    color 0.16s ease,
    background-color 0.16s ease,
    transform 0.12s ease;
}

/* Déjà ouvert dans Mon Multivers : indigo. */
#textes-area .file-link.is-visited,
#textes-area .file-link.is-visited:visited {
  color: #6d28d9;
}

/* Emoji / icône aligné sur la première ligne du titre. */
#textes-area .file-link .file-icon {
  flex: 0 0 auto;
  align-self: flex-start;
  line-height: 1.42;
  transform: translateY(0.02em);
  text-decoration: none;
}

/* Le libellé peut passer proprement sur plusieurs lignes. */
#textes-area .file-link > span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
  text-decoration: none;
}

/* Survol : on conserve la distinction bleu / indigo. */
#textes-area .file-link:hover,
#textes-area .file-link:visited:hover {
  background: rgba(37, 99, 235, 0.075);
  text-decoration: none;
}

#textes-area .file-link:not(.is-visited):hover,
#textes-area .file-link:not(.is-visited):visited:hover {
  color: #1d4ed8;
}

#textes-area .file-link.is-visited:hover,
#textes-area .file-link.is-visited:visited:hover {
  color: #5b21b6;
}

#textes-area .file-link:active {
  transform: translateY(1px);
}

#textes-area .file-link:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.20);
  outline-offset: 2px;
  text-decoration: none;
}

/* Sur mobile, on renforce l'alignement sur la première ligne. */
@media (max-width: 768px) {
  #textes-area .file-list {
    padding-left: 1.45rem;
  }

  #textes-area .file-list > li::before {
    left: -0.95rem;
    top: 0.22em;
  }

  #textes-area .file-link {
    align-items: flex-start;
    line-height: 1.45;
  }

  #textes-area .file-link .file-icon {
    align-self: flex-start;
    line-height: 1.45;
    transform: translateY(0.01em);
  }
}

/* Les liens restent identifiables en mode de contraste forcé. */
@media (forced-colors: active) {
  #textes-area .file-link {
    border: 1px solid LinkText;
  }
}

/* =====================================================
   ======================= Vidéos =======================
   ===================================================== */

.video-card {
  background: linear-gradient(135deg, #e0f7fa 0%, #ffffff 100%);
  border: 1.5px solid var(--accent);
  border-radius: 16px;
  box-shadow: var(--shadow-sm);
  padding: 12px;
  margin-bottom: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.video-card video {
  width: 100%;
  display: block;
  border-radius: 14px;
  background: #f5fffa;
}

.video-card p {
  margin-top: 6px;
  font-size: 0.9rem;
  color: var(--muted);
}

/* =====================================================
   ==================== Fil d’actualité =================
   ===================================================== */

.actu-content {
  text-align: center;

  /* Police douce et moderne conservée. */
  font-family:
    "Segoe UI Variable Text",
    "Aptos",
    "Segoe UI",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
  font-size: 1rem;
  font-weight: 430;
  line-height: 1.62;
  color: #243247;

  /* Garde-fous : le contenu doit toujours rester visible. */
  display: block;
  visibility: visible;
  opacity: 1;
}

#actus-feed {
  --actu-accent: #d97706;
  --actu-accent-light: #f59e0b;
  --actu-rgb: 217, 119, 6;
  --actu-light-rgb: 245, 158, 11;

  max-height: 70vh;
  display: flex;
  flex-direction: column;
  gap: 18px;
  overflow-y: auto;
  padding: 10px 16px 10px 0;

  /* Même logique de scrollbar que le reste du site, en ambre. */
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--actu-rgb), .50) transparent;
}

#actus-feed::-webkit-scrollbar {
  width: 10px;
}

#actus-feed::-webkit-scrollbar-track {
  background: transparent;
  margin-block: 14px;
}

#actus-feed::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;

  background:
    linear-gradient(
      180deg,
      rgba(var(--actu-light-rgb), .58),
      rgba(var(--actu-rgb), .64)
    )
    padding-box;
}

#actus-feed::-webkit-scrollbar-thumb:hover {
  background:
    linear-gradient(
      180deg,
      rgba(var(--actu-light-rgb), .76),
      rgba(var(--actu-rgb), .80)
    )
    padding-box;
}

.actu-card {
  /*
   * Même atmosphère que le thème Actualités du hamburger :
   * blanc dominant + brume ambre très légère.
   *
   * La couleur reste volontairement diffuse : on veut une ambiance,
   * pas une carte orange.
   */
  /*
   * Version plus lumineuse et plus nuageuse :
   * presque tout blanc, avec seulement deux voiles ambrés très diffus.
   */
  background:
    radial-gradient(
      ellipse 118% 94% at 10% 0%,
      rgba(var(--actu-light-rgb), .038) 0%,
      rgba(var(--actu-light-rgb), .014) 42%,
      transparent 74%
    ),
    radial-gradient(
      ellipse 104% 92% at 96% 100%,
      rgba(var(--actu-rgb), .020) 0%,
      rgba(var(--actu-rgb), .006) 46%,
      transparent 78%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fffefd 64%,
      #fffdfb 100%
    );

  background-repeat: no-repeat;

  border: 1px solid rgba(var(--actu-rgb), .095);
  border-radius: 17px;

  padding: 18px 16px;

  display: flex;
  flex-direction: column;
  gap: 8px;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 1px 2px rgba(15,23,42,.018),
    0 7px 20px rgba(var(--actu-rgb), .018);
}

.actu-date {
  /* Date manuscrite, petite, noire et à gauche comme dans l'ancien rendu. */
  margin: 0 0 4px;
  color: #111111;
  font-family: "Great Vibes", cursive;
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
}

@media (max-width: 768px) {
  .actu-content {
    font-size: .94rem;
    line-height: 1.50;
  }

  .actu-date {
    font-size: .90rem;
  }
}

/* =====================================================
   ===================== Bouton J'aime ==================
   ===================================================== */






/* =====================================================
   ============ Bouton J'aime — léger / moderne =========
   ===================================================== */
.like-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .48rem;
  min-height: 38px;
  padding: .46rem .82rem;
  margin-top: auto;
  margin-bottom: 2px;
  align-self: center;
  border-radius: 999px;
  border: 1px solid rgba(54,156,177,.20);
  background: rgba(255,255,255,.48);
  color: #41717c;
  font-size: .86rem;
  font-weight: 650;
  cursor: pointer;
  box-shadow: 0 5px 15px rgba(39,90,104,.065);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  transition:
    transform .15s ease,
    background .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    color .16s ease;
}

.like-btn__icon {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  color: #36a8b8;
}

.like-btn__label { white-space: nowrap; }

.like-counter {
  min-width: 1.7em;
  padding: .08rem .38rem;
  border-radius: 999px;
  background: rgba(25,198,209,.08);
  color: #358392;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}

.like-btn:hover:not(:disabled),
.like-btn:focus-visible:not(:disabled) {
  background: rgba(255,255,255,.78);
  color: #245e69;
  border-color: rgba(25,198,209,.34);
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(39,90,104,.10);
  outline: none;
}

.like-btn.liked {
  background: rgba(240,253,250,.64);
  color: #2b6f75;
  border-color: rgba(45,178,181,.24);
  cursor: default;
  box-shadow: 0 5px 15px rgba(39,90,104,.06);
}

.like-btn.liked .like-btn__icon { color: #21a4aa; }
.like-btn.liked .like-counter {
  background: rgba(33,164,170,.10);
  color: #287b82;
}

.like-btn:disabled {
  opacity: .88;
  cursor: default;
}

.like-btn:active:not(:disabled) { transform: scale(.98); }
