/* Gemeinsame Grundlage aller Seiten des co:Domain-Check.
   Seitenspezifisches (Layoutbreite, Login-Karte, Ergebnistabelle) bleibt
   bewusst im <style>-Block der jeweiligen Seite — hier steht nur, was
   mehr als eine Seite tatsächlich teilt. */

:root {
  --bg: #0a0a0a;
  --panel: #141414;
  --border: #2a2a2a;
  --text: #f2f2f2;
  --muted: #9a9a9a;
}

* { box-sizing: border-box; }

body { font-family: "Inter", -apple-system, "Segoe UI", sans-serif;
       font-size: 15px; line-height: 1.55; margin: 0;
       background: var(--bg); color: var(--text); }

header img { height: 26px; display: block; }
h1 { font-size: 1.6rem; font-weight: 700; letter-spacing: -0.02em;
     margin: 1.4rem 0 .2rem; }
.hint { color: var(--muted); font-size: .85rem; margin: 0; }

nav.seiten { display: inline-flex; flex-wrap: wrap; gap: .25rem;
             margin-top: 1.2rem; padding: .25rem; font-size: .92rem;
             background: var(--panel); border: 1px solid var(--border);
             border-radius: 8px; }
nav.seiten a { padding: .5rem 1.1rem; border-radius: 6px; font-weight: 500;
               color: #c8c8c8; text-decoration: none;
               transition: background .15s, color .15s; }
nav.seiten a:hover { background: #262626; color: var(--text); }
nav.seiten a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
nav.seiten a[aria-current="page"] { background: #fff; color: #0a0a0a;
                                    font-weight: 600; }

input, textarea { padding: .75rem 1rem; font: inherit; color: var(--text);
                  background: var(--panel); border: 1px solid var(--border);
                  border-radius: 6px; outline: none; }
input:focus, textarea:focus { border-color: #666; }
input::placeholder, textarea::placeholder { color: #555; }
button { padding: .75rem 1.6rem; font: inherit; font-weight: 600;
         border: 0; border-radius: 6px; background: #fff; color: #0a0a0a;
         cursor: pointer; transition: opacity .15s; }
button:hover { opacity: .85; }
button:disabled { background: #444; color: #999; cursor: wait; }

.card { background: var(--panel); border: 1px solid var(--border);
        border-radius: 8px; }

.badge { display: inline-block; font-size: .68rem; font-weight: 600;
         text-transform: uppercase; letter-spacing: .05em;
         padding: .12rem .55rem; border-radius: 99px; margin-left: .6rem;
         vertical-align: 2px; border: 1px solid var(--border); color: var(--muted); }
.hoch { background: #fff; color: #0a0a0a; border-color: #fff; }
.mittel { background: #333; color: #ddd; border-color: #333; }
.niedrig, .KI { background: transparent; color: #bbb; border-color: #555; }
.unbekannt { background: transparent; color: #777; }

ul.belege { margin: .6rem 0 0; padding-left: 1.1rem; color: var(--muted);
            font-size: .82rem; }
ul.belege li { margin-top: .15rem; }

#error { color: #ff8f8f; margin: 1rem 0; }
footer { color: #555; font-size: .78rem; }
