*{box-sizing:border-box}body{margin:0;font-family:-apple-system,system-ui,"Segoe UI",Roboto,sans-serif;color:#fff;
background:#0b3d1e repeating-linear-gradient(0deg,transparent 0 58px,rgba(255,255,255,.08) 58px 60px);min-height:100vh}
main{max-width:720px;margin:0 auto;padding:20px 16px 40px}
.hero{text-align:center;padding:24px 8px 12px}.ball{font-size:56px}
h1{margin:6px 0;font-size:2.2rem;letter-spacing:.5px;text-shadow:0 3px 0 #c8102e}
.date{margin:0;color:#ffd166;font-weight:600}
.card{background:rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.18);border-radius:16px;padding:16px 18px;margin:16px 0}
h2{margin:0 0 10px;font-size:1.1rem;text-transform:uppercase;letter-spacing:1px;color:#ffd166}h2 small{color:#ddd;font-weight:400}
.teams{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font-size:1.5rem;font-weight:800}
.team{background:#fff;color:#0b3d1e;padding:8px 14px;border-radius:10px}.at{color:#ffd166}
.notes{text-align:center;color:#ddd;margin:10px 0 0}
ul{list-style:none;margin:0;padding:0}li{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.2)}li:last-child{border:0}
.times .lbl{flex:1;font-weight:700}.times .tm{font-variant-numeric:tabular-nums;color:#ffd166;font-weight:700}
.food li::before{content:"🍔"}
.guests .nm{font-weight:700;min-width:5em}.guests .br{flex:1;color:#ddd}
.st{font-size:.8rem;padding:2px 8px;border-radius:99px;font-weight:700}.st.yes{background:#2ec46b;color:#06210f}.st.maybe{background:#ffd166;color:#3a2a00}
.muted{color:#bbb;font-style:italic}.rsvp{text-align:center;font-size:1.1rem;font-weight:700;background:#c8102e;border-radius:12px;padding:12px}
footer{text-align:center;color:#bbb;font-size:.85rem;margin-top:12px}
@media(min-width:700px){h1{font-size:3rem}.teams{font-size:2rem}}
