@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Sora:wght@400;500;600;700&display=swap");

:root {
  --dyn-bg: #0e1318;
  --dyn-bg-2: #151c24;
  --dyn-surface: #1b2430;
  --dyn-surface-2: #243041;
  --dyn-border: #2e3b4d;
  --dyn-text: #e8eef4;
  --dyn-muted: #9aa8b8;
  --dyn-accent: #e8a54b;
  --dyn-accent-2: #f0c27a;
  --dyn-accent-dark: #c47a2c;
  --dyn-success: #3dba8a;
  --dyn-danger: #e06b6b;
  --dyn-radius: 12px;
  --dyn-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);

  --fonts-regular: "Sora", "Segoe UI", sans-serif;
  --fonts-semibold: "Sora", "Segoe UI", sans-serif;
  --fonts-bold: "Sora", "Segoe UI", sans-serif;
  --fonts-code: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --color-primary: #e8a54b;
  --color-primary-dark-1: #d9953a;
  --color-primary-dark-2: #c47a2c;
  --color-primary-dark-3: #a86420;
  --color-primary-light-1: #f0c27a;
  --color-primary-light-2: #f6d7a4;
  --color-primary-light-3: #fbe9c8;
  --color-primary-alpha-10: #e8a54b1a;
  --color-primary-alpha-20: #e8a54b33;
  --color-primary-alpha-30: #e8a54b4d;
  --color-primary-alpha-40: #e8a54b66;
  --color-primary-alpha-50: #e8a54b80;
  --color-primary-hover: #f0c27a;
  --color-primary-active: #c47a2c;

  --color-secondary: #243041;
  --color-secondary-dark-1: #1b2430;
  --color-secondary-dark-2: #151c24;
  --color-secondary-dark-3: #0e1318;
  --color-secondary-light-1: #2e3b4d;
  --color-secondary-light-2: #3a4a5f;
  --color-secondary-alpha-10: #2430411a;
  --color-secondary-alpha-20: #24304133;
  --color-secondary-alpha-30: #2430414d;
  --color-secondary-alpha-40: #24304166;
  --color-secondary-alpha-50: #24304180;
  --color-secondary-button: #2e3b4d;
  --color-secondary-button-hover: #3a4a5f;
  --color-secondary-button-active: #1b2430;

  --color-body: var(--dyn-bg);
  --color-box-body: var(--dyn-surface);
  --color-box-body-highlight: var(--dyn-surface-2);
  --color-box-header: #18212c;
  --color-header-bar: rgba(14, 19, 24, 0.88);
  --color-navbar: rgba(14, 19, 24, 0.92);
  --color-footer: #0b1015;
  --color-text: var(--dyn-text);
  --color-text-light: #c7d2de;
  --color-text-light-1: #b3c0cf;
  --color-text-light-2: var(--dyn-muted);
  --color-text-light-3: #7f8fa1;
  --color-text-dark: #0e1318;
  --color-secondary-bg: var(--dyn-bg-2);
  --color-input-text: var(--dyn-text);
  --color-input-background: #121922;
  --color-input-border: var(--dyn-border);
  --color-input-border-hover: #46607a;
  --color-light: #1b2430;
  --color-light-mimic-enabled: rgba(27, 36, 48, 0.5);
  --color-light-border: var(--dyn-border);
  --color-hover: rgba(232, 165, 75, 0.08);
  --color-active: rgba(232, 165, 75, 0.14);
  --color-menu: var(--dyn-surface);
  --color-card: var(--dyn-surface);
  --color-markup-code-inline: #243041;
  --color-markup-code-block: #121922;
  --color-button: #2a3748;
  --color-code-bg: #121922;
  --color-shadow: rgba(0, 0, 0, 0.4);
  --color-secondary-dark-1: #1b2430;
  --color-diff-added-linenum-bg: #163228;
  --color-diff-added-row-bg: #12261f;
  --color-diff-removed-linenum-bg: #3a1d1d;
  --color-diff-removed-row-bg: #2a1717;
  --color-success: var(--dyn-success);
  --color-error: var(--dyn-danger);
  --color-red: var(--dyn-danger);
  --color-orange: var(--dyn-accent);
  --color-yellow: #e6c35c;
  --color-green: var(--dyn-success);
  --color-blue: #6aa6d8;
  --color-purple: #9b8fd9;
  --border-radius: var(--dyn-radius);
  --border-radius-medium: 10px;
}

html, body {
  background:
    radial-gradient(1200px 500px at 10% -10%, rgba(232, 165, 75, 0.14), transparent 55%),
    radial-gradient(900px 420px at 100% 0%, rgba(74, 122, 168, 0.12), transparent 50%),
    linear-gradient(180deg, #121820 0%, var(--dyn-bg) 40%, #0b1015 100%) !important;
  color: var(--dyn-text);
  font-family: var(--fonts-regular) !important;
}

body {
  min-height: 100vh;
}

a {
  color: var(--dyn-accent-2);
}

a:hover {
  color: #ffe0a8;
}

/* Navbar */
.ui.secondary.menu.navbar,
nav.navbar,
#navbar {
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(232, 165, 75, 0.18) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.navbar .item,
.ui.menu .item {
  font-weight: 500;
  letter-spacing: 0.01em;
}

.navbar .brand .logo img,
img.ui.mini.image.logo,
.logo img {
  border-radius: 10px !important;
  box-shadow: 0 0 0 1px rgba(232, 165, 75, 0.35);
}

/* Brand wordmark feel on home */
.page-content.home .hero h1,
.home h1,
.ui.container .hero h1 {
  font-family: "Fraunces", Georgia, serif !important;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  background: linear-gradient(90deg, #fff6e8, var(--dyn-accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}

.home .hero .ui.button,
.ui.primary.button,
.ui.green.button {
  background: linear-gradient(135deg, var(--dyn-accent), var(--dyn-accent-dark)) !important;
  color: #1a1208 !important;
  border: none !important;
  box-shadow: 0 10px 24px rgba(196, 122, 44, 0.35);
  font-weight: 600 !important;
  border-radius: 999px !important;
}

.ui.primary.button:hover,
.ui.green.button:hover {
  filter: brightness(1.05);
}

.ui.basic.button,
.ui.button {
  border-radius: 10px !important;
}

/* Cards / boxes */
.ui.segment,
.ui.attached.segment,
.repository .ui.segment,
.dashboard .ui.segment,
.issue .timeline,
.ui.menu,
.ui.table,
.ui.form .field > .selection.dropdown,
.ui.dropdown .menu {
  border-radius: var(--dyn-radius) !important;
  border-color: var(--dyn-border) !important;
  box-shadow: var(--dyn-shadow) !important;
}

.ui.segment {
  background: linear-gradient(180deg, rgba(27, 36, 48, 0.96), rgba(21, 28, 36, 0.96)) !important;
}

/* Dashboard polish */
.dashboard .secondary-nav,
.dashboard.feeds,
.feeds .news {
  border-radius: var(--dyn-radius);
}

/* Footer */
footer,
.page-footer {
  border-top: 1px solid rgba(232, 165, 75, 0.12) !important;
  background: rgba(11, 16, 21, 0.9) !important;
}

footer .container,
.page-footer .container {
  font-size: 0.9rem;
  color: var(--dyn-muted);
}

/* Code / repo */
.repository.file.list #repo-files-table,
.CodeMirror,
.monaco-editor-background,
.blob-excerpt {
  border-radius: 10px;
}

/* Soft motion */
.ui.button,
.ui.card,
.ui.segment,
.navbar .item {
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.ui.card:hover,
.dashboard .ui.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
}

/* Login page atmosphere */
.user.signin,
.page-content.user.signin,
.user.signup {
  background: transparent !important;
}

.user.signin .ui.container .ui.form,
.user.signin .ui.segment {
  border: 1px solid rgba(232, 165, 75, 0.22) !important;
}

/* DynGit badge under navbar brand via CSS content is fragile; handled in template */
.dyn-brand-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-left: 0.35rem;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1a1208;
  background: linear-gradient(135deg, var(--dyn-accent-2), var(--dyn-accent));
}
