/* @farming-labs/theme - hardline theme CSS */

:root {
  --color-fd-primary: #ffd335;
  --color-fd-primary-foreground: #121212;
  --color-fd-ring: #121212;

  --color-fd-background: #f2efe8;
  --color-fd-foreground: #111111;
  --color-fd-card: #f7f4ed;
  --color-fd-card-foreground: #111111;
  --color-fd-popover: #f7f4ed;
  --color-fd-popover-foreground: #111111;
  --color-fd-secondary: #ece7de;
  --color-fd-secondary-foreground: #111111;
  --color-fd-muted: #e5dfd3;
  --color-fd-muted-foreground: #47423a;
  --color-fd-accent: #ffe16e;
  --color-fd-accent-foreground: #111111;
  --color-fd-border: #111111;

  --radius: 0px;
  --fd-nav-height: 64px;
}

.dark {
  --color-fd-primary: #ffcf3a;
  --color-fd-primary-foreground: #101010;
  --color-fd-ring: #ffcf3a;

  --color-fd-background: #0f0f10;
  --color-fd-foreground: #f4f1e8;
  --color-fd-card: #171718;
  --color-fd-card-foreground: #f4f1e8;
  --color-fd-popover: #171718;
  --color-fd-popover-foreground: #f4f1e8;
  --color-fd-secondary: #1e1e20;
  --color-fd-secondary-foreground: #f4f1e8;
  --color-fd-muted: #242427;
  --color-fd-muted-foreground: #b8b09f;
  --color-fd-accent: #2d2612;
  --color-fd-accent-foreground: #ffcf3a;
  --color-fd-border: rgba(213, 204, 185, 0.82);
}

* {
  scrollbar-width: auto;
}

::selection {
  background: var(--color-fd-primary);
  color: var(--color-fd-primary-foreground);
}

/* Hard-edge layout baseline */
#nd-docs-layout [class*="rounded-"],
#nd-docs-layout [style*="border-radius"],
#nd-docs-layout code:not(pre code) {
  border-radius: 0 !important;
}

#nd-docs-layout [class*="shadow-"] {
  box-shadow: none !important;
}

/* Header and sidebar structure */
#nd-docs-layout > header,
[role="banner"] {
  border-bottom: 2px solid var(--color-fd-border);
  background: var(--color-fd-background);
}

aside#nd-sidebar,
#nd-docs-layout aside {
  background: var(--color-fd-background);
  border-right: 2px solid var(--color-fd-border);
}

/* Sidebar links and categories */
aside a[data-active] {
  font-weight: 600;
  font-size: 0.92rem;
  letter-spacing: 0.01em;
  padding: 0.5rem 0.625rem;
  border: 1px solid transparent;
  color: var(--color-fd-foreground);
}

aside a[data-active]:hover {
  border-color: var(--color-fd-border);
  background: color-mix(in srgb, var(--color-fd-primary) 24%, transparent);
}

aside a[data-active="true"] {
  font-weight: 800;
  background: var(--color-fd-primary);
  color: var(--color-fd-primary-foreground);
  border-color: var(--color-fd-border);
}

aside a[data-active="true"]::before {
  display: none !important;
}

aside button.text-fd-muted-foreground {
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-fd-muted-foreground);
}

/* Search/action inputs in sidebar */
aside button[class*="bg-fd-secondary"] {
  border: 2px solid var(--color-fd-border);
  background: var(--color-fd-card);
  font-weight: 600;
}

.dark aside a[data-active]:hover {
  background: color-mix(in srgb, var(--color-fd-primary) 16%, transparent);
}

.dark aside button[class*="bg-fd-secondary"] {
  background: #151516;
}

/* Search UI (sidebar + command palette) */
.fd-sidebar-search-ai-row {
  display: flex;
  gap: 8px;
  align-items: stretch;
  width: 100%;
}

.fd-sidebar-search-ai-row > .fd-sidebar-search-btn,
.fd-sidebar-search-btn {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 2px solid var(--color-fd-border) !important;
  border-radius: 0 !important;
  background: var(--color-fd-card) !important;
  color: var(--color-fd-foreground) !important;
  font-weight: 600;
}

.fd-sidebar-search-ai-row > .fd-sidebar-search-btn:hover,
.fd-sidebar-search-btn:hover {
  background: color-mix(in srgb, var(--color-fd-primary) 18%, var(--color-fd-card)) !important;
}

.fd-sidebar-search-kbd {
  margin-left: auto;
  display: flex;
  gap: 3px;
}

.fd-sidebar-search-kbd kbd {
  border: 1px solid var(--color-fd-border);
  border-radius: 0 !important;
  background: var(--color-fd-secondary);
  color: var(--color-fd-muted-foreground);
  padding: 1px 4px;
  font-size: 0.68rem;
}

.fd-sidebar-search-ai-row > .fd-sidebar-ai-btn,
.fd-sidebar-ai-btn {
  width: 38px;
  min-width: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--color-fd-border) !important;
  border-radius: 0 !important;
  background: var(--color-fd-card) !important;
  color: var(--color-fd-foreground) !important;
}

.fd-sidebar-search-ai-row > .fd-sidebar-ai-btn:hover,
.fd-sidebar-ai-btn:hover {
  background: var(--color-fd-primary) !important;
  color: var(--color-fd-primary-foreground) !important;
}

.omni-content {
  border-radius: 0 !important;
  border: 2px solid var(--color-fd-border) !important;
  background: var(--color-fd-popover);
  box-shadow: 6px 6px 0 var(--color-fd-border);
}

.omni-header {
  border-bottom: 2px solid var(--color-fd-border) !important;
}

.omni-search-row {
  gap: 0.625rem;
  padding: 0.625rem 0.75rem;
}

.omni-search-input {
  font-weight: 600;
}

.omni-search-input:focus {
  caret-color: var(--color-fd-primary);
}

.omni-kbd,
.omni-kbd-sm,
.omni-close-btn {
  border-radius: 0 !important;
}

.omni-kbd,
.omni-kbd-sm {
  border: 1px solid var(--color-fd-border);
  background: var(--color-fd-secondary);
}

.omni-close-btn:hover {
  background: var(--color-fd-primary);
  color: var(--color-fd-primary-foreground);
}

.omni-item {
  border-radius: 0 !important;
  border: 1px solid transparent;
  font-weight: 600;
}

.omni-item:hover,
.omni-item-active {
  border-color: var(--color-fd-border);
  background: color-mix(in srgb, var(--color-fd-primary) 16%, transparent);
}

.omni-highlight {
  border-radius: 0 !important;
  background: color-mix(in srgb, var(--color-fd-primary) 36%, transparent);
}

/* Top-level content width and spacing */
@media (min-width: 1024px) {
  #nd-docs-layout article#nd-page {
    max-width: none;
  }

  #nd-docs-layout article#nd-page > .prose {
    max-width: none;
  }
}

/* Typography */
.fd-docs-content h1,
.fd-docs-content h2,
.fd-docs-content h3,
.fd-docs-content h4 {
  text-transform: uppercase;
  letter-spacing: 0.01em;
}

.fd-docs-content h1 {
  font-weight: 900;
}

.fd-docs-content p {
  font-weight: 500;
}

.fd-docs-content a:not(.fd-page-nav-card):not([class]) {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  text-decoration-color: var(--color-fd-primary);
}

/* Cards, callouts, tabs, and generic surfaces */
.fd-card,
[data-card],
.fd-callout,
.fd-page-action-menu,
.fd-page-action-btn {
  border: 2px solid var(--color-fd-border) !important;
  background: var(--color-fd-card);
  box-shadow: 4px 4px 0 var(--color-fd-border);
}

.dark .fd-card,
.dark [data-card],
.dark .fd-callout,
.dark .fd-page-action-menu,
.dark .fd-page-action-btn {
  box-shadow: 4px 4px 0 color-mix(in srgb, var(--color-fd-primary) 40%, transparent);
}

/* Page actions: hardline hard edges */
.fd-page-action-btn,
.fd-page-action-menu,
.fd-page-action-menu-item,
.fd-page-action-dropdown {
  border-radius: 0 !important;
}

.fd-page-action-btn {
  border: 2px solid var(--color-fd-border) !important;
  background: var(--color-fd-card) !important;
  color: var(--color-fd-foreground) !important;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.fd-page-action-btn:hover,
.fd-page-action-btn[data-selected="true"],
.fd-page-action-btn[data-copied="true"] {
  background: var(--color-fd-primary) !important;
  color: var(--color-fd-primary-foreground) !important;
  border-color: var(--color-fd-border) !important;
}

.fd-page-action-btn svg,
.fd-page-action-btn[data-selected="true"] svg,
.fd-page-action-btn[data-copied="true"] svg {
  color: currentColor;
}

.fd-page-action-menu {
  border: 2px solid var(--color-fd-border);
  padding: 0.35rem;
}

.fd-page-action-menu-item {
  border: 1px solid transparent;
  font-weight: 600;
}

.fd-page-action-menu-item:hover {
  border-color: var(--color-fd-border);
  background: color-mix(in srgb, var(--color-fd-primary) 20%, transparent);
}

.fd-docs-content :not(pre) > code {
  border: 2px solid var(--color-fd-border);
  background: var(--color-fd-secondary);
  padding: 1px 6px;
  font-weight: 700;
}

.fd-docs-content pre,
.fd-docs-content .shiki,
.fd-docs-content [data-codeblock] {
  border: 2px solid var(--color-fd-border) !important;
  background: var(--color-fd-card) !important;
}

.dark .fd-docs-content pre,
.dark .fd-docs-content .shiki,
.dark .fd-docs-content [data-codeblock] {
  background: #121214 !important;
}

.fd-table-wrapper {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

:is(.fd-docs-content, .prose) table {
  border-collapse: collapse !important;
  border: 2px solid var(--color-fd-border) !important;
  border-radius: 0 !important;
  width: 100%;
  background: var(--color-fd-card) !important;
}

:is(.fd-docs-content, .prose) th,
:is(.fd-docs-content, .prose) td {
  border: 2px solid var(--color-fd-border) !important;
  padding: 0.7rem 0.85rem !important;
}

:is(.fd-docs-content, .prose) th {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.78rem;
  background: var(--color-fd-primary) !important;
  color: var(--color-fd-primary-foreground) !important;
}

:is(.fd-docs-content, .prose) tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--color-fd-secondary) 85%, transparent) !important;
}

.dark :is(.fd-docs-content, .prose) tbody tr:nth-child(even) td {
  background: #1a1a1d !important;
}

/* Prev/next cards */
.fd-page-nav,
.fd-page-nav-card,
[class*="page-nav"] a {
  border: 2px solid var(--color-fd-border);
  background: var(--color-fd-card);
  box-shadow: 4px 4px 0 var(--color-fd-border);
  border-radius: 0 !important;
}

.fd-page-nav-card:hover,
[class*="page-nav"] a:hover {
  background: color-mix(in srgb, var(--color-fd-primary) 18%, var(--color-fd-card));
}

.fd-page-nav-card [class*="text-"] {
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.dark .fd-page-nav,
.dark .fd-page-nav-card,
.dark [class*="page-nav"] a {
  box-shadow: 4px 4px 0 color-mix(in srgb, var(--color-fd-primary) 35%, transparent);
}

/* Ask AI and feedback - hardline treatment */
.fd-ai-dialog,
.fd-ai-tab,
.fd-ai-input-wrap,
.fd-ai-send-btn,
.fd-ai-close-btn,
.fd-ai-clear-btn,
.fd-ai-floating-btn,
.fd-ai-suggestion,
.fd-ai-result,
.fd-ai-model-dropdown-btn,
.fd-ai-model-dropdown-menu,
.fd-ai-model-dropdown-item,
.fd-ai-fm-input-container,
.fd-ai-fm-send-btn,
.fd-ai-fm-suggestion,
.fd-ai-fm-trigger-btn,
.fd-ai-fm-close-btn,
.fd-ai-code-block,
.fd-ai-code-copy,
.fd-feedback-input,
.fd-feedback-submit,
.fd-feedback-choice {
  border-radius: 0 !important;
}

.fd-ai-dialog,
.fd-ai-input-wrap,
.fd-ai-model-dropdown-menu,
.fd-ai-fm-topbar,
.fd-ai-fm-input-container,
.fd-ai-code-block {
  border: 2px solid var(--color-fd-border) !important;
  background: var(--color-fd-card) !important;
  box-shadow: 4px 4px 0 var(--color-fd-border);
}

.dark .fd-ai-dialog,
.dark .fd-ai-input-wrap,
.dark .fd-ai-model-dropdown-menu,
.dark .fd-ai-fm-topbar,
.dark .fd-ai-fm-input-container,
.dark .fd-ai-code-block {
  box-shadow: 4px 4px 0 color-mix(in srgb, var(--color-fd-primary) 35%, transparent);
}

.fd-ai-send-btn,
.fd-ai-close-btn,
.fd-ai-clear-btn,
.fd-ai-floating-btn,
.fd-ai-model-dropdown-btn,
.fd-ai-fm-send-btn,
.fd-ai-fm-trigger-btn,
.fd-ai-fm-close-btn,
.fd-feedback-submit,
.fd-feedback-choice {
  border: 2px solid var(--color-fd-border) !important;
  background: var(--color-fd-secondary) !important;
  color: var(--color-fd-foreground) !important;
  font-weight: 700;
}

.fd-ai-send-btn:hover,
.fd-ai-clear-btn:hover,
.fd-ai-floating-btn:hover,
.fd-ai-model-dropdown-btn:hover,
.fd-ai-fm-send-btn:hover,
.fd-ai-fm-trigger-btn:hover,
.fd-feedback-submit:hover,
.fd-feedback-choice:hover,
.fd-feedback-choice[data-selected="true"] {
  background: var(--color-fd-primary) !important;
  color: var(--color-fd-primary-foreground) !important;
}

.fd-ai-tab {
  border: 2px solid transparent;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.fd-ai-tab[data-active="true"] {
  border-color: var(--color-fd-border);
  background: var(--color-fd-primary);
  color: var(--color-fd-primary-foreground);
}

.fd-ai-bubble-user,
.fd-ai-bubble-ai {
  border: 2px solid var(--color-fd-border);
  border-radius: 0 !important;
}

.fd-ai-bubble-user {
  background: var(--color-fd-primary);
  color: var(--color-fd-primary-foreground);
}

.fd-ai-bubble-ai {
  background: var(--color-fd-card);
  color: var(--color-fd-card-foreground);
}

.fd-ai-bubble-ai table,
.fd-ai-fm-msg-content table {
  border-collapse: collapse;
  border: 2px solid var(--color-fd-border);
}

.fd-ai-bubble-ai th,
.fd-ai-bubble-ai td,
.fd-ai-fm-msg-content th,
.fd-ai-fm-msg-content td {
  border: 2px solid var(--color-fd-border);
}

/* API reference panels */
[data-api-reference] [class*="border"],
[class*="fd-api"] [class*="border"] {
  border-color: var(--color-fd-border) !important;
}

[class*="fd-api"] button,
[class*="fd-api"] [role="tab"] {
  border-radius: 0 !important;
  border: 2px solid transparent;
}

[class*="fd-api"] [role="tab"][data-state="active"] {
  border-color: var(--color-fd-border);
  background: var(--color-fd-primary);
  color: var(--color-fd-primary-foreground);
}
