/* Negro y rosa, como el escritorio de Anne. Sin frameworks: son formularios sobre archivos. */
:root {
  --fondo: #0b0b0d;
  --papel: #141418;
  --borde: #26262e;
  --texto: #e8e8ee;
  --tenue: #8a8a99;
  --rosa: #ff2d78;
  --verde: #3ddc84;
  --ambar: #ffb020;
  --rojo: #ff4d4d;
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--fondo); color: var(--texto);
  font: 15px/1.55 ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif;
}
header {
  display: flex; align-items: center; gap: 24px;
  padding: 14px 22px; border-bottom: 1px solid var(--borde); background: var(--papel);
}
.marca { color: var(--rosa); font-weight: 700; letter-spacing: .5px; text-decoration: none; }
nav a { color: var(--tenue); text-decoration: none; margin-right: 14px; }
nav a:hover, nav a.aca { color: var(--texto); }
main { max-width: 900px; margin: 0 auto; padding: 26px 22px 60px; }
h1 { font-size: 22px; margin: 0 0 20px; }
h2 { font-size: 13px; text-transform: uppercase; letter-spacing: .09em; color: var(--tenue);
     margin: 0 0 14px; font-weight: 600; }
.tarjeta { background: var(--papel); border: 1px solid var(--borde); border-radius: 10px;
           padding: 18px 20px; margin-bottom: 18px; }
.grande { font-size: 16px; margin: 0 0 6px; }
.chico { font-size: 13px; color: var(--tenue); margin: 0; }
.ojo { color: var(--ambar); }
table { width: 100%; border-collapse: collapse; }
td { padding: 7px 10px 7px 0; border-bottom: 1px solid var(--borde); vertical-align: middle; }
tr:last-child td { border-bottom: 0; }
td.nombre { font-family: ui-monospace, "JetBrains Mono", monospace; font-size: 13.5px; }
.punto { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--tenue); }
.punto.bien { background: var(--verde); }
.punto.tibio { background: var(--ambar); }
.punto.mal { background: var(--rojo); }
footer { color: var(--tenue); font-size: 12px; text-align: center; padding: 0 0 30px;
         font-family: ui-monospace, monospace; }

/* Formularios */
.angosta { max-width: 430px; }
label { display: block; margin: 0 0 14px; font-size: 13px; color: var(--tenue); }
input[type=text], input[type=password], input:not([type]) {
  display: block; width: 100%; margin-top: 5px; padding: 9px 11px;
  background: var(--fondo); color: var(--texto);
  border: 1px solid var(--borde); border-radius: 7px; font: inherit;
}
input:focus { outline: none; border-color: var(--rosa); }
button {
  padding: 9px 18px; border: 0; border-radius: 7px; cursor: pointer;
  background: var(--rosa); color: #fff; font: inherit; font-weight: 600;
}
button:hover { filter: brightness(1.12); }
.error { color: var(--rojo); font-size: 14px; margin: 0 0 14px; }
code { font-family: ui-monospace, monospace; font-size: 12.5px; color: var(--texto); }
header .salir { margin-left: auto; }
header .salir button { background: transparent; color: var(--tenue); font-weight: 400; padding: 4px 8px; }
header .salir button:hover { color: var(--texto); filter: none; }

/* Barra de secciones */
nav.secciones {
  display: flex; flex-wrap: wrap; gap: 2px; padding: 8px 22px;
  border-bottom: 1px solid var(--borde); background: #101014;
}
nav.secciones a {
  color: var(--tenue); text-decoration: none; font-size: 13px;
  padding: 5px 10px; border-radius: 6px;
}
nav.secciones a:hover { color: var(--texto); background: var(--papel); }
nav.secciones a.aca { color: var(--rosa); background: var(--papel); }

/* Aviso de cambios sin aplicar */
.pendiente {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  background: #2a1f08; border: 1px solid #5a4410; color: #ffd88a;
  border-radius: 9px; padding: 12px 16px; margin-bottom: 20px; font-size: 14px;
}
.pendiente button { margin-left: auto; background: var(--ambar); color: #2a1f08; }
.pendiente strong { color: #fff2d5; }

/* Editor */
.ayuda { max-width: 70ch; margin: -10px 0 18px; }
textarea {
  width: 100%; background: var(--fondo); color: var(--texto); border: 1px solid var(--borde);
  border-radius: 8px; padding: 12px; resize: vertical;
  font-family: ui-monospace, "JetBrains Mono", monospace; font-size: 13px; line-height: 1.6;
}
textarea:focus { outline: none; border-color: var(--rosa); }
.pie-form { display: flex; align-items: center; gap: 14px; margin-top: 14px; }
.ok { color: var(--verde); font-size: 14px; margin: 0 0 14px; }
.aviso { color: var(--ambar); font-size: 13.5px; margin: 0 0 14px; max-width: 70ch; }
.opciones { display: flex; gap: 22px; }
.radio { display: flex; align-items: center; gap: 7px; color: var(--texto); font-size: 15px; }
.radio input { width: auto; margin: 0; }
a { color: var(--rosa); }

/* Bloque de personalidad dentro de un prompt: se ve, no se toca */
pre.bloqueado {
  margin: 0; padding: 12px; border-radius: 8px; max-height: 260px; overflow: auto;
  background: #0e0e11; border: 1px dashed var(--borde); color: var(--tenue);
  font-family: ui-monospace, monospace; font-size: 12.5px; line-height: 1.55;
  white-space: pre-wrap;
}

.interruptor { align-items: flex-start; margin-bottom: 16px; }
.interruptor input { margin-top: 4px; }
.interruptor .chico { display: block; margin-top: 2px; }
label .chico { display: block; margin-top: 4px; }

pre.registro {
  margin: 0; padding: 12px; border-radius: 8px; background: #0e0e11;
  border: 1px solid var(--borde); color: var(--texto);
  font-family: ui-monospace, monospace; font-size: 12px; line-height: 1.6;
  white-space: pre-wrap; word-break: break-word; overflow: auto;
  height: 62vh;
}
pre.registro.corto { height: auto; max-height: 240px; }
.dos { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 760px) { .dos { grid-template-columns: 1fr; } }

/* El aviso suave es el que NO desconecta a Cameron */
.pendiente.suave {
  background: #0d2018; border-color: #1e4d34; color: #9fe6bd;
}
.pendiente.suave strong { color: #d7fbe6; }
.pendiente.suave button { background: var(--verde); color: #06261a; }
