/* ============================================
   GoldenGlow Git — v4
   Login/Home: Full custom dark theme
   Dashboard/Internal: Only subtle tweaks (don't break Forgejo's built-in dark)
   ============================================ */

:root {
  --gg-gold: #d4a843;
  --gg-gold-light: #f0d68a;
  --gg-gold-dim: #a07d2e;
  --gg-accent: #8b6914;
  --gg-dark: #050508;
  --gg-dark-card: rgba(12, 12, 20, 0.8);
  --gg-border: rgba(212, 168, 67, 0.12);
  --gg-text: #ededf4;
  --gg-text-secondary: #b0b0c0;
  --gg-text-dim: #8888a0;
  --gg-text-muted: #55556a;
  --gg-radius: 20px;
}

/* ============================================
   CANVAS & MESH (all pages)
   ============================================ */
#gg-canvas {
  position: fixed; top: 0; left: 0;
  width: 100vw; height: 100vh;
  z-index: 0; pointer-events: none;
}

#gg-mesh {
  position: fixed; top: 0; left: 0;
  width: 100vw; height: 100vh;
  z-index: 0; pointer-events: none; opacity: 0.5;
}

.gg-blob { position: absolute; border-radius: 50%; filter: blur(120px); mix-blend-mode: screen; }
.gg-blob-1 { width: 600px; height: 600px; background: radial-gradient(circle, rgba(212,168,67,0.12) 0%, transparent 70%); top: -10%; left: -5%; animation: blobMove1 25s ease-in-out infinite; }
.gg-blob-2 { width: 500px; height: 500px; background: radial-gradient(circle, rgba(100,60,180,0.08) 0%, transparent 70%); top: 50%; right: -10%; animation: blobMove2 30s ease-in-out infinite; }
.gg-blob-3 { width: 400px; height: 400px; background: radial-gradient(circle, rgba(212,168,67,0.06) 0%, transparent 70%); bottom: -10%; left: 30%; animation: blobMove3 20s ease-in-out infinite; }

@keyframes blobMove1 { 0%,100%{transform:translate(0,0) scale(1);} 33%{transform:translate(100px,50px) scale(1.1);} 66%{transform:translate(-50px,100px) scale(0.9);} }
@keyframes blobMove2 { 0%,100%{transform:translate(0,0) scale(1);} 33%{transform:translate(-80px,-60px) scale(1.15);} 66%{transform:translate(60px,-30px) scale(0.85);} }
@keyframes blobMove3 { 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(80px,-80px) scale(1.2);} }

/* ============================================
   FORCE DARK THEME on html element
   ============================================ */
html {
  color-scheme: dark !important;
}

html:not([data-theme="forgejo-dark"]):not([data-theme="forgejo-auto"]) {
  data-theme: forgejo-dark;
}

/* Force Forgejo dark mode variables */
html, html[data-theme="forgejo-auto"], html[data-theme="forgejo-light"] {
  --color-body: #0d1117 !important;
  --color-box-body: #161b22 !important;
  --color-primary: #d4a843 !important;
  --color-primary-light-1: #f0d68a !important;
  --color-text: #e6edf3 !important;
  --color-text-light: #8b949e !important;
  --color-text-light-2: #6e7681 !important;
  --color-nav-bg: #0d1117 !important;
  --color-nav-text: #e6edf3 !important;
  --color-secondary-bg: #161b22 !important;
  --color-header: #0d1117 !important;
  --color-card: #161b22 !important;
  --color-input-background: #0d1117 !important;
  --color-input-border: #30363d !important;
  --color-input-text: #e6edf3 !important;
  --color-shadow: rgba(0,0,0,0.3) !important;
  --color-border: #30363d !important;
  --color-secondary-nav-bg: #161b22 !important;
}

body {
  background: #0d1117 !important;
  color: #e6edf3 !important;
}

/* ============================================
   HIDE DEFAULT HOME CONTENT (CSS instant, no flash)
   ============================================ */
.page-content.home > .tw-mb-8,
.page-content.home .ui.stackable.middle,
.page-content.home .center > .logo,
.page-content.home .center > .hero,
.page-content.home .center > img {
  display: none !important;
}

/* ============================================
   NAVBAR — Gold accent on dark
   ============================================ */
#navbar {
  background: rgba(13, 17, 23, 0.9) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid var(--gg-border) !important;
  z-index: 100 !important;
}

#navbar .item { color: #b0b0c0 !important; transition: color 0.2s ease !important; }
#navbar .item:hover { color: var(--gg-gold) !important; }

/* Hide Forgejo logo in navbar */
#navbar .logo, #navbar img[src*="logo"] { display: none !important; }

/* ============================================
   FOOTER
   ============================================ */
.page-footer {
  background: rgba(13, 17, 23, 0.95) !important;
  border-top: 1px solid var(--gg-border) !important;
  color: #6e7681 !important;
}
.page-footer a { color: #8b949e !important; }
.page-footer a:hover { color: var(--gg-gold) !important; }

/* ============================================
   LOGIN PAGE — Full custom
   ============================================ */
.page-content.user.signin {
  min-height: calc(100vh - 100px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 40px 20px !important;
  z-index: 1 !important;
  background: transparent !important;
}

#gg-landing { display:flex; width:100%; max-width:1100px; margin:0 auto; padding:20px; gap:60px; align-items:center; }
#gg-hero { flex:1; padding-right:40px; animation: heroFadeIn 1s cubic-bezier(0.16,1,0.3,1) both; }
@keyframes heroFadeIn { from{opacity:0;transform:translateX(-30px);} to{opacity:1;transform:translateX(0);} }

#gg-hero-badge { display:inline-flex; align-items:center; gap:8px; padding:6px 14px; background:rgba(212,168,67,0.08); border:1px solid rgba(212,168,67,0.15); border-radius:100px; font-size:12px; color:var(--gg-gold); letter-spacing:1.5px; text-transform:uppercase; font-weight:600; margin-bottom:24px; animation:badgePulse 3s ease-in-out infinite; }
@keyframes badgePulse { 0%,100%{box-shadow:0 0 0 0 rgba(212,168,67,0);} 50%{box-shadow:0 0 0 6px rgba(212,168,67,0.05);} }
#gg-hero-badge .dot { width:6px; height:6px; background:var(--gg-gold); border-radius:50%; animation:dotPulse 2s ease-in-out infinite; }
@keyframes dotPulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:0.5;transform:scale(0.8);} }
#gg-hero h1 { font-size:clamp(2rem,5vw,3.2rem); font-weight:800; line-height:1.1; letter-spacing:-1.5px; color:#ffffff; margin:0 0 20px 0; }
#gg-hero h1 .gold, #gg-home .gold { background:linear-gradient(135deg,#f0d68a,#d4a843,#a07d2e); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
#gg-hero-desc { font-size:16px; line-height:1.7; color:#b0b0c0; margin:0 0 36px 0; max-width:440px; }
#gg-features { display:flex; flex-wrap:wrap; gap:10px; }
.gg-feature { display:inline-flex; align-items:center; gap:8px; padding:10px 16px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); border-radius:12px; font-size:13px; color:#b0b0c0; transition:all 0.3s ease; }
.gg-feature:hover { border-color:rgba(212,168,67,0.2); background:rgba(212,168,67,0.05); color:#fff; transform:translateY(-2px); }
.gg-feature svg { width:16px; height:16px; color:var(--gg-gold); flex-shrink:0; }

/* Login card */
#gg-login-wrapper { width:400px; flex-shrink:0; animation:cardReveal 0.8s cubic-bezier(0.16,1,0.3,1) 0.3s both; }
@keyframes cardReveal { from{opacity:0;transform:translateY(30px) scale(0.95);} to{opacity:1;transform:translateY(0) scale(1);} }

.page-content.user.signin .ui.attached.segment.header.top { display:none !important; }

.page-content.user.signin .ui.attached.segment:not(.header) {
  background: rgba(22, 27, 34, 0.9) !important;
  backdrop-filter: blur(40px) !important;
  border: 1px solid var(--gg-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 30px 80px -20px rgba(0,0,0,0.7), inset 0 1px 0 rgba(255,255,255,0.04) !important;
  padding: 36px !important;
  overflow: hidden !important;
}

.page-content.user.signin .ui.attached.segment:not(.header)::before {
  content:''; position:absolute; top:0; left:20%; width:60%; height:1px;
  background:linear-gradient(90deg,transparent,var(--gg-gold),transparent); opacity:0.4;
}

#gg-card-title { text-align:center; margin-bottom:28px; }
#gg-card-title h2 { font-size:22px; font-weight:700; color:#fff; margin:0 0 6px 0; }
#gg-card-title p { font-size:13px; color:#b0b0c0; margin:0; }

/* Form on login page */
.page-content.user.signin .ui.form input[type="text"],
.page-content.user.signin .ui.form input[type="password"],
.page-content.user.signin .ui.form input[type="email"] {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 12px !important;
  color: #fff !important;
  padding: 14px 16px !important;
}

.page-content.user.signin .ui.form input:focus {
  border-color: var(--gg-gold) !important;
  box-shadow: 0 0 0 4px rgba(212,168,67,0.1) !important;
}

.page-content.user.signin .ui.form label {
  color: #b0b0c0 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
}

/* Gold button (login + home CTA) */
.page-content.user.signin .ui.primary.button,
.gg-home-cta {
  background: linear-gradient(135deg, #d4a843, #8b6914) !important;
  color: #050508 !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  padding: 15px 28px !important;
  width: 100% !important;
  position: relative !important;
  overflow: hidden !important;
}

.page-content.user.signin .ui.primary.button:hover { background: linear-gradient(135deg, #f0d68a, #d4a843) !important; transform: translateY(-1px) !important; box-shadow: 0 8px 25px rgba(212,168,67,0.25) !important; }

.page-content.user.signin .ui.primary.button::after {
  content:''; position:absolute; top:-50%; left:-75%; width:50%; height:200%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
  transform:skewX(-20deg); animation:shimmer 5s ease-in-out infinite;
}
@keyframes shimmer { 0%,80%,100%{left:-75%;} 40%{left:125%;} }

/* Links on login */
.page-content.user.signin a { color: var(--gg-gold-light) !important; }
.page-content.user.signin a:hover { color: #fff !important; }

/* Home page custom content */
#gg-home { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:calc(100vh - 100px); text-align:center; position:relative; z-index:1; padding:60px 24px; }

/* ============================================
   SCROLLBAR
   ============================================ */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:#0d1117; }
::-webkit-scrollbar-thumb { background:rgba(212,168,67,0.15); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:rgba(212,168,67,0.3); }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width:900px) {
  #gg-landing { flex-direction:column !important; padding:20px !important; gap:40px !important; }
  #gg-hero { padding-right:0 !important; text-align:center !important; }
  #gg-hero-desc { margin:0 auto 36px !important; }
  #gg-features { justify-content:center !important; }
  #gg-login-wrapper { width:100% !important; max-width:420px !important; }
}

/* ============================================
   GLOBAL DARK OVERRIDES — ALL INTERNAL PAGES
   Readable white text everywhere
   ============================================ */

/* Force dark on absolutely everything */
html, body,
.full.height,
.page-content,
.ui.container,
.ui.segment,
.ui.attached.segment,
.ui.secondary.segment,
.ui.top.segment,
.ui.bottom.segment,
.ui.raised.segment {
  background-color: #0d1117 !important;
  color: #e6edf3 !important;
}

/* Sidebar */
.secondary-nav,
.ui.secondary.menu,
.ui.vertical.menu,
.ui.sidebar,
.dashboard-sidebar,
.four.wide.column,
.ui.secondary.pointing.menu {
  background: #161b22 !important;
  color: #e6edf3 !important;
  border-color: #30363d !important;
}

.ui.vertical.menu .item,
.ui.secondary.menu .item,
.ui.sidebar .item,
.dashboard-sidebar .item {
  color: #b0b0c0 !important;
  border-color: #30363d !important;
}

.ui.vertical.menu .item:hover,
.ui.secondary.menu .item:hover,
.ui.sidebar .item:hover {
  color: #ffffff !important;
  background: rgba(212,168,67,0.08) !important;
}

.ui.vertical.menu .active.item,
.ui.secondary.menu .active.item {
  color: #d4a843 !important;
  background: rgba(212,168,67,0.1) !important;
  border-color: #d4a843 !important;
}

/* All text elements */
h1, h2, h3, h4, h5, h6,
p, span, div, td, th, li, dt, dd,
label, legend, caption,
.ui.header,
.header,
.title,
.content,
.description,
.meta,
.text,
.detail {
  color: #e6edf3 !important;
}

/* Muted/secondary text */
.text.grey, .text.light, .text.small,
.ui.text.grey, .muted-text,
small, .time-since, .ui.sub.header,
.commit-summary, .file-comment,
.text.light-2 {
  color: #8b949e !important;
}

/* Links everywhere */
a:not(.ui.primary.button):not(.gg-home-cta) {
  color: #d4a843 !important;
}

a:not(.ui.primary.button):not(.gg-home-cta):hover {
  color: #f0d68a !important;
}

/* Cards, boxes, panels */
.ui.card,
.ui.cards > .card,
.flex-item,
.repo-header,
.repository,
.ui.list > .item,
.timeline-item,
.comment-container,
.comment-header,
.ui.attached.header,
.diff-file-header,
.issue-content,
.commit-header {
  background: #161b22 !important;
  color: #e6edf3 !important;
  border-color: #30363d !important;
}

/* Tables */
table, thead, tbody, tr, td, th,
.ui.table, .ui.table thead th,
.ui.table tbody td,
.ui.celled.table tr td,
.ui.striped.table > tbody > tr:nth-child(2n) {
  background-color: #0d1117 !important;
  color: #e6edf3 !important;
  border-color: #30363d !important;
}

.ui.table thead th {
  background: #161b22 !important;
  color: #b0b0c0 !important;
}

/* Forms on all pages */
.ui.form .field > label,
.ui.form label {
  color: #b0b0c0 !important;
}

input, textarea, select,
.ui.input input,
.ui.form input,
.ui.form textarea,
.ui.form select,
.ui.search input,
.CodeMirror {
  background: #0d1117 !important;
  color: #e6edf3 !important;
  border-color: #30363d !important;
}

input:focus, textarea:focus, select:focus {
  border-color: #d4a843 !important;
  box-shadow: 0 0 0 3px rgba(212,168,67,0.1) !important;
}

input::placeholder, textarea::placeholder {
  color: #6e7681 !important;
}

/* Buttons (non-primary) */
.ui.button,
.ui.basic.button {
  background: #21262d !important;
  color: #e6edf3 !important;
  border-color: #30363d !important;
}

.ui.button:hover,
.ui.basic.button:hover {
  background: #30363d !important;
  color: #ffffff !important;
}

/* Primary button on internal pages */
.ui.primary.button {
  background: linear-gradient(135deg, #d4a843, #8b6914) !important;
  color: #050508 !important;
  border: none !important;
}

.ui.primary.button:hover {
  background: linear-gradient(135deg, #f0d68a, #d4a843) !important;
}

/* Labels, tags, badges */
.ui.label,
.ui.tag.label,
.ui.basic.label,
.ui.labels .label {
  background: #21262d !important;
  color: #b0b0c0 !important;
  border-color: #30363d !important;
}

/* Tabs */
.ui.tabular.menu,
.ui.tabular.menu .item {
  background: transparent !important;
  color: #b0b0c0 !important;
  border-color: #30363d !important;
}

.ui.tabular.menu .active.item {
  color: #d4a843 !important;
  border-color: #d4a843 !important;
  background: #0d1117 !important;
}

/* Dropdowns */
.ui.dropdown,
.ui.dropdown .menu,
.ui.selection.dropdown,
.ui.dropdown .menu > .item {
  background: #161b22 !important;
  color: #e6edf3 !important;
  border-color: #30363d !important;
}

.ui.dropdown .menu > .item:hover {
  background: rgba(212,168,67,0.08) !important;
  color: #ffffff !important;
}

/* Messages, alerts */
.ui.message,
.ui.info.message,
.ui.warning.message,
.ui.success.message,
.ui.error.message,
.ui.negative.message {
  background: #161b22 !important;
  color: #e6edf3 !important;
  border-color: #30363d !important;
  box-shadow: none !important;
}

/* Dividers */
.ui.divider,
.ui.section.divider,
hr {
  border-color: #30363d !important;
}

/* Breadcrumbs */
.breadcrumb, .breadcrumb a, .breadcrumb .section {
  color: #b0b0c0 !important;
}

/* Repository file list */
.repo-file-table, .repo-file-table td,
.repo-file-table th,
#repo-files-table, #repo-files-table td {
  background: #0d1117 !important;
  color: #e6edf3 !important;
  border-color: #30363d !important;
}

/* Code blocks */
pre, code, .highlight,
.CodeMirror-code, .CodeMirror-line,
.blob-code, .blob-num,
.file-view pre {
  background: #0d1117 !important;
  color: #e6edf3 !important;
}

/* Modals */
.ui.modal,
.ui.modal > .header,
.ui.modal > .content,
.ui.modal > .actions {
  background: #161b22 !important;
  color: #e6edf3 !important;
  border-color: #30363d !important;
}

/* Popups, tooltips */
.ui.popup,
.tippy-box,
[data-tooltip]::after {
  background: #161b22 !important;
  color: #e6edf3 !important;
  border-color: #30363d !important;
}

/* Loading, dimmer */
.ui.dimmer {
  background: rgba(0,0,0,0.7) !important;
}

/* Pagination */
.ui.pagination.menu .item {
  background: #0d1117 !important;
  color: #b0b0c0 !important;
  border-color: #30363d !important;
}

.ui.pagination.menu .active.item {
  background: rgba(212,168,67,0.15) !important;
  color: #d4a843 !important;
}

/* Checkbox, radio */
.ui.checkbox label,
.ui.radio.checkbox label {
  color: #e6edf3 !important;
}

/* Icons */
.svg, .octicon, i.icon {
  color: #8b949e !important;
}

a:hover .svg, a:hover .octicon {
  color: #d4a843 !important;
}

/* Empty state */
.empty-placeholder, .nothing {
  color: #6e7681 !important;
}

/* Diff view */
.diff-line-add { background: rgba(46,160,67,0.15) !important; }
.diff-line-del { background: rgba(248,81,73,0.15) !important; }
