:root {
  --stc-bg: #0b0f1a;
  --stc-surface: #141a2d;
  --stc-surface-2: #1a2140;
  --stc-border: rgba(255, 255, 255, 0.12);
  --stc-text: #e5e7eb;
  --stc-muted: #9ca3af;
  --stc-accent: #22d3ee;
  --stc-accent-2: #7c3aed;
}

/* Sitewide link style rule: disable explicit underline utility classes */
.underline {
  text-decoration: none !important;
}

.hover\:underline:hover {
  text-decoration: none !important;
}

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

::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.08);
}

::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.5);
  border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.7);
}

.stc-page-shell {
  padding-bottom: 2rem !important;
}
body.stc-site {
  background: radial-gradient(circle at 10% 15%, rgba(124, 58, 237, 0.12), transparent 35%),
              radial-gradient(circle at 90% 75%, rgba(34, 211, 238, 0.1), transparent 40%),
              var(--stc-bg);
  color: var(--stc-text);
  margin: 0;
}

.stc-page-shell.stc-no-top-gap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.stc-page-shell.stc-no-top-gap > .stc-header {
  margin-top: 0 !important;
}

.stc-page-shell > .stc-header + *:not(.stc-breadcrumbs) {
  margin-top: 0 !important;
}

.stc-page-shell > .stc-header + .stc-breadcrumbs + * {
  margin-top: 0 !important;
}

.stc-page-shell.stc-no-top-gap > .stc-header + *:not(.stc-breadcrumbs),
.stc-page-shell.stc-no-top-gap > .stc-header + .stc-breadcrumbs + * {
  margin-top: 0 !important;
}

.stc-header {
  background: rgba(20, 26, 45, 0.88) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.stc-nav-link {
  border: 1px solid transparent;
  border-radius: 9999px;
  transition: all 180ms ease;
}

.stc-nav-link:hover {
  color: var(--stc-accent) !important;
  border-color: rgba(34, 211, 238, 0.25);
  background: rgba(34, 211, 238, 0.08);
}

.stc-nav-link:active {
  color: #eafcff !important;
  border-color: rgba(34, 211, 238, 0.4);
  background: rgba(34, 211, 238, 0.2);
}

.stc-nav-link.is-active {
  color: #eafcff !important;
  border-color: rgba(34, 211, 238, 0.35);
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.25), rgba(34, 211, 238, 0.18));
  box-shadow: 0 8px 24px rgba(34, 211, 238, 0.12);
}

.stc-mobile-link {
  border: 1px solid transparent;
}

.stc-mobile-link.is-active {
  color: #eafcff !important;
  border-color: rgba(34, 211, 238, 0.35);
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.22), rgba(34, 211, 238, 0.16));
}

.stc-mobile-link:active {
  color: #eafcff !important;
  border-color: rgba(34, 211, 238, 0.4);
  background: rgba(34, 211, 238, 0.2);
}

.stc-mobile-menu {
  border-top: 1px solid var(--stc-border);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35);
}

/* Mobile wallet in header: full width, dropdown stacks below button */
#header-wallet-container-mobile {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
#header-wallet-container-mobile #wallet-connect-mobile,
#header-wallet-container-mobile #wallet-connected-mobile {
  flex-shrink: 0;
}
#header-wallet-container-mobile #wallet-connect-mobile button,
#header-wallet-container-mobile #wallet-connected-mobile > button {
  width: 100%;
  justify-content: center;
}
#header-wallet-container-mobile #wallet-dropdown-mobile {
  position: relative;
  right: auto;
  width: 100%;
  margin-top: 0.5rem;
}

.stc-cta,
.stc-auth-wrap button[type='submit'],
.stc-contact-wrap button[type='submit'] {
  box-shadow: 0 12px 30px rgba(124, 58, 237, 0.28);
}

.stc-cta:hover,
.stc-auth-wrap button[type='submit']:hover,
.stc-contact-wrap button[type='submit']:hover {
  transform: translateY(-1px);
}

.stc-footer {
  border-top: 1px solid rgba(124, 58, 237, 0.22);
}

.stc-footer .stc-footer-link {
  transition: color 180ms ease;
}

.stc-footer .stc-footer-link:hover {
  color: var(--stc-accent) !important;
}

.stc-create-wrap,
.stc-admin-wrap,
.stc-auth-wrap,
.stc-contact-wrap {
  isolation: isolate;
}

.stc-guide-wrap {
  isolation: isolate;
}

.stc-guide-wrap .stc-topic-card {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(160deg, rgba(26, 33, 64, 0.95), rgba(20, 26, 45, 0.95));
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24);
  transition: border-color 170ms ease, transform 170ms ease, box-shadow 170ms ease;
}

.stc-guide-wrap .stc-topic-card:hover {
  border-color: rgba(34, 211, 238, 0.35);
  transform: translateY(-1px);
  box-shadow: 0 18px 36px rgba(34, 211, 238, 0.14);
}

.stc-guide-wrap .stc-cta-solid {
  box-shadow: 0 14px 34px rgba(124, 58, 237, 0.3);
}

main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) {
  position: relative;
  background: linear-gradient(160deg, rgba(20, 26, 45, 0.78), rgba(11, 15, 26, 0.62)) !important;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.25rem;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35), 0 1px 0 rgba(255, 255, 255, 0.06) inset;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  overflow: hidden;
}

main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) h1,
main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) h2,
main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) h3,
main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) h4 {
  line-height: 1.2;
  letter-spacing: -0.01em;
}

main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) p,
main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) li {
  line-height: 1.72;
}

main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) ul,
main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) ol {
  padding-left: 1.1rem;
}

main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) article > div,
main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) article > section,
main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) > section,
main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) > div {
  scroll-margin-top: 90px;
}

main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) a[href^='/create-token/'] {
  transition: transform 160ms ease, box-shadow 160ms ease, opacity 160ms ease;
}

main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) a[href^='/create-token/']:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(124, 58, 237, 0.3);
}

main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  border-radius: 0.75rem;
}

main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) th,
main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) td {
  white-space: nowrap;
}

.stc-create-wrap form,
.stc-contact-wrap form,
.stc-auth-wrap .rounded-2xl,
.stc-admin-wrap .rounded-xl {
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

.stc-create-wrap input,
.stc-create-wrap textarea,
.stc-create-wrap select,
.stc-contact-wrap input,
.stc-contact-wrap textarea,
.stc-contact-wrap select,
.stc-auth-wrap input,
.stc-admin-wrap input,
.stc-admin-wrap select,
.stc-admin-wrap textarea {
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.stc-create-wrap input:focus,
.stc-create-wrap textarea:focus,
.stc-create-wrap select:focus,
.stc-contact-wrap input:focus,
.stc-contact-wrap textarea:focus,
.stc-contact-wrap select:focus,
.stc-auth-wrap input:focus,
.stc-admin-wrap input:focus,
.stc-admin-wrap select:focus,
.stc-admin-wrap textarea:focus {
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.28);
}

@media (max-width: 1024px) {
  .stc-mobile-menu {
    max-height: calc(100vh - 72px);
    overflow-y: auto;
  }
}

@media (max-width: 768px) {
  .stc-page-shell {
    padding-bottom: 1.5rem !important;
  }

  .stc-page-shell > .stc-header + *:not(.stc-breadcrumbs) {
    margin-top: 0 !important;
  }

  .stc-page-shell > .stc-header + .stc-breadcrumbs + * {
    margin-top: 0 !important;
  }

  .stc-page-shell.stc-no-top-gap > .stc-header + *:not(.stc-breadcrumbs),
  .stc-page-shell.stc-no-top-gap > .stc-header + .stc-breadcrumbs + * {
    margin-top: 0 !important;
  }

  .stc-create-wrap,
  .stc-admin-wrap,
  .stc-auth-wrap,
  .stc-contact-wrap {
    padding-left: 0.875rem !important;
    padding-right: 0.875rem !important;
  }

  .stc-footer {
    text-align: left;
  }

  .stc-footer .flex.items-center.gap-6 {
    flex-wrap: wrap;
    row-gap: 0.75rem;
    justify-content: flex-start;
  }

  main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) {
    border-radius: 1rem;
    padding-top: 2rem !important;
    padding-bottom: 2.5rem !important;
  }

  main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) h1 {
    font-size: 1.9rem !important;
    line-height: 1.2 !important;
    margin-bottom: 1rem !important;
  }

  main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) h2 {
    font-size: 1.45rem !important;
    margin-top: 2rem !important;
    margin-bottom: 0.9rem !important;
  }

  main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) h3 {
    font-size: 1.16rem !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.65rem !important;
  }

  main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) p,
  main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) li {
    font-size: 0.98rem !important;
    line-height: 1.7 !important;
  }

  main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) .grid {
    gap: 0.9rem !important;
  }

  main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) [class*='border-l-4'],
  main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) [class*='rounded-xl'],
  main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) [class*='rounded-2xl'] {
    padding: 1rem !important;
  }

  main.max-w-4xl:not(.stc-create-wrap):not(.stc-contact-wrap) a[href^='/create-token/'] {
    width: 100%;
    text-align: center;
  }
}
