:root{--green-dark:#1b5e20;--green-mid:#2e7d32;--green-light:#4caf50;--green-bg:#e8f5e9;--gold:#f9a825;--text:#1a1a1a;--text-muted:#666;--bg:#fafafa;--card-bg:#fff;--border:#ddd;--radius:8px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.app{flex-direction:column;min-height:100vh;display:flex}.navbar{background:var(--green-dark);color:#fff;z-index:100;align-items:center;gap:2rem;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0}.navbar .brand{color:#fff;white-space:nowrap;font-size:1.2rem;font-weight:700;text-decoration:none}.nav-links{gap:.25rem;display:flex}.nav-links a{color:#fffc;border-radius:4px;padding:.4rem .75rem;font-size:.9rem;text-decoration:none;transition:background .15s,color .15s}.nav-links a:hover{color:#fff;background:#ffffff26}.nav-links a.router-link-exact-active{color:#fff;background:#ffffff40}.content{flex:1;width:100%;max-width:800px;margin:0 auto;padding:1.5rem 1rem}.view h1{color:var(--green-dark);margin-bottom:1rem;font-size:1.5rem}.subtitle{color:var(--text-muted);margin-bottom:1rem}.loading,.error,.empty{text-align:center;color:var(--text-muted);padding:2rem}.error{color:#c62828}.week-row{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem;overflow:hidden}.week-header{cursor:pointer;align-items:center;gap:1rem;padding:.75rem 1rem;transition:background .15s;display:flex}.week-header:hover{background:var(--green-bg)}.week-dates{white-space:nowrap;min-width:140px;font-size:.9rem;font-weight:600}.week-winner{color:var(--green-mid);flex:1;font-weight:500}.week-score{text-align:right;min-width:40px;font-weight:600}.toggle{color:var(--text-muted);text-align:center;width:24px;font-size:1.2rem}.week-permalink{color:var(--text-muted);padding:0 .25rem;font-size:1rem;line-height:1;text-decoration:none}.week-permalink:hover{color:var(--green-mid)}.week-detail{border-top:1px solid var(--border);background:var(--green-bg);padding:.75rem 1rem}.standings-table{border-collapse:collapse;width:100%;font-size:.9rem}.standings-table th{text-align:left;border-bottom:2px solid var(--green-mid);color:var(--green-dark);text-transform:uppercase;letter-spacing:.5px;padding:.5rem .75rem;font-size:.8rem}.standings-table td{border-bottom:1px solid var(--border);padding:.5rem .75rem}.standings-table tr.winner td{background:#4caf5014;font-weight:500}.standings-table tr:last-child td{border-bottom:none}.muted{color:var(--text-muted)}.badge{vertical-align:middle;text-transform:uppercase;letter-spacing:.5px;border-radius:3px;margin-left:.4rem;padding:.1rem .4rem;font-size:.65rem;font-weight:700;display:inline-block}.badge.champ{background:var(--gold);color:#333}.badge.tie{color:#555;background:#e0e0e0}.champion-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem;overflow:hidden}.card-header{cursor:pointer;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:background .15s;display:flex}.card-header:hover{background:var(--green-bg)}.card-title{flex-direction:column;display:flex}.period-label{font-size:.9rem;font-weight:600}.champion-name{color:var(--green-mid);font-size:.85rem;font-weight:500}.card-meta{align-items:center;gap:.75rem;display:flex}.wins{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.card-body{border-top:1px solid var(--border);background:var(--green-bg);padding:.75rem 1rem}.mini-table{border-collapse:collapse;width:100%;font-size:.85rem}.mini-table th{text-align:left;border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;padding:.35rem .5rem;font-size:.75rem}.mini-table td{border-bottom:1px solid #eee;padding:.35rem .5rem}.mini-table tr:last-child td{border-bottom:none}.back-link{color:var(--green-mid);margin-bottom:1rem;font-size:.9rem;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);padding:1rem;font-size:.8rem}@media (width<=600px){.navbar{gap:.75rem;padding:0 .75rem}.nav-links a{padding:.3rem .5rem;font-size:.8rem}.content{padding:1rem .5rem}.week-header{flex-wrap:wrap;gap:.25rem}.week-dates{width:100%;min-width:auto;font-size:.85rem}.week-winner{font-size:.9rem}}
