/* deepgo-dark — Forgejo theme matching deepgo-web's palette.
 * Based on forgejo-dark's variable layout, but:
 *   - Neutral grays = Tailwind gray-* (not forgejo's steel-* blue-grays)
 *   - Primary = Tailwind emerald-* (not forgejo's orange)
 */

:root {
    /* Neutral palette — Tailwind gray-*, mapped to forgejo's steel-* slots */
    --steel-900: #030712;  /* gray-950 — deepest background */
    --steel-850: #0a0f1a;
    --steel-800: #111827;  /* gray-900 — body background */
    --steel-750: #151d2f;
    --steel-700: #1f2937;  /* gray-800 — card/box background */
    --steel-650: #2a333f;
    --steel-600: #374151;  /* gray-700 — borders, hover */
    --steel-550: #424d5c;
    --steel-500: #4b5563;  /* gray-600 */
    --steel-450: #5a6270;
    --steel-400: #6b7280;  /* gray-500 — muted text */
    --steel-350: #858b95;
    --steel-300: #9ca3af;  /* gray-400 — secondary text */
    --steel-250: #b3bac4;
    --steel-200: #d1d5db;  /* gray-300 */
    --steel-150: #e2e5eb;
    --steel-100: #f3f4f6;  /* gray-100 — primary text */

    --is-dark-theme: true;

    /* Primary — Tailwind emerald-* */
    --color-primary: #10b981;             /* emerald-500 */
    --color-primary-contrast: #030712;    /* gray-950 for text on emerald */
    --color-primary-dark-1: #34d399;      /* emerald-400 — hover/emphasis on dark bg */
    --color-primary-dark-2: #6ee7b7;      /* emerald-300 */
    --color-primary-dark-3: #a7f3d0;      /* emerald-200 */
    --color-primary-dark-4: #d1fae5;      /* emerald-100 */
    --color-primary-dark-5: #ecfdf5;      /* emerald-50 */
    --color-primary-dark-6: #ecfdf5;
    --color-primary-dark-7: #ecfdf5;
    --color-primary-light-1: #059669;     /* emerald-600 */
    --color-primary-light-2: #047857;     /* emerald-700 */
    --color-primary-light-3: #065f46;     /* emerald-800 */
    --color-primary-light-4: #064e3b;     /* emerald-900 */
    --color-primary-light-5: #052e16;
    --color-primary-light-6: #022c22;
    --color-primary-light-7: #022c22;

    --color-primary-alpha-10: #10b98119;
    --color-primary-alpha-20: #10b98133;
    --color-primary-alpha-30: #10b9814b;
    --color-primary-alpha-40: #10b98166;
    --color-primary-alpha-50: #10b98180;
    --color-primary-alpha-60: #10b98199;
    --color-primary-alpha-70: #10b981b3;
    --color-primary-alpha-80: #10b981cc;
    --color-primary-alpha-90: #10b981e1;

    --color-primary-hover: var(--color-primary-dark-1);
    --color-primary-active: var(--color-primary-light-1);

    /* Secondary follows steel palette */
    --color-secondary: var(--steel-700);
    --color-secondary-dark-1: var(--steel-550);
    --color-secondary-dark-2: var(--steel-500);
    --color-secondary-dark-3: var(--steel-450);
    --color-secondary-dark-4: var(--steel-400);
    --color-secondary-dark-5: var(--steel-350);
    --color-secondary-dark-6: var(--steel-300);
    --color-secondary-dark-7: var(--steel-250);
    --color-secondary-dark-8: var(--steel-200);
    --color-secondary-dark-9: var(--steel-150);
    --color-secondary-dark-10: var(--steel-100);
    --color-secondary-dark-11: var(--steel-100);
    --color-secondary-dark-12: var(--steel-100);
    --color-secondary-dark-13: var(--steel-100);
    --color-secondary-light-1: var(--steel-650);
    --color-secondary-light-2: var(--steel-700);
    --color-secondary-light-3: var(--steel-750);
    --color-secondary-light-4: var(--steel-800);
    --color-secondary-alpha-10: #2a333f19;
    --color-secondary-alpha-20: #2a333f33;
    --color-secondary-alpha-30: #2a333f4b;
    --color-secondary-alpha-40: #2a333f66;
    --color-secondary-alpha-50: #2a333f80;
    --color-secondary-alpha-60: #2a333f99;
    --color-secondary-alpha-70: #2a333fb3;
    --color-secondary-alpha-80: #2a333fcc;
    --color-secondary-alpha-90: #2a333fe1;
    --color-secondary-hover: var(--color-secondary-light-1);
    --color-secondary-active: var(--color-secondary-light-2);

    /* Console/code blocks */
    --color-console-fg: #f3f4f6;
    --color-console-fg-subtle: #9ca3af;
    --color-console-bg: #0a0f1a;
    --color-console-border: #374151;
    --color-console-hover-bg: #ffffff10;
    --color-console-active-bg: #374151;
    --color-console-menu-bg: #1f2937;
    --color-console-menu-border: #4b5563;

    /* Accent colors — kept mostly neutral but consistent with Tailwind */
    --color-red: #dc2626;
    --color-orange: #ea580c;
    --color-yellow: #ca8a04;
    --color-olive: #84cc16;
    --color-green: var(--color-primary);
    --color-teal: #14b8a6;
    --color-blue: #2563eb;
    --color-violet: #7c3aed;
    --color-purple: #9333ea;
    --color-pink: #db2777;
    --color-brown: #a47252;
    --color-grey: var(--steel-500);
    --color-black: #030712;

    --color-red-light: #ef4444;
    --color-orange-light: #f97316;
    --color-yellow-light: #eab308;
    --color-olive-light: #a3e635;
    --color-green-light: var(--color-primary-dark-1);
    --color-teal-light: #2dd4bf;
    --color-blue-light: #3b82f6;
    --color-violet-light: #8b5cf6;
    --color-purple-light: #a855f7;
    --color-pink-light: #ec4899;
    --color-brown-light: #94674a;
    --color-grey-light: var(--steel-300);
    --color-black-light: var(--steel-700);

    /* Status / badge / feedback */
    --color-red-dark-1: #b91c1c;
    --color-orange-dark-1: #c2410c;
    --color-yellow-dark-1: #a16207;
    --color-green-dark-1: var(--color-primary-light-1);
    --color-blue-dark-1: #1d4ed8;

    --color-diff-removed-word-bg: #7f1d1d;
    --color-diff-added-word-bg: #14532d;
    --color-diff-removed-row-bg: #3f0e0e;
    --color-diff-moved-row-bg: #78350f;
    --color-diff-added-row-bg: #0f2e1a;
    --color-diff-removed-row-border: #7f1d1d;
    --color-diff-moved-row-border: #92400e;
    --color-diff-added-row-border: #14532d;
    --color-diff-inactive: var(--steel-650);

    --color-error-border: #7f1d1d;
    --color-error-bg: #3f1111;
    --color-error-bg-active: #581515;
    --color-error-bg-hover: #581515;
    --color-error-text: #fee2e2;

    --color-success-border: var(--color-primary-light-2);
    --color-success-bg: var(--color-primary-light-4);
    --color-success-text: var(--color-primary-dark-2);

    --color-warning-border: #92400e;
    --color-warning-bg: #451a03;
    --color-warning-text: #fde68a;

    --color-info-border: #1e40af;
    --color-info-bg: #172554;
    --color-info-text: var(--steel-100);

    /* Body + text + structure */
    --color-body: var(--steel-800);
    --color-box-header: var(--steel-700);
    --color-box-body: var(--steel-800);
    --color-box-body-highlight: var(--steel-750);
    --color-text-dark: #ffffff;
    --color-text: var(--steel-100);
    --color-text-light: var(--steel-150);
    --color-text-light-1: var(--steel-150);
    --color-text-light-2: var(--steel-200);
    --color-text-light-3: var(--steel-200);
    --color-footer: var(--steel-900);
    --color-timeline: var(--steel-650);

    /* Inputs */
    --color-input-text: var(--steel-100);
    --color-input-background: var(--steel-750);
    --color-input-toggle-background: var(--steel-650);
    --color-input-border: var(--steel-600);
    --color-input-border-hover: var(--steel-500);

    /* Header / nav */
    --color-header-wrapper: var(--steel-900);
    --color-header-wrapper-transparent: #0307120;
    --color-nav-bg: var(--steel-900);
    --color-nav-hover-bg: var(--steel-700);
    --color-nav-text: var(--color-text);
    --color-secondary-nav-bg: var(--color-body);

    /* Misc */
    --color-light: #00000030;
    --color-light-border: #ffffff18;
    --color-hover: var(--steel-700);
    --color-active: var(--steel-650);
    --color-menu: var(--steel-800);
    --color-card: var(--steel-800);
    --fancy-card-bg: var(--steel-750);
    --fancy-card-border: var(--steel-600);
    --color-markup-table-row: #ffffff06;
    --color-markup-code-block: var(--steel-750);
    --color-markup-code-inline: var(--steel-750);
    --color-button: var(--steel-700);
    --color-code-bg: var(--steel-750);
    --color-shadow: #00000080;
    --color-secondary-bg: var(--steel-700);
    --color-text-focus: #ffffff;
    --color-expand-button: var(--steel-600);
    --color-placeholder-text: var(--color-text-light-3);
    --color-editor-line-highlight: var(--steel-700);
    --color-project-board-bg: var(--color-secondary-light-3);
    --color-project-board-dark-label: var(--color-text-light-3);
    --color-caret: var(--color-text);
    --color-reaction-bg: #ffffff10;
    --color-reaction-active-bg: var(--color-primary-alpha-30);
    --color-reaction-hover-bg: var(--color-primary-alpha-40);
    --color-tooltip-text: #ffffff;
    --color-tooltip-bg: #000000f0;

    --color-label-text: #ffffff;
    --color-label-bg: var(--steel-600);
    --color-label-hover-bg: var(--steel-550);
    --color-label-active-bg: var(--steel-500);
    --color-label-bg-alt: var(--steel-550);

    --color-accent: var(--color-primary);
    --color-small-accent: var(--color-primary-light-3);
    --color-highlight-fg: var(--color-primary-dark-1);
    --color-highlight-bg: var(--color-primary-alpha-20);

    --color-overlay-backdrop: #03071290;

    --checkerboard-color-1: #1f2937;
    --checkerboard-color-2: #111827;

    accent-color: var(--color-accent);
    color-scheme: dark;
}

/* --- deepgo customizations ------------------------------------------------ */

/* Hide top navbar + footer on auth pages (signin, signup, forgot password).
 * Uses :has() selector on body. Logged-in users still see the full navbar
 * everywhere else because the .page-content classes differ.
 */
body:has(.page-content.user.signin) #navbar,
body:has(.page-content.user.signup) #navbar,
body:has(.page-content.user.activate) #navbar,
body:has(.page-content.user.forgot_password) #navbar,
body:has(.page-content.user.reset_password) #navbar,
body:has(.page-content.user.link) #navbar {
    display: none !important;
}

body:has(.page-content.user.signin) footer,
body:has(.page-content.user.signup) footer,
body:has(.page-content.user.forgot_password) footer,
body:has(.page-content.user.reset_password) footer {
    display: none !important;
}

/* Center the login form vertically */
body:has(.page-content.user.signin) .full.height,
body:has(.page-content.user.signup) .full.height {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1rem;
}

/* Hide the entire "Forgot password?" segment (outer container, not just
 * the field) to avoid an empty box. Private single-user instance — no
 * password recovery. */
.ui.attached.segment:has(a[href="/user/forgot_password"]) {
    display: none !important;
}

/* Hide the forgejo logo in the navbar — this is our private instance,
 * the forgejo branding isn't meaningful to us. */
#navbar-logo {
    display: none !important;
}
