body{font-family:system-ui,sans-serif;max-width:700px;margin:2em auto;padding:0 1em}
h1{margin-bottom:0.2em;display:flex;align-items:flex-end;align-items:last baseline}h2{margin-top:1.5em}.tagline{color:#666;font-size:0.45em;font-weight:normal;flex:1 1 0;min-width:0;margin-left:0.4em}a{color:#1a5dab;text-decoration:none}a:hover{text-decoration:underline}
.subscribe{margin:1.5em 0;padding:0.6em 1.2em;background:#1a5dab;color:#fff;
border-radius:4px;text-decoration:none;display:inline-block}.subscribe:hover{background:#14497f;text-decoration:none}
.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0.6em}
.team-card{display:block;border:1px solid #ddd;border-radius:6px;padding:0.7em 0.9em;transition:box-shadow 0.15s,border-color 0.15s;color:inherit}
.team-card{position:relative}
.team-card:hover{border-color:#1a5dab;box-shadow:0 2px 8px rgba(0,0,0,0.1);text-decoration:none}
.team-card.followed{border-color:#1a5dab;background:#f0f6ff}
.team-card .team-name{display:block;font-weight:600;color:#1a5dab}.team-card .abbr{display:block;font-size:0.8em;color:#666;margin-top:0.15em}
.follow-star{position:absolute;top:0.3em;right:0.3em;background:none;border:none;font-size:1.1em;color:#ccc;cursor:pointer;padding:0.1em 0.2em;line-height:1}
.follow-star:hover{color:#f0c040}.follow-star.followed{color:#f0c040}
.league-star .follow-star{position:static;font-size:1em;vertical-align:baseline}
.game-card{border:1px solid #ddd;border-radius:6px;padding:0.7em 0.9em;margin-bottom:0.6em}
.game-card.pinned{border-left:3px solid #1a5dab}
.game-card.postponed,.game-card.cancelled{opacity:0.5}
.game-card.postponed .live-hint,.game-card.cancelled .live-hint{display:none}
.status{font-size:0.75em;font-weight:600;color:#e53e3e}
.game-card .matchup{font-weight:600;font-size:1.05em}
.game-card .when{font-size:0.85em;color:#444;margin-top:0.2em}
.game-card .where{font-size:0.8em;color:#888;margin-top:0.15em;display:flex;justify-content:space-between;gap:0.8em}
.game-card .broadcast{text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-card .broadcast::before{content:"• "}
.description{font-size:0.75em;font-weight:normal;color:#666;background:#f0f0f0;padding:0.15em 0.5em;border-radius:3px}
.live-hint{display:inline-block;font-size:0.75em;font-weight:600;color:#888;padding:0.1em 0.5em;border-radius:3px;margin-left:0.5em;vertical-align:middle}
.live-hint.now{font-weight:700;color:#fff;background:#e53e3e}
.now-line{border:none;border-top:2px solid #e53e3e}
live-schedule{display:block}
.league-section h2{margin-bottom:0.5em}
team-calendar{display:block;border:1px solid #ddd;border-radius:8px;padding:0.85em 1em 0.95em;margin:1.25em 0 1.5em;background:#fff}
team-calendar .cal-header{display:flex;align-items:center;gap:0.4em;margin-bottom:0.7em}
team-calendar .cal-title{font-weight:600;font-size:1.02em;flex:1 1 auto;text-align:center;color:#222}
team-calendar .cal-nav{background:#fff;border:1px solid #ddd;border-radius:4px;padding:0.25em 0.6em;cursor:pointer;color:#444;font:inherit;line-height:1}
team-calendar .cal-nav:hover{border-color:#1a5dab;color:#1a5dab}
team-calendar .cal-today{font-size:0.82em;padding:0.3em 0.7em}
team-calendar .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#eee;border:1px solid #eee;border-radius:6px;overflow:hidden}
team-calendar .cal-dow{background:#fafafa;text-align:center;font-size:0.7em;font-weight:600;color:#777;padding:0.4em 0;text-transform:uppercase;letter-spacing:0.05em}
team-calendar .cal-day{background:#fff;min-height:62px;padding:0.25em 0.3em 0.3em;display:flex;flex-direction:column;gap:0.18em;position:relative}
team-calendar .cal-day.outside{background:#fafafa}
team-calendar .cal-day.outside .cal-date{color:#c4c4c4}
team-calendar .cal-day.outside .cal-game{opacity:0.55}
team-calendar .cal-date{font-size:0.78em;color:#666;line-height:1;text-align:right;padding:0.05em 0.05em 0.1em}
team-calendar .cal-day.today{box-shadow:inset 0 0 0 2px #1a5dab;background:#f0f6ff}
team-calendar .cal-day.today .cal-date{color:#1a5dab;font-weight:700}
team-calendar .cal-game{font-size:0.72em;font-weight:600;border-radius:3px;padding:0.18em 0.35em;display:block;text-align:center;line-height:1.25;border:1px solid #1a5dab;background:#fff;color:#1a5dab;font-family:inherit;cursor:default;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
team-calendar .cal-game.home{background:#1a5dab;color:#fff}
team-calendar .cal-game.past{border-color:#bbb;color:#888}
team-calendar .cal-game.past.home{background:#bbb;color:#fff;border-color:#bbb}
team-calendar .cal-day.outside .cal-game.past{opacity:0.4}
team-calendar .cal-game.postponed,team-calendar .cal-game.cancelled{opacity:0.45;text-decoration:line-through}
@media (max-width:520px){team-calendar{padding:0.6em 0.6em 0.7em}team-calendar .cal-day{min-height:46px;padding:0.15em 0.2em 0.2em}team-calendar .cal-date{font-size:0.7em}team-calendar .cal-game{font-size:0.62em;padding:0.12em 0.2em}team-calendar .cal-dow{font-size:0.6em;padding:0.3em 0}}
