/* Storm Developments — Forgejo Theme Overrides
   Reskins Forgejo's dark theme to match stormdevelopments.ca
   No HTML changes — CSS class overrides only */

:root {
    --storm-electric: #00d4ff;
    --storm-primary: #1e90ff;
    --storm-dark: #050505;
    --storm-surface: #0a0a0a;
    --storm-surface-2: #111111;
    --storm-surface-3: #1a1a1a;
    --storm-border: #2d3748;
    --storm-border-light: rgba(30, 144, 255, 0.15);
    --storm-text: #e5e5e5;
    --storm-text-muted: #9ca3af;
    --storm-text-dim: #6b7280;
    --storm-gold: #fcd34d;
    --storm-green: #10b981;
}

/* ══════════════════════════════════════
   BASE / BODY
   ══════════════════════════════════════ */

body {
    background: var(--storm-dark) !important;
    color: var(--storm-text) !important;
}

.full.height {
    background: var(--storm-dark) !important;
}

/* ══════════════════════════════════════
   FORGEJO NAVBAR (below Storm nav)
   ══════════════════════════════════════ */

#navbar {
    background: var(--storm-surface) !important;
    border-bottom: 1px solid var(--storm-border) !important;
    box-shadow: none !important;
}

/* Nav items (Issues, Pull requests, Milestones, Explore) */
#navbar .item {
    color: var(--storm-text-muted) !important;
    transition: color 0.2s ease;
}

#navbar .item:hover {
    color: #ffffff !important;
    background: rgba(30, 144, 255, 0.08) !important;
}

#navbar .item.active {
    color: var(--storm-electric) !important;
}

#navbar-logo {
    display: none !important;
}
/* Forgejo logo in navbar */
#navbar-logo img {
    opacity: 0.7;
    transition: opacity 0.2s;
}

#navbar-logo:hover img {
    opacity: 1;
}

/* Notification bell */
#navbar .notification_count {
    background: var(--storm-primary) !important;
}

/* User dropdown & create dropdown */
#navbar .ui.dropdown .menu {
    background: var(--storm-surface-2) !important;
    border: 1px solid var(--storm-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}

#navbar .ui.dropdown .menu .item {
    color: var(--storm-text-muted) !important;
}

#navbar .ui.dropdown .menu .item:hover {
    color: var(--storm-electric) !important;
    background: rgba(30, 144, 255, 0.1) !important;
}

#navbar .ui.dropdown .menu .divider {
    border-color: var(--storm-border) !important;
}

#navbar .ui.dropdown .menu .ui.header {
    color: var(--storm-text-dim) !important;
}

/* ══════════════════════════════════════
   SECONDARY NAV / CONTEXT SWITCHER
   ══════════════════════════════════════ */

.secondary-nav {
    background: var(--storm-surface) !important;
    border-bottom-color: var(--storm-border) !important;
}

.secondary-nav .ui.secondary.menu .item {
    color: var(--storm-text-muted) !important;
}

.secondary-nav .ui.secondary.menu .item:hover {
    color: #ffffff !important;
}

/* Context user dropdown */
.ui.dropdown .context.menu {
    background: var(--storm-surface-2) !important;
    border: 1px solid var(--storm-border) !important;
}

.ui.dropdown .context.menu .item {
    color: var(--storm-text-muted) !important;
}

.ui.dropdown .context.menu .item:hover,
.ui.dropdown .context.menu .item.active {
    color: var(--storm-electric) !important;
    background: rgba(30, 144, 255, 0.08) !important;
}

/* ══════════════════════════════════════
   DASHBOARD / MAIN CONTENT
   ══════════════════════════════════════ */

.page-content.dashboard {
    background: var(--storm-dark) !important;
}

/* Empty feed state */
#empty-feed {
    color: var(--storm-text-muted) !important;
}

#empty-feed h2 {
    color: var(--storm-text) !important;
}

#empty-feed .help {
    color: var(--storm-text-dim) !important;
}

#empty-feed svg {
    color: var(--storm-text-dim) !important;
    opacity: 0.5;
}

/* ══════════════════════════════════════
   LINKS — Storm electric/primary palette
   ══════════════════════════════════════ */

a {
    color: var(--storm-primary) !important;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--storm-electric) !important;
}

/* Don't override nav items already styled */
#storm-nav-bar a {
    color: inherit !important;
}

#storm-nav-bar a:hover {
    color: inherit !important;
}

/* ══════════════════════════════════════
   SIDEBAR — Repos list
   ══════════════════════════════════════ */

.dashboard-repos {
    background: var(--storm-surface) !important;
}

/* Repo search input */
.repos-search {
    background: var(--storm-surface-2) !important;
    border-color: var(--storm-border) !important;
}

.repos-search input[type="search"] {
    background: var(--storm-surface-3) !important;
    color: var(--storm-text) !important;
    border-color: var(--storm-border) !important;
}

.repos-search input[type="search"]:focus {
    border-color: var(--storm-primary) !important;
    box-shadow: 0 0 0 2px rgba(30, 144, 255, 0.15) !important;
}

.repos-search input[type="search"]::placeholder {
    color: var(--storm-text-dim) !important;
}

/* Repo filter tabs (All, Sources, Forks, Mirrors) */
.repos-filter .item {
    color: var(--storm-text-muted) !important;
}

.repos-filter .item:hover {
    color: #ffffff !important;
}

.repos-filter .item.active {
    color: var(--storm-electric) !important;
    border-color: var(--storm-electric) !important;
}

/* Tab labels (Repositories, Organizations) */
.tabs-with-labels .item {
    color: var(--storm-text-muted) !important;
}

.tabs-with-labels .item.active {
    color: var(--storm-electric) !important;
    border-color: var(--storm-electric) !important;
}

/* Grey labels / counts */
.ui.grey.label,
.ui.label {
    background: var(--storm-surface-3) !important;
    color: var(--storm-text-muted) !important;
    border: 1px solid var(--storm-border) !important;
}

/* Top attached segment */
.ui.top.attached.segment {
    background: var(--storm-surface-2) !important;
    border-color: var(--storm-border) !important;
}

/* ══════════════════════════════════════
   UI SEGMENTS & CONTAINERS
   ══════════════════════════════════════ */

.ui.segment {
    background: var(--storm-surface-2) !important;
    border-color: var(--storm-border) !important;
    box-shadow: none !important;
}

.ui.attached.segment {
    border-color: var(--storm-border) !important;
}

.ui.container {
    color: var(--storm-text) !important;
}

/* ══════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════ */

.ui.button {
    background: var(--storm-surface-3) !important;
    color: var(--storm-text-muted) !important;
    border: 1px solid var(--storm-border) !important;
    transition: all 0.2s ease;
}

.ui.button:hover {
    background: rgba(30, 144, 255, 0.1) !important;
    color: var(--storm-electric) !important;
    border-color: rgba(30, 144, 255, 0.3) !important;
}

.ui.primary.button {
    background: var(--storm-primary) !important;
    color: #ffffff !important;
    border: none !important;
}

.ui.primary.button:hover {
    background: var(--storm-electric) !important;
    color: #ffffff !important;
}

.ui.basic.button {
    background: transparent !important;
    color: var(--storm-text-muted) !important;
}

.ui.basic.button:hover {
    color: var(--storm-electric) !important;
    background: rgba(30, 144, 255, 0.05) !important;
}

/* ══════════════════════════════════════
   DROPDOWN MENUS (general)
   ══════════════════════════════════════ */

.ui.dropdown .menu {
    background: var(--storm-surface-2) !important;
    border: 1px solid var(--storm-border) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
}

.ui.dropdown .menu .item {
    color: var(--storm-text-muted) !important;
    border-color: var(--storm-border) !important;
}

.ui.dropdown .menu .item:hover {
    color: var(--storm-electric) !important;
    background: rgba(30, 144, 255, 0.08) !important;
}

.ui.dropdown .menu .item.active,
.ui.dropdown .menu .item.selected {
    color: var(--storm-electric) !important;
    background: rgba(30, 144, 255, 0.05) !important;
}

.ui.dropdown .menu .header {
    color: var(--storm-text-dim) !important;
}

.ui.dropdown .menu .divider {
    border-color: var(--storm-border) !important;
}

/* ══════════════════════════════════════
   FORMS & INPUTS
   ══════════════════════════════════════ */

.ui.input input,
.ui.form input,
.ui.form textarea,
.ui.form select {
    background: var(--storm-surface-3) !important;
    color: var(--storm-text) !important;
    border-color: var(--storm-border) !important;
}

.ui.input input:focus,
.ui.form input:focus,
.ui.form textarea:focus {
    border-color: var(--storm-primary) !important;
    box-shadow: 0 0 0 2px rgba(30, 144, 255, 0.15) !important;
}

/* Checkboxes */
.ui.checkbox label {
    color: var(--storm-text-muted) !important;
}

/* ══════════════════════════════════════
   REPO PAGES (for when repos exist)
   ══════════════════════════════════════ */

/* Repo header */
.repo-header {
    background: var(--storm-surface) !important;
    border-bottom: 1px solid var(--storm-border) !important;
}

/* File list / tree */
#repo-files-table {
    border-color: var(--storm-border) !important;
}

#repo-files-table .name {
    color: var(--storm-primary) !important;
}

#repo-files-table .name:hover {
    color: var(--storm-electric) !important;
}

/* Commit info bar */
.ui.top.attached.header {
    background: var(--storm-surface-2) !important;
    border-color: var(--storm-border) !important;
    color: var(--storm-text) !important;
}

/* README rendering */
.markup {
    color: var(--storm-text) !important;
}

.markup h1, .markup h2, .markup h3,
.markup h4, .markup h5, .markup h6 {
    color: #ffffff !important;
    border-bottom-color: var(--storm-border) !important;
}

.markup code {
    background: var(--storm-surface-3) !important;
    color: var(--storm-electric) !important;
    border: 1px solid var(--storm-border) !important;
}

.markup pre {
    background: var(--storm-surface-2) !important;
    border: 1px solid var(--storm-border) !important;
}

.markup a {
    color: var(--storm-primary) !important;
}

.markup a:hover {
    color: var(--storm-electric) !important;
}

.markup blockquote {
    border-left-color: var(--storm-primary) !important;
    color: var(--storm-text-muted) !important;
}

.markup table th {
    background: var(--storm-surface-2) !important;
}

.markup table td,
.markup table th {
    border-color: var(--storm-border) !important;
}

/* ══════════════════════════════════════
   ISSUE / PR PAGES
   ══════════════════════════════════════ */

.timeline-item .timeline-item-event {
    color: var(--storm-text-muted) !important;
}

.comment-header {
    background: var(--storm-surface-2) !important;
    border-color: var(--storm-border) !important;
}

.comment-header .text {
    color: var(--storm-text-muted) !important;
}

/* ══════════════════════════════════════
   FOOTER
   ══════════════════════════════════════ */

body > .page-content + footer,
footer,
.footer {
    background: var(--storm-surface) !important;
    border-top: 1px solid var(--storm-border-light) !important;
    color: var(--storm-text-dim) !important;
}

footer a {
    color: var(--storm-text-muted) !important;
}

footer a:hover {
    color: var(--storm-electric) !important;
}

/* "Powered by Forgejo" */
.powered-by {
    color: var(--storm-text-dim) !important;
}

/* ══════════════════════════════════════
   FLASH MESSAGES & ALERTS
   ══════════════════════════════════════ */

.ui.positive.message {
    background: rgba(16, 185, 129, 0.1) !important;
    border: 1px solid rgba(16, 185, 129, 0.3) !important;
    color: var(--storm-green) !important;
}

.ui.negative.message,
.ui.error.message {
    background: rgba(239, 68, 68, 0.1) !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
    color: #ef4444 !important;
}

.ui.info.message {
    background: rgba(30, 144, 255, 0.1) !important;
    border: 1px solid rgba(30, 144, 255, 0.3) !important;
    color: var(--storm-primary) !important;
}

.ui.warning.message {
    background: rgba(245, 158, 11, 0.1) !important;
    border: 1px solid rgba(245, 158, 11, 0.3) !important;
    color: var(--storm-gold) !important;
}

/* ══════════════════════════════════════
   TOOLTIPS
   ══════════════════════════════════════ */

[data-tooltip-content]::before {
    background: var(--storm-surface-2) !important;
    color: var(--storm-text) !important;
    border: 1px solid var(--storm-border) !important;
}

/* ══════════════════════════════════════
   MISC OVERRIDES
   ══════════════════════════════════════ */

/* Horizontal dividers */
.divider,
.ui.divider {
    border-color: var(--storm-border) !important;
}

/* Selection / highlight */
::selection {
    background: rgba(30, 144, 255, 0.3);
    color: #ffffff;
}

/* Scrollbar — match Storm site */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--storm-border) var(--storm-dark);
}

*::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

*::-webkit-scrollbar-track {
    background: var(--storm-dark);
}

*::-webkit-scrollbar-thumb {
    background-color: var(--storm-border);
    border-radius: 4px;
}

*::-webkit-scrollbar-thumb:hover {
    background-color: #4b5563;
}

/* Avatar borders */
.ui.avatar {
    border: 1px solid var(--storm-border) !important;
    border-radius: 50% !important;
}

/* Tab underline color */
.ui.secondary.pointing.menu .item.active {
    border-color: var(--storm-electric) !important;
    color: var(--storm-electric) !important;
}

.ui.secondary.pointing.menu .item {
    color: var(--storm-text-muted) !important;
}

.ui.secondary.pointing.menu .item:hover {
    color: #ffffff !important;
    border-color: rgba(30, 144, 255, 0.3) !important;
}

/* Pagination */
.ui.pagination.menu .item {
    color: var(--storm-text-muted) !important;
    background: var(--storm-surface-3) !important;
    border-color: var(--storm-border) !important;
}

.ui.pagination.menu .item.active {
    background: var(--storm-primary) !important;
    color: #ffffff !important;
}

.ui.pagination.menu .item:hover {
    background: rgba(30, 144, 255, 0.1) !important;
    color: var(--storm-electric) !important;
}

/* Labels / tags */
.ui.label.basic {
    background: transparent !important;
    border-color: var(--storm-border) !important;
    color: var(--storm-text-muted) !important;
}

/* Code/diff backgrounds */
.code-view {
    background: var(--storm-surface-2) !important;
}

.lines-num {
    color: var(--storm-text-dim) !important;
    border-right-color: var(--storm-border) !important;
}

/* Empty state consistency */
.empty,
.nothing,
[class*="empty"] {
    color: var(--storm-text-dim) !important;
}

/* ══════════════════════════════════════
   SETTINGS / ADMIN PAGES
   ══════════════════════════════════════ */

.ui.vertical.menu {
    background: var(--storm-surface-2) !important;
    border-color: var(--storm-border) !important;
}

.ui.vertical.menu .item {
    color: var(--storm-text-muted) !important;
    border-color: var(--storm-border) !important;
}

.ui.vertical.menu .item:hover {
    color: #ffffff !important;
    background: rgba(30, 144, 255, 0.05) !important;
}

.ui.vertical.menu .item.active {
    color: var(--storm-electric) !important;
    border-color: var(--storm-electric) !important;
    background: rgba(30, 144, 255, 0.08) !important;
}

/* ══════════════════════════════════════
   EXPLORE / PUBLIC PAGES
   ══════════════════════════════════════ */

.explore .ui.repository.list .item {
    border-color: var(--storm-border) !important;
}

.explore .ui.repository.list .item .header {
    color: var(--storm-primary) !important;
}

.explore .ui.repository.list .item .header:hover {
    color: var(--storm-electric) !important;
}

.explore .ui.repository.list .item .description {
    color: var(--storm-text-muted) !important;
}
