/* ============================================================
   SamBent Store theme for Forgejo
   Tokens: #0a0a0a bg · #ff0033 accent · Space Grotesk + JetBrains Mono
   ============================================================ */

/* --- Forgejo dark-theme variable overrides --- */
:root {
  --color-primary:            #ff0033;
  --color-primary-light-1:    #ff1a47;
  --color-primary-light-2:    #ff3359;
  --color-primary-light-3:    #ff4d6c;
  --color-primary-dark-1:     #cc0029;
  --color-primary-dark-2:     #990020;
  --color-body:               #0a0a0a;
  --color-card:               #111111;
  --color-nav-bg:             #0a0a0a;
  --color-sidebar-bg:         #0d0d0d;
  --color-input-background:   #111111;
  --color-text:               #e0e0e0;
  --color-text-secondary:     #666666;
  --color-text-light:         #444444;
  --color-border:             #222222;
  --color-border-light:       #1a1a1a;
  --color-second:             #111111;
  --color-menu:               #111111;
  --color-link:               #ff0033;
  --color-red:                #ff0033;
  --color-green:              #00ff66;
  --border-radius:            0;
  --border-radius-small:      0;
  --border-radius-large:      0;
}

/* --- Global resets --- */
*, *::before, *::after {
  border-radius: 0 !important;
  box-sizing: border-box;
}

body {
  font-family: 'Space Grotesk', -apple-system, sans-serif !important;
  background: #0a0a0a !important;
  color: #e0e0e0 !important;
  -webkit-font-smoothing: antialiased;
}

/* Scanline overlay */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  background: repeating-linear-gradient(
    0deg,
    rgba(0,0,0,0.03) 0px,
    rgba(0,0,0,0.03) 1px,
    transparent 1px,
    transparent 2px
  );
}

/* Grid bg on main content areas */
.page-content,
#main-content,
.repository,
.dashboard {
  background-image:
    linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px);
  background-size: 50px 50px;
}

/* --- Fonts --- */
code, pre, kbd, .codemirror-editor, .monaco-editor,
.ui.label, .issue-keyword, .sha, .branch-name,
.file-header, .file-info, .commit-sha {
  font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace !important;
}

h1, h2, h3, h4, h5, h6,
.header, .ui.header {
  font-family: 'Space Grotesk', sans-serif !important;
  letter-spacing: -0.02em;
}

/* --- Navbar --- */
.navbar, #navbar, .ui.menu.navbar {
  background: #0a0a0a !important;
  border-bottom: 1px solid #222222 !important;
  box-shadow: none !important;
}

.navbar .item, .navbar a,
#navbar .item, #navbar a {
  color: #e0e0e0 !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

.navbar .item:hover, #navbar .item:hover,
.navbar a:hover, #navbar a:hover {
  color: #ff0033 !important;
  background: transparent !important;
}

.navbar .brand, #navbar .brand {
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 700 !important;
  color: #ff0033 !important;
  letter-spacing: 0.05em !important;
}

/* --- Backgrounds --- */
.ui.segment, .ui.segments,
.card, .ui.card,
.repository .header,
.issue-content,
.diff-file-box,
.comment-container {
  background: #111111 !important;
  border-color: #222222 !important;
}

.ui.secondary.segment,
.ui.menu .menu .item,
.ui.attached.segment {
  background: #1a1a1a !important;
}

/* --- Sidebar --- */
.ui.sidebar,
.repository .sidebar,
.left.sidebar {
  background: #0d0d0d !important;
  border-right: 1px solid #222222 !important;
}

/* --- Buttons --- */
.ui.button, button, .btn {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border-radius: 0 !important;
  transition: all 0.15s ease !important;
}

.ui.primary.button,
.ui.button.primary {
  background: #ff0033 !important;
  border: 1px solid #ff0033 !important;
  color: #fff !important;
}

.ui.primary.button:hover {
  background: #fff !important;
  color: #0a0a0a !important;
  border-color: #fff !important;
}

.ui.button:not(.primary):not(.red):not(.green):not(.blue) {
  background: transparent !important;
  border: 1px solid #333333 !important;
  color: #e0e0e0 !important;
}

.ui.button:not(.primary):hover {
  border-color: #ff0033 !important;
  color: #ff0033 !important;
}

/* --- Inputs / Forms --- */
input, textarea, select, .ui.input input,
.ui.dropdown, .ui.search input {
  background: #111111 !important;
  border: 1px solid #222222 !important;
  color: #e0e0e0 !important;
  font-family: 'JetBrains Mono', monospace !important;
  border-radius: 0 !important;
}

input:focus, textarea:focus, .ui.input input:focus {
  border-color: #ff0033 !important;
  outline: none !important;
  box-shadow: 0 0 0 1px #ff0033 !important;
}

/* --- Links --- */
a, .ui.link {
  color: #e0e0e0 !important;
  transition: color 0.15s ease !important;
}

a:hover {
  color: #ff0033 !important;
}

.ui.primary.button a,
.ui.button a {
  color: inherit !important;
}

/* --- Repo list items --- */
.repository.list .item,
.explore.repos .item {
  border-bottom: 1px solid #1a1a1a !important;
  padding: 1rem 0 !important;
}

.repository.list .item:hover {
  background: #111111 !important;
}

.repository.list .item .name,
.item .header a {
  font-family: 'JetBrains Mono', monospace !important;
  color: #e0e0e0 !important;
}

.repository.list .item .name:hover,
.item .header a:hover {
  color: #ff0033 !important;
}

/* Mirror/fork badges */
.ui.label, .ui.labels .label {
  background: #1a1a1a !important;
  border: 1px solid #222222 !important;
  color: #666666 !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 0.65rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.ui.label.red, .ui.red.label { background: #990020 !important; color: #fff !important; border-color: #ff0033 !important; }
.ui.label.green { background: #003311 !important; color: #00ff66 !important; }
.ui.label.primary, .ui.blue.label { background: #990020 !important; color: #fff !important; }

/* --- Code / Diff --- */
pre, code {
  background: #0d0d0d !important;
  border: 1px solid #1a1a1a !important;
  color: #e0e0e0 !important;
}

.diff-file-header {
  background: #111111 !important;
  border-bottom: 1px solid #222222 !important;
  font-family: 'JetBrains Mono', monospace !important;
}

.diff-add-code, .line-code.add { background: #001a08 !important; }
.diff-del-code, .line-code.del { background: #1a0005 !important; }
.add td:first-child { border-left: 2px solid #00ff66 !important; }
.del td:first-child { border-left: 2px solid #ff0033 !important; }

/* --- Tables --- */
.ui.table, table {
  background: #111111 !important;
  border-color: #222222 !important;
}

.ui.table thead th {
  background: #0d0d0d !important;
  border-bottom: 1px solid #ff0033 !important;
  color: #ff0033 !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 0.7rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.ui.table tbody tr:hover td {
  background: #1a1a1a !important;
}

/* --- Dropdowns --- */
.ui.dropdown .menu {
  background: #111111 !important;
  border: 1px solid #222222 !important;
}

.ui.dropdown .menu .item:hover {
  background: #1a1a1a !important;
  color: #ff0033 !important;
}

/* --- Tabs --- */
.ui.tabular.menu .item.active,
.ui.menu .item.active {
  border-bottom: 2px solid #ff0033 !important;
  color: #ff0033 !important;
  background: transparent !important;
}

/* --- Toasts / Alerts --- */
.ui.positive.message { background: #001a08 !important; border-left: 3px solid #00ff66 !important; }
.ui.negative.message, .ui.error.message { background: #1a0005 !important; border-left: 3px solid #ff0033 !important; }
.ui.warning.message { background: #1a1000 !important; border-left: 3px solid #ffaa00 !important; }

/* --- Footer --- */
#footer, .footer {
  background: #0a0a0a !important;
  border-top: 1px solid #222222 !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 0.7rem !important;
  color: #444444 !important;
}

/* --- Selection & scrollbar --- */
::selection { background: #ff0033 !important; color: #fff !important; }

::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: #0a0a0a; }
::-webkit-scrollbar-thumb { background: #333333; }
::-webkit-scrollbar-thumb:hover { background: #ff0033; }

/* --- Blinking cursor on repo/explore headers --- */
.explore .header::after,
.repository .header h1::after {
  content: '_';
  animation: blink 1s step-end infinite;
  color: #ff0033;
  margin-left: 2px;
}

@keyframes blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

/* ── DFT Landing v2 ─────────────────────────────────────────── */
.dft-wrap{position:relative;min-height:calc(100vh - 42px);background:#000;overflow:hidden;}
.dft-corner{position:fixed;width:32px;height:32px;z-index:100;pointer-events:none;}
.dft-tl{top:50px;left:8px; border-top:2px solid #ff0033;border-left:2px solid #ff0033; opacity:.4;}
.dft-tr{top:50px;right:8px;border-top:2px solid #ff0033;border-right:2px solid #ff0033;opacity:.4;}
.dft-bl{bottom:8px;left:8px; border-bottom:2px solid #ff0033;border-left:2px solid #ff0033; opacity:.18;}
.dft-br{bottom:8px;right:8px;border-bottom:2px solid #ff0033;border-right:2px solid #ff0033;opacity:.18;}
.dft-bar{height:32px;background:#050505;border-bottom:1px solid #1a1a1a;display:flex;align-items:center;padding:0 18px;gap:20px;font-family:'JetBrains Mono',monospace;font-size:10px;color:#444;position:relative;z-index:10;}
.dft-bar-brand{color:#ff0033;font-weight:700;letter-spacing:.14em;font-size:11px;}
.dft-bar-sep{color:#1e1e1e;}
.dft-bar-item{display:flex;align-items:center;gap:5px;text-transform:uppercase;letter-spacing:.1em;}
.dft-bar-right{margin-left:auto;color:#2e2e2e;}
.dft-dot{width:5px;height:5px;border-radius:50%;}
.dft-dot-on{background:#ff0033;box-shadow:0 0 6px #ff0033;}
.dft-hero-wrap{position:relative;height:82vh;min-height:500px;overflow:hidden;}
#dft-c{position:absolute;inset:0;width:100%;height:100%;display:block;}
.dft-hero-overlay{position:relative;z-index:2;padding:5rem 3.5rem;max-width:560px;height:100%;display:flex;flex-direction:column;justify-content:center;}
.dft-eyebrow{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:#ff0033;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.1rem;min-height:1em;}
.dft-h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(2.8rem,6vw,5rem);font-weight:700;letter-spacing:-.035em;color:#ebebeb;line-height:1;margin-bottom:1.1rem;}
.dft-cur{color:#ff0033;animation:blink 1s step-end infinite;}
.dft-sub{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:#4a4a4a;line-height:1.55;margin-bottom:2.2rem;letter-spacing:.02em;min-height:1em;}
.dft-btns{display:flex;gap:.65rem;flex-wrap:wrap;margin-bottom:1.6rem;}
.dft-btn{font-family:'JetBrains Mono',monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;padding:.58rem 1.25rem;text-decoration:none!important;transition:all .15s;border:1px solid;}
.dft-btn-p{background:#ff0033;border-color:#ff0033;color:#fff!important;}
.dft-btn-p:hover{background:#fff!important;color:#000!important;border-color:#fff!important;}
.dft-btn-g{background:transparent;border-color:#242424;color:#4a4a4a!important;}
.dft-btn-g:hover{border-color:#ff0033!important;color:#ff0033!important;}
.dft-onion{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:#2a2a2a;word-break:break-all;line-height:1.4;min-height:1em;}
.dft-onion-l{color:#ff0033;}
.dft-repos{padding:2.5rem 3.5rem;border-top:1px solid #0f0f0f;background:#000;}
.dft-repos-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid #0f0f0f;}
.dft-repos-label{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:#ff0033;letter-spacing:.14em;text-transform:uppercase;}
.dft-repos-all{font-family:'JetBrains Mono',monospace;font-size:.64rem;color:#2e2e2e!important;text-transform:uppercase;letter-spacing:.1em;text-decoration:none!important;}
.dft-repos-all:hover{color:#ff0033!important;}
.dft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1px;background:#111;}
.dft-grid-loading{grid-column:1/-1;font-family:'JetBrains Mono',monospace;font-size:.72rem;color:#222;padding:2rem;}
.dft-card{background:#000;padding:1.1rem 1.4rem;display:flex;flex-direction:column;gap:.4rem;text-decoration:none!important;transition:background .12s;}
.dft-card:hover{background:#080808!important;}
.dft-card-name{font-family:'JetBrains Mono',monospace;font-size:.8rem;font-weight:600;color:#ff0033!important;}
.dft-card-desc{font-family:'Space Grotesk',sans-serif;font-size:.82rem;color:#4a4a4a;line-height:1.4;flex:1;}
.dft-card-foot{display:flex;gap:.75rem;}
.dft-card-lang{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:#2e2e2e;text-transform:uppercase;letter-spacing:.08em;}
