:root{--bg: #0e1116;--surface: #1a1f26;--surface-2: #2a323d;--border: #2a323d;--text: #e6e6e6;--muted: #8a92a0;--green: #1dd455;--green-dark: #0e7a2b;--teal: #3fbda7;--red: #ff6b6b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;background:radial-gradient(ellipse at center,#1a8870,#0a3328 60%,#021008);animation:splashIn .3s ease}.splash--out{animation:splashOut .4s ease forwards}.splash__logo{width:180px;height:180px;max-width:60vw;max-height:60vw;object-fit:contain;filter:drop-shadow(0 4px 24px rgba(63,189,167,.4));animation:logoIn .9s cubic-bezier(.34,1.56,.64,1) both}.splash__title{margin:28px 0 0;color:#fff;font-size:26px;font-weight:300;letter-spacing:3px;text-transform:uppercase;text-align:center;padding:0 16px;animation:titleIn .8s ease .35s both}.splash__subtitle{margin-top:8px;color:var(--teal);font-size:12px;font-weight:600;letter-spacing:4px;animation:titleIn .8s ease .55s both}.splash__hint{position:absolute;bottom:32px;color:#ffffff8c;font-size:12px;letter-spacing:1.5px;animation:titleIn .8s ease .8s both}@keyframes logoIn{0%{transform:scale(.3) rotate(-10deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes titleIn{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes splashOut{to{opacity:0;visibility:hidden}}.header{padding:22px 16px;text-align:center;color:#fff;background:linear-gradient(135deg,var(--green),var(--green-dark));box-shadow:0 2px 8px #0000004d}.header h1{margin:0;font-size:22px;letter-spacing:1px}.header p{margin:4px 0 0;font-size:13px;opacity:.9}.picker{position:sticky;top:0;z-index:10;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.picker label{display:block;margin-bottom:6px;font-size:12px;color:var(--muted)}.picker select{width:100%;padding:10px;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px}.container{max-width:720px;margin:0 auto;padding:16px 16px 80px}.match{margin:12px 0;padding:16px;background:var(--surface);border-left:4px solid var(--green);border-radius:10px;box-shadow:0 1px 3px #0000004d}.match--past{border-left-color:#5a626d;opacity:.7}.match__date{font-size:12px;color:var(--muted);text-transform:capitalize}.match__title{margin:4px 0 0;font-size:16px;font-weight:500}.match__venue{display:inline-block;margin-top:6px;padding:3px 10px;font-size:12px;font-weight:600;color:#fff;background:var(--green-dark);border-radius:12px}.match__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.btn{min-width:80px;padding:9px 16px;font-size:14px;font-weight:500;color:inherit;cursor:pointer;border:none;border-radius:6px;transition:background .15s,box-shadow .15s}.btn--yes{color:#000;background:var(--green)}.btn--yes:hover{background:#4dff7d}.btn--yes.btn--active{color:var(--green-dark);background:#fff;box-shadow:0 0 0 2px var(--green)}.btn--no{color:var(--text);background:var(--surface-2)}.btn--no:hover{background:#3a4250}.btn--no.btn--active{color:#fff;background:var(--red);box-shadow:0 0 0 2px var(--red)}.btn--link{margin-left:auto;padding:8px 12px;font-size:13px;color:#8aaaff;text-decoration:underline;background:transparent}.btn--link:hover{color:#b3c4ff}.my-status{display:inline-block;padding:6px 10px;font-size:13px;background:var(--surface-2);border-radius:4px}.my-status--yes{color:#c8ffd0;background:var(--green-dark)}.my-status--no{color:#ffd0d0;background:#7a1f1f}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:#000000b3}.modal{width:100%;max-width:480px;max-height:90vh;padding:20px;overflow-y:auto;background:var(--surface);border-radius:12px;box-shadow:0 8px 32px #00000080}.modal h2{margin:0 0 4px;padding-right:32px;font-size:17px}.modal__meta{margin:0 0 16px;font-size:13px;color:var(--muted);text-transform:capitalize}.modal__close{float:right;margin-top:-4px;padding:0 8px;font-size:24px;line-height:1;color:var(--text);cursor:pointer;background:transparent;border:none}.rsvp-group{margin:14px 0}.rsvp-group h3{display:inline-block;margin:0 0 8px;padding:4px 10px;font-size:13px;border-radius:4px}.rsvp-group--yes h3{color:#c8ffd0;background:var(--green-dark)}.rsvp-group--no h3{color:#ffd0d0;background:#7a1f1f}.rsvp-group--none h3{color:#8a92a0;background:var(--surface-2)}.rsvp-group ul{margin:0;padding:0;list-style:none}.rsvp-group li{padding:7px 4px;font-size:14px;border-bottom:1px solid var(--border)}.rsvp-group li:last-child{border-bottom:none}.empty{font-size:13px;font-style:italic;color:var(--muted)}.banner{margin-bottom:12px;padding:10px 14px;font-size:13px;border-radius:8px}.banner--error{color:#fff;background:#7a1f1f}.muted{padding:40px 16px;text-align:center;color:var(--muted)}.toast{position:fixed;bottom:24px;left:50%;z-index:200;padding:12px 20px;font-weight:500;color:#000;background:var(--green);border-radius:8px;box-shadow:0 4px 12px #0006;transform:translate(-50%);animation:slideUp .3s ease}.toast--err{color:#fff;background:var(--red)}@keyframes slideUp{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}.footer{padding:20px 16px 30px;font-size:11px;color:var(--muted);text-align:center;opacity:.5}
