/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-100: oklch(93.6% 0.032 17.717);
    --color-red-200: oklch(88.5% 0.062 18.334);
    --color-red-400: oklch(70.4% 0.191 22.216);
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-red-700: oklch(50.5% 0.213 27.518);
    --color-red-800: oklch(44.4% 0.177 26.899);
    --color-red-900: oklch(39.6% 0.141 25.723);
    --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-yellow-100: oklch(97.3% 0.071 103.193);
    --color-yellow-200: oklch(94.5% 0.129 101.54);
    --color-yellow-400: oklch(85.2% 0.199 91.936);
    --color-yellow-500: oklch(79.5% 0.184 86.047);
    --color-yellow-600: oklch(68.1% 0.162 75.834);
    --color-yellow-700: oklch(55.4% 0.135 66.442);
    --color-yellow-800: oklch(47.6% 0.114 61.907);
    --color-green-100: oklch(96.2% 0.044 156.743);
    --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-700: oklch(52.7% 0.154 150.069);
    --color-green-800: oklch(44.8% 0.119 151.328);
    --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-gray-50: oklch(98.5% 0.002 247.839);
    --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-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --container-7xl: 80rem;
    --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);
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-wider: 0.05em;
    --leading-relaxed: 1.625;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-spin: spin 1s linear infinite;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
      -o-tab-size: 4;
         tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::-moz-placeholder {
    opacity: 1;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::-moz-placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    -webkit-appearance: button;
       -moz-appearance: button;
            appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-auto {
    pointer-events: auto;
  }
  .pointer-events-none {
    pointer-events: none;
  }
  .collapse {
    visibility: collapse;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1\/2 {
    top: calc(1/2 * 100%);
  }
  .top-1\/4 {
    top: calc(1/4 * 100%);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .right-3 {
    right: calc(var(--spacing) * 3);
  }
  .right-4 {
    right: calc(var(--spacing) * 4);
  }
  .right-6 {
    right: calc(var(--spacing) * 6);
  }
  .bottom-16 {
    bottom: calc(var(--spacing) * 16);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-1\/2 {
    left: calc(1/2 * 100%);
  }
  .z-10 {
    z-index: 10;
  }
  .z-50 {
    z-index: 50;
  }
  .z-\[1050\] {
    z-index: 1050;
  }
  .z-\[1100\] {
    z-index: 1100;
  }
  .z-\[10000\] {
    z-index: 10000;
  }
  .z-\[10004\] {
    z-index: 10004;
  }
  .z-\[10005\] {
    z-index: 10005;
  }
  .col-span-2 {
    grid-column: span 2 / span 2;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .m-0 {
    margin: calc(var(--spacing) * 0);
  }
  .mx-4 {
    margin-inline: calc(var(--spacing) * 4);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }
  .my-3 {
    margin-block: calc(var(--spacing) * 3);
  }
  .my-4 {
    margin-block: calc(var(--spacing) * 4);
  }
  .my-6 {
    margin-block: calc(var(--spacing) * 6);
  }
  .my-10 {
    margin-block: calc(var(--spacing) * 10);
  }
  .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-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .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-16 {
    margin-top: calc(var(--spacing) * 16);
  }
  .mt-auto {
    margin-top: auto;
  }
  .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);
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-8 {
    margin-left: calc(var(--spacing) * 8);
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-14 {
    height: calc(var(--spacing) * 14);
  }
  .h-full {
    height: 100%;
  }
  .max-h-\[60vh\] {
    max-height: 60vh;
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-9 {
    width: calc(var(--spacing) * 9);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-full {
    width: 100%;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-6xl {
    max-width: var(--container-6xl);
  }
  .max-w-7xl {
    max-width: var(--container-7xl);
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-none {
    max-width: none;
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .flex-1 {
    flex: 1;
  }
  .flex-shrink {
    flex-shrink: 1;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .flex-grow {
    flex-grow: 1;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-full {
    --tw-translate-x: 100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .scale-95 {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .scale-100 {
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .scale-110 {
    --tw-scale-x: 110%;
    --tw-scale-y: 110%;
    --tw-scale-z: 110%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-default {
    cursor: default;
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize {
    resize: both;
  }
  .list-inside {
    list-style-position: inside;
  }
  .list-disc {
    list-style-type: disc;
  }
  .list-none {
    list-style-type: none;
  }
  .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;
  }
  .items-stretch {
    align-items: stretch;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .justify-start {
    justify-content: flex-start;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .space-y-3 {
    :where(& > :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)));
    }
  }
  .space-y-4 {
    :where(& > :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)));
    }
  }
  .space-y-6 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .gap-x-2 {
    -moz-column-gap: calc(var(--spacing) * 2);
         column-gap: calc(var(--spacing) * 2);
  }
  .gap-y-0\.5 {
    row-gap: calc(var(--spacing) * 0.5);
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .rounded-b-lg {
    border-bottom-right-radius: var(--radius-lg);
    border-bottom-left-radius: var(--radius-lg);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .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-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-\[var\(--border-color\)\] {
    border-color: var(--border-color);
  }
  .border-gray-200 {
    border-color: var(--color-gray-200);
  }
  .border-gray-300 {
    border-color: var(--color-gray-300);
  }
  .border-green-400 {
    border-color: var(--color-green-400);
  }
  .border-red-400 {
    border-color: var(--color-red-400);
  }
  .border-transparent {
    border-color: transparent;
  }
  .border-yellow-400 {
    border-color: var(--color-yellow-400);
  }
  .bg-black {
    background-color: var(--color-black);
  }
  .bg-black\/40 {
    background-color: color-mix(in srgb, #000 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
    }
  }
  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }
  .bg-gray-50 {
    background-color: var(--color-gray-50);
  }
  .bg-gray-400 {
    background-color: var(--color-gray-400);
  }
  .bg-gray-600 {
    background-color: var(--color-gray-600);
  }
  .bg-green-100 {
    background-color: var(--color-green-100);
  }
  .bg-green-200 {
    background-color: var(--color-green-200);
  }
  .bg-red-100 {
    background-color: var(--color-red-100);
  }
  .bg-red-200 {
    background-color: var(--color-red-200);
  }
  .bg-red-500 {
    background-color: var(--color-red-500);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-yellow-100 {
    background-color: var(--color-yellow-100);
  }
  .bg-yellow-200 {
    background-color: var(--color-yellow-200);
  }
  .bg-yellow-500 {
    background-color: var(--color-yellow-500);
  }
  .mask-circle {
    --tw-mask-radial-shape: circle;
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .p-12 {
    padding: calc(var(--spacing) * 12);
  }
  .px-0\.5 {
    padding-inline: calc(var(--spacing) * 0.5);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pr-10 {
    padding-right: calc(var(--spacing) * 10);
  }
  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }
  .text-center {
    text-align: center;
  }
  .align-middle {
    vertical-align: middle;
  }
  .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-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .break-words {
    overflow-wrap: break-word;
  }
  .wrap-break-word {
    overflow-wrap: break-word;
  }
  .break-all {
    word-break: break-all;
  }
  .text-\[var\(--theme-base\)\] {
    color: var(--theme-base);
  }
  .text-amber-500 {
    color: var(--color-amber-500);
  }
  .text-blue-600 {
    color: var(--color-blue-600);
  }
  .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-green-500 {
    color: var(--color-green-500);
  }
  .text-green-700 {
    color: var(--color-green-700);
  }
  .text-green-800 {
    color: var(--color-green-800);
  }
  .text-red-500 {
    color: var(--color-red-500);
  }
  .text-red-600 {
    color: var(--color-red-600);
  }
  .text-red-700 {
    color: var(--color-red-700);
  }
  .text-red-800 {
    color: var(--color-red-800);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-yellow-700 {
    color: var(--color-yellow-700);
  }
  .text-yellow-800 {
    color: var(--color-yellow-800);
  }
  .lowercase {
    text-transform: lowercase;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .no-underline {
    text-decoration-line: none;
  }
  .underline {
    text-decoration-line: underline;
  }
  .opacity-0 {
    opacity: 0%;
  }
  .opacity-25 {
    opacity: 25%;
  }
  .opacity-40 {
    opacity: 40%;
  }
  .opacity-50 {
    opacity: 50%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-70 {
    opacity: 70%;
  }
  .opacity-75 {
    opacity: 75%;
  }
  .opacity-80 {
    opacity: 80%;
  }
  .opacity-100 {
    opacity: 100%;
  }
  .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-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);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .sepia {
    --tw-sepia: sepia(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-filter {
    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, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, 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(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .delay-100 {
    transition-delay: 100ms;
  }
  .delay-200 {
    transition-delay: 200ms;
  }
  .delay-300 {
    transition-delay: 300ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .select-none {
    -webkit-user-select: none;
    -moz-user-select: none;
         user-select: none;
  }
  .group-hover\:text-\[var\(--theme-base\)\] {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--theme-base);
      }
    }
  }
  .placeholder\:text-xs {
    &::-moz-placeholder {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }
    &::placeholder {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }
  }
  .hover\:-translate-y-1 {
    &:hover {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:scale-\[1\.01\] {
    &:hover {
      @media (hover: hover) {
        scale: 1.01;
      }
    }
  }
  .hover\:bg-\[rgba\(0\,0\,0\,0\.05\)\] {
    &:hover {
      @media (hover: hover) {
        background-color: rgba(0,0,0,0.05);
      }
    }
  }
  .hover\:bg-\[rgba\(from_var\(--theme-base\)_r_g_b_\/_0\.08\)\] {
    &:hover {
      @media (hover: hover) {
        background-color: rgba(from var(--theme-base) r g b / 0.08);
      }
    }
  }
  .hover\:bg-blue-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-700);
      }
    }
  }
  .hover\:bg-gray-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gray-50);
      }
    }
  }
  .hover\:bg-gray-500 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gray-500);
      }
    }
  }
  .hover\:bg-gray-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gray-600);
      }
    }
  }
  .hover\:bg-gray-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gray-700);
      }
    }
  }
  .hover\:bg-red-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-red-600);
      }
    }
  }
  .hover\:bg-yellow-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-yellow-600);
      }
    }
  }
  .hover\:underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .hover\:opacity-80 {
    &:hover {
      @media (hover: hover) {
        opacity: 80%;
      }
    }
  }
  .hover\:opacity-85 {
    &:hover {
      @media (hover: hover) {
        opacity: 85%;
      }
    }
  }
  .hover\:opacity-90 {
    &:hover {
      @media (hover: hover) {
        opacity: 90%;
      }
    }
  }
  .hover\:opacity-100 {
    &:hover {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .hover\:shadow-2xl {
    &:hover {
      @media (hover: hover) {
        --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);
      }
    }
  }
  .hover\:shadow-lg {
    &:hover {
      @media (hover: hover) {
        --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);
      }
    }
  }
  .hover\:shadow-xl {
    &:hover {
      @media (hover: 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);
      }
    }
  }
  .focus\:border-\[var\(--theme-base\)\] {
    &:focus {
      border-color: var(--theme-base);
    }
  }
  .focus\:ring-blue-500 {
    &:focus {
      --tw-ring-color: var(--color-blue-500);
    }
  }
  .focus\:outline-none {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .sm\:inline {
    @media (width >= 40rem) {
      display: inline;
    }
  }
  .sm\:h-11 {
    @media (width >= 40rem) {
      height: calc(var(--spacing) * 11);
    }
  }
  .sm\:w-11 {
    @media (width >= 40rem) {
      width: calc(var(--spacing) * 11);
    }
  }
  .sm\:w-\[450px\] {
    @media (width >= 40rem) {
      width: 450px;
    }
  }
  .sm\:flex-nowrap {
    @media (width >= 40rem) {
      flex-wrap: nowrap;
    }
  }
  .sm\:gap-2 {
    @media (width >= 40rem) {
      gap: calc(var(--spacing) * 2);
    }
  }
  .sm\:gap-3 {
    @media (width >= 40rem) {
      gap: calc(var(--spacing) * 3);
    }
  }
  .sm\:p-3 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 3);
    }
  }
  .sm\:px-2 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 2);
    }
  }
  .sm\:px-4 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 4);
    }
  }
  .sm\:px-5 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 5);
    }
  }
  .sm\:px-6 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
  .sm\:py-2 {
    @media (width >= 40rem) {
      padding-block: calc(var(--spacing) * 2);
    }
  }
  .sm\:py-2\.5 {
    @media (width >= 40rem) {
      padding-block: calc(var(--spacing) * 2.5);
    }
  }
  .sm\:py-3 {
    @media (width >= 40rem) {
      padding-block: calc(var(--spacing) * 3);
    }
  }
  .sm\:text-base {
    @media (width >= 40rem) {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
  }
  .sm\:text-lg {
    @media (width >= 40rem) {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
  }
  .sm\:text-sm {
    @media (width >= 40rem) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .sm\:placeholder\:text-sm {
    @media (width >= 40rem) {
      &::-moz-placeholder {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
      }
      &::placeholder {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
      }
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:text-base {
    @media (width >= 48rem) {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
  }
  .md\:placeholder\:text-base {
    @media (width >= 48rem) {
      &::-moz-placeholder {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height));
      }
      &::placeholder {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height));
      }
    }
  }
  .dark\:border-gray-600 {
    @media (prefers-color-scheme: dark) {
      border-color: var(--color-gray-600);
    }
  }
  .dark\:border-gray-700 {
    @media (prefers-color-scheme: dark) {
      border-color: var(--color-gray-700);
    }
  }
  .dark\:bg-\[var\(--bg-body\)\] {
    @media (prefers-color-scheme: dark) {
      background-color: var(--bg-body);
    }
  }
  .dark\:bg-\[var\(--bg-surface\)\] {
    @media (prefers-color-scheme: dark) {
      background-color: var(--bg-surface);
    }
  }
  .dark\:bg-red-900\/30 {
    @media (prefers-color-scheme: dark) {
      background-color: color-mix(in srgb, oklch(39.6% 0.141 25.723) 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-red-900) 30%, transparent);
      }
    }
  }
  .dark\:text-red-400 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-red-400);
    }
  }
  .dark\:hover\:bg-\[rgba\(255\,255\,255\,0\.05\)\] {
    @media (prefers-color-scheme: dark) {
      &:hover {
        @media (hover: hover) {
          background-color: rgba(255,255,255,0.05);
        }
      }
    }
  }
}
@layer base {
  :root {
    --theme-base: hsl(210, 55%, 42%);
    --theme-darkest: hsl(from var(--theme-base) h s calc(l - 30));
    --theme-dark: hsl(from var(--theme-base) h s calc(l - 20));
    --theme-medium: hsl(from var(--theme-base) h s calc(l - 10));
    --theme-base-faded: hsl(from var(--theme-base) h s l / 0.6);
    --theme-light: hsl(from var(--theme-base) h s calc(l + 30));
    --theme-lightest: hsl(from var(--theme-base) h s calc(l + 40));
    --bg-body: var(--theme-lightest);
    --bg-card: #ffffff;
    --text-main: var(--theme-darkest);
    --text-muted: var(--theme-dark);
    --border-color: var(--theme-light);
  }
  .dark {
    --bg-body: hsl(from var(--theme-base) h calc(s * 0.35) 11%);
    --bg-surface: hsl(from var(--theme-base) h calc(s * 0.30) 14%);
    --bg-card: hsl(from var(--theme-base) h calc(s * 0.28) 17%);
    --bg-card-hover: hsl(from var(--theme-base) h calc(s * 0.30) 21%);
    --text-main: hsl(from var(--theme-base) h calc(s * 0.10) 90%);
    --text-muted: hsl(from var(--theme-base) h calc(s * 0.12) 60%);
    --text-subtle: hsl(from var(--theme-base) h calc(s * 0.10) 42%);
    --border-color: hsl(from var(--theme-base) h calc(s * 0.20) 22%);
    --border-subtle: hsl(from var(--theme-base) h calc(s * 0.15) 18%);
    --glow-color: hsl(from var(--theme-base) h s 50% / 0.15);
    --glow-strong: hsl(from var(--theme-base) h s 50% / 0.25);
    --shadow-card: 0 2px 8px -2px hsl(0 0% 0% / 0.3),
                   0 0 0 1px var(--border-subtle);
    --shadow-card-hover: 0 8px 24px -4px hsl(0 0% 0% / 0.4),
                         0 0 0 1px var(--border-color),
                         0 0 20px -4px var(--glow-color);
    --theme-lightest: var(--bg-body);
    --theme-light: var(--border-color);
  }
  html {
    scroll-behavior: smooth;
  }
  body {
    background-color: var(--bg-body);
    color: var(--text-main);
    transition: background-color 0.3s ease, color 0.3s ease;
  }
}
@layer components {
  .theme-darkest {
    background-color: var(--theme-darkest);
  }
  .theme-dark {
    background-color: var(--theme-dark);
  }
  .theme-base {
    background-color: var(--theme-base);
  }
  .theme-base-faded {
    background-color: var(--theme-base-faded);
  }
  .theme-medium {
    background-color: var(--theme-medium);
  }
  .theme-light {
    background-color: var(--theme-light);
  }
  .theme-lightest {
    background-color: var(--theme-lightest);
  }
  .theme-medium-btn:hover {
    background-color: var(--theme-dark);
    cursor: pointer;
  }
  .text-color-light {
    color: var(--theme-light);
  }
  .text-color-lightest {
    color: var(--theme-lightest);
  }
  .text-color-darkest {
    color: var(--theme-darkest);
  }
  .link-hover-medium:hover {
    text-decoration: underline;
  }
  .author-link-hover-medium:hover {
    color: var(--theme-medium);
  }
  .active-link {
    text-decoration: underline;
  }
  .all-border {
    border: 2px solid var(--theme-light);
  }
  .card-shadow {
    box-shadow: 0 10px 12px -6px var(--theme-light);
  }
  .hover-card-shadow:hover {
    box-shadow: 0 8px 12px -6px var(--theme-light);
  }
  .font-size-control {
    background-color: var(--theme-lightest);
    border-color: var(--theme-medium) !important;
    flex-shrink: 0;
  }
  .input-box:focus {
    border: 2px solid var(--theme-lightest);
  }
  .filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
  }
  .filter-bar select,
.filter-bar button {
    flex: 1 1 auto;
    min-width: 140px;
  }
  @media (max-width: 640px) {
    .filter-bar select,
  .filter-bar button {
      flex: 1 1 100%;
    }
  }
  .ad-sidebar {
    display: none;
  }
  @media (min-width: 1440px) {
    .ad-sidebar {
      display: block;
    }
  }
  .hero-section {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    padding: 4rem 2rem;
    background: linear-gradient(135deg, var(--theme-darkest) 0%, var(--theme-dark) 40%, var(--theme-medium) 100%);
    color: var(--theme-lightest);
    text-align: center;
  }
  .hero-section::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(ellipse at 30% 20%, hsl(from var(--theme-base) h s calc(l + 10) / 0.15) 0%, transparent 50%),
              radial-gradient(ellipse at 70% 80%, hsl(from var(--theme-base) h s calc(l + 20) / 0.1) 0%, transparent 50%);
    animation: hero-drift 20s ease-in-out infinite alternate;
    pointer-events: none;
  }
  @keyframes hero-drift {
    0% {
      transform: translate(0, 0) rotate(0deg);
    }
    100% {
      transform: translate(3%, -3%) rotate(2deg);
    }
  }
  .hero-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--theme-light), transparent);
  }
  .hero-title {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 1rem;
    position: relative;
    z-index: 1;
    background: linear-gradient(135deg, var(--theme-lightest) 0%, hsl(from var(--theme-base) h calc(s * 0.5) 85%) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .hero-subtitle {
    font-size: 1.1rem;
    opacity: 0.85;
    max-width: 540px;
    margin: 0 auto 2rem;
    line-height: 1.6;
    position: relative;
    z-index: 1;
  }
  .hero-cta-group {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
  }
  .hero-cta-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 999px;
    background: var(--theme-base);
    color: white;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    border: 2px solid var(--theme-base);
    transition: all 0.25s ease;
    box-shadow: 0 4px 16px hsl(from var(--theme-base) h s l / 0.3);
  }
  .hero-cta-primary:hover {
    background: var(--theme-dark);
    border-color: var(--theme-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 24px hsl(from var(--theme-base) h s l / 0.4);
  }
  .hero-cta-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 999px;
    background: transparent;
    color: var(--theme-lightest);
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    border: 2px solid var(--theme-light);
    transition: all 0.25s ease;
  }
  .hero-cta-secondary:hover {
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-2px);
  }
  .hero-shape {
    position: absolute;
    border-radius: 50%;
    opacity: 0.08;
    background: var(--theme-light);
    pointer-events: none;
  }
  .hero-shape-1 {
    width: 200px;
    height: 200px;
    top: -40px;
    right: -40px;
    animation: hero-float 8s ease-in-out infinite alternate;
  }
  .hero-shape-2 {
    width: 120px;
    height: 120px;
    bottom: -20px;
    left: 10%;
    animation: hero-float 10s ease-in-out infinite alternate-reverse;
  }
  .hero-shape-3 {
    width: 80px;
    height: 80px;
    top: 30%;
    left: -20px;
    animation: hero-float 6s ease-in-out infinite alternate;
  }
  @keyframes hero-float {
    0% {
      transform: translateY(0) scale(1);
    }
    100% {
      transform: translateY(-20px) scale(1.1);
    }
  }
  @media (max-width: 640px) {
    .hero-section {
      padding: 3rem 1.5rem;
    }
    .hero-title {
      font-size: 1.75rem;
    }
    .hero-subtitle {
      font-size: 0.95rem;
    }
  }
  .category-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 12px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    background: hsl(from var(--theme-base) h s l / 0.12);
    color: var(--theme-base);
    transition: all 0.2s ease;
    white-space: nowrap;
  }
  .category-pill:hover {
    background: var(--theme-base);
    color: white;
  }
  .dark .category-pill {
    background: hsl(from var(--theme-base) h s l / 0.18);
  }
  .dark .category-pill:hover {
    background: var(--theme-base);
    color: white;
  }
  .stat-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    color: var(--text-muted);
    white-space: nowrap;
  }
  .stat-chip svg {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
    opacity: 0.7;
  }
  .stats-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
  }
  .stat-separator {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--text-muted);
    opacity: 0.4;
    flex-shrink: 0;
  }
  .badge-new {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
  }
  .badge-trending {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: white;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
  }
  .post-card-inner {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 0.5rem;
  }
  .post-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }
  .post-card-tags {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
  }
  .post-card-title {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--text-main);
  }
  .post-card-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
  }
  .post-card-title a:hover {
    color: var(--theme-base);
  }
  .post-card-author {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.8rem;
    color: var(--text-muted);
  }
  .post-card-author a {
    color: var(--theme-base);
    text-decoration: none;
    font-weight: 600;
  }
  .post-card-author a:hover {
    text-decoration: underline;
  }
  .post-card-author svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    opacity: 0.6;
  }
  .post-card-summary {
    font-size: 0.88rem;
    color: var(--text-muted);
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .post-card-footer {
    margin-top: auto;
    padding-top: 0.75rem;
  }
  .post-card-read-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--theme-base);
    text-decoration: none;
    transition: gap 0.2s ease, color 0.2s ease;
  }
  .post-card-read-link:hover {
    gap: 10px;
    color: var(--theme-dark);
  }
  .post-card-read-link svg {
    width: 14px;
    height: 14px;
    transition: transform 0.2s ease;
  }
  .post-card-read-link:hover svg {
    transform: translateX(3px);
  }
  .blog-header {
    border-radius: 16px;
    padding: 2rem 2rem;
    background: linear-gradient(135deg, var(--theme-darkest) 0%, var(--theme-dark) 100%);
    color: var(--theme-lightest);
    position: relative;
    overflow: hidden;
    margin-bottom: 1.5rem;
  }
  .blog-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--theme-base), transparent);
  }
  .blog-header h1 {
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 0.25rem;
  }
  .blog-header p {
    font-size: 0.92rem;
    opacity: 0.75;
  }
  @media (max-width: 640px) {
    .blog-header {
      padding: 1.5rem;
    }
    .blog-header h1 {
      font-size: 1.4rem;
    }
  }
  .skeleton-card {
    border-radius: 16px;
    border: 1px solid var(--border-color, #e5e7eb);
    background: var(--bg-card, #ffffff);
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 12px;
    overflow: hidden;
  }
  .skeleton-bar {
    border-radius: 6px;
    background: linear-gradient(90deg,
    var(--border-color, #e5e7eb) 25%,
    hsl(from var(--theme-base) h calc(s * 0.1) 88%) 50%,
    var(--border-color, #e5e7eb) 75%
  );
    background-size: 400% 100%;
    animation: skeleton-shimmer 1.8s ease-in-out infinite;
  }
  .dark .skeleton-bar {
    background: linear-gradient(90deg,
    var(--border-color) 25%,
    hsl(from var(--theme-base) h calc(s * 0.2) 22%) 50%,
    var(--border-color) 75%
  );
    background-size: 400% 100%;
  }
  .dark .skeleton-card {
    border-color: var(--border-color);
    background: var(--bg-card);
  }
  .skeleton-bar-sm {
    height: 12px;
    width: 35%;
  }
  .skeleton-bar-md {
    height: 16px;
    width: 70%;
  }
  .skeleton-bar-lg {
    height: 20px;
    width: 85%;
  }
  .skeleton-bar-xl {
    height: 14px;
    width: 100%;
  }
  .skeleton-bar-btn {
    height: 14px;
    width: 120px;
    margin-top: auto;
  }
  .section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 1.5rem;
  }
  .section-heading h2 {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--text-main);
  }
  .section-heading-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: hsl(from var(--theme-base) h s l / 0.12);
    color: var(--theme-base);
    flex-shrink: 0;
  }
  .section-heading-icon svg {
    width: 18px;
    height: 18px;
  }
  .dark .section-heading-icon {
    background: hsl(from var(--theme-base) h s l / 0.18);
  }
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
input::-ms-reveal,
input::-ms-clear,
input::-webkit-contacts-auto-fill-button,
input::-webkit-credentials-auto-fill-button {
  display: none !important;
}
.otp-box {
  width: 3rem;
  height: 3rem;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  border-radius: 0.5rem;
  border: 2px solid var(--theme-light);
  background-color: var(--theme-dark);
  color: var(--theme-lightest);
  transition: all 0.2s ease;
}
.otp-box:focus {
  border-color: var(--theme-lightest) !important;
  box-shadow: 0 0 0 3px hsla(from var(--theme-base) h s l / 0.25) !important;
  outline: none;
}
@media (min-width: 640px) {
  .otp-box {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.dark-mode-toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--theme-lightest);
  transition: color 0.3s ease, background-color 0.3s ease;
  border-radius: 50%;
  width: 38px;
  height: 38px;
  outline: none;
}
.dark-mode-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
}
.theme-toggle-svg {
  width: 22px;
  height: 22px;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.sun-moon-center {
  transition: r 0.5s cubic-bezier(0.4, 0, 0.2, 1), fill 0.3s ease;
}
.mask-circle {
  transition: cx 0.5s cubic-bezier(0.4, 0, 0.2, 1), cy 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.sun-rays {
  transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}
.mask-circle {
  cx: 24;
  cy: 10;
}
.sun-moon-center {
  r: 5;
}
.sun-rays {
  opacity: 1;
  transform: rotate(0deg);
}
.dark .mask-circle {
  cx: 17;
  cy: 7;
}
.dark .sun-moon-center {
  r: 9;
}
.dark .sun-rays {
  opacity: 0;
  transform: rotate(45deg);
}
.dark .theme-toggle-svg {
  transform: rotate(-90deg);
}
.dark body {
  background-color: var(--bg-body) !important;
  background-image: radial-gradient(
        ellipse at 50% 0%,
        hsl(from var(--theme-base) h calc(s * 0.4) 16% / 0.5) 0%,
        transparent 70%
    ) !important;
  background-attachment: fixed !important;
  color: var(--text-main) !important;
}
.dark .text-color-darkest {
  color: var(--text-main) !important;
}
.dark .text-color-dark {
  color: var(--text-muted) !important;
}
.dark .text-color-light {
  color: var(--text-muted) !important;
}
.dark .bg-white {
  background-color: var(--bg-card) !important;
  background-image: linear-gradient(
        135deg,
        hsl(from var(--theme-base) h calc(s * 0.2) 22% / 0.4) 0%,
        transparent 50%
    ) !important;
  color: var(--text-main) !important;
  border-color: var(--border-color) !important;
  border-left-color: var(--theme-base) !important;
  box-shadow: var(--shadow-card) !important;
  transition: background-color 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}
.dark .bg-white:hover {
  background-color: var(--bg-card-hover) !important;
  box-shadow: var(--shadow-card-hover) !important;
  border-color: hsl(from var(--theme-base) h calc(s * 0.4) 30%) !important;
  border-left-color: var(--theme-base) !important;
}
.dark .card-shadow {
  box-shadow: var(--shadow-card) !important;
}
.dark .hover-card-shadow:hover {
  box-shadow: var(--shadow-card-hover) !important;
}
.dark [style*="background-color: #ffffff"],
.dark [style*="background-color: #fff"],
.dark [style*="background-color: rgb(255, 255, 255)"],
.dark [style*="background-color:white"],
.dark [style*="background: white"],
.dark [style*="background: #fff"] {
  background-color: var(--bg-card) !important;
}
.dark [style*="color: #4b5563"],
.dark [style*="color: #6b7280"],
.dark [style*="color: #9ca3af"],
.dark [style*="color: rgb(75, 85, 99)"],
.dark [style*="color: rgb(107, 114, 128)"],
.dark [style*="color: rgb(156, 163, 175)"] {
  color: var(--text-muted) !important;
}
.dark [style*="color: #1f2937"],
.dark [style*="color: #374151"],
.dark [style*="color: rgb(31, 41, 55)"],
.dark [style*="color: rgb(55, 65, 81)"] {
  color: var(--text-main) !important;
}
.dark [style*="border: 1px solid #e5e7eb"],
.dark [style*="border:1px solid #e5e7eb"] {
  border-color: var(--border-color) !important;
}
.dark [style*="background: #e5e7eb"],
.dark [style*="background-color: #e5e7eb"] {
  background-color: var(--border-color) !important;
  background: var(--border-color) !important;
}
.dark #main-nav {
  backdrop-filter: blur(20px) saturate(1.8) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.8) !important;
  background: hsl(from var(--theme-base) h calc(s * 0.4) 8% / 0.85) !important;
  border-bottom: 1px solid var(--border-subtle) !important;
}
.dark .nav-top {
  border-bottom-color: var(--border-color) !important;
}
.dark .nav-bottom {
  border-bottom-color: hsl(from var(--theme-base) h s 35%) !important;
}
.dark .nav-link:hover {
  background: rgba(255, 255, 255, 0.05) !important;
}
.dark .nav-link.active-link {
  background: rgba(255, 255, 255, 0.08) !important;
}
.dark footer {
  border-top-color: var(--border-color) !important;
}
.dark .mobile-drawer {
  background: var(--bg-card) !important;
  box-shadow: -4px 0 40px rgba(0, 0, 0, 0.6) !important;
}
.dark .drawer-section {
  border-top-color: var(--border-color) !important;
}
.dark .search-input {
  background: var(--bg-body) !important;
  border-color: var(--border-color) !important;
  color: var(--text-main) !important;
}
.dark .search-input:focus {
  border-color: hsl(from var(--theme-base) h s 45%) !important;
  box-shadow: 0 0 0 3px var(--glow-color) !important;
}
.dark #search-suggestions {
  background-color: var(--bg-card) !important;
  border-color: var(--border-color) !important;
  box-shadow: 0 12px 40px -8px rgba(0, 0, 0, 0.6) !important;
}
.dark input[type="text"],
.dark input[type="search"],
.dark input[type="email"],
.dark input[type="password"],
.dark input[type="tel"],
.dark input[type="number"],
.dark textarea,
.dark select {
  background-color: var(--bg-body) !important;
  color: var(--text-main) !important;
  border-color: var(--border-color) !important;
}
.dark input:focus,
.dark textarea:focus,
.dark select:focus {
  border-color: hsl(from var(--theme-base) h s 45%) !important;
  box-shadow: 0 0 0 3px var(--glow-color) !important;
}
.dark label {
  color: var(--text-main) !important;
}
.dark summary {
  color: var(--text-main) !important;
}
.dark .input-box:focus {
  border-color: hsl(from var(--theme-base) h s 45%) !important;
}
.dark #editor-overlay,
.dark #editor {
  background-color: var(--bg-card) !important;
  border-color: var(--border-color) !important;
}
.dark .ql-toolbar.ql-snow {
  background-color: hsl(from var(--theme-base) h calc(s * 0.25) 16%) !important;
  border-color: var(--border-color) !important;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
.dark .ql-container.ql-snow {
  border-color: var(--border-color) !important;
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.dark .ql-snow .ql-stroke {
  stroke: #e2e8f0 !important;
  transition: stroke 0.15s ease;
}
.dark .ql-snow .ql-fill {
  fill: #e2e8f0 !important;
  transition: fill 0.15s ease;
}
.dark .ql-snow .ql-picker {
  color: #e2e8f0 !important;
}
.dark .ql-snow .ql-picker-label {
  border-color: transparent !important;
  color: #e2e8f0 !important;
}
.dark .ql-snow .ql-picker-label::before {
  color: #e2e8f0 !important;
}
.dark .ql-snow.ql-toolbar button:hover,
.dark .ql-snow.ql-toolbar button:focus,
.dark .ql-snow.ql-toolbar .ql-picker-label:hover,
.dark .ql-snow.ql-toolbar .ql-picker-label.ql-active {
  background-color: rgba(255, 255, 255, 0.1) !important;
  border-radius: 4px;
  color: #ffffff !important;
}
.dark .ql-snow.ql-toolbar button:hover .ql-stroke,
.dark .ql-snow.ql-toolbar button:focus .ql-stroke,
.dark .ql-snow.ql-toolbar button.ql-active .ql-stroke,
.dark .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,
.dark .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke {
  stroke: #38bdf8 !important;
}
.dark .ql-snow.ql-toolbar button:hover .ql-fill,
.dark .ql-snow.ql-toolbar button:focus .ql-fill,
.dark .ql-snow.ql-toolbar button.ql-active .ql-fill,
.dark .ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,
.dark .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill {
  fill: #38bdf8 !important;
}
.dark .ql-snow.ql-toolbar button.ql-active,
.dark .ql-snow.ql-toolbar .ql-picker-item.ql-selected {
  background-color: rgba(56, 189, 248, 0.2) !important;
  border-radius: 4px;
  color: #38bdf8 !important;
}
.dark .ql-snow .ql-picker-options {
  background-color: hsl(from var(--theme-base) h calc(s * 0.25) 14%) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5) !important;
  border-radius: 8px;
  padding: 6px 0;
}
.dark .ql-snow .ql-picker-item {
  color: #cbd5e1 !important;
  padding: 4px 12px;
}
.dark .ql-snow .ql-picker-item:hover {
  color: #ffffff !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
}
.dark .ql-editor {
  background-color: var(--bg-card) !important;
  background-image: linear-gradient(
        180deg,
        hsl(from var(--theme-base) h calc(s * 0.15) 22% / 0.3) 0%,
        transparent 30%
    ) !important;
  color: var(--text-main) !important;
  border-color: var(--border-color) !important;
  box-shadow: inset 0 1px 3px hsl(0 0% 0% / 0.15),
                0 0 0 1px var(--border-subtle) !important;
}
.dark .ql-editor.ql-blank::before {
  color: rgba(255, 255, 255, 0.5) !important;
  font-style: italic;
}
.dark .font-size-control {
  background-color: var(--bg-card) !important;
  border-color: var(--border-color) !important;
  box-shadow: var(--shadow-card) !important;
}
.dark .font-size-control span {
  color: var(--text-main) !important;
}
.dark .api-toast.toast-error {
  background: hsl(from var(--theme-base) 0 30% 14%) !important;
  border-color: hsl(0, 50%, 35%) !important;
  color: #fca5a5 !important;
}
.dark .api-toast.toast-warning {
  background: hsl(from var(--theme-base) 40 30% 14%) !important;
  border-color: hsl(40, 50%, 35%) !important;
  color: #fcd34d !important;
}
.dark .api-toast.toast-success {
  background: hsl(from var(--theme-base) 140 30% 14%) !important;
  border-color: hsl(140, 40%, 30%) !important;
  color: #86efac !important;
}
.dark .api-toast {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
}
.dark .bg-green-100,
.dark .bg-green-200 {
  background-color: hsl(from var(--theme-base) 140 30% 14%) !important;
  color: #86efac !important;
  border-color: hsl(140, 40%, 30%) !important;
}
.dark .bg-red-100,
.dark .bg-red-200 {
  background-color: hsl(from var(--theme-base) 0 30% 14%) !important;
  color: #fca5a5 !important;
  border-color: hsl(0, 50%, 35%) !important;
}
.dark .bg-yellow-100,
.dark .bg-yellow-200 {
  background-color: hsl(from var(--theme-base) 40 30% 14%) !important;
  color: #fcd34d !important;
  border-color: hsl(40, 50%, 35%) !important;
}
.dark .text-green-700,
.dark .text-green-800 {
  color: #86efac !important;
}
.dark .text-red-700,
.dark .text-red-800 {
  color: #fca5a5 !important;
}
.dark .text-yellow-700,
.dark .text-yellow-800 {
  color: #fcd34d !important;
}
.dark .skeleton {
  background: linear-gradient(
        105deg,
        hsl(from var(--theme-base) h calc(s * 0.2) 14%) 0%,
        hsl(from var(--theme-base) h calc(s * 0.2) 14%) 40%,
        hsl(from var(--theme-base) h calc(s * 0.25) 24%) 50%,
        hsl(from var(--theme-base) h calc(s * 0.2) 14%) 60%,
        hsl(from var(--theme-base) h calc(s * 0.2) 14%) 100%
    ) !important;
  background-size: 300% 100% !important;
}
.dark #clear-history-modal-content {
  background-color: var(--bg-card) !important;
  color: var(--text-main) !important;
  border-top-color: var(--theme-base) !important;
  box-shadow: 0 24px 64px -12px rgba(0, 0, 0, 0.7) !important;
}
.dark #cancel-clear-btn {
  background-color: transparent !important;
  color: var(--text-main) !important;
  border-color: var(--border-color) !important;
}
.dark #cancel-clear-btn:hover {
  background-color: var(--bg-card-hover) !important;
}
.dark #clear-history-modal {
  background-color: rgba(0, 0, 0, 0.75) !important;
}
.dark .related-card-overlay {
  background: rgba(8, 10, 14, 0.85) !important;
  backdrop-filter: blur(4px) !important;
}
.dark .text-gray-800,
.dark .text-gray-700 {
  color: var(--text-main) !important;
}
.dark .text-gray-400 {
  color: var(--text-muted) !important;
}
.dark .border-blue-400 {
  border-color: var(--border-color) !important;
}
.dark .shadow-lg {
  box-shadow: var(--shadow-card) !important;
}
.dark .bg-gray-400 {
  background-color: hsl(from var(--theme-base) h calc(s * 0.15) 30%) !important;
  color: var(--text-muted) !important;
}
.dark .theme-pill {
  border-color: var(--border-color) !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.dark .theme-pill--active {
  border-color: var(--text-main) !important;
  box-shadow: 0 0 0 2px var(--theme-base), 0 0 12px var(--glow-color) !important;
}
.dark .theme-pill:hover {
  box-shadow: 0 0 8px var(--glow-color) !important;
}
.dark hr {
  border-color: var(--border-color) !important;
}
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(
        180deg,
        #cbd5e1,
        hsl(from var(--theme-base) h calc(s * 0.3) 75%)
    );
  border-radius: 4px;
  border: 2px solid #f1f5f9;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(
        180deg,
        #94a3b8,
        hsl(from var(--theme-base) h calc(s * 0.4) 65%)
    );
}
.dark ::-webkit-scrollbar-track {
  background: var(--bg-body);
}
.dark ::-webkit-scrollbar-thumb {
  background: linear-gradient(
        180deg,
        var(--border-color),
        hsl(from var(--theme-base) h calc(s * 0.3) 26%)
    );
  border-radius: 4px;
  border: 2px solid var(--bg-body);
}
.dark ::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(
        180deg,
        hsl(from var(--theme-base) h calc(s * 0.3) 30%),
        hsl(from var(--theme-base) h calc(s * 0.4) 35%)
    );
}
.dark #close-delete-modal,
.dark #cancel-clear-btn {
  background-color: rgba(255, 255, 255, 0.12) !important;
  color: var(--text-main) !important;
  border-color: var(--border-color) !important;
}
.dark #close-delete-modal:hover,
.dark #cancel-clear-btn:hover {
  background-color: rgba(255, 255, 255, 0.2) !important;
}
.dark .dark-mode-toggle {
  color: var(--text-main) !important;
}
.dark .dark-mode-toggle:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 0 12px var(--glow-color) !important;
}
.dark .author-link-hover-medium:hover {
  color: hsl(from var(--theme-base) h s 65%) !important;
}
.dark .fade-in {
  animation: dark-fade-in 0.4s ease-out;
}
@keyframes dark-fade-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.dark #reading-progress-bar {
  background: linear-gradient(
        90deg,
        var(--theme-base) 0%,
        hsl(from var(--theme-base) h s 65%) 50%,
        var(--theme-base) 100%
    ) !important;
  background-size: 200% 100% !important;
  box-shadow: 0 0 8px var(--theme-base),
        0 0 16px hsl(from var(--theme-base) h s 50% / 0.5),
        0 0 32px hsl(from var(--theme-base) h s 50% / 0.2) !important;
}
.dark .pagination-controls button {
  border-color: var(--border-color) !important;
}
.dark .pagination-controls button:not(:disabled):hover {
  background-color: var(--bg-card-hover) !important;
}
.dark ::-moz-selection {
  background: hsl(from var(--theme-base) h s 40% / 0.4);
  color: var(--text-main);
}
.dark ::selection {
  background: hsl(from var(--theme-base) h s 40% / 0.4);
  color: var(--text-main);
}
@media print {
  .dark body,
    .dark .bg-white,
    .dark .bg-card {
    background-color: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
  }
}
.dark .theme-dark {
  background: linear-gradient(
        135deg,
        hsl(from var(--theme-base) h calc(s * 0.5) 14%) 0%,
        hsl(from var(--theme-base) h calc(s * 0.3) 9%) 100%
    ) !important;
}
.dark.focus-mode-active body::before {
  content: '';
  position: fixed;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 60%, hsl(0 0% 0% / 0.3) 100%);
  pointer-events: none;
  z-index: 9998;
}
.focus-mode-active:not(.dark):not(.reading-theme-sepia) body {
  background: linear-gradient(180deg, #faf8f5 0%, #f5f1eb 50%, #ede8e0 100%) !important;
  transition: background 0.5s ease;
}
.focus-mode-active:not(.dark):not(.reading-theme-sepia) body::before {
  content: '';
  position: fixed;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 55%, rgba(180, 160, 130, 0.08) 100%);
  pointer-events: none;
  z-index: 9998;
}
.focus-mode-active:not(.dark):not(.reading-theme-sepia) .ql-editor {
  background-color: #fffdf9 !important;
  border-color: #e8e0d4 !important;
  box-shadow: 0 2px 16px -4px rgba(160, 140, 110, 0.12), 0 0 0 1px rgba(200, 185, 160, 0.2) !important;
}
.reading-theme-sepia.focus-mode-active body {
  background: linear-gradient(180deg, #f4ecd8 0%, #efe5cb 50%, #e8dcc2 100%) !important;
  transition: background 0.5s ease;
}
.reading-theme-sepia.focus-mode-active body::before {
  content: '';
  position: fixed;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 50%, rgba(139, 110, 65, 0.1) 100%);
  pointer-events: none;
  z-index: 9998;
}
.reading-theme-sepia.focus-mode-active .ql-editor {
  background-color: #faf3e0 !important;
  color: #5b4636 !important;
  border-color: #d4c4a0 !important;
  box-shadow: 0 2px 16px -4px rgba(139, 110, 65, 0.15), 0 0 0 1px rgba(180, 160, 120, 0.25) !important;
}
.reading-theme-sepia.focus-mode-active .text-color-darkest,
.reading-theme-sepia.focus-mode-active h1,
.reading-theme-sepia.focus-mode-active h2,
.reading-theme-sepia.focus-mode-active h3,
.reading-theme-sepia.focus-mode-active b,
.reading-theme-sepia.focus-mode-active strong {
  color: #3d2b1f !important;
}
.reading-theme-sepia.focus-mode-active .text-color-dark,
.reading-theme-sepia.focus-mode-active p,
.reading-theme-sepia.focus-mode-active span:not([style]),
.reading-theme-sepia.focus-mode-active li {
  color: #5b4636 !important;
}
.reading-theme-sepia.focus-mode-active .ql-editor a {
  color: #8b5e3c !important;
}
.reading-theme-sepia.focus-mode-active .ql-editor code,
.reading-theme-sepia.focus-mode-active .ql-editor pre {
  background-color: #eee4cc !important;
  color: #5b4636 !important;
  border-color: #d4c4a0 !important;
}
.reading-theme-sepia.focus-mode-active .ql-editor blockquote {
  border-left-color: #c4a96a !important;
  color: #6b5540 !important;
}
.reading-theme-sepia.focus-mode-active .font-size-control {
  background-color: #f0e6cc !important;
  border-color: #c4a96a !important;
}
.reading-theme-sepia.focus-mode-active .font-size-control span {
  color: #5b4636 !important;
}
.reading-theme-sepia.focus-mode-active #focus-mode-toggle {
  background: linear-gradient(135deg, #a0784c 0%, #7a5a30 100%) !important;
  color: #ffffff !important;
}
.reading-theme-sepia.focus-mode-active button span,
.reading-theme-sepia.focus-mode-active button span:not([style]) {
  color: inherit !important;
}
.reading-theme-sepia.focus-mode-active #focus-mode-exit-float {
  background: linear-gradient(135deg, #8b6e41 0%, #5c4625 100%) !important;
  color: #faf3e0 !important;
  box-shadow: 0 8px 32px rgba(92, 70, 37, 0.35), 0 0 0 1px rgba(250, 243, 224, 0.2) inset !important;
}
.reading-theme-sepia.focus-mode-active #focus-mode-exit-float:hover {
  background: linear-gradient(135deg, #9a7d50 0%, #6d532e 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 36px rgba(92, 70, 37, 0.45), 0 0 0 1px rgba(250, 243, 224, 0.3) inset !important;
}
.reading-theme-sepia.focus-mode-active #focus-time-remaining {
  background: linear-gradient(135deg, rgba(250, 243, 224, 0.85) 0%, rgba(244, 236, 216, 0.75) 100%) !important;
  color: #3d2b1f !important;
  box-shadow: 0 8px 32px rgba(139, 110, 65, 0.15), 0 0 0 1px rgba(196, 169, 106, 0.3) inset !important;
}
.reading-theme-sepia.focus-mode-active ::-webkit-scrollbar-track {
  background: #efe5cb;
}
.reading-theme-sepia.focus-mode-active ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #c4a96a, #a0784c);
  border-radius: 4px;
  border: 2px solid #efe5cb;
}
.reading-theme-sepia.focus-mode-active #focus-progress-bar {
  background: linear-gradient(90deg, #c4a96a 0%, #dab96e 25%, #f0d48a 50%, #dab96e 75%, #c4a96a 100%) !important;
  background-size: 200% 100% !important;
  box-shadow: 0 0 8px #c4a96a, 0 0 16px rgba(196, 169, 106, 0.4) !important;
}
.reading-theme-sepia.focus-mode-active #focus-progress-bar::after {
  background: #f0d48a !important;
  box-shadow: 0 0 8px #f0d48a, 0 0 16px #c4a96a !important;
}
.reading-theme-sepia.focus-mode-active #reading-progress-bar {
  background: linear-gradient(90deg, #c4a96a 0%, #dab96e 25%, #f0d48a 50%, #dab96e 75%, #c4a96a 100%) !important;
  background-size: 200% 100% !important;
  box-shadow: 0 0 8px #c4a96a, 0 0 16px rgba(196, 169, 106, 0.4) !important;
}
.reading-theme-selector {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 2px solid var(--theme-medium);
  background-color: var(--theme-lightest);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
}
.reading-theme-selector-label {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--theme-darkest);
  letter-spacing: 0.02em;
  white-space: nowrap;
  padding-right: 2px;
}
.reading-theme-dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  position: relative;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  justify-content: center;
}
.reading-theme-dot:hover {
  transform: scale(1.15);
}
.reading-theme-dot.active {
  border-color: var(--theme-base);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08), 0 0 8px rgba(0, 0, 0, 0.06);
  transform: scale(1.1);
}
.reading-theme-dot--light {
  background: linear-gradient(135deg, #ffffff 0%, #f5f1eb 100%);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
}
.reading-theme-dot--sepia {
  background: linear-gradient(135deg, #f4ecd8 0%, #dab96e 100%);
  box-shadow: inset 0 0 0 1px rgba(139, 110, 65, 0.25);
}
.reading-theme-dot--dark {
  background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}
.reading-theme-dot.active::after {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--theme-base);
}
.reading-theme-dot--dark.active::after {
  background: hsl(from var(--theme-base) h s 65%);
}
.dark .reading-theme-selector {
  background-color: var(--bg-card) !important;
  border-color: var(--border-color) !important;
}
.dark .reading-theme-selector-label {
  color: var(--text-main) !important;
}
.reading-theme-sepia.focus-mode-active .reading-theme-selector {
  background-color: #f0e6cc !important;
  border-color: #c4a96a !important;
}
.reading-theme-sepia.focus-mode-active .reading-theme-selector-label {
  color: #5b4636 !important;
}
.reading-theme-selector {
  display: none;
}
.focus-mode-active .reading-theme-selector {
  display: flex !important;
}
.reading-theme-dot[title] {
  position: relative;
}
@media (max-width: 576px) {
  .reading-theme-selector-label {
    display: none;
  }
  .reading-theme-selector {
    padding: 3px 6px;
    gap: 4px;
  }
  .reading-theme-dot {
    width: 20px;
    height: 20px;
  }
}
.spacing-selector {
  display: none;
  align-items: center;
  gap: 4px;
  padding: 3px 6px;
  border-radius: 999px;
  border: 2px solid var(--theme-medium);
  background-color: var(--theme-lightest);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
}
.focus-mode-active .spacing-selector {
  display: flex !important;
}
.spacing-selector-label {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--theme-darkest);
  letter-spacing: 0.02em;
  white-space: nowrap;
  padding: 0 4px 0 2px;
}
.spacing-btn,
.width-btn {
  font-size: 0.7rem;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 999px;
  border: none;
  background: transparent;
  color: var(--theme-dark);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.spacing-btn:hover,
.width-btn:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.spacing-btn.active,
.width-btn.active {
  background-color: var(--theme-base);
  color: #ffffff;
}
.dark .spacing-selector,
.dark .width-selector {
  background-color: var(--bg-card) !important;
  border-color: var(--border-color) !important;
}
.dark .spacing-selector-label,
.dark .width-selector-label {
  color: var(--text-main) !important;
}
.dark .spacing-btn,
.dark .width-btn {
  color: var(--text-muted);
}
.dark .spacing-btn:hover,
.dark .width-btn:hover {
  background-color: rgba(255, 255, 255, 0.05);
}
.dark .spacing-btn.active,
.dark .width-btn.active {
  background-color: var(--theme-base) !important;
  color: #ffffff !important;
}
.reading-theme-sepia.focus-mode-active .spacing-selector,
.reading-theme-sepia.focus-mode-active .width-selector {
  background-color: #f0e6cc !important;
  border-color: #c4a96a !important;
}
.reading-theme-sepia.focus-mode-active .spacing-selector-label,
.reading-theme-sepia.focus-mode-active .width-selector-label {
  color: #5b4636 !important;
}
.reading-theme-sepia.focus-mode-active .spacing-btn,
.reading-theme-sepia.focus-mode-active .width-btn {
  color: #5b4636;
}
.reading-theme-sepia.focus-mode-active .spacing-btn:hover,
.reading-theme-sepia.focus-mode-active .width-btn:hover {
  background-color: rgba(139, 110, 65, 0.1);
}
.reading-theme-sepia.focus-mode-active .spacing-btn.active,
.reading-theme-sepia.focus-mode-active .width-btn.active {
  background-color: #a0784c !important;
  color: #ffffff !important;
}
@media (max-width: 576px) {
  .spacing-selector-label,
    .width-selector-label {
    display: none;
  }
}
#reader-settings-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 2px solid var(--theme-medium);
  background-color: var(--theme-lightest);
  color: var(--theme-darkest);
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  flex-shrink: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
#reader-settings-toggle:hover {
  background-color: var(--theme-light);
}
.dark #reader-settings-toggle {
  background-color: var(--bg-card);
  border-color: var(--border-color) !important;
  color: var(--text-main);
}
.dark #reader-settings-toggle:hover {
  background-color: var(--bg-card-hover);
}
.reading-theme-sepia.focus-mode-active #reader-settings-toggle {
  background-color: #f0e6cc;
  border-color: #c4a96a !important;
  color: #5b4636;
}
.reading-theme-sepia.focus-mode-active #reader-settings-toggle:hover {
  background-color: #e5dac0;
}
.reader-settings-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 280px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(20px) saturate(1.8);
  -webkit-backdrop-filter: blur(20px) saturate(1.8);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.15),
        0 1px 3px rgba(0, 0, 0, 0.05);
  z-index: 1000;
  display: none;
  flex-direction: column;
  gap: 16px;
  transform: translateY(10px);
  opacity: 0;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.reader-settings-dropdown.active {
  display: flex;
  transform: translateY(0);
  opacity: 1;
}
.dropdown-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dropdown-section-label {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--theme-dark);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.reader-settings-dropdown .reading-theme-selector,
.reader-settings-dropdown .spacing-selector,
.reader-settings-dropdown .width-selector {
  display: flex !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  width: 100%;
}
.reader-settings-dropdown .spacing-selector,
.reader-settings-dropdown .width-selector {
  gap: 4px;
}
.reader-settings-dropdown .spacing-btn,
.reader-settings-dropdown .width-btn {
  flex: 1;
  text-align: center;
  border-radius: 6px;
  padding: 6px 0;
}
.reader-settings-dropdown .font-size-control {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  width: 100%;
  gap: 8px;
}
.reader-settings-dropdown .font-control-btn {
  flex: 1;
  border-radius: 6px;
}
.dark .reader-settings-dropdown {
  background: rgba(20, 24, 33, 0.9);
  border-color: var(--border-color) !important;
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.5),
        0 0 0 1px var(--border-color);
}
.dark .dropdown-section-label {
  color: var(--text-muted);
}
.reading-theme-sepia.focus-mode-active .reader-settings-dropdown {
  background: rgba(240, 230, 204, 0.95);
  border-color: #c4a96a !important;
  box-shadow: 0 10px 30px -10px rgba(139, 110, 65, 0.25);
}
.reading-theme-sepia.focus-mode-active .dropdown-section-label {
  color: #6b5540;
}
.reading-theme-sepia.focus-mode-active .reader-settings-dropdown .spacing-btn,
.reading-theme-sepia.focus-mode-active .reader-settings-dropdown .width-btn {
  color: #5b4636;
}
.reading-theme-sepia.focus-mode-active .reader-settings-dropdown .spacing-btn.active,
.reading-theme-sepia.focus-mode-active .reader-settings-dropdown .width-btn.active {
  background-color: #a0784c !important;
  color: #ffffff !important;
}
.focus-mode-active .reading-theme-selector {
  display: none !important;
}
.focus-mode-active .reader-settings-dropdown .reading-theme-selector {
  display: flex !important;
}
.focus-mode-active .spacing-selector,
.focus-mode-active .width-selector {
  display: none !important;
}
.focus-mode-active .reader-settings-dropdown .spacing-selector,
.focus-mode-active .reader-settings-dropdown .width-selector {
  display: flex !important;
}
.focus-mode-active .font-size-control {
  display: none !important;
}
.focus-mode-active .reader-settings-dropdown .font-size-control {
  display: flex !important;
}
@media (max-width: 768px) {
  .width-dropdown-section {
    display: none !important;
  }
}
#tts-toggle-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 2px solid var(--theme-medium);
  background-color: var(--theme-lightest);
  color: var(--theme-darkest);
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  flex-shrink: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
#tts-toggle-btn:hover {
  background-color: var(--theme-light);
}
#tts-toggle-btn.active {
  background-color: var(--theme-base);
  color: #ffffff;
  border-color: var(--theme-dark);
}
.dark #tts-toggle-btn {
  background-color: var(--bg-card);
  border-color: var(--border-color) !important;
  color: var(--text-main);
}
.dark #tts-toggle-btn:hover {
  background-color: var(--bg-card-hover);
}
.dark #tts-toggle-btn.active {
  background-color: var(--theme-base);
  color: #ffffff;
}
.reading-theme-sepia.focus-mode-active #tts-toggle-btn {
  background-color: #f0e6cc;
  border-color: #c4a96a !important;
  color: #5b4636;
}
.reading-theme-sepia.focus-mode-active #tts-toggle-btn:hover {
  background-color: #e5dac0;
}
.tts-player-bar {
  background-color: var(--theme-lightest);
  border-color: var(--theme-medium);
  color: var(--theme-darkest);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.dark .tts-player-bar {
  background-color: var(--bg-card);
  border-color: var(--border-color) !important;
  color: var(--text-main);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}
.reading-theme-sepia.focus-mode-active .tts-player-bar {
  background-color: #f5edda;
  border-color: #c4a96a !important;
  color: #5b4636;
}
.tts-ctrl-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 8px;
  background-color: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.tts-main-play-btn {
  background-color: var(--theme-base);
  color: #ffffff;
  border-radius: 999px;
  padding: 8px 14px;
}
.tts-main-play-btn:hover {
  opacity: 0.9;
  transform: scale(1.05);
}
.tts-ctrl-btn:not(.tts-main-play-btn):hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.dark .tts-ctrl-btn:not(.tts-main-play-btn):hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.tts-speed-badge {
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  background-color: rgba(0, 0, 0, 0.06);
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.dark .tts-speed-badge {
  background-color: rgba(255, 255, 255, 0.15);
  color: var(--text-main);
}
.tts-reading-highlight {
  position: relative;
  background: linear-gradient(90deg, rgba(254, 240, 138, 0.45) 0%, rgba(254, 240, 138, 0.15) 100%) !important;
  border-left: 5px solid var(--theme-base) !important;
  padding-left: 14px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  padding-right: 10px !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.06),
        0 0 15px -3px var(--theme-base);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateX(3px);
}
.tts-reading-highlight::before {
  content: '';
  position: absolute;
  left: -5px;
  top: 0;
  bottom: 0;
  width: 5px;
  background: var(--theme-base);
  border-radius: 999px;
  box-shadow: 0 0 10px var(--theme-base);
  animation: tts-pulse-glow 2s infinite ease-in-out;
}
@keyframes tts-pulse-glow {
  0%, 100% {
    opacity: 0.8;
    box-shadow: 0 0 8px var(--theme-base);
  }
  50% {
    opacity: 1;
    box-shadow: 0 0 18px var(--theme-base);
  }
}
li.tts-reading-highlight {
  list-style-position: inside !important;
}
li.tts-reading-highlight::before {
  display: none !important;
}
.dark .tts-reading-highlight {
  background: linear-gradient(90deg, rgba(161, 98, 7, 0.35) 0%, rgba(161, 98, 7, 0.1) 100%) !important;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.4),
        0 0 20px -2px hsl(from var(--theme-base) h s 50% / 0.4);
}
.reading-theme-sepia .tts-reading-highlight {
  background: linear-gradient(90deg, rgba(234, 179, 8, 0.35) 0%, rgba(234, 179, 8, 0.1) 100%) !important;
}
.tts-word-active {
  background-color: transparent !important;
  color: var(--theme-base) !important;
  font-weight: 800 !important;
  box-shadow: none !important;
  padding: 0 !important;
  transition: color 0.1s ease !important;
}
.dark .tts-word-active {
  color: #fbbf24 !important;
}
.reading-theme-sepia .tts-word-active {
  color: #b45309 !important;
}
.article-sticky-toolbar {
  position: sticky;
  top: 6.75rem;
  z-index: 40;
  padding-top: 8px;
  padding-bottom: 8px;
  margin-bottom: 1rem;
  background-color: var(--bg-body, #ffffff);
  transition: top 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}
@media (max-width: 768px) {
  .article-sticky-toolbar {
    top: 120px !important;
  }
}
.dark .article-sticky-toolbar {
  background-color: var(--bg-body, #0f172a);
}
.focus-mode-active .article-sticky-toolbar {
  top: 0 !important;
}
.reading-theme-sepia.focus-mode-active .article-sticky-toolbar {
  background-color: #fbf0d9;
}
.articlio-highlight {
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  border-radius: 2px;
}
.highlight-yellow {
  background-color: rgba(253, 224, 71, 0.55);
}
.highlight-yellow:hover, .articlio-highlight.highlight-yellow.has-note {
  border-color: rgb(234, 179, 8);
}
.highlight-green {
  background-color: rgba(134, 239, 172, 0.55);
}
.highlight-green:hover, .articlio-highlight.highlight-green.has-note {
  border-color: rgb(34, 197, 94);
}
.highlight-blue {
  background-color: rgba(147, 197, 253, 0.55);
}
.highlight-blue:hover, .articlio-highlight.highlight-blue.has-note {
  border-color: rgb(59, 130, 246);
}
.highlight-pink {
  background-color: rgba(244, 114, 182, 0.55);
}
.highlight-pink:hover, .articlio-highlight.highlight-pink.has-note {
  border-color: rgb(236, 72, 153);
}
.highlight-mode-active.selection-yellow::-moz-selection, .highlight-mode-active.selection-yellow *::-moz-selection {
  background-color: rgba(253, 224, 71, 0.55) !important;
}
.highlight-mode-active.selection-yellow::selection,
.highlight-mode-active.selection-yellow *::selection {
  background-color: rgba(253, 224, 71, 0.55) !important;
}
.highlight-mode-active.selection-green::-moz-selection, .highlight-mode-active.selection-green *::-moz-selection {
  background-color: rgba(134, 239, 172, 0.55) !important;
}
.highlight-mode-active.selection-green::selection,
.highlight-mode-active.selection-green *::selection {
  background-color: rgba(134, 239, 172, 0.55) !important;
}
.highlight-mode-active.selection-blue::-moz-selection, .highlight-mode-active.selection-blue *::-moz-selection {
  background-color: rgba(147, 197, 253, 0.55) !important;
}
.highlight-mode-active.selection-blue::selection,
.highlight-mode-active.selection-blue *::selection {
  background-color: rgba(147, 197, 253, 0.55) !important;
}
.highlight-mode-active.selection-pink::-moz-selection, .highlight-mode-active.selection-pink *::-moz-selection {
  background-color: rgba(244, 114, 182, 0.55) !important;
}
.highlight-mode-active.selection-pink::selection,
.highlight-mode-active.selection-pink *::selection {
  background-color: rgba(244, 114, 182, 0.55) !important;
}
.dark .highlight-mode-active.selection-yellow::-moz-selection, .dark .highlight-mode-active.selection-yellow *::-moz-selection {
  background-color: rgba(234, 179, 8, 0.38) !important;
}
.dark .highlight-mode-active.selection-yellow::selection,
.dark .highlight-mode-active.selection-yellow *::selection {
  background-color: rgba(234, 179, 8, 0.38) !important;
}
.dark .highlight-mode-active.selection-green::-moz-selection, .dark .highlight-mode-active.selection-green *::-moz-selection {
  background-color: rgba(34, 197, 94, 0.38) !important;
}
.dark .highlight-mode-active.selection-green::selection,
.dark .highlight-mode-active.selection-green *::selection {
  background-color: rgba(34, 197, 94, 0.38) !important;
}
.dark .highlight-mode-active.selection-blue::-moz-selection, .dark .highlight-mode-active.selection-blue *::-moz-selection {
  background-color: rgba(59, 130, 246, 0.38) !important;
}
.dark .highlight-mode-active.selection-blue::selection,
.dark .highlight-mode-active.selection-blue *::selection {
  background-color: rgba(59, 130, 246, 0.38) !important;
}
.dark .highlight-mode-active.selection-pink::-moz-selection, .dark .highlight-mode-active.selection-pink *::-moz-selection {
  background-color: rgba(236, 72, 153, 0.38) !important;
}
.dark .highlight-mode-active.selection-pink::selection,
.dark .highlight-mode-active.selection-pink *::selection {
  background-color: rgba(236, 72, 153, 0.38) !important;
}
.reading-theme-sepia .highlight-mode-active.selection-yellow::-moz-selection, .reading-theme-sepia .highlight-mode-active.selection-yellow *::-moz-selection {
  background-color: rgba(217, 119, 6, 0.38) !important;
}
.reading-theme-sepia .highlight-mode-active.selection-yellow::selection,
.reading-theme-sepia .highlight-mode-active.selection-yellow *::selection {
  background-color: rgba(217, 119, 6, 0.38) !important;
}
.reading-theme-sepia .highlight-mode-active.selection-green::-moz-selection, .reading-theme-sepia .highlight-mode-active.selection-green *::-moz-selection {
  background-color: rgba(21, 128, 61, 0.38) !important;
}
.reading-theme-sepia .highlight-mode-active.selection-green::selection,
.reading-theme-sepia .highlight-mode-active.selection-green *::selection {
  background-color: rgba(21, 128, 61, 0.38) !important;
}
.reading-theme-sepia .highlight-mode-active.selection-blue::-moz-selection, .reading-theme-sepia .highlight-mode-active.selection-blue *::-moz-selection {
  background-color: rgba(29, 78, 216, 0.38) !important;
}
.reading-theme-sepia .highlight-mode-active.selection-blue::selection,
.reading-theme-sepia .highlight-mode-active.selection-blue *::selection {
  background-color: rgba(29, 78, 216, 0.38) !important;
}
.reading-theme-sepia .highlight-mode-active.selection-pink::-moz-selection, .reading-theme-sepia .highlight-mode-active.selection-pink *::-moz-selection {
  background-color: rgba(190, 24, 74, 0.38) !important;
}
.reading-theme-sepia .highlight-mode-active.selection-pink::selection,
.reading-theme-sepia .highlight-mode-active.selection-pink *::selection {
  background-color: rgba(190, 24, 74, 0.38) !important;
}
.articlio-highlight.has-note {
  border-bottom-style: dashed !important;
}
.dark .highlight-yellow {
  background-color: rgba(234, 179, 8, 0.38);
}
.dark .highlight-green {
  background-color: rgba(34, 197, 94, 0.38);
}
.dark .highlight-blue {
  background-color: rgba(59, 130, 246, 0.38);
}
.dark .highlight-pink {
  background-color: rgba(236, 72, 153, 0.38);
}
.reading-theme-sepia .highlight-yellow {
  background-color: rgba(217, 119, 6, 0.38);
}
.reading-theme-sepia .highlight-green {
  background-color: rgba(21, 128, 61, 0.38);
}
.reading-theme-sepia .highlight-blue {
  background-color: rgba(29, 78, 216, 0.38);
}
.reading-theme-sepia .highlight-pink {
  background-color: rgba(190, 24, 74, 0.38);
}
.hl-eraser-capsule {
  display: flex;
  align-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--theme-base) 0%, var(--theme-dark) 100%);
  box-shadow: 0 4px 15px -3px rgba(0,0,0,0.2),
        0 0 0 1px rgba(255,255,255,0.15) inset;
  overflow: hidden;
  height: 42px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.hl-eraser-capsule:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px -3px rgba(0,0,0,0.25),
        0 0 0 1px rgba(255,255,255,0.2) inset,
        0 0 20px -4px var(--theme-base);
}
.dark .hl-eraser-capsule {
  background: linear-gradient(135deg, var(--theme-base) 0%, hsl(from var(--theme-base) h calc(s * 0.8) 30%) 100%);
  box-shadow: 0 4px 15px -3px rgba(0,0,0,0.4),
        0 0 0 1px rgba(255,255,255,0.08) inset;
}
.dark .hl-eraser-capsule:hover {
  box-shadow: 0 8px 25px -3px rgba(0,0,0,0.5),
        0 0 0 1px rgba(255,255,255,0.12) inset,
        0 0 25px -4px hsl(from var(--theme-base) h s 50% / 0.5);
}
#hl-tool-btn, #eraser-tool-btn {
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.8);
  width: 42px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
#hl-tool-btn:hover, #eraser-tool-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}
#hl-tool-btn.active, #eraser-tool-btn.active {
  background: linear-gradient(135deg, var(--theme-light) 0%, var(--theme-base) 100%) !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.2);
}
.hl-eraser-divider {
  width: 1px;
  height: 18px;
  background: rgba(255, 255, 255, 0.25);
}
.hl-color-picker-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: 999px;
  padding: 6px 10px;
  display: flex;
  gap: 8px;
  z-index: 1000;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(12px) saturate(1.8);
  -webkit-backdrop-filter: blur(12px) saturate(1.8);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.hl-color-picker-dropdown.hidden {
  display: none !important;
}
.hl-color-dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid transparent;
  transition: transform 0.15s ease, border-color 0.15s ease;
}
.hl-color-dot:hover {
  transform: scale(1.2);
}
.hl-color-dot.active {
  border-color: var(--text-main);
  transform: scale(1.1);
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}
.hl-color-dot--yellow {
  background-color: rgb(253, 224, 71);
}
.hl-color-dot--green {
  background-color: rgb(134, 239, 172);
}
.hl-color-dot--blue {
  background-color: rgb(147, 197, 253);
}
.hl-color-dot--pink {
  background-color: rgb(244, 114, 182);
}
.dark .hl-color-picker-dropdown {
  background: rgba(30, 41, 59, 0.9);
  border-color: rgba(255, 255, 255, 0.1);
}
.post-card {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}
.post-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.15),
               0 4px 10px -4px rgba(0, 0, 0, 0.08);
}
.dark .post-card:hover {
  box-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.4),
               0 4px 10px -4px rgba(0, 0, 0, 0.25),
               0 0 20px -6px var(--glow-color);
}
.post-card:active {
  transform: translateY(-1px);
}
@keyframes card-enter {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.card-enter-animate {
  animation: card-enter 0.5s cubic-bezier(0.4, 0, 0.2, 1) both;
}
@keyframes like-bounce {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.25);
  }
  50% {
    transform: scale(0.92);
  }
  75% {
    transform: scale(1.08);
  }
  100% {
    transform: scale(1);
  }
}
.like-bounce {
  animation: like-bounce 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes like-particle {
  0% {
    opacity: 1;
    transform: translate(0, 0) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(var(--px, 0), var(--py, 0)) scale(0);
  }
}
.like-particle {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--theme-base);
  pointer-events: none;
  animation: like-particle 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes page-fade-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
main {
  animation: page-fade-in 0.5s ease-out;
}
@keyframes comment-enter {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.comment-enter-animate {
  animation: comment-enter 0.4s ease-out both;
}
button:active,
.btn-press:active {
  transform: scale(0.97);
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
    *::before,
    *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .post-card:hover {
    transform: none;
  }
  main {
    animation: none;
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@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-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@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-ease {
  syntax: "*";
  inherits: false;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@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-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --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-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --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-ease: initial;
    }
  }
}
