/*
 * Twizel Forge — modern dark theme for Forgejo 16.x
 * Custom CSS is an unsupported Forgejo override. Review after every upgrade.
 */

:root {
  color-scheme: dark;
  --devspace-bg: #11151f;
  --devspace-panel: #202738;
  --devspace-panel-raised: #252d40;
  --devspace-border: #354056;
  --devspace-purple: #a78bfa;
  --devspace-blue: #60a5fa;
  --devspace-green: #34d399;
  --devspace-text: #f1f5f9;
  --devspace-muted: #94a3b8;
}

/* Global foundations */
html, body {
  background: var(--devspace-bg) !important;
  color: var(--devspace-text);
}
body, .ui, input, textarea, select, button {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { transition: color .16s ease, background-color .16s ease, border-color .16s ease; }
a:hover { color: var(--devspace-purple); }
::selection { background: rgba(167, 139, 250, .28); }

/* Navigation and shared chrome */
#navbar, .navbar, .ui.top.attached.menu, .ui.menu {
  background: rgba(25, 32, 47, .96) !important;
  border-color: var(--devspace-border) !important;
}
#navbar .item, .navbar .item, .ui.menu .item {
  color: var(--devspace-text);
}
#navbar .item:hover, .navbar .item:hover, .ui.menu .item:hover {
  background: rgba(167, 139, 250, .09) !important;
}
.ui.menu .active.item, .ui.secondary.menu .active.item {
  color: var(--devspace-purple) !important;
}
.ui.menu .item:before { background: var(--devspace-border) !important; }

/* Main content surfaces */
.page-content, .dashboard, .repository, .user.profile {
  color: var(--devspace-text);
}
.ui.segment, .ui.segments, .ui.card, .ui.cards > .card,
.feeds .list, .dashboard .panel, .repository .segment {
  background: var(--devspace-panel) !important;
  border-color: var(--devspace-border) !important;
  color: var(--devspace-text);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}
.ui.secondary.segment, .ui.attached.segment, .ui.message {
  background: var(--devspace-panel-raised) !important;
  border-color: var(--devspace-border) !important;
  color: var(--devspace-text);
}
.ui.header, h1, h2, h3, h4, h5, h6, .ui.header .sub.header {
  color: var(--devspace-text);
}
.ui.header .sub.header, .muted, .text.grey, .ui.grey.text, .secondary {
  color: var(--devspace-muted) !important;
}
hr, .ui.divider { border-color: var(--devspace-border) !important; }

/* Forms */
.ui input, .ui.form input:not([type]), .ui.form input[type="text"],
.ui.form input[type="password"], .ui.form input[type="email"],
.ui.form textarea, .ui.form select, input, textarea {
  background: #171e2c !important;
  border-color: var(--devspace-border) !important;
  color: var(--devspace-text) !important;
}
.ui input:focus, .ui.form input:focus, .ui.form textarea:focus {
  border-color: var(--devspace-purple) !important;
  box-shadow: 0 0 0 2px rgba(167, 139, 250, .13) !important;
}
::placeholder { color: #718096 !important; opacity: 1; }

/* Buttons and labels */
.ui.button, .ui.buttons .button {
  background: #303b52 !important;
  color: var(--devspace-text) !important;
  border: 1px solid var(--devspace-border) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}
.ui.button:hover, .ui.buttons .button:hover {
  background: #3a4761 !important;
  border-color: #596783 !important;
}
.ui.primary.button, .ui.primary.buttons .button {
  background: var(--devspace-purple) !important;
  color: #11151f !important;
  border-color: var(--devspace-purple) !important;
  font-weight: 700;
}
.ui.primary.button:hover, .ui.primary.buttons .button:hover {
  background: #b9a4ff !important;
}
.ui.green.label, .ui.green.labels .label { background: #145b49 !important; color: #a7f3d0 !important; }
.ui.blue.label, .ui.blue.labels .label { background: #1e4778 !important; color: #bfdbfe !important; }
.ui.label { border-radius: 6px; }

/* Repository lists, dashboard and activity */
.dashboard .ui.repository.list > .item,
.dashboard .repository.list > .item,
.repo-list .item, .repository .repo-title,
.ui.repository.list .item {
  border-color: var(--devspace-border) !important;
}
.dashboard .ui.repository.list > .item:hover,
.dashboard .repository.list > .item:hover,
.repo-list .item:hover, .ui.repository.list .item:hover {
  background: rgba(167, 139, 250, .055) !important;
}
.dashboard .ui.header, .dashboard .divider, .dashboard .ui.list > .item {
  border-color: var(--devspace-border) !important;
}
.dashboard .dashboard-navbar, .dashboard .dashboard-repos,
.dashboard .news, .dashboard .feeds {
  color: var(--devspace-text);
}
.ui.list .list > .item, .ui.list > .item, .ui.feed > .event {
  color: var(--devspace-text);
}
.ui.feed > .event > .content .summary,
.ui.feed > .event > .content .date {
  color: var(--devspace-muted);
}

/* Tables and code */
.ui.table, .ui.table thead th, .ui.table tfoot th {
  background: var(--devspace-panel) !important;
  color: var(--devspace-text) !important;
  border-color: var(--devspace-border) !important;
}
.ui.table tbody tr:hover { background: rgba(167, 139, 250, .055) !important; }
pre, code, .highlight pre, .code-view {
  background: #151c29 !important;
  border-color: var(--devspace-border) !important;
}
.markdown:not(code), .markup { color: var(--devspace-text); }

/* Dropdowns, popups, modals and tooltips */
.ui.dropdown .menu, .ui.popup, .ui.modal, .ui-dialog {
  background: var(--devspace-panel-raised) !important;
  color: var(--devspace-text) !important;
  border-color: var(--devspace-border) !important;
}
.ui.dropdown .menu > .item, .ui.popup .item {
  color: var(--devspace-text) !important;
}
.ui.dropdown .menu > .item:hover { background: rgba(167, 139, 250, .10) !important; }
.ui.modal > .header, .ui.modal > .content, .ui.modal > .actions {
  background: var(--devspace-panel) !important;
  color: var(--devspace-text) !important;
  border-color: var(--devspace-border) !important;
}

/* Public landing page */
.devspace-home {
  max-width: 1120px;
  margin: 0 auto;
  padding: 34px 24px 22px;
}
.devspace-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(38px, 7vw, 78px) 24px;
  border: 1px solid var(--devspace-border);
  border-radius: 24px;
  text-align: center;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(96, 165, 250, .14), transparent 48%),
    radial-gradient(ellipse at 50% 100%, rgba(167, 139, 250, .12), transparent 55%),
    linear-gradient(145deg, #1a2232, #151b29 70%);
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}
.devspace-hero-inner { max-width: 720px; margin: 0 auto; }
.devspace-mark {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  margin: 0 auto 22px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--devspace-purple), var(--devspace-blue));
  box-shadow: 0 12px 32px rgba(167, 139, 250, .2);
}
.devspace-mark svg { width: 42px; height: 42px; fill: none; stroke: #11151f; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.devspace-eyebrow {
  margin: 0 0 12px;
  color: var(--devspace-blue);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
}
.devspace-title {
  margin: 0 !important;
  color: var(--devspace-text) !important;
  font-size: clamp(2.5rem, 6vw, 4.4rem) !important;
  font-weight: 800 !important;
  line-height: 1.04 !important;
  letter-spacing: -.055em;
}
.devspace-title span {
  color: var(--devspace-purple);
  background: linear-gradient(90deg, #c4b5fd, #60a5fa);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.devspace-lead {
  margin: 20px 0 26px;
  color: var(--devspace-muted);
  font-size: clamp(1rem, 2vw, 1.2rem);
}
.devspace-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.devspace-actions .button { min-height: 44px; padding: 13px 20px !important; }
.devspace-primary span { margin-left: 8px; }
.devspace-secondary { background: rgba(255,255,255,.035) !important; }
.devspace-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 22px 0 0;
}
.devspace-feature {
  padding: 24px;
  border: 1px solid var(--devspace-border);
  border-radius: 16px;
  background: linear-gradient(160deg, #202a3d, #1a2231);
}
.devspace-feature-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: 15px;
  border-radius: 12px;
  background: rgba(167, 139, 250, .13);
  color: var(--devspace-purple);
  font-size: 1.4rem;
  font-weight: 800;
}
.devspace-feature h2 { margin: 0 0 8px; font-size: 1.05rem; }
.devspace-feature p { margin: 0; color: var(--devspace-muted); line-height: 1.65; }
.devspace-home-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 24px;
  padding: 0 4px;
  color: var(--devspace-muted);
  font-size: .75rem;
}
.devspace-home-footer span:first-child { color: var(--devspace-purple); font-weight: 800; letter-spacing: .12em; }
.devspace-forgejo-note {
  max-width: 1120px;
  margin: 0 auto 24px;
  padding: 0 24px;
  color: var(--devspace-muted);
  text-align: center;
  font-size: .85rem;
}
.devspace-forgejo-note a { color: var(--devspace-purple); }

/* Small-screen refinements */
@media (max-width: 760px) {
  .devspace-home { padding: 18px 14px; }
  .devspace-hero { border-radius: 18px; padding: 42px 18px; }
  .devspace-features { grid-template-columns: 1fr; }
  .devspace-feature { padding: 20px; }
  .devspace-home-footer { flex-direction: column; text-align: center; }
}
