/* ═══════════════════════════════════════════════════════════════
   Tema ARUKHAN — arukhan
   GERADO por build.sh. Não edite este arquivo: edite src/ e rode o script.
   Composição: fontes auto-hospedadas + tema nativo forgejo-light + src/overrides-arukhan.css
   ═══════════════════════════════════════════════════════════════ */

/* ── Fontes da marca, auto-hospedadas ──────────────────────────────
   Baixadas do Google Fonts (licença OFL) e servidas pelo próprio servidor.
   Nenhuma requisição sai para terceiros — mantém a política Zero-CDN e o
   OFFLINE_MODE do Forgejo. Subconjuntos latin e latin-ext apenas.
   Arquivos em /data/gitea/public/assets/fonts/ → servidos em /assets/fonts/
   ───────────────────────────────────────────────────────────────── */

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/fraunces-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/fraunces-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/assets/fonts/outfit-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/assets/fonts/outfit-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/jetbrains-mono-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/jetbrains-mono-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── Tema nativo forgejo-light, copiado na íntegra ────────────────────── */
.chroma .bp{color:#999}.chroma .c,.chroma .c1,.chroma .ch{color:#6a737d}.chroma .cm{color:#998}.chroma .cp{color:#109295}.chroma .cpf{color:#4c4dbc}.chroma .cs{color:#999}.chroma .dl{color:#106303}.chroma .gd{color:#000;background-color:#fdd}.chroma .ge{color:#000}.chroma .gh{color:#999}.chroma .gi{color:#000;background-color:#dfd}.chroma .go{color:#888}.chroma .gp{color:#555}.chroma .gr,.chroma .gt{color:#a00}.chroma .gu{color:#aaa}.chroma .il{color:#099}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr{color:#d73a49}.chroma .kt{color:#458}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#099}.chroma .na{color:#d73a49}.chroma .nb{color:#005cc5}.chroma .nc{color:#458}.chroma .nd{color:#3c5d5d}.chroma .ne{color:#900}.chroma .nf{color:#005cc5}.chroma .ni{color:#6f42c1}.chroma .nl{color:#900}.chroma .nn{color:#555}.chroma .no{color:teal}.chroma .nt{color:#22863a}.chroma .nv{color:teal}.chroma .nx{color:#24292e}.chroma .o,.chroma .ow{color:#d73a49}.chroma .s,.chroma .s1,.chroma .s2{color:#106303}.chroma .sa{color:#cc7a00}.chroma .sb{color:#106303}.chroma .sc{color:#cc7a00}.chroma .sd{color:#106303}.chroma .se{color:#940}.chroma .sh{color:#106303}.chroma .si{color:#cc7a00}.chroma .sr{color:#4c4dbc}.chroma .ss{color:#940}.chroma .sx{color:#106303}.chroma .vc,.chroma .vg,.chroma .vi{color:teal}.chroma .w{color:#bbb}.markup [src$="#gh-dark-mode-only"],.markup [src$="#dark-mode-only"],.markup [href$="#gh-dark-mode-only"],.markup [href$="#dark-mode-only"]{display:none}:root{--steel-900: #10161d;--steel-850: #131a21;--steel-800: #171e26;--steel-750: #1d262f;--steel-700: #242d38;--steel-650: #2b3642;--steel-600: #374351;--steel-550: #445161;--steel-500: #515f70;--steel-450: #5f6e80;--steel-400: #6d7d8f;--steel-350: #7c8c9f;--steel-300: #8c9caf;--steel-250: #9dadc0;--steel-200: #aebed0;--steel-150: #c0cfe0;--steel-100: #d2e0f0;--zinc-50: #fafafa;--zinc-100: #f4f4f5;--zinc-150: #ececee;--zinc-200: #e4e4e7;--zinc-250: #dcdce0;--zinc-300: #d4d4d8;--zinc-350: #babac1;--zinc-400: #a1a1aa;--zinc-450: #898992;--zinc-500: #71717a;--zinc-550: #61616a;--zinc-600: #52525b;--zinc-650: #484850;--zinc-700: #3f3f46;--zinc-750: #333338;--zinc-800: #27272a;--zinc-850: #1f1f23;--zinc-900: #18181b;--color-primary: #c2410c;--color-primary-contrast: #ffffff;--color-primary-dark-1: #c2410c;--color-primary-dark-2: #9a3412;--color-primary-dark-3: #9a3412;--color-primary-dark-4: #7c2d12;--color-primary-dark-5: #7c2d12;--color-primary-dark-6: #7c2d12;--color-primary-dark-7: #7c2d12;--color-primary-light-1: #ea580c;--color-primary-light-2: #f97316;--color-primary-light-3: #fb923c;--color-primary-light-4: #fdba74;--color-primary-light-5: #fed7aa;--color-primary-light-6: #ffedd5;--color-primary-light-7: #fff7ed;--color-primary-alpha-10: #c2410c19;--color-primary-alpha-20: #c2410c33;--color-primary-alpha-30: #c2410c4b;--color-primary-alpha-40: #c2410c66;--color-primary-alpha-50: #c2410c80;--color-primary-alpha-60: #c2410c99;--color-primary-alpha-70: #c2410cb3;--color-primary-alpha-80: #c2410ccc;--color-primary-alpha-90: #c2410ce1;--color-primary-hover: var(--color-primary-dark-2);--color-primary-active: var(--color-primary-dark-4);--color-secondary: var(--zinc-200);--color-secondary-dark-1: var(--zinc-200);--color-secondary-dark-2: var(--zinc-300);--color-secondary-dark-3: var(--zinc-300);--color-secondary-dark-4: var(--zinc-400);--color-secondary-dark-5: var(--zinc-400);--color-secondary-dark-6: var(--zinc-500);--color-secondary-dark-7: var(--zinc-500);--color-secondary-dark-8: var(--zinc-600);--color-secondary-dark-9: var(--zinc-600);--color-secondary-dark-10: var(--zinc-700);--color-secondary-dark-11: var(--zinc-700);--color-secondary-dark-12: var(--zinc-800);--color-secondary-dark-13: var(--zinc-800);--color-secondary-light-1: var(--zinc-200);--color-secondary-light-2: var(--zinc-100);--color-secondary-light-3: var(--zinc-100);--color-secondary-light-4: var(--zinc-50);--color-secondary-alpha-10: #d4d4d819;--color-secondary-alpha-20: #d4d4d833;--color-secondary-alpha-30: #d4d4d84b;--color-secondary-alpha-40: #d4d4d866;--color-secondary-alpha-50: #d4d4d880;--color-secondary-alpha-60: #d4d4d899;--color-secondary-alpha-70: #d4d4d8b3;--color-secondary-alpha-80: #d4d4d8cc;--color-secondary-alpha-90: #d4d4d8e1;--color-secondary-hover: var(--color-secondary-dark-2);--color-secondary-active: var(--color-secondary-dark-4);--color-console-fg: #eeeff2;--color-console-fg-subtle: #959cab;--color-console-bg: #1f212b;--color-console-border: #383c47;--color-console-hover-bg: #ffffff16;--color-console-active-bg: #454a57;--color-console-menu-bg: #383c47;--color-console-menu-border: #5c6374;--color-red: #dc2626;--color-orange: #ea580c;--color-yellow: #ca8a04;--color-olive: #91a313;--color-green: #15803d;--color-teal: #0d9488;--color-blue: #2563eb;--color-violet: #7c3aed;--color-purple: #9333ea;--color-pink: #db2777;--color-brown: #a47252;--color-grey: #4b5563;--color-black: #000000;--color-red-light: #ef4444;--color-orange-light: #f97316;--color-yellow-light: #eab308;--color-olive-light: #839311;--color-green-light: #16a34a;--color-teal-light: #14b8a6;--color-blue-light: #3b82f6;--color-violet-light: #8b5cf6;--color-purple-light: #a855f7;--color-pink-light: #ec4899;--color-brown-light: #94674a;--color-grey-light: #6b7280;--color-black-light: #181818;--color-red-dark-1: #c82020;--color-orange-dark-1: #d34f0b;--color-yellow-dark-1: #b67c04;--color-olive-dark-1: #839311;--color-green-dark-1: #137337;--color-teal-dark-1: #0c857a;--color-blue-dark-1: #1554e0;--color-violet-dark-1: #6a1feb;--color-purple-dark-1: #8519e7;--color-pink-dark-1: #c7216b;--color-brown-dark-1: #94674a;--color-black-dark-1: #000000;--color-red-dark-2: #b21d1d;--color-orange-dark-2: #bb460a;--color-yellow-dark-2: #a26e03;--color-olive-dark-2: #74820f;--color-green-dark-2: #116631;--color-teal-dark-2: #0a766d;--color-blue-dark-2: #124bc7;--color-violet-dark-2: #5c14d8;--color-purple-dark-2: #7715cf;--color-pink-dark-2: #b11d5f;--color-brown-dark-2: #835b42;--color-black-dark-2: #000000;--color-ansi-black: #1f2326;--color-ansi-red: #cc4848;--color-ansi-green: #87ab63;--color-ansi-yellow: #cc9903;--color-ansi-blue: #3a8ac6;--color-ansi-magenta: #d22e8b;--color-ansi-cyan: #00918a;--color-ansi-white: var(--color-console-fg-subtle);--color-ansi-bright-black: #46494d;--color-ansi-bright-red: #d15a5a;--color-ansi-bright-green: #93b373;--color-ansi-bright-yellow: #eaaf03;--color-ansi-bright-blue: #4e96cc;--color-ansi-bright-magenta: #d74397;--color-ansi-bright-cyan: #00b6ad;--color-ansi-bright-white: var(--color-console-fg);--color-gold: #b1983b;--color-white: #ffffff;--color-diff-removed-word-bg: #fca5a5;--color-diff-added-word-bg: #86efac;--color-diff-removed-row-bg: #fee2e2;--color-diff-moved-row-bg: #fef9c3;--color-diff-added-row-bg: #dcfce7;--color-diff-removed-row-border: #fca5a5;--color-diff-moved-row-border: #fde047;--color-diff-added-row-border: #86efac;--color-diff-inactive: var(--zinc-100);--color-error-border: #fecaca;--color-error-bg: #fee2e2;--color-error-bg-active: #fca5a5;--color-error-bg-hover: #fecaca;--color-error-text: #7f1d1d;--color-success-border: #bbf7d0;--color-success-bg: #dcfce7;--color-success-text: #14532d;--color-warning-border: #fde047;--color-warning-bg: #fef3c7;--color-warning-text: #78350f;--color-info-border: #bae6fd;--color-info-bg: #e0f2fe;--color-info-text: #0c4a6e;--color-red-badge: #b91c1c;--color-red-badge-bg: #b91c1c22;--color-red-badge-hover-bg: #b91c1c44;--color-green-badge: #16a34a;--color-green-badge-bg: #16a34a22;--color-green-badge-hover-bg: #16a34a44;--color-yellow-badge: #ca8a04;--color-yellow-badge-bg: #ca8a0422;--color-yellow-badge-hover-bg: #ca8a0444;--color-orange-badge: #ea580c;--color-orange-badge-bg: #ea580c22;--color-orange-badge-hover-bg: #ea580c44;--color-body: #fff;--color-box-header: var(--zinc-100);--color-box-body: var(--zinc-50);--color-box-body-highlight: var(--zinc-200);--color-text-dark: #000;--color-text: var(--zinc-900);--color-text-light: var(--zinc-700);--color-text-light-1: var(--zinc-650);--color-text-light-2: var(--zinc-600);--color-text-light-3: var(--zinc-550);--color-footer: var(--zinc-100);--color-timeline: var(--zinc-200);--color-input-text: var(--zinc-800);--color-input-background: #fff;--color-input-toggle-background: #fff;--color-input-border: var(--zinc-300);--color-input-border-hover: var(--zinc-400);--color-header-wrapper: var(--zinc-50);--color-header-wrapper-transparent: #d2e0f000;--color-light: #ffffffcc;--color-light-mimic-enabled: rgba(0, 0, 0, calc(6 / 255 * 222 / 255 / var(--opacity-disabled)));--color-light-border: #0000001d;--color-hover: #e4e4e4aa;--color-active: #e2e2e5;--color-menu: var(--zinc-100);--color-card: var(--zinc-50);--fancy-card-bg: var(--zinc-100);--fancy-card-border: var(--zinc-200);--color-markup-table-row: #ffffff06;--color-markup-code-block: var(--zinc-150);--color-markup-code-inline: var(--zinc-200);--color-button: var(--zinc-150);--color-code-bg: var(--zinc-50);--color-shadow: #00000060;--color-secondary-bg: var(--zinc-100);--color-text-focus: #fff;--color-expand-button: var(--zinc-200);--color-placeholder-text: var(--color-text-light-3);--color-editor-line-highlight: var(--zinc-100);--color-project-board-bg: var(--color-secondary-light-2);--color-project-board-dark-label: var(--color-text-light-3);--color-caret: var(--color-text);--color-reaction-bg: #0000000a;--color-reaction-active-bg: var(--color-primary-alpha-20);--color-reaction-hover-bg: var(--color-primary-alpha-30);--color-tooltip-text: #ffffff;--color-tooltip-bg: #000000f0;--color-nav-bg: var(--zinc-100);--color-nav-hover-bg: var(--zinc-300);--color-secondary-nav-bg: var(--color-body);--color-label-text: var(--color-text);--color-label-bg: #cacaca7b;--color-label-hover-bg: #cacacaa0;--color-label-active-bg: #cacacaff;--color-label-bg-alt: #cacacaff;--color-accent: var(--color-primary-light-1);--color-small-accent: var(--color-primary-light-5);--color-highlight-fg: var(--color-primary-light-4);--color-highlight-bg: var(--color-primary-light-6);--color-overlay-backdrop: #080808c0;--color-selection-bg: var(--steel-450);--color-selection-fg: var(--color-white);--checkerboard-color-1: #ffffff;--checkerboard-color-2: #e5e5e5;--color-indicator-offline: #52525b;--color-indicator-offline-20: #52525b33;--color-indicator-idle: #16a34a;--color-indicator-idle-20: #16a34a33;--color-indicator-active: #2185d0;--color-indicator-active-20: #2185d033;accent-color:var(--color-accent);color-scheme:light}.ui.secondary.vertical.menu{border-radius:.28571429rem!important;overflow:hidden}.ui.basic.primary.button.item{background-color:var(--color-active)!important;color:var(--color-text)!important;box-shadow:none!important}.ui.red.label.notification_count,.ui.primary.labels .label{background-color:var(--color-primary-dark-1)!important}.ui.labeled.icon.buttons>.button>.icon,.ui.labeled.icon.button>.icon{background-color:var(--color-shadow)!important}#review-box .review-comments-counter{background-color:var(--color-label-bg)!important;margin-left:.5em}.ui.basic.labels .primary.label,.ui.ui.ui.basic.primary.label{color:var(--color-text-dark)!important}.ui.yellow.label.pending-label{background:var(--color-warning-bg)!important;color:var(--color-text-dark)!important}


/* ── ARUKHAN — tema claro ────────────────────────────────────────────
   Sobrescritas aplicadas DEPOIS do tema nativo (ver build.sh).
   Canvas claro e quente com navbar escura, como a sidebar do ARU Hub.
   ──────────────────────────────────────────────────────────────────── */

:root {
  --arukhan-green: #2f7a59;
  --arukhan-green-dark: #21553e;
  --arukhan-ink: #0b0d12;      /* --sidebar do Hub */
  --arukhan-ink-2: #121622;    /* --sidebar-2 */
  --arukhan-ink-3: #1a202f;    /* --sidebar-3 */
  --arukhan-paper: #fafaf8;    /* --bg */
  --arukhan-on-ink: #e8e4dc;   /* cor do wordmark sobre fundo escuro */

  --color-primary: #2f7a59;
  --color-primary-contrast: #ffffff;
  --color-primary-dark-1: #2d7455;
  --color-primary-dark-2: #28684c;
  --color-primary-dark-3: #255f45;
  --color-primary-dark-4: #21553e;
  --color-primary-dark-5: #1d4c37;
  --color-primary-dark-6: #194230;
  --color-primary-dark-7: #163829;
  --color-primary-light-1: #4c8d70;
  --color-primary-light-2: #699f87;
  --color-primary-light-3: #86b29f;
  --color-primary-light-4: #a3c4b6;
  --color-primary-light-5: #c1d7cd;
  --color-primary-light-6: #dae7e1;
  --color-primary-light-7: #eef4f2;
  --color-primary-alpha-10: #2f7a5919;
  --color-primary-alpha-20: #2f7a5933;
  --color-primary-alpha-30: #2f7a594b;
  --color-primary-alpha-40: #2f7a5966;
  --color-primary-alpha-50: #2f7a5980;
  --color-primary-alpha-60: #2f7a5999;
  --color-primary-alpha-70: #2f7a59b3;
  --color-primary-alpha-80: #2f7a59cc;
  --color-primary-alpha-90: #2f7a59e1;

  --color-accent: #28684c;

  /* Superfícies quentes */
  --color-body: #fafaf8;
  --color-box-body: #ffffff;
  --color-box-body-highlight: #f4f2ee;
  --color-box-header: #f4f2ee;
  --color-card: #ffffff;
  --color-menu: #ffffff;
  --color-footer: #f4f2ee;
  --color-text: #111009;

  /* Navbar escura, como a sidebar do Hub */
  --color-nav-bg: var(--arukhan-ink);
  --color-nav-hover-bg: var(--arukhan-ink-3);
  --color-header-wrapper: #ffffff;
}

/* O Forgejo só expõe --color-nav-bg; o texto da barra herda a cor do corpo.
   Com fundo escuro isso ficaria ilegível, então as regras abaixo tratam
   explicitamente os filhos DIRETOS de #navbar — sem alcançar os menus
   suspensos, que continuam claros. */
#navbar {
  border-bottom: 1px solid var(--arukhan-ink-3);
}

#navbar > .navbar-left > .item,
#navbar > .navbar-right > .item,
#navbar > .navbar-left > .item > *,
#navbar > .navbar-right > .item > * {
  color: var(--arukhan-on-ink);
}

#navbar > .navbar-left > .item:hover,
#navbar > .navbar-right > .item:hover {
  background: var(--arukhan-ink-3);
  color: #ffffff;
}

#navbar input[type="search"],
#navbar .ui.input > input {
  background: var(--arukhan-ink-2);
  border-color: var(--arukhan-ink-3);
  color: var(--arukhan-on-ink);
}

#navbar input::placeholder {
  color: #8a8f9b;
}

/* ── Tipografia da marca (fontes auto-hospedadas) ─────────────────── */
body {
  font-family: 'Outfit', 'Avenir Next', 'Segoe UI', system-ui, Arial, sans-serif;
}

h1, h2, h3, .ui.header {
  font-family: 'Fraunces', 'Iowan Old Style', Baskerville, Georgia, serif;
  letter-spacing: -0.01em;
}

code, pre, .file-view, .lines-code, .ui.segment code,
.monospace, tt, kbd, samp {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Consolas, monospace;
}

/* ── Rodapé enxuto ───────────────────────────────────────────────────
   O rodapé nativo mostra "Powered by Forgejo", tempo de render, seletor de
   idioma e Licenças — ruído para uso interno. Mantemos só o link da API,
   que é o único útil aqui. Esconder em vez de remover: o link continua
   existindo, e uma atualização do Forgejo não reintroduz o resto. */
.page-footer .left-links,
.page-footer .language,
.page-footer .right-links a[href="/assets/licenses.txt"] {
  display: none !important;
}

/* ── Polimento global ── */
/* ═══════════════════════════════════════════════════════════════════════
   Polimento premium — aplica a TODAS as páginas (não só a home).
   Detalhes de coesão no espírito Linear/Vercel: foco intencional, sombras
   consistentes, seleção da marca, scrollbar discreta, transições suaves.
   Conservador de propósito: mexe só em superfícies e estados, nunca em
   layout/grid do Forgejo, para não quebrar telas internas.
   Tudo em CSS puro — nada externo.
   ═══════════════════════════════════════════════════════════════════════ */

/* Seleção de texto na cor da marca */
::selection {
  background: var(--color-primary-alpha-30);
  color: var(--color-text);
}

/* Scrollbar discreta e coerente com o tema (WebKit/Blink) */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-secondary) transparent;
}
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: var(--color-secondary);
  border-radius: 999px;
  border: 3px solid var(--color-body);
}
::-webkit-scrollbar-thumb:hover { background: var(--color-primary); }

/* Foco intencional: anel verde suave nos campos, em vez do padrão do browser.
   Premium = o foco é visível e da marca, não um contorno azul de sistema. */
input:focus,
textarea:focus,
.ui.input > input:focus,
.ui.form input:focus,
.ui.form textarea:focus,
.ui.selection.dropdown:focus,
.ui.search > .results ~ input:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px var(--color-primary-alpha-20) !important;
}

/* Transições suaves em elementos interativos (curva do design da home) */
a,
.ui.button,
.item,
.repo-list .flex-item,
.ui.card {
  transition: color .18s ease, background-color .18s ease,
              border-color .18s ease, box-shadow .18s ease;
}

/* Sombra sutil e consistente nas superfícies elevadas.
   Uma só linguagem de profundidade em toda a aplicação. */
.ui.segment,
.ui.card,
.ui.attached.segment,
.repository.file.list .ui.segment,
.markup {
  box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.06);
}

/* Cartões de repositório (lista /explore): elevam-se levemente ao passar o mouse */
.repo-list .flex-item {
  border-radius: 10px;
}
.repo-list .flex-item:hover {
  box-shadow: 0 2px 6px rgba(0,0,0,.06), 0 12px 32px rgba(0,0,0,.10);
  transform: translateY(-1px);
}

/* Barra de navegação secundária (abas Repositórios / Usuários / Organizações,
   abas dentro de um repo): o item ativo ganha o filete verde da marca. */
.ui.secondary.pointing.menu .active.item,
.ui.tabular.menu .active.item {
  border-color: var(--color-primary) !important;
  color: var(--color-text) !important;
}

/* Títulos de página em Fraunces, alinhados à home (reforça o que o tema já faz) */
.repository .header-wrapper h1,
.dashboard h1,
.user.profile h1,
.page-content h1.ui.header {
  font-family: 'Fraunces', Georgia, serif;
  letter-spacing: -0.01em;
}

/* Botões primários herdam a mesma profundidade do botão da home */
.ui.primary.button {
  box-shadow: 0 1px 2px rgba(0,0,0,.16), 0 6px 18px var(--color-primary-alpha-20);
}
.ui.primary.button:hover {
  transform: translateY(-1px);
}

/* ── Autofill do navegador em tema escuro ────────────────────────────
   Ao preencher automaticamente, o Chrome aplica um fundo claro próprio e
   uma cor de texto que ignora o tema — no escuro, texto ilegível (o campo
   de senha "branco" na tela de login). O truque do box-shadow inset cobre
   esse fundo com a cor real do input; text-fill-color força o texto certo.
   Usa as variáveis do tema, então vale para claro e escuro. */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: var(--color-input-text) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--color-input-background) inset !important;
  box-shadow: 0 0 0 1000px var(--color-input-background) inset !important;
  caret-color: var(--color-input-text) !important;
  border-color: var(--color-input-border) !important;
  transition: background-color 9999s ease-out 0s !important; /* impede o flash amarelo */
}

/* Garantia extra: texto e cursor legíveis em qualquer input do tema */
input, textarea, .ui.input > input, .ui.form input, .ui.form textarea {
  color: var(--color-input-text);
  caret-color: var(--color-primary);
}
/* ── Home ARUKHAN ── */
/* ── Home ARUKHAN ────────────────────────────────────────────────────
   Estiliza o template branding/forgejo/templates/home.tmpl.
   Neutro quanto ao tema: usa as variáveis do Forgejo (--color-text,
   --color-primary, etc.), então funciona no claro e no escuro. */

.arukhan-landing {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 1.5rem 4rem;
}

/* ── Herói ──────────────────────────────────────────────────────────── */
.arukhan-hero {
  text-align: center;
  padding: 4.5rem 0 3.5rem;
}

.arukhan-symbol {
  width: 92px;
  height: auto;
  opacity: 0.95;
  margin-bottom: 2.25rem;
  filter: drop-shadow(0 4px 24px rgba(47, 122, 89, 0.16));
}

.arukhan-title {
  margin: 0;
  color: var(--color-text);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.35rem;
}

/* "Repositório" — sobretítulo discreto e espaçado acima do wordmark */
.arukhan-kicker-word {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 0.78rem;
  letter-spacing: 0.52em;
  /* compensa o tracking à direita p/ manter a ótica centralizada */
  text-indent: 0.52em;
  color: var(--color-text-light-3);
}

/* Wordmark ARUKHAN — SVG oficial, herda a cor do texto via currentColor.
   Contido de propósito: um wordmark premium respira, não preenche a tela. */
.arukhan-wordmark {
  display: block;
  width: min(320px, 62vw);
  height: auto;
  color: var(--color-text);
}

.arukhan-kicker {
  font-family: 'Outfit', system-ui, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.34em;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--color-primary);
  margin: 2.75rem 0 0;
}

.arukhan-lede {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(1.15rem, 2.4vw, 1.55rem);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-text-light-1);
  margin: 2rem auto 0;
  max-width: 34ch;
}

.arukhan-lede strong {
  color: var(--color-text);
  font-weight: 600;
}

.arukhan-sep {
  color: var(--color-primary);
  margin: 0 0.5rem;
}

/* ── Epígrafe ───────────────────────────────────────────────────────── */
.arukhan-epigraph {
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-size: clamp(1.05rem, 2.2vw, 1.4rem);
  line-height: 1.55;
  color: var(--color-text-light-1);
  max-width: 42ch;
  margin: 2.25rem auto 0;
  padding: 1.6rem 0 0;
  border: 0;
  position: relative;
}
.arukhan-epigraph::before {
  content: "";
  display: block;
  width: 44px;
  height: 2px;
  background: var(--color-primary);
  margin: 0 auto 1.4rem;
}

/* ── Ações ──────────────────────────────────────────────────────────── */
.arukhan-actions {
  display: flex;
  gap: 0.85rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 2.5rem;
}

.arukhan-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.7rem 1.7rem;
  border-radius: 8px;
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 500;
  font-size: 0.98rem;
  letter-spacing: 0.01em;
  transition: all 0.18s ease;
  border: 1px solid transparent;
}

.arukhan-btn-primary {
  background: var(--color-primary);
  color: var(--color-primary-contrast) !important;
}
.arukhan-btn-primary:hover {
  background: var(--color-primary-dark-2);
  transform: translateY(-1px);
}

.arukhan-btn-ghost {
  border-color: var(--color-secondary);
  color: var(--color-text) !important;
}
.arukhan-btn-ghost:hover {
  border-color: var(--color-primary);
  color: var(--color-primary) !important;
}

/* ── Pilares ────────────────────────────────────────────────────────── */
.arukhan-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin-top: 2rem;
  padding-top: 3.5rem;
  border-top: 1px solid var(--color-secondary);
}

.arukhan-pillars section {
  text-align: left;
}

.arukhan-pillars h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 1.18rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 0.6rem;
  position: relative;
  padding-top: 1rem;
}

/* filete cobre-verde acima de cada pilar */
.arukhan-pillars h3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 2px;
  background: var(--color-primary);
}

.arukhan-pillars p {
  font-size: 0.96rem;
  line-height: 1.6;
  color: var(--color-text-light-2);
  margin: 0;
}

.arukhan-footnote {
  text-align: center;
  margin-top: 3.5rem;
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-text-light-3);
}

/* ── Responsivo ─────────────────────────────────────────────────────── */
@media (max-width: 720px) {
  .arukhan-pillars {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .arukhan-hero {
    padding: 3rem 0 2.5rem;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   Refinamentos premium — inspiração: Linear / Vercel Geist / Resend.
   Princípios: profundidade sutil no fundo, entrada com movimento discreto,
   divisores que se dissolvem, pontuação tipográfica editorial.
   Tudo em CSS puro — nada externo, respeita a auto-suficiência.
   ═══════════════════════════════════════════════════════════════════════ */

/* Profundidade: um halo radial muito sutil atrás do símbolo, em vez de
   preto chapado. Dark premium quase nunca é #000 uniforme. */
.arukhan-landing {
  position: relative;
}
.arukhan-landing::before {
  content: "";
  position: absolute;
  top: -4rem;
  left: 50%;
  transform: translateX(-50%);
  width: min(720px, 90vw);
  height: 520px;
  background: radial-gradient(
    ellipse at center top,
    var(--color-primary-alpha-10) 0%,
    transparent 68%
  );
  pointer-events: none;
  z-index: 0;
}
.arukhan-hero { position: relative; z-index: 1; }

/* Halo do símbolo mais suave e coerente com o fundo */
.arukhan-symbol {
  filter: drop-shadow(0 6px 34px rgba(47, 122, 89, 0.22));
}

/* Aspas editoriais: uma aspa decorativa grande, em verde translúcido,
   como pull-quotes de revista. Substitui o filete acima da epígrafe. */
.arukhan-epigraph::before {
  content: "\201C";              /* aspa dupla de abertura */
  display: block;
  width: auto;
  height: auto;
  background: none;
  margin: 0 auto -0.6rem;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 3.4rem;
  line-height: 1;
  color: var(--color-primary);
  opacity: 0.45;
}
/* remove as aspas literais do texto, já que a decorativa faz o papel */
.arukhan-epigraph { quotes: none; }

/* Divisor dos pilares: linha que se dissolve nas pontas (não corta seco) */
.arukhan-pillars {
  border-top: 0;
  position: relative;
}
.arukhan-pillars::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    var(--color-secondary) 22%,
    var(--color-secondary) 78%,
    transparent
  );
}

/* Botão primário com leve profundidade e transição mais fina */
.arukhan-btn-primary {
  box-shadow: 0 1px 2px rgba(0,0,0,.18), 0 8px 24px var(--color-primary-alpha-20);
}
.arukhan-btn { transition: transform .2s cubic-bezier(.22,.78,.24,1), background .2s, border-color .2s, box-shadow .2s; }

/* ── Entrada: fade + subida discreta, escalonada (stagger) ──────────────
   O tipo de movimento que Linear/Vercel usam — presente mas quase
   subliminar. Desligado para quem prefere menos animação. */
@media (prefers-reduced-motion: no-preference) {
  .arukhan-hero > *,
  .arukhan-pillars > section,
  .arukhan-footnote {
    opacity: 0;
    animation: arukhan-rise 0.7s cubic-bezier(.22,.78,.24,1) forwards;
  }
  .arukhan-symbol            { animation-delay: 0.02s; }
  .arukhan-title             { animation-delay: 0.10s; }
  .arukhan-epigraph          { animation-delay: 0.18s; }
  .arukhan-actions           { animation-delay: 0.26s; }
  .arukhan-kicker            { animation-delay: 0.34s; }
  .arukhan-pillars > section:nth-child(1) { animation-delay: 0.44s; }
  .arukhan-pillars > section:nth-child(2) { animation-delay: 0.52s; }
  .arukhan-pillars > section:nth-child(3) { animation-delay: 0.60s; }
  .arukhan-footnote          { animation-delay: 0.70s; }
}
@keyframes arukhan-rise {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
