:root{--bg:#10141a;--bg-card:#161b23;--bg-inset:#0d1117;--border:#232b36;--border-strong:#2e3947;--text:#e6ebf1;--text-dim:#98a4b3;--text-faint:#64707f;--accent:#2f81f7;--accent-dim:#2f81f71f;--accent-border:#2f81f766;--gruen:#3fb950;--gelb:#d29922;--rot:#f85149;--rad:#2f81f7;--laufen:#f0883e;--schwimmen:#39c5cf;--gym:#a371f7;--ruhe:#6e7b8a;--rennen:#f85149;--sonstig:#8b98a9;--radius:4px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14.5px;line-height:1.55;min-height:100dvh}a{color:inherit;text-decoration:none}strong{color:var(--text);font-weight:650}.shell{max-width:1080px;margin:0 auto;padding:14px 16px 64px}.topbar{justify-content:space-between;gap:12px;padding:6px 0 18px;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:22px}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;font-weight:800;font-size:15px;letter-spacing:.02em;text-transform:uppercase}.brand-icon{width:30px;height:30px;display:grid;place-items:center;background:var(--accent);border-radius:var(--radius);font-size:15px}.topbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.countdown-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius);padding:4px 10px;font-size:12px;color:var(--text-dim);white-space:nowrap}.countdown-chip b{color:var(--accent);font-weight:750}.logout-btn{background:transparent;border:1px solid var(--border-strong);color:var(--text-dim);border-radius:var(--radius);padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;text-transform:uppercase;letter-spacing:.04em}.logout-btn:hover{color:var(--text);border-color:var(--text-faint)}.hero{background:var(--bg-card);border:1px solid var(--border-strong);border-left:4px solid var(--type-color,var(--accent));border-radius:var(--radius);padding:18px 22px;margin-bottom:26px}.hero-kicker{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--type-color,var(--accent));margin-bottom:6px}.hero-date{color:var(--text-faint);font-weight:600;letter-spacing:.04em}.hero-title-row{justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}.hero-title,.hero-title-row{display:flex;align-items:center}.hero-title{font-weight:800;letter-spacing:-.015em;gap:11px}.hero-emoji,.hero-title{font-size:24px}.hero-duration{font-size:13px;font-weight:650;color:var(--text);background:var(--bg-inset);border:1px solid var(--border-strong);padding:4px 12px;border-radius:var(--radius);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero-content{color:var(--text-dim);font-size:14.5px}.hero-content p{margin-bottom:8px}.segments{display:grid;grid-gap:8px;gap:8px;margin-top:4px}.segment{border:1px solid var(--border);border-left:3px solid var(--seg-color,var(--border-strong));background:var(--bg-inset);border-radius:0 var(--radius) var(--radius) 0;padding:9px 14px}.segment-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--seg-color,var(--text-dim));margin-bottom:2px}.segment-body{color:var(--text-dim);font-size:14px}.seg-gruen{--seg-color:var(--gruen)}.seg-gelb{--seg-color:var(--gelb)}.seg-rot{--seg-color:var(--rot)}.week-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.week-title{font-size:16px;font-weight:800;letter-spacing:.01em;text-transform:uppercase}.week-sub{color:var(--text-faint);font-size:12.5px;margin-top:2px;font-weight:500}.week-nav{display:flex;gap:4px}.week-nav a,.week-nav span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-dim);font-size:15px;background:var(--bg-card)}.week-nav a:hover{color:var(--text);border-color:var(--accent)}.week-nav .disabled{opacity:.3}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;margin-bottom:26px}.day-card{background:var(--bg-card);border:1px solid var(--border);border-top:3px solid var(--type-color,var(--border-strong));border-radius:var(--radius);padding:8px 10px 10px;display:flex;flex-direction:column;gap:4px;min-height:116px;transition:border-color .12s,background .12s;position:relative}.day-card:hover{border-color:var(--text-faint);border-top-color:var(--type-color);background:#1a2029}.day-card.today{border-color:var(--accent);border-top-color:var(--type-color);background:#16202e}.day-card.selected:not(.today){border-color:var(--text-faint);border-top-color:var(--type-color)}.day-card.past{opacity:.45}.day-head{display:flex;align-items:baseline;justify-content:space-between}.day-name{font-size:11px;font-weight:800;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em}.day-card.today .day-name{color:var(--accent)}.day-date{font-size:11px;color:var(--text-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.today-badge{position:absolute;top:5px;right:6px;background:var(--accent);color:#fff;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;padding:1px 6px 2px;border-radius:2px}.day-card.today .day-date{visibility:hidden}.day-emoji{font-size:17px;line-height:1.2}.day-session{font-size:12.5px;font-weight:650;line-height:1.3;color:var(--text)}.day-duration{font-size:11px;color:var(--text-faint);margin-top:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.day-dot{display:none}.info-grid{display:grid;grid-gap:12px;gap:12px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px}.card h3{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}.card .prose{color:var(--text-dim);font-size:14px}.prose p{margin-bottom:10px}.prose p:last-child{margin-bottom:0}.prose h2,.prose h3{color:var(--text);margin:16px 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.04em}.prose h2:first-child,.prose h3:first-child{margin-top:0}.prose ol,.prose ul{padding-left:20px;margin-bottom:10px}.prose li{margin-bottom:4px}.prose table{border-collapse:collapse;width:100%;margin:10px 0;font-size:13px}.prose td,.prose th{border:1px solid var(--border-strong);padding:6px 10px;text-align:left}.prose th{color:var(--text-dim);background:var(--bg-inset);text-transform:uppercase;font-size:11px;letter-spacing:.05em}.table-scroll{overflow-x:auto}details.card summary{cursor:pointer;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);list-style:none;display:flex;align-items:center;justify-content:space-between}details.card summary:hover{color:var(--text-dim)}details.card summary:after{content:"+";font-size:15px}details.card[open] summary:after{content:"–"}details.card summary::-webkit-details-marker{display:none}details.card[open] summary{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-dim)}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:20px}.login-card{width:100%;max-width:380px;background:var(--bg-card);border:1px solid var(--border-strong);border-top:3px solid var(--accent);padding:34px 30px}.login-card,.login-logo{border-radius:var(--radius)}.login-logo{width:46px;height:46px;display:grid;place-items:center;background:var(--accent);font-size:22px;margin:0 auto 14px}.login-card h1{font-size:17px;font-weight:800;text-align:center;letter-spacing:.03em;text-transform:uppercase}.login-card .login-sub{text-align:center;color:var(--text-faint);font-size:13px;margin:4px 0 24px}.field{margin-bottom:14px}.field label{display:block;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:6px}.field input{width:100%;background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius);padding:10px 13px;color:var(--text);font-size:15px;font-family:inherit}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.login-btn{width:100%;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:11px;font-size:13.5px;font-weight:750;cursor:pointer;font-family:inherit;margin-top:6px;text-transform:uppercase;letter-spacing:.05em}.login-btn:hover{filter:brightness(1.12)}.login-error{background:#f8514915;border:1px solid #f8514950;color:#ff8d86;border-radius:var(--radius);padding:9px 14px;font-size:13px;margin-bottom:16px;text-align:center}@media (max-width:760px){.week-grid{grid-template-columns:1fr;gap:6px}.day-card{min-height:0;display:grid;grid-template-columns:40px 28px 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:9px 12px;border-top:1px solid var(--border);border-left:3px solid var(--type-color,var(--border-strong));border-radius:0 var(--radius) var(--radius) 0}.day-card.today{border-color:var(--accent);border-left-color:var(--type-color)}.day-card.today .day-date{visibility:visible}.day-head{display:contents}.day-date{display:none}.day-emoji{font-size:16px;text-align:center}.day-duration{margin:0}.today-badge{display:none}.hero-title{font-size:20px}.hero{padding:15px 16px}.shell{padding-bottom:40px}.topbar-right{width:100%;justify-content:space-between}}