/* QuantWeave palette + theme behavior for Forgejo */

/* Dark defaults */
:root {
    --bg: #020617;
    --bg-2: #020617;
    --fg: #e5edff;
    --muted: #94a3b8;
    --brand: #3b82f6;
    --accent: #22d3ee;
    --violet: #7c3aed;
    --card: #02081a;
    --shadow: rgba(15, 23, 42, 0.7);
    --radius: 18px;

    /* link colors for dark mode */
    --link: #93c5fd;
    --link-hover: #bfdbfe;
    --link-visited: #c4b5fd;
}

* {
    box-sizing: border-box;
}

html,
body {
    height: 100%;
}

/* Base text + background */
body {
    margin: 0;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu,
    Cantarell, Noto Sans, Helvetica Neue, Arial;
    color: var(--fg);
}

/* Global link styling */
a {
    color: var(--link);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(148, 163, 184, 0.7);
}

a:hover {
    color: var(--link-hover);
    text-decoration-color: currentColor;
}

a:visited {
    color: var(--link-visited);
}

/* LIGHT MODE OVERRIDES ---------------------------------- */

@media (prefers-color-scheme: light) {
    :root {
        --bg: #f8fafc;
        --bg-2: #ffffff;
        --fg: #020617;
        --muted: #64748b;
        --brand: #2563eb;
        --accent: #0ea5e9;
        --card: #ffffff;
        --shadow: rgba(15, 23, 42, 0.06);

        /* link colors for light mode */
        --link: #1d4ed8;
        --link-hover: #1d4ed8;
        --link-visited: #6d28d9;
    }

    body {
        color: var(--fg);
        background:
                radial-gradient(1200px 800px at 10% 10%, rgba(37, 99, 235, 0.08), transparent 60%),
                radial-gradient(1000px 700px at 90% -10%, rgba(14, 165, 233, 0.08), transparent 60%),
                linear-gradient(180deg, var(--bg), var(--bg-2));
    }

    /* Forgejo-ish containers (panels, repo boxes, etc.) */
    .page-content,
    .ui.segment,
    .repository .header,
    .ui.menu.secondary,
    .ui.segment.attached {
        background-color: var(--card);
        color: var(--fg);
    }

    .ui.table,
    .ui.segment,
    .ui.menu {
        border-color: rgba(148, 163, 184, 0.35);
    }

    /* Markdown / README content */
    .markdown,
    .markup {
        color: var(--fg);
    }

    .markdown pre,
    .markup pre,
    .markdown code,
    .markup code {
        background: #f1f5f9;
        border-radius: 12px;
    }

    .markdown pre,
    .markup pre {
        border: 1px solid rgba(148, 163, 184, 0.5);
    }
}

/* DARK MODE OVERRIDES ---------------------------------- */

@media (prefers-color-scheme: dark) {
    body {
        background:
                radial-gradient(1200px 800px at 10% 10%, rgba(47, 209, 180, 0.14), transparent 60%),
                radial-gradient(1000px 700px at 90% -10%, rgba(139, 92, 246, 0.12), transparent 60%),
                linear-gradient(180deg, var(--bg), var(--bg-2));
    }

    .page-content,
    .ui.segment,
    .repository .header,
    .ui.menu.secondary,
    .ui.segment.attached {
        background-color: rgba(15, 23, 42, 0.9);
        color: var(--fg);
    }

    .ui.table,
    .ui.segment,
    .ui.menu {
        border-color: rgba(148, 163, 184, 0.4);
    }

    .markdown,
    .markup {
        color: var(--fg);
    }

    .markdown pre,
    .markup pre,
    .markdown code,
    .markup code {
        background: rgba(15, 23, 42, 0.95);
        border-radius: 12px;
    }

    .markdown pre,
    .markup pre {
        border: 1px solid rgba(148, 163, 184, 0.5);
    }
}

/* Pagination boxes: keep them readable and dark-style in all cases */
.center.page.buttons .ui.borderless.pagination.menu {
    background: transparent;
}

.center.page.buttons .ui.borderless.pagination.menu .item {
    background-color: rgba(15, 23, 42, 0.9);
    color: var(--fg) !important;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.45);
    margin: 0 3px;
    padding: 6px 10px;
    font-size: 0.85rem;
}

.center.page.buttons .ui.borderless.pagination.menu .active.item {
    background-color: var(--brand);
    border-color: var(--brand);
    color: #f9fafb !important;
}

.center.page.buttons .ui.borderless.pagination.menu .disabled.item {
    opacity: 0.45;
}


/* Inline code look (works for both themes) */
.markdown code,
.markup code {
    padding: 0 3px;
    border-radius: 4px;
    background: rgba(148, 163, 184, 0.16);
}
