/* ==========================================================================
   Mastodon Terminal Theme for social.blake-hofer.net
   Strict Terminal Look: Monospace & Green Accent (No Blue)
   ========================================================================== */

:root {
  --bh-bg-color: #0d1117;
  --bh-surface-color: #161b22;
  --bh-border-color: #30363d;
  --bh-text-color: #c9d1d9;
  --bh-accent-color: #3fb950;
  --bh-accent-hover: #56d364;
  --bh-muted-color: #8b949e;
  --bh-link-color: #3fb950;
  --bh-font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Ubuntu Mono', 'Courier New', monospace;
}

/* Base Body and Typography */
body,
.app-body,
.ui,
input,
textarea,
button,
select {
  font-family: var(--bh-font-family) !important;
}

body.theme-mastodon-dark,
body.app-body,
.ui {
  background: var(--bh-bg-color) !important;
  color: var(--bh-text-color) !important;
}

/* Hyperlinks (Terminal Green) */
a {
  color: var(--bh-link-color) !important;
  text-decoration: none !important;
}

a:hover,
a:focus {
  color: var(--bh-accent-hover) !important;
  text-decoration: underline !important;
}

/* Columns & Layout Containers */
.columns-area,
.column,
.drawer,
.drawer__header,
.drawer__inner,
.column-header,
.column-header__button,
.scrollable {
  background: var(--bh-bg-color) !important;
  border-color: var(--bh-border-color) !important;
}

.column-header {
  border-bottom: 1px solid var(--bh-border-color) !important;
}

.column-header__button {
  color: var(--bh-accent-color) !important;
}

.column-header__button.active {
  color: #ffffff !important;
  border-bottom: 2px solid var(--bh-accent-color) !important;
}

/* Statuses & Toot Timeline */
.status,
.detailed-status,
.detailed-status__action-bar,
.activity-stream .entry {
  background: var(--bh-surface-color) !important;
  border-bottom: 1px solid var(--bh-border-color) !important;
  color: var(--bh-text-color) !important;
}

.status__content,
.status__content p {
  color: var(--bh-text-color) !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
}

/* Monospace Code in Statuses */
.status__content code,
.status__content pre {
  font-family: var(--bh-font-family) !important;
  background: var(--bh-bg-color) !important;
  border: 1px solid var(--bh-border-color) !important;
  border-radius: 4px !important;
}

.status__content code {
  color: var(--bh-accent-color) !important;
  padding: 0.15rem 0.4rem !important;
}

.status__content pre {
  padding: 0.75rem !important;
}

/* Display Names, Usernames & Meta */
.display-name__html {
  font-weight: 700 !important;
  color: #ffffff !important;
}

.display-name__account,
.status__relative-time {
  color: var(--bh-muted-color) !important;
  font-size: 0.85rem !important;
}

/* Compose Box & Form Fields */
.compose-form,
.compose-form .compose-form__autosuggest-wrapper,
.compose-form textarea,
.search__input,
.setting-text,
.form-control {
  background: var(--bh-surface-color) !important;
  border: 1px solid var(--bh-border-color) !important;
  color: var(--bh-text-color) !important;
  border-radius: 4px !important;
}

.compose-form textarea:focus,
.search__input:focus,
.setting-text:focus,
.form-control:focus {
  border-color: var(--bh-accent-color) !important;
  outline: none !important;
}

/* Terminal Buttons (Outlined & Inverted Hover) */
.button,
.button.button-primary,
.compose-form__publish-button .button {
  background: var(--bh-surface-color) !important;
  border: 1px solid var(--bh-accent-color) !important;
  color: var(--bh-accent-color) !important;
  font-family: var(--bh-font-family) !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  text-transform: none !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

.button:hover,
.button.button-primary:hover,
.compose-form__publish-button .button:hover {
  background: var(--bh-accent-color) !important;
  color: var(--bh-bg-color) !important;
}

.button:disabled,
.button.button-primary:disabled {
  background: var(--bh-surface-color) !important;
  border-color: var(--bh-border-color) !important;
  color: var(--bh-muted-color) !important;
  cursor: not-allowed !important;
}

/* Action Icons (Reply, Reblog, Favorite, Bookmark) */
.status__action-bar__button,
.detailed-status__action-bar__button {
  color: var(--bh-muted-color) !important;
}

.status__action-bar__button:hover,
.detailed-status__action-bar__button:hover {
  color: var(--bh-accent-color) !important;
}

.status__action-bar__button.active,
.status__action-bar__button.active i,
.detailed-status__action-bar__button.active,
.detailed-status__action-bar__button.active i {
  color: var(--bh-accent-color) !important;
}

/* ==========================================================================
   Public Server Landing Page & Profile Header Contrast Fix
   ========================================================================== */

/* Allgemeine Container-Karten */
.hero-widget,
.directory__tag,
.card,
.box-widget {
  background: var(--bh-surface-color) !important;
  border: 1px solid var(--bh-border-color) !important;
  border-radius: 6px !important;
}

/* Profil Kopfzeile & Hintergrund */
.account__header,
.account__header__bar,
.account__header__bio {
  background: var(--bh-surface-color) !important;
  border: 1px solid var(--bh-border-color) !important;
  border-radius: 6px !important;
}

