  body {
    background: #000;
    color: #33ff33;
    font-family: 'Courier New', monospace;
    margin: 0; 
    padding: 0;
    user-select: none;
    overflow: hidden;
    transition: background 0.2s;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    
    /* Effet CRT - Légère distorsion */
    animation: flicker 0.15s infinite linear alternate;
  }

  @keyframes flicker {
    0% { opacity: 1; }
    98% { opacity: 1; }
    99% { opacity: 0.98; }
    100% { opacity: 1; }
  }

  .terminal-container {
    width: 90%;
    max-width: 1200px;
    height: 70vh;
    display: flex;
    flex-direction: column;
    border: 2px solid #33ff33;
    border-radius: 8px;
    background: #001100;
    box-shadow: 0 0 20px rgba(0, 255, 0, 0.3);
    overflow: hidden;
    position: relative;
  }

  /* Effet CRT - Lignes de scan */
  .terminal-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
      rgba(0, 255, 0, 0.03) 50%, 
      transparent 50%
    );
    background-size: 100% 4px;
    animation: scanlines 0.1s linear infinite;
    pointer-events: none;
    z-index: 1000;
  }

  /* Effet CRT - Phosphorescence */
  .terminal-container::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(
      ellipse at center,
      rgba(0, 255, 0, 0.1) 0%,
      rgba(0, 255, 0, 0.05) 50%,
      rgba(0, 0, 0, 0.1) 100%
    );
    pointer-events: none;
    z-index: 999;
  }

  @keyframes scanlines {
    0% { transform: translateY(0); }
    100% { transform: translateY(4px); }
  }

  #terminal {
    flex: 1;
    overflow-y: auto;
    white-space: pre-wrap;
    padding: 20px;
    background: #001100;
    font-size: 1.5em;
    line-height: 1.4;
    transition: opacity 0.1s;
    position: relative;
    z-index: 1;
    margin: 0;
    
    /* Hérite de la police body par défaut */
    
    /* Effet CRT - Bloom et contraste réduits */
    filter: contrast(1.1) brightness(1.05);
    text-shadow: 
      0 0 2px #33ff33,
      0 0 4px #33ff33;
    
    /* Scrollbar Firefox */
    scrollbar-width: thin;
    scrollbar-color: #33ff33 #001100;
  }

  /* Scrollbar Webkit (Chrome, Safari, Edge) */
  #terminal::-webkit-scrollbar {
    width: 12px;
  }

  #terminal::-webkit-scrollbar-track {
    background: #001100;
    border-radius: 6px;
  }

  #terminal::-webkit-scrollbar-thumb {
    background: #33ff33;
    border-radius: 6px;
    border: 2px solid #001100;
    box-shadow: 0 0 5px rgba(51, 255, 51, 0.5);
  }

  #terminal::-webkit-scrollbar-thumb:hover {
    background: #00ff00;
    box-shadow: 0 0 8px rgba(0, 255, 0, 0.7);
  }

  #terminal::-webkit-scrollbar-corner {
    background: #001100;
  }

  #inputContainer { 
    display: flex; 
    align-items: center; 
    margin: 0;
    padding: 15px 20px;
    background: #002200;
    border-top: 1px solid #33ff33;
    position: relative;
    min-height: 40px;
    z-index: 1;
    
    /* Effet CRT pour la zone de saisie */
    filter: contrast(1.2) brightness(1.1);
  }

  #prompt { 
    font-size: 1.6em; 
    margin-right: 10px; 
    color: #00ff00;
    font-weight: bold;
    text-shadow: 
      0 0 5px #00ff00,
      0 0 10px #00ff00,
      0 0 15px #00ff00;
  }
  
  #inputLine {
    flex: 1; 
    background: transparent; 
    color: #33ff33;
    border: none; 
    outline: none; 
    font-size: 1.5em;
    caret-color: transparent;
    position: relative;
    
    /* Hérite de la même police que le terminal (body) */
    font-family: inherit;
    font-weight: inherit;
    
    /* Même effet de lueur que le terminal */
    text-shadow: 
      0 0 2px #33ff33,
      0 0 4px #33ff33;
    
    /* Même filtre que le terminal */
    filter: contrast(1.1) brightness(1.05);
  }

/* Zone de prompt plus visible */
#inputContainer:focus-within {
  background: #003300;
  box-shadow: inset 0 0 10px rgba(0, 255, 0, 0.2);
}

  /* Curseur bloc personnalisé positionné dynamiquement */
  #cursor {
    position: absolute;
    width: 14px;
    height: 26px;
    background: #33ff33;
    animation: blink 1s infinite;
    border-radius: 2px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    pointer-events: none;
    
    /* Effet CRT pour le curseur */
    box-shadow: 
      0 0 5px #33ff33,
      0 0 10px #33ff33,
      0 0 15px #33ff33;
  }

@keyframes blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

#loginOverlay, #shutdownOverlay, #passwordPopup {
  position: fixed; 
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%;
  background: rgba(0,0,0,0.95);
  display: flex; 
  align-items: center; 
  justify-content: center;
  flex-direction: column;
  z-index: 1000;
}

.login-box, .password-box {
  background: #001100;
  border: 2px solid #33ff33;
  border-radius: 8px;
  padding: 30px;
  box-shadow: 0 0 20px rgba(0, 255, 0, 0.4);
}

.login-box { 
  display: flex; 
  flex-direction: column; 
  gap: 10px; 
}

.login-box h1 { 
  color: #33ff33; 
  font-family: monospace; 
  margin-bottom: 10px; 
  text-align: center;
}

.login-box input, .login-box button { 
  font-family: monospace; 
  padding: 12px; 
  background: black !important;
  color: #33ff33 !important;
  border: 2px solid #33ff33;
  font-size: 1.1em;
}

.login-box input::placeholder {
  color: #006600 !important;
  opacity: 0.8;
}

.login-box input:focus {
  outline: none;
  border-color: #00ff00;
  box-shadow: 0 0 5px #0f0;
}

.login-box button {
  cursor: pointer;
  transition: all 0.3s ease;
}

.login-box button:hover {
  background: #003300;
  box-shadow: 0 0 8px #0f0;
}

#progressBarContainer {
  margin-top: 10px; 
  width: 100%;
  background: #003300; 
  border: 1px solid #33ff33;
  height: 18px; 
  display: none;
}

#progressBar {
  height: 100%; 
  width: 0; 
  background: #00ff00;
  transition: width 0.3s linear;
}

#shutdownOverlay { 
  display: none; 
  color: #33ff33; 
  font-family: monospace; 
  font-size: 2em; 
}

.alert-flash { 
  animation: flash-bg 0.5s infinite; 
}

@keyframes flash-bg {
  0%, 100% { background: red; }
  50% { background: black; }
}

#passwordPopup { 
  z-index: 1001; 
}

.password-box {
  display: flex; 
  flex-direction: column; 
  gap: 15px;
  padding: 30px;
  border: 2px solid #33ff33;
  background: #001000;
  filter: drop-shadow(0 0 8px #0f0);
}

.password-box h1 {
  color: #33ff33; 
  font-family: monospace; 
  margin: 0; 
  text-align: center;
  font-size: 1.5em;
}

.password-box input, .password-box button {
  font-family: monospace; 
  font-size: 1.2em; 
  padding: 10px;
  background: black; 
  color: #33ff33; 
  border: 1px solid #33ff33;
}

.password-box button:hover { 
  background: #003300; 
  cursor: pointer; 
} 