/* Shared Authentik identity: zinc surfaces, emerald accents, terminal typography. */
:root {
  --fonts-regular: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --fonts-monospace: var(--fonts-regular);
  --color-primary: #059669;
  --color-primary-hover: #10b981;
  --kof-dot: rgb(24 24 27 / 0.06);
}
:root:has(meta[name="theme-color"]) { font-family: var(--fonts-regular); }
html.theme-gitea-dark {
  --color-primary: #34d399;
  --color-primary-hover: #6ee7b7;
  --color-body: #0a0a0a;
  --color-box-header: #18181b;
  --color-box-body: #0a0a0a;
  --color-nav-bg: #18181b;
  --color-text: #f4f4f5;
  --color-secondary: #27272a;
  --kof-dot: rgb(244 244 245 / 0.045);
}
html.theme-gitea-light {
  --color-body: #fafafa;
  --color-box-header: #f4f4f5;
  --color-box-body: #fafafa;
  --color-nav-bg: #f4f4f5;
  --color-text: #18181b;
  --color-secondary: #e4e4e7;
}
body { background-image: radial-gradient(circle, var(--kof-dot) 0.75px, transparent 1px); background-size: 24px 24px; }
#navbar .item:has(.logo) { min-width: 220px; }
#navbar .logo { width: 218px; height: 32px; object-fit: contain; }

/* Forge landing page: the same terminal chrome as the Authentik sign-in. */
.kof-forge-home { max-width: 1120px; margin: 0 auto; padding: 64px 24px 32px; }
.kof-terminal { border: 1px solid var(--color-secondary); border-radius: 14px; overflow: hidden; background: var(--color-box-body); box-shadow: 0 20px 70px #00000012; }
.kof-terminal-bar { display: flex; align-items: center; gap: 8px; padding: 14px 20px; border-bottom: 1px solid var(--color-secondary); background: var(--color-box-header); }
.kof-terminal-bar > span { width: 9px; height: 9px; border-radius: 50%; background: var(--color-text-light-2); opacity: .45; }
.kof-terminal-bar code { margin-left: 12px; font-size: 12px; color: var(--color-text-light-1); }
.kof-forge-hero { padding: 48px; }
.kof-forge-wordmark { max-width: 100%; height: 40px; object-fit: contain; object-position: left; margin-bottom: 28px; }
.kof-eyebrow, .kof-card-number { font-size: 11px; letter-spacing: .12em; color: var(--color-primary); font-weight: 700; }
.kof-forge-hero h1 { margin: 14px 0; font-size: clamp(36px, 6vw, 64px); letter-spacing: -.06em; line-height: 1.1; }
.kof-forge-lead { font-size: clamp(20px, 3vw, 28px); margin: 0 0 20px; }
.kof-forge-intro { max-width: 720px; color: var(--color-text-light-1); font-size: 16px; line-height: 1.8; }
.kof-forge-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 30px 0 24px; }
.kof-forge-actions .button { margin: 0; }
.kof-text-link { padding: 10px 4px; }
.kof-forge-status { display: flex; flex-wrap: wrap; gap: 12px 24px; list-style: none; padding: 0; margin: 0; font-size: 12px; color: var(--color-text-light-1); }
.kof-forge-status li::before { content: '●'; color: var(--color-primary); margin-right: 8px; }
.kof-forge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 24px 0; }
.kof-forge-grid article { padding: 28px; border: 1px solid var(--color-secondary); border-radius: 12px; background: var(--color-box-body); }
.kof-forge-grid h2 { font-size: 19px; margin: 18px 0 12px; line-height: 1.4; }
.kof-forge-grid p { margin: 0; color: var(--color-text-light-1); line-height: 1.8; font-size: 14px; }
.kof-forge-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 12px 0; color: var(--color-text-light-1); font-size: 12px; }
.kof-forge-footer p { margin: 0; }
@media (max-width: 760px) { .kof-forge-home { padding: 24px 16px; } .kof-forge-hero { padding: 28px 22px; } .kof-forge-grid { grid-template-columns: 1fr; } }
