/*
 * Mo Ḃrú dark theme for Forgejo
 *
 * Target: Forgejo 15.0.4
 *
 * Canonical sources:
 * - branding/colour-tokens.md
 * - branding/status-tokens.md
 * - branding/ogma/theme-map.md
 */

:root {
    color-scheme: dark;
    --is-dark-theme: true;

    /* Mo Ḃrú design tokens */
    --mb-background: #0b1512;
    --mb-surface: #142720;
    --mb-surface-raised: #183027;
    --mb-border: rgba(143, 198, 168, 0.18);
    --mb-border-hover: rgba(143, 198, 168, 0.34);

    --mb-text: #edf3ef;
    --mb-text-secondary: #d6e1da;
    --mb-text-muted: #9caf9f;

    --mb-primary: #6ea889;
    --mb-primary-hover: #8fc6a8;
    --mb-primary-active: #315f4c;
    --mb-primary-contrast: #08100e;
    --mb-focus-ring: #8fc6a8;

    --mb-secondary-accent: #b08a52;

    --mb-success: #4f8a5b;
    --mb-information: #5f8fb8;
    --mb-warning: #b7924a;
    --mb-danger: #b85a5a;

    /* Primary emerald scale */
    --color-primary: var(--mb-primary);
    --color-primary-contrast: var(--mb-primary-contrast);

    --color-primary-dark-1: #7bb394;
    --color-primary-dark-2: var(--mb-primary-hover);
    --color-primary-dark-3: #a4d2b8;
    --color-primary-dark-4: #b5ddc7;
    --color-primary-dark-5: #c8e7d5;
    --color-primary-dark-6: #daf0e3;
    --color-primary-dark-7: #edf8f1;

    --color-primary-light-1: #5f977a;
    --color-primary-light-2: var(--mb-primary-active);
    --color-primary-light-3: #294f40;
    --color-primary-light-4: #234337;
    --color-primary-light-5: #1d372e;
    --color-primary-light-6: #172c25;
    --color-primary-light-7: #12221d;

    --color-primary-alpha-10: rgba(110, 168, 137, 0.10);
    --color-primary-alpha-20: rgba(110, 168, 137, 0.20);
    --color-primary-alpha-30: rgba(110, 168, 137, 0.30);
    --color-primary-alpha-40: rgba(110, 168, 137, 0.40);
    --color-primary-alpha-50: rgba(110, 168, 137, 0.50);
    --color-primary-alpha-60: rgba(110, 168, 137, 0.60);
    --color-primary-alpha-70: rgba(110, 168, 137, 0.70);
    --color-primary-alpha-80: rgba(110, 168, 137, 0.80);
    --color-primary-alpha-90: rgba(110, 168, 137, 0.90);

    --color-primary-hover: var(--mb-primary-hover);
    --color-primary-active: var(--mb-primary-active);

    /* Foundation and surfaces */
    --color-body: var(--mb-background);
    --color-footer: #08100e;

    --color-box-body: var(--mb-surface);
    --color-box-header: var(--mb-surface-raised);
    --color-box-body-highlight: #1d382e;

    --color-card: var(--mb-surface);
    --fancy-card-bg: var(--mb-surface-raised);
    --fancy-card-border: var(--mb-border);

    --color-menu: var(--mb-surface-raised);
    --color-secondary-bg: var(--mb-surface-raised);

    --color-hover: #203c31;
    --color-active: #244537;

    --color-light: rgba(255, 255, 255, 0.04);
    --color-light-border: var(--mb-border);

    --color-shadow: rgba(0, 0, 0, 0.38);
    --color-overlay-backdrop: rgba(4, 9, 7, 0.78);

    /* Navigation */
    --color-header-wrapper: #0d1915;
    --color-header-wrapper-transparent: rgba(13, 25, 21, 0);
    --color-nav-bg: #08100e;
    --color-nav-hover-bg: #203c31;
    --color-secondary-nav-bg: var(--mb-background);

    /* Typography */
    --color-text-dark: var(--mb-text);
    --color-text: var(--mb-text);
    --color-text-light: var(--mb-text-secondary);
    --color-text-light-1: var(--mb-text-secondary);
    --color-text-light-2: var(--mb-text-muted);
    --color-text-light-3: #83978a;
    --color-text-focus: #ffffff;

    --color-input-text: var(--mb-text);
    --color-placeholder-text: #83978a;
    --color-caret: var(--mb-text);

    /* Accent and highlights */
    --color-accent: var(--mb-primary);
    --color-small-accent: var(--mb-primary-hover);
    --color-highlight-fg: var(--mb-primary-hover);
    --color-highlight-bg: var(--color-primary-alpha-20);

    --color-reaction-bg: rgba(255, 255, 255, 0.05);
    --color-reaction-active-bg: var(--color-primary-alpha-30);
    --color-reaction-hover-bg: var(--color-primary-alpha-40);

    accent-color: var(--mb-primary);

    /* Forms and neutral controls */
    --color-input-background: #1b342b;
    --color-input-toggle-background: #1b342b;
    --color-input-border: var(--mb-border);
    --color-input-border-hover: var(--mb-primary);

    --color-button: #234337;
    --color-secondary: #203c31;
    --color-secondary-hover: #294f40;
    --color-secondary-active: #315f4c;

    --color-label-text: var(--mb-text);
    --color-label-bg: #234337;
    --color-label-hover-bg: #294f40;
    --color-label-active-bg: #315f4c;
    --color-label-bg-alt: #294f40;

    /* Markup, code and editor surfaces */
    --color-code-bg: #10201b;
    --color-markup-code-block: #0f1d18;
    --color-markup-code-inline: #0d1915;
    --color-markup-table-row: rgba(255, 255, 255, 0.025);
    --color-editor-line-highlight: #1d382e;
    --color-project-board-bg: #10201b;

    /* Tooltips and selections */
    --color-tooltip-text: #ffffff;
    --color-tooltip-bg: rgba(5, 10, 8, 0.96);

    --color-selection-bg: var(--mb-primary-hover);
    --color-selection-fg: var(--mb-primary-contrast);

    /* Console */
    --color-console-fg: var(--mb-text);
    --color-console-fg-subtle: var(--mb-text-muted);
    --color-console-bg: #0d1915;
    --color-console-border: var(--mb-border);
    --color-console-hover-bg: rgba(255, 255, 255, 0.06);
    --color-console-active-bg: #244537;
    --color-console-menu-bg: var(--mb-surface-raised);
    --color-console-menu-border: var(--mb-border-hover);

    /* Status colours */
    --color-green: var(--mb-success);
    --color-green-light: #69a978;
    --color-green-dark-1: #477c52;
    --color-green-dark-2: #3e6e48;

    --color-blue: var(--mb-information);
    --color-blue-light: #79a7ca;
    --color-blue-dark-1: #527da2;
    --color-blue-dark-2: #466d8e;

    --color-yellow: var(--mb-warning);
    --color-yellow-light: #caa75f;
    --color-yellow-dark-1: #a38242;
    --color-yellow-dark-2: #8e7139;

    --color-red: var(--mb-danger);
    --color-red-light: #ca7373;
    --color-red-dark-1: #a95050;
    --color-red-dark-2: #934646;

    --color-success-border: #5f9c6b;
    --color-success-bg: #1e3d29;
    --color-success-text: #b8dfc1;

    --color-info-border: #6f9ec2;
    --color-info-bg: #1e3344;
    --color-info-text: #c8deee;

    --color-warning-border: #c29c50;
    --color-warning-bg: #46381d;
    --color-warning-text: #ead7a5;

    --color-error-border: #c36b6b;
    --color-error-bg: #492626;
    --color-error-bg-active: #603030;
    --color-error-bg-hover: #603030;
    --color-error-text: #f2cccc;

    --color-danger-bg: #492626;

    --color-green-badge: var(--mb-success);
    --color-green-badge-bg: rgba(79, 138, 91, 0.16);
    --color-green-badge-hover-bg: rgba(79, 138, 91, 0.28);

    --color-yellow-badge: var(--mb-warning);
    --color-yellow-badge-bg: rgba(183, 146, 74, 0.16);
    --color-yellow-badge-hover-bg: rgba(183, 146, 74, 0.28);

    --color-red-badge: var(--mb-danger);
    --color-red-badge-bg: rgba(184, 90, 90, 0.16);
    --color-red-badge-hover-bg: rgba(184, 90, 90, 0.28);

    /* Presence indicators */
    --color-indicator-offline: var(--mb-text-muted);
    --color-indicator-offline-20: rgba(156, 175, 159, 0.10);

    --color-indicator-idle: var(--mb-success);
    --color-indicator-idle-20: rgba(79, 138, 91, 0.10);

    --color-indicator-active: var(--mb-information);
    --color-indicator-active-20: rgba(95, 143, 184, 0.20);

    /* Components intentionally kept close to Forgejo defaults */
    --color-timeline: #315f4c;
    --color-expand-button: #294f40;

    --checkerboard-color-1: #294038;
    --checkerboard-color-2: #1d2e28;
}

/* Accessibility refinements */
:focus-visible {
    outline-color: var(--mb-focus-ring);
}

::selection {
    background: var(--color-selection-bg);
    color: var(--color-selection-fg);
}
