@import url('https://fonts.googleapis.cn/css2?family=Noto+Serif+SC:wght@200..900&display=swap');
@import 'tailwindcss';
@import 'tw-animate-css';

@property --gallery-border-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-sidebar-ring: var(--sidebar-ring);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar: var(--sidebar);
  --color-chart-5: var(--chart-5);
  --color-chart-4: var(--chart-4);
  --color-chart-3: var(--chart-3);
  --color-chart-2: var(--chart-2);
  --color-chart-1: var(--chart-1);
  --color-ring: var(--ring);
  --color-input: var(--input);
  --color-border: var(--border);
  --color-destructive: var(--destructive);
  --color-accent-foreground: var(--accent-foreground);
  --color-accent: var(--accent);
  --color-muted-foreground: var(--muted-foreground);
  --color-muted: var(--muted);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-secondary: var(--secondary);
  --color-primary-foreground: var(--primary-foreground);
  --color-primary: var(--primary);
  --color-popover-foreground: var(--popover-foreground);
  --color-popover: var(--popover);
  --color-card-foreground: var(--card-foreground);
  --color-card: var(--card);
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
  --radius-2xl: calc(var(--radius) + 8px);
  --radius-3xl: calc(var(--radius) + 12px);
  --radius-4xl: calc(var(--radius) + 16px);
  --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-serif: "Noto Serif SC", "Songti SC", "SimSun", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --shadow-2xs: 0px 1px 2px 0px hsl(225 27.7778% 14.1176% / 0.02);
  --shadow-xs: 0px 1px 2px 0px hsl(225 27.7778% 14.1176% / 0.02);
  --shadow-sm: 0px 1px 2px 0px hsl(225 27.7778% 14.1176% / 0.04), 0px 1px 2px -1px hsl(225 27.7778% 14.1176% / 0.04);
  --shadow-md: 0px 1px 2px 0px hsl(225 27.7778% 14.1176% / 0.04), 0px 2px 4px -1px hsl(225 27.7778% 14.1176% / 0.04);
  --shadow-lg: 0px 1px 2px 0px hsl(225 27.7778% 14.1176% / 0.04), 0px 4px 6px -1px hsl(225 27.7778% 14.1176% / 0.04);
  --shadow-xl: 0px 1px 2px 0px hsl(225 27.7778% 14.1176% / 0.04), 0px 8px 10px -1px hsl(225 27.7778% 14.1176% / 0.04);
  --shadow-2xl: 0px 1px 2px 0px hsl(225 27.7778% 14.1176% / 0.10);
}

:root {
  --background: oklch(0.985 0.01 85);
  --foreground: oklch(0.18 0.02 60);
  --card: oklch(0.995 0.005 85);
  --card-foreground: oklch(0.18 0.02 60);
  --popover: oklch(0.995 0.005 85);
  --popover-foreground: oklch(0.18 0.02 60);
  --primary: oklch(0.62 0.17 55);
  --primary-foreground: oklch(0.99 0.02 95);
  --secondary: oklch(0.94 0.03 85);
  --secondary-foreground: oklch(0.25 0.05 60);
  --muted: oklch(0.92 0.025 80);
  --muted-foreground: oklch(0.48 0.03 70);
  --accent: oklch(0.90 0.06 90);
  --accent-foreground: oklch(0.2 0.04 50);
  --destructive: oklch(0.55 0.22 25);
  --border: oklch(0.88 0.02 80);
  --input: oklch(0.88 0.02 80);
  --ring: oklch(0.62 0.17 55);
  --chart-1: oklch(0.85 0.15 90);
  --chart-2: oklch(0.75 0.16 70);
  --chart-3: oklch(0.65 0.17 55);
  --chart-4: oklch(0.55 0.15 45);
  --chart-5: oklch(0.45 0.12 40);
  --sidebar: oklch(0.96 0.015 85);
  --sidebar-foreground: oklch(0.18 0.02 60);
  --sidebar-primary: oklch(0.62 0.17 55);
  --sidebar-primary-foreground: oklch(0.99 0.02 95);
  --sidebar-accent: oklch(0.92 0.025 80);
  --sidebar-accent-foreground: oklch(0.2 0.04 50);
  --sidebar-border: oklch(0.88 0.02 80);
  --sidebar-ring: oklch(0.62 0.17 55);
  --radius: 0.8rem;
}

.dark {
  --background: oklch(0.16 0.015 260);
  --foreground: oklch(0.98 0.01 80);
  --card: oklch(0.21 0.025 260);
  --card-foreground: oklch(0.98 0.01 80);
  --popover: oklch(0.25 0.025 260);
  --popover-foreground: oklch(0.98 0.01 80);
  --primary: oklch(0.75 0.15 70);
  --primary-foreground: oklch(0.2 0.05 50);
  --secondary: oklch(0.26 0.03 260);
  --secondary-foreground: oklch(0.98 0 0);
  --muted: oklch(0.23 0.02 260);
  --muted-foreground: oklch(0.65 0.02 260);
  --accent: oklch(0.28 0.06 70);
  --accent-foreground: oklch(0.98 0.02 80);
  --destructive: oklch(0.58 0.18 25);
  --border: oklch(1 0 0 / 12%);
  --input: oklch(1 0 0 / 18%);
  --ring: oklch(0.75 0.15 70);
  --chart-1: oklch(0.85 0.15 90);
  --chart-2: oklch(0.75 0.16 70);
  --chart-3: oklch(0.65 0.17 55);
  --chart-4: oklch(0.55 0.15 45);
  --chart-5: oklch(0.45 0.12 40);
  --sidebar: oklch(0.19 0.02 260);
  --sidebar-foreground: oklch(0.98 0.01 80);
  --sidebar-primary: oklch(0.75 0.15 70);
  --sidebar-primary-foreground: oklch(0.2 0.05 50);
  --sidebar-accent: oklch(0.24 0.025 260);
  --sidebar-accent-foreground: oklch(0.98 0.01 80);
  --sidebar-border: oklch(1 0 0 / 12%);
  --sidebar-ring: oklch(0.75 0.15 70);
}

@custom-variant dark (&:is(.dark *));
@custom-variant light (&:is(.light *));

@layer base {
  * {
    @apply border-border outline-ring/50;

  }
  body {
    @apply bg-background text-foreground font-serif;
    font-size: 17px;
    line-height: 1.65;

  }

  .light body {
    background:
      linear-gradient(135deg, rgb(250 247 241) 0%, rgb(237 242 248) 42%, rgb(251 247 236) 100%),
      var(--background);
  }

  @media (max-width: 767px) {
    body {
      padding-bottom: calc(4.25rem + env(safe-area-inset-bottom));
      font-size: 16px;
      line-height: 1.55;
    }
  }
}

@layer components {
  .liquid-surface {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgb(255 255 255 / 0.085);
    background:
      linear-gradient(180deg, rgb(18 25 38 / 0.78), rgb(7 11 19 / 0.72)),
      rgb(8 13 22 / 0.78);
    box-shadow:
      inset 0 1px 0 rgb(255 255 255 / 0.07),
      0 12px 30px rgb(0 0 0 / 0.22);
    backdrop-filter: blur(14px) saturate(112%);
    -webkit-backdrop-filter: blur(14px) saturate(112%);
  }

  .liquid-surface:hover {
    border-color: rgb(255 255 255 / 0.085);
  }

  .liquid-glass {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgb(255 255 255 / 0.12);
    background:
      linear-gradient(180deg, rgb(255 255 255 / 0.075), rgb(255 255 255 / 0.026) 34%, rgb(2 6 23 / 0.38)),
      rgb(10 16 27 / 0.70);
    box-shadow:
      inset 0 1px 0 rgb(255 255 255 / 0.12),
      inset 0 0 0 1px rgb(255 255 255 / 0.025),
      0 16px 38px rgb(0 0 0 / 0.26);
    backdrop-filter: blur(20px) saturate(122%);
    -webkit-backdrop-filter: blur(20px) saturate(122%);
  }

  .liquid-glass::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    border-radius: inherit;
    background:
      linear-gradient(110deg, rgb(255 255 255 / 0.11), transparent 24% 80%, rgb(244 166 36 / 0.035)),
      linear-gradient(180deg, rgb(255 255 255 / 0.055), transparent 30%);
    opacity: 0.46;
  }

  .liquid-glass:hover {
    border-color: rgb(255 255 255 / 0.12);
  }

  .liquid-glass:hover::before {
    opacity: 0.46;
  }

  .liquid-glass:active {
    filter: none;
  }

  .gallery-work-shell {
    position: relative;
    isolation: isolate;
    border-radius: 1rem;
    transform-origin: center;
    transition:
      transform 320ms cubic-bezier(0.2, 0.8, 0.2, 1),
      filter 320ms ease,
      z-index 320ms ease;
  }

  .gallery-work-shell:hover {
    z-index: 10;
    transform: translateY(-6px) scale(1.02);
    filter: saturate(1.12);
  }

  .gallery-work-card {
    position: relative;
    z-index: 1;
    transition:
      border-color 300ms ease,
      box-shadow 300ms ease,
      background-color 300ms ease;
  }

  .gallery-card-border-frame {
    --gallery-border-angle: 0deg;
    position: relative;
    border-radius: 1rem;
    background: transparent;
  }

  .gallery-card-border-frame::before {
    content: "";
    position: absolute;
    z-index: 0;
    pointer-events: none;
    background:
      conic-gradient(
        from var(--gallery-border-angle),
        var(--gallery-accent-1) 0deg,
        var(--gallery-accent-2) 72deg,
        var(--gallery-accent-3) 144deg,
        var(--gallery-accent-4) 216deg,
        var(--gallery-accent-5) 288deg,
        var(--gallery-accent-1) 360deg
      );
    opacity: 0;
    transition: opacity 220ms ease;
    animation: gallery-clockwise-flow 5.2s linear infinite;
    animation-play-state: paused;
    -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    mask-composite: exclude;
  }

  .gallery-card-border-frame::before {
    inset: -3px;
    border-radius: calc(1rem + 3px);
    padding: 3px;
    filter: blur(1.2px) saturate(1.75) brightness(1.08);
  }

  .gallery-card-border-frame .gallery-work-card {
    position: relative;
    z-index: 1;
  }

  .gallery-work-shell:hover .gallery-card-border-frame::before {
    opacity: 0.96;
    animation-play-state: running;
  }

  .gallery-work-shell:hover .gallery-work-card {
    border-color: color-mix(in srgb, var(--gallery-accent-2) 28%, white 10%);
    box-shadow:
      0 16px 34px rgb(0 0 0 / 0.18),
      inset 0 1px 0 rgb(255 255 255 / 0.12);
  }

  .gallery-work-action-button {
    border-radius: 9999px !important;
    border: 1px solid var(--gallery-action-border) !important;
    background: var(--gallery-action-bg) !important;
    color: var(--gallery-action-fg) !important;
    box-shadow: var(--gallery-action-shadow) !important;
    backdrop-filter: blur(14px) saturate(1.18);
    -webkit-backdrop-filter: blur(14px) saturate(1.18);
    transition:
      transform 180ms ease,
      background-color 180ms ease,
      color 180ms ease,
      box-shadow 180ms ease;
  }

  .gallery-work-action-button:hover {
    background: color-mix(in srgb, var(--gallery-action-bg) 86%, var(--gallery-accent-2) 14%) !important;
    color: var(--gallery-action-fg) !important;
    transform: translateY(-2px) scale(1.05);
  }

  .gallery-work-action-button svg {
    color: currentColor;
  }

  @keyframes gallery-clockwise-flow {
    from {
      --gallery-border-angle: 0deg;
    }
    to {
      --gallery-border-angle: 360deg;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .gallery-work-shell,
    .gallery-card-border-frame::before,
    .gallery-work-action-button {
      animation: none !important;
      transition-duration: 1ms !important;
    }
  }

  .liquid-glass-soft {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgb(255 255 255 / 0.085);
    background:
      linear-gradient(180deg, rgb(255 255 255 / 0.044), rgb(255 255 255 / 0.012) 36%, rgb(2 6 23 / 0.26)),
      rgb(8 13 22 / 0.66);
    box-shadow:
      inset 0 1px 0 rgb(255 255 255 / 0.075),
      0 10px 28px rgb(0 0 0 / 0.20);
    backdrop-filter: blur(16px) saturate(116%);
    -webkit-backdrop-filter: blur(16px) saturate(116%);
  }

  .liquid-glass-soft:hover {
    border-color: rgb(255 255 255 / 0.085);
  }

  .liquid-glass-control {
    position: relative;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 0.105);
    background:
      linear-gradient(180deg, rgb(255 255 255 / 0.065), rgb(255 255 255 / 0.02) 44%, rgb(2 6 23 / 0.26)),
      rgb(15 23 42 / 0.64);
    box-shadow:
      inset 0 1px 0 rgb(255 255 255 / 0.09),
      0 8px 20px rgb(0 0 0 / 0.16);
    backdrop-filter: blur(14px) saturate(118%);
    -webkit-backdrop-filter: blur(14px) saturate(118%);
  }

  .liquid-glass-control:hover {
    border-color: rgb(255 255 255 / 0.105);
  }

  .liquid-glass-control:active {
    transform: none;
  }

  .glass-panel {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgb(255 255 255 / 0.12);
    background:
      linear-gradient(180deg, rgb(255 255 255 / 0.075), rgb(255 255 255 / 0.026) 34%, rgb(2 6 23 / 0.38)),
      rgb(10 16 27 / 0.70);
    box-shadow:
      inset 0 1px 0 rgb(255 255 255 / 0.12),
      inset 0 0 0 1px rgb(255 255 255 / 0.025),
      0 16px 38px rgb(0 0 0 / 0.26);
    backdrop-filter: blur(20px) saturate(122%);
    -webkit-backdrop-filter: blur(20px) saturate(122%);
  }

  .glass-card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgb(255 255 255 / 0.085);
    background:
      linear-gradient(180deg, rgb(255 255 255 / 0.044), rgb(255 255 255 / 0.012) 36%, rgb(2 6 23 / 0.26)),
      rgb(8 13 22 / 0.66);
    box-shadow:
      inset 0 1px 0 rgb(255 255 255 / 0.075),
      0 10px 28px rgb(0 0 0 / 0.20);
    backdrop-filter: blur(16px) saturate(116%);
    -webkit-backdrop-filter: blur(16px) saturate(116%);
  }

  .glass-popover {
    @apply border border-white/20 bg-popover/80 shadow-xl shadow-black/10 backdrop-blur-xl backdrop-saturate-150 dark:border-white/10 dark:bg-popover/68 dark:shadow-black/30;
  }

  .light .liquid-surface,
  .light .liquid-glass,
  .light .glass-panel {
    border-color: rgb(105 86 54 / 0.18);
    background:
      linear-gradient(180deg, rgb(255 255 255 / 0.54), rgb(255 255 255 / 0.22) 46%, rgb(248 243 232 / 0.16)),
      linear-gradient(135deg, rgb(255 255 255 / 0.20), rgb(213 226 241 / 0.12) 42%, rgb(238 204 126 / 0.10)),
      rgb(255 255 255 / 0.28);
    box-shadow:
      inset 0 1px 0 rgb(255 255 255 / 0.78),
      inset 0 -1px 0 rgb(103 82 45 / 0.08),
      0 18px 48px rgb(73 55 26 / 0.13),
      0 2px 10px rgb(255 255 255 / 0.34);
    backdrop-filter: blur(26px) saturate(168%) contrast(104%);
    -webkit-backdrop-filter: blur(26px) saturate(168%) contrast(104%);
  }

  .light .liquid-glass-soft,
  .light .liquid-glass-control,
  .light .glass-card {
    border-color: rgb(105 86 54 / 0.15);
    background:
      linear-gradient(180deg, rgb(255 255 255 / 0.46), rgb(255 255 255 / 0.18) 52%, rgb(246 240 229 / 0.14)),
      linear-gradient(135deg, rgb(255 255 255 / 0.18), rgb(216 228 241 / 0.10) 44%, rgb(238 204 126 / 0.08)),
      rgb(255 255 255 / 0.22);
    box-shadow:
      inset 0 1px 0 rgb(255 255 255 / 0.70),
      inset 0 -1px 0 rgb(103 82 45 / 0.06),
      0 12px 34px rgb(73 55 26 / 0.10);
    backdrop-filter: blur(22px) saturate(158%) contrast(103%);
    -webkit-backdrop-filter: blur(22px) saturate(158%) contrast(103%);
  }

  .light .liquid-glass::before,
  .light .glass-panel::before,
  .light .glass-card::before,
  .light .liquid-glass-soft::before,
  .light .liquid-glass-control::before,
  .light .liquid-surface::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    border-radius: inherit;
    background:
      linear-gradient(115deg, rgb(255 255 255 / 0.50), transparent 24% 78%, rgb(214 162 62 / 0.10)),
      linear-gradient(180deg, rgb(255 255 255 / 0.34), transparent 38%);
    opacity: 0.56;
  }

  .light .glass-popover {
    border-color: rgb(105 86 54 / 0.16);
    background: rgb(255 255 255 / 0.42);
    box-shadow:
      inset 0 1px 0 rgb(255 255 255 / 0.72),
      0 18px 44px rgb(73 55 26 / 0.12);
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
  }

  .light [data-slot="input"],
  .light [data-slot="textarea"],
  .light [data-slot="select-trigger"],
  .light input:not(.gallery-search-input),
  .light textarea,
  .light button[role="combobox"] {
    border-color: rgb(116 88 43 / 0.44) !important;
    background:
      linear-gradient(180deg, rgb(255 255 255 / 0.72), rgb(255 255 255 / 0.42)),
      rgb(255 255 255 / 0.46) !important;
    box-shadow:
      inset 0 0 0 1px rgb(116 88 43 / 0.16),
      inset 0 1px 0 rgb(255 255 255 / 0.78),
      0 4px 14px rgb(92 69 32 / 0.07) !important;
  }

  .light [data-slot="input"]:hover,
  .light [data-slot="textarea"]:hover,
  .light [data-slot="select-trigger"]:hover,
  .light input:not(.gallery-search-input):hover,
  .light textarea:hover,
  .light button[role="combobox"]:hover {
    border-color: rgb(116 88 43 / 0.58) !important;
    background:
      linear-gradient(180deg, rgb(255 255 255 / 0.78), rgb(255 255 255 / 0.48)),
      rgb(255 255 255 / 0.52) !important;
    box-shadow:
      inset 0 0 0 1px rgb(116 88 43 / 0.22),
      inset 0 1px 0 rgb(255 255 255 / 0.82),
      0 5px 16px rgb(92 69 32 / 0.08) !important;
  }

  .light [data-slot="input"]:focus-visible,
  .light [data-slot="textarea"]:focus-visible,
  .light [data-slot="select-trigger"]:focus-visible,
  .light input:not(.gallery-search-input):focus-visible,
  .light textarea:focus-visible,
  .light button[role="combobox"]:focus-visible {
    border-color: rgb(196 126 30 / 0.86) !important;
    box-shadow:
      inset 0 0 0 2px rgb(244 166 36 / 0.30),
      0 0 0 1px rgb(244 166 36 / 0.24),
      0 8px 22px rgb(92 69 32 / 0.08) !important;
  }

  .gallery-search-input,
  .gallery-search-input:hover,
  .gallery-search-input:focus,
  .gallery-search-input:focus-visible {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .light .border-dashed {
    border-color: rgb(116 88 43 / 0.42) !important;
    box-shadow:
      inset 0 0 0 1px rgb(116 88 43 / 0.10),
      0 10px 30px rgb(92 69 32 / 0.06);
  }

  .light .border-dotted {
    border-color: rgb(116 88 43 / 0.38) !important;
  }

  @media (max-width: 767px) {
    .mobile-page-shell {
      @apply px-3 py-4;
    }

    .mobile-stack {
      @apply grid grid-cols-1 gap-4;
    }

    .mobile-card-list {
      @apply space-y-3;
    }
  }

  @media (prefers-reduced-motion: reduce) {}
}

/* Markdown styles for announcements */
.announcement-markdown {
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--foreground);
}

* {
  scrollbar-width: none;
  scrollbar-color: transparent transparent;
}

*::-webkit-scrollbar {
  width: 0;
  height: 0;
}

html.scrollbars-visible * {
  scrollbar-width: thin;
  scrollbar-color: rgb(151 114 58 / 0.58) rgb(255 255 255 / 0.22);
}

html.scrollbars-visible *::-webkit-scrollbar {
  width: 14px;
  height: 14px;
}

html.scrollbars-visible *::-webkit-scrollbar-track {
  border: 1px solid rgb(116 88 43 / 0.16);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgb(255 255 255 / 0.38), rgb(255 255 255 / 0.16)),
    rgb(246 240 229 / 0.38);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.72),
    inset 0 0 0 1px rgb(255 255 255 / 0.28),
    0 8px 22px rgb(92 69 32 / 0.08);
  backdrop-filter: blur(14px) saturate(128%);
  -webkit-backdrop-filter: blur(14px) saturate(128%);
}

html.scrollbars-visible *::-webkit-scrollbar-thumb {
  min-height: 48px;
  min-width: 48px;
  border: 4px solid transparent;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgb(178 135 69 / 0.72), rgb(120 91 48 / 0.62))
    padding-box;
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.42),
    0 3px 9px rgb(92 69 32 / 0.18);
}

html.scrollbars-visible *::-webkit-scrollbar-thumb:hover {
  background:
    linear-gradient(180deg, rgb(191 145 72 / 0.86), rgb(135 101 51 / 0.76))
    padding-box;
}

html.scrollbars-visible *::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}

html.scrollbars-visible *::-webkit-scrollbar-corner {
  background: transparent;
}

.dark.scrollbars-visible * {
  scrollbar-color: rgb(237 190 104 / 0.58) rgb(255 255 255 / 0.08);
}

.dark.scrollbars-visible *::-webkit-scrollbar-track {
  border-color: rgb(255 255 255 / 0.10);
  background:
    linear-gradient(180deg, rgb(255 255 255 / 0.12), rgb(255 255 255 / 0.045)),
    rgb(7 11 19 / 0.42);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.16),
    inset 0 0 0 1px rgb(255 255 255 / 0.035),
    0 8px 22px rgb(0 0 0 / 0.20);
}

.dark.scrollbars-visible *::-webkit-scrollbar-thumb {
  background:
    linear-gradient(180deg, rgb(237 190 104 / 0.70), rgb(145 103 46 / 0.68))
    padding-box;
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.26),
    0 3px 10px rgb(0 0 0 / 0.30);
}

.dark.scrollbars-visible *::-webkit-scrollbar-thumb:hover {
  background:
    linear-gradient(180deg, rgb(250 205 119 / 0.84), rgb(165 118 52 / 0.78))
    padding-box;
}

.announcement-markdown h1 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0.75rem 0 0.5rem;
  padding-bottom: 0.3rem;
  border-bottom: 1px solid var(--border);
}
.announcement-markdown h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0.75rem 0 0.4rem;
}
.announcement-markdown h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0.6rem 0 0.3rem;
}
.announcement-markdown h4, .announcement-markdown h5, .announcement-markdown h6 {
  font-weight: 600;
  margin: 0.5rem 0 0.25rem;
}
.announcement-markdown p {
  margin: 0.4rem 0;
}
.announcement-markdown strong {
  font-weight: 700;
}
.announcement-markdown em {
  font-style: italic;
}
.announcement-markdown del {
  text-decoration: line-through;
  opacity: 0.6;
}
.announcement-markdown ul, .announcement-markdown ol {
  margin: 0.4rem 0;
  padding-left: 1.5rem;
}
.announcement-markdown ul {
  list-style-type: disc;
}
.announcement-markdown ol {
  list-style-type: decimal;
}
.announcement-markdown li {
  margin: 0.15rem 0;
}
.announcement-markdown blockquote {
  margin: 0.5rem 0;
  padding: 0.5rem 0.75rem;
  border-left: 3px solid var(--primary);
  background: var(--muted);
  border-radius: 0 0.375rem 0.375rem 0;
}
.announcement-markdown blockquote p {
  margin: 0.15rem 0;
}
.announcement-markdown code {
  font-size: 0.8rem;
  padding: 0.15rem 0.35rem;
  background: var(--muted);
  border-radius: 0.25rem;
  font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, monospace;
}
.announcement-markdown pre {
  margin: 0.5rem 0;
  padding: 0.75rem;
  background: var(--muted);
  border-radius: 0.375rem;
  overflow-x: auto;
}
.announcement-markdown pre code {
  padding: 0;
  background: transparent;
  font-size: 0.8rem;
}
.announcement-markdown a {
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.announcement-markdown a:hover {
  opacity: 0.8;
}
.announcement-markdown hr {
  margin: 0.75rem 0;
  border-color: var(--border);
}
.announcement-markdown table {
  width: 100%;
  margin: 0.5rem 0;
  border-collapse: collapse;
  font-size: 0.8rem;
}
.announcement-markdown th, .announcement-markdown td {
  border: 1px solid var(--border);
  padding: 0.4rem 0.6rem;
  text-align: left;
}
.announcement-markdown th {
  background: var(--muted);
  font-weight: 600;
}
.announcement-markdown img {
  max-width: 100%;
  border-radius: 0.375rem;
}

@keyframes golden-shimmer {
  0% {
    transform: translateX(-18%) skewX(-10deg);
    opacity: 0.35;
  }
  45% {
    opacity: 0.95;
  }
  100% {
    transform: translateX(18%) skewX(-10deg);
    opacity: 0.42;
  }
}

@keyframes golden-sweep {
  0% {
    transform: translateX(-34%) translateY(-50%) rotate(-8deg);
    opacity: 0;
  }
  18% {
    opacity: 0.7;
  }
  52% {
    opacity: 1;
  }
  100% {
    transform: translateX(34%) translateY(-50%) rotate(-8deg);
    opacity: 0;
  }
}

@keyframes golden-breathe {
  0%, 100% {
    transform: translate(-50%, -50%) scale(0.86);
    opacity: 0.36;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.18);
    opacity: 0.72;
  }
}

@keyframes golden-drift {
  0% {
    transform: translateX(0) scale(0.95);
    opacity: 0.22;
  }
  45% {
    opacity: 0.62;
  }
  100% {
    transform: translateX(240%) scale(1.08);
    opacity: 0.2;
  }
}

@keyframes golden-float-random {
  0%, 100% {
    transform: translate(-50%, -50%) translate3d(0, 0, 0) scale(0.88);
    filter: blur(28px);
  }
  42% {
    transform: translate(-50%, -50%) translate3d(var(--float-x), var(--float-y), 0) scale(1.16);
    filter: blur(38px);
  }
  68% {
    transform: translate(-50%, -50%) translate3d(calc(var(--float-x) * -0.35), calc(var(--float-y) * 0.42), 0) scale(1.02);
    filter: blur(34px);
  }
}
