/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/shared/ui/aurtmix/aurtmix-ui.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Aurtmix Essentials — component styles.
 * Mirrors Figma "04 / Components" (node 2051:376). Tokens: shared/design/aurtmix-tokens.css.
 * Figma defines only default states; hover/focus here are minimal additions.
 */

/* Buttons — Aurtmix/Buttons/Button */
.ax-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 14px 26px;
  border-radius: var(--aurtmix-corners-pill-and-hero);
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform var(--ax-dur-fast) var(--ax-ease-out),
    filter var(--ax-dur-fast) var(--ax-ease-out),
    color var(--ax-dur-fast) var(--ax-ease-out);
  -webkit-tap-highlight-color: transparent;
}

.ax-btn--primary {
  background: var(--ax-gradient-gold);
  color: var(--text-on-gold);
}

.ax-btn--secondary {
  background: var(--ax-gradient-button);
  color: var(--text-main);
}

.ax-btn--primary:hover,
.ax-btn--secondary:hover {
  filter: var(--ax-hover-12);
}

/* Press: a small, quick squeeze. */
.ax-btn:active,
.ax-icon-btn:active {
  transform: scale(0.97);
  transition-duration: var(--ax-dur-press);
}

.ax-btn--nav {
  padding: 0 9.61px 0 var(--aurtmix-spacing-8);
  border-radius: 0;
  color: var(--text-main);
}

.ax-btn--nav:hover {
  color: var(--brand-gold);
}



.ax-btn:disabled,
.ax-btn[aria-disabled='true'] {
  cursor: default;
  filter: var(--ax-disabled-filter-soft);
}

.ax-btn:focus-visible,
.ax-icon-btn:focus-visible,
.ax-faq__header:focus-visible,
.ax-focusable:focus-visible {
  outline: 2px solid var(--brand-light-gold);
  outline-offset: 2px;
}

/* Icon button — Aurtmix/Buttons/Icon button */
.ax-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  padding: var(--aurtmix-spacing-4);
  border-radius: var(--aurtmix-corners-pill-and-hero);
  background: var(--ax-gradient-button);
  cursor: pointer;
  transition:
    transform var(--ax-dur-fast) var(--ax-ease-out),
    filter var(--ax-dur-fast) var(--ax-ease-out);
  -webkit-tap-highlight-color: transparent;
}

.ax-icon-btn:hover,
.ax-icon-btn[aria-expanded='true'] {
  filter: var(--ax-hover-15);
}

/* Section heading — two-tone, centered */
.ax-section-heading {
  color: var(--text-main);
  text-align: center;
}

.ax-section-heading__accent {
  color: var(--brand-gold);
}

.ax-section-heading--stacked .ax-section-heading__lead,
.ax-section-heading--stacked .ax-section-heading__accent {
  display: block;
}

/* Wordmark — logo + AurtMix */
.ax-wordmark {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 45px;
}

.ax-wordmark__logo {
  position: relative;
  flex-shrink: 0;
  width: 51px;
  height: 44px;
}

.ax-wordmark__logo img {
  position: absolute;
  top: -6px;
  left: 0;
  width: 51px;
  height: 46px;
}

.ax-wordmark__text {
  color: var(--text-main);
  white-space: nowrap;
}

/* Cards aren't clickable; they just brighten on hover, like the buttons. */
.ax-feature-card,
.ax-bento,
.ax-community-card {
  cursor: default;
  transition: filter var(--ax-dur) var(--ax-ease-out);
}

.ax-feature-card:hover,
.ax-bento:hover,
.ax-community-card:hover {
  filter: var(--ax-hover-12);
}

/* Feature card — Aurtmix/Cards/Feature */
.ax-feature-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--aurtmix-spacing-24);
  padding: var(--aurtmix-spacing-32);
  border-radius: var(--aurtmix-corners-card);
  align-self: start;
}

.ax-icon-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: var(--aurtmix-corners-icon);
  background: var(--ax-gradient-button);
}

.ax-icon-tile svg {
  flex-shrink: 0;
}

/* Holds shared SVG gradients; must stay rendered (not display:none) for url(#…) to resolve. */
.ax-icon-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.ax-card-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--aurtmix-spacing-8);
  width: 100%;
}

.ax-card-text__title {
  width: 100%;
  color: var(--text-main);
}

.ax-card-text__body {
  color: var(--text-muted);
  white-space: pre-line;
}

.ax-feature-card .ax-card-text__body {
  max-width: 309px;
}

/* Bento card — Aurtmix/Cards/Bento */
.ax-bento {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--aurtmix-spacing-32);
  border-radius: var(--aurtmix-corners-card);
  overflow: hidden;
}

.ax-bento--tall { height: 610px; }
.ax-bento--compact { height: 293px; }

.ax-bento__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--aurtmix-spacing-16);
  width: 100%;
}

.ax-bento__media {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 100%;
  border-radius: var(--aurtmix-corners-media);
  background: var(--background-button);
  overflow: hidden;
}

.ax-bento--tall .ax-bento__media { height: 446px; }
.ax-bento--compact .ax-bento__media { height: 129px; }

/* FAQ item — Aurtmix/FAQ/Item */
.ax-faq {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  border-radius: var(--aurtmix-corners-faq);
  overflow: hidden;
}

/*
 * Expand/collapse: the panel animates grid rows 0fr → 1fr, so the real content
 * height is used in both directions without measuring. Height and fade share one
 * ease-in-out curve so the motion reads as a single gesture; the text itself is
 * never blurred or transformed (that forced a re-raster snap at the end).
 * Open height stays 125px (54 header + 54 answer + 17).
 */
.ax-faq {
  --ax-faq-ease: cubic-bezier(0.65, 0, 0.35, 1);
  --ax-faq-duration: 440ms;
  transition: filter var(--ax-dur-fast) var(--ax-ease-out);
}

.ax-faq:hover {
  filter: var(--ax-hover-08);
}

.ax-faq__header {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--aurtmix-spacing-16);
  width: 100%;
  min-height: 54px;
  padding: var(--aurtmix-spacing-15) var(--aurtmix-spacing-20);
  color: var(--text-main);
  text-align: left;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.ax-faq__question {
  flex: 1 1 0;
  min-width: 0;
}

.ax-faq__caret {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: var(--brand-gold);
  transition: transform var(--ax-faq-duration) var(--ax-faq-ease);
}

.ax-faq.is-open .ax-faq__caret {
  transform: rotate(-180deg);
}

.ax-faq__panel {
  display: grid;
  grid-template-rows: 0fr;
  width: 100%;
  transition: grid-template-rows var(--ax-faq-duration) var(--ax-faq-ease);
}

.ax-faq.is-open .ax-faq__panel {
  grid-template-rows: 1fr;
}

.ax-faq__panel-inner {
  min-height: 0;
  overflow: hidden;
}

.ax-faq__answer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--aurtmix-spacing-16);
  min-height: 54px;
  margin-bottom: 17px;
  padding: 0 20.5px;
  opacity: 0;
  /* Closing: fade out over the first half while the height eases shut. */
  transition: opacity calc(var(--ax-faq-duration) * 0.5) var(--ax-faq-ease);
}

.ax-faq.is-open .ax-faq__answer {
  opacity: 1;
  /* Opening: fade in alongside the growth, finishing with it. */
  transition: opacity calc(var(--ax-faq-duration) * 0.8) var(--ax-faq-ease) calc(var(--ax-faq-duration) * 0.2);
}

.ax-faq__answer p {
  flex: 1 1 0;
  min-width: 0;
  color: var(--text-muted);
}

@media (prefers-reduced-motion: reduce) {
  .ax-faq__panel,
  .ax-faq__caret,
  .ax-faq__answer,
  .ax-faq.is-open .ax-faq__answer {
    transition: none !important;
  }
}

/* Community card — Aurtmix/Cards/Community (288 × 68) */
.ax-community-card {
  display: flex;
  align-items: center;
  gap: var(--aurtmix-spacing-12);
  flex-shrink: 0;
  width: 288px;
  height: 68px;
  padding: var(--aurtmix-spacing-12);
  border-radius: var(--aurtmix-corners-media);
}

.ax-community-card__avatar {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: var(--aurtmix-corners-icon);
  background: var(--ax-gradient-button);
  overflow: hidden;
}

.ax-community-card__avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* A server without an icon: its initials, as Discord shows them. */
.ax-community-card__initials {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--text-main);
  font: 600 14px/1 var(--ax-font);
}

/* Servers with an invite open it; the rest stay plain cards. */
a.ax-community-card {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

/* Inset: the strip's viewport clips anything drawn outside the card. */
.ax-community-card:focus-visible {
  outline: 2px solid var(--brand-light-gold);
  outline-offset: -2px;
}

.ax-community-card__text {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  height: 44px;
}

.ax-community-card__name-row {
  display: flex;
  align-items: center;
  gap: var(--aurtmix-spacing-4);
}

.ax-community-card__verified,
.ax-community-card__boost {
  flex-shrink: 0;
}

.ax-community-card__boost {
  display: flex;
  width: 16px;
  height: 16px;
}

.ax-community-card__boost img {
  width: 100%;
  height: 100%;
}

.ax-community-card__boost-light,
:root[data-ax-theme='light'] .ax-community-card__boost-dark:not(:only-child) {
  display: none;
}

:root[data-ax-theme='light'] .ax-community-card__boost-light {
  display: block;
}

.ax-community-card__name {
  min-width: 0;
  overflow: hidden;
  color: var(--text-main);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ax-community-card__meta {
  color: var(--text-muted);
  white-space: nowrap;
}

/* Community strip — Aurtmix/Sections/Community strip */
.ax-community-strip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--aurtmix-spacing-32);
}

.ax-community-strip__heading {
  max-width: 672px;
}

.ax-community-strip__viewport {
  position: relative;
  width: 100%;
  height: 68px;
  overflow: hidden;
}

/*
 * Infinite loop (driven by useMarquee): the track holds two identical rows and
 * wraps after one row. Each row carries a trailing 12px gap so the seam matches
 * the spacing. Kept LTR so the loop direction is the same in RTL languages.
 */
.ax-community-strip__viewport {
  direction: ltr;
}

/* Only the loop is LTR: each card still reads in the page's direction. */
[dir='rtl'] .ax-community-card {
  direction: rtl;
}

.ax-community-strip__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  height: 68px;
  will-change: transform;
}

.ax-community-strip__row {
  display: flex;
  flex-shrink: 0;
  align-items: flex-start;
  gap: var(--aurtmix-spacing-12);
  height: 68px;
  padding-right: var(--aurtmix-spacing-12);
}


.ax-community-strip__fade {
  position: absolute;
  top: 0;
  width: 32px;
  height: 68px;
  pointer-events: none;
}

.ax-community-strip__fade--right {
  right: 0;
  background: var(--ax-gradient-edge-fade);
}

.ax-community-strip__fade--left {
  left: 0;
  background: var(--ax-gradient-edge-fade);
  transform: scaleX(-1);
}

/* Add to Discord CTA — Aurtmix/Sections/Add to Discord */
.ax-cta {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(1166px, calc(100% - (var(--ax-page-gutter) * 2)));
  height: 279.53px;
  margin-inline: auto;
  padding: 47px 0;
  border-radius: var(--aurtmix-corners-card);
  background: var(--ax-gradient-hero);
  overflow: hidden;
}

/* Border (Background/Card) + inner highlight, both above the decoration. */
.ax-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px var(--background-card), var(--ax-effect-highlight) !important;
  pointer-events: none;
}

.ax-cta__arc {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.ax-cta__arc--1 { left: 574.5px; top: -110.43px; width: 1177.273px; height: 1385.226px; }
.ax-cta__arc--2 { left: -672px; top: -131px; width: 1177.273px; height: 1385.226px; }
.ax-cta__arc--3 { left: 431px; top: -245px; width: 1194.941px; height: 1398.806px; }
.ax-cta__arc--4 { left: -546px; top: -265px; width: 1194.941px; height: 1398.806px; }

.ax-cta__arc--1 .ax-cta__arc-turn { transform: rotate(-6.56deg); }
.ax-cta__arc--2 .ax-cta__arc-turn { transform: rotate(-173.44deg) scaleY(-1); }
.ax-cta__arc--3 .ax-cta__arc-turn { transform: rotate(7.44deg); }
.ax-cta__arc--4 .ax-cta__arc-turn { transform: rotate(172.56deg) scaleY(-1); }

.ax-cta__arc-turn {
  flex: none;
}

.ax-cta__arc-box {
  position: relative;
  width: 1038.5px;
  height: 1275px;
}

.ax-cta__arc-box img {
  position: absolute;
  /* inset 5.9% 2.39% -0.24% 5.86% → 952.833 × 1202.9, the asset's own size */
  top: 5.9%;
  left: 5.86%;
  width: 91.75%;
  height: 94.34%;
}

.ax-cta__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--aurtmix-spacing-24);
  padding: 0 var(--aurtmix-spacing-32);
}

.ax-cta__logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10.271px;
  width: 100%;
  height: 54.53px;
  overflow: hidden;
}

.ax-cta__logo-tile {
  position: relative;
  flex-shrink: 0;
  width: 55px;
  height: 55px;
  border-radius: 18px;
  background: var(--ax-gradient-hero);
  overflow: hidden;
}

.ax-cta__logo-tile img {
  position: absolute;
  left: calc(50% + 0.25px);
  top: calc(50% - 3.27px);
  width: 41px;
  height: 38px;
  transform: translate(-50%, -50%);
}

/*
 * Connection animation: the bright dot from the artwork (0.75 vs 0.32) steps
 * left to right, like a quiet "connecting" indicator. Opacity only.
 */
.ax-cta__dots {
  display: flex;
  flex-shrink: 0;
  gap: 4px;
  width: 19.685px;
  height: 3.895px;
}

/* Same geometry as the Dots artwork: 3.895px dots, 4px apart. */
.ax-cta__dot {
  flex-shrink: 0;
  width: 3.895px;
  height: 3.895px;
  border-radius: 50%;
  background: var(--text-main);
  opacity: 0.32;
  animation: ax-cta-dot 1.8s ease-in-out infinite;
}

.ax-cta__dot--1 { animation-delay: -0.6s; }
.ax-cta__dot--2 { animation-delay: 0s; }
.ax-cta__dot--3 { animation-delay: 0.6s; background: linear-gradient(180deg, #ffffff 0%, #999999 100%); }

@keyframes ax-cta-dot {
  0%, 66%, 100% { opacity: 0.32; }
  33% { opacity: 0.75; }
}

.ax-cta__discord {
  flex-shrink: 0;
  width: 55px;
  height: 55px;
}

@media (prefers-reduced-motion: reduce) {
  .ax-cta__dot {
    animation: none !important;
  }

  .ax-cta__dot--2 {
    opacity: 0.75;
  }
}

.ax-cta__heading {
  max-width: 672px;
  color: var(--text-main);
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .ax-cta {
    height: auto;
  }

  .ax-cta__heading {
    white-space: normal;
  }

  .ax-section-heading.ax-type-section {
    font-size: 28px;
    line-height: 32px;
  }
}

/*
 * Slim scrollbar for scroll areas inside cards, menus and dialogs. Chromium and
 * Safari use the ::-webkit-scrollbar rules; setting scrollbar-width or
 * scrollbar-color there would switch those off, so the standard properties are
 * only applied where ::-webkit-scrollbar is unsupported (Firefox).
 */
.ax-scroll::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.ax-scroll::-webkit-scrollbar-track,
.ax-scroll::-webkit-scrollbar-corner {
  background: transparent;
}

.ax-scroll::-webkit-scrollbar-thumb {
  border: 3px solid transparent;
  border-radius: 999px;
  background: var(--ax-scrollbar) padding-box;
}

.ax-scroll::-webkit-scrollbar-thumb:hover {
  background-color: var(--ax-scrollbar-hover);
}

@supports not selector(::-webkit-scrollbar) {
  .ax-scroll {
    scrollbar-width: thin;
    scrollbar-color: var(--ax-scrollbar-hover) transparent;
  }
}

/* Light theme: the CTA arcs are drawn in Background/Card (#1C1C1C); inverted they
   become the light card tone. The third dot keeps its fade, in ink instead of white. */
:root[data-ax-theme='light'] .ax-cta__arc-box img {
  filter: invert(1);
}

:root[data-ax-theme='light'] .ax-cta__dot--3 {
  background: linear-gradient(180deg, var(--text-main) 0%, #8a8780 100%);
}

/*!********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/shared/ui/aurtmix/AxDialog.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************/
/* AxDialog. Lives in <body>, outside .ax-root: own font, sizing and button reset. */

.ax-dialog-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--aurtmix-spacing-16);
  background: var(--ax-scrim);
  color: var(--text-main);
  font-family: var(--ax-font);
  -webkit-font-smoothing: antialiased;
  animation: ax-dialog-fade var(--ax-dur) var(--ax-ease-out);
}

.ax-dialog-overlay *,
.ax-dialog-overlay *::before,
.ax-dialog-overlay *::after {
  box-sizing: border-box;
}

:where(.ax-dialog-overlay) :where(button) {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
}

:where(.ax-dialog-overlay) :where(h2, h3, p) {
  margin: 0;
}

@keyframes ax-dialog-fade {
  from { opacity: 0; }
}

.ax-dialog {
  display: flex;
  flex-direction: column;
  width: min(560px, 100%);
  max-height: calc(100dvh - 32px);
  overflow: hidden;
  border-radius: var(--aurtmix-corners-card);
  outline: none;
  animation: ax-dialog-rise var(--ax-dur) var(--ax-ease-out);
}

.ax-dialog--lg {
  width: min(720px, 100%);
}

/* Editors with a live preview beside the form. */
.ax-dialog--xl {
  width: min(1080px, 100%);
}

@keyframes ax-dialog-rise {
  from { opacity: 0; transform: translateY(4px); }
}

.ax-dialog__head {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: var(--aurtmix-spacing-12);
  padding: var(--aurtmix-spacing-20) var(--aurtmix-spacing-24);
}

.ax-dialog__title {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  font-family: var(--ax-font-heading);
  font-size: 20px;
  font-weight: 700;
  line-height: 26px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ax-dialog__close {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--background-button) !important;
  color: var(--text-muted) !important;
  cursor: pointer;
  transition: color var(--ax-dur-fast) var(--ax-ease-out);
}

.ax-dialog__close:hover:not(:disabled) {
  color: var(--text-main) !important;
}

.ax-dialog__close:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

.ax-dialog__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--aurtmix-spacing-20);
  min-height: 0;
  padding: 0 var(--aurtmix-spacing-24) var(--aurtmix-spacing-24);
  overflow-y: auto;
}

.ax-dialog__footer {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  gap: var(--aurtmix-spacing-8);
  padding: var(--aurtmix-spacing-12) var(--aurtmix-spacing-24);
  border-top: 1px solid var(--border-soft);
}

.ax-dialog__close:focus-visible {
  outline: 2px solid var(--brand-light-gold);
  outline-offset: 2px;
}

@media (max-width: 480px) {
  .ax-dialog__head,
  .ax-dialog__footer {
    padding-inline: var(--aurtmix-spacing-16);
  }

  .ax-dialog__body {
    padding-inline: var(--aurtmix-spacing-16);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ax-dialog-overlay,
  .ax-dialog {
    animation: none;
  }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/shared/ui/aurtmix/AxMultiSelect.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************/
/* AxMultiSelect: chips in a field, a searchable checklist below. */

.ax-multi {
  position: relative;
  min-width: 0;
}

.ax-multi__field {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-height: 46px;
  padding: 6px;
  border: 1px solid transparent;
  border-radius: var(--aurtmix-corners-icon);
  background: var(--ax-field);
  transition: border-color var(--ax-dur-fast) var(--ax-ease-out);
}

.ax-multi__field:hover {
  border-color: var(--border-soft);
}

.ax-multi__field.is-open {
  border-color: var(--brand-light-gold);
}

.ax-multi__chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  height: 32px;
  padding: 0 4px 0 10px;
  border-radius: var(--aurtmix-corners-pill-and-hero);
  background: var(--background-button);
  color: var(--text-main);
  font: 600 13px/1 var(--ax-font);
}

.ax-multi__chip-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ax-multi__dot {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.ax-multi__icon {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--text-muted);
}

.ax-multi__remove {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  transition: color var(--ax-dur-fast) var(--ax-ease-out), background-color var(--ax-dur-fast) var(--ax-ease-out);
}

.ax-multi__remove:hover {
  background: var(--ax-wash-06);
  color: var(--text-main);
}

/* The opener: a full-width placeholder when empty, a round + after chips. */
.ax-multi__open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  transition: color var(--ax-dur-fast) var(--ax-ease-out), background-color var(--ax-dur-fast) var(--ax-ease-out);
}

.ax-multi__open:hover {
  background: var(--ax-wash-06);
  color: var(--text-main);
}

.ax-multi__open.is-empty {
  flex: 1 1 auto;
  justify-content: space-between;
  width: auto;
  height: 32px;
  padding: 0 6px 0 8px;
  border-radius: 8px;
  text-align: start;
}

.ax-multi__open.is-empty:hover {
  background: transparent;
}

.ax-multi__placeholder {
  color: var(--ax-placeholder);
  font: 500 15px/1 var(--ax-font);
}

.ax-multi__chevron {
  flex-shrink: 0;
}

/* Menu: portalled into <body> and placed by the component (fixed, beside the field). */
.ax-multi__menu {
  position: fixed;
  z-index: 2147483200;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 6px;
  border-radius: var(--aurtmix-corners-media);
  background: var(--ax-gradient-card);
  box-shadow: var(--ax-effect-highlight), var(--ax-shadow-pop) !important;
  animation: ax-multi-in var(--ax-dur) var(--ax-ease-out);
}

@keyframes ax-multi-in {
  from { opacity: 0; transform: translateY(-4px); }
}

.ax-multi__menu,
.ax-multi__menu * {
  box-sizing: border-box;
}

.ax-multi__menu {
  color: var(--text-main);
  font-family: var(--ax-font);
  -webkit-font-smoothing: antialiased;
}

.ax-multi__search {
  display: flex;
  align-items: center;
  gap: var(--aurtmix-spacing-8);
  height: 40px;
  padding: 0 var(--aurtmix-spacing-12);
  border-radius: 10px;
  background: var(--ax-field);
  color: var(--text-muted);
}

.ax-multi__search input {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  outline: 0;
  background: none;
  color: var(--text-main);
  font: 500 14px/1 var(--ax-font);
}

.ax-multi__search input::-moz-placeholder {
  color: var(--ax-placeholder);
}

.ax-multi__search input::placeholder {
  color: var(--ax-placeholder);
}

.ax-multi__list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 260px;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  list-style: none;
}

.ax-multi__option {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: var(--aurtmix-spacing-10);
  min-height: 38px;
  padding: 0 var(--aurtmix-spacing-12);
  border-radius: 10px;
  color: var(--text-muted);
  font: 500 14px/1.2 var(--ax-font);
  cursor: pointer;
  transition: background-color var(--ax-dur-fast) var(--ax-ease-out), color var(--ax-dur-fast) var(--ax-ease-out);
}

.ax-multi__option-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ax-multi__option.is-active {
  background: var(--background-button);
  color: var(--text-main);
}

.ax-multi__option.is-selected {
  color: var(--text-main);
}

.ax-multi__check {
  flex-shrink: 0;
  color: var(--brand-gold);
}

.ax-multi__empty {
  margin: 0;
  padding: var(--aurtmix-spacing-12);
  color: var(--text-muted);
  font-size: 13px;
  text-align: center;
}

.ax-multi__remove:focus-visible,
.ax-multi__open:focus-visible {
  outline: 2px solid var(--brand-light-gold);
  outline-offset: 1px;
}

@media (prefers-reduced-motion: reduce) {
  .ax-multi__menu {
    animation: none;
  }
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/shared/ui/aurtmix/AxSettings.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Server settings kit (Aurtmix Essentials): page frame, setting cards, inputs,
 * switch and segmented control. Same frame as the user dashboard pages.
 */

.ax-settings {
  display: flex;
  flex-direction: column;
  gap: var(--aurtmix-spacing-16);
  width: min(1680px, 100%);
  margin: 0 auto;
  padding: var(--aurtmix-spacing-32) var(--aurtmix-spacing-32) 120px;
  color: var(--text-main);
  font-family: var(--ax-font);
}

.ax-settings :where(h2, h3, p, dl, dd, figure, ul) {
  margin: 0;
}

.ax-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--aurtmix-spacing-16);
}

/* Cards keep their own heights (when they differ a lot, stretching leaves a hole). */
.ax-settings-grid--top {
  align-items: start;
}

/* Setting card ---------------------------------------------------------------- */

.ax-setting-card {
  display: flex;
  flex-direction: column;
  gap: var(--aurtmix-spacing-16);
  min-width: 0;
  padding: var(--aurtmix-spacing-24);
  border-radius: var(--aurtmix-corners-card);
}

.ax-setting-card__head {
  display: flex;
  align-items: flex-start;
  gap: var(--aurtmix-spacing-14);
}

/* A title with no description sits level with the middle of its icon. */
.ax-setting-card__head.is-single {
  align-items: center;
}

.ax-setting-card__text {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.ax-setting-card__title {
  color: var(--text-main);
  font-family: var(--ax-font-heading);
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
}

.ax-setting-card__body {
  color: var(--text-muted);
  font-size: 14px;
  line-height: 20px;
}

.ax-setting-card__action {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  min-height: 40px;
}

/* Fields ---------------------------------------------------------------------- */

.ax-field {
  display: flex;
  flex-direction: column;
  gap: var(--aurtmix-spacing-8);
  min-width: 0;
}

.ax-field__label {
  color: var(--text-main);
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
}

.ax-field-hint {
  color: var(--text-muted);
  font-size: 13px;
  line-height: 18px;
}

.ax-field-hint.is-warning {
  color: var(--ax-warning);
}

.ax-input {
  width: 100%;
  height: 46px;
  padding: 0 var(--aurtmix-spacing-14);
  border: 1px solid transparent;
  border-radius: var(--aurtmix-corners-icon);
  outline: 0;
  background: var(--ax-field);
  color: var(--text-main);
  font: 500 15px/1 var(--ax-font);
  transition: border-color var(--ax-dur-fast) var(--ax-ease-out);
}

.ax-input--mono {
  font: 600 15px/1 ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
}

.ax-input::-moz-placeholder {
  color: var(--ax-placeholder);
}

.ax-input::placeholder {
  color: var(--ax-placeholder);
}

.ax-input:hover {
  border-color: var(--border-soft);
}

.ax-input:focus-visible {
  border-color: var(--brand-light-gold);
}

.ax-settings code {
  padding: 2px 6px;
  border-radius: 6px;
  background: var(--background-button);
  color: var(--text-main);
  font: 600 12.5px/1.4 ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
}

/* An inline notice (a feature switched off, a caveat). */
.ax-note {
  display: flex;
  align-items: flex-start;
  gap: var(--aurtmix-spacing-10);
  padding: var(--aurtmix-spacing-12) var(--aurtmix-spacing-14);
  border-radius: var(--aurtmix-corners-icon);
  background: var(--ax-gold-wash-soft);
  color: var(--text-muted);
  font-size: 13px;
  line-height: 19px;
}

.ax-note svg {
  flex-shrink: 0;
  margin-top: 1px;
  color: var(--brand-gold);
}

/* Placeholder chips that insert a template variable at the caret. */
.ax-token-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--aurtmix-spacing-8);
}

.ax-token {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 var(--aurtmix-spacing-10);
  border: 0;
  border-radius: var(--aurtmix-corners-pill-and-hero);
  background: var(--background-button);
  color: var(--text-main);
  font: 600 12.5px/1 ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  cursor: pointer;
  transition: filter var(--ax-dur-fast) var(--ax-ease-out);
}

.ax-token:hover {
  filter: var(--ax-hover-20);
}

.ax-token svg {
  color: var(--brand-gold);
}

/* Switch ---------------------------------------------------------------------- */

.ax-switch {
  position: relative;
  flex-shrink: 0;
  width: 44px;
  height: 26px;
  padding: 0;
  border: 0;
  border-radius: var(--aurtmix-corners-pill-and-hero);
  background: var(--background-button);
  cursor: pointer;
  transition: background-color var(--ax-dur) var(--ax-ease-out);
}

.ax-switch.is-on {
  background: var(--ax-gradient-gold);
}

.ax-switch__knob {
  position: absolute;
  top: 3px;
  inset-inline-start: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--text-muted);
  transition: translate var(--ax-dur) var(--ax-ease-out), background-color var(--ax-dur) var(--ax-ease-out);
}

.ax-switch.is-on .ax-switch__knob {
  background: #15120a;
  translate: 18px 0;
}

[dir='rtl'] .ax-switch.is-on .ax-switch__knob {
  translate: -18px 0;
}

.ax-switch:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* Segmented control ----------------------------------------------------------- */

.ax-segmented {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border-radius: var(--aurtmix-corners-pill-and-hero);
  background: var(--ax-field);
}

.ax-segmented__option {
  height: 34px;
  padding: 0 var(--aurtmix-spacing-14);
  border: 0;
  border-radius: var(--aurtmix-corners-pill-and-hero);
  background: transparent;
  color: var(--text-muted);
  font: 600 13px/1 var(--ax-font);
  cursor: pointer;
  transition: background-color var(--ax-dur-fast) var(--ax-ease-out), color var(--ax-dur-fast) var(--ax-ease-out);
}

.ax-segmented__option:hover {
  color: var(--text-main);
}

.ax-segmented__option.is-selected {
  background: var(--background-button);
  color: var(--text-main);
}

/* Loading placeholders in the card frame (the pulse comes from .ax-dash-skeleton). */
.ax-skel-tile {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: var(--aurtmix-corners-icon);
}

.ax-skel-line {
  width: min(260px, 80%);
  height: 12px;
  margin-top: 6px;
  border-radius: 6px;
}

.ax-skel-line--title {
  width: min(140px, 50%);
  height: 16px;
  margin-top: 2px;
}

.ax-skel-field {
  height: 46px;
  border-radius: var(--aurtmix-corners-icon);
}

.ax-skel-block {
  height: 160px;
  border-radius: var(--aurtmix-corners-media);
}

/* Focus ----------------------------------------------------------------------- */

.ax-switch:focus-visible,
.ax-token:focus-visible,
.ax-segmented__option:focus-visible {
  outline: 2px solid var(--brand-light-gold);
  outline-offset: 2px;
}

/* Responsive ------------------------------------------------------------------ */

@media (max-width: 1024px) {
  .ax-settings {
    padding: var(--aurtmix-spacing-24) var(--aurtmix-spacing-16) 120px;
  }
}

@media (max-width: 760px) {
  .ax-settings-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ax-setting-card {
    padding: var(--aurtmix-spacing-20);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ax-switch,
  .ax-switch__knob {
    transition: none;
  }
}

/*!************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/shared/ui/CommandSettingsModal.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************/
/* Command settings dialog (CommandSettingsModal). Frame and footer come from AxDialog.css. */

.ax-cmdset__field {
  display: flex;
  flex-direction: column;
  gap: var(--aurtmix-spacing-8);
  min-width: 0;
}

.ax-cmdset__label {
  color: var(--text-main);
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
}

.ax-cmdset__hint {
  color: var(--text-muted);
  font-size: 12.5px;
  line-height: 17px;
}

/* Alias chips and the text box share one field, like AxMultiSelect. */
.ax-cmdset__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-height: 46px;
  padding: 6px;
  border: 1px solid transparent;
  border-radius: var(--aurtmix-corners-icon);
  background: var(--ax-field);
  cursor: text;
  transition: border-color var(--ax-dur-fast) var(--ax-ease-out);
}

.ax-cmdset__tags:hover {
  border-color: var(--border-soft);
}

.ax-cmdset__tags:focus-within {
  border-color: var(--brand-light-gold);
}

.ax-cmdset__tag-input {
  flex: 1 1 120px;
  min-width: 80px;
  height: 32px;
  padding: 0 8px;
  border: 0;
  outline: 0;
  background: none;
  color: var(--text-main);
  font: 500 15px/1 var(--ax-font);
}

.ax-cmdset__tag-input::-moz-placeholder {
  color: var(--ax-placeholder);
}

.ax-cmdset__tag-input::placeholder {
  color: var(--ax-placeholder);
}

.ax-cmdset__switches {
  display: flex;
  flex-direction: column;
  gap: var(--aurtmix-spacing-8);
}

.ax-cmdset__switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--aurtmix-spacing-16);
  min-height: 56px;
  padding: var(--aurtmix-spacing-10) var(--aurtmix-spacing-16);
  border-radius: var(--aurtmix-corners-icon);
  background: var(--ax-field-soft);
  color: var(--text-main);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.ax-cmdset__btn {
  gap: var(--aurtmix-spacing-8);
  height: 44px;
  padding: 0 var(--aurtmix-spacing-20);
  font-size: 15px;
}

.ax-cmdset__btn:disabled {
  cursor: not-allowed;
  filter: var(--ax-disabled-filter);
}

.ax-cmdset__btn[aria-busy='true']:disabled {
  cursor: wait;
  filter: none;
  opacity: 0.85;
}

.ax-cmdset__spin {
  animation: ax-cmdset-spin 900ms linear infinite;
}

@keyframes ax-cmdset-spin {
  to { rotate: 360deg; }
}

.ax-cmdset__btn:focus-visible {
  outline: 2px solid var(--brand-light-gold);
  outline-offset: 2px;
}

@media (max-width: 480px) {
  .ax-cmdset__btn {
    flex: 1 1 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ax-cmdset__spin {
    animation: none;
  }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/shared/ui/SaveBar.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************/
/* Unsaved-changes bar (Aurtmix Essentials). Lives in <body>, outside .ax-root. */

.ax-savebar {
  position: fixed;
  bottom: var(--aurtmix-spacing-24);
  left: 50%;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  gap: var(--aurtmix-spacing-12);
  width: min(620px, calc(100vw - 32px));
  padding-block: var(--aurtmix-spacing-8);
  padding-inline: var(--aurtmix-spacing-24) var(--aurtmix-spacing-8);
  border-radius: var(--aurtmix-corners-pill-and-hero);
  color: var(--text-main);
  font-family: var(--ax-font);
  -webkit-font-smoothing: antialiased;
  box-shadow: var(--ax-effect-highlight), var(--ax-shadow-pop-lg) !important;
  transform: translateX(-50%);
  animation: ax-savebar-in var(--ax-dur) var(--ax-ease-out);
}

.ax-savebar,
.ax-savebar *,
.ax-savebar *::before,
.ax-savebar *::after {
  box-sizing: border-box;
}

/* Zero specificity, so .ax-btn variants always win. */
:where(.ax-savebar) :where(button) {
  margin: 0;
  border: 0;
  font: inherit;
}

@keyframes ax-savebar-in {
  from {
    opacity: 0;
    transform: translate(-50%, 12px);
  }
}

/* In the dashboard shell, centre on the page panel rather than the window:
   half the sidebar's width away from the side the sidebar is on. */
@media (min-width: 1025px) {
  body:has(.ax-dash) .ax-savebar {
    left: calc(50% + 124px);
    width: min(620px, calc(100vw - 256px - 48px));
  }

  [dir='rtl'] body:has(.ax-dash) .ax-savebar {
    left: calc(50% - 124px);
  }
}

.ax-savebar__message {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--text-main);
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ax-savebar__actions {
  display: flex;
  flex-shrink: 0;
  gap: var(--aurtmix-spacing-8);
}

.ax-savebar__btn {
  gap: var(--aurtmix-spacing-8);
  height: 42px;
  padding: 0 var(--aurtmix-spacing-20);
  font-size: 15px;
}

.ax-savebar__btn:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.ax-savebar__save[aria-busy='true']:disabled {
  cursor: wait;
  opacity: 0.85;
}

.ax-savebar__save.is-warning {
  background: #f0954a; /* keep-color: a fill with dark text, the same in both themes */
  color: #1a0f05;
}

.ax-savebar__save.is-danger {
  background: #ef6b64; /* keep-color */
  color: #fff;
}

.ax-savebar__spin {
  animation: ax-savebar-spin 900ms linear infinite;
}

@keyframes ax-savebar-spin {
  to { rotate: 360deg; }
}

.ax-savebar__btn:focus-visible {
  outline: 2px solid var(--brand-light-gold);
  outline-offset: 2px;
}

@media (max-width: 560px) {
  .ax-savebar {
    flex-wrap: wrap;
    bottom: var(--aurtmix-spacing-16);
    padding: var(--aurtmix-spacing-14) var(--aurtmix-spacing-14) var(--aurtmix-spacing-12);
    border-radius: var(--aurtmix-corners-media);
  }

  .ax-savebar__message {
    flex-basis: 100%;
    white-space: normal;
  }

  .ax-savebar__actions {
    width: 100%;
  }

  .ax-savebar__btn {
    flex: 1 1 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ax-savebar,
  .ax-savebar__spin {
    animation: none;
  }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/layouts/site/site.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************/
/* Site chrome — navbar (Figma 2191:336) and footer (Figma 2191:252). */

/* Navbar: 1402 × 68 at 22px from the top, overlaid on the page's first section. */
.ax-site-nav {
  font-family: var(--ax-font-outfit);
  position: absolute;
  top: 22px;
  left: 50%;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1402px, calc(100% - (var(--ax-page-gutter) * 2)));
  height: 68px;
  transform: translateX(-50%);
}

/* Brand and actions share the free space so the links stay centered (199 / 199 in Figma). */
.ax-site-nav__brand {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  height: 56px;
  min-width: 0;
}

.ax-site-nav__brand .ax-wordmark {
  border-radius: 8px;
}

.ax-site-nav__brand .ax-wordmark__text {
  color: var(--ax-wordmark-text);
  font-family: 'Syne', var(--ax-font-outfit);
}

.ax-site-nav__links {
  display: flex;
  align-items: flex-start;
  gap: var(--aurtmix-spacing-32);
  height: 100%;
}

.ax-site-nav__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  min-height: 67px;
  padding: var(--aurtmix-spacing-24) 0;
}

.ax-site-nav__actions {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: flex-end;
  gap: var(--aurtmix-spacing-8);
}

.ax-site-nav__lang,
.ax-site-nav__menu {
  position: relative;
}

.ax-site-nav__popover {
  position: absolute;
  top: calc(100% + var(--aurtmix-spacing-8));
  inset-inline-end: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 208px;
  max-height: 320px;
  padding: var(--aurtmix-spacing-8);
  border-radius: var(--aurtmix-corners-media);
  overflow-y: auto;
}

/* Language menu. Pinned to the button's end side, so in RTL it opens toward the
   page instead of past the panel edge. */
.ax-lang-menu {
  position: absolute;
  top: calc(100% + 10px);
  inset-inline-end: 0;
  z-index: 30;
  display: flex;
  flex-direction: column;
  width: 288px;
  padding: 6px;
  border-radius: var(--aurtmix-corners-media);
  transform-origin: top right;
  animation: ax-lang-menu-in var(--ax-dur) var(--ax-ease-out);
}

[dir='rtl'] .ax-lang-menu {
  transform-origin: top left;
}

/* Exit: SiteNavbar keeps the menu mounted for this long before removing it. */
.ax-lang-menu.is-closing {
  animation: ax-lang-menu-out 150ms var(--ax-ease-out) forwards;
  pointer-events: none;
}

@keyframes ax-lang-menu-in {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: none; }
}

@keyframes ax-lang-menu-out {
  to { opacity: 0; transform: translateY(-4px); }
}

/* Scrolls inside; edges fade so it's clear there is more. */
/* The list holds keyboard focus; the highlighted row shows position, so no outline. */
.ax-lang-menu__list:focus {
  outline: none;
}

.ax-lang-menu__list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  /* 7.5 rows (46px each): the half row at the bottom shows there is more. */
  max-height: 347px;
  /* Chrome ignores ::-webkit-scrollbar styling when these are set, so reset them. */
  scrollbar-width: auto;
  scrollbar-color: auto;
  margin: 0;
  padding: 2px 0 10px;
  overflow-y: auto;
  overscroll-behavior: contain;
  list-style: none;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 8px, #000 calc(100% - 22px), transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 8px, #000 calc(100% - 22px), transparent 100%);
}

/*
 * Scrollbars are hidden site-wide (index.css); this list shows a minimal one:
 * a 3px rounded thumb, no track, no arrows, kept clear of the rounded corners.
 */
.ax-lang-menu__list::-webkit-scrollbar {
  display: block;
  width: 3px;
}

.ax-lang-menu__list::-webkit-scrollbar-track {
  margin: 10px 0;
  background: transparent;
}

.ax-lang-menu__list::-webkit-scrollbar-button {
  display: none;
}

.ax-lang-menu__list::-webkit-scrollbar-thumb {
  border-radius: 3px;
  background: var(--ax-scrollbar);
}

.ax-lang-menu__list:hover::-webkit-scrollbar-thumb {
  background: rgba(206, 178, 96, 0.7);
}

/* Firefox has no ::-webkit-scrollbar; use its thin native style instead. */
@supports not selector(::-webkit-scrollbar) {
  .ax-lang-menu__list {
    scrollbar-width: thin;
    scrollbar-color: var(--ax-scrollbar) transparent;
  }
}

.ax-lang-menu__option {
  display: flex;
  align-items: center;
  gap: var(--aurtmix-spacing-12);
  min-height: 44px;
  padding: 0 var(--aurtmix-spacing-12);
  border-radius: 10px;
  color: var(--text-main);
  cursor: pointer;
  transition: background-color var(--ax-dur-fast) var(--ax-ease-out);
}

.ax-lang-menu__native {
  transition: color var(--ax-dur-fast) var(--ax-ease-out);
}

.ax-lang-menu__option.is-active {
  background: var(--background-button);
}

.ax-lang-menu__flag {
  display: flex;
  flex-shrink: 0;
  width: 20px;
  justify-content: center;
}

/* Sized to its text so right-to-left names stay next to their flag. */
.ax-lang-menu__native {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ax-lang-menu__option.is-selected .ax-lang-menu__native {
  color: var(--brand-gold);
}

.ax-lang-menu__check {
  flex-shrink: 0;
  margin-inline-start: auto;
  color: var(--brand-gold);
}

@media (prefers-reduced-motion: reduce) {
  .ax-lang-menu,
  .ax-site-nav__menu-list {
    animation: none !important;
  }
}

@media (max-width: 440px) {
  .ax-lang-menu {
    position: fixed;
    top: 84px;
    right: var(--ax-page-gutter);
    left: var(--ax-page-gutter);
    width: auto;
  }
}

/* Theme toggle: moon and sun share one spot and cross-fade with a quarter turn. */
.ax-theme-icon {
  position: relative;
  display: block;
  width: 22px;
  height: 22px;
}

.ax-theme-icon svg {
  position: absolute;
  inset: 0;
  transition:
    opacity 320ms cubic-bezier(0.65, 0, 0.35, 1),
    transform 320ms cubic-bezier(0.65, 0, 0.35, 1);
}

.ax-theme-icon[data-theme='dark'] .ax-theme-icon__sun,
.ax-theme-icon[data-theme='light'] .ax-theme-icon__moon {
  opacity: 0;
}

.ax-theme-icon[data-theme='dark'] .ax-theme-icon__sun {
  transform: rotate(90deg) scale(0.6);
}

.ax-theme-icon[data-theme='light'] .ax-theme-icon__moon {
  transform: rotate(-90deg) scale(0.6);
}

@media (prefers-reduced-motion: reduce) {
  .ax-theme-icon svg {
    transition: none !important;
  }
}

.ax-site-nav__menu {
  display: none;
}

.ax-site-nav__actions .ax-icon-btn {
  color: var(--text-main);
}

.ax-site-nav__avatar-btn {
  padding: var(--aurtmix-spacing-4);
  overflow: hidden;
  text-decoration: none;
}

.ax-site-nav__avatar-img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.ax-site-nav__menu-list .ax-site-nav__item {
  height: auto;
  min-height: 0;
  padding: var(--aurtmix-spacing-12) var(--aurtmix-spacing-4);
}

@media (max-width: 960px) {
  .ax-site-nav__links {
    display: none;
  }

  .ax-site-nav__menu {
    display: block;
  }
}

@media (max-width: 440px) {
  .ax-site-nav .ax-wordmark__text {
    display: none;
  }

  .ax-site-nav .ax-wordmark {
    width: auto;
  }
}

/* Footer: 388px tall, Hero and footer surface, 1168px column. */
.ax-site-footer {
  width: 100%;
  min-height: 388px;
  padding-top: 51px;
}

.ax-site-footer__container {
  position: relative;
  left: -1px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 42px;
  min-height: 337px;
  padding: var(--aurtmix-spacing-30) 0;
}

.ax-site-footer__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--aurtmix-spacing-24);
  width: 343px;
  max-width: 100%;
}

.ax-site-footer__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--aurtmix-spacing-14);
  width: 100%;
}

.ax-site-footer__socials {
  display: flex;
  align-items: center;
  gap: var(--aurtmix-spacing-24);
  height: 18px;
}

/* Each icon is a mask of its Figma path, so it can take the hover color. */
.ax-site-footer__social {
  display: block;
  border-radius: 4px;
  color: var(--text-muted);
  transition: color 0.2s ease, transform 0.2s ease;
}

.ax-site-footer__social span {
  display: block;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  -webkit-mask: var(--ax-social-icon) center / contain no-repeat;
  mask: var(--ax-social-icon) center / contain no-repeat;
}

.ax-site-footer__social:hover {
  color: var(--brand-gold);
  transform: translateY(-1px);
}

.ax-site-footer__separator {
  width: 100%;
  height: 1px;
  background: var(--border-soft);
}

.ax-site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--aurtmix-spacing-16);
}

.ax-site-footer__legal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--aurtmix-spacing-14);
}

.ax-site-footer__legal-link {
  color: var(--text-muted);
  text-align: center;
  white-space: nowrap;
  transition: color 0.15s ease;
}

.ax-site-footer__legal-link:hover {
  color: var(--brand-gold);
}

.ax-site-footer__divider {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 0;
  height: 10px;
}

.ax-site-footer__divider img {
  flex: none;
  width: 10px;
  height: 1px;
  transform: rotate(90deg);
}

@media (max-width: 640px) {
  .ax-site-footer__container {
    left: 0;
  }

  .ax-site-footer__bottom {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
}

/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/views/public/HomePage.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Home Page — Figma node 2191:251 (1920 × 4512).
 * Vertical rhythm from the source: hero 1112 → 70 → community 180 → 160 → features 561
 * → 160 → more features 682 → 160 → FAQ 449 → 160 → CTA 279.53 → 150.47 → footer 388.
 */

.ax-home {
  /* Hero geometry; brand box height is 171/247 of the brand font size. */
  --ax-hero-brand-size: 247px;
  --ax-hero-brand-top: 287px;
  --ax-hero-stage-h: 572px;
  --ax-hero-brand-h: calc(var(--ax-hero-brand-size) * 0.69231);
  --ax-hero-stage-top: calc(var(--ax-hero-brand-top) + var(--ax-hero-brand-h));
}

/* Hero — Section - Hero */
/*
 * The hero is a 1920px artboard. Above 1920px wide it scales up with the window
 * (--ax-hero-scale, set by HomePage; no upper limit) so the composition — lines, card,
 * wordmark, glow — never shows its edges. At 1920px and below the scale is 1.
 */
.ax-home-hero {
  position: relative;
  height: calc(var(--ax-hero-stage-top) + var(--ax-hero-stage-h) + 82px);
  overflow: hidden;
  zoom: var(--ax-hero-scale, 1);
}

.ax-home-hero__shapes {
  position: absolute;
  top: 80.46px;
  left: calc(50% - 1396.55px);
  width: 2934.392px;
  height: 1607.619px;
  pointer-events: none;
}

/* Gold flow along the background lines (HeroLineFlow); same box as the shapes, under the card. */
.ax-home-hero__flow {
  position: absolute;
  top: 80.46px;
  left: calc(50% - 1396.55px);
  width: 2934.392px;
  height: 1607.619px;
  overflow: visible;
  pointer-events: none;
}

.ax-home-hero__brand {
  position: absolute;
  top: var(--ax-hero-brand-top);
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(946px, calc(100% - (var(--ax-page-gutter) * 2)));
  height: var(--ax-hero-brand-h);
  transform: translateX(-50%);
}

/*
 * 247px Medium, 63.6px leading, -2px tracking, in a 172px text box. The box is
 * padded so glyph overshoot stays inside the hover light's clip.
 */
.ax-home-hero__brand-text {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* Grows past the 946px box if needed so no glyph falls outside the clipped gradient. */
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
  height: calc(var(--ax-hero-brand-size) * 0.69636);
  margin: calc(var(--ax-hero-brand-size) * -0.16194) 0;
  padding: calc(var(--ax-hero-brand-size) * 0.16194) 0;
  box-sizing: content-box;
  /* Hero wordmark: Syne Bold (the navbar and footer logo text use Outfit). */
  font-family: 'Syne', var(--ax-font);
  font-size: var(--ax-hero-brand-size);
  font-weight: 700;
  line-height: 0;
  letter-spacing: calc(var(--ax-hero-brand-size) * -0.0081);
  text-align: center;
  white-space: nowrap;
  /*
   * Solid fill, between Background/Card and Background/Button. A gradient
   * clipped to transparent text rendered invisible in Chrome.
   */
  color: #212121;
}

/* The wordmark is decorative display type: not selectable. */
.ax-home-hero__brand {
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

/*
 * Hover: an identical copy of the word on top carries a soft neutral light at the
 * cursor (--mx/--my, set by useBrandHover; pure white, no gold), clipped to the letters, so the faces
 * brighten where the cursor is. The word itself does not move.
 */
.ax-home-hero__brand-light {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  background-image: radial-gradient(
    circle 300px at var(--mx, 50%) var(--my, 50%),
    var(--ax-wash-12) 0%,
    var(--ax-wash-05) 40%,
    rgba(255, 255, 255, 0) 75%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity 0.5s ease;
  pointer-events: none;
}

.ax-home-hero__brand-light.is-lit {
  opacity: 1;
}

@media (hover: none) {
  .ax-home-hero__brand-light {
    display: none;
  }
}

.ax-home-hero__brand-text span {
  /*
   * Syne's baseline left a 6px gap above the card; sit the letters on its edge.
   * The span is centered, so a 0.052em top margin moves it down 0.026em. Not
   * position:relative: Chrome leaves positioned text out of background-clip:text,
   * which made the hover light invisible.
   */
  margin-top: 0.052em;
  line-height: calc(var(--ax-hero-brand-size) * 0.25749);
}

/* Hero Content: 1342 × 572, 36px top corners, Background/Card under 20% black. */
.ax-home-hero__stage {
  position: absolute;
  top: var(--ax-hero-stage-top);
  left: 50%;
  width: min(1342px, calc(100% - (var(--ax-page-gutter) * 2)));
  height: var(--ax-hero-stage-h);
  border-radius: 36px 36px 0 0;
  background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), var(--background-card);
  transform: translateX(-50%);
}

/* Ellipse 286: 2092 × 483 at (-375, 425) in the 1342-wide stage. */
.ax-home-hero__glow {
  position: absolute;
  top: calc(var(--ax-hero-stage-h) - 147px);
  left: calc(50% - 1046px);
  width: 2092px;
  height: 483px;
  pointer-events: none;
}

.ax-home-hero__glow img {
  position: absolute;
  top: -45.3%;
  left: -10.46%;
  width: 120.92%;
  height: 190.6%;
}

.ax-home-hero__actions {
  position: absolute;
  /* 48px above the source position (411 → 363 in the 572px stage). */
  top: calc(var(--ax-hero-stage-h) - 209px);
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 314px;
  transform: translateX(-50%);
}

.ax-home-hero__buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--aurtmix-spacing-12);
  width: 314px;
}

.ax-home-hero__tagline {
  color: var(--text-main);
  text-align: center;
  white-space: nowrap;
}

/* Community strip — 70px under the hero. */
.ax-home-community {
  margin-top: 70px;
}

/* Features grid — Section - Features Grid (561px tall, content centered). */
.ax-home-features {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--aurtmix-spacing-32);
  min-height: 561px;
  margin-top: 160px;
}

.ax-home-features__heading {
  width: 672px;
  max-width: 100%;
}

.ax-home-features__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
}

/* More features — Section - More Features (539 | 24 | 605). */
.ax-home-more {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--aurtmix-spacing-32);
  margin-top: 160px;
}

.ax-home-more__grid {
  display: grid;
  grid-template-columns: minmax(0, 539fr) minmax(0, 605fr);
  gap: 24px;
  width: 100%;
}

.ax-home-more__stack {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* FAQ — Section - Faq (672px column, 9px between items). */
.ax-home-faq {
  display: flex;
  flex-direction: column;
  gap: var(--aurtmix-spacing-32);
  width: min(672px, calc(100% - (var(--ax-page-gutter) * 2)));
  margin: 160px auto 0;
}

.ax-home-faq__list {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

/* CTA, then the footer 150.47px below it. */
.ax-home-cta {
  margin-top: 160px;
  margin-bottom: 150.47px;
}

/* Responsive — the source is desktop-only; these keep the same system below 1440px. */
@media (max-width: 1100px) {
  .ax-home {
    --ax-hero-brand-top: 220px;
  }

  .ax-home-features__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ax-home-more__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1000px) {
  .ax-home {
    /* Syne Bold "AurtMix" is ~4.34× its font size wide; fit it to the viewport. */
    --ax-hero-brand-size: calc((100vw - 32px) * 0.23);
  }
}

@media (max-width: 768px) {
  .ax-home {
    --ax-hero-brand-top: 150px;
    --ax-hero-stage-h: 420px;
  }

  .ax-home-community,
  .ax-home-features,
  .ax-home-more,
  .ax-home-faq,
  .ax-home-cta {
    margin-top: 96px;
  }

  .ax-home-cta {
    margin-bottom: 96px;
  }
}

@media (max-width: 700px) {
  .ax-home-features__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ax-home-features {
    min-height: 0;
  }

  /* Titles can wrap here, so cards size to content; media keeps a fixed height. */
  .ax-bento--tall,
  .ax-bento--compact {
    height: auto;
  }

  .ax-bento--tall .ax-bento__media {
    height: 316px;
  }
}

@media (max-width: 400px) {
  .ax-home-hero__buttons,
  .ax-home-hero__actions {
    width: calc(100vw - 32px);
  }

  .ax-home-hero__buttons {
    flex-wrap: wrap;
  }
}

/*
 * Landing: the wordmark and card rise 12px as the page fades in. Uses the
 * `translate` property so it composes with their centering transforms.
 */
.ax-home-hero__brand,
.ax-home-hero__stage {
  animation: ax-hero-land 800ms var(--ax-ease-out) both;
}

@keyframes ax-hero-land {
  from { opacity: 0; translate: 0 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .ax-home-hero__brand,
  .ax-home-hero__stage {
    animation: none;
  }
}

/*
 * Hero bottom edge: the hero gradient ends on #141414 and the page is #050505,
 * which left a visible cut line (and the background lines stopped sharply).
 * Fade the bottom 180px into the page color, above the lines, below the actions.
 */
.ax-home-hero::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 180px;
  background: linear-gradient(180deg, rgba(5, 5, 5, 0) 0%, var(--background-page) 100%);
  pointer-events: none;
}

/*
 * Light theme. The background lines and the stage glow are dark artwork
 * (#1C1C1C lines, a #050505 grain fade); inverted they turn into the light card
 * tone and a fade into the light page. The wordmark sits just darker than the
 * page, as it sits just lighter in dark, and the hover light darkens instead.
 */
:root[data-ax-theme='light'] .ax-home-hero__shapes,
:root[data-ax-theme='light'] .ax-home-hero__glow img {
  filter: invert(1);
}

:root[data-ax-theme='light'] .ax-home-hero__brand-text {
  color: #e9e7e0;
}

:root[data-ax-theme='light'] .ax-home-hero__brand-light {
  background-image: radial-gradient(
    circle 300px at var(--mx, 50%) var(--my, 50%),
    rgba(22, 21, 18, 0.09) 0%,
    rgba(22, 21, 18, 0.035) 40%,
    rgba(22, 21, 18, 0) 75%
  );
}

:root[data-ax-theme='light'] .ax-home-hero__stage {
  background: var(--background-card);
}

