/* Loading and Error Overlays */
.match-loading-overlay,
.match-error-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    backdrop-filter: blur(4px);
}

.match-loading-content,
.match-error-content {
    background: #ffffff;
    border-radius: 16px;
    padding: 40px 50px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    text-align: center;
    max-width: 400px;
    width: 90%;
}

.match-spinner {
    width: 50px;
    height: 50px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 20px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.match-loading-text {
    font-size: 18px;
    color: #333;
    margin: 0;
    font-weight: 500;
}

.match-error-content {
    padding: 40px 50px;
}

.match-error-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    animation: errorIconPulse 0.6s ease-out;
}

.match-error-icon svg {
    width: 64px;
    height: 64px;
}

@keyframes errorIconPulse {
    0% {
        transform: scale(0.8);
        opacity: 0;
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.match-error-text {
    font-size: 16px;
    color: #dc2626;
    margin: 0 0 25px 0;
    line-height: 1.6;
    font-weight: 500;
}

.match-error-close {
    background: #dc2626;
    color: #ffffff;
    border: none;
    padding: 12px 35px;
    border-radius: 10px;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3);
}

.match-error-close:hover {
    background: #b91c1c;
    box-shadow: 0 6px 16px rgba(220, 38, 38, 0.4);
    transform: translateY(-1px);
}

.match-error-close:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.3);
}

.match-error-close:active {
    transform: scale(0.98);
}

.btn.user-text-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
button,
hr,
input {
  overflow: visible;
}
progress,
sub,
sup {
  vertical-align: baseline;
}
[type="checkbox"],
[type="radio"],
legend {
  box-sizing: border-box;
  padding: 0;
}
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
  padding-bottom: 640px;
}
details,
main {
  display: block;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
hr {
  box-sizing: content-box;
  height: 0;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
a {
  background-color: transparent;
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}
b,
strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
img {
  border-style: none;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
button,
select {
  text-transform: none;
}
[type="button"],
[type="reset"],
[type="submit"],
button {
  -webkit-appearance: button;
}
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring,
button:-moz-focusring {
  outline: ButtonText dotted 1px;
}
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
legend {
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}
textarea {
  overflow: auto;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
summary {
  display: list-item;
}
[hidden],
template {
  display: none;
}

/* variables */
:root {
  /* typography */
  --fs-3xs: 0.625rem;
  --fs-2xs: 0.75rem;
  --fs-xs: 0.8437rem;
  --fs-sm: 0.9375rem;
  --fs: 1rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.5rem;
  --fs-2xl: 1.75rem;
  --fs-3xl: 2.125rem;
  --fs-4xl: 2.625rem;
  --fs-5xl: 3rem;

  /* colors */
  --c-alpha-100: hsl(240, 16%, 8%, 0.03);
  --c-alpha-200: hsl(240, 16%, 8%, 0.06);
  --c-alpha-300: hsl(240, 16%, 8%, 0.09);
  --c-alpha-400: hsl(240, 16%, 8%, 0.12);
  --c-alpha-500: hsl(240, 16%, 8%, 0.16);
  --c-alpha-600: hsl(240, 16%, 8%, 0.24);
  --c-alpha-700: hsl(240, 16%, 8%, 0.36);
  --c-alpha-800: hsl(240, 16%, 8%, 0.48);
  --c-alpha-900: hsl(240, 16%, 8%, 0.64);
  --c-alpha-1000: hsl(240, 16%, 8%, 0.75);
  --c-alpha-1100: hsl(240, 16%, 8%, 0.85);
  --c-alpha-1200: hsl(240, 16%, 8%, 0.95);

  --c-gray-25: hsl(240 24% 98%);
  --c-gray-50: hsl(240 24% 96%);
  --c-gray-100: hsl(240 14% 94%);
  --c-gray-150: hsl(240 10% 93%);
  --c-gray-175: hsl(240 8% 90%);
  --c-gray-185: hsl(240 8% 87%);
  --c-gray-195: hsl(240 8% 85%);
  --c-gray-200: hsl(240 6% 83%);
  --c-gray-300: hsl(240 5% 79%);
  --c-gray-400: hsl(240 3.5% 69%);
  --c-gray-500: hsl(240 3.5% 57%);
  --c-gray: hsl(240 3.5% 57%);
  --c-gray-600: hsl(240 4% 39%);
  --c-gray-650: hsl(240 4% 29%);
  --c-gray-700: hsl(240 3.5% 23%);
  --c-gray-800: hsl(240 3.5% 18%);
  --c-gray-850: hsl(240 4% 15%);
  --c-gray-900: hsl(240 3.5% 11%);

  --c-red-50: hsl(358, 100%, 95%);
  --c-red-100: hsl(358, 96%, 89%);
  --c-red-200: hsl(358, 96%, 74%);
  --c-red-300: hsl(358, 95%, 66%);
  --c-red-500: hsl(358, 95%, 62%);
  --c-red: hsl(358, 95%, 62%);
  --c-red-600: hsl(358, 94%, 57%);
  --c-red-700: hsl(358, 95%, 47%);

  --c-blue-50: hsl(210, 100%, 95%);
  --c-blue-100: hsl(210, 81%, 78%);
  --c-blue-200: hsl(210, 80%, 67%);
  --c-blue-300: hsl(210, 80%, 50%);
  --c-blue-500: hsl(210, 100%, 45%);
  --c-blue: hsl(210, 100%, 45%);
  --c-blue-600: hsl(210, 100%, 40%);
  --c-blue-700: hsl(210, 100%, 36%);

  --c-green-50: hsl(150, 52%, 96%);
  --c-green-100: hsl(149, 52%, 90%);
  --c-green-200: hsl(153, 48%, 80%);
  --c-green-300: hsl(156, 44%, 67%);
  --c-green-400: hsl(158, 40%, 50%);
  --c-green-500: hsl(160, 62%, 40%);
  --c-green-600: hsl(161, 81%, 31%);
  --c-green-700: hsl(163, 81%, 25%);
  --c-green-800: hsl(163, 76%, 21%);
  --c-green-900: hsl(165, 72%, 17%);
  --c-green-950: hsl(168, 76%, 10%);

  --c-olive-50: #f6f9ec;
  --c-olive-100: #eaf1d6;
  --c-olive-200: #d7e4b2;
  --c-olive-300: #bbd284;
  --c-olive-400: #a0be5d;
  --c-olive-500: #83a33f;
  --c-olive-600: #65812f;
  --c-olive-700: #4d6227;
  --c-olive-800: #405024;
  --c-olive-900: #384522;
  --c-olive-950: #1c250e;

  --c-gold-200: hsla(44, 69%, 86.1%, 1);
  --c-gold-250: hsla(43, 49.5%, 78.2%, 1);
  --c-gold-300: hsla(42, 38.7%, 70.6%, 1);
  --c-gold-400: hsla(40, 25.7%, 55.7%, 1);
  --c-gold-500: hsla(38, 24.9%, 41.8%, 1);

  --c-burgundy: hsl(357, 71%, 42%);
  --c-punch: hsl(348, 95%, 68%);
  --c-twitch: hsl(252, 100%, 62%);
  --c-cobalt: hsl(218, 54%, 34%);
  --c-azure: hsl(207, 90%, 54%);
  --c-teal: hsl(187, 100%, 42%);
  --c-mint: hsl(162, 74%, 46%);
  --c-spotify: hsl(158, 80%, 40%);
  --c-viper: hsl(137, 79%, 57%);
  --c-jade: hsl(149, 33%, 73%);
  --c-cyberpunk: hsl(66, 100%, 50%);
  --c-kevin: hsl(51, 100%, 50%);
  --c-mustard: hsl(46, 100%, 50%);
  --c-apricot: hsl(39, 90%, 53%);
  --c-scarlet: hsl(8, 100%, 60%);
  --c-rose: hsl(8, 88%, 94%);
  --c-align: hsl(50, 33%, 96%);
  --c-cube: hsl(43, 27%, 85%);
  --c-clay: hsl(30, 44%, 93%);
  --c-camp: hsl(0, 0%, 12%);
  --c-peacock: linear-gradient(
    45deg,
    hsl(240deg 69% 27%) 0%,
    hsl(287deg 83% 26%) 11%,
    hsl(312deg 100% 29%) 22%,
    hsl(328deg 81% 41%) 33%,
    hsl(344deg 70% 53%) 44%,
    hsl(2deg 86% 64%) 56%,
    hsl(17deg 100% 64%) 67%,
    hsl(31deg 100% 63%) 78%,
    hsl(43deg 100% 64%) 89%,
    hsl(55deg 96% 68%) 100%
  );

  --c-text: hsl(0, 0%, 6%);
  --c-text-secondary: hsl(0, 0%, 20%);
  --c-text-tertiary: hsl(0, 0%, 45%);
  --c-text-sub: hsl(220, 14%, 58%);
  --c-text-disable: hsla(0, 0%, 0%, 0.3);
  --ci-text: hsl(240, 0%, 95%);
  --ci-text-secondary: hsl(240, 3%, 80%);
  --ci-text-tertiary: hsl(240, 3%, 65%);
  --ci-text-sub: hsl(220, 14%, 60%);

  --c-bg: hsl(0, 0%, 96%);
  --c-bg: hsl(0, 0%, 100%);
  --ci-bg: hsl(240, 3%, 90%);
  --card-border: 1px solid hsl(0, 0%, 90%);
  --card-shadow: 0px 2px 6px -3px rgb(0 0 0 / 10%);

  /* timing */
  --t-150-out: 150ms cubic-bezier(0.25, 0.1, 0.25, 1);
  --t-250-out: 250ms cubic-bezier(0.25, 0.1, 0.25, 1);
  --t-350-out: 350ms cubic-bezier(0.25, 0.1, 0.25, 1);

  /*  */
  --gutter: 16px;
  --max-width: 1380px;
  --settings-h: 620px;
}
/* Animations */
@-webkit-keyframes shine {
  100% {
    left: 200%;
  }
}
@keyframes shine {
  100% {
    left: 200%;
  }
}
@-webkit-keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes shrinkWidth {
  from {
    width: 100%;
  }
  to {
    width: 0%;
  }
}
@keyframes shrinkWidth {
  from {
    width: 100%;
  }
  to {
    width: 0%;
  }
}
@keyframes blink {
  0% {
    opacity: 1;
  }
  20% {
    opacity: .2;
  }
  100% {
    opacity: 1;
  }
}

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

/* TomSelect Custom Styles */
.ts-wrapper {
  position: relative;
  z-index: 10;
}

.ts-dropdown {
  z-index: 100;
  position: absolute;
  background-color: white;
  border: 1px solid var(--c-gray-100);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  margin-top: 4px;
  width: 100%;
  max-height: 300px;
  overflow-y: auto;
}

.ts-dropdown .item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
}

.ts-dropdown .item .icon {
  margin-right: 10px;
}

.ts-dropdown .item .icon .inner {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ts-dropdown .item .icon img {
  width: 20px;
  height: 20px;
}

.ts-dropdown .item .info {
  display: flex;
  flex-direction: column;
}

.ts-dropdown .item .info .name {
  font-weight: 500;
  text-decoration: none;
  color: var(--c-text);
}

.ts-dropdown .item .info .sub {
  font-size: 12px;
  color: var(--c-text-tertiary);
}

img,
svg {
  max-width: 100%;
  height: auto;
}
html {
  font-family:
    dana,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
  font-size: 16px;
  line-height: 1.5;
  scroll-behavior: smooth;
}
body {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  background-color: var(--c-bg);
  /* --dot-bg: hsl(0, 0%, 96%);
    --dot-color: hsl(0, 0%, 88%);
    --dot-size: 2px;
    --dot-space: 22px;
	background:
		linear-gradient(90deg, var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space),
		linear-gradient(var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space),
		var(--dot-color); */
}

body.loading {
  overflow: hidden;
}

body.loading::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.7);
  z-index: 9998;
  backdrop-filter: blur(3px);
}

body.loading::after {
  content: "";
  position: fixed;
  top: 50%;
  left: 50%;
  width: 48px;
  height: 48px;
  background-image: url(../assets/icons/spinner-black.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 9999;
}

.page-width {
  margin: 0 auto;
  padding: 0 var(--gutter);
  max-width: var(--max-width);
}
.input-wrapper input[type="text"],
.input-wrapper input[type="email"] {
  width: 100%;
  border: none;
  outline: none;
  font-size: 1rem;
  padding: 12px 16px;
  border-radius: 8px;
  background-color: #fff;
  color: var(--c-text);
  box-shadow: inset hsla(250, 3%, 0%, 0.11) 0 0 0 1px;
}
.btn {
}
.btn .icon {
  max-width: 100%;
  max-height: 100%;
}
.page-header-wrapper {
  /* background: linear-gradient(to bottom, var(--c-gray-25), transparent); */
}
.page-header .main-header {
  box-shadow: hsla(250, 3%, 0%, 0.075) 0 1px;
}
.page-header .main-header > .page-width {
  /* max-width: 100%; */
}
.page-header .header-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  height: 78px;
  /* padding: 0 24px; */
}
.page-header .lead {
}
.page-header .logo {
  width: 98px;
  display: flex;
}
.page-header .logo img {
}
.page-header .trial {
}
.page-header .header-nav {
  display: flex;
  flex-direction: row-reverse;
  gap: 12px;
  /* gap: 16px; */
}
.page-header .nav-item {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--c-text-secondary);
  padding: 8px 24px;
  border: 1px solid hsla(250, 3%, 0%, 0.11);
  border-radius: 999px;
  transition: all 250ms ease-in-out;
  position: relative;
  overflow: hidden;
}
.page-header .nav-item:hover {
  background-color: var(--c-gray-25);
  color: var(--c-text);
  padding: 8px 56px 8px 20px;
  transition: all 250ms ease-in-out;
}
.page-header .nav-item.not-hover {
  padding: 8px 10px;
}
.page-header .nav-item .icon {
  width: 24px;
  height: 24px;
  padding: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  position: absolute;
  right: -24px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: all 300ms ease-in-out;
}
.page-header .nav-item:hover .icon {
  right: 16px;
}
.page-header .nav-item .value {
}
.page-header .nav-item-small {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  width: 42px;
  border: 1px solid hsla(250, 3%, 0%, 0.11);
  background-color: #fff;
  border-radius: 999px;
  transition: all 250ms ease-in-out;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  outline: none;
}
.page-header .nav-item-small:hover {
  background-color: var(--c-gray-25);
}
.page-header .nav-item-small .icon {
  stroke: var(--c-gray-600);
  transition: all 250ms ease-in-out;
}
.page-header .nav-item-small .icon svg {
  transition: all 250ms ease-in-out;
}
.page-header .nav-item-small .value {
  display: none;
}
/* switch moon and sun icons */
.light-mode .page-header .nav-item-small.theme-switch .icon-sun {
  display: none;
}
.light-mode .page-header .nav-item-small.theme-switch .icon-moon {
  display: block;
}
.dark-mode .page-header .nav-item-small.theme-switch .icon-sun {
  display: block;
}
.dark-mode .page-header .nav-item-small.theme-switch .icon-moon {
  display: none;
}

/* Mobile header nav */
.page-header .trail {
  position: relative;
}
.page-header .mobile-nav-trigger {
  display: none;
}
.page-header .mobile-nav-backdrop {
  display: none;
}
.page-header .mobile-nav-close {
  display: none;
}
body.mobile-nav-open {
  overflow: hidden;
}

@media (max-width: 960px) {
  .page-header .mobile-nav-trigger {
    display: flex;
  }
  .page-header .mobile-nav-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1100;
    margin: 0;
    padding: 0;
    border: none;
    background: hsla(0, 0%, 0%, 0.45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 280ms ease, visibility 280ms ease;
    cursor: pointer;
  }
  .page-header.is-mobile-nav-open .mobile-nav-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .page-header .header-nav.mobile-nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1101;
    width: min(280px, 80vw);
    margin: 0;
    padding: 20px 16px 28px;
    flex-direction: column;
    gap: 12px;
    background-color: #fff;
    box-shadow: -8px 0 32px hsla(0, 0%, 0%, 0.14);
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1),
      visibility 300ms cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .page-header.is-mobile-nav-open .header-nav.mobile-nav {
    transform: translateX(0);
    visibility: visible;
  }
  .page-header .mobile-nav .nav-item-small.mobile-nav-close {
    display: flex;
    align-self: flex-start;
    height: 46px;
    width: 46px;
    border-radius: 12px;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin-bottom: 8px;
  }
  .page-header .mobile-nav .nav-item-small,
  .page-header .mobile-nav .nav-item {
    border-radius: 12px;
    height: 46px;
    width: 100%;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0px 12px;
  }
  .page-header .mobile-nav .nav-item-small .icon,
  .page-header .mobile-nav .nav-item  .icon {
    position: relative;
    display: block;
    width: 24px;
    height: 24px;
    margin: initial;
    right: initial;
  }
  .page-header .mobile-nav .nav-item-small .value,
  .page-header .mobile-nav .nav-item  .value {
    display: block;
    font-size: 16px;
  }
  .page-header .header-nav > *:nth-child(2) {
    order: 4;
  }
  .page-header .header-nav > *:nth-child(3) {
    order: 3;
  }
  .page-header .header-nav > *:nth-child(4) {
    order: 2;
  }
  .page-header .header-nav > *:nth-child(5) {
    order: 1;
  }
}

@media (min-width: 961px) {
  .page-header .mobile-nav-backdrop,
  .page-header .mobile-nav-close {
    display: none !important;
  }
}

.settings {
  height: var(--settings-h);
  /* background-color: hsl(250, 3%, 95%); */
}
.settings-wrapper {
  position: relative;
  z-index: 120;
  max-width: 800px;
  height: var(--settings-h);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  transition: height 300ms cubic-bezier(0.4, 0, 0.2, 1);
}
.settings-inner {
  width: 100%;
  display: flex;
  flex-direction: column-reverse;
  transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform, opacity;
}

.settings-inner.loading {
  position: relative;
  pointer-events: none;
  cursor: wait;
}
.settings-inner.loading::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: hsl(0deg 0% 0% / 10%);
  border-radius: 24px;
  backdrop-filter: blur(4px);
  pointer-events: none;
  cursor: wait;
  border: 1px solid #c3c3c3;
}
.settings-inner.loading::before {
  content: "";
  position: absolute;
  background-image: url(../assets/icons/spinner-white.svg);
  background-position: center;
  background-repeat: no-repeat;
  width: 42px;
  height: 42px;
  margin: auto;
  inset: 0;
  z-index: 1;
}
.main-input {
  position: relative;
}
.controls {
  box-shadow: inset #dcdcdd 0 0 0 1px;
  border-radius: 0 0 24px 24px;
  position: relative;
  margin-top: -1px;
  background-color: #fff;
}
.main-input .input-wrapper {
  position: relative;
  direction: rtl;
}
.main-input .input-wrapper .user-text {
  height: 110px;
  direction: rtl;
  font-size: 28px;
  font-weight: 500;
  background-color: hsl(250, 3%, 97%);
  border-radius: 28px 28px 0 0;
  padding: 32px 32px 32px 188px;
  box-shadow: inset hsl(240, 1%, 86%) 0 0 0 1px;
  transition: var(--t-250-out);
}
.main-input .input-wrapper .user-text:hover {
  box-shadow: inset hsl(240, 2%, 75%) 0 0 0 1px;
  background-color: hsl(250, 3%, 98%);
}
.main-input .input-wrapper .user-text:focus {
  box-shadow: inset hsl(0deg 0% 0% / 80%) 0 0 0 1px,
   inset hsl(0deg 0% 0% / 0%) 0px 0px 16px -8px,
    hsl(0deg 0% 0% / 16%) 0px 6px 16px 2px;
  background-color: hsl(250, 3%, 98%);
}
.settings-inner.loading .main-input .input-wrapper .user-text:focus {
  box-shadow: inset hsl(240, 1%, 86%) 0 0 0 1px;
  background-color: hsl(250, 3%, 97%);
}

#customCaret {
  caret-color: auto;
}

.main-input .input-wrapper .user-text::selection {
  color: #fff;
  background: #000;
}
.custom-caret {
  position: absolute;
  background-color: hsl(240, 2%, 10%);
  border-radius: 999px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: all 60ms linear;
  pointer-events: none;
  height: 34px;
  width: 5px;
  box-shadow:
    0px 0px 8px 0px rgb(0 0 0 / 12%),
    0px 0px 3px -1px rgb(0 0 0 / 40%);
  /* overflow: hidden; */
}
.custom-caret .inner {
  display: flex;
  width: 100%;
  height: 100%;
  position: relative;
}
.custom-caret .inner::before {
}
.custom-caret .inner::after {
}
.custom-caret .counter-height {
  /* display: none; */
  position: absolute;
  margin: auto;
  bottom: 1px;
  right: 0;
  left: 0;
  width: 3px;
  background-color: var(--c-gray-500);
  border-radius: 999px;
  max-height: 32px;
}
.main-input .user-text-submit {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  width: 120px;
  height: 50px;
  top: 0;
  bottom: 0;
  left: 28px;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  background-color: hsl(240, 2%, 10%);
  color: hsl(0, 0%, 98%);
  box-shadow:
    hsl(240deg 2% 10% / 25%) 0px 3px 8px -4px,
    inset hsl(0, 0%, 0%) 0 -2px 0 0;
  transition: all 250ms ease;
  overflow: hidden;
  text-align: center center;
  transform-origin: center;
}
.main-input .user-text-submit .mobile-icon {
  display: none;
}
.main-input .user-text-submit:hover {
  box-shadow:
    hsl(240deg 2% 10% / 25%) 0px 0px 0px 0px,
    inset hsl(0, 0%, 0%) 0 2px 0 0;
}
.main-input .user-text-submit:hover::before {
  animation: shine 1250ms ease;
}
.main-input .user-text-submit::before {
  content: "";
  position: absolute;
  top: 0;
  left: -200%;
  width: 180%;
  height: 100%;
  transform: skewX(-20deg);
  background-image: linear-gradient(
    to right,
    transparent,
    rgba(255, 255, 255, 0.25),
    transparent
  );
}
.main-input .user-text-submit.loading {
  cursor: wait;
  pointer-events: none;
}
.main-input .user-text-submit .loading-icon {
  opacity: 0;
  display: none;
}
.main-input .user-text-submit.loading > span {
  opacity: 0;
  display: none;
}
.main-input .user-text-submit.loading .loading-icon {
  opacity: 1;
  display: block;
}
.main-input .clear-text-button {
  position: absolute;
  margin: auto;
  padding: 0;
  width: 24px;
  height: 24px;
  top: 0;
  bottom: 0;
  left: 158px;
  border: none;
  cursor: pointer;
  background-color: transparent;
  box-shadow: none;
  transition: all 250ms ease;
  overflow: hidden;
  text-align: center center;
  transform-origin: center;
  opacity: 0;
}
.main-input .clear-text-button.active {
  opacity: 0.6;
}
.settings-is-sticky .main-input .clear-text-button {
  left: 28px;
}
.main-input .chara-counter {
  position: absolute;
  display: flex;
  align-items: baseline;
  justify-content: right;
  gap: 1px;
  top: 12px;
  right: 32px;
  height: 20px;
  width: 42px;
  color: var(--c-gray-300);
  opacity: 0;
  transition: all 250ms ease;
  font-size: 14px;
}
.main-input.in-focus .chara-counter {
  opacity: 1;
}

/* clean */
.font-stream {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.font-stream:has(> *) {
  margin: 28px;
}
.font {
  --font-min-h: 100px;
  --info-w: 260px;
  --icon-w: 74px;
  --icon-h: 74px;
  --trail-w: 42px;
}

.font .wrapper {
  min-height: var(--font-min-h);
  position: relative;
  display: flex;
  justify-content: space-between;
  direction: rtl;
  overflow: hidden;
  border-radius: 12px;
  background-color: hsl(250, 2%, 97%);
  box-shadow: inset hsl(240, 1%, 88%) 0 0 0 1px;
}
.font .info {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  overflow: hidden;
  width: var(--info-w);
}
.font .icon {
  width: var(--icon-w);
  height: var(--icon-h);
  margin: 16px;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  background-color: #cacaca;
  text-decoration: none;
}
.font img {
  max-width: calc(var(--icon-w) / 1.5);
  max-height: calc(var(--icon-h) / 1.5);
  transition: all var(--t-250-out);
}
.font .text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: var(--icon-h);
  padding-top: 1px;
}
.font .name {
  display: block;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: calc(var(--info-w) - var(--icon-w) - 32px);
  color: var(--c-text);
  font-size: 18px;
  font-weight: 600;
}
.font .details {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: calc(var(--info-w) - var(--icon-w) - 32px);
  font-size: 12px;
  color: var(--c-text-tertiary);
  margin-top: -10px;
}
.font .stepper {
  display: flex;
  align-items: center;
  border-radius: 5px;
  overflow: hidden;
  width: fit-content;
  position: relative;
  background-color: var(--c-gray-175);
  box-shadow: inset hsla(240, 2%, 75%, 0) 0 0 0 1px;
  transition: all var(--t-250-out);
}
.render-size .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  padding: 5px;
  border: none;
  outline: none;
  color: var(--c-gray-700);
  background-color: transparent;
  transition: all var(--t-250-out);
  cursor: pointer;
  /*  */
  width: 1px;
  padding: 0;
  overflow: hidden;
}
.font:hover .render-size .btn {
  width: 24px;
  max-width: 24px;
  padding: 5px;
}
.font:hover .render-size .stepper {
  box-shadow: inset hsla(240, 2%, 75%, 1) 0 0 0 1px;
}
.render-size .btn:hover {
  background-color: var(--c-gray-200);
  color: var(--c-gray-900);
}
.font.generating .options {
  opacity: 0.7;
  filter: blur(1.5px);
  pointer-events: none;
}
.font.generating .icon {
  position: relative;
}
.font.generating .icon img {
  opacity: 0;
  position: relative;
}
.font.generating .icon::after {
  content: "";
  position: absolute;
  background-image: url(../assets/icons/3-dots-scale-white.svg);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  width: 36px;
  height: 36px;
  z-index: 1;
}
.font .render-size {
 transition: all var(--t-250-out);
}
.font.generating .render-size {
  opacity: 0.7;
  filter: blur(1.5px);
  pointer-events: none;
} 
.font.font.generating:hover .render-size .btn {
  width: 1px;
  max-width: initial;
  padding: initial;
}
.font.font.generating:hover .render-size .stepper {
  box-shadow: initial;
}
.render-size .number-display {
  overflow: hidden;
  position: relative;
  width: 42px;
  height: 24px;
  font-family: dana, sans-serif;
  color: var(--c-gray-600);
  font-weight: 500;
  font-size: 12px;
  line-height: 24px;
  text-align: center;
}
.render-size .number-text {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  transition:
    transform 0.3s ease,
    opacity 0.3s ease;
}
.render-size .slide-left-out {
  transform: translateX(-100%);
  opacity: 0;
}
.render-size .slide-right-out {
  transform: translateX(100%);
  opacity: 0;
}
.render-size .slide-left-in {
  transform: translateX(-100%);
  opacity: 0;
}
.render-size .slide-right-in {
  transform: translateX(100%);
  opacity: 0;
}
.render-size .slide-in-active {
  transform: translateX(0);
  opacity: 1;
}
.font .options {
  flex-grow: 1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  gap: 6px;
  padding: 16px;
  margin: auto;
  transition: all var(--t-250-out);
}
.font .options .option {
  position: relative;
}
.font .options .option input {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.font .options .option span {
  position: relative;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  direction: ltr;
  max-width: 124px;
  height: 26px;
  line-height: 28px;
  padding: 0 16px;
  font-size: 13px;
  border-radius: 999px;
  color: var(--c-gray-800);
  background-color: #ffffff;
  box-shadow:
    inset hsl(240, 1%, 86%) 0 0 0 1px,
    hsla(0, 0%, 0%, 0) 0 0 0 0;
  cursor: pointer;
  transition: all var(--t-250-out);
}
.font .options .option:hover span {
  background-color: #f2f2f2;
  box-shadow:
    inset hsl(240, 1%, 75%) 0 0 0 1px,
    hsla(0, 0%, 0%, 0) 0 0 0 0;
}
.font .options .option span::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background-image: url(../assets/images/check-green.svg);
  margin: auto;
  left: -20px;
  top: 0;
  bottom: 0;
  opacity: 0;
  transition: all var(--t-250-out);
}
.font .options .option input:checked + span {
  background-color: hsl(240, 2%, 10%);
  box-shadow:
    inset hsla(240, 1%, 86%, 0) 0 0 0 0,
    hsla(0, 0%, 0%, 0.2) 0 2px 2px -1px;
  color: hsl(0, 0%, 96%);
  padding: 0 10px 0 22px;
}
.font .options .option input:checked + span::after {
  opacity: 1;
  left: 7px;
}
.font .options-select {
  display: none;
}
.font .trail {
  flex-shrink: 0;
  width: var(--trail-w);
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.font .remove-font {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin: 0;
  height: 36px;
  width: 36px;
  border: none;
  background-color: transparent;
  outline: none;
  cursor: pointer;
  color: var(--c-gray-500);
}
.font .remove-font svg {
  transition: all var(--t-350-out);
}
.font .remove-font:hover {
  color: var(--c-gray-800);
}
.font.skeleton {
  animation: pulse 1.5s ease-in-out infinite;
}
.font.skeleton .text {
  padding: 0;
}
.font.skeleton .name {
  background-color: var(--c-gray-300);
  width: 140px;
  height: 18px;
  border-radius: 999px;
}
.font.skeleton .details {
  background-color: var(--c-gray-300);
  width: 100px;
  height: 14px;
  border-radius: 999px;
  margin-top: 0;
}
.font.skeleton .render-size {
  background-color: var(--c-gray-300);
  width: 42px;
  height: 22px;
  border-radius: 5px;
}
.font.skeleton .remove-font {
  pointer-events: none;
  cursor: default;
}
.font.loading {
}
.font.loading .text {
  padding: 0;
}
.font.loading .name {
  background-color: var(--c-gray-500);
  width: 140px;
  height: 16px;
  border-radius: 999px;
}
.font.loading .details {
  background-color: var(--c-gray-300);
  width: 100px;
  height: 14px;
  border-radius: 999px;
  margin-top: 0;
}
.font.loading .render-size {
  background-color: var(--c-gray-300);
  width: 42px;
  height: 22px;
  border-radius: 5px;
}
.font.loading .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  box-shadow: inset hsl(240, 1%, 88%) 0 0 0 1px;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
}
.font.loading .progress {
  position: absolute;
  width: var(--icon-w);
  height: var(--icon-h);
  margin: auto;
  right: 16px;
  top: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent !important;
}
.font.loading .progress-container {
  --progress-w: 56px;
  width: var(--progress-w);
  height: var(--progress-w);
  position: relative;
}
.font.loading .progress-circle {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: conic-gradient(hsl(240, 2%, 10%) var(--progress), #ffffff 0deg);
  display: flex;
  align-items: center;
  justify-content: center;
}
.font.loading .progress-text {
  width: calc(var(--progress-w) - 14px);
  height: calc(var(--progress-w) - 14px);
  border-radius: 50%;
  font-size: 13px;
  font-weight: 600;
  color: var(--c-text);
  background-color: #cdcdd1;
  text-align: center;
  line-height: calc(var(--progress-w) - 12px);
}
.font.loading .remove-font {
  z-index: 2;
}
.settings.sticky .font.loading .progress {
  right: 12px;
  top: 8px;
}
.settings.sticky .font.loading .progress-container {
  --progress-w: 36px;
}
.settings.sticky .font.loading .progress-text {
  font-size: 9px;
  font-weight: 400;
  width: calc(var(--progress-w) - 10px);
  height: calc(var(--progress-w) - 10px);
  line-height: calc(var(--progress-w) - 8px);
}
.font-select {
  height: auto;
  overflow: visible;
  opacity: 1;
  visibility: visible;
  margin: 28px;
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 0;
  transition: all 350ms ease;
  --divider-w: 32px;
  --upload-btn-w: 170px;
  --fs-h: 56px;
  --c-border: 1px solid hsla(240, 1%, 72%, 0.8);
  --c-border-hover: 1px solid hsla(240, 1%, 62%, 0.8);
}
.lab-page.two-font-selected .font-select {
  height: 0px;
  overflow: hidden;
  margin: 0;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}
.lab-page .controls .max-font-message {
  display: none;
}
.lab-page.two-font-selected .controls .max-font-message {
  display: block;
}
.settings-is-sticky .lab-page.two-font-selected .controls .max-font-message {
  display: none;
}
.max-font-message {
  text-align: center;
  direction: rtl;
  margin: -12px auto 18px auto;
  font-size: 14px;
  font-weight: 300;
  color: var(--c-text-tertiary);
}
.font-select .fs-main {
  width: calc(100% - var(--divider-w) - var(--upload-btn-w));
  min-height: var(--fs-h);
  position: relative;
}
.fs-main .fs-wrapper {
  position: absolute;
  margin: auto;
  top: 0;
  width: 100%;
  min-height: var(--fs-h);
  border-radius: 36px;
  border: var(--c-border);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
  transition: all var(--t-250-out);
}
.fs-main .fs-wrapper:hover {
  background-color: hsl(250, 2%, 97%);
  border: var(--c-border-hover);
  box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.05);
}
.fs-main .fs-inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.fs-main .fs-overlay {
  display: none;
}
.fs-main .fs-input-wrapper {
  width: 100%;
  padding: 2px;
  position: relative;
  height: var(--fs-h);
  border-bottom: 1px solid hsla(240, 1%, 72%, 0);
  border-radius: 36px 36px 0 0;
}
.fs-main .fs-input-wrapper .fs-search {
  outline: none;
  border: none;
  box-shadow: none;
  height: 100%;
  padding: 8px 24px 8px 48px;
  border-radius: 999px;
  background-color: transparent;
  font-size: 18px;
  cursor: pointer;
  direction: rtl;
  transition: all var(--t-250-out);
}
.fs-main .fs-input-wrapper .fs-search:hover {
}
.fs-main .fs-input-wrapper .fs-search:focus {
}
.fs-main .fs-input-wrapper .icon {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 16px;
  width: 24px;
  height: 24px;
}
.fs-main .fs-input-wrapper .icon-open {
  display: none;
}
.fs-main.active .fs-input-wrapper .icon-open {
  display: block;
}
.fs-main.active .fs-input-wrapper .icon-close {
  display: none;
}
.fs-main .fs-input-wrapper .icon svg {
  color: var(--c-gray-400);
  transition: all var(--t-350-out);
}
.fs-main .fs-input-wrapper .fs-search:hover + .icon svg {
  color: var(--c-gray-600);
}
.fs-main .fs-input-wrapper .fs-search:focus + .icon svg {
  color: var(--c-gray-600);
}
.fs-main.active .fs-overlay {
  /* display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 0;
    z-index: 15; */
}
.fs-main.active .fs-wrapper {
  border-radius: 28px;
  height: fit-content;
  background-color: hsl(250, 2%, 100%);
  border: var(--c-border);
  box-shadow: 0 16px 34px -6px rgba(0, 0, 0, 0.18);
  z-index: 20;
}
.fs-main.active .fs-input-wrapper {
  border-bottom: 1px solid hsla(240, 1%, 72%, 0.8);
}
.fs-main.active .fs-input-wrapper .fs-search {
}
.fs-main .fs-dropdown {
  --item-h: 64px;
  height: 0;
  display: none;
  opacity: 0;
  padding: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all var(--t-250-out);
  overflow-x: hidden;
}
.fs-main.active .fs-dropdown {
  display: block;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  height: fit-content;
  z-index: 20;
}
.fs-main .fs-dropdown-wrapper {
}
.fs-main .fs-dropdown-content {
}
.fs-main .fs-list {
  max-height: calc(var(--item-h) * 3.4);
  min-height: calc(var(--item-h) * 1);
  height: fit-content;
  overflow-y: auto;
  border-radius: 0 0 28px 28px;
}
.fs-main .fs-list::-webkit-scrollbar {
  display: none;
}
.fs-main .fs-list .item {
  height: var(--item-h);
  direction: rtl;
  display: flex;
  align-items: center;
  padding: 0 12px;
  gap: 8px;
  cursor: pointer;
  transition: all var(--t-250-out);
}
.fs-main .fs-list .item:hover {
  background-color: hsl(250, 2%, 95%);
  padding-right: 16px;
}

.fs-main .fs-list .item .icon {
}
.fs-main .fs-list .item .icon .inner {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}
.fs-main .fs-list .item .info {
}
.fs-main .fs-list .item .name {
  display: block;
  font-weight: 600;
  font-size: 15px;
}
.fs-main .fs-list .item .sub {
  display: block;
  font-weight: 300;
  font-size: 12px;
  margin-top: -2px;
}
.fs-main .fs-list .empty-state {
  text-align: center;
  padding-top: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.fs-main .fs-list .empty-state .loading-icon {
  width: 32px;
  height: 32px;
}
.settings-is-sticky .fs-main .fs-list .empty-state {
  padding-top: 12px;
}

/* sticky */
.settings.sticky .settings-wrapper {
  position: fixed;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  height: fit-content;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 100;
  background-color: #fff;
  box-shadow:
    inset 0 1px 0 0 hsla(0, 0%, 0%, 0.2),
    0 -4px 12px -4px hsla(0, 0%, 0%, 0.08);
  transform: translateZ(0); /* Force hardware acceleration */
  --sticky-gap: 16px;
  --sticky-item-h: 54px;
  --sticky-input-w: 340px;
  --sticky-font-w: 340px;
  --sticky-upload-w: 340px;
}
.settings.sticky .settings-inner {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  max-width: var(--max-width);
  margin: 0 auto;
}
.settings.sticky .settings-inner.loading {

}
.settings.sticky .settings-inner.loading::after {
  border-radius: 0;
  background-color: hsl(0deg 0% 100% / 75%);
  backdrop-filter: blur(0px);
}
.settings.sticky .settings-inner.loading::before {
  background-image: url(../assets/icons/spinner-black.svg);
}
.settings.sticky .controls {
  margin-top: 0;
  box-shadow: none;
  padding: var(--sticky-gap);
  display: flex;
  flex-direction: row-reverse;
  gap: var(--sticky-gap);
  background-color: transparent;
}
.settings.sticky .font-stream {
  display: flex;
  margin: 0;
  flex-direction: row-reverse;
  gap: var(--sticky-gap);
}
.settings.sticky .font-stream .font {
  --info-w: 152px;
  --icon-w: calc(var(--sticky-item-h) - 18px);
  --icon-h: calc(var(--sticky-item-h) - 18px);
  --trail-w: 32px;
  --font-min-h: var(--sticky-item-h);
  width: var(--sticky-font-w);
}

.settings.sticky .font-stream .font .wrapper {
  height: var(--font-min-h);
  width: 100%;
  overflow: hidden;
  background-color: hsl(250, 2%, 95%);
  box-shadow: inset hsl(240, 1%, 82%) 0 0 0 1px;
  transition: all var(--t-250-out);
}
.settings.sticky .font-stream .font .wrapper:hover {
  background-color: hsl(250, 2%, 93%);
  box-shadow: inset hsl(240, 1%, 78%) 0 0 0 1px;
}
.settings.sticky .font .info {
  gap: 8px;
  /* padding: 8px; */
}
.settings.sticky .font .icon {
  margin: 0;
  width: var(--sticky-item-h);
  height: var(--sticky-item-h);
  border-radius: 0 12px 12px 0;
}
.settings.sticky .font .text {
  justify-content: center;
  gap: 3px;
  height: 100%;
  padding: 4px 0;
}
.settings.sticky .font .name {
  font-size: 13px;
  font-weight: 500;
}
.settings.sticky .font .details {
  display: none;
}
.settings.sticky .font .render-size .stepper {
  box-shadow: inset hsla(240, 2%, 75%, 1) 0 0 0 1px;
}
.settings.sticky .font.generating .render-size .stepper {
  box-shadow: inset hsla(240, 2%, 75%, 1) 0 0 0 1px;
}
.settings.sticky .font .render-size .btn {
  width: 20px;
  max-width: 20px;
  padding: 2px;
  height: 20px;
}
.settings.sticky .font.font.generating .render-size .btn {
  width: 20px;
  max-width: 20px;
  padding: 2px;
  height: 20px;
}
.settings.sticky .font .render-size .number-display {
  height: 20px;
  line-height: 20px;
}
.settings.sticky .font.font.generating .render-size .number-display {
  height: 20px;
  line-height: 20px;
}
.settings.sticky .font .options {
  display: none;
}
.settings.sticky .font .options-select {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: calc(100% - (var(--info-w) + var(--trail-w)));
  flex-shrink: 1;
}
.settings.sticky .font.generating .options-select {
  filter: blur(1px);
  opacity: 0.7;
  pointer-events: none;
}
.settings.sticky .font .option-select-wrapper {
  width: 134px;
  height: 32px;
  position: relative;
}
.settings.sticky .font .font-weight-select {
  width: 100%;
  height: 100%;
  padding: 0 12px;
  outline: none;
  border: 1px solid #c9c9c9;
  border-radius: 999px;
  font-size: 14px;
  direction: ltr;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  transition: all var(--t-250-out);
}
.settings.sticky .font .option-select-wrapper::after {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 12px;
  width: 12px;
  height: 12px;
  opacity: 0.5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6,9 12,15 18,9'%3E%3C/polyline%3E%3C/svg%3E");
  pointer-events: none;
}
.settings.sticky .font .font-weight-select:hover {
  border-color: #999;
}

.settings.sticky .font .font-weight-select:focus {
  border-color: #999;
}
.settings.sticky .font .trail {
  justify-content: center;
}
.settings.sticky .font .remove-font {
  width: 22px;
  height: 22px;
  padding: 2px;
}
.settings.sticky .font-select {
  width: var(--sticky-upload-w);
  height: var(--sticky-item-h);
  margin: 0;
  gap: 0;
  border-radius: 12px;
  --fs-h: var(--sticky-item-h);
}
.settings-is-sticky .settings.sticky .font-select {
  transition: none;
}
.settings-is-sticky .lab-page.two-font-selected .font-select {
  height: 0px;
  margin: 0px;
  width: 0px;
}
.settings.sticky .font-select .fs-main {
  width: 100%;
  flex-grow: 1;
  height: var(--fs-h);
}
.settings.sticky .fs-main .fs-wrapper {
  top: auto;
  bottom: 0;
  border-radius: 0 12px 12px 0;
  box-shadow: none;
  background-color: transparent;
  /* box-shadow: 0 -16px 34px -6px rgba(0, 0, 0, .18); */
}
.settings.sticky .fs-main .fs-inner {
  display: flex;
  flex-direction: column-reverse;
}
.settings.sticky .fs-main .fs-input-wrapper {
  height: calc(var(--fs-h) - 2px);
  padding: 2px;
  border-radius: 0 12px 12px 0;
  margin: auto;
}
.settings.sticky .fs-main .fs-input-wrapper:hover {
  background-color: hsl(250, 2%, 97%);
}
.settings.sticky .fs-main .fs-input-wrapper .fs-search {
  padding: 8px 8px 8px 36px;
  border-radius: 12px;
  font-size: 16px;
  border-radius: 0 12px 12px 0;
}
.settings.sticky .fs-main .fs-input-wrapper .fs-search:hover {
}
.settings.sticky .fs-main .fs-input-wrapper .fs-search:focus {
}
.settings.sticky .fs-main .fs-dropdown {
  --item-h: 48px;
}
.settings.sticky .fs-main .fs-list {
  border-radius: 12px 12px 0 0;
  background-color: hsl(0deg 0% 100% / 98%);
}
.settings.sticky .fs-main .fs-list .item {
  padding: 0 8px;
  gap: 6px;
}
.settings.sticky .fs-main .fs-list .item .icon .inner {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  padding: 5px;
}
.settings.sticky .fs-main .fs-list .item .name {
  font-size: 13px;
}
.settings.sticky .fs-main .fs-list .item .sub {
  font-size: 11px;
}
.settings.sticky .fs-main .fs-list .item:hover {
  background-color: hsl(250, 2%, 95%);
  padding-right: 12px;
}
.settings.sticky .fs-main .fs-input-wrapper .icon {
  left: 8px;
}
/* zz-active */
.settings.sticky .fs-main.active {
}
.settings.sticky .fs-main.active .fs-wrapper {
  border-radius: 12px 12px 12px 0;
}
.settings.sticky .fs-main.active .fs-input-wrapper {
  border-bottom: none;
  border-radius: 12px 12px 0 0;
}
.settings.sticky .fs-main.active .fs-input-wrapper .fs-search {
  border-radius: 0 0 12px 12px;
}
.settings.sticky .fs-main.active .fs-dropdown {
  z-index: 110;
}
.settings.sticky .fs-main.active .fs-list {
  border-bottom: 1px solid hsla(240, 1%, 72%, 0.8);
}
.settings.sticky .font-select .divider {
  display: none;
}
.settings.sticky .upload-font {
  /* display: none; */
}
.settings.sticky .upload-btn {
  width: var(--sticky-item-h);
  height: var(--sticky-item-h);
  padding: 0;
  border-radius: 12px 0 0 12px;
  margin-right: -1px;
}
.settings.sticky .upload-btn svg {
  width: 20px;
  height: 20px;
}
.settings.sticky .upload-btn span {
  display: none;
}

.settings.sticky .main-input {
  padding: var(--sticky-gap);
}
.settings.sticky .main-input .input-wrapper {
  width: var(--sticky-input-w);
  height: var(--sticky-item-h);
}
.settings.sticky .main-input .input-wrapper .user-text {
  padding: 0;
  height: var(--sticky-item-h);
  font-size: 18px;
  border-radius: 12px;
  padding: 8px 12px 0 46px;
  background-color: transparent;
  background-color: #fff;
  position: relative;
  box-shadow: inset hsl(240, 1%, 75%) 0 0 0 1px;
}
.settings.sticky .main-input .input-wrapper .user-text:hover {
  background-color: hsl(250, 2%, 97%);
  box-shadow: inset hsl(240, 1%, 60%) 0 0 0 1px;
}
.settings.sticky .main-input .input-wrapper .user-text:focus {
  background-color: #fff;
  box-shadow: inset hsl(240, 1%, 45%) 0 0 0 1px;
}
.settings.sticky .custom-caret {
  display: none;
}
.settings.sticky .user-text-submit {
  width: 48px;
  height: 42px;
  border-radius: 6px;
  left: 12px;
  box-shadow: none;
  font-size: 11px;
  display: none;
}
.settings.sticky .chara-counter {
  font-size: 11px;
  height: 12px;
  color: var(--c-gray-600);
  top: 22px;
  margin: 0;
  right: 28px;
  left: auto;
}
.font-select .divider {
  width: var(--divider-w);
  position: relative;
  height: calc(var(--fs-h) - 12px);
}
.font-select .divider::before {
  content: "";
  position: absolute;
  margin: auto;
  width: 1px;
  height: 100%;
  left: 0;
  right: 0;
  background-image: linear-gradient(
    to bottom,
    transparent 0%,
    hsla(0, 0%, 0%, 0.25) 40%,
    hsla(0, 0%, 0%, 0.25) 80%,
    transparent 100%
  );
}
.font-select .divider::after {
  content: "یا";
  position: absolute;
  margin: auto;
  inset: 0;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: 300;
  color: var(--c-gray-400);
  background-color: hsla(0, 0%, 100%, 0.75);
  box-shadow:
    0px 2px 8px 5px #fff,
    0px 3px 12px 10px #fff;
}
.font-select .upload-font {
  position: relative;
}
.font-select .upload-font > input {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.font-select .upload-btn {
  width: var(--upload-btn-w);
  height: var(--fs-h);
  padding: 0 16px;
  border-radius: 999px;
  border: var(--c-border);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
  background-color: hsl(250, 2%, 100%);
  display: flex;
  justify-content: space-around;
  align-items: center;
  cursor: pointer;
  gap: 8px;
  font-size: 18px;
  transition: all var(--t-250-out);
  color: var(--c-gray-800);
}
.font-select .upload-btn:hover {
  background-color: hsl(250, 2%, 97%);
  border: var(--c-border-hover);
  box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.05);
}
.font-select .upload-btn > span {
  color: var(--c-gray-600);
}
.upload-btn-tooltip {
  padding: 12px;
  margin: 4px 0;
  border-radius: 4px;
  border: 1px dashed rgb(0 0 0 / 15%);
}
.upload-btn-tooltip .inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.upload-btn-tooltip .inner .format {
  font-size: 15px;
  font-weight: 400;
  color: var(--c-gray-600);
}
.upload-btn-tooltip .inner .size {
  text-align: center;
}
.upload-btn-tooltip .inner .size span {
  color: var(--c-gray-600);
}
.upload-btn-tooltip .inner .size strong {
  font-weight: 600;
  color: var(--c-text);
}
/* clean-end */
.page-content-wrapper {
  padding-bottom: 260px;
}
.tabs-header {
  border-bottom: 1px solid var(--c-gray-200);
  --item-h: 72px;
}
.tabs-header .wrapper {
}
.tabs-header .stream {
  display: flex;
  flex-direction: row-reverse;
}
.tabs-header .tab-item {
  height: var(--item-h);
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--c-text-secondary);
  font-weight: 400;
  cursor: pointer;
  position: relative;
  transition: all var(--t-250-out);
  border-radius: 22px 22px 0 0;
  opacity: 0.75;
}
.tabs-header .tab-item:hover {
  color: var(--c-text);
}
.tabs-header .tab-item.active {
  opacity: 1;
  border: 1px solid var(--c-gray-200);
  border-bottom: none;
  font-weight: 600;
  box-shadow: 0 1px 0 0 var(--c-bg);
  font-size: 24px;
  color: var(--c-text);
}
.tabs-header .tab-item span {
  position: absolute;
}
.tabs-content .tab-content {
  display: none;
  padding: 24px 0;
}
.tabs-content .tab-content.active {
  display: block;
}
.tabs-content .tab-content img {
  max-height: 100%;
}
.tab-content .empty-state {
  /* display: none; */
}
.tab-content .empty-state .inner {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  direction: rtl;
  padding: 100px 0;
}
.tab-content .empty-state .illu {
  width: 320px;
}
.tab-content .empty-state .add-font-btn {
  background-color: #fff;
  border-radius: 999px;
  border:1px solid hsla(240, 1%, 72%, 0.8);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
  width: 48px;
  height: 48px;
  transition: all var(--t-250-out);
  color: var(--c-gray-800);
  display: flex;
  justify-content: center;
  align-items: center;
}
.tab-content .empty-state .add-font-btn:hover {
  background-color: rgb(247, 247, 248);
  box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 0px;
  border: 1px solid hsla(240, 1%, 72%, 0.8);
}
.tab-content .empty-state .illu img {

}
.tab-content .empty-state .title {
  display: flex;
  align-items: center;
  gap: 6px;
}
.tab-content .generating-state {

}
.tab-content .generating-state .inner {
  background: var(--c-gray-150);
  background: linear-gradient(0deg, #fff 0%, var(--c-gray-150) 100%);
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  padding: 64px 0 64px 0;
  direction: rtl;
  border-radius: 36px 36px 0 0;
}
.tab-content .generating-state .icon {
  width: 164px;
  height: 164px;
  background-color: rgb(255, 255, 255);
  border-radius: 24px;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.tab-content .generating-state .icon img {

}
.tab-content .generating-state .title {

}

.title-tab {
  display: flex;
  flex-direction: column;
  --img-w: 860px;
  --img-h: 180px;
}
.title-tab .wor {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  border-bottom: 1px solid var(--c-gray-200);
  height: var(--img-h);
}
.title-tab .wor:last-child {
  border-bottom: none;
}
.title-tab .aside {
  width: 24px;
  height: var(--img-h);
  position: relative;

}
.title-tab .aside .details {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  gap: 4px;
  width: calc(var(--img-h) - 8px);
  height: 24px;
  font-size: 12px;
  transform: rotate(-90deg);
  transform-origin: 0 0;
  bottom: -20px;
}
.title-tab .aside .color {
  width: 6px;
  height: 6px;
  border-radius: 2px;
  display: block;
  margin-bottom: 2px;
  /* display: none; */
}
.title-tab .wor:nth-child(odd) .color {
  background-color: #ff5e5e;
}
.title-tab .wor:nth-child(even) .color {
  background-color: #62b3f5;
}
.no-font-selected .title-tab .wor .color,
.one-font-selected .title-tab .wor .color {
  /* background-color: var(--c-gray-200); */
  display: none;
}
.title-tab .aside .name {
  font-weight: 300;
  color: var(--c-text-secondary);
  max-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.title-tab .aside .weight {
  font-weight: 300;
  color: var(--c-text-secondary);
  max-width: 60px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.title-tab .aside .size {
  font-weight: 600;
  color: var(--c-text);
}
.title-tab .image-wrapper {
  max-height: var(--img-h);
}

.title-tab .image-wrapper img {
  max-height: var(--img-h);
  padding-right: 10px;
}
.paragraph-tab {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  flex-wrap: wrap;
}
.paragraph-tab > .wor.p-row {
  width: calc(50%);
  display: flex;
  align-items: flex-start;
  flex-direction: row-reverse;
  border-bottom: 1px solid var(--c-gray-200);
  margin-bottom: 24px;
  padding-bottom: 12px;
  min-height: 240px;
  justify-content: end;
}
.one-font-selected .paragraph-tab > .wor.p-row,
.no-font-selected .paragraph-tab > .wor.p-row {
  width: 100%;
}
.paragraph-tab > .wor.p-row:only-child {
  width: calc(100%);
}
.paragraph-tab > .wor {
  width: calc(100%);
  display: flex;
  justify-content: space-between;
}
.paragraph-tab > .wor .inner-wrapper {
  width: calc(100%);
  display: flex;
  align-items: flex-start;
  flex-direction: row-reverse;
  border-bottom: 1px solid var(--c-gray-200);
  margin-bottom: 24px;
  padding-bottom: 12px;
  min-height: 240px;
}
.paragraph-tab > .wor:has(> .inner-wrapper:first-child:nth-last-child(2)) > .inner-wrapper {
  width: calc(50% - 16px);
}
.paragraph-tab > .wor.p-row:nth-child(odd) .color {
  background-color: #62b3f5;
}
.paragraph-tab > .wor.p-row:nth-child(even) .color {
  background-color: #ff5e5e;
}
.paragraph-tab .wor .inner-wrapper:nth-child(odd) .color {
  background-color: #62b3f5;
}
.paragraph-tab .wor .inner-wrapper:nth-child(even) .color {
  background-color: #ff5e5e;
}
.paragraph-tab .aside {
  width: 24px;
  height: 100%;
  position: relative;
  /* overflow: hidden; */
}
.paragraph-tab .image-wrapper {
  padding-right: 8px;
}
.paragraph-tab .aside .details {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  font-size: 12px;
  height: 100%;
  aspect-ratio: 1 / 1;
  transform: rotate(-90deg);
  transform-origin: 0 0;
  position: absolute;
  top: calc(100% + 16px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  gap: 4px;
}
.paragraph-tab .aside .color {
  width: 6px;
  height: 6px;
  border-radius: 2px;
  display: block;
  margin-top: 5px;
  /* display: none; */
}
.no-font-selected .paragraph-tab .wor .color,
.one-font-selected .paragraph-tab .wor .color {
  display: none;
}
.paragraph-tab .aside .name {
  font-weight: 300;
  color: var(--c-text-secondary);
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.paragraph-tab .aside .weight {
  font-weight: 300;
  color: var(--c-text-secondary);
  max-width: 60px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.paragraph-tab .aside .size {
  font-weight: 600;
  color: var(--c-text);
}
.paragraph-tab .image-wrapper img {
  
}
.ui-tab {
/* background-color: red; */
}
.ui-tab .ui-font-block {
  display: flex;
  flex-direction: column;
  --tabgap: 36px;
  gap: var(--tabgap);
  max-width: 1180px;
  margin: 0 auto;
  overflow: hidden;
  padding: 24px 0;
}
.two-font-selected .ui-tab .ui-font-block:first-child {
  padding-bottom: 36px;
  border-bottom: 1px solid var(--c-gray-200);
  margin-bottom: 36px;
}
.ui-tab .title-font-name {
  margin-top: -24px;
  margin-bottom: -24px;
  width: 100% !important;
}
.ui-tab .title-font-name .details {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
}
.ui-tab .title-font-name .name {
  font-weight: 300;
  color: var(--c-text-secondary);
}
.ui-tab .title-font-name .color {
  width: 6px;
  height: 6px;
  border-radius: 2px;
  display: block;
  margin-bottom: 2px;
}
.ui-tab .ui-font-block:nth-child(odd) .title-font-name .color {
  background-color: #ff5e5e;
}
.ui-tab .ui-font-block:nth-child(even) .title-font-name .color {
  background-color: #62b3f5;
}
.no-font-selected .ui-tab .title-font-name,
.one-font-selected .ui-tab .title-font-name {
  display: none;
}
.ui-tab .row {

}
.ui-tab img {
  max-width: 100%;
  max-height: 100%;
}
.ui-tab .wrapper {
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid var(--c-gray-200);
  transition: all 0.2s ease-in-out;
}
.ui-tab .row-hero {

}
.ui-tab .row-hero > .wrapper {
  height: 420px;
  position: relative;
  padding: 0 16px;
  display: flex;
  align-items: center;
}
.ui-tab .row-hero:hover .wrapper {
  border-color: var(--c-gray-400);
}
.ui-tab .row-hero .image-wrapper {
  height: 420px;
  flex-shrink: 0;
}
.ui-tab .row-hero .text-wrapper {
  width: calc(100% - 530px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.ui-tab .row-hero .text-wrapper > * {
  margin-right: 32px;
}
.ui-tab .row-hero .text-wrapper .main-title {
  max-width: 420px;
}
.ui-tab .row-hero .text-wrapper .sub-text {
  max-width: 520px;
}
.ui-tab .row-hero .text-wrapper .cta img {
  max-width: 120px;
}
.ui-tab .row-hero .sub-text {
  margin-top: -16px;
  margin-bottom: 24px;
}
.ui-tab .row-hero .cta {
  background-color: var(--c-gray-800);
  padding: 6px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  border: 2px solid transparent;
}
.ui-tab .row-hero .cta:hover {
  background-color: #fff;
  border-color: var(--c-gray-800);
}
.ui-tab .row-hero .cta img {
  transition: all 0.2s ease-in-out;
}
.ui-tab .row-hero .cta:hover img {
  filter: invert(100%);
}
.ui-tab .row-table {
  display: flex;
  gap: 36px;
}
.ui-tab .row-table .wrapper {
  height: 370px;
}
.ui-tab .row-table .newsletter {
  width: calc((100% - (var(--tabgap) * 2)) / 4 * 2);
}
.ui-tab .row-table .profile {
  width: calc((100% - (var(--tabgap) * 2)) / 4 * 1);
  position: relative;
  cursor: pointer;
}
.ui-tab .row-table .list {
  width: calc((100% - (var(--tabgap) * 2)) / 4 * 1);
}
.ui-tab .profile .image-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000;
}
.ui-tab .profile .image-wrapper img {
  opacity: 0.9;
  transition: all 0.2s ease-in-out;
}
.ui-tab .profile .text-wrapper {
  position: absolute;
  width: 100%;
  height: 220px;
  margin: auto;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  transition: all 0.2s ease-in-out;
    padding-bottom: 12px;
}
.ui-tab .profile .text-wrapper::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 220px;
  top: 0;
  left: 0;
  background: linear-gradient(0deg, rgba(22, 22, 22, 1) 30%, rgba(22, 22, 22, 0) 100%);
  transition: all 0.2s ease-in-out;
}
.ui-tab .profile .name {
    display: flex;
    justify-content: center;
    z-index: 2;
    transition: all 0.2s ease-in-out;
    max-width: 180px;
}
.ui-tab .profile .cta {
    display: flex;
    justify-content: center;
    margin-bottom: 28px;
    margin-top: 12px;
    opacity: 0.5;
    z-index: 2;
    transition: all 0.2s ease-in-out;
    max-width: 160px;
}
.ui-tab .profile:hover .image-wrapper img {
  opacity: 1;
}
.ui-tab .profile:hover .text-wrapper {
  padding-bottom: 0;
}
.ui-tab .profile:hover .text-wrapper::after {
  opacity: 0.7;
}
.ui-tab .profile:hover .name {

}
.ui-tab .profile:hover .cta {
  opacity: 1;
}
.ui-tab .list {

}
.ui-tab .list .inner {
  display: flex;
  flex-direction: column;
}
.ui-tab .list .item {
  height: calc(370px / 4);
  width: 100%;
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 12px;
  padding: 12px 16px;
  position: relative;
  border-bottom: 1px solid var(--c-gray-150);
  transition: all 0.2s ease-in-out;
}
.ui-tab .list .item:nth-last-child {
  border-bottom: none;
}
.ui-tab .list .item::after {
  content: '';
  position: absolute;
  width: 24px;
  height: 24px;
  margin: auto;
  top: 0;
  bottom: 0;
  left: -24px;
  background-color: transparent;
  transition: all 0.2s ease-in-out;
  background-image: url("../assets/images/uitab-left.svg");
  opacity: 0.5;
  /* background-image: ; */
}
.ui-tab .list .icon {
  width: 52px;
  height: 52px;
  background-color: var(--c-gray-100);
  border-radius: 20px;
  padding: 14px;
  transition: all 0.2s ease-in-out;
  flex-shrink: 0;
}
.ui-tab .list .icon img {
  opacity: 0.7;
}
.ui-tab .list .text {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex-grow: 1;
  overflow: hidden
}
.ui-tab .list .title {
  margin-top: 6px;
  max-width: 120px;
}
.ui-tab .list .details {
  margin-top: -12px;
  opacity: 0.4;
  max-width: 100px;
}
.ui-tab .list .item:hover {
  background-color: var(--c-gray-50);
}
.ui-tab .list .item:hover .icon {
  background-color: #fff;
}
.ui-tab .list .item:hover::after {
  left: 12px;
}
.ui-tab .newsletter {

}
.ui-tab .newsletter .inner {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;  
}
.ui-tab .newsletter .inner::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  background: url("../assets/images/confetti.svg") no-repeat top center;
  background-size: contain;
  opacity: 0;
}
.ui-tab .newsletter .icon {
  position: absolute;
  margin: auto;
  top: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 230px;
}
.ui-tab .newsletter .icon img {
    width: 210px;
    margin-right: -75px;
}
.ui-tab .newsletter .title {
  padding: 16px 48px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  z-index: 2;
  transition: all 0.2s ease-in-out;
  position: relative;
  margin-top: 92px;
}
.ui-tab .newsletter .title .title-line {
  display: flex;
  justify-content: center;
}
.ui-tab .newsletter .newsletter-input-wrap {
  width: 76%;
  margin: 0 auto;
  z-index: 2;
  position: relative;
  margin-top: -12px;
}
.ui-tab .newsletter .newsletter-input {
  width: 100%;
  box-sizing: border-box;
  direction: rtl;
  height: 56px;
  padding: 12px 16px;
  border-radius: 16px;
  border: 1px solid var(--c-gray-500);
  background-color: var(--c-gray-25);
  outline: none;
  transition: all 0.2s ease-in-out;
  box-shadow: inset 0 0 4px -1px hsla(0, 0%, 0%, 0.0);
  display: block;
}
.ui-tab .newsletter .newsletter-input:focus {
  border-color: var(--c-gray-800);
  background-color: #fff;
  box-shadow: inset 0 0 5px -1px hsla(0, 0%, 0%, 0.1);
}
.ui-tab .newsletter .newsletter-input-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 6px 7px 16px;
  pointer-events: none;
}
.ui-tab .newsletter .newsletter-input-placeholder {
  height: auto;
  max-height: 26px;
  max-width: calc(100% - 96px);
  width: auto;
  opacity: 0.65;
  background: transparent;
  display: block;
  object-fit: contain;
  flex-shrink: 1;
  transition: opacity 0.2s ease-in-out;
}
.ui-tab .newsletter .newsletter-input:focus ~ .newsletter-input-overlay .newsletter-input-placeholder {
  opacity: 0;
}
.ui-tab .newsletter .newsletter-submit-btn {
  width: 82px;
  height: 42px;
  flex-shrink: 0;
  background-color: var(--c-gray-800);
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 0.2s ease-in-out;
}
.ui-tab .newsletter .newsletter-submit-btn img {
  max-width: 72px;
  max-height: 28px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.ui-tab .row-blog {
    display: flex;
    flex-direction: row-reverse;
    gap: 36px;
    width: 100%;
}
.ui-tab .related {
  width: calc((100% - (var(--tabgap) * 1)) / 4 * 1);
}
.ui-tab .post {
  width: calc((100% - (var(--tabgap) * 1)) / 4 * 3);
  display: flex;
  align-items: flex-start;
  padding: 36px;
  overflow: hidden;
  direction: rtl;
  min-height: 360px;
}
.ui-tab .post .content {
  display: flex;
  flex-direction: column;
}
.ui-tab .post .content .title {
  max-width: 600px;
}
.ui-tab .post .title {
  
}
.ui-tab .post .details {
  display: flex;
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
}
.ui-tab .post .item {
  display: flex;
  gap: 4px;
  align-items: center;
}
.ui-tab .post .icon {
  opacity: 0.8;
}
.ui-tab .post .value {
  margin-top: 4px;
  opacity: 0.5;
  max-width: 94px;
}
.ui-tab .post .main-text {
  
}
.ui-tab .related {
  direction: rtl;
  height: fit-content;
}
.ui-tab .related .title {
  width: 100%;
  height: 48px;
  padding: 12px 12px 0 12px;
}
.ui-tab .related .items {
  display: flex;
  flex-direction: column;
}
.ui-tab .related .items .text {
  max-width: 160px;
}
.ui-tab .related .item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-right: 16px;
  height: 103px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
.ui-tab .related .item:hover {
  padding-right: 24px;
  background-color: var(--c-gray-50);
}
.ui-tab .related .thumb {
  height: 72px;
  width: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  background-color: var(--c-gray-700);
  padding: 12px;
  border-radius: 16px;
}
.ui-tab .related .text {

}
.numbers-tab {
  --max-image-h: 240px;
}
.languages-tab {
  --max-image-h: 240px;
}
.languages-tab .language-section-group {
  margin-bottom: 8px;
}
.languages-tab .language-section-group .font-row:last-child {
  border-bottom: 1px solid var(--c-gray-200);
  margin-bottom: 24px;
  padding-bottom: 12px;
}
.languages-tab .language-section-group .font-row:not(:last-child) {
  border-bottom: none;
  margin-bottom: 12px;
  padding-bottom: 0;
}
.kerning-tab {
  --max-image-h: 240px;
}
.numbers-tab .wor {
  /* padding: 24px 0; */
}
.numbers-tab .row-title,
.languages-tab .row-title,
.kerning-tab .row-title {
  direction: rtl;
  background-color: var(--c-gray-50);
  padding: 10px 12px;
  border-radius: 6px;
  margin-bottom: 12px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
.numbers-tab .row-title .title,
.languages-tab .row-title .title,
.kerning-tab .row-title .title {
  font-size: 14px;
  font-weight: 600;
  color: var(--c-text);
  padding-left: 8px;
}
.numbers-tab .row-title .details,
.languages-tab .row-title .details,
.kerning-tab .row-title .details {
  font-size: 13px;
  font-weight: 400;
  color: var(--c-text-secondary);
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  gap: 8px;
}
.numbers-tab .row-title .details > * {
  padding: 3px 6px 0px 6px;
  border-radius: 4px;
  background-color: #fff;
  direction: ltr;
}
.languages-tab .row-title .details > * {
  padding: 3px 6px 0px 6px;
  border-radius: 4px;
  background-color: #fff;
}
.languages-tab .row-title .details > .arabic,
.languages-tab .row-title .details > .quranic,
.languages-tab .row-title .details > .urdu,
.languages-tab .row-title .details > .kurdish {
  direction: rtl;
  unicode-bidi: isolate;
}
.languages-tab .row-title .details > .english {
  direction: ltr;
  unicode-bidi: isolate;
}
.kerning-tab .row-title .details > * {
  padding: 3px 6px 0px 6px;
  border-radius: 4px;
  background-color: #fff;
}
.kerning-tab .row-title .details > .kerning-digits {
  direction: ltr;
  unicode-bidi: isolate;
}
.kerning-tab .row-title .details > .kerning-mixed,
.kerning-tab .row-title .details > .kerning-sentence {
  direction: auto;
  unicode-bidi: isolate;
}
.font .icon .font-icon-initial {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  color: var(--c-text);
  user-select: none;
  text-decoration: none;
}
.numbers-tab .font-row,
.languages-tab .font-row,
.kerning-tab .font-row {
  position: relative;
  padding-right: calc(24px + 12px);
  margin: 24px 0;
  border-bottom: 1px solid var(--c-gray-200);
}
.numbers-tab .font-row .aside,
.languages-tab .font-row .aside,
.kerning-tab .font-row .aside {
  position: absolute;
  right: 0;
  top: 0;
  margin: auto;
  width: 24px;
  height: 24px;
  /* background-color: red; */
}
.numbers-tab .font-row .aside > .inner,
.languages-tab .font-row .aside > .inner,
.kerning-tab .font-row .aside > .inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.numbers-tab .font-row .aside .details,
.languages-tab .font-row .aside .details,
.kerning-tab .font-row .aside .details {
  position: absolute;
  display: flex;
  justify-content: flex-end;
  gap: 3px;
  transform: rotate(-90deg);
  transform-origin: 0 0;
  width: 180px;
  overflow: hidden;
  bottom: -180px;
  left: 6px;
  font-size: 12px;
}
.numbers-tab .aside .name,
.languages-tab .aside .name,
.kerning-tab .aside .name {
  font-weight: 300;
  color: var(--c-text-secondary);
  max-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.numbers-tab .aside .weight,
.languages-tab .aside .weight,
.kerning-tab .aside .weight {
  font-weight: 300;
  color: var(--c-text-secondary);
  max-width: 40px;
  overflow: hidden;
  text-overflow: ellipsis;

}
.numbers-tab .aside .size,
.languages-tab .aside .size,
.kerning-tab .aside .size {
  font-weight: 600;
  color: var(--c-text);
  max-width: 30px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.numbers-tab .aside .color,
.languages-tab .aside .color,
.kerning-tab .aside .color {
  width: 6px;
  height: 6px;
  border-radius: 2px;
  display: block;
  margin-top: 5px;
}
.numbers-tab .font-row:nth-child(odd) .aside .color,
.languages-tab .font-row:nth-child(odd) .aside .color,
.kerning-tab .font-row:nth-child(odd) .aside .color {
  background-color: #ff5e5e;
}
.numbers-tab .font-row:nth-child(even) .aside .color,
.languages-tab .font-row:nth-child(even) .aside .color,
.kerning-tab .font-row:nth-child(even) .aside .color {
  background-color: #62b3f5;
}
.no-font-selected .numbers-tab .font-row .aside .color,
.no-font-selected .languages-tab .font-row .aside .color,
.no-font-selected .kerning-tab .font-row .aside .color,
.one-font-selected .numbers-tab .font-row .aside .color,
.one-font-selected .languages-tab .font-row .aside .color,
.one-font-selected .kerning-tab .font-row .aside .color {
  display: none;
}
.numbers-tab .image-wrapper,
.languages-tab .image-wrapper,
.kerning-tab .image-wrapper {
  text-align: right;
}

.numbers-tab .image-wrapper img,
.languages-tab .image-wrapper img,
.kerning-tab .image-wrapper img {
  max-height: var(--max-image-h);
}
.details-tab .font-row {
  padding-top: 24px;
  width: 100%;
}
.two-font-selected .details-tab {
  display: flex;
  gap: 24px;
}
.two-font-selected .details-tab .font-row {
  width: calc(50% - 12px);
}
.details-tab table, th, td {
  border: 1px solid var(--c-gray-200);
  border-collapse: collapse;
}
.details-tab .details-table {
  width: 100%;
}
.details-tab .details-table tbody {

}
.details-tab .details-table tr {

}
.details-tab .details-table td {
  padding: 8px;
  text-align: left;
  font-size: 14px;
  font-weight: 400;
  color: var(--c-text);
}
/* zzzz */
/* match styles */
.match {

}
.match .settings {
  height: auto;
}
.preferences {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  direction: rtl;
  padding: 12px 24px 24px 24px;
}
.match .preferences {

}
.preferences .control {
  /* flex-grow: 1; */
}

.preferences .control.control-category {
  width: 236px;
}
.preferences .control.control-weight {
  width: 236px;
}
.preferences .control.control-alignment {
  width: 116px;
}
.preferences .control.control-size {
  width: 116px;
}

.preferences .control > .title {
  font-size: 14px;
  font-weight: 300;
  color: var(--c-text-tertiary);
  margin-bottom: 4px;
}
.preferences .select-wrapper {
  width: 100%;
}


.searchable-select {
  position: relative;
  width: 100%;
}
.searchable-select__trigger {
  width: 100%;
  height: 40px;
  border-radius: 8px;
  border: 1px solid var(--c-gray-200);
  padding: 0 12px;
  font-size: 14px;
  font-weight: 400;
  color: var(--c-text);
  background-color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  text-align: right;
  direction: rtl;
  transition: background-color 150ms ease-in-out, border-color 150ms ease-in-out;
}
.searchable-select__trigger:hover {
  background-color: #fafafa;
  border-color: var(--c-gray-300);
}
.searchable-select.is-open .searchable-select__trigger {
  border-radius: 16px;
}
.searchable-select__value {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.searchable-select__chevron {
  position: absolute;
  left: 12px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  background-image: url("../assets/icons/chevron-down.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
  transition: transform 250ms ease-in-out;
}
.searchable-select.is-open .searchable-select__chevron {
  transform: translateY(-50%) rotate(180deg);
}
.searchable-select__dropdown {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 30;
  background-color: #fff;
  border: 1px solid var(--c-gray-200);
  border-radius: 16px;
  box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.18);
  overflow: hidden;
  direction: rtl;
  transition: all 250ms ease-in-out;
}
.searchable-select__search {

}
.searchable-select__search-input {
  width: 100%;
  height: 42px;
  font-size: 14px;
  border: none;
  border-radius: 16px 16px 0 0;
  padding: 0 12px;
  color: var(--c-text);
  background-color: #fff;
  outline: none;
  transition: border-color 250ms ease-in-out;
  border-bottom: 1px solid var(--c-gray-200);
}
.searchable-select__options {
  list-style: none;
  margin: 0;
  padding: 4px;
  max-height: 220px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.searchable-select__option {
  width: 100%;
  border: none;
  background: none;
  text-align: right;
  padding: 10px 10px;
  font-size: 14px;
  color: var(--c-text);
  border-radius: 6px;
  cursor: pointer;
  transition: all 150ms ease-in-out;
}
.searchable-select__option:hover {
  background-color: var(--c-gray-25);
}
.searchable-select__option.is-selected {
  /* background-color: var(--c-gray-100); */
  /* font-weight: 600; */
}
.searchable-select__option.is-selected {
  padding-right: 24px;
  background-image: url(../assets/icons/check.svg);
  background-repeat: no-repeat;
  background-position: right 7px center;
  background-size: 12px;
}
.searchable-select__options li:last-child .searchable-select__option {
  border-radius: 6px 6px 12px 6px;
}
.searchable-select__empty {
  padding: 12px 10px;
  font-size: 13px;
  color: var(--c-text-tertiary);
  text-align: center;
}

.preferences .option-wrapper {
  display: flex;
  background-color: #f5f5f5;
  box-shadow: 0px 0px 0px 1px #f0f0f0;
  padding: 4px;
  gap: 6px;
  border-radius: 8px;
  transition: all 250ms ease-in-out;
}
.preferences .option-wrapper:hover {
  background-color: #f0f0f0;
}
.preferences .option {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}

.preferences .option > input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}
.preferences .display-label {
  height: 32px;
  width: 100%;
  cursor: pointer;
  border-radius: 6px;
  opacity: 0.7;
  transition: all 150ms ease-in-out;
}
.preferences .display-label.text {
  padding: 0 6px;
  font-size: 13px;
  font-weight: 400;
  line-height: 32px;
  text-align: center;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.preferences .display-label .counter {
  font-family: DanaFaNum, sans-serif;
  font-size: 11px;
  color: var(--c-gray-500);
  margin-right: 5px;
  display: none;
}
.preferences .display-label.icon {
  padding: 3px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.preferences .display-label.icon img {
  opacity: 0.9;
}
.preferences .option > input[type="radio"]:checked ~ .display-label {
  opacity: 1;
  background-color: #fff;
  box-shadow:
    inset 0px 0px 0px 1px hsl(0, 0%, 90%),
    0px 1px 4px -2px rgba(0, 0, 0, 0.1);
}
.match-content {
  padding-bottom: 40px;
}
.match-content .page-width {
  max-width: 100%;
  padding: 0 1px;
}
.match-content.tabs-content .tab-content {
  padding: 0 0 0 0;
}
.match-content .item-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: 0;
  direction: rtl;
}
.match-content .item-grid .fontitem-wrapper {
  transition: all 250ms ease-in-out;
}
.match-content .item-grid .fontitem-wrapper.is-collapsed .fontitem:not(.main-weight) {
  position: absolute;
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  height: 0;
  overflow: hidden;
}
.match-content .item-grid .fontitem-wrapper.is-expanded .fontitem:not(.main-weight) {
  position: relative;
  opacity: 1;
  transform: none;
  pointer-events: auto;
  height: auto;
  overflow: visible;
}
.match-content .item-grid .fontitem-wrapper.loading .fontitem .item-media {
  aspect-ratio: 3 / 1;
  min-height: 120px;
}
.match-content .item-grid .fontitem-wrapper.loading .fontitem:hover {
  border-color: var(--c-gray-100);
  box-shadow: none;
  z-index: auto;
}
.match .tabs-header {
  z-index: 2;
  position: relative;
  box-shadow: none;
  border-bottom: 1px solid var(--c-gray-200);
}
.match .tabs-header .stream {
  justify-content: center;
}
.match .tabs-header .tab-item {
  display: flex;
  flex-direction: row-reverse;
  gap: 8px;
  border: 1px solid transparent;
  opacity: 0.75;
  border-radius: 22px 22px 0 0;
  flex-grow: 0;
  width: 264px;
}
.match .tabs-header .tab-item.default-tab.active {
  margin-right: 1px;
}
.match .tabs-header .tab-item::after {
  display: none;
}
.match .tabs-header .tab-item:hover {
  background-color: var(--c-bg);
}
.match .tabs-header .tab-item.active {
  opacity: 1;
  border: 1px solid var(--c-gray-200);
  border-bottom: none;
  /* outline: 1px solid #fff; */
  box-shadow: 0 1px 0 0 var(--c-bg);
  font-size: 24px;
}
.match .tabs-header .tab-item.active:hover {
  background-color: var(--c-bg);
}
.match .tabs-header .tab-item span {
  display: block;
  position: relative;
}
.match .tabs-header .tab-item .value {
  margin-right: 16px;
}
.match .tabs-header .tab-item .tab-counter {
  font-size: 14px;
  font-weight: 400;
  font-family: DanaFaNum, sans-serif;
  height: 24px;
  width: 56px;
  border-radius: 999px;
  background-color: var(--c-gray-100);
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  line-height: 30px;
  transition: all 150ms ease-in-out;
}
.match .tabs-header .tab-item .tab-counter.update .counter{
    animation: blink 1s ease-out;
}
.match .tabs-header .tab-item .tab-counter.empty {
  width: 0px;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
}
.match .tabs-header .tab-item .counter {
  flex-grow: 1;
  text-align: center;
}
.match .tabs-header .reset-archive-btn {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  margin-left: 3px;
  padding: 0;
  outline: none;
  border: none;
  cursor: pointer;
  border-radius: 999px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  box-shadow: inset 0 0 0 1px hsl(0, 0%, 80%);
  transition: all 150ms ease-in-out;
}
.match .tabs-header .reset-archive-btn:hover {
  box-shadow: inset 0 0 0 1px hsl(0, 0%, 60%);
}
.match .tabs-header .reset-archive-btn .icon {
  width: 10px;
  height: 10px;
  opacity: 0.7;
  transition: all 150ms ease-in-out;
}
.match .tabs-header .reset-archive-btn:hover .icon {
  opacity: 1;
}
.fontitem {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  border: 1px solid var(--c-gray-100);
  margin: -1px 0 0 -1px;
  transition: all 250ms ease;
  direction: ltr;
}
.fontitem:hover {
  border-color: var(--c-gray-500);
  box-shadow: 0px 0px 12px -6px var(--c-gray-400);
  z-index: 2;
}
.fontitem.loading:hover {
  border-color: var(--c-gray-100);
  box-shadow: none;
  z-index: auto;
}
.fontitem .item-media-skeleton {
  position: absolute;
  inset: 8px;
  width: calc(100% - 16px);
  height: calc(100% - 16px);
  aspect-ratio: 800 / 450;
  border-radius: 4px;
  background-color: hsl(250, 3%, 96%);
  animation: pulse 2.0s ease-in-out infinite;
}
.fontitem.is-loading-media .item-media {
  aspect-ratio: 800 / 450;
  min-height: 120px;
}
.fontitem.is-media-ready .item-media img {
  opacity: 1;
}
.fontitem.is-loading-media .item-media img {
  opacity: 0;
}
.fontitem .item-media {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 8px;
}
.match-pagination {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  padding: 16px 12px 8px;
}
.match-pagination-info {
  font-size: 13px;
  color: var(--c-text-tertiary, #64748b);
}
.match-pagination-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.match-pagination-pages {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.match-pagination-btn,
.match-pagination-page {
  min-width: 40px;
  height: 36px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid var(--c-gray-200, #e2e8f0);
  background: #fff;
  color: var(--c-text-secondary, #334155);
  font-size: 13px;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
.match-pagination-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.match-pagination-page.is-active {
  background: var(--c-gray-900, #0f172a);
  border-color: var(--c-gray-900, #0f172a);
  color: #fff;
}
.match-pagination-btn:not(:disabled):hover,
.match-pagination-page:not(.is-active):hover {
  border-color: var(--c-gray-400, #94a3b8);
  background: var(--c-gray-50, #f8fafc);
}
.fontitem.item-stacked {
  position: absolute;
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  height: 0;
  overflow: hidden;
}
.fontitem.hidden {
  display: none;
}
.fontitem .item-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.fontitem .item-media {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 8px;
}
.fontitem .item-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: opacity 150ms ease;
}
.fontitem .item-details {
  display: flex;
  justify-content: space-between;
  padding: 0 10px 10px 10px;
}
.fontitem .item-title {
  text-decoration: none;
  font-size: 13px;
  color: var(--c-text-tertiary);
  font-weight: 300;
  transition: all 250ms ease;
  font-family: dana, sans-serif;
  display: flex;
}
.fontitem .item-title .icon svg {
  transition: all 250ms ease;
}
.fontitem .item-title:hover {
  color: var(--c-text);
  text-decoration: underline;
}
.fontitem .item-title:hover .icon svg {
  /* color: var(--c-red-500); */
}
.fontitem:hover .item-title {
  color: var(--c-text);
}
.fontitem .item-controls {
  display: flex;
}
.fontitem .item-action {
  border: none;
  background: none;
  outline: none;
  cursor: pointer;
  color: var(--c-gray-600);
  background-color: var(--c-gray-50);
  height: 22px;
  padding: 4px 10px;
  position: relative;
  border-radius: 999px;
  transition: all 250ms ease;
  display: flex;
  justify-content: center;
}
.fontitem .item-action svg {
  transition: all 250ms ease;
  color: var(--c-gray-600);
  fill: transparent;
}
.fontitem .item-action:hover {
  background-color: var(--c-gray-175);
}
.fontitem .item-action:hover svg {
  color: var(--c-gray-700);
  fill: var(--c-gray-700);
}
#archiveTab .fontitem .item-action svg.star {
  display: none;
}
#defaultTab .fontitem .item-action svg.remove {
  display: none;
}
#defaultTab .fontitem .item-action.is-favorite svg.star {
  color: var(--c-text);
  fill: var(--c-text);
}
.fontitem .stacked-indicator {
  display: flex;
  gap: 6px;
  align-items: center;
  padding-right: 8px;
  margin-right: 8px;
  direction: rtl;
  position: relative;
}
.fontitem .stacked-indicator::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 17px;
  background-color: var(--c-gray-100);
}
.fontitem .stacked-indicator .details {
  font-size: 12px;
  color: var(--c-text-tertiary);
  font-family: danaFaNum;
  display: flex;
  gap: 3px;
}
.fontitem .stacked-indicator .details .icon {

}
.fontitem .stacked-indicator .expand-btn {
  border: none;
  background: none;
  outline: none;
  cursor: pointer;
  background-color: var(--c-gray-50);
  height: 22px;
  position: relative;
  border-radius: 999px;
  transition: all 250ms ease;
  color: var(--c-text-tertiary);
  font-size: 11px;
  line-height: 9px;
  opacity: 0;
}
.fontitem:hover .stacked-indicator .expand-btn {
  opacity: 1;
}
.fontitem .stacked-indicator .expand-btn:hover {
  background-color: var(--c-gray-175);
  color: var(--c-text);
}
/* .match.is-sticky .settings-inner {
  will-change: initial;
}
.match.is-sticky .main-input {
  margin-bottom: 101px;
}
.match.is-sticky .main-input .input-wrapper .user-text {
  border-radius: 28px;
}
.match .controls {
  transition: all 250ms ease;
}
.match.is-sticky .controls {
  position: fixed;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  height: fit-content;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 100;
  background-color: hsla(0, 0%, 100%, 0.96);
  backdrop-filter: blur(16px);
  box-shadow: inset 0 1px 0 0 hsla(0, 0%, 0%, 0.2), 0 -4px 12px -4px hsla(0, 0%, 0%, 0.08);
  animation: controls-sticky-in 260ms cubic-bezier(0.2, 0.7, 0.2, 1) both;
  will-change: transform, opacity;
  display: flex;
  justify-content: center;
  flex-direction: row-reverse;
}
@keyframes controls-sticky-in {
  from {
    transform: translateY(16px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
} */
.match .tab-content .empty-state {
  display: flex;
  justify-content: center;
  /* padding: 242px 48px; */
}
.match .tab-content .empty-state > .wrapper {
  width: 640px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.match .tab-content .empty-state .birb {
  width: 340px;
  margin-right: 80px;
}
.match .tab-content .empty-state .birb img {
  opacity: 0.9;
}
.match .tab-content .empty-state .text {
  font-size: 26px;
  font-weight: 600;
  color: hsl(240, 2%, 10%);
  
}
.match-content.tabs-content .tab-content .empty-state {
  display: none;
}
.match-content.tabs-content .tab-content.empty .empty-state {
  display: flex;
}
/* Customizing Toastify */
.myToast {
  background: #fff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid hsl(0, 0%, 85%) !important;
  border-radius: 8px !important;
  color: var(--c-text) !important;
  font-size: 14px !important;
  padding: 16px !important;
  display: flex !important;
  align-items: center;
  gap: 8px;
  overflow: hidden !important;
  direction: rtl !important;
}
.myToast:hover {
  border: 1px solid hsl(0, 0%, 75%) !important;
}
.myToast .toast-close {
  color: var(--c-text) !important;
  height: 24px;
  width: 24px;
  padding: 0;
  line-height: 26px;
  flex-shrink: 0;
}
.myToast .toast-close:hover {
  opacity: 1;
}
.myToast .progress-bar {
  position: absolute;
  bottom: 0px;
  right: 0;
  height: 2px;
  background-color: var(--c-gray-800);
  animation-name: shrinkWidth;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  direction: rtl;
  /* box-shadow: 0px -2px 16px -1px #000; */
}
.myToast .inner-toast {
  display: flex;
  align-items: center;
  gap: 6px;
}
.myToast .icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.myToast .icon img {
}
.myToast.dangerToast {
  border: 1px solid transparent !important;
  box-shadow:
    inset -36px 0px 36px -30px rgba(255, 0, 0, 0.35),
    inset 0px 0px 0px 1px rgba(0, 0, 0, 0.1) !important;
}
.myToast.dangerToast:hover {
  border: 1px solid transparent !important;
  box-shadow:
    inset -36px 0px 36px -30px rgba(255, 0, 0, 0.35),
    inset 0px 0px 0px 1px rgba(0, 0, 0, 0.25) !important;
}
.myToast.dangerToast .icon {
}
.myToast.dangerToast .icon img {
  width: 22px;
  height: 22px;
}
.myToast .progress-bar {
  /* background-color: hsl(0deg 76.04% 73.71%); */
}
/* Customizing Tippy */
.tippy-box {
  border-radius: 8px !important;
}
.tippy-content {
  padding: 6px 10px !important;
  direction: rtl;
  font-weight: 300;
  color: var(--c-text-tertiary);
  font-size: 13px;
}
.tippy-arrow {
  border-radius: 2px !important;
}
.tippy-box[data-theme~="light"] {
  /* background-color: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(4px) !important; */
}
@media (max-width: 1280px) {
  .tabs-header .tab-item {
    font-size: 18px;
  }
  .tabs-header .tab-item.active {
    font-size: 18px;
  }
}

@media (max-width: 960px) {
  .tabs-header {
    border-bottom: none;
    --item-h: 48px;
  }
  .tabs-header .page-width {
    padding: 0;
  }
  .tabs-header .wrapper {
    min-width: 0;
    overflow: hidden;
  }
  .tabs-header .stream {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    background-color: var(--c-gray-175);
    padding: 12px var(--gutter);
    gap: 6px;
  }
  .match .tabs-header .stream {
    justify-content: initial;
  }
  .tabs-header .stream::-webkit-scrollbar {
    display: none;
  }
  .tabs-header .tab-item {
    flex: 0 0 auto;
    width: auto;
    min-width: max-content;
    height: auto;
    /* height: calc(var(--item-h) - 8px); */
    padding: 12px 24px;
    border: none;
    border-radius: 12px;
    box-shadow: none;
    white-space: nowrap;
  }
  .tabs-header .tab-item.active {
    background-color: #fff;
    border: none;
    box-shadow: 0 1px 3px hsla(0, 0%, 0%, 0.08);
  }
  .tabs-header .tab-item span,
  .tabs-header .tab-item .value {
    font-size: 16px;
    position: static;
    white-space: nowrap;
  }
  .match .tabs-header .tab-item {
    border-radius: 16px;
    box-shadow: none;
    border: none;
    width: calc(50% - 12px);
    padding: 12px 0;
  }
  .match .tabs-header .tab-item.active {
    box-shadow: none;
    border: none;
  }
  .fontitem .stacked-indicator .expand-btn {
    opacity: 1;
  }
  .match .tabs-header .tab-item .tab-counter {
    width: 48px;
    line-height: 28px;
    background-color: var(--c-gray-300);
  }
  .match .tabs-header .tab-item .tab-counter .counter {
    font-size: 12px;
    color: #000;
    font-weight: 400;
  }
  .match .tabs-header .tab-item.active .tab-counter {
    background-color: var(--c-gray-100);
  }
  .ui-tab .row-hero > .wrapper {
    height: 340px;
    justify-content: space-between;
  }
  .ui-tab .row-hero .image-wrapper {
    max-width: 420px;
    height: auto;
    align-self: flex-start;
    flex-shrink: 1;
  }
  .ui-tab .row-hero .text-wrapper {
    width: 380px;
    flex-shrink: 0;
  }
  .ui-tab .row-hero > .wrapper {

  }
  .ui-tab .row-table {
    flex-wrap: wrap;
  }
  .ui-tab .row-table .newsletter {
    width: 100%;
    order: 1;
  }
  .ui-tab .newsletter .title {
    max-width: 460px;
    padding: 0;
    padding-bottom: 24px;
  }
  .ui-tab .newsletter .newsletter-input-wrap {
    max-width: 460px;
  }
  .ui-tab .row-table .profile {
    order: 3;
    aspect-ratio: 25 / 34;
    flex-shrink: 0;
    width: auto;
  }
  .ui-tab .row-table .list {
    order: 2;
    width: auto;
    flex-grow: 1;
  }
  .ui-tab .post {
    width: 100%;
  }
  .ui-tab .related {
    display: none;
  }
}
@media (max-width: 860px) {
  .match-content .item-grid {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }
  .preferences {
    gap: 16px;
  }
  .preferences .control.control-weight {
    width: calc(50% - (32px / 3));
    order: 1;
  }
  .preferences .control.control-alignment {
    order: 2;
    width: calc(25% - (32px / 3));
  }
  .preferences .control.control-size {
    order: 3;
    width: calc(25% - (32px / 3));
  }
  .preferences .control.control-category {
    width: 100%;
    order: 4;
  }
  .numbers-tab .row-title .details > *,
  .languages-tab .row-title .details > *
   {
    display: none;
  }

}

@media (max-width: 768px) {

}
@media (max-width: 640px) {
  .settings {
    height: auto;
  }
  .settings-wrapper {
    height: auto;
    padding: 64px 0;
  }
  .toastify {
    max-width: max(80vw, calc(100% - 124px));
  }
  .settings-inner {
    padding: 12px 36px;
  }
  .main-input .input-wrapper .user-text {
    height: 84px;
    padding: 18px 18px 18px 110px;
    font-size: 25px;
    border-radius: 28px;
  }
  .controls {
    margin-top: 24px;
    border-radius: 28px;
  }
  .controls::before {
    /* content: 'تنظیمات';
    position: absolute;
    top: -23px;
    right: 0;
    width: 74px;
    height: 24px;
    font-size: 12px;
    color: var(--c-text-tertiary);
    padding-top: 4px;
    background-color: #fff;
    border: 1px solid #dcdcdd;
    border-bottom: none;
    border-radius: 10px 28px 0 0;
    text-align: center; */

  }
  .main-input .chara-counter {
    top: 6px;
    right: 20px;
  }
  .main-input .user-text-submit {
    width: 48px;
    height: 48px;
    left: 18px;
  }
  .main-input .clear-text-button {
    left: 80px;
  }
  .main-input .user-text-submit .mobile-icon {
    display: block;
  }
  .main-input .user-text-submit > span {
    display: none;
  }
  .font-stream:has(> *) {
    margin: 16px;
  }
  .font-select {
    margin: 16px;
    --divider-w: 24px;
    --upload-btn-w: 56px;
  }
  .font-select .upload-btn > span {
    display: none;
  }
  .font {
    --font-min-h: 54px;
    --info-w: 200px;
    --icon-w: 54px;
    --icon-h: 54px;
    --trail-w: 40px;
  }
  .font .wrapper {

  }
  .font .info {

  }
  .font .icon {
    margin: 12px;
  }
  .font .options {
    display: none;
  }
  .font .text {
    justify-content: space-evenly;
  }
  .font .name {
    font-size: 16px;
  }
  .font .render-size {
    display: none;
  }
  .font .options-select {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: calc(100% - (var(--info-w) + var(--trail-w)));
    flex-shrink: 1;
    padding-left: 8px;
  }
  .font .options-select .input-wrapper {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 178px;
  }
  .font .options-select .input-wrapper::after {
    content: "";
    position: absolute;
    right: 14px;
    top: 50%;
    width: 14px;
    height: 14px;
    transform: translateY(-50%);
    pointer-events: none;
    opacity: 0.55;
    background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  }
  .font .options-select select {
    direction: ltr;
    width: 100%;
    height: 36px;
    min-width: 0;
    padding: 2px 36px 0 16px;
    font-size: 14px;
    font-weight: 500;
    font-family: inherit;
    color: var(--c-gray-800);
    text-overflow: ellipsis;
    background-color: #fff;
    border: none;
    border-radius: 999px;
    box-shadow: inset hsl(240, 1%, 86%) 0 0 0 1px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    transition: all var(--t-250-out);
  }
  .max-font-message {
    margin: -8px auto 8px auto;
    font-size: 13px;
  }
  .two-font-selected .details-tab {
    flex-wrap: wrap;
  }
  .two-font-selected .details-tab .font-row {
    width: 100%;
  }
  .ui-tab .row-hero > .wrapper {
    flex-direction: column;
    height: auto;
  }
  .ui-tab .row-hero .image-wrapper {
    align-self: center;
  }
  .ui-tab .row-hero .text-wrapper {
    margin-top: -36px;
    padding-bottom: 24px;
    width: 100%;
    max-width: 380px;
  }
  .ui-tab .row-hero .text-wrapper > * {
    margin-right: auto;
    margin-left: auto;
  }
  .ui-tab .row-table .profile {
    width: 100%;
    height: auto;
    aspect-ratio: 25 / 34;
    display: none;
  }
  .ui-tab .profile .image-wrapper img {
    width: 100%;
  }
  .ui-tab .row-table .list {
    width: 100%;
  }
  .ui-tab .row-blog {
    flex-wrap: wrap;
  }
  .ui-tab .post {
    width: 100%;
  }
  .ui-tab .related {
    width: 100%;
  }
  .preferences {
    gap: 16px;
  }
  .preferences .control.control-weight {
    width: 100%;
    order: 1;
  }
  .preferences .control.control-alignment {
    order: 2;
    width: calc(50% - (16px / 2));
  }
  .preferences .control.control-size {
    order: 3;
    width: calc(50% - (16px / 2));
  }
  .preferences .control.control-category {
    width: 100%;
    order: 4;
  }
}
/* qqq */
@media (max-width: 480px) {
  .settings-inner {
    padding: 12px 16px;
  }
  .font-stream:has(> *) {
    margin: 12px;
  } 
  .controls {
    border-radius: 20px;
    margin-top: 16px;
  }
  .main-input .input-wrapper .user-text {
    font-size: 20px;
    padding: 12px 12px 12px 75px;
    height: 76px;
    border-radius: 20px;
  }
  .main-input .chara-counter {
    right: 12px;
  }
  .main-input .user-text-submit {
    width: 52px;
    height: 52px;
    left: 12px;
  } 
  .main-input .clear-text-button {
    display: none;
  }
  .font .wrapper {
    flex-wrap: wrap;
  }
  .font .wrapper .info {
    order: 1;
    width: calc(100% - var(--trail-w));
  }
  .font .wrapper .options-select {
    order: 3;
    width: 100%;
    padding: 0 8px 8px 8px;
  }
  .font .options-select .input-wrapper {
    width: 100%;
    max-width: 100%;
  }
  .font .options-select select {
    border-radius: 6px;
  }
  .font .wrapper .trail {
    order: 2;
    align-items: flex-start;
    padding-top: 4px;
  }
  .font .icon {
    margin: 8px;
    margin-left: 12px;
  }

}
@media (max-width: 420px) {
  .settings-inner {
    padding: 12px 8px;
  }
  .main-input .input-wrapper .user-text {
    font-size: 18px;
    padding: 8px 8px 8px 58px;
    height: 62px;
    border-radius: 16px;
  }
  .main-input .user-text-submit {
    width: 42px;
    height: 42px;
    left: 10px;
    border-radius: 10px;
  } 
  .main-input .chara-counter {
    top: 4px;
    font-size: 11px;
    right: 9px;
  }
  .controls { 
    box-shadow: inset #ffffff00 0 0 0 1px;
  }
  .one-font-selected .controls,
  .two-font-selected .controls {
    box-shadow: inset #dcdcdd 0 0 0 1px;
  }
  .font-select {
    margin: 0;
    border: none;
    --fs-h: 52px;
    --upload-btn-w: 52px;
  }
  .one-font-selected .font-select,
  .two-font-selected .font-select {
    margin: 12px;
  }
  .font-stream {
    gap: 12px;
  }
  .fs-main .fs-wrapper {

  }
  .font-select .upload-btn {

  }
  .font-select .upload-btn {

  }
  .fs-main .fs-input-wrapper {

  }
  .fs-main.active .fs-wrapper {

  }
  .fs-main .fs-input-wrapper .fs-search {
    font-size: 16px;
    padding: 8px 16px 8px 36px;
  }
  .fs-main .fs-input-wrapper .icon {
    left: 12px;
  }
  .match .controls {
    box-shadow: inset #dcdcdd 0 0 0 1px;
  }
  .match .preferences {
    padding: 16px;
  }
  }
@media (max-width: 380px) {

}
@media (max-width: 280px) {
}
/* FontLab — first-visit mobile desktop hint (cookie-dismissed) */
.lab-mobile-notice {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
  padding-bottom: max(16px, env(safe-area-inset-bottom));
  pointer-events: none;
  animation: lab-mobile-notice-fade-in 0.35s ease;
}

@keyframes lab-mobile-notice-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes lab-mobile-notice-slide-up {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.lab-mobile-notice__backdrop {
  position: absolute;
  inset: 0;
  border: none;
  padding: 0;
  margin: 0;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  pointer-events: auto;
  cursor: pointer;
}

.lab-mobile-notice__card {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 400px;
  pointer-events: auto;
  background: #fff;
  border-radius: 20px 20px 16px 16px;
  padding: 28px 24px 24px;
  text-align: center;
  box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.18), 0 4px 24px rgba(0, 0, 0, 0.08);
  animation: lab-mobile-notice-slide-up 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.lab-mobile-notice__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: linear-gradient(145deg, #f0f4ff 0%, #e8eef9 100%);
  color: #3b5bdb;
}

.lab-mobile-notice__title {
  margin: 0 0 12px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  color: #1a1a2e;
}

.lab-mobile-notice__text {
  margin: 0 0 20px;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #4a5568;
}

.lab-mobile-notice__btn {
  display: block;
  width: 100%;
  padding: 14px 20px;
  border: none;
  border-radius: 12px;
  background: #1a1a2e;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease;
}

.lab-mobile-notice__btn:hover,
.lab-mobile-notice__btn:focus-visible {
  background: #2d2d44;
  outline: none;
}

.lab-mobile-notice__btn:active {
  transform: scale(0.98);
}

/* dark mode */
:root.dark-mode {

}