/* ==========================================================================
   TMN theme for Gitea 1.27
   Brand tokens and component overrides for themajesticnetwork.com
   Loaded after Gitea's theme bundle from custom/templates/custom/header.tmpl
   ========================================================================== */

/* ---------- Rubik (self-hosted, latin) ---------- */
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/rubik-latin-300.woff2") format("woff2");
}
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/rubik-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/rubik-latin-500.woff2") format("woff2");
}
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/rubik-latin-600.woff2") format("woff2");
}
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/rubik-latin-700.woff2") format("woff2");
}

/* ---------- Brand tokens ---------- */
:root {
  color-scheme: dark !important;

  --tmn-bg: #08060d;
  --tmn-bg-deep: #050409;
  --tmn-surface: rgba(18, 14, 25, 0.82);
  --tmn-surface-solid: #120e19;
  --tmn-surface-raised: rgba(28, 21, 38, 0.92);
  --tmn-surface-hover: #1c1526;
  --tmn-text: #f3eff8;
  --tmn-muted: #a79bb8;
  --tmn-faint: #7f718f;
  --tmn-line: rgba(255, 255, 255, 0.09);
  --tmn-line-strong: rgba(255, 255, 255, 0.16);
  --tmn-accent: #aa49c7;
  --tmn-accent-bright: #c77be0;
  --tmn-accent-deep: #49247e;
  --tmn-accent-soft: rgba(170, 73, 199, 0.16);
  --tmn-accent-line: rgba(170, 73, 199, 0.38);
  --tmn-gradient: linear-gradient(135deg, #49247e 0%, #aa49c7 58%, #c77be0 100%);
  --tmn-gradient-text: linear-gradient(110deg, #e2b8f2 0%, #c77be0 38%, #aa49c7 100%);
  --tmn-shadow: 0 24px 70px -28px rgba(0, 0, 0, 0.8), 0 2px 8px rgba(0, 0, 0, 0.3);
  --tmn-shadow-soft: 0 14px 40px -24px rgba(0, 0, 0, 0.7);
  --tmn-focus: #d9a6ed;
  --tmn-code-bg: #0b0810;
  --tmn-input-bg: #0f0b16;
  --tmn-wordmark-image: url("../img/logo.svg");
  --tmn-font: "Rubik", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --tmn-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --tmn-radius: 20px;
  --tmn-radius-sm: 12px;
}

/* ---------- Gitea variable remap ---------- */
:root {
  --fonts-proportional: var(--tmn-font) !important;
  --fonts-regular: var(--tmn-font) !important;
  --border-radius: 12px !important;
  --border-radius-medium: 10px !important;

  --color-primary: #aa49c7 !important;
  --color-primary-contrast: #ffffff !important;
  --color-primary-dark-1: #b25ccd !important;
  --color-primary-dark-2: #ba6fd3 !important;
  --color-primary-dark-3: #c282d9 !important;
  --color-primary-dark-4: #cb95df !important;
  --color-primary-dark-5: #d9b2e9 !important;
  --color-primary-dark-6: #e7d0f1 !important;
  --color-primary-dark-7: #f4e9f9 !important;
  --color-primary-light-1: #9a3fb6 !important;
  --color-primary-light-2: #8a369f !important;
  --color-primary-light-3: #792e8c !important;
  --color-primary-light-4: #682777 !important;
  --color-primary-light-5: #4a1a55 !important;
  --color-primary-light-6: #2b0f33 !important;
  --color-primary-light-7: #150718 !important;
  --color-primary-alpha-10: #aa49c719 !important;
  --color-primary-alpha-20: #aa49c733 !important;
  --color-primary-alpha-30: #aa49c74b !important;
  --color-primary-alpha-40: #aa49c766 !important;
  --color-primary-alpha-50: #aa49c780 !important;
  --color-primary-alpha-60: #aa49c799 !important;
  --color-primary-alpha-70: #aa49c7b3 !important;
  --color-primary-alpha-80: #aa49c7cc !important;
  --color-primary-alpha-90: #aa49c7e1 !important;
  --color-primary-hover: var(--color-primary-dark-1) !important;
  --color-primary-active: var(--color-primary-dark-2) !important;

  --color-secondary: var(--tmn-line-strong) !important;
  --color-secondary-button: var(--tmn-surface-raised) !important;
  --color-secondary-hover: var(--tmn-surface-hover) !important;
  --color-secondary-active: var(--tmn-accent-soft) !important;
  --color-secondary-bg: var(--tmn-surface-raised) !important;

  --color-body: var(--tmn-bg) !important;
  --color-box-header: #171120 !important;
  --color-box-body: var(--tmn-surface-solid) !important;
  --color-box-body-highlight: var(--tmn-surface-hover) !important;
  --color-card: var(--tmn-surface-solid) !important;
  --color-menu: var(--tmn-surface-solid) !important;
  --color-button: #1a1424 !important;
  --color-footer: var(--tmn-bg-deep) !important;
  --color-secondary-nav-bg: #0d0a13 !important;
  --color-nav-bg: rgba(8, 6, 13, 0.78) !important;
  --color-nav-hover-bg: rgba(255, 255, 255, 0.06) !important;
  --color-nav-text: var(--tmn-text) !important;
  --color-timeline: #2a2335 !important;

  --color-text-dark: var(--tmn-text) !important;
  --color-text: #d9d0e4 !important;
  --color-text-light: #c7bad6 !important;
  --color-text-light-1: #b3a5c4 !important;
  --color-text-light-2: var(--tmn-muted) !important;
  --color-text-light-3: var(--tmn-faint) !important;
  --color-input-text: var(--tmn-text) !important;
  --color-input-background: var(--tmn-input-bg) !important;
  --color-input-toggle-background: #2a2335 !important;
  --color-input-border: rgba(255, 255, 255, 0.14) !important;
  --color-placeholder-text: var(--tmn-faint) !important;
  --color-caret: var(--tmn-focus) !important;

  --color-light: rgba(8, 6, 13, 0.16) !important;
  --color-light-border: rgba(255, 255, 255, 0.14) !important;
  --color-hover: rgba(170, 73, 199, 0.1) !important;
  --color-hover-opaque: #171020 !important;
  --color-active: rgba(170, 73, 199, 0.18) !important;
  --color-shadow: rgba(0, 0, 0, 0.5) !important;
  --color-shadow-opaque: #000000 !important;
  --color-expand-button: #241b31 !important;
  --color-editor-line-highlight: rgba(170, 73, 199, 0.14) !important;
  --color-editor-selection: rgba(170, 73, 199, 0.3) !important;
  --color-project-column-bg: var(--tmn-surface-solid) !important;
  --color-reaction-bg: rgba(255, 255, 255, 0.05) !important;
  --color-reaction-hover-bg: rgba(170, 73, 199, 0.18) !important;
  --color-reaction-active-bg: rgba(170, 73, 199, 0.3) !important;
  --color-tooltip-text: var(--tmn-text) !important;
  --color-tooltip-bg: rgba(28, 21, 38, 0.95) !important;
  --color-label-text: var(--tmn-text) !important;
  --color-label-bg: rgba(170, 73, 199, 0.2) !important;
  --color-label-hover-bg: rgba(170, 73, 199, 0.3) !important;
  --color-label-active-bg: #aa49c7 !important;
  --color-accent: var(--tmn-accent-bright) !important;
  --color-small-accent: var(--tmn-accent) !important;
  --color-highlight-fg: var(--tmn-text) !important;
  --color-highlight-bg: rgba(170, 73, 199, 0.35) !important;
  --color-overlay-backdrop: rgba(5, 4, 9, 0.8) !important;
  --color-danger: #f0616d !important;
  --color-git: #aa49c7 !important;
  --color-logo: #aa49c7 !important;

  --color-markup-table-row: rgba(255, 255, 255, 0.04) !important;
  --color-markup-code-block: rgba(255, 255, 255, 0.05) !important;
  --color-markup-code-inline: rgba(170, 73, 199, 0.18) !important;
  --color-code-bg: var(--tmn-code-bg) !important;

  --color-console-fg: var(--tmn-text) !important;
  --color-console-fg-subtle: var(--tmn-muted) !important;
  --color-console-bg: var(--tmn-code-bg) !important;
  --color-console-border: rgba(255, 255, 255, 0.1) !important;
  --color-console-hover-bg: rgba(170, 73, 199, 0.12) !important;
  --color-console-active-bg: rgba(170, 73, 199, 0.2) !important;
  --color-console-menu-bg: var(--tmn-surface-solid) !important;
  --color-console-menu-border: rgba(255, 255, 255, 0.1) !important;
  --color-console-link: var(--tmn-accent-bright) !important;
}


/* ---------- Remaining Gitea dark palette (pins dark regardless of OS theme) ---------- */
:root {
  --color-secondary-dark-1: #46494f !important;
  --color-secondary-dark-2: #4f5259 !important;
  --color-secondary-dark-3: #5e626a !important;
  --color-secondary-dark-4: #6f747d !important;
  --color-secondary-dark-5: #7d828c !important;
  --color-secondary-dark-6: #8b8f98 !important;
  --color-secondary-dark-7: #999da4 !important;
  --color-secondary-dark-8: #a8abb1 !important;
  --color-secondary-dark-9: #aeb1b8 !important;
  --color-secondary-dark-10: #bbbec3 !important;
  --color-secondary-dark-11: #c8cacf !important;
  --color-secondary-dark-12: #d2d4d7 !important;
  --color-secondary-dark-13: #d5d6d9 !important;
  --color-secondary-light-1: #35373c !important;
  --color-secondary-light-2: #2c2e32 !important;
  --color-secondary-light-3: #1f2124 !important;
  --color-secondary-light-4: #191a1c !important;
  --color-secondary-alpha-10: #3f424819 !important;
  --color-secondary-alpha-20: #3f424833 !important;
  --color-secondary-alpha-30: #3f42484b !important;
  --color-secondary-alpha-40: #3f424866 !important;
  --color-secondary-alpha-50: #3f424880 !important;
  --color-secondary-alpha-60: #3f424899 !important;
  --color-secondary-alpha-70: #3f4248b3 !important;
  --color-secondary-alpha-80: #3f4248cc !important;
  --color-secondary-alpha-90: #3f4248e1 !important;
  --color-red: #cc4848 !important;
  --color-orange: #cc580c !important;
  --color-yellow: #cc9903 !important;
  --color-olive: #91a313 !important;
  --color-green: #87ab63 !important;
  --color-teal: #00918a !important;
  --color-blue: #3a8ac6 !important;
  --color-violet: #906ae1 !important;
  --color-purple: #b259d0 !important;
  --color-pink: #d22e8b !important;
  --color-brown: #a47252 !important;
  --color-black: #202225 !important;
  --color-red-light: #d15a5a !important;
  --color-orange-light: #f6a066 !important;
  --color-yellow-light: #eaaf03 !important;
  --color-olive-light: #abc016 !important;
  --color-green-light: #93b373 !important;
  --color-teal-light: #00b6ad !important;
  --color-blue-light: #4e96cc !important;
  --color-violet-light: #9b79e4 !important;
  --color-purple-light: #ba6ad5 !important;
  --color-pink-light: #d74397 !important;
  --color-brown-light: #b08061 !important;
  --color-black-light: #45484e !important;
  --color-red-dark-1: #c23636 !important;
  --color-orange-dark-1: #f38236 !important;
  --color-yellow-dark-1: #b88a03 !important;
  --color-olive-dark-1: #839311 !important;
  --color-green-dark-1: #7a9e55 !important;
  --color-teal-dark-1: #00837c !important;
  --color-blue-dark-1: #347cb3 !important;
  --color-violet-dark-1: #7b4edb !important;
  --color-purple-dark-1: #a742c9 !important;
  --color-pink-dark-1: #be297d !important;
  --color-brown-dark-1: #94674a !important;
  --color-black-dark-1: #2e3033 !important;
  --color-red-dark-2: #ad3030 !important;
  --color-orange-dark-2: #f16e17 !important;
  --color-yellow-dark-2: #a37a02 !important;
  --color-olive-dark-2: #74820f !important;
  --color-green-dark-2: #6c8c4c !important;
  --color-teal-dark-2: #00746e !important;
  --color-blue-dark-2: #2e6e9f !important;
  --color-violet-dark-2: #6733d6 !important;
  --color-purple-dark-2: #9834b9 !important;
  --color-pink-dark-2: #a9246f !important;
  --color-brown-dark-2: #835b42 !important;
  --color-black-dark-2: #292b2e !important;
  --color-ansi-black: #202225 !important;
  --color-ansi-red: #cc4848 !important;
  --color-ansi-green: #87ab63 !important;
  --color-ansi-yellow: #cc9903 !important;
  --color-ansi-blue: #3a8ac6 !important;
  --color-ansi-magenta: #d22e8b !important;
  --color-ansi-cyan: #00918a !important;
  --color-ansi-white: var(--color-console-fg-subtle) !important;
  --color-ansi-bright-black: #45484e !important;
  --color-ansi-bright-red: #d15a5a !important;
  --color-ansi-bright-green: #93b373 !important;
  --color-ansi-bright-yellow: #eaaf03 !important;
  --color-ansi-bright-blue: #4e96cc !important;
  --color-ansi-bright-magenta: #d74397 !important;
  --color-ansi-bright-cyan: #00b6ad !important;
  --color-ansi-bright-white: var(--color-console-fg) !important;
  --color-series-16-0: #7db233 !important;
  --color-series-16-1: #499a37 !important;
  --color-series-16-2: #ce4751 !important;
  --color-series-16-3: #8f9121 !important;
  --color-series-16-4: #ac32a6 !important;
  --color-series-16-5: #7445e9 !important;
  --color-series-16-6: #c67d28 !important;
  --color-series-16-7: #4db392 !important;
  --color-series-16-8: #aa4d30 !important;
  --color-series-16-9: #2a6f84 !important;
  --color-series-16-10: #c45327 !important;
  --color-series-16-11: #3d965c !important;
  --color-series-16-12: #792a93 !important;
  --color-series-16-13: #439d73 !important;
  --color-series-16-14: #103aad !important;
  --color-series-16-15: #982e85 !important;
  --color-grey: #3d3f44 !important;
  --color-grey-light: #898d96 !important;
  --color-gold: #b1983b !important;
  --color-white: #ffffff !important;
  --color-diff-added-fg: #93b373 !important;
  --color-diff-added-linenum-bg: #274227 !important;
  --color-diff-added-row-bg: #203224 !important;
  --color-diff-added-row-border: #314a37 !important;
  --color-diff-added-word-bg: #3c653c !important;
  --color-diff-moved-row-bg: #818044 !important;
  --color-diff-moved-row-border: #bcca6f !important;
  --color-diff-removed-fg: #fb5f5b !important;
  --color-diff-removed-linenum-bg: #482121 !important;
  --color-diff-removed-row-bg: #301e1e !important;
  --color-diff-removed-row-border: #634343 !important;
  --color-diff-removed-word-bg: #6f3333 !important;
  --color-diff-inactive: #25272a !important;
  --color-error-border: #763232 !important;
  --color-error-bg: #322226 !important;
  --color-error-bg-active: #49262a !important;
  --color-error-bg-hover: #3c2427 !important;
  --color-error-text: #f85149 !important;
  --color-success-border: #225633 !important;
  --color-success-bg: #1c3329 !important;
  --color-success-text: #3fb950 !important;
  --color-warning-border: #5f481a !important;
  --color-warning-bg: #342e1f !important;
  --color-warning-text: #d29922 !important;
  --color-info-border: #254a7e !important;
  --color-info-bg: #1b283a !important;
  --color-info-text: #2f81f7 !important;
  --color-priority-border: #4a268d !important;
  --color-priority-bg: #251c39 !important;
  --color-priority-text: #a371f7 !important;
  --color-red-badge: #db2828 !important;
  --color-red-badge-bg: #db28281a !important;
  --color-red-badge-hover-bg: #db28284d !important;
  --color-green-badge: #21ba45 !important;
  --color-green-badge-bg: #21ba451a !important;
  --color-green-badge-hover-bg: #21ba454d !important;
  --color-yellow-badge: #fbbd08 !important;
  --color-yellow-badge-bg: #fbbd081a !important;
  --color-yellow-badge-hover-bg: #fbbd084d !important;
  --color-orange-badge: #f2711c !important;
  --color-orange-badge-bg: #f2711c1a !important;
  --color-orange-badge-hover-bg: #f2711c4d !important;
  --color-transparency-grid-light: #2a2a2a !important;
  --color-transparency-grid-dark: #1a1a1a !important;
  --color-workflow-edge-hover: #666a73 !important;
  --color-syntax-keyword: #ff8854 !important;
  --color-syntax-bool: #25bbc9 !important;
  --color-syntax-control: #dd9e17 !important;
  --color-syntax-name: #fabd2f !important;
  --color-syntax-type: #eb8cb3 !important;
  --color-syntax-number: #63b2dd !important;
  --color-syntax-operator: #ff8854 !important;
  --color-syntax-regexp: #b89de4 !important;
  --color-syntax-string: #95b62a !important;
  --color-syntax-comment: #8898b0 !important;
  --color-syntax-invalid: #ff8686 !important;
  --color-syntax-link: var(--color-primary) !important;
  --color-syntax-tag: #ff8854 !important;
  --color-syntax-attribute: #c792ff !important;
  --color-syntax-property: #55afff !important;
  --color-syntax-variable: #e29b33 !important;
  --color-syntax-string-special: #dd9e17 !important;
  --color-syntax-escape: #c7a618 !important;
  --color-syntax-entity: #c792ff !important;
  --color-syntax-preproc: #4cbe7a !important;
  --color-syntax-preproc-file: #63b2dd !important;
  --color-syntax-decorator: #4cbe7a !important;
  --color-syntax-namespace: #c9d1d9 !important;
  --color-syntax-name-pseudo: #c792ff !important;
  --color-syntax-comment-special: #b89de4 !important;
  --color-syntax-text: #c9d1d9 !important;
  --color-syntax-text-alt: #b9bcc7 !important;
  --color-syntax-punctuation: #d2d4db !important;
  --color-syntax-whitespace: #7f8699 !important;
  --color-syntax-diff-fg: #ffffff !important;
  --color-syntax-deleted-bg: #5f3737 !important;
  --color-syntax-inserted-bg: #3a523a !important;
  --color-syntax-emph: #d1a242 !important;
  --color-syntax-strong: #e29b33 !important;
  --color-syntax-heading: #dd9e17 !important;
  --color-syntax-subheading: #95b62a !important;
  --color-syntax-output: #8898b0 !important;
  --color-syntax-prompt: #e29b33 !important;
  --color-syntax-traceback: #ff8686 !important;
  --color-syntax-matching-bracket-bg: #00918a48 !important;
  --color-syntax-nonmatching-bracket-bg: #cc484848 !important;
  --is-dark-theme: true !important;
}

/* ---------- Base ---------- */
html {
  color-scheme: dark !important;
  scroll-behavior: smooth;
}
body {
  font-family: var(--tmn-font) !important;
  font-size: 15px;
  color: var(--tmn-text);
  background-color: var(--tmn-bg) !important;
  background-image:
    radial-gradient(900px 520px at 50% -12%, rgba(170, 73, 199, 0.18), transparent 65%),
    radial-gradient(760px 520px at 96% 2%, rgba(73, 36, 126, 0.28), transparent 70%),
    radial-gradient(620px 460px at 4% 96%, rgba(73, 36, 126, 0.14), transparent 72%) !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.full.height,
.page-content,
.page-content > .ui.container {
  background: transparent !important;
}
::selection {
  background: rgba(170, 73, 199, 0.35);
  color: var(--tmn-text);
}
h1, h2, h3, h4, h5, h6,
.ui.header {
  font-family: var(--tmn-font) !important;
  color: var(--tmn-text) !important;
  letter-spacing: -0.02em;
  font-weight: 600;
}
a {
  transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}
a:hover {
  color: var(--tmn-accent-bright);
}
small, .small, .muted {
  color: var(--tmn-muted);
}

/* ---------- Navbar ---------- */
#navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--color-nav-bg) !important;
  border-bottom: 1px solid var(--tmn-line) !important;
  padding: 0.4rem clamp(0.75rem, 3vw, 1.5rem) !important;
  backdrop-filter: blur(18px) saturate(145%);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  box-shadow: 0 14px 44px -28px rgba(0, 0, 0, 0.9);
}
#navbar::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(199, 123, 224, 0.65), transparent);
  pointer-events: none;
}
#navbar-logo {
  padding: 0.3rem 0.55rem !important;
}
#navbar-logo img {
  width: auto !important;
  height: 28px !important;
  max-width: none !important;
  object-fit: contain;
}
#navbar > .navbar-left > .item,
#navbar > .navbar-right > .item {
  color: var(--tmn-muted) !important;
  font-weight: 500 !important;
  border-radius: 999px !important;
  padding: 0.55rem 0.95rem !important;
  transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}
#navbar > .navbar-left > .item:hover,
#navbar > .navbar-right > .item:hover {
  color: var(--tmn-text) !important;
  background: var(--tmn-accent-soft) !important;
}
#navbar > .navbar-left > .item.active,
#navbar > .navbar-right > .item.active {
  color: #ffffff !important;
  background: var(--tmn-gradient) !important;
  box-shadow: 0 10px 26px -14px rgba(170, 73, 199, 0.9);
}
#navbar .navbar-mobile-right .item {
  color: var(--tmn-text) !important;
}
#navbar .ui.dropdown .menu {
  background: var(--tmn-surface-solid) !important;
  border: 1px solid var(--tmn-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--tmn-shadow) !important;
  padding: 0.35rem !important;
}
#navbar .ui.dropdown .menu > .item {
  border-radius: 9px !important;
  color: var(--tmn-text) !important;
}
#navbar .ui.dropdown .menu > .item:hover {
  background: var(--tmn-accent-soft) !important;
  color: var(--tmn-text) !important;
}

/* ---------- Buttons ---------- */
.ui.button {
  font-family: var(--tmn-font) !important;
  font-weight: 500 !important;
  border-radius: var(--tmn-radius-sm) !important;
  border: 1px solid var(--tmn-line) !important;
  background: var(--tmn-surface-raised) !important;
  color: var(--tmn-text) !important;
  box-shadow: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.ui.button:hover {
  background: var(--tmn-surface-hover) !important;
  border-color: var(--tmn-line-strong) !important;
}
.ui.primary.button,
.ui.primary.buttons .button,
.ui.positive.button,
.ui.green.button {
  background: var(--tmn-gradient) !important;
  border: 0 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 30px -14px rgba(170, 73, 199, 0.75) !important;
}
.ui.primary.button:hover,
.ui.primary.buttons .button:hover,
.ui.positive.button:hover,
.ui.green.button:hover {
  background: var(--tmn-gradient) !important;
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 16px 36px -14px rgba(170, 73, 199, 0.9) !important;
}
.ui.basic.button,
.ui.basic.buttons .button {
  background: transparent !important;
  border: 1px solid var(--tmn-line-strong) !important;
  color: var(--tmn-text) !important;
}
.ui.basic.button:hover,
.ui.basic.buttons .button:hover {
  background: var(--tmn-accent-soft) !important;
  color: var(--tmn-text) !important;
}
.ui.red.button {
  background: linear-gradient(135deg, #7a1f2b, #d6455a 70%, #f0616d) !important;
  border: 0 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
}
.ui.labeled.button > .label {
  border-radius: 0 999px 999px 0 !important;
}
.ui.button > .icon,
.ui.button > svg {
  color: currentColor !important;
}

/* ---------- Inputs and forms ---------- */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
input[type="url"],
input[type="number"],
textarea,
.ui.input > input,
.ui.form input:not([type]),
.ui.form textarea {
  background: var(--tmn-input-bg) !important;
  border: 1px solid var(--tmn-line-strong) !important;
  border-radius: var(--tmn-radius-sm) !important;
  color: var(--tmn-text) !important;
  box-shadow: none !important;
}
input::placeholder,
textarea::placeholder {
  color: var(--tmn-faint) !important;
}
input:focus,
textarea:focus,
.ui.input.focus > input,
.ui.input > input:focus,
.ui.selection.dropdown:focus {
  border-color: var(--tmn-accent) !important;
  box-shadow: 0 0 0 3px var(--tmn-accent-soft) !important;
  outline: none !important;
}
.ui.form .field > label {
  color: var(--tmn-text) !important;
  font-weight: 500 !important;
}
.ui.checkbox label,
.ui.checkbox + label {
  color: var(--tmn-muted) !important;
}
.ui.selection.dropdown,
.ui.dropdown .menu {
  background: var(--tmn-surface-solid) !important;
  border-color: var(--tmn-line-strong) !important;
  border-radius: var(--tmn-radius-sm) !important;
  color: var(--tmn-text) !important;
}
.ui.selection.dropdown .menu > .item {
  color: var(--tmn-text) !important;
  border-color: var(--tmn-line) !important;
}
.ui.selection.dropdown .menu > .item:hover,
.ui.selection.dropdown .menu > .item.active {
  background: var(--tmn-accent-soft) !important;
  color: var(--tmn-text) !important;
}

/* ---------- Segments, cards, boxes ---------- */
.ui.segment,
.ui.cards > .card,
.ui.card {
  background: var(--tmn-surface) !important;
  border: 1px solid var(--tmn-line) !important;
  border-radius: var(--tmn-radius) !important;
  box-shadow: var(--tmn-shadow-soft) !important;
  color: var(--tmn-text) !important;
}
.ui.segment {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.ui.top.attached.header,
.ui.attached.header {
  background: var(--tmn-surface-raised) !important;
  border-color: var(--tmn-line) !important;
  color: var(--tmn-text) !important;
}
.ui.top.attached.header {
  border-radius: var(--tmn-radius) var(--tmn-radius) 0 0 !important;
  font-weight: 600 !important;
}
.ui.attached.segment {
  border-radius: 0 0 var(--tmn-radius) var(--tmn-radius) !important;
}
.ui.attached.segment + .ui.attached.segment,
.ui.attached.segment + .ui.attached.header,
.ui.attached.header + .ui.attached.header {
  border-radius: 0 !important;
}
.ui.cards > .card:hover,
.ui.card:hover {
  border-color: var(--tmn-accent-line) !important;
}
.ui.cards > .card > .content > .header,
.ui.card > .content > .header {
  color: var(--tmn-text) !important;
}
.ui.cards > .card > .content > .description,
.ui.card > .content > .description {
  color: var(--tmn-muted) !important;
}
.ui.divider {
  border-color: var(--tmn-line) !important;
}
.ui.header .sub.header,
.ui.header > .sub.header {
  color: var(--tmn-muted) !important;
}

/* ---------- Tables and lists ---------- */
.ui.table {
  background: transparent !important;
  border: 1px solid var(--tmn-line) !important;
  border-radius: var(--tmn-radius-sm) !important;
  color: var(--tmn-text) !important;
  overflow: hidden;
}
.ui.table > thead > tr > th {
  background: var(--tmn-surface-raised) !important;
  color: var(--tmn-muted) !important;
  border-color: var(--tmn-line) !important;
  font-weight: 600 !important;
}
.ui.table > tbody > tr > td,
.ui.table > tfoot > tr > td {
  border-color: var(--tmn-line) !important;
  color: var(--tmn-text) !important;
}
.ui.table > tbody > tr:hover {
  background: var(--tmn-accent-soft) !important;
}
.flex-divided-list > .item,
.ui.repository.list > .item {
  border-radius: 14px;
  padding: 0.85rem 1rem;
  transition: background-color 0.15s ease;
}
.flex-divided-list > .item:hover,
.ui.repository.list > .item:hover {
  background: var(--tmn-accent-soft);
}
.ui.list > .item {
  border-color: var(--tmn-line) !important;
}

/* ---------- Menus, tabs, labels, messages ---------- */
.ui.menu {
  background: transparent !important;
  border-color: var(--tmn-line) !important;
}
.ui.menu .item {
  color: var(--tmn-muted) !important;
}
.ui.menu .item:hover {
  color: var(--tmn-text) !important;
}
.ui.menu .item.active,
.ui.menu .active.item {
  color: var(--tmn-text) !important;
}
.ui.secondary.pointing.menu {
  border-bottom-color: var(--tmn-line) !important;
}
.ui.secondary.pointing.menu .item {
  border-radius: 10px 10px 0 0 !important;
  color: var(--tmn-muted) !important;
}
.ui.secondary.pointing.menu .item:hover {
  background: var(--tmn-accent-soft) !important;
  color: var(--tmn-text) !important;
}
.ui.secondary.pointing.menu .active.item {
  border-color: var(--tmn-accent) !important;
  box-shadow: inset 0 -2px 0 var(--tmn-accent) !important;
  color: var(--tmn-text) !important;
}
.ui.secondary.menu .active.item {
  background: var(--tmn-accent-soft) !important;
  color: var(--tmn-text) !important;
}
.ui.tabular.menu {
  border-bottom-color: var(--tmn-line) !important;
}
.ui.tabular.menu .item {
  border-radius: 10px 10px 0 0 !important;
  color: var(--tmn-muted) !important;
}
.ui.tabular.menu .active.item {
  background: var(--tmn-surface-solid) !important;
  border-color: var(--tmn-line) !important;
  color: var(--tmn-text) !important;
}
.ui.label {
  border-radius: 999px !important;
}
.ui.message {
  border-radius: 14px !important;
  box-shadow: none !important;
}
.ui.modal {
  background: var(--tmn-surface-solid) !important;
  border: 1px solid var(--tmn-line) !important;
  border-radius: var(--tmn-radius) !important;
  box-shadow: var(--tmn-shadow) !important;
}
.ui.dimmer {
  backdrop-filter: blur(4px);
}

/* ---------- Repository pages ---------- */
.secondary-nav {
  background: var(--tmn-bg-deep) !important;
  border-bottom: 1px solid var(--tmn-line);
}
.repo-header {
  padding: 1.2rem 0 0.5rem !important;
}
.repo-header .muted {
  color: var(--tmn-muted) !important;
}
.repo-header .flex-text-block > div > a:last-child,
.repo-header .flex-text-block > a:last-child {
  background: var(--tmn-gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  font-weight: 600;
}
.repo-header .octicon-repo {
  color: var(--tmn-accent-bright) !important;
}
.repo-buttons .ui.button {
  border-radius: 999px !important;
}
.repository .ui.tabs.divider {
  border-color: var(--tmn-line) !important;
}
.file-header,
.ui.file-header {
  background: var(--tmn-surface-raised) !important;
  border-color: var(--tmn-line) !important;
  border-radius: var(--tmn-radius-sm) var(--tmn-radius-sm) 0 0 !important;
}
.file-header strong a,
.file-header .muted {
  color: var(--tmn-text) !important;
}
.repository .file-actions .ui.button {
  border-radius: 9px !important;
}
.repository .data-table,
.repository .diff-file-box,
.repository .file-view {
  border-color: var(--tmn-line) !important;
}
.repository .data-table .line-num,
.repository .diff-file-box .lines-num {
  color: var(--tmn-faint) !important;
}
.ui.tabs.divider {
  border-color: var(--tmn-line) !important;
}
.repository .ui.segment,
.repository .ui.attached.segment {
  background: var(--tmn-surface) !important;
}
.repo-search-filter-reset,
.filter .ui.input {
  border-radius: var(--tmn-radius-sm) !important;
}

/* ---------- Code, markdown, diffs ---------- */
pre,
.markup pre,
.file-view pre,
.commit-form-wrapper pre {
  font-family: var(--tmn-mono) !important;
  background: var(--tmn-code-bg) !important;
  border: 1px solid var(--tmn-line) !important;
  border-radius: var(--tmn-radius-sm) !important;
  color: var(--tmn-text) !important;
}
code,
.mono,
.commit-message-short {
  font-family: var(--tmn-mono) !important;
}
:not(pre) > code,
.markup code {
  background: var(--color-markup-code-inline) !important;
  color: var(--tmn-accent-bright) !important;
  border-radius: 6px;
  padding: 0.1em 0.35em;
}
pre code {
  background: transparent !important;
  color: inherit !important;
  padding: 0;
}
.markup h1, .markup h2, .markup h3,
.markup h4, .markup h5, .markup h6 {
  border-bottom-color: var(--tmn-line) !important;
}
.markup blockquote {
  border-left: 3px solid var(--tmn-accent-line) !important;
  background: var(--tmn-accent-soft) !important;
  color: var(--tmn-muted) !important;
  border-radius: 0 10px 10px 0;
  padding: 0.5rem 1rem;
}
.markup table th,
.markup table td {
  border-color: var(--tmn-line) !important;
}
.markup table tr:nth-child(2n) {
  background: var(--color-markup-table-row) !important;
}
.diff-file-box {
  border-radius: var(--tmn-radius-sm) !important;
  overflow: hidden;
}
.diff-file-box .file-header {
  border-radius: 0 !important;
}
.diff-file-box .code-diff {
  border-radius: 0 0 var(--tmn-radius-sm) var(--tmn-radius-sm);
}

/* ---------- Login / auth ---------- */
.page-content.user {
  padding-top: clamp(0.5rem, 3vw, 2rem);
}
.page-content.user .column > .ui.container.fluid {
  max-width: 480px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.page-content.user .column::before {
  content: "";
  display: block;
  width: 190px;
  height: 60px;
  margin: 0 auto 1rem;
  background: var(--tmn-wordmark-image) center / contain no-repeat;
}
.page-content.user .ui.top.attached.header {
  background:
    linear-gradient(135deg, rgba(73, 36, 126, 0.55) 0%, rgba(28, 21, 38, 0.98) 52%, rgba(18, 14, 25, 0.98) 100%) !important;
  border: 1px solid var(--tmn-line) !important;
  box-shadow: inset 0 1px 0 rgba(199, 123, 224, 0.22) !important;
  font-size: 1.35rem !important;
  letter-spacing: -0.02em;
  padding: 1.1rem 1.4rem !important;
}
.page-content.user .ui.attached.segment {
  padding: 1.4rem !important;
}
.page-content.user .signin-passkey {
  color: var(--tmn-accent-bright) !important;
  font-weight: 500;
}
.page-content.user .ui.message {
  border: 1px solid var(--tmn-line) !important;
}

/* ---------- Admin ---------- */
.admin .ui.cards > .card,
.page-content.admin .ui.cards > .card {
  border-top: 2px solid var(--tmn-accent-line) !important;
}
.admin .ui.menu .item,
.page-content.admin .ui.menu .item {
  border-radius: 10px;
}
.admin .ui.menu .item.active,
.page-content.admin .ui.menu .item.active {
  background: var(--tmn-accent-soft) !important;
  color: var(--tmn-text) !important;
}
.admin .ui.header,
.page-content.admin .ui.header {
  letter-spacing: -0.02em;
}
.admin .ui.table > thead > tr > th,
.page-content.admin .ui.table > thead > tr > th {
  background: var(--tmn-surface-raised) !important;
}
.dashboard .ui.cards > .card {
  border-top: 2px solid var(--tmn-accent-line) !important;
}

/* ---------- Headings on key pages ---------- */
.page-content.explore > .ui.container > .ui.header,
.page-content.explore .ui.header:first-child,
.page-content.home .title,
.page-content.user .ui.top.attached.header {
  letter-spacing: -0.03em;
}
.page-content.home img.logo {
  width: auto !important;
  height: 96px !important;
  max-width: 100%;
}
.page-content.home .hero h1.title {
  background: var(--tmn-gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}

/* ---------- Footer ---------- */
.page-footer {
  background: transparent !important;
  border-top: 1px solid var(--tmn-line) !important;
  color: var(--tmn-faint) !important;
  padding: 0.9rem clamp(1rem, 4vw, 2rem) !important;
  font-size: 0.85rem;
}
.page-footer a {
  color: var(--tmn-muted) !important;
}
.page-footer a:hover {
  color: var(--tmn-accent-bright) !important;
}
.tmn-footer {
  border-top: 1px solid var(--tmn-line);
  background:
    radial-gradient(700px 240px at 50% 120%, rgba(170, 73, 199, 0.16), transparent 70%),
    linear-gradient(180deg, rgba(5, 4, 9, 0), rgba(73, 36, 126, 0.08));
  padding: 2rem clamp(1rem, 4vw, 2.5rem) 2.5rem;
}
.tmn-footer-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.tmn-wordmark {
  display: block;
  width: 112px;
  height: 36px;
  background: var(--tmn-wordmark-image) left center / contain no-repeat;
}
.tmn-footer-copy {
  margin: 0.4rem 0 0;
  color: var(--tmn-faint);
  font-size: 0.85rem;
}
.tmn-footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
}
.tmn-footer-links a {
  color: var(--tmn-muted);
  font-size: 0.9rem;
  font-weight: 500;
}
.tmn-footer-links a:hover {
  color: var(--tmn-accent-bright);
}
.tmn-footer-links .tmn-footer-cta {
  color: #ffffff;
  background: var(--tmn-gradient);
  border-radius: 999px;
  padding: 0.55rem 1rem;
  box-shadow: 0 10px 24px -14px rgba(170, 73, 199, 0.9);
}
.tmn-footer-links .tmn-footer-cta:hover {
  color: #ffffff;
  filter: brightness(1.08);
}

/* ---------- Misc ---------- */
.ui.avatar.image,
img.avatar {
  border-radius: 50%;
}
.ui.dropdown .menu {
  border-radius: 14px !important;
  border-color: var(--tmn-line) !important;
  box-shadow: var(--tmn-shadow) !important;
}
.ui.popup,
.tippy-box {
  background: var(--tmn-surface-solid) !important;
  border: 1px solid var(--tmn-line) !important;
  border-radius: 12px !important;
  color: var(--tmn-text) !important;
  box-shadow: var(--tmn-shadow) !important;
}
.ui.bottom.attached.segment,
.ui.attached.segment:last-child {
  border-radius: 0 0 var(--tmn-radius) var(--tmn-radius) !important;
}
#footer-theme-selector {
  display: none !important;
}
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.03);
}
::-webkit-scrollbar-thumb {
  background: rgba(170, 73, 199, 0.45);
  border: 2px solid var(--tmn-bg);
  border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(199, 123, 224, 0.65);
}
* {
  scrollbar-color: rgba(170, 73, 199, 0.45) rgba(255, 255, 255, 0.03);
  scrollbar-width: thin;
}

/* ---------- Responsive ---------- */
@media (max-width: 767px) {
  #navbar {
    padding: 0.35rem 0.5rem !important;
  }
  #navbar-logo img {
    height: 24px !important;
  }
  .page-content.user .column::before {
    width: 150px;
    height: 48px;
  }
  .tmn-footer-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}
