:root {
  --tt-bg: #0c0f14;
  --tt-panel: rgba(24, 29, 38, 0.72);
  --tt-panel-strong: rgba(31, 38, 49, 0.86);
  --tt-border: rgba(148, 163, 184, 0.18);
  --tt-border-strong: rgba(148, 163, 184, 0.28);
  --tt-text: #e5e7eb;
  --tt-muted: #9ca3af;
  --tt-accent: #14b8a6;
  --tt-accent-2: #38bdf8;
  --tt-warn: #f59e0b;
}

html,
body,
#__next,
#page_wrapper,
#page_container {
  background: var(--tt-bg) !important;
}

#page_container::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(148, 163, 184, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.035) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, black 0%, transparent 82%);
}

.container {
  max-width: 1880px !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}

#information-widgets {
  margin: 22px 22px 4px !important;
  padding: 14px 16px !important;
  border: 1px solid var(--tt-border) !important;
  border-radius: 8px !important;
  background: rgba(15, 20, 28, 0.76) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22) !important;
}

.information-widget-resource,
.information-widget-search input {
  color: var(--tt-text) !important;
}

.information-widget-search input {
  border-color: var(--tt-border) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  border-radius: 8px !important;
}

#services,
#bookmarks {
  gap: 12px !important;
  margin-left: 22px !important;
  margin-right: 22px !important;
}

.services-group,
.bookmark-group {
  padding: 6px !important;
}

.service-group-name,
.bookmark-group-name {
  font-size: 0.84rem !important;
  line-height: 1.1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  color: var(--tt-text) !important;
}

.services-group > button,
.bookmark-group > button {
  margin-bottom: 2px !important;
  padding: 0 2px 7px !important;
  border-bottom: 1px solid var(--tt-border) !important;
}

.services-list,
.bookmark-list {
  gap: 8px !important;
  margin-top: 10px !important;
}

.service-card,
.bookmark a {
  border: 1px solid var(--tt-border) !important;
  border-radius: 8px !important;
  background: var(--tt-panel) !important;
  box-shadow: none !important;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease !important;
}

.service-card:hover,
.bookmark a:hover {
  transform: translateY(-1px) !important;
  border-color: var(--tt-border-strong) !important;
  background: var(--tt-panel-strong) !important;
}

.service-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--tt-accent);
  opacity: 0.72;
}

.service-name,
.bookmark-name {
  color: var(--tt-text) !important;
  font-weight: 650 !important;
}

.service-description,
.bookmark-description {
  color: var(--tt-muted) !important;
  font-weight: 400 !important;
}

.service-tags,
.service-tags * {
  color: var(--tt-muted) !important;
}

.bookmark-icon {
  width: 42px !important;
  color: var(--tt-text) !important;
  background: rgba(20, 184, 166, 0.13) !important;
  border-right: 1px solid var(--tt-border) !important;
}

#services .services-group:nth-child(2n) .service-card::before {
  background: var(--tt-accent-2);
}

#services .services-group:nth-child(3n) .service-card::before {
  background: var(--tt-warn);
}

@media (max-width: 768px) {
  .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  #information-widgets,
  #services,
  #bookmarks {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  .service-group-name,
  .bookmark-group-name {
    font-size: 0.92rem !important;
  }
}

/* Icon polish */
.service img,
.bookmark img {
  filter: saturate(1.05) contrast(1.03);
}

.bookmark-icon img,
.service img[alt] {
  border-radius: 5px !important;
}

.bookmark-icon:has(img) {
  background: rgba(255, 255, 255, 0.06) !important;
}

.service-title img {
  margin-left: 0.35rem !important;
}
