/* WOPR CRT Theme - Mastodon Overrides */

/* Layout backgrounds */
.layout-single-column .ui,
.layout-multiple-columns .ui,
body.app-body,
.ui__header,
.tabs-bar__wrapper,
.column-header,
.column-header__button,
.columns-area,
.columns-area__panels,
.columns-area__panels__main,
.columns-area__panels__pane,
.drawer__inner,
.drawer__inner__mastodon,
.navigation-panel,
.explore__search-header,
.search__input,
.column > .scrollable,
.item-list,
.detailed-status__wrapper {
  background: var(--wopr-bg) !important;
  color: var(--wopr-text) !important;
}

/* Column backgrounds */
.column,
.drawer__pinner,
.getting-started,
.getting-started__wrapper,
.account__header,
.account__header__bar,
.account-timeline__header {
  background: var(--wopr-bg-dark) !important;
}

/* Status / post cards */
.status,
.status__wrapper,
.detailed-status,
.notification,
.conversation {
  background: var(--wopr-bg-card) !important;
  border-bottom: 1px solid var(--wopr-border) !important;
  color: var(--wopr-text-dim) !important;
}
.status:hover, .notification:hover {
  background: #1a1a1a !important;
}

/* Display names */
.display-name__html,
.display-name strong,
.detailed-status__display-name strong {
  color: var(--wopr-green) !important;
}

/* Usernames / handles */
.display-name__account,
.account__display-name,
.detailed-status__display-name .display-name__account {
  color: var(--wopr-text-muted) !important;
}

/* Status text content */
.status__content,
.status__content p,
.reply-indicator__content,
.detailed-status__content,
.detailed-status__content p {
  color: var(--wopr-text-dim) !important;
}

/* Action bar icons */
.status__action-bar button,
.detailed-status__action-bar button,
.icon-button {
  color: var(--wopr-text-muted) !important;
}
.icon-button:hover, .icon-button.active {
  color: var(--wopr-green) !important;
}

/* Compose form */
.compose-form .autosuggest-textarea__textarea,
.compose-form .spoiler-input__input,
.compose-form__modifiers,
.compose-form__buttons-wrapper,
.compose-form__publish {
  background: var(--wopr-bg-input) !important;
  color: var(--wopr-text) !important;
  border-color: var(--wopr-border) !important;
}

/* Publish button */
.compose-form__publish .compose-form__publish-button-wrapper .button,
.button.button-tertiary,
.button {
  background: var(--wopr-green-dark) !important;
  color: var(--wopr-green) !important;
  border: 1px solid var(--wopr-green) !important;
}
.button:hover {
  background: var(--wopr-green) !important;
  color: var(--wopr-bg) !important;
}

/* Tabs and navigation */
.column-header__wrapper,
.filter-bar,
.account__section-headline {
  background: var(--wopr-bg-dark) !important;
  border-bottom: 1px solid var(--wopr-border) !important;
}
.column-header a, .column-header button,
.filter-bar a, .filter-bar button,
.account__section-headline a {
  color: var(--wopr-text-dim) !important;
}
.column-header a.active, .filter-bar a.active,
.account__section-headline a.active {
  color: var(--wopr-green) !important;
  border-bottom: 2px solid var(--wopr-green) !important;
}

/* Search */
.search__input {
  background: var(--wopr-bg-input) !important;
  color: var(--wopr-text) !important;
  border: 1px solid var(--wopr-border) !important;
}

/* Modals */
.modal-root__overlay { background: rgba(0,0,0,0.8) !important; }
.modal-root__container .modal-layout,
.modal-root__container .report-modal,
.modal-root__container .boost-modal,
.modal-root__container .confirmation-modal,
.modal-root__container .mute-modal,
.actions-modal,
.block-modal {
  background: var(--wopr-bg-card) !important;
  border: 1px solid var(--wopr-border-bright) !important;
  color: var(--wopr-text) !important;
}

/* Dropdown menus */
.dropdown-menu {
  background: var(--wopr-bg-card) !important;
  border: 1px solid var(--wopr-border-bright) !important;
}
.dropdown-menu__item a {
  color: var(--wopr-text-dim) !important;
}
.dropdown-menu__item a:hover {
  background: var(--wopr-green-dark) !important;
  color: var(--wopr-green) !important;
}

/* Empty states */
.empty-column-indicator,
.error-column,
.regeneration-indicator {
  color: var(--wopr-text-muted) !important;
  background: var(--wopr-bg) !important;
}

/* Explore / trending */
.explore__links-column,
.explore__search-results,
.hashtag-bar,
.trends__item,
.story {
  background: var(--wopr-bg) !important;
}
.trends__item__name a, .story__details__shared a {
  color: var(--wopr-green) !important;
}

/* Server banner */
.server-banner {
  background: var(--wopr-bg-card) !important;
  border: 1px solid var(--wopr-border) !important;
}
.server-banner__meta {
  color: var(--wopr-text-muted) !important;
}

/* Emojis, polls, media */
.poll__option { color: var(--wopr-text-dim) !important; }
.poll__chart { background: var(--wopr-green-dark) !important; }
.poll__chart.leading { background: var(--wopr-green) !important; }

/* Loading bar */
.loading-bar { background: var(--wopr-green) !important; }

/* Boost/fav colors */
.icon-button.active.star-icon { color: var(--wopr-orange) !important; }
.status__prepend .icon { color: var(--wopr-green-secondary) !important; }

/* === Hide Mastodon wordmark logo, show WOPR logo via JS === */
.ui__header .logo, 
.ui__header .wordmark,
.ui__header img[alt="Mastodon"],
a.brand img[alt="Mastodon"],
.column-header__logo img[alt="Mastodon"],
img.logo[alt="Mastodon"] {
  content: url('/wopr-logo.svg') !important;
  height: 28px !important;
  width: auto !important;
}

/* Landing page / explore page Mastodon branding */
.landing-page .brand img,
.server-banner .server-banner__hero img,
.hero-widget .hero-widget__img img {
  content: url('/wopr-logo.svg') !important;
}

/* Hide Mastodon text in header */
.ui__header .logo__wordmark { display: none !important; }

/* === Force WOPR logo in header === */
.ui__header .column-link--logo {
  background: url('/wopr-logo.svg') no-repeat center !important;
  background-size: contain !important;
  height: 32px !important;
  width: 120px !important;
  display: block !important;
}
.ui__header .column-link--logo svg,
.ui__header .column-link--logo img,
.ui__header .column-link--logo .logo,
.ui__header .column-link--logo .wordmark {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}

/* Landing page logo */
.landing-page .logo-container img,
.landing-page .logo-container svg {
  content: url('/wopr-logo.svg') !important;
}

/* Explore page header */
.explore__search-header .column-header img,
.explore__search-header .column-header svg {
  display: none !important;
}

/* Override any remaining Mastodon favicons loaded by the app */
link[rel="icon"][href*="favicon"],
link[rel="icon"][href*="packs"] {
  display: none !important;
}

/* === KILL ALL MASTODON PURPLE/BLUE ACCENT COLORS === */

/* Global accent color override - Mastodon 4.x uses CSS custom properties */
:root {
  --color-accent: var(--wopr-green) !important;
  --color-accent-text: var(--wopr-bg) !important;
  --color-link: var(--wopr-green) !important;
  --color-brand: var(--wopr-green) !important;
  --brand-color: var(--wopr-green) !important;
  --brand-color-rgb: 0, 255, 65 !important;
  --color-background-detail: var(--wopr-bg-card) !important;
  --color-background-hover: #1a1a1a !important;
  --color-background-surface: var(--wopr-bg-dark) !important;
  --color-background-default: var(--wopr-bg) !important;
  --color-foreground-active: var(--wopr-green) !important;
  --color-selection: rgba(0, 255, 65, 0.15) !important;
  --ui-highlight-color: var(--wopr-green) !important;
  --ui-foreground-color: var(--wopr-bg) !important;
  --ui-primary-color: var(--wopr-green) !important;
}

/* All links */
a, a:visited, a:hover, a:active,
.status__content a,
.reply-indicator__content a,
.account__header__bio a,
.detailed-status__content a,
.getting-started a {
  color: var(--wopr-green) !important;
}

/* Tab underlines - the blue/purple indicator under Posts/Hashtags/News */
.explore__search-header .column-header__button.active,
.explore__search-header a.active,
.column-header__button.active,
.account__section-headline a.active::after,
.account__section-headline button.active::after,
.filter-bar a.active::after,
.filter-bar button.active::after,
.explore__search-header a.active::after,
.notification__filter-bar a.active::after,
.notification__filter-bar button.active::after {
  border-color: var(--wopr-green) !important;
  border-bottom-color: var(--wopr-green) !important;
}

/* Tab active bottom border for Mastodon 4.x */
.column-header__button.active::after,
.explore__search-header a.active::after,
[class*="tab"][class*="active"]::after,
.tabs-bar__link.active::after,
.tabs-bar__link.active,
.column-header .active .column-header__icon,
.scrollable .column-header a.active {
  border-bottom: 3px solid var(--wopr-green) !important;
  color: var(--wopr-green) !important;
}

/* Notification badges */
.icon-with-badge__badge,
.column-link__badge,
.navigation-panel__sign-in-banner .button {
  background: var(--wopr-green) !important;
  color: var(--wopr-bg) !important;
}

/* Focus rings */
*:focus, *:focus-visible {
  outline-color: var(--wopr-green) !important;
  box-shadow: none !important;
}

/* Input focus */
input:focus, textarea:focus, select:focus,
.search__input:focus,
.compose-form .autosuggest-textarea__textarea:focus {
  border-color: var(--wopr-green) !important;
  box-shadow: 0 0 4px rgba(0, 255, 65, 0.3) !important;
}

/* Toggle/switch */
.react-toggle--checked .react-toggle-track {
  background-color: var(--wopr-green-dark) !important;
}
.react-toggle--checked .react-toggle-thumb {
  border-color: var(--wopr-green) !important;
}

/* Sidebar active item indicators */
.navigation-panel a.active,
.column-link.active,
.column-link--transparent.active,
.getting-started__trends a {
  color: var(--wopr-green) !important;
  border-left-color: var(--wopr-green) !important;
}
.navigation-panel a.active::before,
.column-link.active::before {
  background: var(--wopr-green) !important;
}
.column-link.active .icon {
  color: var(--wopr-green) !important;
}

/* Progress bars */
.audio-player .progress,
.video-player .progress {
  background: var(--wopr-green) !important;
}

/* Hashtag bar active indicators */
.hashtag-bar a { color: var(--wopr-green) !important; }

/* Boost button active */
.icon-button.active { color: var(--wopr-green) !important; }

/* Reply indicator left bar */
.reply-indicator { border-left-color: var(--wopr-green) !important; }

/* Selection highlight */
::selection {
  background: rgba(0, 255, 65, 0.3) !important;
  color: #fff !important;
}

/* Scrollbar */
::-webkit-scrollbar-thumb {
  background: var(--wopr-green-dark) !important;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--wopr-green) !important;
}
::-webkit-scrollbar-track {
  background: var(--wopr-bg) !important;
}

/* Explore page tab indicators specifically */
.explore__search-header .search-results__section .column-header__button,
.explore__search-header nav a,
.explore__search-header .explore__search-header__tabs a {
  color: var(--wopr-text-dim) !important;
}
.explore__search-header nav a.active,
.explore__search-header .explore__search-header__tabs a.active {
  color: var(--wopr-green) !important;
}

/* === HIDE UNWANTED NAVIGATION LINKS === */

/* Hide About link */
a[href="/about"],
a[href*="/about/more"],
.getting-started__footer a[href="/about"],
.navigation-panel a[href="/about"],
.link-footer a[href="/about"],
.list-link[href="/about"],
nav a[href="/about"],
.column-link[href="/about"] {
  display: none !important;
}

/* Hide Invite people link */
a[href*="/invites"],
a[href*="invite"],
.getting-started__footer a[href*="invite"],
.navigation-panel a[href*="invite"],
[class*="invite"] {
  display: none !important;
}

/* Hide Profile Directory link */
a[href="/directory"],
a[href*="/explore/people"],
.getting-started__footer a[href="/directory"],
.navigation-panel a[href="/directory"],
.link-footer a[href="/directory"],
a[href="/explore"][href*="people"],
.column-link[href="/directory"] {
  display: none !important;
}

/* Hide Privacy Policy link */
a[href*="privacy"],
a[href*="/privacy-policy"],
.getting-started__footer a[href*="privacy"],
.link-footer a[href*="privacy"] {
  display: none !important;
}

/* Hide Get the App / Mobile App links */
a[href*="joinmastodon.org/apps"],
a[href*="/apps"],
a[href*="app."],
a[href*="play.google"],
a[href*="apps.apple"],
a[href*="f-droid"],
.getting-started__footer a[href*="app"],
.link-footer a[href*="app"],
.navigation-panel__legal a[href*="app"],
.app-links,
[class*="app-download"],
[class*="mobile-app"],
.landing-page__call-to-action a[href*="app"],
.about__section a[href*="joinmastodon"],
.about__section a[href*="apps"],
.server-banner a[href*="apps"],
.server-banner a[href*="joinmastodon"] {
  display: none !important;
}

/* Hide Terms of Service link (optional) */
a[href*="terms"],
a[href*="/terms-of-service"] {
  display: none !important;
}

/* Hide Mastodon documentation/help links */
a[href*="docs.joinmastodon"],
a[href*="joinmastodon.org"] {
  display: none !important;
}

/* Hide footer links section if mostly empty */
.getting-started__footer,
.link-footer,
.navigation-panel__legal {
  min-height: 0 !important;
}

/* Hide "Powered by Mastodon" */
.about__meta,
.landing-page__short-description a[href*="joinmastodon"],
.about__section p a[href*="joinmastodon"],
span:contains("Mastodon"),
p:contains("Powered by Mastodon") {
  display: none !important;
}

/* Hide server rules and instance info that references Mastodon */
.server-banner__description a[href*="mastodon"],
.server-banner__meta a[href*="mastodon"] {
  display: none !important;
}
