{
  "version": 3,
  "sources": ["src/app/shared/ui/product-zoom-modal/product-zoom-modal.component.css"],
  "sourcesContent": ["/* ==========================================================================\n   ProductZoomModalComponent\n   ========================================================================== */\n\n/* ── Backdrop ──────────────────────────────────────────────── */\n.modal-backdrop {\n  position: fixed;\n  inset: 0;\n  z-index: 1000;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: var(--space-4);\n  background-color: rgb(0 0 0 / 0.5);\n  animation: fade-in 200ms ease;\n}\n\n@keyframes fade-in {\n  from { opacity: 0; }\n  to   { opacity: 1; }\n}\n\n/* ── Modal container ──────────────────────────────────────── */\n.modal {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  max-width: 820px;\n  max-height: 90vh;\n  width: 100%;\n  background-color: var(--color-surface-primary);\n  border-radius: var(--radius-modal);\n  box-shadow: var(--shadow-modal);\n  overflow: hidden;\n  animation: modal-in 250ms ease;\n}\n\n/* Identidad EA (Perrón Points Early Access) — fondo cálido SOLO en la\n   columna de info, nunca en la imagen. Estático, sin animaciones. */\n.modal--ea .modal__info {\n  background-color: var(--color-surface-vip);\n}\n\n@keyframes modal-in {\n  from {\n    opacity: 0;\n    transform: scale(0.95) translateY(10px);\n  }\n  to {\n    opacity: 1;\n    transform: scale(1) translateY(0);\n  }\n}\n\n@keyframes modal-in-mobile {\n  from {\n    opacity: 0;\n    transform: translateY(100%);\n  }\n  to {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n/* ── Close button ─────────────────────────────────────────── */\n.modal__close {\n  position: absolute;\n  top: var(--space-4);\n  right: var(--space-4);\n  z-index: 1;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 32px;\n  height: 32px;\n  border: none;\n  border-radius: var(--radius-button);\n  background-color: transparent;\n  color: var(--color-text-secondary);\n  cursor: pointer;\n  transition: background-color var(--transition-fast), color var(--transition-fast);\n}\n\n.modal__close:hover {\n  background-color: var(--color-surface-secondary);\n  color: var(--color-text-primary);\n}\n\n/* ── Two-column body ──────────────────────────────────────── */\n.modal__body {\n  display: flex;\n  flex: 1;\n  min-height: 0;\n}\n\n/* ── Image column ─────────────────────────────────────────── */\n.modal__image-wrap {\n  position: relative;\n  width: 40%;\n  flex-shrink: 0;\n  background-color: var(--color-surface-secondary);\n  overflow: hidden;\n  padding: var(--space-6);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.modal__image {\n  width: 100%;\n  height: 100%;\n  object-fit: contain;\n}\n\n/* ── Double-face card flip ────────────────────────────────── */\n.modal__flip-container {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  transition: transform 0.6s ease;\n  transform-style: preserve-3d;\n  cursor: var(--cursor-flip);\n}\n\n.modal__flip-container:focus-visible {\n  outline: 2px solid var(--color-action-primary);\n  outline-offset: 4px;\n}\n\n.modal__flip-container--flipped {\n  transform: rotateY(180deg);\n}\n\n.modal__face {\n  backface-visibility: hidden;\n  -webkit-backface-visibility: hidden;\n}\n\n.modal__face--front {\n  position: relative;\n}\n\n.modal__face--back {\n  position: absolute;\n  inset: 0;\n  transform: rotateY(180deg);\n}\n\n.modal__flip-btn {\n  position: absolute;\n  bottom: var(--space-3);\n  right: var(--space-3);\n  z-index: 3;\n  display: flex;\n  align-items: center;\n  gap: var(--space-1);\n  padding: var(--space-1) var(--space-3);\n  background-color: var(--color-surface-primary);\n  border: 1px solid var(--color-border-primary);\n  border-radius: var(--radius-button);\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-xs);\n  font-weight: var(--font-weight-body-medium);\n  color: var(--color-text-primary);\n  cursor: pointer;\n  box-shadow: var(--shadow-button);\n  transition: background-color var(--transition-fast);\n}\n\n.modal__flip-btn:hover {\n  background-color: var(--color-surface-secondary);\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .modal__flip-container {\n    transition: none;\n  }\n}\n\n/* ── Foil overlays — shared base ──────────────────────────── */\n.modal__image-wrap[data-variant='foil']::after,\n.modal__image-wrap[data-variant='specialty-foil']::after,\n.modal__image-wrap[data-variant='extended']::after,\n.modal__image-wrap[data-variant='showcase']::after {\n  content: '';\n  position: absolute;\n  inset: 0;\n  pointer-events: none;\n}\n\n.modal__image-wrap[data-variant='foil']::after {\n  background: linear-gradient(135deg,\n    #ff0000, #ff8c00, #ffff00, #00ff00, #0000ff, #800080);\n  mix-blend-mode: color-dodge;\n  opacity: 0.35;\n}\n\n.modal__image-wrap[data-variant='specialty-foil']::after {\n  background: conic-gradient(from 0deg,\n    #ff0000, #ff8c00 60deg, #ffff00 120deg,\n    #008000 180deg, #0000ff 240deg, #800080 300deg, #ff0000 360deg);\n  mix-blend-mode: color-dodge;\n  opacity: 0.35;\n}\n\n.modal__image-wrap[data-variant='extended']::after,\n.modal__image-wrap[data-variant='showcase']::after {\n  border: 2px solid;\n  opacity: 0.4;\n}\n\n.modal__image-wrap[data-variant='extended']::after {\n  border-color: var(--color-badge-extended);\n  box-shadow: inset 0 0 16px color-mix(in srgb, var(--color-badge-extended) 25%, transparent);\n}\n\n.modal__image-wrap[data-variant='showcase']::after {\n  border-color: var(--color-badge-showcase);\n  box-shadow: inset 0 0 16px color-mix(in srgb, var(--color-badge-showcase) 25%, transparent);\n}\n\n/* ── Info column ──────────────────────────────────────────── */\n.modal__info {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 0;\n  padding: var(--space-8);\n  min-width: 0;\n  overflow-y: auto;\n}\n\n/* ── Header ───────────────────────────────────────────────── */\n.modal__header {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-2);\n}\n\n.modal__badges {\n  display: flex;\n  flex-wrap: wrap;\n  gap: var(--space-1);\n}\n\n.modal__badges:empty {\n  display: none;\n}\n\n.modal__name {\n  margin: 0;\n  font-family: var(--font-family-heading);\n  font-size: var(--text-size-2xl);\n  font-weight: var(--font-weight-heading-bold);\n  color: var(--color-text-primary);\n  line-height: var(--leading-snug);\n}\n\n/* ── Divider ──────────────────────────────────────────────── */\n.modal__divider {\n  border: none;\n  border-top: 1px solid var(--color-border-primary);\n  margin: var(--space-4) 0;\n}\n\n/* ── Price section ────────────────────────────────────────── */\n.modal__price-section {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-1);\n  padding: var(--space-1) 0;\n}\n\n.modal__price-row {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: var(--space-3);\n}\n\n.modal__price {\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-3xl);\n  font-weight: var(--font-weight-heading-bold);\n  font-variant-numeric: var(--font-variant-numeric);\n  color: var(--color-text-price);\n  line-height: 1;\n}\n\n.modal__original-price {\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-sm);\n  font-variant-numeric: var(--font-variant-numeric);\n  color: var(--color-text-secondary);\n  text-decoration: line-through;\n  line-height: 1;\n}\n\n/* ── Meta section ─────────────────────────────────────────── */\n.modal__meta-section {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-2);\n  padding: var(--space-3);\n  background-color: var(--color-surface-secondary);\n  border-radius: var(--radius-button);\n}\n\n/* Set + variant badge en la misma fila */\n.modal__set-row {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: var(--space-2);\n}\n\n.modal__set {\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-sm);\n  color: var(--color-text-secondary);\n}\n\n.modal__set--link {\n  text-decoration: none;\n  cursor: pointer;\n  transition: color var(--transition-fast);\n}\n\n.modal__set--link:hover,\n.modal__set--link:focus-visible {\n  color: var(--color-text-primary);\n}\n\n.modal__set--link:focus-visible {\n  outline: 2px solid var(--color-brand-primary);\n  outline-offset: 2px;\n  border-radius: 2px;\n}\n\n/* ── Stats list: flex-wrap 33% con truncate ───────────────── */\n.modal__stats-list {\n  display: flex;\n  flex-wrap: wrap;\n  row-gap: var(--space-3);\n  padding-top: var(--space-2);\n  border-top: 1px solid var(--color-border-primary);\n}\n\n.modal__stat-item {\n  flex: 0 0 33.333%;\n  min-width: 0;\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-1);\n  padding-right: var(--space-3);\n}\n\n.modal__stat-label {\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-xs);\n  color: var(--color-text-secondary);\n  white-space: nowrap;\n}\n\n.modal__stat-value {\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-xs);\n  font-weight: var(--font-weight-body-medium);\n  color: var(--color-text-primary);\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.modal__stat-value--bold {\n  font-weight: var(--font-weight-heading);\n}\n\n/* Valores numéricos: tabular-nums alinea dígitos verticalmente (regla de\n   precios/datos en visual-rules.md). */\n.modal__stat-value--tabular {\n  font-variant-numeric: tabular-nums;\n}\n\n/* Mana cost MTG: render como texto monoespaciado para que \"{3}{U}{U}\" sea\n   legible sin sprites (decisión de iteración inicial — ver plan). */\n.modal__stat-value--mono {\n  font-family: ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Consolas, monospace;\n  font-size: var(--text-size-sm);\n  letter-spacing: 0.02em;\n}\n\n/* ── Mecánicas de juego: color chip + subtype chips ────────── */\n/* Item de subtype puede llevar varios chips → ocupa fila completa para no\n   recortar el wrap. */\n.modal__stat-item--wide {\n  flex: 0 0 100%;\n  padding-right: 0;\n}\n\n/* Chip OP color: dot 8px del color mapeado + nombre. Tokens vienen del DS\n   donde calzan (yellow/red/blue/green/black/purple); \"other\" es neutro. */\n.modal__color-chip {\n  display: inline-flex;\n  align-items: center;\n  gap: var(--space-2);\n  min-width: 0;\n}\n\n.modal__color-dot {\n  width: 8px;\n  height: 8px;\n  border-radius: 50%;\n  flex: 0 0 8px;\n  background: var(--color-text-secondary);\n  box-shadow: 0 0 0 1px var(--color-border-primary);\n}\n\n.modal__color-chip[data-color='yellow'] .modal__color-dot { background: var(--color-action-primary); }\n.modal__color-chip[data-color='red'] .modal__color-dot { background: var(--color-action-danger); }\n.modal__color-chip[data-color='blue'] .modal__color-dot { background: var(--color-action-secondary); }\n.modal__color-chip[data-color='green'] .modal__color-dot { background: var(--color-state-success); }\n.modal__color-chip[data-color='black'] .modal__color-dot { background: var(--color-text-primary); }\n.modal__color-chip[data-color='purple'] .modal__color-dot { background: var(--color-badge-showcase); }\n\n/* Chips de subtype: pills 22px ratio del DS (4px radius, Inter 12 uppercase).\n   Wrap horizontal sobre varias filas si OP devuelve >2 valores. */\n.modal__subtype-chips {\n  display: inline-flex;\n  flex-wrap: wrap;\n  gap: var(--space-1);\n  min-width: 0;\n}\n\n.modal__subtype-chip {\n  display: inline-flex;\n  align-items: center;\n  height: 22px;\n  padding: 0 var(--space-2);\n  border-radius: var(--radius-badge);\n  background: color-mix(in srgb, var(--color-surface-secondary) 80%, transparent);\n  color: var(--color-text-primary);\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-xs);\n  font-weight: var(--font-weight-body-medium);\n  letter-spacing: 0.04em;\n  text-transform: uppercase;\n  white-space: nowrap;\n}\n\n/* ── Short description ────────────────────────────────────── */\n.modal__short-description {\n  margin: var(--space-3) 0 0;\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-sm);\n  color: var(--color-text-secondary);\n  line-height: var(--leading-relaxed);\n}\n\n.modal__read-more {\n  display: inline;\n  margin-left: var(--space-1);\n  padding: 0;\n  background: none;\n  border: 0;\n  font: inherit;\n  color: var(--color-action-primary);\n  font-weight: var(--font-weight-body-medium);\n  cursor: pointer;\n  text-decoration: underline;\n  text-underline-offset: 2px;\n}\n\n.modal__read-more:hover {\n  text-decoration-thickness: 2px;\n}\n\n.modal__read-more:focus-visible {\n  outline: 2px solid var(--color-action-primary);\n  outline-offset: 2px;\n  border-radius: 2px;\n}\n\n/* ── Low stock ────────────────────────────────────────────── */\n.modal__low-stock {\n  font-size: var(--text-size-sm);\n  color: var(--color-state-warning);\n  font-weight: var(--font-weight-body-medium);\n  margin-top: var(--space-2);\n}\n\n/* ── Footer ───────────────────────────────────────────────── */\n/* Rejilla: la acción principal y el corazón de la lista de deseos en la\n   primera fila; «Ver ficha completa» ocupa la segunda entera. */\n.modal__footer {\n  margin-top: auto;\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) auto;\n  align-items: end;\n  gap: var(--space-3);\n}\n\n.modal__wishlist-btn {\n  --wishlist-btn-size: 3.25rem; /* el alto del CTA `lg` */\n}\n\n/* ── Add row: cantidad + CTA en la misma fila ─────────────── */\n/* Se parte si no caben (con el corazón al lado, en el ancho del modal de\n   escritorio no caben): el CTA baja a su línea, junto al corazón. */\n.modal__add-row {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: var(--space-3);\n}\n\n/* ── Quantity row ─────────────────────────────────────────── */\n.modal__quantity-row {\n  display: flex;\n  align-items: center;\n  gap: var(--space-3);\n}\n\n.modal__qty-label {\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-sm);\n  font-weight: var(--font-weight-body-medium);\n  color: var(--color-text-secondary);\n  white-space: nowrap;\n}\n\n/* ── Quantity selector ────────────────────────────────────── */\n.modal__quantity {\n  display: inline-flex;\n  align-items: center;\n  border: 1px solid var(--color-border-primary);\n  border-radius: var(--radius-button);\n  overflow: hidden;\n}\n\n.modal__qty-btn {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 36px;\n  height: 36px;\n  border: none;\n  background: transparent;\n  color: var(--color-text-primary);\n  cursor: pointer;\n  transition: background-color var(--transition-fast);\n}\n\n.modal__qty-btn:hover:not(:disabled) {\n  background-color: var(--color-surface-secondary);\n}\n\n.modal__qty-btn:disabled {\n  opacity: 0.4;\n  cursor: not-allowed;\n}\n\n.modal__qty-value {\n  min-width: 36px;\n  text-align: center;\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-sm);\n  font-weight: var(--font-weight-body-medium);\n  font-variant-numeric: var(--font-variant-numeric);\n  color: var(--color-text-primary);\n  line-height: 36px;\n  user-select: none;\n}\n\n/* ── CTA ──────────────────────────────────────────────────── */\n/* Base de 13rem: si no cabe junto a la cantidad, la fila se parte y el CTA\n   baja a su línea (con el corazón al lado) en vez de partir su texto.\n   `min-width: 0` deja que la columna `minmax(0, 1fr)` del pie lo contenga\n   (AS-W2-1: sin él, «Avisarme cuando esté disponible» invadía el corazón). */\n.modal__cta {\n  flex: 1 1 13rem;\n  min-width: 0;\n}\n\n/* Estado agotado: CTA ocupa todo el ancho */\n.modal__cta--full {\n  width: 100%;\n  flex: none;\n  min-width: 0;\n}\n\n/* ButtonComponent usa host: { class: 'contents' } y su `.btn` vive en otro\n   componente: sin ::ng-deep (acotado a .modal__cta de este modal) la regla no\n   le llegaba. `white-space: normal` anula el `nowrap` global de `.btn` solo\n   aquí, para que el texto parta línea dentro de su columna. */\n.modal__cta ::ng-deep .btn {\n  width: 100%;\n  justify-content: center;\n  white-space: normal;\n  text-align: center;\n}\n\n/* Wrapper interno: garantiza icon + texto en línea */\n.modal__btn-content {\n  display: inline-flex;\n  align-items: center;\n  gap: var(--space-2);\n}\n\n/* ── View details link ────────────────────────────────────── */\n.modal__view-details {\n  grid-column: 1 / -1;\n  display: block;\n  width: 100%;\n  border: none;\n  background: transparent;\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-sm);\n  color: var(--color-brand-secondary);\n  text-align: center;\n  text-decoration: underline;\n  cursor: pointer;\n  padding: 0;\n  transition: color var(--transition-fast);\n}\n\n.modal__view-details:hover {\n  color: var(--color-brand-secondary-hover);\n}\n\n.modal__view-details:focus-visible {\n  outline: 2px solid var(--color-brand-secondary);\n  outline-offset: 2px;\n  border-radius: var(--radius-button);\n}\n\n/* ── Responsive: stack on small screens ───────────────────── */\n@media (max-width: 640px) {\n  .modal-backdrop {\n    padding: 0;\n    align-items: flex-end;          /* bottom-sheet feel */\n  }\n\n  .modal {\n    max-height: 100dvh;\n    height: 100dvh;\n    border-radius: var(--radius-modal) var(--radius-modal) 0 0;\n    animation: modal-in-mobile 300ms ease;\n  }\n\n  /* FIX CLAVE: __body es el scroll container, no __info */\n  .modal__body {\n    flex-direction: column;\n    flex: 1;\n    min-height: 0;\n    overflow-y: auto;\n    -webkit-overflow-scrolling: touch;\n    overscroll-behavior: contain;\n  }\n\n  .modal__image-wrap {\n    width: 100%;\n    max-height: 45vh;               /* 50→45: dejar más espacio a la info */\n    flex-shrink: 0;\n    padding: var(--space-4);\n  }\n\n  .modal__info {\n    padding: var(--space-4) var(--space-4) var(--space-6);\n    overflow-y: visible;            /* scroll lo maneja el padre */\n    flex-shrink: 0;\n  }\n\n  /* CTA sticky en la parte inferior */\n  .modal__footer {\n    position: sticky;\n    bottom: 0;\n    z-index: 2;\n    background: var(--color-surface-primary);\n    padding: var(--space-3) var(--space-4);\n    border-top: 1px solid var(--color-border-primary);\n    box-shadow: 0 -2px 8px rgb(0 0 0 / 0.08);\n    margin-top: auto;\n  }\n\n  .modal__add-row {\n    flex-wrap: wrap;\n  }\n\n  .modal__cta {\n    flex: none;\n    width: 100%;\n  }\n\n  /* En mobile, 33% por stat-item recorta badges largos (e.g. \"MINT/NEAR MINT\",\n     \"MODERATE PLAYED\") y se pisan con la columna siguiente. Pasamos a 2 cols. */\n  .modal__stat-item {\n    flex: 0 0 50%;\n    padding-right: var(--space-2);\n  }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .modal-backdrop { animation: none; }\n  .modal          { animation: none; }\n}\n"],
  "mappings": ";AAKA,CAAA;AACE,YAAA;AACA,SAAA;AACA,WAAA;AACA,WAAA;AACA,eAAA;AACA,mBAAA;AACA,WAAA,IAAA;AACA,oBAAA,IAAA,EAAA,EAAA,EAAA,EAAA;AACA,aAAA,QAAA,MAAA;AACF;AAEA,WAHE;AAIA;AAAO,aAAA;AAAY;AACnB;AAAO,aAAA;AAAY;AACrB;AAGA,CAAA;AACE,YAAA;AACA,WAAA;AACA,kBAAA;AACA,aAAA;AACA,cAAA;AACA,SAAA;AACA,oBAAA,IAAA;AACA,iBAAA,IAAA;AACA,cAAA,IAAA;AACA,YAAA;AACA,aAAA,SAAA,MAAA;AACF;AAIA,CAAA,UAAA,CAAA;AACE,oBAAA,IAAA;AACF;AAEA,WATE;AAUA;AACE,aAAA;AACA,eAAA,MAAA,MAAA,WAAA;AACF;AACA;AACE,aAAA;AACA,eAAA,MAAA,GAAA,WAAA;AACF;AACF;AAEA,WAAA;AACE;AACE,aAAA;AACA,eAAA,WAAA;AACF;AACA;AACE,aAAA;AACA,eAAA,WAAA;AACF;AACF;AAGA,CAAA;AACE,YAAA;AACA,OAAA,IAAA;AACA,SAAA,IAAA;AACA,WAAA;AACA,WAAA;AACA,eAAA;AACA,mBAAA;AACA,SAAA;AACA,UAAA;AACA,UAAA;AACA,iBAAA,IAAA;AACA,oBAAA;AACA,SAAA,IAAA;AACA,UAAA;AACA,cAAA,iBAAA,IAAA,kBAAA,EAAA,MAAA,IAAA;AACF;AAEA,CAlBA,YAkBA;AACE,oBAAA,IAAA;AACA,SAAA,IAAA;AACF;AAGA,CAAA;AACE,WAAA;AACA,QAAA;AACA,cAAA;AACF;AAGA,CAAA;AACE,YAAA;AACA,SAAA;AACA,eAAA;AACA,oBAAA,IAAA;AACA,YAAA;AACA,WAAA,IAAA;AACA,WAAA;AACA,eAAA;AACA,mBAAA;AACF;AAEA,CAAA;AACE,SAAA;AACA,UAAA;AACA,cAAA;AACF;AAGA,CAAA;AACE,YAAA;AACA,SAAA;AACA,UAAA;AACA,cAAA,UAAA,KAAA;AACA,mBAAA;AACA,UAAA,IAAA;AACF;AAEA,CATA,qBASA;AACE,WAAA,IAAA,MAAA,IAAA;AACA,kBAAA;AACF;AAEA,CAAA;AACE,aAAA,QAAA;AACF;AAEA,CAAA;AACE,uBAAA;AACA,+BAAA;AACF;AAEA,CAAA;AACE,YAAA;AACF;AAEA,CAAA;AACE,YAAA;AACA,SAAA;AACA,aAAA,QAAA;AACF;AAEA,CAAA;AACE,YAAA;AACA,UAAA,IAAA;AACA,SAAA,IAAA;AACA,WAAA;AACA,WAAA;AACA,eAAA;AACA,OAAA,IAAA;AACA,WAAA,IAAA,WAAA,IAAA;AACA,oBAAA,IAAA;AACA,UAAA,IAAA,MAAA,IAAA;AACA,iBAAA,IAAA;AACA,eAAA,IAAA;AACA,aAAA,IAAA;AACA,eAAA,IAAA;AACA,SAAA,IAAA;AACA,UAAA;AACA,cAAA,IAAA;AACA,cAAA,iBAAA,IAAA;AACF;AAEA,CArBA,eAqBA;AACE,oBAAA,IAAA;AACF;AAEA,QAAA,wBAAA;AACE,GA3DF;AA4DI,gBAAA;AACF;AACF;AAGA,CApFA,iBAoFA,CAAA,kBAAA;CApFA;CAAA;CAAA;AAwFE,WAAA;AACA,YAAA;AACA,SAAA;AACA,kBAAA;AACF;AAEA,CA9FA,iBA8FA,CAAA,kBAAA;AACE;IAAA;MAAA,MAAA;aAAA;aAAA;aAAA;aAAA;aAAA;;AAEA,kBAAA;AACA,WAAA;AACF;AAEA,CArGA,iBAqGA,CAAA,4BAAA;AACE;IAAA;MAAA,KAAA,IAAA;aAAA;mBAAA;oBAAA;oBAAA;oBAAA;oBAAA;;AAGA,kBAAA;AACA,WAAA;AACF;AAEA,CA7GA,iBA6GA,CAAA,sBAAA;CA7GA;AA+GE,UAAA,IAAA;AACA,WAAA;AACF;AAEA,CAnHA,iBAmHA,CAAA,sBAAA;AACE,gBAAA,IAAA;AACA,cAAA,MAAA,EAAA,EAAA,KAAA,UAAA,GAAA,IAAA,EAAA,IAAA,wBAAA,GAAA,EAAA;AACF;AAEA,CAxHA,iBAwHA,CAAA,sBAAA;AACE,gBAAA,IAAA;AACA,cAAA,MAAA,EAAA,EAAA,KAAA,UAAA,GAAA,IAAA,EAAA,IAAA,wBAAA,GAAA,EAAA;AACF;AAGA,CAxLA;AAyLE,QAAA;AACA,WAAA;AACA,kBAAA;AACA,OAAA;AACA,WAAA,IAAA;AACA,aAAA;AACA,cAAA;AACF;AAGA,CAAA;AACE,WAAA;AACA,kBAAA;AACA,OAAA,IAAA;AACF;AAEA,CAAA;AACE,WAAA;AACA,aAAA;AACA,OAAA,IAAA;AACF;AAEA,CANA,aAMA;AACE,WAAA;AACF;AAEA,CAAA;AACE,UAAA;AACA,eAAA,IAAA;AACA,aAAA,IAAA;AACA,eAAA,IAAA;AACA,SAAA,IAAA;AACA,eAAA,IAAA;AACF;AAGA,CAAA;AACE,UAAA;AACA,cAAA,IAAA,MAAA,IAAA;AACA,UAAA,IAAA,WAAA;AACF;AAGA,CAAA;AACE,WAAA;AACA,kBAAA;AACA,OAAA,IAAA;AACA,WAAA,IAAA,WAAA;AACF;AAEA,CAAA;AACE,WAAA;AACA,eAAA;AACA,mBAAA;AACA,OAAA,IAAA;AACF;AAEA,CAAA;AACE,eAAA,IAAA;AACA,aAAA,IAAA;AACA,eAAA,IAAA;AACA,wBAAA,IAAA;AACA,SAAA,IAAA;AACA,eAAA;AACF;AAEA,CAAA;AACE,eAAA,IAAA;AACA,aAAA,IAAA;AACA,wBAAA,IAAA;AACA,SAAA,IAAA;AACA,mBAAA;AACA,eAAA;AACF;AAGA,CAAA;AACE,WAAA;AACA,kBAAA;AACA,OAAA,IAAA;AACA,WAAA,IAAA;AACA,oBAAA,IAAA;AACA,iBAAA,IAAA;AACF;AAGA,CAAA;AACE,WAAA;AACA,eAAA;AACA,mBAAA;AACA,OAAA,IAAA;AACF;AAEA,CAAA;AACE,eAAA,IAAA;AACA,aAAA,IAAA;AACA,SAAA,IAAA;AACF;AAEA,CAAA;AACE,mBAAA;AACA,UAAA;AACA,cAAA,MAAA,IAAA;AACF;AAEA,CANA,gBAMA;CANA;AAQE,SAAA,IAAA;AACF;AAEA,CAXA,gBAWA;AACE,WAAA,IAAA,MAAA,IAAA;AACA,kBAAA;AACA,iBAAA;AACF;AAGA,CAAA;AACE,WAAA;AACA,aAAA;AACA,WAAA,IAAA;AACA,eAAA,IAAA;AACA,cAAA,IAAA,MAAA,IAAA;AACF;AAEA,CAAA;AACE,QAAA,EAAA,EAAA;AACA,aAAA;AACA,WAAA;AACA,kBAAA;AACA,OAAA,IAAA;AACA,iBAAA,IAAA;AACF;AAEA,CAAA;AACE,eAAA,IAAA;AACA,aAAA,IAAA;AACA,SAAA,IAAA;AACA,eAAA;AACF;AAEA,CAAA;AACE,eAAA,IAAA;AACA,aAAA,IAAA;AACA,eAAA,IAAA;AACA,SAAA,IAAA;AACA,YAAA;AACA,iBAAA;AACA,eAAA;AACF;AAEA,CAAA;AACE,eAAA,IAAA;AACF;AAIA,CAAA;AACE,wBAAA;AACF;AAIA,CAAA;AACE;IAAA,YAAA;IAAA,SAAA;IAAA,cAAA;IAAA,KAAA;IAAA,QAAA;IAAA;AACA,aAAA,IAAA;AACA,kBAAA;AACF;AAKA,CAAA;AACE,QAAA,EAAA,EAAA;AACA,iBAAA;AACF;AAIA,CAAA;AACE,WAAA;AACA,eAAA;AACA,OAAA,IAAA;AACA,aAAA;AACF;AAEA,CAAA;AACE,SAAA;AACA,UAAA;AACA,iBAAA;AACA,QAAA,EAAA,EAAA;AACA,cAAA,IAAA;AACA,cAAA,EAAA,EAAA,EAAA,IAAA,IAAA;AACF;AAEA,CAhBA,iBAgBA,CAAA,mBAAA,CATA;AAS4D,cAAA,IAAA;AAAyC;AACrG,CAjBA,iBAiBA,CAAA,gBAAA,CAVA;AAUyD,cAAA,IAAA;AAAwC;AACjG,CAlBA,iBAkBA,CAAA,iBAAA,CAXA;AAW0D,cAAA,IAAA;AAA2C;AACrG,CAnBA,iBAmBA,CAAA,kBAAA,CAZA;AAY2D,cAAA,IAAA;AAAwC;AACnG,CApBA,iBAoBA,CAAA,kBAAA,CAbA;AAa2D,cAAA,IAAA;AAAuC;AAClG,CArBA,iBAqBA,CAAA,mBAAA,CAdA;AAc4D,cAAA,IAAA;AAAyC;AAIrG,CAAA;AACE,WAAA;AACA,aAAA;AACA,OAAA,IAAA;AACA,aAAA;AACF;AAEA,CAAA;AACE,WAAA;AACA,eAAA;AACA,UAAA;AACA,WAAA,EAAA,IAAA;AACA,iBAAA,IAAA;AACA,cAAA,UAAA,GAAA,IAAA,EAAA,IAAA,2BAAA,GAAA,EAAA;AACA,SAAA,IAAA;AACA,eAAA,IAAA;AACA,aAAA,IAAA;AACA,eAAA,IAAA;AACA,kBAAA;AACA,kBAAA;AACA,eAAA;AACF;AAGA,CAAA;AACE,UAAA,IAAA,WAAA,EAAA;AACA,eAAA,IAAA;AACA,aAAA,IAAA;AACA,SAAA,IAAA;AACA,eAAA,IAAA;AACF;AAEA,CAAA;AACE,WAAA;AACA,eAAA,IAAA;AACA,WAAA;AACA,cAAA;AACA,UAAA;AACA,QAAA;AACA,SAAA,IAAA;AACA,eAAA,IAAA;AACA,UAAA;AACA,mBAAA;AACA,yBAAA;AACF;AAEA,CAdA,gBAcA;AACE,6BAAA;AACF;AAEA,CAlBA,gBAkBA;AACE,WAAA,IAAA,MAAA,IAAA;AACA,kBAAA;AACA,iBAAA;AACF;AAGA,CAAA;AACE,aAAA,IAAA;AACA,SAAA,IAAA;AACA,eAAA,IAAA;AACA,cAAA,IAAA;AACF;AAKA,CAAA;AACE,cAAA;AACA,WAAA;AACA,yBAAA,OAAA,CAAA,EAAA,KAAA;AACA,eAAA;AACA,OAAA,IAAA;AACF;AAEA,CAAA;AACE,uBAAA;AACF;AAKA,CAAA;AACE,WAAA;AACA,aAAA;AACA,eAAA;AACA,OAAA,IAAA;AACF;AAGA,CAAA;AACE,WAAA;AACA,eAAA;AACA,OAAA,IAAA;AACF;AAEA,CAAA;AACE,eAAA,IAAA;AACA,aAAA,IAAA;AACA,eAAA,IAAA;AACA,SAAA,IAAA;AACA,eAAA;AACF;AAGA,CAAA;AACE,WAAA;AACA,eAAA;AACA,UAAA,IAAA,MAAA,IAAA;AACA,iBAAA,IAAA;AACA,YAAA;AACF;AAEA,CAAA;AACE,WAAA;AACA,eAAA;AACA,mBAAA;AACA,SAAA;AACA,UAAA;AACA,UAAA;AACA,cAAA;AACA,SAAA,IAAA;AACA,UAAA;AACA,cAAA,iBAAA,IAAA;AACF;AAEA,CAbA,cAaA,MAAA,KAAA;AACE,oBAAA,IAAA;AACF;AAEA,CAjBA,cAiBA;AACE,WAAA;AACA,UAAA;AACF;AAEA,CAAA;AACE,aAAA;AACA,cAAA;AACA,eAAA,IAAA;AACA,aAAA,IAAA;AACA,eAAA,IAAA;AACA,wBAAA,IAAA;AACA,SAAA,IAAA;AACA,eAAA;AACA,uBAAA;AAAA,eAAA;AACF;AAOA,CAAA;AACE,QAAA,EAAA,EAAA;AACA,aAAA;AACF;AAGA,CAAA;AACE,SAAA;AACA,QAAA;AACA,aAAA;AACF;AAMA,CAhBA,WAgBA,UAAA,CAAA;AACE,SAAA;AACA,mBAAA;AACA,eAAA;AACA,cAAA;AACF;AAGA,CAAA;AACE,WAAA;AACA,eAAA;AACA,OAAA,IAAA;AACF;AAGA,CAAA;AACE,eAAA,EAAA,EAAA;AACA,WAAA;AACA,SAAA;AACA,UAAA;AACA,cAAA;AACA,eAAA,IAAA;AACA,aAAA,IAAA;AACA,SAAA,IAAA;AACA,cAAA;AACA,mBAAA;AACA,UAAA;AACA,WAAA;AACA,cAAA,MAAA,IAAA;AACF;AAEA,CAhBA,mBAgBA;AACE,SAAA,IAAA;AACF;AAEA,CApBA,mBAoBA;AACE,WAAA,IAAA,MAAA,IAAA;AACA,kBAAA;AACA,iBAAA,IAAA;AACF;AAGA,QAAA,WAAA;AACE,GA1nBF;AA2nBI,aAAA;AACA,iBAAA;AACF;AAEA,GA7mBF;AA8mBI,gBAAA;AACA,YAAA;AACA,mBAAA,IAAA,gBAAA,IAAA,gBAAA,EAAA;AACA,eAAA,gBAAA,MAAA;AACF;AAGA,GAljBF;AAmjBI,oBAAA;AACA,UAAA;AACA,gBAAA;AACA,gBAAA;AACA,gCAAA;AACA,yBAAA;AACF;AAEA,GApjBF;AAqjBI,WAAA;AACA,gBAAA;AACA,iBAAA;AACA,aAAA,IAAA;AACF;AAEA,GArnBF;AAsnBI,aAAA,IAAA,WAAA,IAAA,WAAA,IAAA;AACA,gBAAA;AACA,iBAAA;AACF;AAGA,GApLF;AAqLI,cAAA;AACA,YAAA;AACA,aAAA;AACA,gBAAA,IAAA;AACA,aAAA,IAAA,WAAA,IAAA;AACA,gBAAA,IAAA,MAAA,IAAA;AACA,gBAAA,EAAA,KAAA,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA;AACA,gBAAA;AACF;AAEA,GAhLF;AAiLI,eAAA;AACF;AAEA,GA9GF;AA+GI,UAAA;AACA,WAAA;AACF;AAIA,GA5VF;AA6VI,UAAA,EAAA,EAAA;AACA,mBAAA,IAAA;AACF;AACF;AAEA,QAAA,wBAAA;AACE,GA3rBF;AA2rBoB,eAAA;AAAiB;AACnC,GA1qBF;AA0qBoB,eAAA;AAAiB;AACrC;",
  "names": []
}
