:root{--bg:#0b0f14;--card:#111926;--text:#e8f0fe;--muted:#9fb0c3;--accent:#00d4ff;--positive:#33d17a;--negative:#ff6b6b;--date:#3e63dd;--time:#2fb3a0}body,html{padding:0;margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji}*{box-sizing:border-box}.container{max-width:720px;margin:0 auto;padding:24px 16px 64px}.topNavSpacer{margin-top:8px}h1{margin-top:12px}.card a,a{color:#a8c5ff}.card{border-color:hsla(0,0%,100%,.12);background:#101826}.badge{background:hsla(0,0%,100%,.08);color:#c9d7ee}h1,h2,h3{margin:0 0 12px}.card{background:var(--card);border:1px solid hsla(0,0%,100%,.06);border-radius:12px;padding:16px}.row{display:flex;align-items:center;gap:12px}.grow{flex:1 1}.muted{color:var(--muted)}.rsvp{display:inline-flex;gap:8px}.rsvp button{background:transparent;border:1px solid hsla(0,0%,100%,.12);color:var(--text);padding:6px 10px;border-radius:8px;cursor:pointer}.rsvp button.active-yes{border-color:var(--positive);color:var(--positive)}.rsvp button.active-no{border-color:var(--negative);color:var(--negative)}.rsvp button.active-maybe{border-color:var(--accent);color:var(--accent)}.list{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.eventTitle{font-weight:600}.eventMeta{display:flex;gap:10px;flex-wrap:wrap}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:hsla(0,0%,100%,.06);color:var(--muted);font-size:12px}.count-yes{color:var(--positive)}.count-no{color:var(--negative)}.count-maybe{color:var(--accent)}.badge-date{background:color-mix(in oklab,var(--date) 18%,transparent);color:var(--text);border:1px solid color-mix(in oklab,var(--date) 35%,transparent)}.badge-time{background:color-mix(in oklab,var(--time) 18%,transparent);color:var(--text);border:1px solid color-mix(in oklab,var(--time) 35%,transparent)}.modalOverlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modalContent{background:#0b1220;color:#e6edf7;border-radius:10px;padding:16px;max-width:600px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 30px rgba(0,0,0,.35);position:relative}.modalCloseBtn{position:absolute;top:8px;right:8px;background:#111926;color:#e6edf7;border:1px solid #293241;border-radius:6px;padding:4px 8px}@media (max-width:480px){.container{padding:16px 12px 56px}.row{gap:8px}.rsvp{flex-wrap:wrap}.rsvp button{flex:1 1 100%}.modalOverlay{padding:12px}.modalContent{padding:12px;max-height:85vh}}.navBar{justify-content:space-between;gap:8px}.navBar,.navLinks{display:flex;align-items:center}.navLinks{gap:12px}.navLinks a{text-decoration:none}.burger,.navLinks a{color:var(--text);border:1px solid hsla(0,0%,100%,.12);border-radius:8px;padding:6px 10px}.burger{display:none;background:transparent}.drawer{position:fixed;inset:0 0 auto 0;background:var(--card);padding:12px 16px;border-bottom:1px solid hsla(0,0%,100%,.06);display:none}.drawer.open{display:block}@media (max-width:640px){.burger,.navLinks{display:none}}.bottomBar{display:none;position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid hsla(0,0%,100%,.06);padding:10px calc(12px + env(safe-area-inset-left, 0)) calc(10px + env(safe-area-inset-bottom, 0));z-index:1000}.bottomNavLinks{display:flex;align-items:center;gap:12px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.bottomNavLinks a,.bottomNavLinks button{color:var(--text);text-decoration:none;background:transparent;border:1px solid hsla(0,0%,100%,.12);border-radius:8px;padding:6px 10px;display:inline-block;white-space:nowrap}.navActive{border-color:var(--accent);color:var(--accent)!important}@media (max-width:640px){.bottomBar{display:block}}