:root {
    --primary: #c2c46c;        /* Muted gold from logo */
    --secondary: #e8e9b9;      /* Lighter gold accent */
    --accent: #4a4b2c;         /* Darker golden-olive */
    --dark: #101611;           /* Very dark green-gray */
    --darker: #070907;         /* Near black with hint of green */
    --light: #e8e9d7;          /* Off-white with hint of gold */
    --container-bg: rgba(16, 22, 17, 0.97);
    --border-color: rgba(194, 196, 108, 0.25);
    --steel-gradient: linear-gradient(
      to bottom,
      rgba(194, 196, 108, 0.08),
      rgba(74, 75, 44, 0.12)
    );
    --neon-glow: 0 0 10px rgba(194, 196, 108, 0.3);
  }
  
  /* Base styles */
  body {
      background-color: var(--dark);
      color: var(--light);
      font-family: 'Philosopher', serif;
      margin: 0;
      padding: 0;
      line-height: 1.6;
      min-height: 100vh;
      background-image: 
          url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFEmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOS0wMS0zMVQxODo0MDowOCswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTktMDEtMzFUMTg6NDI6MjMrMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTktMDEtMzFUMTg6NDI6MjMrMDE6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTRkNDQ5NWEtZDQ5Yi0yODRi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'),
          linear-gradient(rgba(16, 22, 17, 0.9), rgba(16, 22, 17, 0.95)),
          url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkAQMAAABKLAcXAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAABpJREFUOMtjGAWjYBSMglEwCkbBKBgFgwkAAAVoAAF+m8kKAAAAAElFTkSuQmCC');
      background-size: 50px, auto, 30px;
      background-position: 0 0, 0 0, 0 0;
      background-attachment: fixed;
  }
  
  .container {
      width: 100%;
      min-height: 100vh;
      margin: 0 auto;
      padding: 1rem;
      box-sizing: border-box;
      background: var(--steel-gradient);
      position: relative;
  }
  
  @media (min-width: 768px) {
      body {
          padding: 2rem;
      }
  
      .container {
          max-width: 1200px;
          min-height: calc(100vh - 4rem);
          background: var(--container-bg);
          backdrop-filter: blur(10px);
          border-radius: 0;
          padding: 2rem;
          position: relative;
          box-shadow: 
              0 0 0 1px var(--border-color),
              0 4px 24px -8px rgba(0, 0, 0, 0.5);
      }
  
      /* Subtle corner accents */
      .container::before,
      .container::after {
          content: '';
          position: absolute;
          width: 40px;
          height: 40px;
          border: 1px solid var(--border-color);
      }
  
      .container::before {
          top: 12px;
          left: 12px;
          border-right: none;
          border-bottom: none;
      }
  
      .container::after {
          bottom: 12px;
          right: 12px;
          border-left: none;
          border-top: none;
      }
  }
  
  /* Typography */
  h1, h2, h3 {
      color: var(--secondary);
      text-shadow: 0 0 10px rgba(194, 196, 108, 0.2);
      font-family: 'Philosopher', serif;
      letter-spacing: 0.5px;
      font-weight: 600;
  }
  
  h1::after {
      content: '';
      display: block;
      height: 1px;
      width: 100px;
      margin-top: 10px;
      background: linear-gradient(90deg, 
          var(--primary), 
          transparent 80%
      );
      opacity: 0.5;
  }
  
  /* Modern Containers */
  .cyber-box {
      background: rgba(16, 22, 17, 0.6);
      padding: 1.5rem;
      margin: 1rem 0;
      position: relative;
      border: 1px solid var(--border-color);
      box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.2);
  }
  
  /* Jagged edge effect */
  .cyber-box::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 60px;
      height: 2px;
      background: repeating-linear-gradient(
          90deg,
          var(--primary),
          var(--primary) 4px,
          transparent 4px,
          transparent 8px
      );
      opacity: 0.35;
  }
  
  /* Modern Buttons */
  .cyber-button {
      border: 1px solid var(--border-color);
      color: var(--secondary);
      background: rgba(16, 22, 17, 0.5);
      transition: all 0.2s ease;
  }
  
  .cyber-button:hover {
      background: rgba(194, 196, 108, 0.1);
      border-color: var(--primary);
      box-shadow: 0 0 10px rgba(194, 196, 108, 0.2);
  }
  
  /* Form Elements - Updated Styling */
  .form-group {
      margin-bottom: 1.5rem;
  }
  
  .form-group label {
      display: block;
      margin-bottom: 0.5rem;
      color: var(--primary);
      font-size: 0.9rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      font-family: 'Philosopher', serif;
      font-weight: 600;
  }
  
  input[type="text"],
  input[type="password"],
  input[type="email"] {
      width: 100%;
      padding: 0.8rem 1rem;
      background: rgba(6, 9, 7, 0.5);
      border: 1px solid var(--border-color);
      color: var(--light);
      font-family: 'Philosopher', serif;
      font-size: 1rem;
      transition: all 0.2s ease;
      border-radius: 2px;
      box-sizing: border-box;
      box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2);
  }
  
  input[type="text"]:focus,
  input[type="password"]:focus,
  input[type="email"]:focus {
      outline: none;
      border-color: var(--primary);
      box-shadow: 0 0 0 1px rgba(194, 196, 108, 0.2), inset 0 1px 3px rgba(0, 0, 0, 0.3);
      background: rgba(6, 9, 7, 0.7);
  }
  
  input[type="text"]::placeholder,
  input[type="password"]::placeholder,
  input[type="email"]::placeholder {
      color: rgba(232, 233, 215, 0.3);
  }
  
  /* Registration Form Submit Button */
  .registration-submit {
      width: 100%;
      display: block;
      margin: 2rem auto;
      padding: 1rem 2rem;
      background: rgba(74, 75, 44, 0.2);
      border: 1px solid var(--border-color);
      color: var(--secondary);
      font-family: 'Philosopher', serif;
      font-size: 1.1rem;
      font-weight: bold;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      cursor: pointer;
      position: relative;
      transition: all 0.2s ease;
  }
  
  .registration-submit:hover {
      background: rgba(194, 196, 108, 0.15);
      border-color: var(--primary);
      box-shadow: var(--neon-glow), inset 0 0 15px rgba(194, 196, 108, 0.1);
      color: var(--primary);
  }
  
  .registration-submit::before,
  .registration-submit::after {
      content: '';
      position: absolute;
      width: 20px;
      height: 20px;
      border: 1px solid var(--primary);
  }
  
  .registration-submit::before {
      top: -1px;
      left: -1px;
      border-right: none;
      border-bottom: none;
  }
  
  .registration-submit::after {
      bottom: -1px;
      right: -1px;
      border-left: none;
      border-top: none;
  }
  
  /* Stats Grid */
  .stat-box {
      background: rgba(16, 22, 17, 0.4);
      border: 1px solid var(--border-color);
      box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.2);
  }
  
  .stat-value {
      color: var(--secondary);
      text-shadow: 0 0 5px rgba(194, 196, 108, 0.3);
      font-family: 'Philosopher', serif;
      font-weight: 600;
  }
  
  /* Loading Animation */
  .cyber-loading {
      border: 2px solid rgba(194, 196, 108, 0.1);
      border-top: 2px solid var(--primary);
      animation: spin 1.2s linear infinite;
  }
  
  @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
  }
  
  /* Mobile adjustments */
  @media (max-width: 767px) {
      .container {
          padding: 1rem;
          background: rgba(16, 22, 17, 0.92);
      }
      
      .cyber-box {
          padding: 1.25rem;
          border-width: 1px 0;
          border-color: rgba(194, 196, 108, 0.15);
          background: rgba(16, 22, 17, 0.4);
      }
      
      .cyber-box::before {
          width: 40px;
      }
      
      input[type="text"],
      input[type="password"] {
          background: rgba(6, 9, 7, 0.5);
          border: 1px solid var(--border-color);
      }
      
      .stat-box {
          border-width: 1px 0;
          background: rgba(16, 22, 17, 0.3);
      }
  } 
  
  /* Photo upload styles */
  .photo-upload-container {
      margin: 1rem 0;
  }
  
  .photo-preview-wrapper {
      position: relative;
      width: 256px;
      height: 256px;
      margin: 0 auto;
      overflow: hidden;
      border-radius: 0;
      background: rgba(16, 22, 17, 0.4);
      box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.4);
  }
  
  .photo-preview {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
  }
  
  .photo-preview img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: none;
  }
  
  .photo-border {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      pointer-events: none;
      border: 1px solid var(--primary);
      box-shadow: 
          inset 0 0 0 1px var(--border-color),
          0 0 0 1px var(--border-color);
  }
  
  .photo-border::before,
  .photo-border::after {
      content: '';
      position: absolute;
      width: 20px;
      height: 20px;
      border: 1px solid var(--primary);
  }
  
  .photo-border::before {
      top: -1px;
      left: -1px;
      border-right: none;
      border-bottom: none;
  }
  
  .photo-border::after {
      bottom: -1px;
      right: -1px;
      border-left: none;
      border-top: none;
  }
  
  input[type="file"] {
      width: 100%;
      margin-top: 1rem;
      padding: 0.5rem;
      border: 1px solid var(--border-color);
      background: rgba(16, 22, 17, 0.4);
      color: var(--light);
      cursor: pointer;
      font-family: 'Philosopher', serif;
  }
  
  input[type="file"]::-webkit-file-upload-button {
      background: rgba(74, 75, 44, 0.3);
      border: 1px solid var(--border-color);
      color: var(--secondary);
      padding: 0.5rem 1rem;
      margin-right: 1rem;
      cursor: pointer;
      font-family: 'Philosopher', serif;
  }
  
  input[type="file"]::-webkit-file-upload-button:hover {
      background: rgba(194, 196, 108, 0.2);
      border-color: var(--primary);
  } 
  
  .error-message {
      background-color: rgba(150, 30, 30, 0.2);
      border: 1px solid #913030;
      color: #ff9292;
      padding: 10px;
      margin-bottom: 20px;
      border-radius: 0;
  }
  
  /* Player Profile Header */
  .player-profile-header {
      display: flex;
      gap: 1.5rem;
      padding: 1.5rem;
      padding-bottom: 1.5rem;
      background: rgba(16, 22, 17, 0.6);
      border: 1px solid var(--border-color);
      margin-bottom: 2rem;
      border-radius: 0;
      position: relative;
      box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.2);
  }
  
  .player-avatar {
      width: 100px;
      height: 100px;
      border: 1px solid var(--primary);
      border-radius: 0;
      overflow: visible;
      flex-shrink: 0;
      position: relative;
      background: rgba(16, 22, 17, 0.5);
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
  }
  
  .player-avatar img {
      width: 100%;
      height: 100%;
      object-fit: cover;
  }
  
  .player-avatar::before,
  .player-avatar::after {
      content: '';
      position: absolute;
      width: 15px;
      height: 15px;
      border: 1px solid var(--primary);
  }
  
  .player-avatar::before {
      top: -1px;
      left: -1px;
      border-right: none;
      border-bottom: none;
  }
  
  .player-avatar::after {
      bottom: -1px;
      right: -1px;
      border-left: none;
      border-top: none;
  }
  
  .player-info {
      flex-grow: 1;
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 0.5rem 0;
  }
  
  .player-info::after {
      content: '';
      position: absolute;
      left: -25px;
      right: 0;
      top: 50px;
      height: 1px;
      background: linear-gradient(
          90deg,
          var(--primary),
          var(--primary) 35%,
          rgba(194, 196, 108, 0.0) 90%
      );
      opacity: 0.6;
  }
  
  .player-name {
      padding-bottom: 1rem;
      margin-bottom: 0;
  }
  
  .player-name h1 {
      margin: 0;
      font-size: 1.8rem;
      color: var(--secondary);
      letter-spacing: 0.5px;
      text-shadow: 0 0 10px rgba(194, 196, 108, 0.2);
  }
  
  .player-progress {
      padding-top: 0.2rem;
  }
  
  .level-badge {
      position: absolute;
      bottom: -15px;
      right: -15px;
      background: var(--darker);
      border: 1px solid var(--primary);
      padding: 0.15rem;
      border-radius: 0;
      text-align: center;
      min-width: 40px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
      z-index: 1000;
  }
  
  .level-label {
      display: block;
      font-size: 0.5rem;
      color: var(--primary);
      letter-spacing: 0.1em;
      font-family: 'Philosopher', serif;
  }
  
  .level-number {
      display: block;
      font-size: 1.2rem;
      font-weight: bold;
      color: var(--secondary);
      text-shadow: 0 0 5px rgba(194, 196, 108, 0.3);
  }
  
  .experience-bar {
      flex-grow: 1;
      height: 24px;
      background: rgba(16, 22, 17, 0.5);
      border: 1px solid var(--border-color);
      border-radius: 0;
      position: relative;
      overflow: hidden;
      box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  }
  
  .experience-fill {
      height: 100%;
      background: linear-gradient(90deg, 
          rgba(194, 196, 108, 0.15),
          rgba(194, 196, 108, 0.35)
      );
      transition: width 0.3s ease;
      box-shadow: inset 0 0 10px rgba(194, 196, 108, 0.1);
      position: relative;
  }
  .experience-fill::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background: rgba(194, 196, 108, 0.5);
    box-shadow: 0 0 5px rgba(194, 196, 108, 0.5);
}

.experience-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--light);
    font-size: 0.9rem;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
    font-family: 'Philosopher', serif;
}

.logout-button {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 24px;
    height: 24px;
    background: rgba(16, 22, 17, 0.5);
    border: 1px solid var(--border-color);
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.logout-button:hover {
    background: rgba(150, 30, 30, 0.2);
    border-color: #913030;
    box-shadow: 0 0 10px rgba(150, 30, 30, 0.2);
}

.logout-button img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0.9) sepia(0.2) hue-rotate(10deg);
}

/* Adjust player-profile-header to accommodate absolute positioning */
.player-profile-header {
    position: relative;
}

@media (max-width: 767px) {
    .logout-button {
        top: 0.5rem;
        right: 0.5rem;
    }
}

/* Feature sections styling */
.feature-section {
    margin: 2rem 0;
}

.feature-title {
    font-family: 'Philosopher', serif;
    font-weight: 700;
    font-size: 1.7rem;
    color: var(--primary);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-shadow: 0 0 10px rgba(194, 196, 108, 0.2);
}

.feature-description {
    font-family: 'Philosopher', serif;
    color: rgba(232, 233, 215, 0.8);
    margin: 0.5rem 0 1rem 0;
    font-size: 0.95rem;
    line-height: 1.5;
}

.feature-separator {
    height: 1px;
    background: linear-gradient(to right,
        var(--primary) 0%,
        rgba(194, 196, 108, 0.5) 20%,
        rgba(194, 196, 108, 0.2) 40%,
        transparent 100%
    );
    margin-top: 0;
    margin-bottom: 0.5rem;
    position: relative;
}

.feature-separator::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    width: 50px;
    height: 2px;
    background: var(--primary);
    box-shadow: 0 0 5px rgba(194, 196, 108, 0.5);
}

.minor-separator {
    height: 1px;
    background: linear-gradient(to right,
        rgba(194, 196, 108, 0.3) 0%,
        rgba(194, 196, 108, 0.2) 20%,
        rgba(194, 196, 108, 0.1) 40%,
        transparent 100%
    );
    margin-top: -1rem;
    margin-bottom: -1rem;
    position: relative;
}

.minor-separator::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    width: 30px;
    height: 2px;
    background: rgba(194, 196, 108, 0.5);
    box-shadow: 0 0 5px rgba(194, 196, 108, 0.2);
}

/* Modal Styles */
.cyber-modal-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(7, 9, 7, 0.9);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    backdrop-filter: blur(3px);
}

.cyber-modal {
    background-color: var(--darker);
    width: 80vw;
    height: 80vh;
    border: 1px solid var(--border-color);
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.7);
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 0;
    background-image: linear-gradient(
        to bottom,
        rgba(194, 196, 108, 0.03) 0%,
        rgba(16, 22, 17, 0.03) 100%
    );
}

.cyber-modal-header {
    padding: 1rem;
    text-align: right;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(7, 9, 7, 0.7);
}

.cyber-modal-title {
    color: var(--primary);
    font-family: 'Philosopher', serif;
    font-size: 1.2rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-shadow: 0 0 5px rgba(194, 196, 108, 0.2);
}

.cyber-modal-close {
    background: none;
    border: none;
    color: var(--primary);
    font-size: 24px;
    cursor: pointer;
    padding: 5px 10px;
    transition: color 0.2s ease;
}

.cyber-modal-close:hover {
    color: var(--secondary);
    text-shadow: 0 0 10px rgba(194, 196, 108, 0.3);
}

.cyber-modal-content {
    padding: 1.5rem;
    overflow-y: auto;
    flex-grow: 1;
    background: rgba(7, 9, 7, 0.5);
}

.system-icon-button {
    width: 48px;
    height: 48px;
    background: rgba(16, 22, 17, 0.6);
    border: 1px solid var(--border-color);
    padding: 0.5rem;
    position: relative;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-sizing: border-box;
    margin: 0;
}

.system-icon-button:hover {
    background: rgba(194, 196, 108, 0.1);
    border-color: var(--primary);
    box-shadow: 0 0 10px rgba(194, 196, 108, 0.2);
}

.system-icon-button::before,
.system-icon-button::after {
    content: '';
    position: absolute;
    width: 12px;
    height: 12px;
    border: 1px solid var(--primary);
}

.system-icon-button::before {
    top: -1px;
    left: -1px;
    border-right: none;
    border-bottom: none;
}

.system-icon-button::after {
    bottom: -1px;
    right: -1px;
    border-left: none;
    border-top: none;
}

.system-icon-button img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0.9) sepia(0.2) hue-rotate(10deg);
}

/* Reset any browser default styles */
button.system-icon-button {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

a.system-icon-button {
    line-height: 1;
}

.admin-icon-button {
    width: 48px;
    height: 48px;
    background: rgba(0, 50, 25, 0.3);
    border: 1px solid rgba(0, 130, 65, 0.25);
    padding: 0.5rem;
    position: relative;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-sizing: border-box;
    margin: 0;
}

.admin-icon-button:hover {
    background: rgba(0, 130, 65, 0.1);
    border-color: #00ff80;
    box-shadow: 0 0 10px rgba(0, 130, 65, 0.3);
}

.admin-icon-button::before,
.admin-icon-button::after {
    content: '';
    position: absolute;
    width: 12px;
    height: 12px;
    border: 1px solid #00ff80;
}

.admin-icon-button::before {
    top: -1px;
    left: -1px;
    border-right: none;
    border-bottom: none;
}

.admin-icon-button::after {
    bottom: -1px;
    right: -1px;
    border-left: none;
    border-top: none;
}

.admin-icon-button img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0.9) sepia(0.2) hue-rotate(140deg);
}

/* Reset any browser default styles */
button.admin-icon-button {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

a.admin-icon-button {
    line-height: 1;
}

.red-icon-button {
    width: 48px;
    height: 48px;
    background: rgba(50, 0, 0, 0.3);
    border: 1px solid rgba(130, 0, 0, 0.25);
    padding: 0.5rem;
    position: relative;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-sizing: border-box;
    margin: 0;
}

.red-icon-button:hover {
    background: rgba(130, 0, 0, 0.1);
    border-color: #aa2222;
    box-shadow: 0 0 10px rgba(130, 0, 0, 0.3);
}

.red-icon-button::before,
.red-icon-button::after {
    content: '';
    position: absolute;
    width: 12px;
    height: 12px;
    border: 1px solid #aa2222;
}

.red-icon-button::before {
    top: -1px;
    left: -1px;
    border-right: none;
    border-bottom: none;
}

.red-icon-button::after {
    bottom: -1px;
    right: -1px;
    border-left: none;
    border-top: none;
}

.red-icon-button img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0.9) sepia(0.2) hue-rotate(-20deg);
}

/* Reset any browser default styles */
button.red-icon-button {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

a.red-icon-button {
    line-height: 1;
}

.cyber-button-dominant {
    width: 80%;
    display: block;
    margin: 2rem auto;
    padding: 1rem 2rem;
    background: rgba(16, 22, 17, 0.6);
    border: 1px solid var(--border-color);
    color: var(--secondary);
    font-family: 'Philosopher', serif;
    font-size: 1.2rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    position: relative;
    transition: all 0.2s ease;
    text-align: center;
    text-decoration: none;
}

.cyber-button-dominant:hover {
    background: rgba(194, 196, 108, 0.1);
    border-color: var(--primary);
    box-shadow: 0 0 10px rgba(194, 196, 108, 0.3);
    color: var(--primary);
}

.cyber-button-dominant::before,
.cyber-button-dominant::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    border: 1px solid var(--primary);
}

.cyber-button-dominant::before {
    top: -1px;
    left: -1px;
    border-right: none;
    border-bottom: none;
}

.cyber-button-dominant::after {
    bottom: -1px;
    right: -1px;
    border-left: none;
    border-top: none;
}

.cyber-notification {
    position: fixed;
    top: 20px;
    right: 20px;
    background: rgba(130, 30, 30, 0.2);
    border: 1px solid rgba(150, 30, 30, 0.4);
    padding: 15px 40px 15px 20px;
    border-radius: 0;
    z-index: 10000;
    display: none;
    align-items: center;
    color: #ff9292;
    font-size: 0.9rem;
    backdrop-filter: blur(5px);
    animation: slideIn 0.3s ease-out;
    font-family: 'Philosopher', serif;
}

.cyber-notification .notification-close {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #ff9292;
    cursor: pointer;
    font-size: 1.2rem;
    padding: 0 5px;
}

.cyber-notification .notification-close:hover {
    color: #ffb5b5;
    text-shadow: 0 0 5px rgba(255, 145, 145, 0.5);
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Player stats container styling */
.player-stats {
    display: flex;
    flex-direction: row-reverse;
    gap: 1rem;
    padding: 0;
    padding-top: 0.3rem;
}

/* Bubble styling for stats */
.bubble {
    display: flex;
    flex-direction: column;
    min-width: 80px;
    background: rgba(16, 22, 17, 0.5);
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.bubble-header {
    background: rgba(0, 0, 0, 0.3);
    padding: 0.1rem 0.3rem;
    font-size: 0.5rem;
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
    font-family: 'Philosopher', serif;
    letter-spacing: 0.05em;
}

.bubble-content {
    padding: 0;
    text-align: center;
    font-size: 1.0rem;
    font-weight: bold;
    font-family: 'Philosopher', serif;
}

/* Specific styling for credits bubble */
.player-credits {
    background: rgba(50, 45, 0, 0.3);
    border: 1px solid rgba(194, 196, 108, 0.1);
}

.player-credits .bubble-header {
    background: rgba(50, 45, 0, 0.5);
    color: #c2c46c;
}

.player-credits .bubble-content {
    color: #e8e9b9;
    text-shadow: 0 0 5px rgba(194, 196, 108, 0.3);
} 

.qr-container {
    margin: 2rem auto;
    padding: 1.5rem;
    background: rgba(16, 22, 17, 0.5);
    border: 1px solid var(--border-color);
    width: fit-content;
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.3);
}

.code-display {
    margin: 1rem 0;
    font-family: 'Philosopher', monospace;
    font-size: 1.5rem;
    color: var(--primary);
    text-shadow: 0 0 5px rgba(194, 196, 108, 0.3);
}

.button-container {
    margin: 2rem 0;
}

.info-text {
    color: rgba(232, 233, 215, 0.5);
    margin-top: 1rem;
    font-style: italic;
}

.text-center {
    text-align: center;
}

/* PIN Input Styling */
.pin-input {
    width: 120px !important;
    text-align: center;
    letter-spacing: 0.2em;
    font-size: 1.2rem !important;
    font-family: 'Philosopher', serif;
}

/* Base button styles */
button {
    padding: 0.5rem 1rem;
    background: rgba(16, 22, 17, 0.6);
    border: 1px solid var(--border-color);
    color: var(--secondary);
    font-family: 'Philosopher', serif;
    cursor: pointer;
    position: relative;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.9rem;
}

button:hover {
    background: rgba(194, 196, 108, 0.1);
    border-color: var(--primary);
    box-shadow: 0 0 10px rgba(194, 196, 108, 0.2);
    color: var(--primary);
}

button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: rgba(16, 22, 17, 0.4);
}

button:disabled:hover {
    border-color: var(--border-color);
    box-shadow: none;
    color: var(--secondary);
}

/* Add corner accents for larger buttons */
button.with-corners {
    padding: 0.8rem 1.5rem;
}

button.with-corners::before,
button.with-corners::after {
    content: '';
    position: absolute;
    width: 12px;
    height: 12px;
    border: 1px solid var(--primary);
}

button.with-corners::before {
    top: -1px;
    left: -1px;
    border-right: none;
    border-bottom: none;
}

button.with-corners::after {
    bottom: -1px;
    right: -1px;
    border-left: none;
    border-top: none;
} 

.cyber-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 1rem 0;
}

.cyber-table th,
.cyber-table td {
    padding: 0.75rem;
    text-align: left;
    border-bottom: 1px solid rgba(194, 196, 108, 0.1);
}

.cyber-table th {
    background: rgba(16, 22, 17, 0.4);
    color: var(--primary);
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.9em;
    font-family: 'Philosopher', serif;
}

.cyber-table tr:hover td {
    background: rgba(194, 196, 108, 0.05);
}

.manual-code-form {
    display: flex;
    gap: 10px;
    padding: 10px;
    background: rgba(16, 22, 17, 0.3);
    border: 1px solid var(--border-color);
}

.code-input {
    flex: 1;
    padding: 8px;
    border: 1px solid var(--border-color);
    background: rgba(7, 9, 7, 0.6);
    color: var(--light);
    font-family: 'Philosopher', serif;
}

.top-right-button {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    padding: 4px;
    z-index: 10;
    background: rgba(16, 22, 17, 0.5);
    border: 1px solid var(--border-color);
}

.top-right-button img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0.9) sepia(0.2) hue-rotate(10deg);
}

.faction-row {
    display: flex;
    align-items: center;
    margin: 10px 0;
    gap: 10px;
}

.faction-name {
    width: 100px;
    font-weight: bold;
    color: var(--secondary);
    font-family: 'Philosopher', serif;
    letter-spacing: 0.5px;
}

.faction-bar {
    flex-grow: 1;
    height: 20px;
    background: rgba(7, 9, 7, 0.4);
    border: 1px solid rgba(194, 196, 108, 0.1);
    position: relative;
}

.faction-progress {
    height: 100%;
    transition: width 0.3s ease;
}

.faction-progress.corpo {
    background: linear-gradient(90deg, rgba(194, 196, 108, 0.4), rgba(194, 196, 108, 0.7));
}

.faction-progress.street {
    background: linear-gradient(90deg, rgba(120, 30, 30, 0.4), rgba(120, 30, 30, 0.7));
}

.faction-value {
    width: 60px;
    text-align: right;
    color: var(--primary);
    font-family: 'Philosopher', serif;
    font-weight: bold;
}

/* Add after existing .cyber-table styles */

.leaderboard-preview .cyber-table {
    margin-bottom: 1rem;
}

.leaderboard-preview .rank-column {
    color: var(--primary);
    font-weight: bold;
    width: 60px;
}

.leaderboard-preview .points-column {
    color: var(--secondary);
    text-align: right;
    font-weight: bold;
}

.level-badge-small {
    background: rgba(16, 22, 17, 0.5);
    padding: 2px 8px;
    border: 1px solid rgba(194, 196, 108, 0.2);
    font-size: 0.8em;
    color: var(--secondary);
    font-family: 'Philosopher', serif;
}

.leaderboard-preview .cyber-button-dominant {
    margin: 1rem auto;
    width: auto;
    display: inline-block;
    padding: 0.5rem 1rem;
    font-size: 1rem;
}

/* Scan results styles */

.scan-results {
    padding: 1rem;
    background: rgba(16, 22, 17, 0.3);
    border: 1px solid var(--border-color);
}

.feature-item {
    background: rgba(16, 22, 17, 0.4);
    border: 1px solid var(--border-color);
    padding: 1rem;
    margin-bottom: 1rem;
    position: relative;
    transition: all 0.2s ease;
}

.feature-item:last-child {
    margin-bottom: 0;
}

.feature-item h3 {
    color: var(--primary);
    margin: 0 0 0.5rem 0;
    font-size: 1.2rem;
    font-family: 'Philosopher', serif;
    letter-spacing: 0.5px;
}

.feature-item p {
    margin: 0.5rem 0;
    color: var(--light);
    font-family: 'Philosopher', serif;
}

.feature-item .distance {
    color: var(--secondary);
    font-family: 'Philosopher', serif;
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-weight: bold;
}

.feature-item:hover {
    background: rgba(194, 196, 108, 0.05);
    border-color: var(--primary);
    box-shadow: 0 0 10px rgba(194, 196, 108, 0.2);
}

/* Location details styles */

.location-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.location-details p {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(7, 9, 7, 0.4);
    padding: 0.5rem 1rem;
    margin: 0;
    border: 1px solid rgba(194, 196, 108, 0.1);
}

.location-details strong {
    color: var(--primary);
    font-family: 'Philosopher', serif;
    font-weight: normal;
    letter-spacing: 0.5px;
}

.location-details .value {
    color: var(--secondary);
    font-family: 'Philosopher', serif;
    font-size: 1.1em;
    font-weight: bold;
}

/* Scan result styles */

.scan-result {
    margin-bottom: 1.5rem;
    position: relative;
}

.scan-result.hit {
    background: rgba(16, 22, 17, 0.4);
    border: 1px solid var(--border-color);
    padding: 1.5rem;
    position: relative;
    overflow: hidden;
}

.scan-result.hit::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(
        to bottom,
        var(--primary),
        transparent
    );
}

.discovery-header {
    color: var(--primary);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
    font-family: 'Philosopher', serif;
    font-weight: 600;
}

.scan-result.detected {
    color: var(--secondary);
    font-style: italic;
    padding: 0.5rem 1rem;
    border-left: 2px solid rgba(194, 196, 108, 0.2);
    font-family: 'Philosopher', serif;
}

.scan-result.empty {
    text-align: center;
    color: rgba(232, 233, 215, 0.5);
    padding: 2rem;
    font-style: italic;
    background: rgba(7, 9, 7, 0.3);
    border: 1px solid rgba(194, 196, 108, 0.05);
}

.scan-result.empty i {
    display: block;
    font-size: 2rem;
    margin-bottom: 1rem;
    opacity: 0.3;
    color: var(--primary);
}

/* Control point specific styling */
.control-point {
    position: relative;
}

.control-point h3 {
    color: var(--primary);
    font-size: 1.4rem;
    margin: 0 0 1rem 0;
    font-family: 'Philosopher', serif;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.control-point p {
    color: var(--light);
    margin: 1rem 0;
    line-height: 1.6;
    font-family: 'Philosopher', serif;
}

.control-point-status {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(194, 196, 108, 0.1);
}

.control-point-status p {
    color: var(--secondary);
    font-size: 0.9rem;
    margin-bottom: 1rem;
    font-style: italic;
}

.control-point button {
    margin-top: 0.5rem;
}

/* Control Points List Styling */
.control-points-list {
    display: grid;
    gap: 1.5rem;
    margin: 1rem 0;
}

.control-point-item {
    background: rgba(16, 22, 17, 0.4);
    border: 1px solid var(--border-color);
    padding: 1.2rem;
    position: relative;
    transition: all 0.2s ease;
}

.control-point-item:hover {
    background: rgba(194, 196, 108, 0.05);
    border-color: var(--primary);
    box-shadow: 0 0 10px rgba(194, 196, 108, 0.2);
}

.control-point-item strong {
    color: var(--primary);
    font-size: 1.2rem;
    display: block;
    margin-bottom: 0.5rem;
    font-family: 'Philosopher', serif;
    letter-spacing: 0.5px;
}

.control-point-item .coordinates {
    color: var(--secondary);
    font-family: 'Philosopher', serif;
    font-size: 0.9rem;
    opacity: 0.7;
}

.control-point-item .claim-status {
    margin-top: 1rem;
    padding-top: 0.8rem;
    border-top: 1px solid rgba(194, 196, 108, 0.1);
    color: var(--light);
    font-size: 0.9rem;
    font-style: italic;
}

/* Command list styling */
.command-list {
    margin: 0.5rem 0;
    padding-left: 1.2rem;
}

.command-list li {
    color: var(--secondary);
    font-family: 'Philosopher', serif;
    font-size: 0.9rem;
    margin: 0.3rem 0;
}

/* Section headers */
.control-points-section {
    margin-top: 2rem;
}

.control-points-section h3 {
    color: var(--primary);
    font-family: 'Philosopher', serif;
    font-size: 1.4rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    letter-spacing: 0.5px;
}

.control-points-section h3::after {
    content: '';
    height: 1px;
    flex-grow: 1;
    background: linear-gradient(to right,
        rgba(194, 196, 108, 0.4),
        transparent
    );
}