/* Presentation only. Native layout, events, dropdowns, code and modals stay intact. */
:root {
  --fonts-proportional: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --border-radius: 6px;
}
body { -webkit-font-smoothing: antialiased; }
#navbar { min-height: 64px; border-bottom: 1px solid var(--color-secondary); padding-inline: 24px; }
#navbar-logo { gap: 12px; margin-inline-end: 22px; }
#navbar-logo img { width: 32px; height: 32px; }
#navbar-logo::after { content: "ZAYDRIAN / GIT"; font-size: 12px; font-weight: 700; letter-spacing: .12em; white-space: nowrap; color: var(--color-text); }
#navbar .item, #navbar summary { border-radius: 6px; }
#navbar .active.item { font-weight: 600; }
.page-content { padding-top: 28px; }
.ui.header { font-weight: 600; }
.ui.attached.header { padding-top: 14px; padding-bottom: 14px; }
.ui.button { font-weight: 600; }
.ui.form input:not([type=checkbox]):not([type=radio]), .ui.form textarea, .ui.selection.dropdown { border-radius: 6px; }
.ui.form .field > label { margin-bottom: 8px; }
.ui.repository.list > .item { padding-top: 22px; padding-bottom: 22px; }
.repo-title { letter-spacing: -.025em; }
.page-footer { padding: 20px 28px; gap: 16px; border-top: 1px solid var(--color-secondary); }
.z-footer-brand { font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.z-footer-brand span { color: var(--color-text-light-2); font-weight: 400; letter-spacing: 0; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--color-text) !important; outline-offset: 4px !important; }
/* Anonymous entry pages only; repository and dashboard layout stays native. */
.full.height:has(> .z-entry) { display: flex; flex-direction: column; }
.z-entry { flex: 1; display: flex; align-items: center; justify-content: center; padding: 56px 24px 72px; }
.z-entry-panel { width: min(400px, 100%); margin-inline: auto; text-align: center; }
.z-entry-logo { display: block; margin: 0 auto 24px; width: 56px; height: 56px; }
.z-entry-panel h1 { font-size: 28px; line-height: 1.25; letter-spacing: -.035em; margin: 0 0 12px; font-weight: 600; color: var(--color-text-dark); }
.z-entry-description, .z-login-intro { color: var(--color-text-light-2); font-size: 14px; line-height: 1.7; margin: 0 0 28px; }
.z-entry .ui.z-entry-login, .z-login-card .oauth-login-link[href$="/authentik"] { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; gap: 12px; padding: 12px 24px !important; background: #ededee; color: #202023; border: 1px solid #ededee; border-radius: 7px; font-size: 14px; font-weight: 600; transition: none; }
.z-entry .ui.z-entry-login { min-width: 184px; margin: 0; }
.z-entry .ui.z-entry-login:focus, .z-entry .ui.z-entry-login:hover, .z-login-card .oauth-login-link[href$="/authentik"]:hover { background: #ffffff; border-color: #ffffff; color: #202023; }
.z-entry-access { font-size: 12px; line-height: 1.8; color: var(--color-text-light-2); margin: 18px 0 0; }
.z-login-layout { width: min(400px, 100%); min-width: 0; }
.z-login-card #oauth2-login-navigator { padding: 0; }
.z-login-card .oauth-login-link[href$="/authentik"] .svg { margin-left: auto; }
.z-login-card .z-recovery { text-align: left; }
.z-recovery { margin-top: 28px; border-top: 1px solid var(--color-secondary); padding-top: 20px; }
.z-recovery summary { cursor: pointer; font-size: 12px; color: var(--color-text-light-2); padding: 6px 0; }
.z-recovery-hint { font-size: 12px; line-height: 1.65; color: var(--color-text-light-2); margin: 12px 0 18px; }
.z-recovery .ui.form { font-size: 13px; }
.z-recovery .field input { min-height: 42px; }
.z-forgot { display: inline-block; font-size: 12px; margin-top: 12px; }
@media (max-width: 1000px) {
  #navbar { padding-inline: 14px; }
  #navbar-logo { margin-inline-end: 8px; }
}
@media (max-width: 767px) {
  #navbar { min-height: 60px; padding-inline: 12px; }
  #navbar-logo::after { font-size: 11px; }
  #navbar-logo { margin-inline-end: 0; }
  #navbar-expand-toggle { min-width: 44px; min-height: 44px; }
  .page-content { padding-top: 18px; }
  .page-footer { padding: 18px 16px; }
  .z-entry { padding: 40px 24px 48px; }
  .z-entry-panel h1 { font-size: 26px; }
  .z-entry-logo { width: 48px; height: 48px; }
  .z-login-card .oauth-login-link[href$="/authentik"] { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .z-login-card *, #navbar * { scroll-behavior: auto; transition: none; }
}

/* Keep current input contrast even when an older theme sheet is cached. */
html[data-theme="zaydrian"], html[data-theme="forgejo-auto"] { --color-input-border: #73737d; }
