:root{--blue:#1f4e79;--blue2:#2c6ea3;--gold:#e3a400;--ink:#203040;--muted:#657789;--border:#d6e0e8;--page:#f3f6f9;--green:#39775a;--red:#a62b2b;--violet:#6d4a8d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;display:flex;flex-direction:column;font:16px/1.55 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--page)}a{color:var(--blue)}.wrap{max-width:1050px;margin:auto;padding:0 22px}
header{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:25px 0 30px;border-bottom:6px solid var(--gold)}header a{color:#fff}.crumbs{font-size:14px;opacity:.95}.kicker{margin-top:20px;text-transform:uppercase;font-weight:700;letter-spacing:.08em}header h1{margin:5px 0 6px;font-size:clamp(1.7rem,5vw,2.9rem);line-height:1.08}header p{margin:0;font-size:18px}main{flex:1 0 auto;width:100%}
.portal-start,.status,.mission{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 14px #18324a0d}.portal-start{padding:22px;margin-bottom:14px}.portal-start>h2{margin-top:0}.goal{background:#eef5fa;border-left:5px solid var(--blue2);border-radius:8px;padding:14px 16px}.goal h2{margin:0 0 4px;font-size:28px}.goal p{margin:0}.startfacts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.startfacts span{background:#f3f6f9;border:1px solid var(--border);border-radius:999px;padding:7px 11px;font-weight:700}
.status{margin:14px 0;padding:20px}.statusline{display:flex;justify-content:space-between;gap:15px}.bar{height:10px;background:#dce7ef;border-radius:99px;overflow:hidden;margin:10px 0}.bar i{display:block;height:100%;background:var(--green);width:0;transition:.25s}.navrow{display:flex;align-items:center;gap:15px}.navbtn{border:0;border-radius:9px;padding:11px 14px;background:#e8edf2;color:var(--ink)}.navbtn[hidden]{display:none}.navhint{font-size:.95rem;color:var(--muted)}
.mission{display:none;padding:22px;margin-bottom:14px}.mission.active{display:block}.mission>em{font-style:normal;font-size:.78rem;font-weight:700;letter-spacing:.08em;color:var(--blue);text-transform:uppercase}.mission h2{font-size:28px!important;color:var(--blue);margin:.25rem 0 .8rem}.mission h3{color:var(--blue)}
.merke,.actionbox,.warning,.success,.tip,.experiment,.operation,.bossbox{padding:15px 17px;margin:16px 0;border-radius:8px}.merke,.warning{background:#fff4d6;border-left:5px solid var(--gold)}.actionbox{background:#eef5fa;border-left:5px solid var(--blue2)}.success{background:#eaf6ee;border-left:5px solid var(--green)}.tip{background:#f7fafd;border-left:5px solid var(--blue2)}.experiment{background:#f7fafd;border-left:5px solid var(--blue2)}.operation{background:#f2f7fb;border-left:5px solid var(--blue)}.bossbox{background:#fff8e6;border-left:5px solid var(--gold)}
.interactive{border:2px solid #c9dbe8;background:#f7fbfe;padding:17px;border-radius:14px;margin:18px 0}.interactive h3{margin-top:0}.mcoptions{display:grid;gap:9px}.mcoptions button{font:inherit;text-align:left;background:#fff;border:2px solid #b9cad7;border-radius:10px;padding:12px;cursor:pointer}.mcoptions button.correct{border-color:var(--green);background:#eaf7ef}.mcoptions button.wrong{border-color:var(--red);background:#fff0f0}.feedback{font-weight:700;min-height:1.3em}
.explorer-mock{border:1px solid #b9c8d3;border-radius:12px;overflow:hidden;background:#fff;margin:18px 0}.explorer-title{padding:11px 14px;background:#edf3f7;font-weight:700;border-bottom:1px solid var(--border)}.explorer-title img{width:24px;height:24px;object-fit:contain;vertical-align:middle;margin-right:7px}.filegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.filegrid span{padding:10px 14px;border-bottom:1px solid #edf1f4}.filegrid span:nth-child(odd){border-right:1px solid #edf1f4}.chaos-call{text-align:center;font-size:1.15rem;font-weight:700}.tree{font-family:Consolas,"Courier New",monospace;background:#f7f9fb;border:1px solid var(--border);border-radius:10px;padding:15px;overflow:auto}
.inlinekeys{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}.inlinekeys img{max-height:38px;max-width:75px;width:auto;height:auto}.iconlabel{display:inline-flex;align-items:center;gap:6px}.iconlabel img{width:auto;height:25px;object-fit:contain}.download{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;padding:10px 14px;border-radius:9px}.download:hover{background:var(--blue2)}
details{margin:12px 0;border:1px solid var(--border);border-left:5px solid var(--blue2);border-radius:8px;padding:10px 13px;background:#f7fafd}summary{cursor:pointer;font-weight:700;color:var(--ink)}details.profi{border-left-color:var(--violet);background:#faf7fc}.textcheck{display:flex;gap:8px;margin-top:8px}.textcheck input{min-width:0;flex:1;font:inherit;border:2px solid #b9cad7;border-radius:9px;padding:10px}.textcheck button,.path-actions button{border:0;border-radius:9px;padding:10px 13px;background:var(--blue);color:#fff;font-weight:700}.filechips{display:flex;flex-wrap:wrap;gap:8px}.filechips span{background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px 10px}.project-question{border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin:18px 0}.project-question h3{margin-top:0}
.duels{display:grid;gap:10px}.duels>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.badname,.goodname{padding:10px;border-radius:8px;text-align:center;font-family:Consolas,"Courier New",monospace}.badname{background:#fff1f1;border:1px solid #e6bcbc}.goodname{background:#edf8f0;border:1px solid #b9d8c4}.rulecards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.rulecards div{border:1px solid var(--border);border-radius:10px;padding:12px}.rulecards b,.rulecards span{display:block}.rulecards span{color:var(--muted);margin-top:4px}code{background:#eef2f5;padding:.12rem .35rem;border-radius:4px}
.movecompare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.movecompare>div{border:1px solid var(--border);border-radius:12px;padding:14px}.movecompare h3{margin-top:0}.shortcut{border:1px solid #c9dbe8;border-radius:12px;padding:14px;margin:16px 0}.shortcut h3{margin-top:0}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shortcut-grid>div{display:flex;flex-direction:column;align-items:center;gap:8px;background:#f7fafd;border-radius:9px;padding:12px}.keypair{display:flex;align-items:center;justify-content:center;gap:6px}.keypair img{max-height:55px;max-width:110px;width:auto;height:auto}
.pathdemo,.pathline{overflow:auto}.pathdemo{display:flex;align-items:center;gap:7px;background:#f7f9fb;border:1px solid var(--border);border-radius:10px;padding:12px;white-space:nowrap}.pathdemo span{background:#fff;border:1px solid #ccd8e1;border-radius:7px;padding:7px 9px}.pathline{font-family:Consolas,"Courier New",monospace;font-weight:700;background:#fff;border:1px solid #cbd7df;border-radius:8px;padding:10px;white-space:nowrap}.path-slots{min-height:48px;border:2px dashed #9db3c3;border-radius:10px;padding:7px;display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.path-slots button,.path-pieces button{font:inherit;border:1px solid #9fb4c3;background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer}.path-pieces{display:flex;flex-wrap:wrap;gap:7px}.path-pieces button:disabled{opacity:.35}.path-actions{display:flex;gap:8px;margin-top:12px}.spoiler{font-weight:700}.helpgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.helpgrid p{background:#fff;border-radius:8px;padding:10px;margin:0}.checklist{line-height:1.9}.boss{border-top:6px solid var(--gold)}
button{font:inherit;font-weight:700;cursor:pointer}.bottomnav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;border-top:1px solid var(--border);padding-top:12px}.bottomnav button{border:0;border-radius:9px;padding:11px 14px;min-height:38px}.bottomnav .back{background:#e8edf2;color:var(--ink)}.bottomnav .done{margin-left:auto;background:var(--blue);color:#fff}.bottomnav .done:hover{background:var(--blue2)}
.portal-module-finish{margin-top:14px}.competencies{display:inline-block;text-align:left;margin:0 auto 6px;padding-left:1.4rem}
footer.portal-footer{flex:none;width:100%;background:#17344d;color:#eaf0f5;padding:18px 0;font:400 .9rem/1.55 Arial,Helvetica,sans-serif}footer.portal-footer .wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 15px}footer.portal-footer a.footerlink{color:#eaf0f5;text-decoration:underline;text-underline-offset:3px}footer.portal-footer .footersep{opacity:.6;padding:0 .45rem}
@media(max-width:650px){.wrap{padding:0 15px}.mission{padding:20px 16px}.mission h2{font-size:25px!important}.filegrid,.rulecards,.movecompare,.shortcut-grid,.helpgrid{grid-template-columns:1fr}.filegrid span:nth-child(odd){border-right:0}.duels>div{grid-template-columns:1fr}.duels>div>b{text-align:center}.bottomnav{flex-direction:column-reverse;align-items:stretch}.bottomnav button{width:100%;margin:4px 0}.bottomnav .done{margin-left:0}.textcheck,.path-actions{flex-direction:column}.path-actions button{width:100%}.navhint{display:none}.statusline{align-items:flex-start;flex-direction:column;gap:2px}.inlinekeys img{max-height:32px}.keypair img{max-height:48px}.startfacts{display:grid}}
