/*
 * HEANG theme for api.heang.top (NewAPI, shadcn/Tailwind front end).
 * Injected by nginx right before </head>, so it loads after NewAPI's own CSS and survives NewAPI upgrades.
 * Re-skin only: colors, type, radius and the 太空少年 sticker treatment. Layout and behaviour are untouched.
 * The selectors list every built-in theme preset so whichever one is chosen in NewAPI's settings, this wins.
 */

:root, :root:root, html[data-theme-preset],
[data-theme-preset=anthropic], [data-theme-preset=forest-whisper], [data-theme-preset=lake-view],
[data-theme-preset=lavender-dream], [data-theme-preset=ocean-breeze], [data-theme-preset=rose-garden],
[data-theme-preset=simple-large], [data-theme-preset=sunset-glow], [data-theme-preset=underground] {
  --background: #eaf2ff !important;
  --foreground: #0f2044 !important;
  --card: #ffffff !important;
  --card-foreground: #0f2044 !important;
  --popover: #ffffff !important;
  --popover-foreground: #0f2044 !important;
  --primary: #2f4b73 !important;
  --primary-foreground: #ffffff !important;
  --secondary: #dce8fb !important;
  --secondary-foreground: #0f2044 !important;
  --muted: #dce8fb !important;
  --muted-foreground: #4a5a7c !important;
  --accent: #ffd23f !important;
  --accent-foreground: #0f2044 !important;
  --border: rgba(15, 32, 68, 0.18) !important;
  --input: rgba(15, 32, 68, 0.35) !important;
  --ring: #ffd23f !important;
  --radius: 0.9rem !important;

  --sidebar: #ffffff !important;
  --sidebar-foreground: #0f2044 !important;
  --sidebar-primary: #2f4b73 !important;
  --sidebar-primary-foreground: #ffffff !important;
  --sidebar-accent: #ffd23f !important;
  --sidebar-accent-foreground: #0f2044 !important;
  --sidebar-border: rgba(15, 32, 68, 0.18) !important;
  --sidebar-ring: #ffd23f !important;

  --font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Public Sans", system-ui, sans-serif !important;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;

  --heang-edge: #0f2044;
  --heang-shadow: #0f2044;
  --heang-dot: rgba(15, 32, 68, 0.1);
}

:root:root.dark, html.dark[data-theme-preset], .dark, .dark[data-theme-preset] {
  --background: #0a1233 !important;
  --foreground: #eaf1ff !important;
  --card: #141f4a !important;
  --card-foreground: #eaf1ff !important;
  --popover: #141f4a !important;
  --popover-foreground: #eaf1ff !important;
  --primary: #9ab8e7 !important;
  --primary-foreground: #0a1233 !important;
  --secondary: #1b2a5e !important;
  --secondary-foreground: #eaf1ff !important;
  --muted: #1b2a5e !important;
  --muted-foreground: #9dadd6 !important;
  --accent: #ffd23f !important;
  --accent-foreground: #0a1233 !important;
  --border: rgba(220, 230, 255, 0.16) !important;
  --input: rgba(220, 230, 255, 0.3) !important;

  --sidebar: #0d1740 !important;
  --sidebar-foreground: #eaf1ff !important;
  --sidebar-primary: #9ab8e7 !important;
  --sidebar-primary-foreground: #0a1233 !important;
  --sidebar-accent: #ffd23f !important;
  --sidebar-accent-foreground: #0a1233 !important;
  --sidebar-border: rgba(220, 230, 255, 0.16) !important;

  --heang-edge: #dce6ff;
  --heang-shadow: #02061a;
  --heang-dot: rgba(190, 210, 255, 0.07);
}

/* ground: the 太空少年 dot grid */
body {
  background-color: var(--background) !important;
  background-image: radial-gradient(var(--heang-dot) 1px, transparent 1.2px) !important;
  background-size: 22px 22px !important;
}
::selection { background: #ffd23f; color: #0f2044; }

/* stickers: every card, dialog and menu is a bordered object with an offset shadow */
[data-slot="card"] {
  border: 2px solid var(--heang-edge) !important;
  border-radius: 18px !important;
  box-shadow: 4px 4px 0 var(--heang-shadow) !important;
}
[data-slot="dialog-content"], [data-slot="popover-content"], [data-slot="dropdown-menu-content"] {
  border: 2px solid var(--heang-edge) !important;
  border-radius: 16px !important;
  box-shadow: 4px 4px 0 var(--heang-shadow) !important;
}

/* buttons: pill, heavy, pressable; the primary one is sun yellow */
[data-slot="button"] {
  border-radius: 999px !important;
  font-weight: 700 !important;
  transition: transform 0.14s, box-shadow 0.14s, background-color 0.14s !important;
}
[data-slot="button"][class*="bg-primary"] {
  background: #ffd23f !important;
  color: #0f2044 !important;
  border: 2px solid var(--heang-edge) !important;
  box-shadow: 3px 3px 0 var(--heang-shadow) !important;
}
[data-slot="button"][class*="bg-primary"]:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--heang-shadow) !important; }
[data-slot="button"][class*="bg-primary"]:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--heang-shadow) !important; }
[data-slot="button"][class~="border"]:not([class*="bg-primary"]):not([class*="border-transparent"]) { border-width: 2px !important; border-color: var(--heang-edge) !important; }

/* fields */
[data-slot="input"], [data-slot="textarea"], [data-slot="select-trigger"], [data-slot="input-group-control"], input[data-slot="form-control"] {
  border-width: 2px !important;
  border-color: var(--heang-edge) !important;
  border-radius: 10px !important;
}
[data-slot="input"]:focus-visible, [data-slot="textarea"]:focus-visible, [data-slot="select-trigger"]:focus-visible, input[data-slot="form-control"]:focus-visible {
  box-shadow: 3px 3px 0 var(--heang-shadow) !important;
}

/* tabs: segmented control with a navy pill for the active tab */
[data-slot="tabs-list"] { border: 2px solid var(--heang-edge) !important; border-radius: 12px !important; }
[data-slot="tabs-trigger"][data-state="active"] { background: var(--foreground) !important; color: var(--background) !important; border-radius: 9px !important; }

/* tables: a framed sheet */
[data-slot="table-container"] { border: 2px solid var(--heang-edge); border-radius: 14px; }
[data-slot="table-head"] { font-weight: 800 !important; }

/* headings read heavy like the rest of the HEANG sites */
h1, h2, h3 { font-weight: 900 !important; letter-spacing: 0 !important; }

/* numbers in dashboards and code */
code, pre, kbd, [class*="tabular-nums"] { font-family: var(--font-mono) !important; }

@media (prefers-reduced-motion: reduce) {
  [data-slot="button"] { transition: none !important; }
}

/* 模型广场: model cards are plain bordered divs, not data-slot cards */
main .grid > .group.relative.flex-col.rounded-xl.border {
  border: 2px solid var(--heang-edge) !important;
  border-radius: 18px !important;
  background: var(--card);
  box-shadow: 4px 4px 0 var(--heang-shadow);
  transition: transform 0.14s, box-shadow 0.14s !important;
}
main .grid > .group.relative.flex-col.rounded-xl.border:hover { transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--heang-shadow); }
/* the big search field on the marketplace */
input[class*="border-border/60"] {
  border: 2px solid var(--heang-edge) !important;
  border-radius: 999px !important;
  background: var(--card) !important;
  box-shadow: 3px 3px 0 var(--heang-shadow);
}
@media (prefers-reduced-motion: reduce) {
  main .grid > .group.relative.flex-col.rounded-xl.border { transition: none !important; }
}
