:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:#e9f1fc;background:#0b1524;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% 0%,#1d324b 0,transparent 40%),#0b1524}button,input,select{font:inherit}button{cursor:pointer}.shell{max-width:1100px;margin:auto;padding:24px 20px 90px}.top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:32px}.brand{display:flex;align-items:center;gap:13px;font-weight:850;letter-spacing:.06em}.brand img{width:48px;height:48px}.brand small{display:block;color:#91a8c3;font-size:10px;letter-spacing:.16em;margin-top:3px}.pill{background:#1e3046;border:1px solid #344860;border-radius:30px;padding:8px 13px;color:#bcd0e5;font-size:12px}.hero{background:linear-gradient(120deg,#192e48,#102139);border:1px solid #304760;border-radius:24px;padding:32px;margin-bottom:22px}.eyebrow{color:#ffb75c;font-weight:750;text-transform:uppercase;font-size:11px;letter-spacing:.16em}h1{font-size:clamp(28px,5vw,46px);letter-spacing:-.04em;margin:10px 0}h2{margin:0 0 17px;font-size:22px}h3{margin:0 0 8px}p{color:#a9bfd8;line-height:1.6}.muted{color:#8ea6c1}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.metric,.card{background:#16263a;border:1px solid #2a4058;border-radius:18px;padding:22px}.metric b{font-size:30px;display:block}.metric span{color:#a1b5ce;font-size:12px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{transition:border-color .2s}.card:hover{border-color:#ed9e4d}.card .emoji{font-size:26px;margin-bottom:13px}.card p{margin:8px 0 18px;font-size:14px}.btn{border:0;border-radius:12px;padding:13px 19px;background:#e95046;color:white;font-weight:750}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.secondary{background:#263b54;color:#e2edf8}.btn.ghost{background:transparent;border:1px solid #3c5068;color:#e2edf8}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.control{background:#122238;border:1px solid #3b526d;color:#e9f1fc;padding:12px;border-radius:10px;max-width:100%}.question{max-width:820px;margin:auto}.progress{height:8px;background:#30445c;border-radius:20px;overflow:hidden;margin:16px 0 24px}.progress>div{height:100%;background:#f5ae53;transition:width .25s}.answer{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:#172940;color:#e9f1fc;border:1px solid #334b64;padding:17px;border-radius:13px;margin:10px 0;line-height:1.5}.answer strong{color:#ffbd69}.answer.selected{border-color:#f3a94f;background:#26354a}.answer.correct{border-color:#34bc83;background:#163d36}.answer.wrong{border-color:#e85d60;background:#3b2633}.feedback{padding:20px;border-radius:15px;background:#1d3145;border-left:4px solid #f3a94f;margin:18px 0}.feedback.good{border-color:#34bc83}.feedback.bad{border-color:#e85d60}.feedback p{margin:9px 0}.tag{display:inline-block;background:#28405a;color:#bed5eb;padding:6px 10px;border-radius:8px;font-size:12px;margin-right:6px}.bar{height:9px;background:#34475c;border-radius:12px;overflow:hidden;margin:10px 0}.bar>div{height:100%;background:#f1ad55}.row{display:flex;justify-content:space-between;gap:14px;align-items:center}.list{display:grid;gap:10px}.item{background:#17283d;border:1px solid #30465f;border-radius:12px;padding:15px}.footer{color:#7e95ad;font-size:12px;margin-top:40px;line-height:1.7}a{color:#ffbd69}.notice{padding:13px;border:1px solid #46586d;border-radius:12px;color:#b3c7dd;font-size:13px}.hidden{display:none}@media(max-width:650px){.shell{padding:16px 13px 60px}.hero{padding:24px 19px}.metrics{grid-template-columns:repeat(3,1fr);gap:7px}.metric{padding:15px 10px}.metric b{font-size:23px}.cards{grid-template-columns:1fr}.top .pill{display:none}.row{align-items:flex-start}.question{padding:0 2px}}

.junior-entry{border-color:#d28c4b;background:linear-gradient(145deg,#273b50,#17283d)}.junior-hero{background:linear-gradient(130deg,#3c3040,#1a344d)}.junior-label{display:block;font-size:13px;font-weight:700;margin:16px 0 8px}.junior-hero .control{min-width:250px}

/* Formularfelder: Beschriftungen bleiben eindeutig über ihrem Eingabefeld. */
.card label, .hero label, .question label {display:block;clear:both;margin:14px 0 0;font-size:14px;font-weight:650;line-height:1.45;}
.card label > .control, .hero label > .control, .question label > .control {display:block;width:100%;margin-top:7px;font-weight:400;min-width:0;}
.card label > input.control, .card label > select.control {max-width:100%;}

/* Passwort sofort per Augen-Symbol ein-/ausblenden. */
.password-visibility{position:relative;display:block;width:100%;margin-top:7px;}
.password-visibility > input.control{display:block;width:100%!important;max-width:100%;margin-top:0!important;padding-right:52px!important;min-width:0;}
.password-eye{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:42px;height:40px;border:0;border-radius:8px;background:transparent;color:#bcd0e5;cursor:pointer;}
.password-eye svg{width:22px;height:22px;pointer-events:none;}
.password-eye:hover{background:#263b54;color:#fff;}
.password-eye:focus-visible{outline:2px solid #ffbd69;outline-offset:1px;}

/* Rechtliche Navigation */
.legal-footer{display:flex;justify-content:center;align-items:center;gap:12px 22px;flex-wrap:wrap;padding:22px 12px 30px;border-top:1px solid #34445a;background:#0b1524;color:#e9eef5;font-size:14px}.legal-footer a{color:#dce8ff;text-decoration:underline;text-underline-offset:3px}.legal-page{max-width:850px;margin:0 auto;padding:30px 20px 65px;line-height:1.65;color:#e9eef5}.legal-page h1{font-size:2rem}.legal-page h2{font-size:1.25rem;margin-top:28px}.legal-page a{color:#9fc8ff}.legal-warning{padding:14px 16px;border:1px solid #d6a45b;border-radius:8px;background:#382d1c;color:#fff3d8}.legal-page li{margin:6px 0}.legal-page p{margin:12px 0}body.legal-document{background:#0b1524;color:#e9eef5;margin:0;font-family:system-ui,Arial,sans-serif}
/* FIRE ACADEMY – neue Bereichsauswahl (Testversion) */
.fa-welcome{text-align:center;padding:22px 0 12px}.fa-logo{display:block;width:clamp(110px,25vw,195px);height:auto;margin:0 auto 12px;border-radius:26px;box-shadow:0 14px 55px #0007}.fa-motto{color:#ffb454;font-size:11px;letter-spacing:.2em;font-weight:800}.fa-welcome h1{margin:15px 0 5px}.fa-welcome>p{margin:0 0 25px}.fa-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;text-align:left}.fa-path{position:relative;overflow:hidden;min-height:320px;border:2px solid #f34c42;border-radius:23px;background:radial-gradient(circle at 85% 10%,#a5322a88,transparent 60%),linear-gradient(150deg,#27384b,#0b1524);display:flex;align-items:flex-end;box-shadow:0 20px 40px #0004}.fa-path.youth{border-color:#f6c02c;background:radial-gradient(circle at 80% 10%,#d69b1e77,transparent 60%),linear-gradient(150deg,#284052,#0b1524)}.fa-path-art{position:absolute;top:10px;right:25px;font-size:110px;opacity:.43;filter:drop-shadow(0 10px 25px #0009)}.fa-path-content{position:relative;padding:26px;width:100%;background:linear-gradient(transparent,#091421d9 30%,#091421)}.fa-path-tag{font-size:11px;font-weight:800;letter-spacing:.09em;color:#ffad9b}.youth .fa-path-tag{color:#ffda68}.fa-path h2{font-size:clamp(23px,3vw,32px);margin:8px 0}.fa-path p{min-height:44px;margin:0 0 17px}.fa-path .btn{width:100%}.youth .btn{background:#f5c32f;color:#101a27}.fa-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.fa-quick button{background:#16263a;border:1px solid #30445b;border-radius:15px;padding:17px 10px;color:#eaf1fc;font-size:24px;cursor:pointer}.fa-quick button span{display:block;font-size:12px;margin-top:9px}.fa-quick button:hover,.fa-quick button:focus-visible{border-color:#ffbc5c}.fa-bottom{margin-top:25px}.fa-reminder{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;background:#172940;border:1px solid #304760;border-radius:16px}.fa-reminder p{font-size:13px;margin:5px 0}.fa-switch{display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:13px}.fa-switch input{accent-color:#f4bd42;width:18px;height:18px}.fa-adult-hero{background:linear-gradient(120deg,#54251f,#17263b 70%);border:1px solid #793e38;border-radius:22px;padding:36px;margin-bottom:20px}.fa-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(max-width:650px){.fa-paths{gap:10px}.fa-path{min-height:290px}.fa-path-content{padding:14px}.fa-path-art{font-size:70px;right:12px}.fa-path h2{font-size:19px}.fa-path p{font-size:12px;min-height:85px}.fa-path .btn{padding:11px 7px;font-size:12px}.fa-quick{grid-template-columns:repeat(2,1fr)}.fa-dashboard-grid{grid-template-columns:1fr}.fa-reminder{align-items:flex-start;flex-direction:column}}

/* FIRE ACADEMY: rein visuelle Startseiten-Erweiterung; keine Quiz-/Auth-/Multiplayer-Logik verändert */
body{background:radial-gradient(ellipse at 0% 38%,#471b22 0,transparent 35%),radial-gradient(ellipse at 100% 25%,#0b3559 0,transparent 42%),#06111f}
.shell{max-width:1440px;padding:16px 24px 80px}
.fa-topbar{border-bottom:1px solid #284057;padding:0 10px 16px;margin-bottom:24px}
.fa-topbar .brand img{width:72px;height:72px;object-fit:contain}
.fa-brand-name{font-size:clamp(20px,3vw,35px);letter-spacing:-.02em;color:#fff}
.fa-brand-name em{color:#ff243a;font-style:normal}
.fa-topbar .brand small{font-size:11px;letter-spacing:.13em;color:#e0e7f0}
.fa-header-actions{display:flex;align-items:center;gap:16px}
.fa-header-icon{background:transparent;border:0;color:#fff;font-size:30px;min-width:35px}
.fa-cinematic{padding:0 0 15px;text-align:center}
.fa-cinematic h1{font-size:clamp(31px,4.3vw,61px);margin:16px 0 4px;font-weight:850;letter-spacing:-.045em}
.fa-welcome-subtitle{font-size:clamp(15px,1.7vw,22px);color:#c5d4e7;margin:0 0 28px!important}
.fa-cinematic .fa-paths{gap:22px}
.fa-cinematic .fa-path{min-height:385px;border:3px solid #ff263b;border-radius:25px;display:flex;align-items:stretch;background:linear-gradient(90deg,rgba(3,11,20,.97) 0%,rgba(3,11,20,.89) 33%,rgba(3,11,20,.16) 75%),url('adult-fire.jpg') center right/auto 100% no-repeat,#071322;box-shadow:0 10px 35px #0008}
.fa-cinematic .fa-path.youth{border-color:#ffcf22;background:linear-gradient(90deg,rgba(3,11,20,.96) 0%,rgba(3,11,20,.85) 35%,rgba(3,11,20,.12) 76%),url('junior-fire.jpg') center right/auto 100% no-repeat,#071322}
.fa-cinematic .fa-path-content{background:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:28px 30px;max-width:68%;text-align:left}
.fa-path-symbol{display:grid;place-items:center;border:3px solid #ff253c;border-radius:50%;color:#ff253c;width:63px;height:63px;font-size:24px;letter-spacing:-5px;padding-right:5px;margin-bottom:12px}
.youth .fa-path-symbol{border-color:#ffce19;color:#ffce19;font-size:16px;letter-spacing:-5px}
.fa-cinematic .fa-path h2{font-size:clamp(26px,3vw,39px);line-height:1.1;margin:0 0 8px;color:white}
.fa-path-heading{color:#ff293e;font-size:clamp(14px,1.5vw,20px);line-height:1.18}
.youth .fa-path-heading{color:#ffcf20}
.fa-cinematic .fa-path p{color:#e5ebf3;font-size:clamp(13px,1.25vw,17px);line-height:1.35;min-height:0;margin:14px 0 22px}
.fa-cinematic .fa-path .btn{margin-top:auto;background:#ff253b;border-radius:12px;min-height:52px;max-width:340px;font-size:16px}
.fa-cinematic .fa-path.youth .btn{background:#ffce1d;color:#111722}
.fa-cinematic .fa-path .btn span{margin-left:15px}
.fa-cinematic .fa-quick{margin-top:18px;gap:14px}
.fa-cinematic .fa-quick button{min-height:135px;text-align:left;padding:18px 22px;background:#081a2d;border:1px solid #344c64;border-radius:18px;color:white;display:flex;flex-direction:column;align-items:flex-start}
.fa-cinematic .fa-quick .fa-quick-icon{font-size:34px;line-height:1.2;margin-bottom:9px}
.fa-cinematic .fa-quick b{font-size:17px}
.fa-cinematic .fa-quick small{font-size:13px;color:#b9c9d9;margin-top:4px}
.fa-guest{margin-top:16px;width:100%;display:flex;align-items:center;text-align:left;gap:18px;border:1px solid #344c64;border-radius:16px;background:#081827;color:#fff;padding:18px 24px}
.fa-guest-icon{font-size:32px;color:#ff293f}
.fa-guest b,.fa-guest small{display:block}.fa-guest b{font-size:18px}.fa-guest small{color:#c3d0df;font-size:13px;margin-top:5px}.fa-guest-arrow{margin-left:auto;color:#ff293f}
.fa-bottom{text-align:left;margin-top:30px}
@media(max-width:850px){.fa-cinematic .fa-paths{grid-template-columns:1fr}.fa-cinematic .fa-path{min-height:340px}.fa-cinematic .fa-quick{grid-template-columns:repeat(2,1fr)}.fa-header-icon{display:none}}
@media(max-width:500px){.shell{padding:12px 12px 60px}.fa-topbar .brand img{width:46px;height:46px}.fa-brand-name{font-size:20px}.fa-topbar .brand small{font-size:7px;letter-spacing:.06em}.fa-header-actions{gap:5px}.fa-header-actions .btn{padding:9px;font-size:11px}.fa-cinematic .fa-path{min-height:320px;background-size:auto 100%}.fa-cinematic .fa-path-content{max-width:78%;padding:18px}.fa-cinematic .fa-path h2{font-size:27px}.fa-cinematic .fa-path p{font-size:13px}.fa-cinematic .fa-quick button{padding:13px;min-height:120px}.fa-cinematic .fa-quick b{font-size:14px}.fa-cinematic .fa-quick small{font-size:11px}.fa-guest{padding:12px;gap:10px}.fa-guest b{font-size:15px}.fa-guest small{font-size:11px}}

/* Erwachsenen-Dashboard: gleiche Bedienstruktur wie Junior, ohne Multiplayer */
.fa-adult-panel{background:linear-gradient(115deg,#353044,#1b3651);border:1px solid #39516c;border-radius:22px;padding:30px;margin-bottom:20px}.fa-adult-panel h1{font-size:clamp(27px,4vw,42px);font-weight:500;margin:16px 0}.fa-adult-panel>p{color:#bdd0e5}.fa-adult-fields{display:flex;flex-wrap:wrap;gap:16px;margin:22px 0}.fa-adult-fields label{display:flex;flex-direction:column;gap:8px;font-size:14px;min-width:210px;flex:1}.fa-adult-fields select{width:100%;max-width:100%;background:#11243a;color:#f4f7fc;border:1px solid #415975;padding:12px;border-radius:10px}.fa-adult-availability{font-size:13px!important;margin:0 0 18px}.fa-adult-panel .metrics{margin-top:16px}.fa-adult-panel .progress{margin:18px 0 10px}.fa-adult-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.fa-adult-tiles .card{min-width:0}.fa-adult-tiles .card .btn{margin-top:10px}@media(max-width:680px){.fa-adult-panel{padding:20px}.fa-adult-tiles{grid-template-columns:1fr}.fa-adult-fields{display:block}.fa-adult-fields label{margin:12px 0}}

/* Three quick-access tiles; multiplayer is exclusively inside Junior. */
.fa-cinematic .fa-quick{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:650px){.fa-cinematic .fa-quick{grid-template-columns:1fr}}

.knot-visual{margin:14px 0;padding:12px;border:1px solid #40566c;border-radius:14px;background:#0c1b2b}.knot-visual img{display:block;max-width:360px;width:100%;height:auto;margin:auto}.knot-visual p{font-size:13px;color:#d8e2ed;text-align:center}
