*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1b1f24;background:#f6f7f9;line-height:1.55}
header{background:#0b3d2e;color:#fff}header .w{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;padding:.9rem 1rem}header a{color:#dff5ea;text-decoration:none;font-size:.95rem}header .logo{font-weight:800;font-size:1.15rem;color:#fff;margin-right:auto}
.w{max-width:1000px;margin:0 auto;padding:0 1rem}main{padding:1.5rem 0 3rem}h1{font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.2}
.hero{background:linear-gradient(135deg,#0b3d2e,#1f7a55);color:#fff;padding:3rem 0}.hero p{font-size:1.15rem;max-width:640px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.card{background:#fff;border-radius:12px;padding:1.1rem;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.card h3{margin:.1rem 0 .3rem;font-size:1.05rem}.place{color:#55606b;font-size:.9rem}.src{font-size:.85rem}.badge{display:inline-block;font-size:.75rem;padding:.1rem .5rem;border-radius:99px;background:#e3f4ea;color:#0b3d2e}.badge.u{background:#fff1d6;color:#8a5a00}
.btn{display:inline-block;background:#ffcf33;color:#1b1f24;padding:.7rem 1.1rem;border-radius:8px;font-weight:700;text-decoration:none}.todo{background:#fff1d6;border-left:4px solid #e0a100;padding:.8rem 1rem;border-radius:6px}
form input{padding:.7rem;border:1px solid #ccd;border-radius:8px;width:min(100%,320px)}footer{background:#e9ecef;font-size:.85rem;padding:1.5rem 0}a{color:#1f7a55}
.steps{counter-reset:s}.steps .card{position:relative;padding-left:3.2rem}.steps .card:before{counter-increment:s;content:counter(s);position:absolute;left:1rem;top:1rem;background:#1f7a55;color:#fff;width:1.7rem;height:1.7rem;border-radius:50%;display:grid;place-items:center;font-weight:700}.pri{display:flex;flex-wrap:wrap;gap:.4rem 1rem}.pri a[aria-current]{text-decoration:underline;color:#fff}
header .sub{background:#0e4a38;font-size:.85rem}header .sub .w{padding:.35rem 1rem;display:flex;flex-wrap:wrap;gap:.2rem .9rem}header .sub a{font-size:.85rem;color:#bfe3d1}header .sub span{color:#8fc3aa}
.fnav a{margin-right:.8rem}.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.8rem}
a.card{text-decoration:none;color:inherit;display:block}a.card:hover{box-shadow:0 2px 10px rgba(0,0,0,.15)}.age{font-weight:800;color:#1f7a55;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}
.path{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem;counter-reset:p;margin:1rem 0}.path div{background:#fff;border-radius:10px;padding:.9rem;border-top:4px solid #1f7a55;counter-increment:p}.path div:before{content:"Schritt " counter(p);display:block;font-size:.75rem;font-weight:700;color:#1f7a55;text-transform:uppercase}
.nav-form{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end;background:#fff;padding:1rem;border-radius:12px}.nav-form label{display:flex;flex-direction:column;font-size:.9rem;font-weight:600}
select,input[type=number]{padding:.6rem;border:1px solid #ccd;border-radius:8px;font-size:1rem;min-width:9rem}
.res{margin-top:1rem}.res table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}.res td,.res th{padding:.55rem .7rem;border-bottom:1px solid #eef;text-align:left;vertical-align:top}.res th{background:#e3f4ea;font-size:.85rem}
.unk{background:#fff1d6;color:#8a5a00;padding:0 .3rem;border-radius:4px;font-size:.85rem}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
.race{display:grid;grid-template-columns:5.5rem 1fr;gap:.8rem}.date{background:#0b3d2e;color:#fff;border-radius:10px;text-align:center;padding:.5rem .2rem;font-weight:700;line-height:1.2}.date small{display:block;font-weight:400;font-size:.75rem}
.tags span{display:inline-block;font-size:.75rem;padding:.1rem .45rem;border-radius:99px;background:#eef1f4;margin:.1rem .2rem .1rem 0}.tags .cx{background:#e8defa}.tags .road{background:#dcecff}
.story h3{margin-bottom:.1rem}.story .tl{border-left:3px solid #1f7a55;padding-left:.8rem;margin:.6rem 0}.story .tl p{margin:.3rem 0}.lesson{background:#e3f4ea;border-radius:8px;padding:.6rem .8rem}
dl.gl dt{font-weight:700;margin-top:1rem}dl.gl dd{margin:.2rem 0 0 0}
@media(max-width:600px){header .pri a{font-size:.9rem}.race{grid-template-columns:4.3rem 1fr}}