@import url('/assets/css/theme-forgejo-dark.css');

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/font/inter-var.woff2") format("woff2-variations"),
       url("/assets/font/inter-var.woff2") format("woff2");
}

:root {
  /* FlexHub — orange/black/white wordmark vibe */

  /* Primary = signal orange */
  --color-primary: #ff9000;
  --color-primary-contrast: #000000;
  --color-primary-dark-1: #f08400;
  --color-primary-dark-2: #db7800;
  --color-primary-dark-3: #c66c00;
  --color-primary-dark-4: #b16100;
  --color-primary-dark-5: #9c5500;
  --color-primary-dark-6: #874900;
  --color-primary-dark-7: #723e00;
  --color-primary-light-1: #ffa12a;
  --color-primary-light-2: #ffb255;
  --color-primary-light-3: #ffc37f;
  --color-primary-light-4: #ffd4a9;
  --color-primary-light-5: #ffe5d4;
  --color-primary-light-6: #fff2e6;
  --color-primary-light-7: #fff8f0;
  --color-primary-alpha-10: #ff90001a;
  --color-primary-alpha-20: #ff900033;
  --color-primary-alpha-30: #ff90004d;
  --color-primary-alpha-40: #ff900066;
  --color-primary-alpha-50: #ff900080;
  --color-primary-alpha-60: #ff900099;
  --color-primary-alpha-70: #ff9000b3;
  --color-primary-alpha-80: #ff9000cc;
  --color-primary-alpha-90: #ff9000e6;
  --color-primary-hover: var(--color-primary-light-1);
  --color-primary-active: var(--color-primary-dark-1);

  /* Surfaces — pure black base, slight lift on cards */
  --color-body: #000000;
  --color-box-header: #0a0a0a;
  --color-box-body: #060606;
  --color-box-body-highlight: #101010;
  --color-card: #0a0a0a;
  --color-menu: #060606;
  --color-header-wrapper: #000000;
  --color-nav-bg: #000000;
  --color-secondary-nav-bg: var(--color-body);
  --color-footer: #000000;
  --color-button: #1a1a1a;
  --color-secondary-bg: #1a1a1a;
  --color-secondary: #1a1a1a;
  --color-secondary-dark-1: #222222;
  --color-secondary-dark-2: #2a2a2a;

  /* Borders — subtle orange tint on hover */
  --color-input-border: #2a2a2a;
  --color-input-border-hover: var(--color-primary);
  --color-light-border: #ffffff1a;

  /* Inputs / search box — pure black, not blue-grey */
  --color-input-background: #000000;
  --color-input-toggle-background: #000000;
  --color-input-text: #f0f0f0;
  --color-form-background: #000000;
  --color-active-line: var(--color-primary);

  /* Accent */
  --color-accent: var(--color-primary);
  --color-small-accent: var(--color-primary-light-2);
  --color-highlight-fg: var(--color-primary);
  --color-highlight-bg: var(--color-primary-alpha-10);

  /* Text + focus */
  --color-text: #f0f0f0;
  --color-text-light: #c8c8c8;
  --color-text-light-1: #b0b0b0;
  --color-text-light-2: #909090;
  --color-text-light-3: #707070;
  --color-text-focus: var(--color-primary);

  /* Reaction / overlays */
  --color-reaction-bg: var(--color-primary-alpha-10);
  --color-reaction-active-bg: var(--color-primary-alpha-30);
  --color-reaction-hover-bg: var(--color-primary-alpha-40);
  --color-overlay-backdrop: #000000d0;

  /* Links */
  --color-link: var(--color-primary);
  --color-link-hover: var(--color-primary-light-1);
}

::selection {
  background: #ff9000 !important;
  color: #000000 !important;
}

/* FlexHub homepage hero */
.flexhub-home {
  padding: 4rem 1rem 3rem;
  text-align: center;
}
.flexhub-home .flexhub-wordmark {
  max-width: min(420px, 70vw);
  height: auto;
  margin: 0 auto 2rem;
  display: block;
}
.flexhub-home .flexhub-text-wordmark {
  display: inline-flex;
  align-items: center;
  font-family: "Inter", system-ui, Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(3rem, 9vw, 6rem);
  line-height: 1;
  letter-spacing: -0.04em;
  margin: 0 auto 1.25rem;
  white-space: nowrap;
}
.flexhub-home .flexhub-text-wordmark .fh-flex {
  color: #ffffff;
  padding: 0.1em 0.15em 0.1em 0;
}
.flexhub-home .flexhub-text-wordmark::after {
  content: "Hub";
  color: #000000;
  background: var(--color-primary);
  padding: 0.05em 0.2em;
  border-radius: 0.18em;
}
.flexhub-home h1 {
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  margin: 0 0 0.6rem;
  color: #ffffff;
}
.flexhub-home h1 .flex {
  color: #ffffff;
}
.flexhub-home h1 .hub {
  color: var(--color-primary);
}
.flexhub-home .tagline {
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  color: var(--color-text-light);
  margin: 0 0 0.4rem;
  font-weight: 400;
}
.flexhub-home .subtagline {
  font-size: 1rem;
  color: var(--color-text-light-2);
  margin: 0 0 3rem;
  font-style: italic;
}
.flexhub-home .agent-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.25rem;
  max-width: 980px;
  margin: 0 auto;
  padding: 0 1rem;
}
.flexhub-home .agent-card {
  background: var(--color-card);
  border: 1px solid var(--color-input-border);
  border-radius: 12px;
  padding: 1.5rem 1.25rem;
  text-align: left;
  transition: border-color .15s, transform .15s;
}
.flexhub-home .agent-card:hover {
  border-color: var(--color-primary);
  transform: translateY(-2px);
}
.flexhub-home .agent-card .marker {
  display: inline-block;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: var(--color-primary);
  color: #000;
  font-weight: 900;
  text-align: center;
  line-height: 28px;
  font-size: 1rem;
  margin-bottom: 0.75rem;
}
.flexhub-home .agent-card h3 {
  margin: 0 0 0.4rem;
  color: #ffffff;
  font-size: 1.05rem;
  font-weight: 700;
}
.flexhub-home .agent-card p {
  margin: 0;
  color: var(--color-text-light);
  font-size: 0.92rem;
  line-height: 1.45;
}

/* Navbar wordmark — text-rendered via head_navbar.tmpl override */
.flexhub-nav-wordmark {
  display: inline-flex;
  align-items: center;
  font-family: "Inter", system-ui, Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: -0.02em;
  line-height: 1;
  white-space: nowrap;
}
.flexhub-nav-wordmark .fh-flex {
  color: #ffffff;
  padding: 4px 6px 4px 2px;
}
.flexhub-nav-wordmark::after {
  content: "Hub";
  color: #000000;
  background: var(--color-primary);
  padding: 4px 8px;
  border-radius: 6px;
}

/* Footer: orange s8n.ru link + white placeholder text */
.page-footer .footer-placeholder {
  color: #ffffff;
  margin-right: 0.4rem;
}
.page-footer .left-links a {
  color: var(--color-primary);
}
.page-footer .left-links a:hover {
  color: var(--color-primary-light-1);
}

/* Top navbar (Explore etc): underlined hyperlink style, transparent bg, kill blue hover chip */
#navbar a.item,
#navbar .item {
  background: transparent !important;
  border-radius: 0 !important;
}
#navbar a.item:hover,
#navbar .item:hover {
  background: transparent !important;
  color: var(--color-primary) !important;
}
#navbar a.item.active,
#navbar .item.active {
  background: transparent !important;
  color: var(--color-primary) !important;
  text-decoration: underline;
  text-decoration-color: var(--color-primary);
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}
#navbar a.item.active:hover {
  color: var(--color-primary-light-1) !important;
}

/* Tab menus (Repositories / Users / Organizations): keep big border-bottom only,
   strip the close text-decoration line that doubles up under the label. */
.ui.tabs.menu .item.active,
.ui.tabs.menu .active.item,
.ui.tabular.menu .item.active,
.ui.tabular.menu .active.item,
.ui.secondary.pointing.menu .item.active,
.ui.secondary.pointing.menu .active.item {
  text-decoration: none !important;
  background: transparent !important;
  color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

/* Search input + filter/sort dropdowns: pure black */
.ui.input > input,
.ui.action.input > input,
.ui.form input[type="text"],
.ui.form input[type="search"],
.ui.search input,
input[type="text"],
input[type="search"] {
  background: #000000 !important;
  color: var(--color-input-text) !important;
  border-color: var(--color-input-border) !important;
}
.ui.input > input:focus,
input[type="text"]:focus,
input[type="search"]:focus {
  background: #000000 !important;
  border-color: var(--color-primary) !important;
}
.ui.action.input > .button,
.ui.action.input > .ui.button {
  background: #000000 !important;
  color: var(--color-text) !important;
  border: 1px solid var(--color-input-border) !important;
}
.ui.action.input > .button:hover {
  border-color: var(--color-primary) !important;
  color: var(--color-primary) !important;
}

/* Primary buttons keep orange-on-black */
.ui.primary.button,
.ui.primary.buttons .button {
  background: var(--color-primary) !important;
  color: #000 !important;
  font-weight: 700;
}
.ui.primary.button:hover,
.ui.primary.buttons .button:hover {
  background: var(--color-primary-light-1) !important;
  color: #000 !important;
}
