/* Calendar page. Classes start with cal-. Large type, plain words, big tap targets: made for parents and grandparents. */
.cal-ctl{display:flex;flex-wrap:wrap;gap:16px 32px;margin:26px 0 4px}
.cal-grp{display:flex;align-items:center;gap:12px}
.cal-lab{color:var(--muted);font:600 .875rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase}
.cal-ctl .sf-seg button{min-height:52px;padding:0 20px;font-size:1.0625rem}

/* the list: one clear row per game or event */
.cal-mh{margin-top:48px;padding-bottom:12px;border-bottom:2px solid var(--ink);font:700 clamp(1.8rem,5vw,2.4rem)/1 var(--display)}
#cal-agenda>.cal-mh:first-child{margin-top:30px}
.cal-i{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 26px;padding:28px 0;border-bottom:1px solid var(--line)}
.cal-i__d{display:grid;align-content:center;justify-items:center;gap:3px;align-self:start;min-height:116px;padding:12px 6px}
.cal-i--game .cal-i__d{background:var(--ink);color:var(--on-baby)}
.cal-i--event .cal-i__d{border:2px solid var(--ink)}
.cal-i__d small{font:700 .875rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase}
.cal-i__d b{font:700 3.1rem/1 var(--display)}
.cal-i__k{color:var(--muted);font:700 .875rem/1.3 var(--body);letter-spacing:.16em;text-transform:uppercase}
.cal-i h3{margin-top:6px;font:700 clamp(1.9rem,4vw,2.5rem)/1.1 var(--display);letter-spacing:.01em}
.cal-i__t{margin-top:10px;font:600 1.25rem/1.4 var(--body)}
.cal-i__p{margin-top:4px;color:var(--muted);font-size:1.125rem}
.cal-i__n{margin-top:12px;max-width:60ch;font-size:1.125rem}
.cal-i .sf-btn{margin-top:18px;min-height:52px}
.cal-i__all{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.cal-i__all-h{margin-right:4px;color:var(--muted);font:700 .875rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase}
.cal-i__all li:not(.cal-i__all-h){padding:9px 14px;border:1px solid var(--muted);font:600 1.0625rem/1.1 var(--body)}
.cal-i.is-next{margin-top:18px;padding:28px 26px;border-bottom:0;border-top:4px solid var(--baby);background:var(--surface)}
.cal-i.is-next .cal-i__k{color:var(--baby)}
.cal-i.is-today .cal-i__k{color:var(--ink)}
@media (max-width:560px){
  .cal-i{grid-template-columns:1fr;gap:14px 0}
  .cal-i__d{display:flex;align-items:baseline;justify-self:start;gap:10px;min-height:0;padding:8px 16px}
  .cal-i__d b{font-size:2rem}
  .cal-i.is-next{padding:22px 16px}
  .cal-i .sf-btn{width:100%}
  .cal-ctl .sf-seg{width:100%}.cal-ctl .sf-seg button{flex:1;padding:0 8px}
  .cal-grp{flex-direction:column;align-items:flex-start;gap:8px;width:100%}
}

/* the month grid */
.cal-bar{display:flex;align-items:center;gap:8px;margin:26px 0 14px}
.cal-bar h2{flex:1;min-width:0;font:700 clamp(1.7rem,4.5vw,2.3rem)/1.1 var(--display)}
.cal-bar .sf-btn{min-height:52px;min-width:52px}
.cal-bar #cal-prev,.cal-bar #cal-next{font-size:1.7rem;line-height:1;padding-bottom:12px}
.cal-key{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--muted);font-size:1.0625rem}
.cal-k{display:inline-block;width:16px;height:16px;border:2px solid var(--ink)}
.cal-k--game{background:var(--ink)}
.cal-k+.cal-k,.cal-key .cal-k:nth-of-type(2){margin-left:16px}
.cal-t{width:100%;table-layout:fixed;border-collapse:collapse;border:1px solid var(--line)}
.cal-t th{padding:12px 6px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:700 .875rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase}
.cal-t td{height:112px;padding:8px;border:1px solid var(--line);vertical-align:top}
.cal-t td.cal-x{background:rgba(8,18,42,.5)}
.cal-t td.is-today{box-shadow:inset 0 0 0 3px var(--baby)}
.cal-n{display:block;color:var(--muted);font:700 1.3rem/1 var(--display)}
.is-today .cal-n{color:var(--ink)}
.cal-c{display:grid;gap:4px;margin-top:8px}
.cal-chip{overflow:hidden;padding:3px 6px;font:600 .8125rem/1.3 var(--body);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}
.cal-chip--game{background:var(--ink);color:var(--on-baby)}
.cal-chip--event{border:1px solid var(--ink);color:var(--ink)}
@media (max-width:640px){
  .cal-t td{height:62px;padding:5px}
  .cal-n{font-size:1.1rem}
  .cal-c{display:flex;flex-wrap:wrap;gap:5px}
  .cal-chip{width:11px;height:11px;padding:0;border-radius:50%;font-size:0}
  .cal-t th{padding:10px 0;font-size:.6875rem;letter-spacing:.04em}
  .cal-chip,.cal-k{border-radius:50%}
  .cal-bar{flex-wrap:wrap}
  .cal-bar h2{flex:1 0 100%;order:-1;margin-bottom:6px}
  .cal-bar #cal-prev,.cal-bar #cal-next{flex:1}
  .cal-bar #cal-today{flex:2}
}
.cal-hint{display:none;margin-top:14px;color:var(--muted)}
@media (max-width:640px){.cal-hint{display:block}}
