/* Ironverse - Main Styles */
/* Dark theme inspired by Obsidian */

:root {
  /* Colors */
  --bg-primary: #1e1e1e;
  --bg-secondary: #252525;
  --bg-tertiary: #2d2d2d;
  --bg-hover: #363636;
  
  --text-primary: #dcddde;
  --text-secondary: #a7a9ab;
  --text-muted: #888;
  
  --accent-color: #7c3aed;
  --accent-hover: #8b5cf6;
  --link-color: #a78bfa;
  --link-hover: #c4b5fd;
  
  --border-color: #404040;
  
  --success-color: #22c55e;
  --warning-color: #f59e0b;
  --error-color: #ef4444;
  
  /* Typography */
  --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
  --font-mono: 'Fira Code', 'Consolas', monospace;
  
  /* Spacing */
  --sidebar-width: 280px;
  --content-max-width: 800px;
}

* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-primary);
  background: var(--bg-primary);
}

.app {
  display: flex;
  min-height: 100vh;
  min-height: 100dvh; /* Dynamic viewport height for iOS Safari */
}

/* Mobile header - sits above the flex layout on mobile */
.mobile-header {
  display: none;
}

@media (width <= 768px) {
  .app {
    flex-direction: column;
  }
  
  .mobile-header {
    display: flex;
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(30, 30, 30, 0.95);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--border-color);
    padding: 0.75rem 1rem;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
  }
}

/* Sidebar */
.sidebar {
  width: var(--sidebar-width);
  background: var(--bg-secondary);
  border-right: 1px solid var(--border-color);
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  height: 100dvh; /* Dynamic viewport height for iOS Safari */
  overflow-y: auto;
  z-index: 100;
}

/* Dark scrollbar for sidebar */
.sidebar::-webkit-scrollbar {
  width: 8px;
}

.sidebar::-webkit-scrollbar-track {
  background: var(--bg-secondary);
}

.sidebar::-webkit-scrollbar-thumb {
  background: var(--bg-tertiary);
  border-radius: 4px;
}

.sidebar::-webkit-scrollbar-thumb:hover {
  background: var(--bg-hover);
}

/* Firefox scrollbar */
.sidebar {
  scrollbar-width: thin;
  scrollbar-color: var(--bg-tertiary) var(--bg-secondary);
}

.sidebar-header {
  padding: 1rem;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-primary);
  text-decoration: none;
}

.site-title:hover {
  color: var(--accent-color);
}

.sidebar-controls {
  display: flex;
  gap: 0.25rem;
}

.sidebar-controls button {
  background: transparent;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  padding: 0.25rem;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sidebar-controls button:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

.sidebar-search {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-color);
}

.sidebar-search input {
  width: 100%;
  padding: 0.5rem 0.75rem;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  color: var(--text-primary);
  font-size: 0.9rem;
}

.sidebar-search input::placeholder {
  color: var(--text-muted);
}

.sidebar-search input:focus {
  outline: none;
  border-color: var(--accent-color);
}

.sidebar-nav {
  flex: 1;
  padding: 0.5rem 0;
  overflow-y: auto;
}

.nav-item {
  display: block;
  padding: 0.4rem 1rem;
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 0.9rem;
  transition: background 0.15s, color 0.15s;
  border-radius: 4px;
  margin: 1px 0.5rem;
}

.nav-item:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

.nav-item.active {
  background: var(--accent-color);
  color: white;
  font-weight: 500;
}

.nav-item.active:hover {
  background: var(--accent-hover);
}

.nav-folder {
  margin: 0.25rem 0;
}

.nav-folder-title {
  display: flex;
  align-items: center;
  padding: 0.4rem 1rem;
  color: var(--text-primary);
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  user-select: none;
}

.nav-folder-title::before {
  content: '▼';
  font-size: 0.6rem;
  margin-right: 0.5rem;
  transition: transform 0.15s;
}

.nav-folder.collapsed .nav-folder-title::before {
  transform: rotate(-90deg);
}

.nav-folder-children {
  padding-left: 0.75rem;
}

.nav-folder.collapsed .nav-folder-children {
  display: none;
}

/* Mobile sidebar toggle - hidden, using MobileHeader instead */
.sidebar-toggle {
  display: none;
}

/* Main content */
.content {
  flex: 1;
  margin-left: var(--sidebar-width);
  padding: 1rem 2rem 2rem 2rem;
  max-width: calc(var(--content-max-width) + var(--sidebar-width) + 4rem);
}

.page {
  max-width: var(--content-max-width);
}

/* Prose styles */
.prose h1 {
  font-size: 2rem;
  margin: 0 0 1rem 0;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 0.5rem;
}

.prose h2 {
  font-size: 1.5rem;
  margin: 2rem 0 1rem 0;
  color: var(--text-primary);
}

.prose h3 {
  font-size: 1.25rem;
  margin: 1.5rem 0 0.75rem 0;
  color: var(--text-primary);
}

.prose p {
  margin: 1rem 0;
}

.prose a {
  color: var(--link-color);
  text-decoration: none;
}

.prose a:hover {
  text-decoration: underline;
  color: var(--link-hover);
}

.prose ul, .prose ol {
  margin: 1rem 0;
  padding-left: 1.5rem;
}

.prose li {
  margin: 0.25rem 0;
}

.prose blockquote {
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  background: var(--bg-secondary);
  border-left: 3px solid var(--accent-color);
  border-radius: 0 6px 6px 0;
}

.prose blockquote p {
  margin: 0.5rem 0;
}

.prose code {
  font-family: var(--font-mono);
  font-size: 0.9em;
  background: var(--bg-tertiary);
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
}

.prose pre {
  background: var(--bg-secondary);
  padding: 1rem;
  border-radius: 8px;
  overflow-x: auto;
  margin: 1rem 0;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

.prose pre code {
  background: none;
  padding: 0;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

.prose img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
}

.prose th, .prose td {
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--border-color);
  text-align: left;
}

.prose th {
  background: var(--bg-secondary);
  font-weight: 600;
}

.prose hr {
  border: none;
  border-top: 1px solid var(--border-color);
  margin: 2rem 0;
}

/* Dataview Plugin Styles - Obsidian compatible */
.block-language-dataview {
  overflow-y: auto;
}

/* Table Views */
.table-view-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.5rem 0;
}

.table-view-table > thead > tr,
.table-view-table > tbody > tr {
  margin-top: 1em;
  margin-bottom: 1em;
  text-align: left;
}

.table-view-table > tbody > tr:hover {
  background-color: var(--bg-hover);
}

.table-view-table > thead > tr > th {
  font-weight: 700;
  font-size: larger;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 2px solid var(--border-color);
  padding: 0.5rem;
  max-width: 100%;
}

.table-view-table > tbody > tr > td {
  text-align: left;
  border: none;
  font-weight: 400;
  max-width: 100%;
  padding: 0.5rem;
  border-bottom: 1px solid var(--border-color);
}

.table-view-table ul,
.table-view-table ol {
  margin-block-start: 0.2em !important;
  margin-block-end: 0.2em !important;
}

.table-view-table a {
  color: var(--link-color);
  text-decoration: none;
}

.table-view-table a:hover {
  text-decoration: underline;
  color: var(--link-hover);
}

/* List Views */
.dataview-result-list-root-ul {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none;
}

.dataview-result-list-ul {
  margin-block-start: 0.2em !important;
  margin-block-end: 0.2em !important;
}

.dataview-result-list-li {
  padding: 0.25rem 0;
}

.dataview-result-list-li a {
  color: var(--link-color);
  text-decoration: none;
}

.dataview-result-list-li a:hover {
  text-decoration: underline;
  color: var(--link-hover);
}

/* Dataview grouping */
.dataview.result-group {
  padding-left: 8px;
}

/* Inline Fields */
.dataview.inline-field-key {
  padding-left: 8px;
  padding-right: 8px;
  font-family: var(--font-mono);
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
}

.dataview.inline-field-value {
  padding-left: 8px;
  padding-right: 8px;
  font-family: var(--font-mono);
  background-color: var(--bg-secondary);
  color: var(--text-primary);
}

/* Task View */
.dataview.task-list-item,
.dataview.task-list-basic-item {
  margin-top: 3px;
  margin-bottom: 3px;
  transition: 0.4s;
}

.dataview.task-list-item:hover,
.dataview.task-list-basic-item:hover {
  background-color: var(--bg-hover);
  cursor: pointer;
}

/* Error/Empty Views */
.dataview-error-box {
  width: 100%;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 4px dashed var(--border-color);
  border-radius: 6px;
  margin: 0.5rem 0;
}

.dataview-error-message {
  color: var(--text-muted);
  text-align: center;
  font-style: italic;
}

/* Small text metadata */
.dataview.small-text {
  font-size: smaller;
  color: var(--text-muted);
  margin-left: 3px;
}

.dataview.small-text::before {
  content: "(";
}

.dataview.small-text::after {
  content: ")";
}

/* Embed links */
.embed-link {
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  background: var(--bg-secondary);
  border-radius: 6px;
  border: 1px solid var(--border-color);
}

.embed-link a {
  color: var(--link-color);
  text-decoration: none;
  font-weight: 500;
}

.embed-link a::before {
  content: '📄 ';
}

/* Mobile responsive */
@media (width <= 768px) {
  .sidebar {
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    /* Add safe area padding for iOS devices with home indicator */
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  
  .sidebar.open {
    transform: translateX(0);
  }
  
  .content {
    margin-left: 0;
    padding: 1rem;
  }
}


/* Obsidian-style Callouts - extracted from Obsidian app CSS */
:root {
  /* Obsidian callout color variables (dark theme) */
  --color-red-rgb: 251, 70, 76;
  --color-orange-rgb: 233, 151, 63;
  --color-yellow-rgb: 224, 222, 113;
  --color-green-rgb: 68, 207, 110;
  --color-cyan-rgb: 83, 223, 221;
  --color-blue-rgb: 2, 122, 255;
  --color-purple-rgb: 168, 130, 255;
  
  /* Callout type colors */
  --callout-default: var(--color-blue-rgb);
  --callout-info: var(--color-blue-rgb);
  --callout-tip: var(--color-cyan-rgb);
  --callout-success: var(--color-green-rgb);
  --callout-warning: var(--color-orange-rgb);
  --callout-error: var(--color-red-rgb);
  --callout-bug: var(--color-red-rgb);
  --callout-example: var(--color-purple-rgb);
  --callout-quote: 158, 158, 158;
  --callout-question: var(--color-orange-rgb);
  --callout-fail: var(--color-red-rgb);
  --callout-important: var(--color-cyan-rgb);
  --callout-summary: var(--color-cyan-rgb);
  --callout-todo: var(--color-blue-rgb);
  
  /* Callout layout variables */
  --callout-border-width: 0;
  --callout-border-opacity: 0.25;
  --callout-radius: 4px;
  --callout-padding: 0;
  --callout-title-padding: 10px 12px 10px 12px;
  --callout-title-size: inherit;
  --callout-title-weight: 600;
  --callout-title-color: inherit;
  --callout-content-padding: 0 12px 6px 12px;
  --callout-content-background: transparent;
  --callout-blend-mode: normal;
  --direction: 1;
}

.callout {
  --callout-color: var(--callout-default);
  overflow: hidden;
  border-style: solid;
  border-color: rgba(var(--callout-color), var(--callout-border-opacity));
  border-width: var(--callout-border-width);
  border-radius: var(--callout-radius);
  margin: 1em 0;
  mix-blend-mode: var(--callout-blend-mode);
  background-color: rgba(var(--callout-color), 0.1);
  padding: var(--callout-padding);
}

.callout.is-collapsible .callout-title {
  cursor: pointer;
}

.callout-title {
  padding: var(--callout-title-padding);
  display: flex;
  gap: 4px;
  font-size: var(--callout-title-size);
  color: rgb(var(--callout-color));
  line-height: 1.3;
  align-items: center;
}

.callout-content {
  overflow-x: auto;
  padding: var(--callout-content-padding);
  background-color: var(--callout-content-background);
}

.callout-content .callout {
  margin-top: 20px;
}

.callout-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.callout-icon .svg-icon,
.callout-icon svg {
  color: rgb(var(--callout-color));
  stroke: rgb(var(--callout-color));
  width: 1em;
  height: 1em;
}

.callout-icon::after {
  content: "\200B";
}

.callout-title-inner {
  font-weight: var(--callout-title-weight);
  color: var(--callout-title-color);
}

.callout-fold {
  display: flex;
  align-items: center;
  padding-inline-end: 8px;
}

.callout-fold::after {
  content: "\200B";
}

.callout-fold svg {
  transition: transform 100ms ease-in-out;
  width: 1em;
  height: 1em;
}

.callout-fold.is-collapsed svg {
  transform: rotate(calc(var(--direction) * -1 * 90deg));
}

/* Collapsible callouts - hide content when collapsed */
.callout.is-collapsed .callout-content {
  display: none;
}

/* Standard Obsidian callout types */
.callout[data-callout="abstract"],
.callout[data-callout="summary"],
.callout[data-callout="tldr"] {
  --callout-color: var(--callout-summary);
}

.callout[data-callout="info"] {
  --callout-color: var(--callout-info);
}

.callout[data-callout="todo"] {
  --callout-color: var(--callout-todo);
}

.callout[data-callout="important"] {
  --callout-color: var(--callout-important);
}

.callout[data-callout="tip"],
.callout[data-callout="hint"] {
  --callout-color: var(--callout-tip);
}

.callout[data-callout="success"],
.callout[data-callout="check"],
.callout[data-callout="done"] {
  --callout-color: var(--callout-success);
}

.callout[data-callout="question"],
.callout[data-callout="help"],
.callout[data-callout="faq"] {
  --callout-color: var(--callout-question);
}

.callout[data-callout="warning"],
.callout[data-callout="caution"],
.callout[data-callout="attention"] {
  --callout-color: var(--callout-warning);
}

.callout[data-callout="failure"],
.callout[data-callout="fail"],
.callout[data-callout="missing"] {
  --callout-color: var(--callout-fail);
}

.callout[data-callout="danger"],
.callout[data-callout="error"] {
  --callout-color: var(--callout-error);
}

.callout[data-callout="bug"] {
  --callout-color: var(--callout-bug);
}

.callout[data-callout="example"] {
  --callout-color: var(--callout-example);
}

.callout[data-callout="quote"],
.callout[data-callout="cite"] {
  --callout-color: var(--callout-quote);
}

/* Iron Vault custom callout types - using green (36, 220, 76) from snippet-callout-colors.css */
.callout[data-callout="assets"],
.callout[data-callout="gear"],
.callout[data-callout="in-progress"],
.callout[data-callout="bonds"],
.callout[data-callout="impacts"],
.callout[data-callout="legacies"],
.callout[data-callout="complete"] {
  --callout-color: 36, 220, 76;
}

/* Iron Vault character block placeholders - show helpful message */
.iron-vault-character-assets-placeholder,
.iron-vault-character-impacts-placeholder,
.iron-vault-character-special-tracks-placeholder {
  padding: 1rem;
  background: var(--bg-tertiary);
  border-radius: 6px;
  color: var(--text-muted);
  font-style: italic;
  text-align: center;
}

.iron-vault-character-assets-placeholder::before {
  content: 'Asset cards are rendered from character frontmatter';
}

.iron-vault-character-impacts-placeholder::before {
  content: 'No impacts marked';
}

.iron-vault-character-special-tracks-placeholder::before {
  content: 'Legacy tracks not yet implemented';
}


/* Embedded content (transclusion) */
.embedded-content {
  margin: 1rem 0;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  overflow: hidden;
}

.embedded-header {
  padding: 0.5rem 1rem;
  background: var(--bg-tertiary);
  border-bottom: 1px solid var(--border-color);
  font-size: 0.9rem;
}

.embedded-header a {
  color: var(--link-color);
  text-decoration: none;
  font-weight: 500;
}

.embedded-header a:hover {
  text-decoration: underline;
}

.embedded-body {
  padding: 1rem;
  background: var(--bg-secondary);
}

.embedded-body > *:first-child {
  margin-top: 0;
}

.embedded-body > *:last-child {
  margin-bottom: 0;
}


/* Pagefind Search Styles */
.sidebar-search {
  position: relative;
}

/* Placeholder search input - matches Pagefind UI dimensions exactly to prevent layout flash */
.sidebar-search .search-placeholder {
  position: relative;
}

.sidebar-search .search-placeholder::before {
  /* Search icon matching Pagefind's icon position */
  content: "";
  position: absolute;
  background-color: var(--text-primary);
  width: calc(18px * 0.8);
  height: calc(18px * 0.8);
  top: calc(23px * 0.8);
  left: calc(20px * 0.8);
  opacity: 0.7;
  mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");
  mask-size: 100%;
  -webkit-mask-size: 100%;
  pointer-events: none;
  z-index: 9;
}

.sidebar-search .search-placeholder input {
  /* Match Pagefind's exact input dimensions */
  height: calc(64px * 0.8);
  padding: 0 calc(70px * 0.8) 0 calc(54px * 0.8);
  background-color: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  font-size: calc(21px * 0.8);
  font-weight: 700;
  color: var(--text-primary);
  width: 100%;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
}

.sidebar-search .search-placeholder input::placeholder {
  opacity: 0.2;
}

/* Hide placeholder once Pagefind loads */
.sidebar-search .pagefind-ui + .search-placeholder,
.sidebar-search .pagefind-ui ~ .search-placeholder {
  display: none;
}

.sidebar-search #search-container {
  --pagefind-ui-scale: 0.8;
  --pagefind-ui-primary: var(--accent-color);
  --pagefind-ui-text: var(--text-primary);
  --pagefind-ui-background: var(--bg-tertiary);
  --pagefind-ui-border: var(--border-color);
  --pagefind-ui-tag: var(--bg-hover);
  --pagefind-ui-border-width: 1px;
  --pagefind-ui-border-radius: 6px;
  --pagefind-ui-font: var(--font-sans);
}

/* Override Pagefind's default styles for dark theme */
.sidebar-search .pagefind-ui__form {
  position: relative;
}

.sidebar-search .pagefind-ui__search-input {
  background: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
}

.sidebar-search .pagefind-ui__search-input::placeholder {
  color: var(--text-muted) !important;
}

.sidebar-search .pagefind-ui__search-input:focus {
  border-color: var(--accent-color) !important;
  outline: none !important;
  box-shadow: none !important;
}

.sidebar-search .pagefind-ui__search-clear {
  color: var(--text-muted) !important;
  background: transparent !important;
  font-size: 0 !important;
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border: none !important;
  cursor: pointer !important;
}

.sidebar-search .pagefind-ui__search-clear::before {
  content: '×' !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
}

.sidebar-search .pagefind-ui__search-clear:hover {
  color: var(--text-primary) !important;
}

/* Ensure the form is positioned for absolute child */
.sidebar-search .pagefind-ui__form {
  position: relative !important;
}

/* Results dropdown */
.sidebar-search .pagefind-ui__drawer {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 6px;
  margin-top: 4px;
  max-height: 60vh;
  overflow-y: auto;
  z-index: 1000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.sidebar-search .pagefind-ui__results-area {
  margin-top: 0 !important;
}

.sidebar-search .pagefind-ui__result {
  padding: 0.75rem !important;
  border-bottom: 1px solid var(--border-color) !important;
}

.sidebar-search .pagefind-ui__result:last-child {
  border-bottom: none !important;
}

.sidebar-search .pagefind-ui__result:hover {
  background: var(--bg-hover) !important;
}

.sidebar-search .pagefind-ui__result-link {
  color: var(--link-color) !important;
  text-decoration: none !important;
  font-weight: 500;
}

.sidebar-search .pagefind-ui__result-link:hover {
  color: var(--link-hover) !important;
}

.sidebar-search .pagefind-ui__result-title {
  font-weight: 600 !important;
  color: var(--text-primary) !important;
}

.sidebar-search .pagefind-ui__result-excerpt {
  color: var(--text-secondary) !important;
  font-size: 0.85rem !important;
  margin-top: 0.25rem !important;
}

.sidebar-search .pagefind-ui__result-excerpt mark {
  background: rgba(124, 58, 237, 0.3) !important;
  color: var(--text-primary) !important;
}

.sidebar-search .pagefind-ui__message {
  color: var(--text-muted) !important;
  padding: 1rem !important;
}

/* Hide elements we don't need in sidebar */
.sidebar-search .pagefind-ui__suppressed {
  display: none !important;
}

.sidebar-search .pagefind-ui__button {
  background: var(--accent-color) !important;
  color: white !important;
  border: none !important;
}

.sidebar-search .pagefind-ui__button:hover {
  background: var(--accent-hover) !important;
}


/* Changelog table - prevent date column from wrapping */
.changelog-table td:last-child {
  white-space: nowrap;
}
