:root{--color-brand-yellow: #fffc00;--color-brand-yellow-hover: #f0ed00;--color-dark: #2a2623;--color-dark-hover: #3d3835;--color-text: #2a2623;--color-text-strong: #1a1a2e;--color-text-body: #2d3142;--color-text-secondary: #5c677d;--color-border: #e4e2dc;--color-border-strong: #d0d5db;--color-teal: #00897b;--color-teal-hover: #00796b;--color-teal-bg: #e0f2f0;--color-teal-bg-soft: #f0f9f7;--color-blau: #1565c0;--color-blau-bg: #e3eefa;--color-bernstein: #f57f17;--color-bernstein-bg: #fff8e1;--color-rot: #c62828;--color-rot-bg: #fdecea;--color-gruen: #1a7a3a;--color-gruen-bg: #e6f9ec;--color-neutral: #5c677d;--color-neutral-bg: #f4f5f7;--color-neutral-text: #9aa0ae;--color-bg: #fafafa;--color-bg-alt: #f2f1ee;--color-card-bg: #ffffff;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-xxl: 18px;--radius-pill: 20px;--shadow-card: 0 1px 4px rgba(0, 0, 0, .07);--shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .1);--font-heading: "BaWueSans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "BaWueSans", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif: "BaWueSerif", Georgia, serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);color:var(--color-text-body);background:var(--color-bg)}.seite{padding:2rem 1.25rem;max-width:480px;margin:0 auto;position:relative}.hero{background:var(--color-dark);color:#fff;border-radius:var(--radius-xxl);padding:2.5rem 1.75rem;text-align:center;margin-bottom:1.5rem}.hero__kicker{font:400 .625rem var(--font-heading);letter-spacing:3px;text-transform:uppercase;color:#fffc008c;margin-bottom:1rem}.hero h1{font:700 2.25rem/1.1 var(--font-heading);color:var(--color-brand-yellow);margin:0 0 .5rem}.hero p{font:400 1rem/1.5 var(--font-body);color:#ffffffb3;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:var(--radius-md);padding:.5625rem 1.125rem;font:600 .84375rem var(--font-heading);cursor:pointer;text-decoration:none;transition:background-color .15s ease}.btn--primary{background:var(--color-teal);color:#fff}.btn--primary:hover{background:var(--color-teal-hover)}.btn--dark{background:var(--color-dark);color:#fff}.btn--dark:hover{background:var(--color-dark-hover)}.btn--brand{background:var(--color-brand-yellow);color:var(--color-dark)}.btn--brand:hover{background:var(--color-brand-yellow-hover)}.btn--ghost{background:#fff;color:var(--color-dark);border:1.5px solid var(--color-border-strong)}.btn--ghost:hover{background:var(--color-neutral-bg)}.btn--outline{background:transparent;color:var(--color-teal);border:1.5px solid var(--color-teal)}.btn--outline:hover{background:var(--color-teal-bg)}.btn:disabled{background:var(--color-neutral-bg);color:var(--color-neutral-text);cursor:not-allowed}.btn--block{display:flex;width:100%}.startseite-links{display:flex;flex-direction:column;gap:.625rem}.fusszeile{display:flex;justify-content:center;gap:.75rem;margin-top:2.5rem;text-align:center}.fusszeile a,.fusszeile span{font:400 .75rem var(--font-body);color:var(--color-text-secondary);text-decoration:none}.fusszeile a:hover{color:var(--color-text);text-decoration:underline}.card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-xxl);box-shadow:var(--shadow-card);padding:1.5rem}.card+.card{margin-top:1rem}.card__header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.card__icon{width:44px;height:44px;border-radius:var(--radius-lg);background:var(--color-teal-bg);color:var(--color-teal);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.25rem}.card__title{font:700 1.125rem var(--font-heading);color:var(--color-text-strong)}.card__subtitle{font:400 .78125rem var(--font-body);color:var(--color-text-secondary);margin-top:.125rem}.badge{display:inline-flex;align-items:center;gap:.3rem;border-radius:var(--radius-pill);padding:.3125rem .75rem;font:600 .75rem var(--font-heading)}.badge--teal{background:var(--color-teal-bg);color:var(--color-teal)}.badge--blau{background:var(--color-blau-bg);color:var(--color-blau)}.badge--bernstein{background:var(--color-bernstein-bg);color:var(--color-bernstein)}.badge--rot{background:var(--color-rot-bg);color:var(--color-rot)}.badge--gruen{background:var(--color-gruen-bg);color:var(--color-gruen)}.badge--brand{background:var(--color-brand-yellow);color:var(--color-dark)}.badge--neutral{background:var(--color-neutral-bg);color:var(--color-neutral)}.callout{display:flex;gap:.75rem;align-items:flex-start;border-radius:var(--radius-lg);padding:.875rem 1rem;font:400 .875rem/1.5 var(--font-body);color:var(--color-text-strong)}.callout+.callout{margin-top:.75rem}.callout--info{background:var(--color-teal-bg)}.callout--warnung{background:var(--color-bernstein-bg)}.callout--hinweis{background:var(--color-blau-bg)}.callout--fehler{background:var(--color-rot-bg)}.callout--erfolg{background:var(--color-gruen-bg)}.callout--lehrkraft{background:var(--color-teal-bg-soft);border-radius:var(--radius-lg);flex-direction:column}.formular{display:flex;flex-direction:column;gap:.9rem;text-align:left}.formular label{font:600 .8125rem var(--font-heading);color:var(--color-text-secondary)}.formular input,.formular select{padding:.625rem .75rem;font:400 1rem var(--font-body);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);background:#fff;color:var(--color-text)}.formular input.formular__code{font-size:1.35rem;letter-spacing:.25em;text-transform:uppercase;text-align:center}.formular input:focus,.formular select:focus{outline:2px solid var(--color-teal);outline-offset:1px}.code-anzeige{font:700 2rem var(--font-heading);letter-spacing:.2em;text-align:center;color:var(--color-teal)}.zurueck-link{display:inline-block;margin-top:1.5rem;font:500 .8125rem var(--font-body);color:var(--color-text-secondary);text-decoration:none}.zurueck-link:hover{color:var(--color-text)}.badge-feier__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14120e99;display:flex;align-items:center;justify-content:center;padding:1.25rem;z-index:1000;overflow:hidden}.badge-feier__karte{position:relative;background:var(--color-card-bg);border-radius:var(--radius-xxl);box-shadow:var(--shadow-card);padding:2rem 1.5rem;max-width:360px;width:100%;text-align:center;animation:badge-feier-karte-rein .4s cubic-bezier(.34,1.56,.64,1)}@keyframes badge-feier-karte-rein{0%{opacity:0;transform:scale(.85) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.badge-feier__icon{width:96px;height:96px;margin:0 auto 1rem;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:2.5rem;animation:badge-feier-icon-huepfen .7s ease-in-out .3s}@keyframes badge-feier-icon-huepfen{0%{transform:scale(.4) rotate(-8deg)}50%{transform:scale(1.15) rotate(6deg)}75%{transform:scale(.95) rotate(-3deg)}to{transform:scale(1) rotate(0)}}.badge-feier__konfetti-stueck{position:absolute;top:-20px;width:8px;height:14px;opacity:.9;animation-name:badge-feier-konfetti-fall;animation-timing-function:cubic-bezier(.4,0,.6,1);animation-iteration-count:1}@keyframes badge-feier-konfetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(600deg);opacity:.3}}@media (prefers-reduced-motion: reduce){.badge-feier__karte,.badge-feier__icon,.badge-feier__konfetti-stueck{animation:none!important}}
