
/* ─── DASHBOARD-ONLY: freeze the scroll banner at the top on scroll (Pat,
   2026-07-21). The scoreticker (.scoreticker.sn--c_scoreticker, chrome.js
   shared component) is otherwise untouched — scoped to html[data-route="/"]
   so /scores, /news, etc. keep the current in-flow (non-sticky) ticker.
   z-index sits above ordinary page content (cards default to the implicit
   stacking order / z-index:auto) but below the mobile drawer (70), sheet
   scrim/sheet (95/96), toast (1100), modal/overlay (998/999) and auth (99999)
   layers so nothing sticky ever occludes an open overlay. */
html[data-route="/"] .scoreticker.sn--c_scoreticker{
  /* !important: chrome.js's [TICK-ESPN] chevron-nav overlay JS-injects
     `.scoreticker{position:relative!important}` (anchors the tn-prev/tn-next
     buttons) — outrank it here rather than fight injection order. */
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
}

/* ─── AP TOP 25 (dashboard card) — enlarged, per-team colored tiles that fill
   the card (no dead space below at 1440, bottom edge aligned with the paired
   NEWS & NOTES card; no overflow/inner scroll at 390). Supersedes the
   2026-07-16 compact-row pass, which left the card's bottom half empty (Pat,
   2026-07-21). Tile background mirrors the /scores game-tile --team gradient
   (scores/_components-append.css .gt-team / .ap-row) — a tasteful L->R tint,
   not a flat color block: --team is set inline per row by swapLogos() below
   from the real /cfb/teams primary color, and color-mix() darkens toward the
   trailing edge so the gradient itself stays low-luminance. On top of that,
   team name/rank/info keep a drop-shadow text scrim so contrast holds even
   for teams with a light primary (e.g. white/yellow). Rows that don't get a
   valid hex back (fetch failure, or a team with no color on file) keep the
   neutral dark-gray --team fallback the game-tile itself defaults to — never
   unstyled/transparent. Fields stay 1:1 with GET /api/v1/cfb/rankings — no
   fabricated records. */
html[data-route="/"] .sn--c_aptop25 .ap-list{
  gap:10px;
}
html[data-route="/"] .sn--c_aptop25 .ap-row{
  --team:#3A3A3A;
  grid-template-columns:30px 44px minmax(0,1fr) auto!important;
  gap:14px!important;
  align-items:center;
  padding:12px 14px!important;
  border-radius:10px;
  background:linear-gradient(90deg,
    color-mix(in srgb, var(--team) 78%, #000),
    color-mix(in srgb, var(--team) 26%, #0a0a0a));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  transition:background .2s ease, transform .15s ease, box-shadow .2s ease;
}
html[data-route="/"] .sn--c_aptop25 .ap-row:hover{
  background:linear-gradient(90deg,
    color-mix(in srgb, var(--team) 88%, #000),
    color-mix(in srgb, var(--team) 36%, #0a0a0a));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
  transform:translateY(-1px);
}
html[data-route="/"] .sn--c_aptop25 .ap-rank{
  font-size:26px;
  line-height:1;
  color:#F5F5F5;
  text-shadow:0 1px 3px rgba(0,0,0,.65);
  text-align:center;
}
html[data-route="/"] .sn--c_aptop25 .ap-logo{
  width:40px;
  height:40px;
}
html[data-route="/"] .sn--c_aptop25 .ap-row .ap-team{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:19px;
  font-weight:800;
  color:#F5F5F5;
  text-shadow:0 1px 3px rgba(0,0,0,.65);
}
html[data-route="/"] .sn--c_aptop25 .ap-info{
  display:flex;
  align-items:center;
  gap:7px;
  justify-content:flex-end;
  flex-shrink:0;
  white-space:nowrap;
  min-width:0;
}
html[data-route="/"] .sn--c_aptop25 .ap-conf{
  font-family:var(--f-mono,monospace);
  font-size:11px;
  font-weight:700;
  color:rgba(255,255,255,.88);
  text-transform:uppercase;
  letter-spacing:.03em;
  padding:2px 6px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:4px;
  line-height:1.3;
  background:rgba(0,0,0,.28);
}
html[data-route="/"] .sn--c_aptop25 .ap-conf:empty,
html[data-route="/"] .sn--c_aptop25 .ap-points:empty,
html[data-route="/"] .sn--c_aptop25 .ap-votes:empty{
  display:none;
}
html[data-route="/"] .sn--c_aptop25 .ap-points{
  font-family:var(--f-mono,monospace);
  font-size:13px;
  font-weight:700;
  color:#F5F5F5;
  text-shadow:0 1px 2px rgba(0,0,0,.6);
  text-align:right;
}
html[data-route="/"] .sn--c_aptop25 .ap-votes{
  font-family:var(--f-mono,monospace);
  font-size:11px;
  font-weight:700;
  color:#FFD9CE;
  text-shadow:0 1px 2px rgba(0,0,0,.6);
}
@media (max-width:420px){
  /* narrowest phones: keep the conference pill but drop its border/padding
     and shrink type further so rank/logo/team/info never wraps, clips, or
     forces an inner scroll on the card. */
  html[data-route="/"] .sn--c_aptop25 .ap-list{ gap:8px; }
  html[data-route="/"] .sn--c_aptop25 .ap-row{
    grid-template-columns:22px 32px minmax(0,1fr) auto!important;
    gap:9px!important;
    padding:9px 10px!important;
  }
  html[data-route="/"] .sn--c_aptop25 .ap-rank{ font-size:18px; }
  html[data-route="/"] .sn--c_aptop25 .ap-logo{ width:28px; height:28px; }
  html[data-route="/"] .sn--c_aptop25 .ap-row .ap-team{ font-size:16px; }
  html[data-route="/"] .sn--c_aptop25 .ap-info{ gap:4px; }
  html[data-route="/"] .sn--c_aptop25 .ap-conf{
    font-size:8.5px;
    padding:1px 3px;
    border-color:transparent;
    background:rgba(0,0,0,.35);
  }
  html[data-route="/"] .sn--c_aptop25 .ap-points{ font-size:10px; }
  html[data-route="/"] .sn--c_aptop25 .ap-votes{ font-size:8.5px; }
}

html[data-route="/"] .hw-row{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch;
}
html[data-route="/"] .hw-card,
html[data-route="/"] .hw-card.is-school-colored{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  text-align:center;
  position:relative;
  isolation:isolate;
  padding:14px 12px 12px!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  border:1px solid rgba(255,45,45,.5)!important;     /* red inner rule (de-gold, D-DEGOLD1) */
  border-radius:11px!important;
  background:
    radial-gradient(ellipse 95% 55% at 50% 26%, rgba(255,26,26,.24) 0%, transparent 62%),
    radial-gradient(ellipse 135% 120% at 50% 46%, transparent 42%, rgba(0,0,0,.66) 100%),
    linear-gradient(180deg, #1f0e0e 0%, #170a0a 52%, #0d0505 100%)!important;
  box-shadow:0 0 0 5px #080604, 0 12px 30px rgba(0,0,0,.5)!important; /* black frame + drop */
  color:var(--gold-accent, #FF2D2D)!important;
  overflow:hidden;
}
html[data-route="/"] .hw-card:hover,
html[data-route="/"] .hw-card.is-school-colored:hover{
  border-color:rgba(255,45,45,.7)!important;
  box-shadow:0 0 0 5px #080604, 0 14px 36px rgba(0,0,0,.62)!important;
  transform:translateY(-2px);
}
html[data-route="/"] .hw-card > *{ position:relative; z-index:2; }
html[data-route="/"] .hw-card picture{ display:contents; }
html[data-route="/"] .hw-card::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:radial-gradient(rgba(255,45,45,.13) 1px, transparent 1.5px);
  background-size:11px 11px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 36%, transparent 26%, #000 92%);
          mask-image:radial-gradient(ellipse 80% 70% at 50% 36%, transparent 26%, #000 92%);
  opacity:.55;
}
html[data-route="/"] .hw-card::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(to bottom right,
      rgba(8,5,2,.34) 0, rgba(8,5,2,.34) 22%,
      rgba(255,45,45,.32) 22%, rgba(255,45,45,.32) 22.6%, transparent 22.6%),
    linear-gradient(to top left,
      rgba(255,26,26,.26) 0, rgba(255,26,26,.26) 27%,
      rgba(255,45,45,.34) 27%, rgba(255,45,45,.34) 27.7%, transparent 27.7%);
}
html[data-route="/"] .hw-card .hw-avatar,
html[data-route="/"] .hw-card img.slot-img.hw-avatar{
  /* fixed 84x84 broke on narrow phones: the 3-col grid shrinks the card below
     84px, core.css's global img{max-width:100%} clamps the WIDTH (max-width
     beats width even vs !important) but the fixed height survived → 57x84
     ellipses with zoom-cropped faces on a Fold cover screen (344px). Let the
     clamp shrink the circle instead: aspect-ratio keeps it round at any size. */
  width:84px!important; max-width:100%; height:auto!important; aspect-ratio:1/1;
  margin-top:8px;
  border-radius:50%!important;
  border:2px solid var(--gold-accent, #FF2D2D)!important;
  box-shadow:0 0 0 3px rgba(0,0,0,.35), 0 8px 18px rgba(0,0,0,.5)!important;
  object-fit:cover; object-position:50% 20%;
  background:radial-gradient(circle at 50% 35%, #241414, #0d0505)!important;
  -webkit-mask-image:none!important; mask-image:none!important;
}
html[data-route="/"] .hw-card .hw-name{
  margin-top:12px;
  max-width:100%;
  font-family:'Inter',system-ui,sans-serif!important;
  font-weight:800!important;
  font-size:clamp(13px,3.4vw,16px)!important;
  letter-spacing:.005em!important;
  text-transform:uppercase;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  background:linear-gradient(180deg,#E8776A 0%,#FFD9CE 38%,#F4907E 52%,#C4392A 80%,#7A2015 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent!important;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.4));
}
html[data-route="/"] .hw-card .hw-school{
  display:flex!important; align-items:center; justify-content:center; gap:8px;
  width:92%; margin-top:8px;
  font-family:'Inter',system-ui,sans-serif!important;
  font-weight:600!important;
  /* fixed 16px/.2em overflowed the card on narrow phones (min-content of
     "GEORGIA" at 16px+wide tracking > the ~60px card content at 344px —
     letters painted over neighboring cards). Scale with viewport instead. */
  font-size:clamp(8px,2.6vw,16px)!important;
  letter-spacing:clamp(.03em,.4vw,.2em)!important; text-transform:uppercase;
  min-width:0; overflow:hidden;
  color:rgba(244,236,216,.62)!important;
}
html[data-route="/"] .hw-card .hw-school::before,
html[data-route="/"] .hw-card .hw-school::after{
  content:""; flex:1 1 auto; height:1px;
}
html[data-route="/"] .hw-card .hw-school::before{ background:linear-gradient(90deg,transparent,rgba(255,45,45,.7)); }
html[data-route="/"] .hw-card .hw-school::after{ background:linear-gradient(90deg,rgba(255,45,45,.7),transparent); }
html[data-route="/"] .hw-card .hw-score{
  margin-top:8px;
  font-family:var(--f-display,"Graduate",sans-serif)!important;
  font-size:clamp(16px,5vw,24px)!important;
  color:var(--gold-accent, #FF2D2D)!important;
}
/* hard backstop: nothing inside a Heisman card may ever paint past its bounds
   (narrow-phone text spill, 2026-07-02 Fold screenshots). */
html[data-route="/"] .hw-card{ overflow:hidden; }
html[data-route="/"] .hw-card .hw-footer{ font-size:clamp(9px,2.6vw,13px)!important; letter-spacing:clamp(.06em,.4vw,.18em)!important; }
@media (max-width: 420px){
  /* the decorative hairline rails + 8px gaps eat the width a one-word school
     name (VANDERBILT) needs — drop them on narrow phones. */
  html[data-route="/"] .hw-card .hw-school{ gap:0; letter-spacing:.04em!important; font-size:clamp(8px,2.4vw,16px)!important; }
  html[data-route="/"] .hw-card .hw-school::before,
  html[data-route="/"] .hw-card .hw-school::after{ display:none; }
}
html[data-route="/"] .hw-card .hw-score .hw-unit{
  color:rgba(255,45,45,.7)!important;
  letter-spacing:.14em!important;
  /* no own font-size = it inherited the score's 24px display-font clamp and
     dwarfed the number on narrow phones. */
  display:block;
  font-size:clamp(8px,2.4vw,12px)!important;
  line-height:1.5;
}

/* ─── TOP FANTASY PERFORMERS — school-colour tile (2026-07-01) ────────────
   Mirrors /players .pl-card.is-school-colored. JS re() sets --team +
   adds .is-school-colored once school.primaryHex is confirmed valid via ne(). */
html[data-route="/"] .perf-card.is-school-colored{
  position:relative;
  background:linear-gradient(180deg,
    var(--team) 0%,
    color-mix(in srgb,var(--team) 42%,#000000) 46%,
    #000000 100%);
  border-color:rgba(255,255,255,.14);
}
html[data-route="/"] .perf-card.is-school-colored:hover{
  border-color:#FFFFFF;
  box-shadow:0 8px 24px rgba(0,0,0,.45);
}
/* uniform bright-white type + text-shadow for legibility */
html[data-route="/"] .perf-card.is-school-colored .perf-name,
html[data-route="/"] .perf-card.is-school-colored .perf-school,
html[data-route="/"] .perf-card.is-school-colored .perf-ppg,
html[data-route="/"] .perf-card.is-school-colored .perf-total,
html[data-route="/"] .perf-card.is-school-colored .perf-pos{
  color:#F5F5F5!important;
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}
/* position badge → absolute top-left corner */
html[data-route="/"] .perf-card.is-school-colored .perf-pos{
  position:absolute;
  top:8px;left:8px;
  margin:0;
  background:rgba(0,0,0,.38);
  z-index:2;
}
/* picture wrapper: sized circle to host the white ring */
html[data-route="/"] .perf-card.is-school-colored picture{
  position:relative;
  display:block;
  width:64px;height:64px;
  border-radius:50%;
  z-index:1;
}
/* thin white ring only behind the circular avatar */
html[data-route="/"] .perf-card.is-school-colored picture::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:#FFFFFF;
  border-radius:50%;
  z-index:0;
}
/* lock avatar to 60×60 perfect circle; strip masks/filters from base styles */
html[data-route="/"] .perf-card.is-school-colored .perf-avatar,
html[data-route="/"] .perf-card.is-school-colored img.perf-avatar,
html[data-route="/"] .perf-card.is-school-colored img.slot-img.perf-avatar{
  position:relative;
  z-index:1;
  width:60px!important;height:60px!important;
  min-width:60px;
  aspect-ratio:1/1;
  border-radius:50%;
  object-fit:cover;
  object-position:center top;
  background:#FFFFFF;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  filter:none!important;
  border:none!important;
  margin:0;
}
/* SNS shield / school-logo fallback: contained on white (no cropping) */
html[data-route="/"] .perf-card.is-school-colored .perf-avatar.perf-avatar--logo,
html[data-route="/"] .perf-card.is-school-colored img.perf-avatar--logo{
  object-fit:contain;
  padding:6px;
}

/* ─── TOP PERFORMERS — badge/portrait collision + autoscale (2026-07-21) ───
   Pat: "autoscale the player tiles so that way the pos indicator is not
   blocking the profile pic. If this means removing or adding a player to the
   tile box, so be it."

   Measured on live @1440 before this change: .perf-row was repeat(5,1fr) inside
   a 521px card, so each tile came out 97.8px wide with an 83.8px content box.
   The badge is absolute at top:8px/left:8px (~37x28) while the portrait is a
   64px centred circle — the two intersected by 27x20px, i.e. the chip sat
   squarely on the player's face.

   Horizontal separation is not achievable at these widths (a centred 64px
   circle in a ~112px content box starts at x=24px, inside the badge's 8-41px
   span), so the fix is vertical: reserve a top band on the tile and start the
   portrait below the badge. Plus 4 tiles instead of 5 (the 5th <a> is gone from
   index.html), which buys each tile ~26px.

   Applied to every .perf-card, not just .is-school-colored, so the skeleton and
   the hydrated tile have identical geometry — no layout shift when re() runs. */

/* 4-up ONLY when the card is actually wide enough. This MUST stay inside the
   container query: a bare `html[data-route="/"] .perf-row{...}` outranks
   core.css's `@container snscard (max-width:22rem){.perf-row{repeat(2,1fr)}}`
   fallback and forces 4 columns into the 315px card of the @1024 two-column
   layout — that regressed tiles to 73px wide in testing. */
@container snscard (min-width: 22.0625rem){
  html[data-route="/"] .perf-row{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
/* 5-up on genuinely wide cards (2026-07-22, Pat "tighten the dead space /
   maybe add another tile"): at ≥30rem (480px) five tiles are ≥~92px each —
   the badge-over-portrait overlap that forced the 2026-07-21 trim to 4 is
   solved VERTICALLY by the reserved padding-top band, so width no longer
   reintroduces it. perf-polish one-line-fits the text into the narrower
   tiles; ce()/re() fill however many tiles the DOM carries. */
@container snscard (min-width: 30rem){
  html[data-route="/"] .perf-row{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}
/* the 5th tile exists only where 5-up engages — at 4-up / 2-up widths it
   would orphan onto a row of its own. (display:grid = .perf-card's base.) */
html[data-route="/"] .perf-row .perf-card[data-id="t_fp_5"]{display:none;}
@container snscard (min-width: 30rem){
  html[data-route="/"] .perf-row .perf-card[data-id="t_fp_5"]{display:grid;}
}

html[data-route="/"] .perf-card{
  position:relative;
  padding-top:34px;   /* reserved band for the absolute badge (16px type at
                         top:8px clears ~30px; was 40px — Pat 2026-07-22
                         dead-space pass) */
}
/* badge: absolute top-left in ALL states (previously .is-school-colored only) */
html[data-route="/"] .perf-card .perf-pos{
  position:absolute;
  top:8px;left:8px;
  margin:0;
  z-index:2;
  line-height:1.4;
  padding:2px 6px;
}
/* the portrait can never be pinned wider than the tile that holds it */
html[data-route="/"] .perf-card picture,
html[data-route="/"] .perf-card.is-school-colored picture{
  max-width:100%;
}
/* "TOP PERFORMERS" holds one line — beats core.css's
   .card-title{font-size:var(--fs-fluid-h2)!important} + white-space:normal. */
html[data-route="/"] .sn--c_fantasy .card-title,
html[data-route="/"] .sn--c_fantasy h2.card-title{
  white-space:nowrap!important;
  font-size:clamp(16px,4.6cqw,28px)!important;
}

/* ─── HEISMAN WATCH tile — dormant until Week 3 (D-HEIS5, 2026-07-21) ──────
   assets/heisman-gate.js removes the three .hw-card candidate tiles and drops
   this message in when GET /heisman/state reports votingActive:false. Sized to
   sit in the same box the 3-up candidate row occupied so the dashboard grid
   doesn't reflow when the race opens. */
/* The columns reset is load-bearing AND must be !important: route.css:145
   (`html[data-route="/"] .hw-row{grid-template-columns:repeat(3,minmax(0,1fr))
   !important}`) pins three columns for the three candidate tiles. Without
   matching that weight the message renders inside the first 1/3-width column.
   The extra .hw-row on the selector takes specificity to (0,4,1) so this wins
   on weight rather than on source order. */
html[data-route="/"] .hw-row.hw-row--void{
  grid-template-columns:1fr!important;
  display:grid;
  place-items:center;
  min-height:150px;
  padding:20px 16px;
  text-align:center;
}
/* width:100% is load-bearing — the parent's place-items:center makes the item
   shrink-to-fit, which collapsed this to its 151px min-content width and made
   the copy a narrow ragged column. */
html[data-route="/"] .hw-void{
  width:100%;
  max-width:38ch;
  margin-inline:auto;
  display:grid;
  gap:8px;
}
/* vw, not cqw: .sn--c_heisman is NOT a query container (core.css only declares
   container-name:snscard on .sn--c_fantasy / .sn--c_other), so cqw here would
   silently fall back to the viewport anyway. Say what we mean instead. */
/* brand red, NOT medal gold — gold is banned sitewide (2026-07-02 audit); note
   that --gold-medal itself resolves to #FF2D2D in core.css, so naming the red
   token directly is just saying out loud what already renders. */
html[data-route="/"] .hw-void-title{
  font-family:var(--f-display,"Graduate",serif);
  font-size:clamp(15px,1.6vw,20px);
  letter-spacing:.05em;
  line-height:1.15;
  color:var(--red-bright,#FF3B30);
  text-wrap:balance;
}
html[data-route="/"] .hw-void-msg{
  margin:0;
  font-size:clamp(12px,1.1vw,14px);
  line-height:1.5;
  color:var(--text-muted,#C2C2C2);
  text-wrap:pretty;
}
/* ─── PLAYER QUICK-LOOK — school-colour pop-in (Pat 2026-07-22) ────────────
   Clicking a TOP PERFORMERS (or Heisman) tile opens the shared exp-card;
   script.js Te() copies the tile's --team (or /players/:id primaryHex) onto
   the card + adds .is-school-colored. Background mirrors the perf-tile ramp
   (school colour up top, black by the stat grid). The headshot swaps the red
   ring/glow for the TILE avatar treatment: photo on WHITE, thin black inner
   ring, white outer ring. Unlayered on purpose — outranks core.css's
   @layer .exp-headshot red-border rule. */
html[data-route="/"] .exp-scrim .exp-card.is-school-colored{
  background:linear-gradient(180deg,
    var(--team) 0%,
    color-mix(in srgb,var(--team) 42%,#000000) 44%,
    #000000 100%);
  border-color:rgba(255,255,255,.22);
}
html[data-route="/"] .exp-card.is-school-colored .exp-headshot{
  background:#FFFFFF;
  border:3px solid rgba(0,0,0,.85);
  box-shadow:0 0 0 5px #FFFFFF,0 12px 32px rgba(0,0,0,.45);
}
/* light school colours (e.g. UNC blue) sit behind the name — same legibility
   shadow the tiles use */
html[data-route="/"] .exp-card.is-school-colored .exp-name,
html[data-route="/"] .exp-card.is-school-colored .exp-meta,
html[data-route="/"] .exp-card.is-school-colored .exp-school{
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}

/* ─── TOP PERFORMERS — PROJ value fit (2026-07-22) ─────────────────────────
   Preseason tiles carry longer value strings ("26.6 PROJ PPG" / "319 PROJ
   PTS"). Unit label scales WITH the number (em, not the fixed 16px from
   core.css) so perf-polish.js fitOneLine() shrinks both together. */
html[data-route="/"] .perf-card .perf-ppg .perf-unit{
  font-size:.6em!important;
}

/* ─── NEWS & NOTES — bigger stories (Pat 2026-07-22) ───────────────────────
   "make all the stories a little bigger so they show up just a little
   better": thumbs 44→52px, headline 16→18px. Overrides core.css's
   .sn--c_news compact sizing (unlayered wins). */
html[data-route="/"] .sn--c_news .news-row{
  grid-template-columns:52px 1fr 44px;
  padding:8px 4px;
}
html[data-route="/"] .sn--c_news .news-thumb{
  width:52px;height:52px;
}
html[data-route="/"] .sn--c_news .news-title{
  font-size:18px;
  line-height:1.3;
}
