/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
:root,
:host{
  --font-sans: Inter, "Noto Sans SC", ui-sans-serif, system-ui, sans-serif;
  --color-amber-400: oklch(82.8% 0.189 84.429);
  --color-amber-500: oklch(76.9% 0.188 70.08);
  --color-green-50: oklch(98.2% 0.018 155.826);
  --color-green-200: oklch(92.5% 0.084 155.995);
  --color-green-400: oklch(79.2% 0.209 151.711);
  --color-green-500: oklch(72.3% 0.219 149.579);
  --color-green-600: oklch(62.7% 0.194 149.214);
  --color-green-900: oklch(39.3% 0.095 152.535);
  --color-cyan-500: oklch(71.5% 0.143 215.221);
  --color-blue-50: oklch(97% 0.014 254.604);
  --color-blue-200: oklch(88.2% 0.059 254.128);
  --color-blue-400: oklch(70.7% 0.165 254.624);
  --color-blue-500: oklch(62.3% 0.214 259.815);
  --color-blue-600: oklch(54.6% 0.245 262.881);
  --color-blue-900: oklch(37.9% 0.146 265.522);
  --color-purple-50: oklch(97.7% 0.014 308.299);
  --color-purple-100: oklch(94.6% 0.033 307.174);
  --color-purple-200: oklch(90.2% 0.063 306.703);
  --color-purple-400: oklch(71.4% 0.203 305.504);
  --color-purple-500: oklch(62.7% 0.265 303.9);
  --color-purple-600: oklch(55.8% 0.288 302.321);
  --color-purple-900: oklch(38.1% 0.176 304.987);
  --color-pink-500: oklch(65.6% 0.241 354.308);
  --color-gray-50: oklch(98.5% 0.002 247.839);
  --color-gray-100: oklch(96.7% 0.003 264.542);
  --color-gray-200: oklch(92.8% 0.006 264.531);
  --color-gray-300: oklch(87.2% 0.01 258.338);
  --color-gray-400: oklch(70.7% 0.022 261.325);
  --color-gray-500: oklch(55.1% 0.027 264.364);
  --color-gray-600: oklch(44.6% 0.03 256.802);
  --color-gray-700: oklch(37.3% 0.034 259.733);
  --color-gray-800: oklch(27.8% 0.033 256.848);
  --color-gray-900: oklch(21% 0.034 264.665);
  --color-white: #fff;
  --spacing: 0.25rem;
  --container-2xl: 42rem;
  --container-3xl: 48rem;

  --container-5xl: 64rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.875);
  --text-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --text-lg: 1.125rem;
  --text-lg--line-height: calc(1.75 / 1.125);
  --text-xl: 1.25rem;
  --text-xl--line-height: calc(1.75 / 1.25);
  --text-2xl: 1.5rem;
  --text-2xl--line-height: calc(2 / 1.5);
  --text-3xl: 1.875rem;
  --text-3xl--line-height: calc(2.25 / 1.875);
  --text-4xl: 2.25rem;
  --text-4xl--line-height: calc(2.5 / 2.25);
  --text-5xl: 3rem;
  --text-5xl--line-height: 1;
  --text-6xl: 3.75rem;
  --text-6xl--line-height: 1;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --leading-relaxed: 1.625;

  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --blur-sm: 8px;
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --color-primary-100: #ccfbf1;
  --color-primary-400: #2dd4bf;
  --color-primary-500: #14b8a6;
  --color-primary-600: #0d9488;
  --color-primary-700: #0f766e;
  --color-primary-900: #134e4a;
  --color-secondary-100: #e0f2fe;
  --color-secondary-400: #38bdf8;
  --color-secondary-500: #0ea5e9;
  --color-secondary-600: #0284c7;
  --color-secondary-700: #0369a1;
  --color-secondary-900: #0c4a6e;
  --color-dark-100: #1e293b;
  --color-dark-200: #0f172a;
  --color-dark-300: #020617;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.sticky{
  position: sticky;
}
.inset-0{
  inset: calc(var(--spacing) * 0);
}
.top-0{
  top: calc(var(--spacing) * 0);
}
.right-0{
  right: calc(var(--spacing) * 0);
}
.bottom-0{
  bottom: calc(var(--spacing) * 0);
}
.left-0{
  left: calc(var(--spacing) * 0);
}
.left-4{
  left: calc(var(--spacing) * 4);
}
.z-10{
  z-index: 10;
}
.z-50{
  z-index: 50;
}
.mx-auto{
  margin-inline: auto;
}
.mt-0\.5{
  margin-top: calc(var(--spacing) * 0.5);
}
.mt-1{
  margin-top: calc(var(--spacing) * 1);
}
.mt-2{
  margin-top: calc(var(--spacing) * 2);
}
.mt-3{
  margin-top: calc(var(--spacing) * 3);
}
.mt-6{
  margin-top: calc(var(--spacing) * 6);
}
.mt-8{
  margin-top: calc(var(--spacing) * 8);
}
.mt-10{
  margin-top: calc(var(--spacing) * 10);
}
.mt-12{
  margin-top: calc(var(--spacing) * 12);
}
.mt-16{
  margin-top: calc(var(--spacing) * 16);
}
.mt-20{
  margin-top: calc(var(--spacing) * 20);
}
.mt-auto{
  margin-top: auto;
}
.mr-2{
  margin-right: calc(var(--spacing) * 2);
}
.mr-3{
  margin-right: calc(var(--spacing) * 3);
}
.mb-1{
  margin-bottom: calc(var(--spacing) * 1);
}
.mb-2{
  margin-bottom: calc(var(--spacing) * 2);
}
.mb-3{
  margin-bottom: calc(var(--spacing) * 3);
}
.mb-4{
  margin-bottom: calc(var(--spacing) * 4);
}
.mb-6{
  margin-bottom: calc(var(--spacing) * 6);
}
.mb-8{
  margin-bottom: calc(var(--spacing) * 8);
}
.mb-10{
  margin-bottom: calc(var(--spacing) * 10);
}
.mb-12{
  margin-bottom: calc(var(--spacing) * 12);
}
.mb-16{
  margin-bottom: calc(var(--spacing) * 16);
}
.ml-2{
  margin-left: calc(var(--spacing) * 2);
}
.ml-3{
  margin-left: calc(var(--spacing) * 3);
}
.ml-6{
  margin-left: calc(var(--spacing) * 6);
}
.block{
  display: block;
}
.flex{
  display: flex;
}
.grid{
  display: grid;
}
.hidden{
  display: none;
}
.inline-flex{
  display: inline-flex;
}
.aspect-square{
  aspect-ratio: 1 / 1;
}
.h-5{
  height: calc(var(--spacing) * 5);
}
.h-7{
  height: calc(var(--spacing) * 7);
}
.h-8{
  height: calc(var(--spacing) * 8);
}
.h-10{
  height: calc(var(--spacing) * 10);
}
.h-16{
  height: calc(var(--spacing) * 16);
}
.h-\[300px\]{
  height: 300px;
}
.h-\[400px\]{
  height: 400px;
}
.h-auto{
  height: auto;
}
.h-full{
  height: 100%;
}
.min-h-screen{
  min-height: 100vh;
}
.w-0\.5{
  width: calc(var(--spacing) * 0.5);
}
.w-5{
  width: calc(var(--spacing) * 5);
}
.w-8{
  width: calc(var(--spacing) * 8);
}
.w-10{
  width: calc(var(--spacing) * 10);
}
.w-16{
  width: calc(var(--spacing) * 16);
}
.w-full{
  width: 100%;
}
.max-w-2xl{
  max-width: var(--container-2xl);
}
.max-w-3xl{
  max-width: var(--container-3xl);
}
.max-w-5xl{
  max-width: var(--container-5xl);
}
.max-w-\[300px\]{
  max-width: 300px;
}
.flex-1{
  flex: 1;
}
.flex-shrink-0{
  flex-shrink: 0;
}
.shrink-0{
  flex-shrink: 0;
}
.flex-grow{
  flex-grow: 1;
}
.transform{
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
}
.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-col{
  flex-direction: column;
}
.flex-wrap{
  flex-wrap: wrap;
}
.items-center{
  align-items: center;
}
.items-start{
  align-items: flex-start;
}
.justify-between{
  justify-content: space-between;
}
.justify-center{
  justify-content: center;
}
.gap-4{
  gap: calc(var(--spacing) * 4);
}
.gap-6{
  gap: calc(var(--spacing) * 6);
}
.gap-8{
  gap: calc(var(--spacing) * 8);
}
:where(.space-y-2 > :not(:last-child)){
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
}
:where(.space-y-3 > :not(:last-child)){
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
}
:where(.space-y-4 > :not(:last-child)){
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
}
:where(.space-x-2 > :not(:last-child)){
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
}
.overflow-hidden{
  overflow: hidden;
}
.rounded-2xl{
  border-radius: var(--radius-2xl);
}
.rounded-full{
  border-radius: calc(infinity * 1px);
}
.rounded-lg{
  border-radius: var(--radius-lg);
}
.rounded-xl{
  border-radius: var(--radius-xl);
}
.border{
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-t{
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.border-b{
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
}
.border-blue-200{
  border-color: var(--color-blue-200);
}
.border-gray-100{
  border-color: var(--color-gray-100);
}
.border-gray-200{
  border-color: var(--color-gray-200);
}
.border-gray-600{
  border-color: var(--color-gray-600);
}
.border-gray-700{
  border-color: var(--color-gray-700);
}
.border-green-200{
  border-color: var(--color-green-200);
}
.border-purple-200{
  border-color: var(--color-purple-200);
}
.bg-blue-50{
  background-color: var(--color-blue-50);
}
.bg-blue-500{
  background-color: var(--color-blue-500);
}
.bg-gray-50{
  background-color: var(--color-gray-50);
}
.bg-gray-100{
  background-color: var(--color-gray-100);
}
.bg-gray-200{
  background-color: var(--color-gray-200);
}
.bg-gray-300{
  background-color: var(--color-gray-300);
}
.bg-gray-800{
  background-color: var(--color-gray-800);
}
.bg-green-50{
  background-color: var(--color-green-50);
}
.bg-green-500{
  background-color: var(--color-green-500);
}
.bg-primary-100{
  background-color: var(--color-primary-100);
}
.bg-primary-500{
  background-color: var(--color-primary-500);
}
.bg-purple-50{
  background-color: var(--color-purple-50);
}
.bg-purple-100{
  background-color: var(--color-purple-100);
}
.bg-purple-500{
  background-color: var(--color-purple-500);
}
.bg-secondary-100{
  background-color: var(--color-secondary-100);
}
.bg-secondary-500{
  background-color: var(--color-secondary-500);
}
.bg-white{
  background-color: var(--color-white);
}
.bg-white\/80{
  background-color: color-mix(in srgb, #fff 80%, transparent);
}
@supports (color: color-mix(in lab, red, red)) {
  .bg-white\/80{
    background-color: color-mix(in oklab, var(--color-white) 80%, transparent);
  }
  }
.bg-gradient-to-br{
  --tw-gradient-position: to bottom right in oklab;
  background-image: linear-gradient(var(--tw-gradient-stops));
}
.bg-gradient-to-r{
  --tw-gradient-position: to right in oklab;
  background-image: linear-gradient(var(--tw-gradient-stops));
}
.from-blue-500{
  --tw-gradient-from: var(--color-blue-500);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.from-gray-900{
  --tw-gradient-from: var(--color-gray-900);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.from-green-500{
  --tw-gradient-from: var(--color-green-500);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.from-primary-400{
  --tw-gradient-from: var(--color-primary-400);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.from-primary-500{
  --tw-gradient-from: var(--color-primary-500);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.from-purple-500{
  --tw-gradient-from: var(--color-purple-500);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.from-secondary-500{
  --tw-gradient-from: var(--color-secondary-500);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-blue-600{
  --tw-gradient-to: var(--color-blue-600);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-cyan-500{
  --tw-gradient-to: var(--color-cyan-500);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-gray-800{
  --tw-gradient-to: var(--color-gray-800);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-green-600{
  --tw-gradient-to: var(--color-green-600);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-pink-500{
  --tw-gradient-to: var(--color-pink-500);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-primary-600{
  --tw-gradient-to: var(--color-primary-600);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-purple-600{
  --tw-gradient-to: var(--color-purple-600);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-secondary-400{
  --tw-gradient-to: var(--color-secondary-400);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-secondary-500{
  --tw-gradient-to: var(--color-secondary-500);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-secondary-600{
  --tw-gradient-to: var(--color-secondary-600);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.bg-clip-text{
  background-clip: text;
}
.fill-current{
  fill: currentcolor;
}
.object-cover{
  object-fit: cover;
}
.p-4{
  padding: calc(var(--spacing) * 4);
}
.p-6{
  padding: calc(var(--spacing) * 6);
}
.p-8{
  padding: calc(var(--spacing) * 8);
}
.px-4{
  padding-inline: calc(var(--spacing) * 4);
}
.px-6{
  padding-inline: calc(var(--spacing) * 6);
}
.px-8{
  padding-inline: calc(var(--spacing) * 8);
}
.py-2{
  padding-block: calc(var(--spacing) * 2);
}
.py-3{
  padding-block: calc(var(--spacing) * 3);
}
.py-4{
  padding-block: calc(var(--spacing) * 4);
}
.py-16{
  padding-block: calc(var(--spacing) * 16);
}
.pt-0{
  padding-top: calc(var(--spacing) * 0);
}
.pt-6{
  padding-top: calc(var(--spacing) * 6);
}
.pt-8{
  padding-top: calc(var(--spacing) * 8);
}
.pt-12{
  padding-top: calc(var(--spacing) * 12);
}
.pr-4{
  padding-right: calc(var(--spacing) * 4);
}
.pb-6{
  padding-bottom: calc(var(--spacing) * 6);
}
.pb-8{
  padding-bottom: calc(var(--spacing) * 8);
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.font-sans{
  font-family: var(--font-sans);
}
.text-2xl{
  font-size: var(--text-2xl);
  line-height: var(--tw-leading, var(--text-2xl--line-height));
}
.text-3xl{
  font-size: var(--text-3xl);
  line-height: var(--tw-leading, var(--text-3xl--line-height));
}
.text-4xl{
  font-size: var(--text-4xl);
  line-height: var(--tw-leading, var(--text-4xl--line-height));
}
.text-base{
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}
.text-lg{
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
}
.text-sm{
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.text-xl{
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
}
.text-xs{
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}
.leading-relaxed{
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
}
.font-bold{
font-weight: var(--font-weight-bold);
}
.font-medium{
font-weight: var(--font-weight-medium);
}
.font-semibold{
font-weight: var(--font-weight-semibold);
}
.text-amber-400{
  color: var(--color-amber-400);
}
.text-amber-500{
  color: var(--color-amber-500);
}
.text-blue-500{
  color: var(--color-blue-500);
}
.text-blue-600{
  color: var(--color-blue-600);
}
.text-gray-50{
  color: var(--color-gray-50);
}
.text-gray-200{
  color: var(--color-gray-200);
}
.text-gray-400{
  color: var(--color-gray-400);
}
.text-gray-500{
  color: var(--color-gray-500);
}
.text-gray-600{
  color: var(--color-gray-600);
}
.text-gray-700{
  color: var(--color-gray-700);
}
.text-gray-800{
  color: var(--color-gray-800);
}
.text-gray-900{
  color: var(--color-gray-900);
}
.text-green-500{
  color: var(--color-green-500);
}
.text-green-600{
  color: var(--color-green-600);
}
.text-primary-400{
  color: var(--color-primary-400);
}
.text-primary-500{
  color: var(--color-primary-500);
}
.text-primary-600{
  color: var(--color-primary-600);
}
.text-purple-500{
  color: var(--color-purple-500);
}
.text-purple-600{
  color: var(--color-purple-600);
}
.text-secondary-500{
  color: var(--color-secondary-500);
}
.text-secondary-600{
  color: var(--color-secondary-600);
}
.text-transparent{
  color: transparent;
}
.text-white{
  color: var(--color-white);
}
.antialiased{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opacity-20{
  opacity: 20%;
}
.shadow-2xl{
  --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-inner{
  --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-lg{
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-md{
  --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-sm{
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.backdrop-blur-sm{
  --tw-backdrop-blur: blur(var(--blur-sm));
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
}
.transition{
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
  transition-timing-function: var(--default-transition-timing-function);
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.transition-colors{
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--default-transition-timing-function);
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.delay-200{
  transition-delay: 200ms;
}
.duration-300{
  --tw-duration: 300ms;
  transition-duration: 300ms;
}
@media (hover: hover) {
  .hover\:scale-105:hover{
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
scale: var(--tw-scale-x) var(--tw-scale-y);
  }
    }
@media (hover: hover) {
  .hover\:bg-blue-600:hover{
      background-color: var(--color-blue-600);
  }
    }
@media (hover: hover) {
  .hover\:bg-gray-100:hover{
      background-color: var(--color-gray-100);
  }
    }
@media (hover: hover) {
  .hover\:bg-gray-700:hover{
      background-color: var(--color-gray-700);
  }
    }
@media (hover: hover) {
  .hover\:bg-green-600:hover{
      background-color: var(--color-green-600);
  }
    }
@media (hover: hover) {
  .hover\:bg-primary-600:hover{
      background-color: var(--color-primary-600);
  }
    }
@media (hover: hover) {
  .hover\:bg-purple-600:hover{
      background-color: var(--color-purple-600);
  }
    }
@media (hover: hover) {
  .hover\:bg-secondary-600:hover{
      background-color: var(--color-secondary-600);
  }
    }
@media (hover: hover) {
  .hover\:from-primary-600:hover{
      --tw-gradient-from: var(--color-primary-600);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
    }
@media (hover: hover) {
  .hover\:from-secondary-600:hover{
      --tw-gradient-from: var(--color-secondary-600);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
    }
@media (hover: hover) {
  .hover\:to-primary-700:hover{
      --tw-gradient-to: var(--color-primary-700);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
    }
@media (hover: hover) {
  .hover\:to-secondary-700:hover{
      --tw-gradient-to: var(--color-secondary-700);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
    }
@media (hover: hover) {
  .hover\:text-primary-400:hover{
      color: var(--color-primary-400);
  }
    }
@media (hover: hover) {
  .hover\:text-primary-600:hover{
      color: var(--color-primary-600);
  }
    }
@media (hover: hover) {
  .hover\:text-primary-700:hover{
      color: var(--color-primary-700);
  }
    }
@media (hover: hover) {
  .hover\:text-white:hover{
      color: var(--color-white);
  }
    }
@media (hover: hover) {
  .hover\:underline:hover{
      text-decoration-line: underline;
  }
    }
@media (hover: hover) {
  .hover\:shadow-xl:hover{
      --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
    }


/* Review author information */
#contact .ml-3 {
    min-width: 0;
}

#contact .ml-3 > p {
    margin: 0;
    line-height: 1.4;
}

#contact .ml-3 > p + p {
    margin-top: 0.18rem;
}

/* Updates log: fill the full left card and scroll only inside it */
.updates-log-card {
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.updates-log-scroll {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

@media (width < 64rem) {
    .updates-log-scroll {
        max-height: 32rem;
        flex-basis: auto;
    }
}

@media (width >= 48rem) {
  .md\:h-\[450px\]{
    height: 450px;
  }
  }
@media (width >= 48rem) {
  .md\:h-\[500px\]{
    height: 500px;
  }
  }
@media (width >= 48rem) {
  .md\:w-1\/2{
    width: calc(1/2 * 100%);
  }
  }
@media (width >= 48rem) {
  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  }
@media (width >= 48rem) {
  .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  }
@media (width >= 48rem) {
  .md\:flex-row{
    flex-direction: row;
  }
  }
@media (width >= 48rem) {
  .md\:justify-end{
    justify-content: flex-end;
  }
  }
@media (width >= 48rem) {
  .md\:justify-start{
    justify-content: flex-start;
  }
  }
@media (width >= 48rem) {
  .md\:gap-8{
    gap: calc(var(--spacing) * 8);
  }
  }
@media (width >= 48rem) {
  .md\:p-6{
    padding: calc(var(--spacing) * 6);
  }
  }
@media (width >= 48rem) {
  .md\:p-8{
    padding: calc(var(--spacing) * 8);
  }
  }
@media (width >= 48rem) {
  .md\:py-24{
    padding-block: calc(var(--spacing) * 24);
  }
  }
@media (width >= 48rem) {
  .md\:py-28{
    padding-block: calc(var(--spacing) * 28);
  }
  }
@media (width >= 48rem) {
  .md\:text-4xl{
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  }
@media (width >= 48rem) {
  .md\:text-5xl{
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
  }
@media (width >= 48rem) {
  .md\:text-xl{
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  }
@media (width >= 64rem) {
  .lg\:col-span-2{
    grid-column: span 2 / span 2;
  }
  }
@media (width >= 64rem) {
  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  }
@media (width >= 64rem) {
  .lg\:p-10{
    padding: calc(var(--spacing) * 10);
  }
  }
@media (width >= 64rem) {
  .lg\:text-6xl{
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--line-height));
  }
  }
.dark\:border-blue-900:where(.dark, .dark *){
    border-color: var(--color-blue-900);
}
.dark\:border-gray-500:where(.dark, .dark *){
    border-color: var(--color-gray-500);
}
.dark\:border-gray-600:where(.dark, .dark *){
    border-color: var(--color-gray-600);
}
.dark\:border-gray-700:where(.dark, .dark *){
    border-color: var(--color-gray-700);
}
.dark\:border-gray-800:where(.dark, .dark *){
    border-color: var(--color-gray-800);
}
.dark\:border-green-900:where(.dark, .dark *){
    border-color: var(--color-green-900);
}
.dark\:border-purple-900:where(.dark, .dark *){
    border-color: var(--color-purple-900);
}
.dark\:bg-blue-900\/20:where(.dark, .dark *){
    background-color: color-mix(in srgb, oklch(37.9% 0.146 265.522) 20%, transparent);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark\:bg-blue-900\/20:where(.dark, .dark *){
      background-color: color-mix(in oklab, var(--color-blue-900) 20%, transparent);
  }
    }
.dark\:bg-dark-100:where(.dark, .dark *){
    background-color: var(--color-dark-100);
}
.dark\:bg-dark-100\/80:where(.dark, .dark *){
    background-color: color-mix(in srgb, #1e293b 80%, transparent);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark\:bg-dark-100\/80:where(.dark, .dark *){
      background-color: color-mix(in oklab, var(--color-dark-100) 80%, transparent);
  }
    }
.dark\:bg-dark-200:where(.dark, .dark *){
    background-color: var(--color-dark-200);
}
.dark\:bg-dark-300:where(.dark, .dark *){
    background-color: var(--color-dark-300);
}
.dark\:bg-gray-700:where(.dark, .dark *){
    background-color: var(--color-gray-700);
}
.dark\:bg-green-900\/20:where(.dark, .dark *){
    background-color: color-mix(in srgb, oklch(39.3% 0.095 152.535) 20%, transparent);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark\:bg-green-900\/20:where(.dark, .dark *){
      background-color: color-mix(in oklab, var(--color-green-900) 20%, transparent);
  }
    }
.dark\:bg-primary-900\/30:where(.dark, .dark *){
    background-color: color-mix(in srgb, #134e4a 30%, transparent);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark\:bg-primary-900\/30:where(.dark, .dark *){
      background-color: color-mix(in oklab, var(--color-primary-900) 30%, transparent);
  }
    }
.dark\:bg-purple-900\/20:where(.dark, .dark *){
    background-color: color-mix(in srgb, oklch(38.1% 0.176 304.987) 20%, transparent);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark\:bg-purple-900\/20:where(.dark, .dark *){
      background-color: color-mix(in oklab, var(--color-purple-900) 20%, transparent);
  }
    }
.dark\:bg-purple-900\/30:where(.dark, .dark *){
    background-color: color-mix(in srgb, oklch(38.1% 0.176 304.987) 30%, transparent);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark\:bg-purple-900\/30:where(.dark, .dark *){
      background-color: color-mix(in oklab, var(--color-purple-900) 30%, transparent);
  }
    }
.dark\:bg-secondary-900\/30:where(.dark, .dark *){
    background-color: color-mix(in srgb, #0c4a6e 30%, transparent);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark\:bg-secondary-900\/30:where(.dark, .dark *){
      background-color: color-mix(in oklab, var(--color-secondary-900) 30%, transparent);
  }
    }
.dark\:from-dark-300:where(.dark, .dark *){
    --tw-gradient-from: var(--color-dark-300);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.dark\:to-dark-200:where(.dark, .dark *){
    --tw-gradient-to: var(--color-dark-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.dark\:text-blue-400:where(.dark, .dark *){
    color: var(--color-blue-400);
}
.dark\:text-dark-200:where(.dark, .dark *){
    color: var(--color-dark-200);
}
.dark\:text-gray-200:where(.dark, .dark *){
    color: var(--color-gray-200);
}
.dark\:text-gray-300:where(.dark, .dark *){
    color: var(--color-gray-300);
}
.dark\:text-gray-400:where(.dark, .dark *){
    color: var(--color-gray-400);
}
.dark\:text-gray-500:where(.dark, .dark *){
    color: var(--color-gray-500);
}
.dark\:text-green-400:where(.dark, .dark *){
    color: var(--color-green-400);
}
.dark\:text-primary-400:where(.dark, .dark *){
    color: var(--color-primary-400);
}
.dark\:text-purple-400:where(.dark, .dark *){
    color: var(--color-purple-400);
}
.dark\:text-secondary-400:where(.dark, .dark *){
    color: var(--color-secondary-400);
}
.dark\:text-white:where(.dark, .dark *){
    color: var(--color-white);
}
@media (hover: hover) {
  .dark\:hover\:bg-dark-100:where(.dark, .dark *):hover{
        background-color: var(--color-dark-100);
  }
      }
@media (hover: hover) {
  .dark\:hover\:bg-dark-300:where(.dark, .dark *):hover{
        background-color: var(--color-dark-300);
  }
      }
@media (hover: hover) {
  .dark\:hover\:text-primary-400:where(.dark, .dark *):hover{
        color: var(--color-primary-400);
  }
      }
@media (hover: hover) {
  .dark\:hover\:text-primary-500:where(.dark, .dark *):hover{
        color: var(--color-primary-500);
  }
      }
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *,
::before,
::after,
::backdrop{
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
--tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
--tw-gradient-to-position: 100%;
      --tw-leading: initial;
--tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
--tw-inset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--tw-inset-ring-shadow: 0 0 #0000;
--tw-ring-offset-shadow: 0 0 #0000;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
}
  }
}

        
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        @keyframes progressFill {
            0% { width: 0; }
            100% { width: var(--progress-width); }
        }
        
        @keyframes fillChart {
            0% { opacity: 0; transform: scale(0.8); }
            100% { opacity: 1; transform: scale(1); }
        }
        
        .animate-fadeIn {
            animation: fadeIn 0.6s ease-out forwards;
        }
        
        .progress-animate {
            animation: progressFill 1.5s ease-out forwards;
            --progress-width: 100%;
        }
        
        .animate-fill-chart {
            animation: fillChart 1.5s ease-out forwards;
            opacity: 0;
            transform: scale(0.8);
        }
        
        .feature-icon { transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease; }
        .feature-card:hover .feature-icon { transform: scale(1.1); }
        
        .platform-card { transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease; }
        .platform-card:hover { transform: translateY(-5px); }
        
        .ring-chart-main {
            background: conic-gradient(from 0deg, #22c55e 0% 55%, #3b82f6 55% 80%, #a855f7 80% 100%);
            -webkit-background: -webkit-conic-gradient(from 0deg, #22c55e 0% 55%, #3b82f6 55% 80%, #a855f7 80% 100%);
            mask: radial-gradient(transparent 50%, black 50%);
            -webkit-mask: radial-gradient(transparent 50%, black 50%);
        }
        
        .ring-chart-center {
            inset: 50%;
            z-index: 1;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .ring-chart-title {
            text-align: center;
            width: 100%;
            transform: translateY(30px);
            margin-bottom: 0.25rem;
        }
        
        @media (min-width: 768px) {
            .ring-chart-center { inset: 50%; }
            .ring-chart-title {
                transform: translateY(-40px);
                margin-bottom: 0.1rem;
            }
        }
        
        @media (max-width: 768px) {
            #featureRadarChart { height: 300px; }
.ring-chart-center { inset: 50%; }
            .ring-chart-title {
                font-size: 1.1rem;
                transform: translateY(-30px);
                margin-bottom: 0.2rem;
            }
        }
        
        @supports not (background: conic-gradient(#22c55e 0% 55%, #3b82f6 55% 80%, #a855f7 80% 100%)) {
            .ring-chart-main {
                background: #22c55e;
                position: relative;
            }
            .ring-chart-main::after {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                border-radius: 50%;
                background: linear-gradient(to right, transparent 50%, #3b82f6 50%);
                clip-path: polygon(50% 0, 100% 0, 100% 100%, 50% 100%, 50% 50%);
            }
        }


/* Modern article body */
.article-body {
    color: #4b5563;
    font-size: 1rem;
    line-height: 1.75;
    text-align: left;
    word-break: normal;
    overflow-wrap: break-word;
}

.dark .article-body {
    color: #d1d5db;
}

.article-body * {
    box-sizing: border-box;
}

.article-body p {
    margin: 1.25rem 0;
    color: #4b5563;
    font-size: 1rem;
    line-height: 1.75;
    text-align: left;
    text-indent: 0;
    word-break: normal;
    overflow-wrap: break-word;
}

.dark .article-body p {
    color: #d1d5db;
}

.article-body h1,
.article-body h2,
.article-body h3,
.article-body h4,
.article-body h5,
.article-body h6 {
    color: #111827;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
    word-break: normal;
    overflow-wrap: break-word;
    margin: 2rem 0 1rem;
}

.dark .article-body h1,
.dark .article-body h2,
.dark .article-body h3,
.dark .article-body h4,
.dark .article-body h5,
.dark .article-body h6 {
    color: #ffffff;
}

.article-body h1 {
    font-size: clamp(1.875rem, 4vw, 2.5rem);
}

.article-body h2 {
    font-size: clamp(1.5rem, 3vw, 2rem);
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e5e7eb;
}

.dark .article-body h2 {
    border-bottom-color: #374151;
}

.article-body h3 {
    font-size: clamp(1.25rem, 2.5vw, 1.625rem);
}

.article-body h4 {
    font-size: 1.2rem;
}

.article-body h5 {
    font-size: 1.1rem;
}

.article-body h6 {
    font-size: 1rem;
    letter-spacing: 0.02em;
}

.article-body strong {
    color: #111827;
    font-weight: 700;
}

.dark .article-body strong {
    color: #ffffff;
}

.article-body em {
    font-style: italic;
}

.article-body mark {
    color: #111827;
    background: #fef3c7;
    padding: 0.1em 0.25em;
    border-radius: 0.25rem;
}

.dark .article-body mark {
    color: #ffffff;
    background: rgba(251, 191, 36, 0.35);
}

.article-body a {
    color: #2563eb;
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
    transition: color 0.2s ease;
    word-break: break-word;
    overflow-wrap: break-word;
}

.article-body a:hover,
.article-body a:focus-visible {
    color: #1d4ed8;
}

.dark .article-body a {
    color: #93c5fd;
}

.dark .article-body a:hover,
.dark .article-body a:focus-visible {
    color: #bfdbfe;
}

.article-body abbr[title] {
    cursor: help;
    text-decoration: underline dotted;
    text-underline-offset: 0.18em;
}

.article-body time {
    font-variant-numeric: tabular-nums;
}

.article-body ul,
.article-body ol {
    margin: 1.25rem 0;
    padding-left: 1.5rem;
    color: #4b5563;
    list-style-position: outside;
    text-align: left;
}

.dark .article-body ul,
.dark .article-body ol {
    color: #d1d5db;
}

.article-body ul {
    list-style-type: disc;
}

.article-body ol {
    list-style-type: decimal;
}

.article-body li {
    margin: 0.5rem 0;
    line-height: 1.7;
    text-align: left;
}

.article-body li::marker {
    color: #6b7280;
}

.dark .article-body li::marker {
    color: #9ca3af;
}

.article-body li > ul,
.article-body li > ol {
    margin: 0.5rem 0;
}

.article-body img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 1.5rem 0;
    border-radius: 0.75rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.article-body figure {
    max-width: 100%;
    margin: 1.5rem 0;
    text-align: left;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.article-body figure img {
    margin: 0;
}

.article-body figcaption,
.article-body caption {
    color: #6b7280;
    font-size: 0.875rem;
    line-height: 1.6;
    text-align: left;
}

.dark .article-body figcaption,
.dark .article-body caption {
    color: #9ca3af;
}

.article-body figcaption {
    margin-top: 0.75rem;
}

.article-body table {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 1.5rem 0;
    overflow-x: auto;
    border-collapse: collapse;
    border-spacing: 0;
    text-align: left;
    -webkit-overflow-scrolling: touch;
}

.article-body caption {
    caption-side: top;
    margin-bottom: 0.75rem;
}

.article-body thead {
    background: #f9fafb;
}

.dark .article-body thead {
    background: rgba(255, 255, 255, 0.06);
}

.article-body tbody {
    background: transparent;
}

.article-body th,
.article-body td {
    min-width: 8rem;
    padding: 0.875rem 1rem;
    border: 1px solid #e5e7eb;
    text-align: left;
    vertical-align: top;
}

.dark .article-body th,
.dark .article-body td {
    border-color: #374151;
}

.article-body th {
    color: #111827;
    font-weight: 700;
}

.dark .article-body th {
    color: #ffffff;
}

.article-body blockquote {
    margin: 1.5rem 0;
    padding: 1rem 1.25rem;
    border-left: 0.25rem solid #2563eb;
    border-radius: 0.5rem;
    background: #f9fafb;
    color: #374151;
    text-align: left;
}

.dark .article-body blockquote {
    background: rgba(255, 255, 255, 0.05);
    color: #e5e7eb;
}

.article-body cite {
    display: block;
    margin-top: 0.75rem;
    color: #6b7280;
    font-size: 0.875rem;
    font-style: normal;
    text-align: left;
}

.dark .article-body cite {
    color: #9ca3af;
}

.article-body code,
.article-body kbd {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.92em;
}

.article-body code {
    padding: 0.15em 0.35em;
    border-radius: 0.35rem;
    background: #f3f4f6;
    color: #111827;
    word-break: break-word;
    overflow-wrap: break-word;
}

.dark .article-body code {
    background: rgba(255, 255, 255, 0.08);
    color: #e5e7eb;
}

.article-body pre {
    max-width: 100%;
    margin: 1.5rem 0;
    overflow-x: auto;
    padding: 1rem;
    border-radius: 0.75rem;
    background: #111827;
    color: #e5e7eb;
    line-height: 1.65;
    text-align: left;
    -webkit-overflow-scrolling: touch;
}

.dark .article-body pre {
    background: rgba(0, 0, 0, 0.35);
}

.article-body pre code {
    padding: 0;
    background: transparent;
    color: inherit;
    white-space: pre;
    word-break: normal;
    overflow-wrap: normal;
}

.article-body kbd {
    display: inline-block;
    padding: 0.15em 0.45em;
    border: 1px solid #d1d5db;
    border-bottom-width: 0.18em;
    border-radius: 0.35rem;
    background: #f9fafb;
    color: #111827;
    line-height: 1.4;
}

.dark .article-body kbd {
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.article-body details {
    margin: 1.5rem 0;
    padding: 1rem 1.25rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #f9fafb;
    text-align: left;
}

.dark .article-body details {
    border-color: #374151;
    background: rgba(255, 255, 255, 0.04);
}

.article-body summary {
    color: #111827;
    font-weight: 700;
    cursor: pointer;
    text-align: left;
}

.dark .article-body summary {
    color: #ffffff;
}

.article-body details > *:last-child {
    margin-bottom: 0;
}

@media (max-width: 640px) {
    .article-body {
        font-size: 0.975rem;
        line-height: 1.7;
    }

    .article-body p {
        font-size: 0.975rem;
        line-height: 1.7;
        text-indent: 0;
    }

    .article-body h1,
    .article-body h2,
    .article-body h3,
    .article-body h4,
    .article-body h5,
    .article-body h6 {
        margin-top: 1.75rem;
        line-height: 1.4;
    }

    .article-body h1 {
        font-size: 1.75rem;
    }

    .article-body h2 {
        font-size: 1.5rem;
    }

    .article-body h3 {
        font-size: 1.3rem;
    }

    .article-body th,
    .article-body td {
        padding: 0.75rem;
    }

    .article-body pre {
        padding: 0.875rem;
    }
}

/* Site components and compatibility rules */
html {
    min-width: 20rem;
    scroll-behavior: smooth;
    scrollbar-gutter: stable;
    -webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    overflow-x: hidden;
}

body.menu-open {
    overflow: hidden;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

img,
video {
    height: auto;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
    cursor: pointer;
}

a {
    color: inherit;
    text-decoration: none;
    text-underline-offset: 0.2em;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, text-decoration-color 0.2s ease;
}

a:hover {
    color: #0d9488;
}

.dark a:hover {
    color: #2dd4bf;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
    outline: 0.125rem solid #14b8a6;
    outline-offset: 0.1875rem;
}

a:active {
    color: #0f766e;
    transform: translateY(0.0625rem);
}

.dark a:active {
    color: #5eead4;
}

a[aria-disabled="true"],
a.disabled,
.disabled > a {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.container {
    width: min(calc(100% - 2rem), 90rem);
    max-width: 90rem;
    margin-inline: auto;
}


.transition-smooth {
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease,
        opacity 0.25s ease;
}

.anim-delay-100 { animation-delay: 0.1s; }
.anim-delay-200 { animation-delay: 0.2s; }
.anim-delay-300 { animation-delay: 0.3s; }
.anim-delay-400 { animation-delay: 0.4s; }
.anim-delay-500 { animation-delay: 0.5s; }
.anim-delay-600 { animation-delay: 0.6s; }
.width-98 { width: 98%; }
.progress-96 { --progress-width: 96%; width: 96%; }
.progress-98 { --progress-width: 98%; width: 98%; }
.progress-995 { --progress-width: 99.5%; width: 99.5%; }

.site-header {
    min-height: 4.25rem;
}

.site-header-inner {
    min-height: 4.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-inline: 0.25rem;
}

.site-brand {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    flex: 0 1 auto;
}

.site-brand a {
    max-width: min(48vw, 20rem);
    overflow: hidden;
    color: #1f2937;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dark .site-brand a {
    color: #ffffff;
}

.brand-mark {
    width: 1.45rem;
    height: 1.45rem;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: #0d9488;
}

.brand-mark svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.desktop-navigation {
    min-width: 0;
    display: none;
    align-items: center;
    justify-content: center;
    gap: clamp(0.7rem, 1vw, 1.1rem);
    flex: 1 1 auto;
}

.site-nav-link {
    position: relative;
    padding: 0.55rem 0.12rem;
    color: #374151;
    font-size: 0.94rem;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
}

.dark .site-nav-link {
    color: #d1d5db;
}

.site-nav-link::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0.15rem;
    left: 0;
    height: 0.125rem;
    background: #14b8a6;
    border-radius: 999px;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.2s ease;
}

.site-nav-link:hover,
.site-nav-link:focus-visible,
.site-nav-link[aria-current="page"] {
    color: #0d9488;
}

.dark .site-nav-link:hover,
.dark .site-nav-link:focus-visible,
.dark .site-nav-link[aria-current="page"] {
    color: #2dd4bf;
}

.site-nav-link:hover::after,
.site-nav-link:focus-visible::after,
.site-nav-link[aria-current="page"]::after {
    transform: scaleX(1);
}

.header-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.5rem;
}

.theme-toggle,
.mobile-menu-toggle,
.mobile-menu-close {
    width: 2.65rem;
    height: 2.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #4b5563;
    background: rgba(255, 255, 255, 0.72);
    border: 0.0625rem solid #d1d5db;
    border-radius: 0.7rem;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.dark .theme-toggle,
.dark .mobile-menu-toggle,
.dark .mobile-menu-close {
    color: #d1d5db;
    background: rgba(30, 41, 59, 0.78);
    border-color: #475569;
}

.theme-toggle:hover,
.theme-toggle:focus-visible,
.mobile-menu-toggle:hover,
.mobile-menu-toggle:focus-visible,
.mobile-menu-close:hover,
.mobile-menu-close:focus-visible {
    color: #0d9488;
    background: #f0fdfa;
    border-color: rgba(20, 184, 166, 0.45);
}

.dark .theme-toggle:hover,
.dark .theme-toggle:focus-visible,
.dark .mobile-menu-toggle:hover,
.dark .mobile-menu-toggle:focus-visible,
.dark .mobile-menu-close:hover,
.dark .mobile-menu-close:focus-visible {
    color: #5eead4;
    background: rgba(20, 184, 166, 0.12);
}

.theme-icon {
    font-size: 1.15rem;
}

.theme-icon-light {
    display: none;
}

.dark .theme-icon-light {
    display: inline-flex;
}

.dark .theme-icon-dark {
    display: none;
}

.mobile-menu-toggle {
    display: inline-flex;
}

.mobile-menu {
    position: fixed;
    inset: 4.25rem 0 0;
    z-index: 60;
    overflow-y: auto;
    background: rgba(248, 250, 252, 0.98);
    overscroll-behavior: contain;
}

.dark .mobile-menu {
    background: rgba(15, 23, 42, 0.98);
}

.mobile-menu.hidden {
    display: none;
}

.mobile-menu-panel {
    width: 100%;
    min-height: 100%;
    display: flex;
    background: transparent;
}

.mobile-menu-header {
    display: none;
}

.mobile-navigation {
    width: 100%;
    min-height: calc(100dvh - 4.25rem);
    padding:
        clamp(1rem, 3vh, 1.75rem)
        max(clamp(1rem, 5vw, 2rem), env(safe-area-inset-right))
        max(clamp(1rem, 3vh, 1.75rem), env(safe-area-inset-bottom))
        max(clamp(1rem, 5vw, 2rem), env(safe-area-inset-left));
    display: flex;
}

.mobile-nav-list {
    width: min(100%, 32rem);
    min-height: 100%;
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: minmax(2.75rem, 1fr);
    gap: clamp(0.55rem, 1.4vh, 1rem);
}

.mobile-nav-link {
    min-height: 0;
    padding: 0.55rem 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: #374151;
    background: transparent;
    border: 0;
    border-bottom: 0.0625rem solid rgba(148, 163, 184, 0.34);
    border-radius: 0;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-nav-link:last-child {
    border-bottom-color: transparent;
}

.dark .mobile-nav-link {
    color: #d1d5db;
    border-bottom-color: rgba(100, 116, 139, 0.45);
}

.mobile-nav-link:hover,
.mobile-nav-link:focus-visible,
.mobile-nav-link[aria-current="page"] {
    color: #0f766e;
    background: rgba(204, 251, 241, 0.56);
    border-bottom-color: transparent;
    border-radius: 0.65rem;
}

.dark .mobile-nav-link:hover,
.dark .mobile-nav-link:focus-visible,
.dark .mobile-nav-link[aria-current="page"] {
    color: #5eead4;
    background: rgba(20, 184, 166, 0.12);
}

#home > .absolute.bottom-0.left-0.right-0 {
    bottom: -0.0625rem;
    line-height: 0;
}

#home > .absolute.bottom-0.left-0.right-0 svg {
    width: 100%;
    display: block;
}

.inner-main {
    padding-top: clamp(3.5rem, 6vw, 6rem);
    padding-bottom: clamp(3.5rem, 6vw, 6rem);
}

.breadcrumb {
    width: 100%;
    min-height: 3.5rem;
    margin: 0 0 clamp(2rem, 4vw, 3rem);
    padding: 0.8rem 1rem;
    display: flex;
    align-items: center;
    color: #4b5563;
    background: rgba(255, 255, 255, 0.9);
    border: 0.0625rem solid #e5e7eb;
    border-radius: 0.75rem;
    box-shadow: 0 0.25rem 0.8rem rgba(15, 23, 42, 0.06);
}

.dark .breadcrumb {
    color: #9ca3af;
    background: rgba(30, 41, 59, 0.92);
    border-color: #374151;
    box-shadow: 0 0.25rem 0.8rem rgba(2, 6, 23, 0.24);
}

.breadcrumb-list {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    overflow: hidden;
    list-style: none;
}

.breadcrumb-item {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    flex: 0 0 auto;
}

.breadcrumb-item a {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #4b5563;
    text-decoration: none;
}

.dark .breadcrumb-item a {
    color: #d1d5db;
}

.breadcrumb-item a:hover,
.breadcrumb-item a:focus-visible {
    color: #0d9488;
}

.dark .breadcrumb-item a:hover,
.dark .breadcrumb-item a:focus-visible {
    color: #2dd4bf;
}

.breadcrumb-separator {
    display: inline-flex;
    color: #9ca3af;
    flex: 0 0 auto;
}

.breadcrumb-current {
    flex: 1 1 auto;
    overflow: hidden;
    color: #111827;
    font-weight: 600;
}

.dark .breadcrumb-current {
    color: #ffffff;
}

.breadcrumb-current > span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-heading {
    max-width: 64rem;
    margin-inline: auto;
}

.news-grid {
    margin: 0;
    padding: 0;
    list-style: none;
}

.article-item {
    min-width: 0;
}

.article-card {
    min-width: 0;
    border: 0.0625rem solid #e5e7eb;
}

.dark .article-card {
    border-color: #374151;
}

.article-card:hover {
    border-color: rgba(20, 184, 166, 0.28);
    box-shadow: 0 1.25rem 1.75rem -0.75rem rgba(15, 23, 42, 0.18);
    transform: translateY(-0.3rem);
}

.article-title-link {
    overflow-wrap: anywhere;
}

.content-card {
    width: 100%;
    min-width: 0;
}

.article-summary {
    border-left: 0.25rem solid #14b8a6;
}

.article-navigation > div,
.nav-link,
.article-nav-empty {
    min-width: 0;
}

.nav-link {
    border: 0.0625rem solid transparent;
    overflow-wrap: anywhere;
}

.nav-link:hover,
.nav-link:focus-visible {
    border-color: rgba(20, 184, 166, 0.3);
}

.pagination {
    width: 100%;
    margin: 3rem 0 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
}

.pagination > div,
.pagination ul,
.pagination ol,
ul.pagination,
ol.pagination,
ul.page,
ol.page {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    background: transparent;
    border: 0;
    box-shadow: none;
    list-style: none;
}

.pagination li,
ul.pagination > li,
ol.pagination > li,
ul.page > li,
ol.page > li {
    display: flex;
    list-style: none;
}

.pagination a,
.pagination span,
ul.pagination a,
ul.pagination span,
ol.pagination a,
ol.pagination span,
ul.page a,
ul.page span,
ol.page a,
ol.page span {
    min-width: 2.55rem;
    min-height: 2.55rem;
    padding: 0.5rem 0.72rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #4b5563;
    background: #ffffff;
    border: 0.0625rem solid #e5e7eb;
    border-radius: 0.55rem;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.dark .pagination a,
.dark .pagination span,
.dark ul.pagination a,
.dark ul.pagination span,
.dark ul.page a,
.dark ul.page span {
    color: #d1d5db;
    background: #1e293b;
    border-color: #374151;
}

.pagination a:hover,
.pagination a:focus-visible,
ul.pagination a:hover,
ul.pagination a:focus-visible,
ul.page a:hover,
ul.page a:focus-visible {
    color: #0f766e;
    background: #f0fdfa;
    border-color: #14b8a6;
    transform: translateY(-0.125rem);
}

.dark .pagination a:hover,
.dark .pagination a:focus-visible,
.dark ul.pagination a:hover,
.dark ul.pagination a:focus-visible,
.dark ul.page a:hover,
.dark ul.page a:focus-visible {
    color: #5eead4;
    background: rgba(20, 184, 166, 0.12);
}

.pagination .active > a,
.pagination .active > span,
.pagination .current,
.pagination .curpage,
.pagination .page-current,
ul.pagination .active > a,
ul.pagination .current,
ul.page .active > a,
ul.page .current {
    color: #ffffff;
    background: #0d9488;
    border-color: #0d9488;
    font-weight: 700;
}

.pagination .disabled > a,
.pagination .disabled > span,
.pagination .nopage,
.pagination .page-disabled,
.pagination [aria-disabled="true"] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.pagination > div > * {
    margin-inline: 0;
}

.pagination a > span,
.pagination a > i,
.pagination button > span,
.pagination button > i {
    min-width: auto;
    min-height: auto;
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.pagination-direction {
    min-width: 1rem;
    font-size: 0;
}

.pagination-direction::before {
    content: "";
    width: 1.15rem;
    height: 1.15rem;
    display: block;
    background-color: currentColor;
    -webkit-mask: var(--pagination-icon) center / contain no-repeat;
    mask: var(--pagination-icon) center / contain no-repeat;
}

.pagination-prev {
    --pagination-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m15%206-6%206%206%206%27%2F%3E%3C%2Fsvg%3E");
}

.pagination-next {
    --pagination-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m9%206%206%206-6%206%27%2F%3E%3C%2Fsvg%3E");
}

.pagination-first {
    --pagination-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m18%206-6%206%206%206M12%206l-6%206%206%206%27%2F%3E%3C%2Fsvg%3E");
}

.pagination-last {
    --pagination-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m6%206%206%206-6%206M12%206l6%206-6%206%27%2F%3E%3C%2Fsvg%3E");
}

.faq-section {
    padding-block: clamp(3.5rem, 6vw, 5rem);
}

.faq-heading {
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

.faq-shell {
    width: min(100%, 64rem);
    margin-inline: auto;
}

.faq-list {
    display: grid;
    gap: clamp(0.7rem, 1.4vw, 1rem);
}

.faq-item {
    overflow: hidden;
    background: #ffffff;
    border: 0.0625rem solid #e5e7eb;
    border-radius: 0.8rem;
    box-shadow: 0 0.35rem 0.9rem rgba(15, 23, 42, 0.06);
}

.dark .faq-item {
    background: #1e293b;
    border-color: #374151;
    box-shadow: 0 0.35rem 0.9rem rgba(2, 6, 23, 0.2);
}

.faq-toggle {
    width: 100%;
    min-height: 4rem;
    padding: 1rem 1.2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #111827;
    text-align: left;
}

.dark .faq-toggle {
    color: #ffffff;
}

.faq-toggle:hover,
.faq-toggle:focus-visible,
.faq-toggle[aria-expanded="true"] {
    background: rgba(20, 184, 166, 0.06);
}

.dark .faq-toggle:hover,
.dark .faq-toggle:focus-visible,
.dark .faq-toggle[aria-expanded="true"] {
    background: rgba(20, 184, 166, 0.1);
}

.faq-question-text {
    min-width: 0;
    font-size: clamp(1rem, 1.4vw, 1.08rem);
    font-weight: 650;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.faq-chevron {
    flex: 0 0 auto;
    color: #0d9488;
    transition: transform 0.2s ease;
}

.dark .faq-chevron {
    color: #2dd4bf;
}

.faq-icon-open {
    transform: rotate(180deg);
}

.faq-content {
    padding: 1rem 1.2rem 1.1rem;
    color: #4b5563;
    line-height: 1.75;
}

.dark .faq-content {
    color: #9ca3af;
}

.faq-content.hidden {
    display: none;
}

.faq-content p {
    width: 100%;
    max-width: none;
    margin: 0;
    text-align: left;
}

#featureRadarChart,
#platformUsageChart {
    width: 100%;
    height: 100%;
    display: block;
}

.site-footer p {
    overflow-wrap: anywhere;
}

.footer-brand {
    line-height: 1.3;
}

.footer-brand-mark {
    width: 1.45rem;
    height: 1.45rem;
    color: #2dd4bf;
}

/* Local SVG interface icons: complete and font-independent */
.ui-icon {
    width: 1.25em;
    min-width: 1.25em;
    height: 1.25em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    font-size: 1em;
    line-height: 1;
    vertical-align: -0.125em;
}

.ui-icon::before {
    content: "";
    width: 1em;
    height: 1em;
    display: block;
    background-color: currentColor;
    -webkit-mask: var(--ui-icon-svg) center / contain no-repeat;
    mask: var(--ui-icon-svg) center / contain no-repeat;
}

.ui-icon[data-icon="security"],
.ui-icon[data-icon="shield"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203%205%206v5c0%205%203.4%208.4%207%2010%203.6-1.6%207-5%207-10V6l-7-3Z%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="android"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m8%206-2-3M16%206l2-3%27%2F%3E%3Crect%20x%3D%275%27%20y%3D%276%27%20width%3D%2714%27%20height%3D%2711%27%20rx%3D%273%27%2F%3E%3Cpath%20d%3D%27M8%2017v4M16%2017v4M2%209v6M22%209v6%27%2F%3E%3Ccircle%20cx%3D%279%27%20cy%3D%2710%27%20r%3D%27.7%27%20fill%3D%27black%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%2715%27%20cy%3D%2710%27%20r%3D%27.7%27%20fill%3D%27black%27%20stroke%3D%27none%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="arrow_forward"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2012h14M13%206l6%206-6%206%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="article"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202h9l4%204v16H6z%27%2F%3E%3Cpath%20d%3D%27M14%202v5h5M9%2011h6M9%2015h6M9%2019h4%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="calendar_today"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%275%27%20width%3D%2718%27%20height%3D%2716%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M16%203v4M8%203v4M3%2010h18%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="center_focus_strong"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%203H3v5M16%203h5v5M8%2021H3v-5M16%2021h5v-5%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="chat"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%204h16v12H8l-4%204V4Z%27%2F%3E%3Cpath%20d%3D%27M8%209h8M8%2012h5%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="check"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m5%2012%204%204L19%206%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="check_circle"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27m8%2012%202.5%202.5L16%209%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="chevron_right"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m9%206%206%206-6%206%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="cloud"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7%2018h10a4%204%200%200%200%20.8-7.9A6%206%200%200%200%206.3%209%204.5%204.5%200%200%200%207%2018Z%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="dark_mode"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M20.5%2015.3A8.5%208.5%200%200%201%208.7%203.5%209%209%200%201%200%2020.5%2015.3Z%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="desktop_windows"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%273%27%20width%3D%2720%27%20height%3D%2714%27%20rx%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M8%2021h8M12%2017v4%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="download"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203v12m0%200%204-4m-4%204-4-4M4%2019h16%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="expand_more"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m6%209%206%206%206-6%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="flash_on"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M13%202%205%2014h6l-1%208%208-12h-6l1-8Z%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="folder"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%206h7l2%202h9v11H3z%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="help_center"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M9.8%209a2.5%202.5%200%201%201%204.2%201.8c-1.2.8-2%201.3-2%202.7M12%2017h.01%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="history"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2012a9%209%200%201%200%203-6.7L3%208%27%2F%3E%3Cpath%20d%3D%27M3%203v5h5M12%207v5l3%202%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="home"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m3%2011%209-8%209%208%27%2F%3E%3Cpath%20d%3D%27M5%2010v11h14V10M9%2021v-7h6v7%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="info"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%2011v6M12%207h.01%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="inventory_2"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%207h16v13H4zM3%204h18v3H3zM9%2011h6%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="laptop"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%204h14v11H5zM3%2018h18l-1%202H4l-1-2Z%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="light_mode"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%274%27%2F%3E%3Cpath%20d%3D%27M12%202v2M12%2020v2M4.9%204.9l1.4%201.4M17.7%2017.7l1.4%201.4M2%2012h2M20%2012h2M4.9%2019.1l1.4-1.4M17.7%206.3l1.4-1.4%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="local_cafe"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%208h13v6a5%205%200%200%201-5%205H9a5%205%200%200%201-5-5V8Z%27%2F%3E%3Cpath%20d%3D%27M17%2010h2a2%202%200%200%201%200%204h-2M8%203v2M12%203v2%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="lock_open"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%275%27%20y%3D%2710%27%20width%3D%2714%27%20height%3D%2711%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M8%2010V7a4%204%200%200%201%207.5-2%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="memory"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%276%27%20y%3D%276%27%20width%3D%2712%27%20height%3D%2712%27%20rx%3D%271%27%2F%3E%3Cpath%20d%3D%27M9%209h6v6H9zM9%202v4M15%202v4M9%2018v4M15%2018v4M2%209h4M2%2015h4M18%209h4M18%2015h4%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="menu"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%206h16M4%2012h16M4%2018h16%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="person"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%278%27%20r%3D%274%27%2F%3E%3Cpath%20d%3D%27M4%2021a8%208%200%200%201%2016%200%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="phone_android"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%276%27%20y%3D%272%27%20width%3D%2712%27%20height%3D%2720%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M10%205h4M11%2019h2%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="priority_high"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%207v6M12%2017h.01%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="settings"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3Cpath%20d%3D%27M12%202v3M12%2019v3M4.9%204.9%207%207M17%2017l2.1%202.1M2%2012h3M19%2012h3M4.9%2019.1%207%2017M17%207l2.1-2.1%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="star"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27m12%202.5%202.9%205.9%206.5.9-4.7%204.6%201.1%206.5-5.8-3.1-5.8%203.1%201.1-6.5-4.7-4.6%206.5-.9L12%202.5Z%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="star_half"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cdefs%3E%3CclipPath%20id%3D%27a%27%3E%3Crect%20width%3D%2712%27%20height%3D%2724%27%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%27black%27%20clip-path%3D%27url%28%23a%29%27%20d%3D%27m12%202.5%202.9%205.9%206.5.9-4.7%204.6%201.1%206.5-5.8-3.1-5.8%203.1%201.1-6.5-4.7-4.6%206.5-.9L12%202.5Z%27%2F%3E%3Cpath%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linejoin%3D%27round%27%20d%3D%27m12%202.5%202.9%205.9%206.5.9-4.7%204.6%201.1%206.5-5.8-3.1-5.8%203.1%201.1-6.5-4.7-4.6%206.5-.9L12%202.5Z%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="sync"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%207v5h-5M4%2017v-5h5%27%2F%3E%3Cpath%20d%3D%27M6.1%208a7%207%200%200%201%2011.8-2L20%208M4%2016l2.1%202A7%207%200%200%200%2018%2016%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="tune"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%206h16M4%2012h16M4%2018h16%27%2F%3E%3Ccircle%20cx%3D%279%27%20cy%3D%276%27%20r%3D%272%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2715%27%20cy%3D%2712%27%20r%3D%272%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%277%27%20cy%3D%2718%27%20r%3D%272%27%20fill%3D%27white%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="update"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%2012a9%209%200%201%201-2.6-6.4L21%208%27%2F%3E%3Cpath%20d%3D%27M21%203v5h-5M12%207v5l3%202%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="verified"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m12%202%202.1%202.1%203-.4.9%202.9%202.7%201.4-1.4%202.7.4%203-2.9.9L12%2022l-2.1-2.1-3%20.4-.9-2.9L3.3%2016l1.4-2.7-.4-3%202.9-.9L8.6%206.7l3-.4L12%202Z%27%2F%3E%3Cpath%20d%3D%27m8.5%2012%202.2%202.2%204.8-5%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="verified_user"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203%205%206v5c0%205%203.4%208.4%207%2010%203.6-1.6%207-5%207-10V6l-7-3Z%27%2F%3E%3Cpath%20d%3D%27m8.5%2012%202.2%202.2%204.8-5%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="visibility"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M2%2012s3.5-6%2010-6%2010%206%2010%206-3.5%206-10%206S2%2012%202%2012Z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3C%2Fsvg%3E");
}

.ui-icon[data-icon="close"],
.mobile-menu-toggle[aria-expanded="true"] .ui-icon[data-icon="menu"] {
    --ui-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m6%206%2012%2012M18%206%206%2018%27%2F%3E%3C%2Fsvg%3E");
}

@media (min-width: 80rem) {
    .desktop-navigation {
        display: flex;
    }

    .mobile-menu-toggle {
        display: none;
    }
}

@media (max-width: 47.9375rem) {
    .container {
        width: min(calc(100% - 1rem), 90rem);
    }

    .site-header-inner {
        padding-inline: 0;
    }

    .site-brand a {
        max-width: 56vw;
        font-size: 1rem;
    }

    .theme-toggle,
    .mobile-menu-toggle,
    .mobile-menu-close {
        width: 2.5rem;
        height: 2.5rem;
    }

    .mobile-navigation {
        padding:
            clamp(0.8rem, 2.5vh, 1.25rem)
            max(0.85rem, env(safe-area-inset-right))
            max(0.85rem, env(safe-area-inset-bottom))
            max(0.85rem, env(safe-area-inset-left));
    }

    .mobile-nav-list {
        gap: clamp(0.45rem, 1.15vh, 0.75rem);
    }

    .mobile-nav-link {
        padding-block: 0.5rem;
    }

    .inner-main {
        padding-top: 2.25rem;
        padding-bottom: 3rem;
    }

    .breadcrumb {
        min-height: 3.2rem;
        margin-bottom: 1.5rem;
        padding: 0.7rem 0.8rem;
        font-size: 0.875rem;
    }

    .breadcrumb-list {
        flex-wrap: wrap;
        row-gap: 0.35rem;
    }

    .breadcrumb-current {
        flex-basis: 100%;
        padding-top: 0.25rem;
    }

    .breadcrumb-current > span {
        display: -webkit-box;
        overflow: hidden;
        line-height: 1.45;
        white-space: normal;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .breadcrumb-separator:last-of-type {
        display: none;
    }

    .content-card {
        padding: 1.25rem;
        border-radius: 0.8rem;
    }

    .article-navigation {
        gap: 0.75rem;
    }

    .pagination {
        gap: 0.35rem;
    }

    .pagination > div,
    .pagination ul,
    .pagination ol,
    ul.pagination,
    ol.pagination,
    ul.page,
    ol.page {
        gap: 0.35rem;
    }

    .pagination a,
    .pagination span,
    ul.pagination a,
    ul.pagination span,
    ul.page a,
    ul.page span {
        min-width: 2.35rem;
        min-height: 2.35rem;
        padding: 0.42rem 0.55rem;
        font-size: 0.875rem;
    }

    .faq-section {
        padding-block: 3rem;
    }

    .faq-toggle {
        min-height: 3.65rem;
        padding: 0.85rem 1rem;
    }

    .faq-content {
        padding: 0.85rem 1rem 0.95rem;
        font-size: 0.95rem;
    }
}

@media (max-width: 47.9375rem) and (max-height: 42rem) {
    .mobile-navigation {
        padding-block: 0.65rem max(0.65rem, env(safe-area-inset-bottom));
    }

    .mobile-nav-list {
        grid-auto-rows: minmax(2.45rem, 1fr);
        gap: 0.35rem;
    }

    .mobile-nav-link {
        padding-block: 0.4rem;
        font-size: 0.94rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
        transition-duration: 0.01ms;
        scroll-behavior: auto;
    }
}
