/* Jarvis-Anmeldung für Kollegen: gleicher roter Look wie Tims Jarvis */
:root { --rot: #ff1f3d; --rot2: #ff5c75; --bg: #070507; --text: #f4eef0; --leise: #a7949a; }
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); font-family: "Chakra Petch", system-ui, sans-serif; overflow-x: hidden; }
body { background: radial-gradient(ellipse at 50% 40%, rgba(255,31,61,.16), transparent 60%), var(--bg); min-height: 100vh; }
.raster { position: fixed; inset: 0; pointer-events: none; opacity: .35;
  background-image: linear-gradient(rgba(255,31,61,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,31,61,.07) 1px, transparent 1px);
  background-size: 48px 48px; mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%); }
.kopf { position: relative; display: flex; justify-content: space-between; align-items: center; padding: 18px 28px; }
.marke { font-weight: 700; letter-spacing: .3em; font-size: 15px; display: flex; align-items: center; gap: 10px; }
.punkt { width: 10px; height: 10px; background: var(--rot); box-shadow: 0 0 12px var(--rot); transform: rotate(45deg); }
.status { font: 12px "JetBrains Mono", monospace; letter-spacing: .2em; color: var(--leise); display: flex; align-items: center; gap: 8px; }
.status i { width: 8px; height: 8px; border-radius: 50%; background: var(--rot); box-shadow: 0 0 10px var(--rot); animation: blink 1.4s infinite; }
.status.ok i { background: #3dffa0; box-shadow: 0 0 10px #3dffa0; }
@keyframes blink { 50% { opacity: .25; } }

.buehne { position: relative; display: flex; flex-direction: column; align-items: center; padding: 0 16px 40px; }
.label { margin: 6px 0 0; font: 13px "JetBrains Mono", monospace; letter-spacing: .5em; color: var(--leise); }
.wort { margin: 4px 0 0; font-size: clamp(38px, 8vw, 92px); font-weight: 700; letter-spacing: .06em; line-height: 1;
  text-shadow: 0 0 28px rgba(255,31,61,.85), 0 0 4px rgba(255,255,255,.6); transition: opacity .25s; }
.wort.weg { opacity: 0; }
.auge-box { width: min(440px, 80vw); aspect-ratio: 1; margin-top: -10px; }
#auge { width: 100%; height: 100%; display: block; cursor: pointer; }
.sagt { min-height: 3.2em; max-width: 760px; text-align: center; font-size: clamp(16px, 2.2vw, 22px); margin: -6px 0 18px; line-height: 1.45; }
.sagt .wer { font: 13px "JetBrains Mono", monospace; letter-spacing: .3em; color: var(--rot); margin-right: 6px; }
.cursor { color: var(--rot); animation: blink 1s infinite; margin-left: 2px; }

.login { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; align-items: flex-end; width: min(760px, 100%);
  padding: 16px; border: 1px solid rgba(255,31,61,.4); border-radius: 14px; background: rgba(20,8,12,.72); box-shadow: 0 0 40px rgba(255,31,61,.15); }
.login label { display: flex; flex-direction: column; gap: 6px; flex: 1 1 220px; font: 11px "JetBrains Mono", monospace; letter-spacing: .2em; color: var(--leise); text-transform: uppercase; }
input { font: 16px "Chakra Petch", sans-serif; color: var(--text); background: #0d080a; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; padding: 12px 14px; outline: none; }
input:focus { border-color: var(--rot); box-shadow: 0 0 0 3px rgba(255,31,61,.2); }
.knopf { font: 700 15px "Chakra Petch", sans-serif; letter-spacing: .08em; color: #fff; background: linear-gradient(180deg, #ff3550, #d20f2c); border: 0; border-radius: 10px;
  padding: 13px 22px; cursor: pointer; box-shadow: 0 0 22px rgba(255,31,61,.5); }
.knopf:hover { filter: brightness(1.1); }
.knopf:disabled { opacity: .5; cursor: wait; }
.knopf.leise { background: transparent; border: 1px solid rgba(255,31,61,.5); box-shadow: none; padding: 10px 16px; font-size: 13px; }
.chat { display: flex; gap: 8px; width: min(760px, 100%); margin-top: 12px; }
.chat input { flex: 1; font-size: 14px; padding: 10px 12px; }
.hinweis { font: 12px "JetBrains Mono", monospace; color: var(--leise); letter-spacing: .1em; margin-top: 14px; text-align: center; }
.hinweis.weg { visibility: hidden; }
.login.wackel { animation: wackel .4s; }
@keyframes wackel { 20%, 60% { transform: translateX(-8px); } 40%, 80% { transform: translateX(8px); } }
@media (max-width: 600px) { .kopf { padding: 14px 16px; } .status { display: none; } }
@media (prefers-reduced-motion: reduce) { .status i, .cursor { animation: none; } }
.edge { margin-top: 10px; font: 600 13px "Chakra Petch", sans-serif; color: #fff; text-decoration: none; padding: 9px 16px; border-radius: 999px;
  border: 1px solid rgba(255,31,61,.55); background: rgba(255,31,61,.12); }
.edge:hover { background: rgba(255,31,61,.25); }
.datenschutz { font: 11px "JetBrains Mono", monospace; color: #6f5f64; margin-top: 18px; letter-spacing: .05em; text-align: center; }
