body{font-family:sans-serif;background:#A1A1A1;color:#003366;margin:0;padding:20px}
    header{background:#0055cc;color:white;padding:1rem;text-align:center;border-radius:8px;margin-bottom:20px}
    .top-actions{max-width:1100px;margin:0 auto 20px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
    .top-actions a,.top-actions button{display:inline-block;width:auto;margin:0;padding:10px 15px;border-radius:5px;border:none;background:#0055cc;color:white;text-decoration:none;cursor:pointer;font-weight:bold;font-size:1rem}
    .section-wrap{max-width:1200px;margin:0 auto 32px}
    .empty-state{max-width:900px;margin:30px auto;background:white;border-radius:10px;padding:20px;text-align:center;box-shadow:0 2px 5px rgba(0,0,0,.15)}
    .group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
    .group-card{background:#fff;border-radius:10px;padding:16px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
    .group-card h3{margin-top:0;color:#0055cc}
    .group-match{border:1px solid #ccd;border-radius:8px;padding:8px;margin-bottom:8px;background:#f9f9f9}
    .group-match .winner{font-weight:bold;background:#cce5ff;border-radius:4px;padding:2px 4px}
    .score-line{margin-top:4px;font-size:.95rem}
    .walkover-label{display:inline-flex;border-radius:999px;background:#e6ffe6;color:#0a7a2f;font-weight:bold;padding:2px 8px;margin-right:6px}
    .standings-table{width:100%;border-collapse:collapse;margin-top:12px;background:#fff}
    .standings-table th,.standings-table td{border:1px solid #ddd;padding:6px;text-align:center}
    .standings-table th:first-child,.standings-table td:first-child{text-align:left}
    .standings-table th{background:#f3f6fb}
    .tree-scroll{overflow-x:auto;overflow-y:visible;padding:20px 0 80px}
    .container{position:relative;width:max-content;min-width:100%;min-height:600px;overflow:visible}
    canvas#lines{position:absolute;top:0;left:0;z-index:0;pointer-events:none}
    .round{position:absolute;width:230px;top:0;z-index:1}
    .round h2{text-align:center;color:#0056b3;background:white;border-radius:8px;padding:8px;margin:0 0 15px;box-shadow:0 1px 4px rgba(0,0,0,.12)}
    .match{position:absolute;width:200px;border:3px solid #007bff;padding:8px;border-radius:8px;background:#f9f9f9;box-shadow:0 0 5px rgba(0,0,0,.15);box-sizing:border-box}
    .spieler{display:flex;justify-content:space-between;gap:8px;padding:5px;margin:3px 0;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .gewinner{background-color:#cce5ff;font-weight:bold}
    .offen{color:red;font-weight:bold}
    .freilos{color:#52606d;font-style:italic;font-weight:bold}
    .score{margin-left:auto;text-align:right;flex-shrink:0}
    @media(max-width:700px){body{padding:10px}.top-actions a,.top-actions button{width:100%;text-align:center}.group-grid{grid-template-columns:1fr}}
