body {
    background-color: #000000;
    font-size: 14px;
    color: #555555;
    font-family: 'IBM Plex Mono', monospace;
    overflow-x: hidden;
  }
  a {
    color: #666666; /* Set hyperlink color */
    transition: color 0.3s; /* Smooth transition for color change */
  }
  a:hover {
    color: #777777; /* Set rollover color */
  }

  .top-nav {
    background-color: #222222;
    padding: 4px;
    color: #ffffff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  }
  
  .nav-logo {
    flex: 0 0 auto;
  }
  
  .nav-menu {
    flex: 1;
    text-align: center;
  }
  
  .nav-author {
    flex: 0 0 auto;
  }
  
  .logo-symbol {
    font-size: 1.2em;
    color: #555555;
  }

  /* Mobile responsive navigation - hide logo and author on small screens */
  @media (max-width: 520px) {
    .top-nav .nav-logo,
    .top-nav .nav-author {
      display: none !important;
    }
    
    .top-nav .nav-menu {
      flex: 1;
      text-align: center;
      width: 100%;
    }
  }


  .grid-column {
    padding: 10px;
  }
  .grid-column img {
    width: 100%;
    height: auto;
  }

  .center {
    text-align: center;
  }


  .my-100 {
    margin-top: 125px !important;
    margin-bottom: 50px !important;
  }

  .table tr:hover .disabled-link {
    color: #333333 !important;
  }

  .preview-link {
    color: #00ffff !important;
    text-decoration: none;
    padding: 0;
    font-size: inherit;
    font-family: monospace;
  }

  /* Modal styles */
  .modal-content {
    background-color: #0e0e0e;
    border: 1px solid #00ffff;
  }

  .modal-header {
    border-bottom: 1px solid #00ffff;
  }

  .modal-title {
    color: #00ffff;
  }

  .modal .close {
    color: #00ffff;
  }

  .modal-body img {
    max-width: 100%;
    height: auto;
  }



  .artwork-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    width: 100%;
    padding: 0 15px;
    margin-bottom: 30px;
  }

  .artwork-image {
    width: 100%;
    max-width: 720px;
    height: auto;
    border-radius: 4px;
  }

  /* Add these new styles */
  /* Default background for index.html (pixel1) */
  body.body-bg-pixel1::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    background: url('../art/2-freedomsprotocol.svg') no-repeat center center fixed;
    background-size: cover;
    opacity: 0.3;
  }

  /* Background for pixels2.html */
  body.body-bg-pixel2::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    background: url('../art/2-freedomsprotocol.svg') no-repeat center center fixed;
    background-size: cover;
    opacity: 0.3;
  }

  /* Background for about.html */
  body.body-bg-about::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    background: url('../art/2-freedomsprotocol.svg') no-repeat center center fixed;
    background-size: cover;
    opacity: 0.3;
  }

  body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-color: rgba(0, 0, 0, 0.3);
  }

  .description-text {
    max-width: 720px;
    margin: 0 auto;
  }

  .strobe-text {
    animation: strobeEffectGreen 0.05s infinite;
  }

  .nav-selected {
    animation: strobeEffectGreen 0.05s infinite;
  }

  @keyframes strobeEffectGreen {
    0% { color: #008000; }
    20% { color: #00FA9A; }
    40% { color: #20B2AA; }
    60% { color: #7CFC00; }
    80% { color: #00FF00; }
    100% { color: #008000; }
  }

  /* Modal styles */
  .modal-dialog.modal-xl {
    max-width: 95vw;
    margin: 0.5rem auto;
    height: 95vh;
  }

  .modal-content {
    background-color: transparent;
    border: none;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .modal-body {
    position: relative;
    height: 100%;
    width: 100%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .modal-artwork {
    max-width: 95vw;
    max-height: 95vh;
    width: auto;
    height: auto;
    object-fit: contain;
    margin: auto;
  }

  .close {
    position: absolute;
    right: 20px;
    top: 20px;
    color: #fff;
    font-size: 30px;
    opacity: 0.8;
    z-index: 1;
    text-shadow: none;
  }

  .close:hover {
    color: #fff;
    opacity: 1;
  }

  .strobe-title {
    animation: strobeTitleEffect 0.05s infinite;
  }

  @keyframes strobeTitleEffect {
    0% { color: red; }
    33.33% { color: green; }
    66.66% { color: blue; }
    100% { color: red; }
  }

  .logo-image {
    max-width: 150px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
    border-radius: 12px;
  }

  /* Add background to text elements - excluding nav elements */
  h1, h2, h3, h4, h5, h6, p, a, .text-monospace:not(.nav-logo):not(.nav-menu):not(.nav-author) {
    background-color: #000000;
    padding: 6px 6px 6px 6px;
    display: inline-block;
  }

  /* Navigation-specific styles - separate from general text styling */
  .nav-logo,
  .nav-menu,
  .nav-author {
    background-color: transparent;
    padding: 8px 16px;
    display: inline-block;
    border-radius: 4px;
    margin: 0 4px;
  }

  .nav-logo a,
  .nav-menu a,
  .nav-author a {
    background-color: transparent;
    padding: 0;
    color: #555555;
    text-decoration: none;
  }

  .nav-logo a:hover,
  .nav-menu a:hover,
  .nav-author a:hover {
    color: #e65f00;
    text-decoration: none;
  }



  .custom-btn {
    background-color: #555555;
    color: #ffffff;
    border: none;
  }

  .custom-btn:hover {
    background-color: #666666;
    color: #ffffff;
  }

  .browser-window {
    background: #1a1a1a;
    border-radius: 6px;
    overflow: hidden;
    margin: 0 auto;
    width: 100%;
    max-width: 720px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.3);
  }

  .browser-header {
    background: #333333;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    position: relative;
  }

  .browser-dots {
    display: flex;
    gap: 6px;
    position: absolute;
    left: 12px;
  }

  .browser-title {
    color: #ffffff;
    font-size: 14px;
    margin: 0 auto;
    padding: 0 !important;
    background: transparent !important;
    width: 100%;
    text-align: center;
  }

  .browser-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
  }

  .dot-red { background: #FF5F56; }
  .dot-yellow { background: #FFBD2E; }
  .dot-green { background: #27C93F; }

  .browser-content {
    padding: 12px;
    width: 100%;
    text-align: center;
  }

  .browser-content img {
    width: 100%;
    height: auto;
  }

  /* Update modal styles for better mobile display */
  @media (max-width: 768px) {
    .modal-dialog.modal-xl {
      max-width: 100%;
      margin: 0;
      height: auto;
    }

    .modal-artwork {
      max-width: 100%;
      max-height: 100vh;
      width: 100%;
      padding: 10px;
    }

    .close {
      right: 10px;
      top: 10px;
    }

    /* Adjust text sizes for mobile */
    .description-text {
      font-size: 14px;
      padding: 0 15px;
    }

    .browser-title {
      font-size: 12px;
    }
  }

  /* Additional responsive adjustments */
  @media (max-width: 576px) {
    .my-100 {
      margin-top: 125px !important;
      margin-bottom: 25px !important;
    }

    h1.display-4 {
      font-size: 2rem;
    }

    h4.display-4 {
      font-size: 1.5rem;
    }
  }

  .top-nav .nav-menu a,
  .top-nav .nav-author a {
    color: #555555;
  }

  /* Update hover state to be slightly darker */
  .top-nav .nav-menu a:hover,
  .top-nav .nav-author a:hover {
    color: #777777;
    text-decoration: none;
  }

  .ascii-art {
    overflow-x: hidden;
    max-width: 100%;
    margin: 0 auto;
  }

  /* Container adjustments */
  .row.mt-4 .col-md-12 {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
  }

  .ascii-pixel1 {
    width: 620px;
    height: 590px;
    border: none;
    overflow: hidden;
    background: transparent;
  }

  @media (max-width: 768px) {
    .ascii-pixel1 {
      width: 100%;
    }
  }

  /* Add specific style for the TOKEN | DOWNLOAD text */
  .browser-content .description-text {
    width: 100%;
    text-align: center;
    margin: 12px auto 0;
    display: block;
  }

/* Safari-specific modal fix */
@supports (-webkit-touch-callout: none) {
  .modal-dialog.modal-xl {
      max-width: 95vw;
      width: 95vw;
      height: 95vh;
  }
  
  .modal-artwork {
      width: auto !important;
      height: auto !important;
      max-width: 95vw !important;
      max-height: 95vh !important;
      margin: auto;
  }
}

/* Smaller title class - 20% smaller than display-4 */
.smaller-title {
  font-size: 1.5em;
}

/* Larger ascii frame for pixels2.html page */
.ascii-pixel2 {
  width: 620px;
  height: 950px;
  border: none;
  overflow: hidden;
  background: transparent;
}

@media (max-width: 768px) {
  .ascii-pixel2 {
    width: 100%;
  }
}