:root{--hintergrund: #f5f6f8;--flaeche: #ffffff;--flaeche-gedaempft: #eff1f5;--text: #15171c;--gedaempft: #6b7280;--rand: #e3e5ea;--akzent: #4f46e5;--akzent-hell: #eef0ff;--akzent-text: #ffffff;--erfolg: #047857;--erfolg-hell: #e7f6ef;--gefahr: #b91c1c;--warnung-hell: #fdf3e7;--warnung-rand: #e9c79a;--radius: 14px;--radius-klein: 10px;--schatten: 0 1px 2px rgb(16 24 40 / 6%), 0 8px 24px rgb(16 24 40 / 6%);--breite: 880px}@media(prefers-color-scheme:dark){:root{--hintergrund: #101216;--flaeche: #191c22;--flaeche-gedaempft: #23272f;--text: #eef0f4;--gedaempft: #9aa1ad;--rand: #2c313a;--akzent: #7c7bf5;--akzent-hell: #232447;--akzent-text: #0d0f14;--erfolg: #34d399;--erfolg-hell: #12291f;--warnung-hell: #2a2113;--warnung-rand: #6b5426;--schatten: 0 1px 2px rgb(0 0 0 / 40%), 0 8px 24px rgb(0 0 0 / 30%)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--hintergrund);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}h1,h2,h3{margin:0;line-height:1.25}a{color:var(--akzent)}code{background:var(--flaeche-gedaempft);border-radius:6px;padding:.1em .35em;font-size:.9em}:focus-visible{outline:2px solid var(--akzent);outline-offset:2px}.gedaempft{color:var(--gedaempft)}.nur-vorlesen{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.huelle{display:flex;flex-direction:column;min-height:100dvh}.kopfzeile{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--flaeche) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--rand)}.kopfzeile__innen{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;max-width:var(--breite);margin:0 auto;padding:.7rem 1rem}.marke{display:flex;align-items:center;gap:.6rem;color:inherit;text-decoration:none}.marke strong{display:block;font-size:1.05rem;letter-spacing:-.01em}.marke small{display:block;color:var(--gedaempft);font-size:.75rem}.marke__punkt{width:1.6rem;height:1.6rem;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--akzent),#22d3ee);box-shadow:0 0 0 4px var(--akzent-hell)}.nav{display:flex;flex-wrap:wrap;gap:.25rem;margin-left:auto}.nav__link{border:0;background:transparent;color:var(--gedaempft);font:inherit;font-size:.95rem;padding:.4rem .7rem;border-radius:999px;text-decoration:none;cursor:pointer}.nav__link:hover{background:var(--flaeche-gedaempft);color:var(--text)}.nav__link--aktiv{background:var(--akzent-hell);color:var(--akzent);font-weight:600}.inhalt{flex:1;width:100%;max-width:var(--breite);margin:0 auto;padding:1.5rem 1rem 3rem}.fusszeile{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;max-width:var(--breite);margin:0 auto;padding:1rem;border-top:1px solid var(--rand);color:var(--gedaempft);font-size:.8rem}.stapel{display:flex;flex-direction:column;gap:1.5rem}.mittig{display:grid;place-items:center;min-height:100dvh;padding:1.5rem}.hero{padding:1.75rem;border:1px solid var(--rand);border-radius:var(--radius);background:radial-gradient(120% 140% at 0% 0%,var(--akzent-hell),transparent 60%),var(--flaeche);box-shadow:var(--schatten)}.hero__ueber{margin:0 0 .35rem;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--akzent)}.hero__titel{font-size:clamp(1.9rem,5vw,2.6rem);letter-spacing:-.02em}.hero__text{max-width:46ch;margin:.75rem 0 0;color:var(--gedaempft)}.abschnitt{display:flex;align-items:baseline;gap:.5rem;font-size:1.05rem;margin-bottom:.75rem}.abschnitt--klein{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gedaempft);margin:1.25rem 0 .35rem}.karten{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.85rem}.karte{display:flex;flex-direction:column;gap:.4rem;padding:1.1rem;border:1px solid var(--rand);border-radius:var(--radius);background:var(--flaeche);color:inherit;text-decoration:none}.karte--link{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.karte--link:hover{transform:translateY(-2px);border-color:var(--akzent);box-shadow:var(--schatten)}.karte--bald{opacity:.6;border-style:dashed}.karte__symbol{font-size:1.3rem}.karte__titel{display:flex;align-items:center;gap:.5rem;font-size:1rem}.karte__text{margin:0;color:var(--gedaempft);font-size:.9rem}.karte__pfeil{margin-top:auto;padding-top:.5rem;color:var(--akzent);font-size:.85rem;font-weight:600}.marke-bald{padding:.1rem .45rem;border-radius:999px;background:var(--flaeche-gedaempft);color:var(--gedaempft);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.marke-laufend{display:inline-block;margin-left:.6rem;padding:.15rem .5rem;border-radius:999px;background:var(--erfolg-hell);color:var(--erfolg);border:1px solid color-mix(in srgb,var(--erfolg) 45%,transparent);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.kopf-karte{padding:1.25rem;border:1px solid var(--rand);border-radius:var(--radius);background:var(--flaeche);box-shadow:var(--schatten)}.kopf-karte__oben{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.kopf-karte__titel{font-size:clamp(1.3rem,4vw,1.7rem);letter-spacing:-.01em}.kopf-karte__meta{margin:.3rem 0 0;color:var(--gedaempft)}.kopf-karte__statistik{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.75rem 0 0;font-size:.85rem}.zaehler{text-align:right}.zaehler__zahl{display:block;font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}.zaehler__text{color:var(--gedaempft);font-size:.8rem}.fortschritt{height:8px;margin-top:1rem;border-radius:999px;background:var(--flaeche-gedaempft);overflow:hidden}.fortschritt__balken{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--akzent),#22d3ee);transition:width .25s ease}.live{display:inline-flex;align-items:center;gap:.35rem}.live__punkt{width:.5rem;height:.5rem;border-radius:50%;background:var(--erfolg);animation:pulsieren 2.4s ease-in-out infinite}@keyframes pulsieren{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.live__punkt{animation:none}}.werkzeuge{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.werkzeuge--unten{justify-content:flex-start;padding-top:.5rem;border-top:1px solid var(--rand)}.reiter{display:flex;flex-wrap:wrap;gap:.35rem}.reiter__knopf{padding:.4rem .8rem;border:1px solid var(--rand);border-radius:999px;background:var(--flaeche);color:var(--gedaempft);font:inherit;font-size:.9rem;cursor:pointer}.reiter__knopf--aktiv{border-color:var(--akzent);background:var(--akzent-hell);color:var(--akzent);font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-left:auto}.chip{padding:.4rem .8rem;border:1px solid var(--rand);border-radius:999px;background:var(--flaeche);color:var(--gedaempft);font:inherit;font-size:.9rem;cursor:pointer}.chip--aktiv{border-color:var(--akzent);background:var(--akzent-hell);color:var(--akzent);font-weight:600}.personen{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0}.person{display:flex;align-items:center;gap:.85rem;width:100%;min-height:3.4rem;padding:.6rem .85rem;border:1px solid var(--rand);border-radius:var(--radius-klein);background:var(--flaeche);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease}.person:hover{border-color:var(--akzent)}.person--anwesend{border-color:color-mix(in srgb,var(--erfolg) 45%,var(--rand));background:var(--erfolg-hell)}.person__haken{display:grid;place-items:center;flex:0 0 auto;width:1.9rem;height:1.9rem;border:2px solid var(--rand);border-radius:8px;background:var(--flaeche);color:transparent;font-size:1.1rem;font-weight:700;transition:background .12s ease,border-color .12s ease,color .12s ease}.person--anwesend .person__haken{border-color:var(--erfolg);background:var(--erfolg);color:var(--flaeche)}.person__text{display:flex;flex-direction:column;min-width:0}.person__name{font-weight:600;overflow-wrap:anywhere}.person__meta{color:var(--gedaempft);font-size:.78rem}.feld{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.feld--suche{flex:1 1 16rem}.feld input{width:100%;padding:.6rem .75rem;border:1px solid var(--rand);border-radius:var(--radius-klein);background:var(--flaeche);color:var(--text);font:inherit}.feld input:focus-visible{border-color:var(--akzent)}.knopf{display:inline-block;padding:.6rem 1rem;border:1px solid var(--rand);border-radius:var(--radius-klein);background:var(--flaeche);color:var(--text);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.knopf--haupt{border-color:transparent;background:var(--akzent);color:var(--akzent-text)}.knopf--klein{padding:.3rem .7rem;font-size:.85rem}.knopf--still{color:var(--gedaempft)}.knopf--gefahr{border-color:transparent;background:var(--gefahr);color:#fff}.knopf:disabled{opacity:.5;cursor:not-allowed}.rueckfrage{display:flex;flex-direction:column;gap:.75rem;width:100%;padding:1rem;border:1px solid var(--warnung-rand);border-radius:var(--radius-klein);background:var(--warnung-hell)}.rueckfrage p{margin:0}.rueckfrage__knoepfe{display:flex;flex-wrap:wrap;gap:.5rem}.hinweis{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.8rem 1rem;border:1px solid var(--rand);border-radius:var(--radius-klein);background:var(--flaeche);font-size:.9rem}.hinweis--warnung{border-color:var(--warnung-rand);background:var(--warnung-hell)}.hinweis--erfolg{border-color:color-mix(in srgb,var(--erfolg) 45%,var(--rand));background:var(--erfolg-hell)}.warnung{margin:0;padding:.6rem .75rem;border:1px solid var(--warnung-rand);border-radius:var(--radius-klein);background:var(--warnung-hell);font-size:.9rem}.anmeldung{display:flex;flex-direction:column;gap:1rem;width:min(24rem,100%);padding:1.75rem;border:1px solid var(--rand);border-radius:var(--radius);background:var(--flaeche);box-shadow:var(--schatten)}.anmeldung__kopf{display:flex;align-items:center;gap:.75rem}.anmeldung__kopf h1{font-size:1.4rem;letter-spacing:-.01em}.anmeldung p{margin:0}.marke-andere{display:inline-block;margin-left:.6rem;padding:.15rem .5rem;border-radius:999px;background:var(--akzent-hell);color:var(--akzent);border:1px solid color-mix(in srgb,var(--akzent) 45%,transparent);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.termine-heute{list-style:none;display:flex;flex-direction:column;gap:.3rem;margin:.9rem 0 0;padding:.75rem 0 0;border-top:1px solid var(--rand);font-size:.9rem}.termine-heute li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem}.termine-heute__titel{font-weight:600}.stibi{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.1rem;border:1px solid var(--rand);border-radius:var(--radius);background:var(--flaeche);box-shadow:var(--schatten)}.stibi__kopf{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.stibi__name{font-size:1.15rem;letter-spacing:-.01em}.stibi__zahl{color:var(--gedaempft);font-size:.9rem;font-variant-numeric:tabular-nums}.stibi__zahl strong{color:var(--erfolg);font-size:1.3rem}.stibi__andere{margin:0;font-size:.82rem}.stibi__rest summary{cursor:pointer;color:var(--gedaempft);font-size:.88rem}.stibi__rest-inhalt{padding-top:.5rem}.schueler{display:flex;align-items:center;gap:.75rem;min-height:3.1rem;padding:.55rem .8rem;border:1px solid var(--rand);border-radius:var(--radius-klein);background:var(--flaeche)}.schueler--da,.schueler--kein_konto{border-color:color-mix(in srgb,var(--erfolg) 45%,var(--rand));background:var(--erfolg-hell)}.schueler--unbekannt,.schueler--abgesagt,.schueler--nicht_erfasst{opacity:.75}.schueler__punkt{flex:0 0 auto;width:.6rem;height:.6rem;border-radius:50%;background:var(--rand)}.schueler--da .schueler__punkt{background:var(--erfolg)}.schueler--kein_konto .schueler__punkt{background:transparent;border:2px solid var(--erfolg)}.schueler--nicht_erschienen .schueler__punkt{background:var(--gefahr)}.schueler--nicht_erfasst .schueler__punkt{background:transparent;border:1px dashed var(--gedaempft)}.zeitmarke{flex:0 0 auto;margin-left:auto;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--rand);background:var(--flaeche-gedaempft);color:var(--gedaempft);font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums}@media(max-width:520px){.kopfzeile__innen{padding:.6rem .75rem}.nav{width:100%;margin-left:0}.inhalt{padding:1rem .75rem 2.5rem}.kopf-karte__oben{flex-direction:column}.zaehler{text-align:left}.chips{margin-left:0}.stibi__kopf{flex-direction:column;gap:.15rem}.termine-heute li{flex-direction:column;gap:.1rem}}
