:root{
  --bg:#f6f7f9; --card:#fff; --ink:#111; --muted:#666; --accent:#6c5ce7;
  --tap-h:56px; --radius:16px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
.topbar{position:sticky;top:0;z-index:10;background:#111;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:10px 14px}
.topbar a{color:#fff;opacity:.95}
.topbar .brand{font-weight:700;letter-spacing:.2px}
.page{padding:16px}
.scoreboard{background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.scoreboard.admin{display:grid;grid-template-columns:1fr auto 1fr;gap:16px}
.score{font-size:64px;font-weight:800;text-align:center}
.name{text-align:center;font-weight:600;margin-bottom:6px}
.vs{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:999px;background:#f0f1f3;color:#333;font-weight:600}
.controls{display:flex;gap:8px;justify-content:center;margin-top:8px}
button,.button{appearance:none;border:0;border-radius:12px;padding:10px 14px;font-weight:600;background:#e9ebef}
button:hover{filter:brightness(0.98)}
button.primary{background:var(--accent);color:#fff}
.list{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--radius);overflow:hidden}
.list th,.list td{padding:10px;border-bottom:1px solid #eee;text-align:left}
.meta{display:flex;flex-wrap:wrap;gap:16px;margin:8px 0 14px;color:var(--muted)}
/* Mobile goodness */
@media (max-width: 820px){
  .page{padding:12px; padding-bottom: calc(80px + env(safe-area-inset-bottom));}
  .scoreboard.admin{grid-template-columns:1fr;gap:10px}
  .score{font-size:84px}
  .controls button{min-height: var(--tap-h); min-width: 44vw; font-size: 18px; touch-action: manipulation;}
  .vs{justify-self:center}
  .list th,.list td{padding:12px}
}
/* Sticky bottom control bar for phones */
.mobile-bar{
  position: fixed; left: 0; right: 0; bottom: 0;
  display:flex; gap:10px; padding:10px;
  background:rgba(255,255,255,.96); backdrop-filter:saturate(180%) blur(10px);
  border-top:1px solid #eaecef; z-index:20;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
}
.mobile-bar button{flex:1; min-height: var(--tap-h); font-size:18px; touch-action: manipulation;}
/* iOS polish */
body{-webkit-tap-highlight-color: transparent;}

/* team logos */
.team .logo { height: 56px; width: auto; display:block; margin: 2px auto 8px; }
.giant .team .logo { height: 88px; } /* bigger on the big-board */

/* --- W/L badges --- */
.tag{display:inline-block;padding:.1rem .35rem;border-radius:.4rem;font-weight:500;line-height:1.2;font-size:inherit}
.tag.win{background:#E6F6EA;border:1px solid #2E7D32;color:#1B5E20}
.tag.loss{background:#FDE8E8;border:1px solid #C62828;color:#B71C1C}
.tag.tie{background:#EEF2FF;border:1px solid #3949AB;color:#1A237E}
.set-row{display:flex;gap:.5rem;align-items:center;margin:.25rem 0}
.set-row .score{font-variant-numeric:tabular-nums}
.summary-chip{margin-left:.5rem}

/* small inline W/L badge (list page) */
.wl-inline{
  font-size: inherit;
  font-weight: 600;
  display: inline-block;
  padding: 0 .25rem;
  border-radius: .4rem;
}

/* --- Layout & Sidebar (Home page) --- */
.layout{display:flex;gap:0.75rem}
.sidebar{
  position:fixed; left:0; top:0; bottom:0; width:260px;
  background:#0f172a; color:#fff; padding:1rem; transform:translateX(-100%);
  transition:transform .25s ease; z-index:9999; box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.sidebar.open{ transform:translateX(0); }
.sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.sidebar-title{font-weight:700;letter-spacing:.02em}
.side-nav{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}
.side-link{color:#fff;text-decoration:none;padding:.45rem .6rem;border-radius:.5rem}
.side-link:hover{background:rgba(255,255,255,.08)}
.side-footer{opacity:.6;font-size:.8rem;margin-top:auto}
.content{flex:1;max-width:980px;margin:0 auto;padding:1rem}
.hamburger{border:0;background:transparent;font-size:1.4rem;cursor:pointer}
.hamburger.show{position:sticky;top:.75rem;left:.5rem;background:#0f172a;color:#fff;border-radius:.5rem;padding:.2rem .5rem}
.page-title{margin-top:.5rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem}
.card{background:#fff;border-radius:1rem;box-shadow:0 6px 24px rgba(0,0,0,.06);padding:1rem}
.lead{font-size:1.05rem;opacity:.9}
.bullets{margin:.25rem 0 0 1rem}
.btn{
  display:inline-block;border:1px solid #0f172a;border-radius:.65rem;
  text-decoration:none;padding:.45rem .7rem;color:#0f172a
}
@media (min-width:900px){
  .sidebar{position:sticky;transform:none;width:240px;top:0}
  .hamburger.show{display:none}
  .layout{align-items:flex-start}
}
