body.theme-geek {
  --geek-bg: var(--oc-bg);
  --geek-panel: var(--oc-bg-panel);
  --geek-line: color-mix(in srgb, var(--oc-border) 70%, var(--oc-primary) 18%);
  --geek-line-strong: color-mix(in srgb, var(--oc-border-active) 76%, transparent);
  --geek-text: var(--oc-text);
  --geek-muted: var(--oc-muted);
  --geek-green: var(--oc-success);
  --geek-blue: var(--oc-primary);
  --geek-red: var(--oc-danger);
  --geek-yellow: var(--oc-warning);
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.018), rgba(255,255,255,.018) 1px, transparent 1px, transparent 4px),
    radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--oc-primary) 13%, transparent), transparent 42rem),
    radial-gradient(circle at 82% 2%, color-mix(in srgb, var(--oc-secondary) 10%, transparent), transparent 42rem),
    var(--geek-bg);
  color: var(--geek-text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", "Microsoft YaHei", monospace;
}

body.theme-geek header {
  background: color-mix(in srgb, var(--geek-panel) 92%, #000);
  border-bottom: 1px solid var(--geek-line-strong);
  box-shadow: 0 0 28px color-mix(in srgb, var(--oc-primary) 10%, transparent);
}
body.theme-geek header h1 {
  color: var(--oc-primary);
  text-transform: uppercase;
  text-shadow: 0 0 16px color-mix(in srgb, var(--oc-primary) 42%, transparent);
}
body.theme-geek nav {
  gap: 8px;
}
body.theme-geek nav a {
  color: var(--geek-muted);
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 5px 7px;
  border: 1px solid transparent;
  border-radius: 3px;
  line-height: 1;
  text-decoration: none;
}
body.theme-geek nav a::before {
  content: "[";
  color: var(--oc-primary);
  margin-right: 4px;
}
body.theme-geek nav a::after {
  content: "]";
  color: var(--oc-primary);
  margin-left: 4px;
}
body.theme-geek nav a:hover {
  color: var(--oc-primary);
  border-color: color-mix(in srgb, var(--oc-primary) 34%, transparent);
  background: color-mix(in srgb, var(--oc-primary) 8%, transparent);
  box-shadow: 0 0 14px color-mix(in srgb, var(--oc-primary) 12%, transparent);
}
body.theme-geek main { max-width: 1560px; }
body.theme-geek .topbar-right {
  font-size: 13px;
}
body.theme-geek nav a,
body.theme-geek label,
body.theme-geek th {
  text-transform: uppercase;
}

body.theme-geek .panel {
  background: linear-gradient(180deg, color-mix(in srgb, var(--geek-panel) 96%, var(--oc-primary) 4%), var(--geek-panel));
  border-color: var(--geek-line);
  border-radius: 8px;
  padding: 30px;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--oc-primary) 16%, transparent), 0 24px 80px rgba(0,0,0,.26);
  position: relative;
}
body.theme-geek .panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 22px;
  right: 22px;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--oc-primary) 62%, transparent), transparent);
}
body.theme-geek h2,
body.theme-geek .tool-title h2 {
  color: var(--oc-primary);
  text-transform: uppercase;
  text-shadow: 0 0 10px color-mix(in srgb, var(--oc-primary) 28%, transparent);
  letter-spacing: 0;
}
body.theme-geek .muted { color: var(--geek-muted); }
body.theme-geek a { color: var(--oc-primary); }
body.theme-geek a:hover { color: var(--oc-accent); }
body.theme-geek .tag {
  background: color-mix(in srgb, var(--oc-primary) 8%, var(--oc-bg-element));
  border-color: color-mix(in srgb, var(--oc-primary) 28%, var(--oc-border));
  border-radius: 3px;
  color: var(--geek-muted);
}
body.theme-geek .filter-label {
  text-transform: uppercase;
}
body.theme-geek .manual-tld-title {
  color: var(--oc-primary);
  text-shadow: 0 0 10px color-mix(in srgb, var(--oc-primary) 20%, transparent);
}
body.theme-geek .selected-dropdown,
body.theme-geek .scan-status-box,
body.theme-geek .scan-log-box {
  background: var(--oc-bg-element);
  border-color: color-mix(in srgb, var(--oc-border) 70%, transparent);
  border-radius: 3px;
}
body.theme-geek .manual-tld-panel {
  border-left-color: var(--geek-line);
}
body.theme-geek .selected-preview-toggle,
body.theme-geek .scan-log-title {
  color: var(--oc-primary);
}
body.theme-geek .selected-dropdown.open .selected-suffix-tags {
  background: var(--oc-bg-panel);
  border-color: var(--geek-line);
  border-radius: 3px;
}
body.theme-geek .selected-suffix-tag {
  background: transparent;
  border-color: var(--geek-line);
  border-radius: 3px;
  color: var(--geek-muted);
}
body.theme-geek .selected-remove {
  color: var(--oc-primary);
}
body.theme-geek .selected-suffix-tag::before {
  content: "[";
  color: var(--oc-primary);
  margin-right: 3px;
}
body.theme-geek .selected-suffix-tag::after {
  content: "]";
  color: var(--oc-primary);
  margin-left: 3px;
}
body.theme-geek .scan-log-lines {
  color: var(--geek-muted);
}
body.theme-geek .tag-button {
  background: var(--oc-bg-element);
  border-color: color-mix(in srgb, var(--oc-border) 70%, transparent);
  border-radius: 3px;
  color: var(--geek-muted);
}
body.theme-geek .tag-button::before {
  content: "[";
  color: var(--oc-primary);
  margin-right: 4px;
}
body.theme-geek .tag-button::after {
  content: "]";
  color: var(--oc-primary);
  margin-left: 4px;
}
body.theme-geek .tag-button:hover,
body.theme-geek .tag-button.active {
  color: var(--oc-primary);
  background: color-mix(in srgb, var(--oc-primary) 10%, var(--oc-bg-element));
  border-color: var(--geek-line-strong);
  box-shadow: 0 0 14px color-mix(in srgb, var(--oc-primary) 12%, transparent);
}

body.theme-geek input,
body.theme-geek select,
body.theme-geek textarea {
  background: var(--oc-bg-element);
  border-color: var(--geek-line);
  color: var(--geek-text);
  border-radius: 3px;
}
body.theme-geek input::placeholder,
body.theme-geek textarea::placeholder { color: color-mix(in srgb, var(--geek-muted) 60%, transparent); }
body.theme-geek input:focus,
body.theme-geek select:focus,
body.theme-geek textarea:focus {
  outline: none;
  border-color: var(--geek-line-strong);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--oc-primary) 12%, transparent);
}

body.theme-geek .btn {
  background: transparent;
  border-color: var(--geek-line-strong);
  color: var(--oc-primary);
  border-radius: 3px;
  text-transform: uppercase;
}
body.theme-geek .btn:hover {
  background: color-mix(in srgb, var(--oc-primary) 10%, transparent);
  box-shadow: 0 0 18px color-mix(in srgb, var(--oc-primary) 16%, transparent);
}
body.theme-geek .btn.secondary {
  background: transparent;
  color: var(--geek-muted);
  border-color: rgba(107,185,133,.34);
}
body.theme-geek .btn.secondary:hover {
  color: var(--oc-primary);
  border-color: var(--geek-line-strong);
}
body.theme-geek .scan-toggle.running {
  color: var(--oc-warning);
  border-color: var(--oc-warning);
  background: color-mix(in srgb, var(--oc-warning) 10%, transparent);
  box-shadow: 0 0 18px color-mix(in srgb, var(--oc-warning) 16%, transparent);
}

body.theme-geek table,
body.theme-geek th {
  background: transparent;
}
body.theme-geek th,
body.theme-geek td {
  border-bottom-color: rgba(0,255,121,.1);
}
body.theme-geek th { color: var(--geek-muted); }
body.theme-geek tbody tr:hover {
  background: color-mix(in srgb, var(--oc-primary) 4%, transparent);
}
body.theme-geek table a {
  font-weight: 700;
}

body.theme-geek .tld-grid {
  max-height: 360px;
  scrollbar-color: var(--geek-line-strong) var(--oc-bg-element);
}
body.theme-geek .tld-item {
  background: var(--oc-bg-element);
  border-color: color-mix(in srgb, var(--oc-border) 70%, transparent);
  color: var(--geek-muted);
  border-radius: 3px;
}
body.theme-geek .tld-item:hover,
body.theme-geek .tld-item.selected {
  color: var(--oc-primary);
  background: color-mix(in srgb, var(--oc-primary) 10%, var(--oc-bg-element));
  border-color: var(--geek-line-strong);
  box-shadow: 0 0 14px color-mix(in srgb, var(--oc-primary) 12%, transparent);
}
body.theme-geek .tld-item .price { color: var(--geek-muted); }

body.theme-geek .status-badge {
  background: var(--oc-bg-element);
  border-radius: 3px;
  border-color: rgba(107,185,133,.28);
  color: var(--geek-muted);
}
body.theme-geek .status-filter {
  text-transform: uppercase;
}
body.theme-geek .status-filter.active {
  box-shadow: 0 0 16px color-mix(in srgb, var(--oc-primary) 16%, transparent);
}
body.theme-geek .status-badge.success {
  background: color-mix(in srgb, var(--oc-success) 9%, var(--oc-bg-element));
  border-color: color-mix(in srgb, var(--oc-success) 42%, transparent);
  color: var(--geek-green);
}
body.theme-geek .status-badge.danger {
  background: color-mix(in srgb, var(--oc-danger) 9%, var(--oc-bg-element));
  border-color: color-mix(in srgb, var(--oc-danger) 42%, transparent);
  color: var(--geek-red);
}
body.theme-geek .status-badge.info {
  background: color-mix(in srgb, var(--oc-primary) 9%, var(--oc-bg-element));
  border-color: color-mix(in srgb, var(--oc-primary) 42%, transparent);
  color: var(--geek-blue);
}
body.theme-geek .status-badge.warning {
  background: color-mix(in srgb, var(--oc-warning) 9%, var(--oc-bg-element));
  border-color: color-mix(in srgb, var(--oc-warning) 42%, transparent);
  color: var(--geek-yellow);
}

body.theme-geek .progress {
  height: 5px;
  background: var(--oc-bg-element);
  border-color: var(--geek-line);
  border-radius: 0;
}
body.theme-geek .progress > span {
  background: var(--geek-green);
  box-shadow: 0 0 14px color-mix(in srgb, var(--oc-success) 55%, transparent);
}
body.theme-geek .tabs {
  border-bottom-color: var(--geek-line);
}
body.theme-geek .tab {
  color: var(--geek-muted);
  text-transform: uppercase;
}
body.theme-geek .tab.active {
  color: var(--oc-primary);
  border-bottom-color: var(--oc-primary);
}
body.theme-geek .result-item {
  border-bottom-color: rgba(0,255,121,.1);
}
body.theme-geek .result-item:hover {
  background: color-mix(in srgb, var(--oc-primary) 6%, transparent);
}
body.theme-geek .result-item .domain-name {
  color: var(--geek-text);
}
body.theme-geek .result-item .price-tag {
  color: var(--geek-muted);
}
