:root{--bg:#0b0f14;--card:#111926;--text:#e8f0fe;--muted:#9fb0c3;--accent:#00d4ff;--positive:#33d17a;--negative:#ff6b6b;--date:#3e63dd;--time:#2fb3a0}.christmas-theme{--bg:#0a0d12;--card:#1a1f2e;--text:#f0f4f8;--muted:#a8b8c8;--accent:#fbbf24;--positive:#22c55e;--negative:#ef4444;--date:#dc2626;--time:#16a34a;--christmas-red:#dc2626;--christmas-green:#16a34a;--christmas-gold:#fbbf24}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;position:relative;overflow-x:hidden}.christmas-theme body{background:linear-gradient(135deg,#0a0d12,#1a0f1a 50%,#0d1218);background-attachment:fixed}@keyframes snow{0%{transform:translateY(-100px) translateX(0) rotate(0deg);opacity:1}to{transform:translateY(calc(100vh + 100px)) translateX(var(--snow-drift)) rotate(1turn);opacity:0}}@keyframes snow-drift{0%,to{transform:translateX(0)}50%{transform:translateX(20px)}}.snowflake{position:fixed;top:-10px;color:#fff;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;z-index:1000;animation:snow linear infinite;text-shadow:0 0 5px hsla(0,0%,100%,.8);--snow-drift:0px}.snowflake:nth-child(odd){animation-name:snow,snow-drift;animation-duration:var(--snow-duration,3s),3s;--snow-drift:50px}.snowflake:nth-child(2n){--snow-drift:-30px}.christmas-theme body:before{background-image:radial-gradient(circle at 10% 20%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 20% 30%,hsla(0,0%,100%,.08) 1px,transparent 0),radial-gradient(circle at 30% 40%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 40% 50%,hsla(0,0%,100%,.08) 1px,transparent 0),radial-gradient(circle at 50% 60%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 60% 70%,hsla(0,0%,100%,.08) 1px,transparent 0),radial-gradient(circle at 70% 80%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 80% 90%,hsla(0,0%,100%,.08) 1px,transparent 0),radial-gradient(circle at 90% 10%,hsla(0,0%,100%,.1) 1px,transparent 0);background-size:200px 200px,300px 300px,250px 250px,180px 180px,220px 220px,280px 280px,200px 200px,240px 240px,260px 260px;background-position:0 0,50px 50px,100px 100px,150px 150px,200px 200px,250px 250px,300px 300px,350px 350px,400px 400px;animation:snow 20s linear infinite}.christmas-theme body:after,.christmas-theme body:before{content:"";position:fixed;top:-100vh;left:0;width:100%;height:200vh;pointer-events:none;z-index:1}.christmas-theme body:after{background-image:radial-gradient(circle at 15% 25%,hsla(0,0%,100%,.08) 1px,transparent 0),radial-gradient(circle at 25% 35%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 35% 45%,hsla(0,0%,100%,.08) 1px,transparent 0),radial-gradient(circle at 45% 55%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 55% 65%,hsla(0,0%,100%,.08) 1px,transparent 0),radial-gradient(circle at 65% 75%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 75% 85%,hsla(0,0%,100%,.08) 1px,transparent 0),radial-gradient(circle at 85% 95%,hsla(0,0%,100%,.1) 1px,transparent 0);background-size:180px 180px,220px 220px,260px 260px,200px 200px,240px 240px,280px 280px,210px 210px,230px 230px;background-position:0 0,30px 30px,60px 60px,90px 90px,120px 120px,150px 150px,180px 180px,210px 210px;animation:snow 25s linear infinite reverse}*{box-sizing:border-box}.container{max-width:720px;margin:0 auto;padding:24px 16px 64px}.topNavSpacer{margin-top:8px}.container.topNavSpacer{padding:8px 16px 0}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}.christmas-theme .card a,.christmas-theme a{color:#fbbf24;text-shadow:0 0 8px rgba(251,191,36,.3)}.christmas-theme a:hover{color:#fcd34d;text-shadow:0 0 12px rgba(251,191,36,.5)}h1,h2,h3{margin:0 0 12px}.card{background:var(--card);border:1px solid hsla(0,0%,100%,.06);border-radius:12px;padding:16px;position:relative;z-index:2}.christmas-theme .card{background:linear-gradient(135deg,rgba(26,31,46,.95),rgba(30,25,40,.95));border:1px solid rgba(251,191,36,.2);box-shadow:0 4px 20px rgba(220,38,38,.1),0 0 40px rgba(22,163,74,.05);transition:all .3s ease}.christmas-theme .card:hover{border-color:rgba(251,191,36,.4);box-shadow:0 6px 30px rgba(220,38,38,.15),0 0 60px rgba(22,163,74,.1);transform:translateY(-2px)}.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)}.christmas-theme .rsvp button.active-yes{border-color:var(--christmas-green);color:var(--christmas-green);box-shadow:0 0 10px rgba(22,163,74,.3)}.christmas-theme .rsvp button.active-no{border-color:var(--christmas-red);color:var(--christmas-red);box-shadow:0 0 10px rgba(220,38,38,.3)}.christmas-theme .rsvp button.active-maybe{border-color:var(--christmas-gold);color:var(--christmas-gold);box-shadow:0 0 10px rgba(251,191,36,.3)}.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}.badge-rookie{background:color-mix(in oklab,#ef4444 18%,transparent);color:#ffd7d7;border:1px solid color-mix(in oklab,#ef4444 35%,transparent)}.badge-reliable-reserve{background:color-mix(in oklab,#f97316 18%,transparent);color:#ffe2c7;border:1px solid color-mix(in oklab,#f97316 35%,transparent)}.badge-average{background:color-mix(in oklab,#22c55e 18%,transparent);color:#c9f7d1;border:1px solid color-mix(in oklab,#22c55e 35%,transparent)}.badge-veteran{background:color-mix(in oklab,#3b82f6 18%,transparent);color:#cfe0ff;border:1px solid color-mix(in oklab,#3b82f6 35%,transparent)}.badge-furniture{background:color-mix(in oklab,#a855f7 18%,transparent);color:#e5ccff;border:1px solid color-mix(in oklab,#a855f7 35%,transparent)}.count-yes{color:var(--positive)}.count-no{color:var(--negative)}.count-maybe{color:var(--accent)}.christmas-theme .count-yes{color:var(--christmas-green);text-shadow:0 0 6px rgba(22,163,74,.4)}.christmas-theme .count-no{color:var(--christmas-red);text-shadow:0 0 6px rgba(220,38,38,.4)}.christmas-theme .count-maybe{color:var(--christmas-gold);text-shadow:0 0 6px rgba(251,191,36,.4)}.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)}.christmas-theme .badge-date{background:color-mix(in oklab,var(--christmas-red) 20%,transparent);color:#ffd7d7;border:1px solid color-mix(in oklab,var(--christmas-red) 40%,transparent);box-shadow:0 0 8px rgba(220,38,38,.2)}.christmas-theme .badge-time{background:color-mix(in oklab,var(--christmas-green) 20%,transparent);color:#c9f7d1;border:1px solid color-mix(in oklab,var(--christmas-green) 40%,transparent);box-shadow:0 0 8px rgba(22,163,74,.2)}.attendee{display:flex;align-items:center;gap:8px;margin:2px 0}.attendance-badge{width:18px;height:18px;border-radius:4px;object-fit:cover}.modalOverlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modalContent,.modalOverlay{padding:16px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modalContent{background:#0b1220;color:#e6edf7;border-radius:10px;max-width:600px;width:100%;max-height:80vh;box-shadow:0 10px 30px rgba(0,0,0,.35);position:relative;z-index:1001}.christmas-theme .modalContent{background:linear-gradient(135deg,rgba(26,31,46,.98),rgba(30,25,40,.98));border:2px solid rgba(251,191,36,.3);box-shadow:0 10px 40px rgba(220,38,38,.2),0 0 60px rgba(22,163,74,.1)}.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}.bottomNavLinks form button,.navLinks form button{color:var(--text);background:transparent;border:1px solid hsla(0,0%,100%,.12);border-radius:8px;padding:6px 10px;cursor:pointer}.bottomNavLinks form,.navLinks form{display:inline}@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}.christmas-theme .navActive{border-color:var(--christmas-gold);color:var(--christmas-gold)!important;box-shadow:0 0 12px rgba(251,191,36,.4)}.christmas-theme .bottomBar{background:linear-gradient(180deg,rgba(26,31,46,.95),rgba(30,25,40,.95));border-top:2px solid rgba(251,191,36,.2);box-shadow:0 -4px 20px rgba(220,38,38,.1)}.christmas-theme .bottomNavLinks a:hover,.christmas-theme .bottomNavLinks button:hover{border-color:rgba(251,191,36,.4);box-shadow:0 0 10px rgba(251,191,36,.2)}@media (max-width:640px){.bottomBar{display:block}.container.topNavSpacer{padding:6px 12px 0}}.christmas-theme header{position:relative;z-index:2}.christmas-theme h1{background:linear-gradient(135deg,#fbbf24,#fcd34d 50%,#fde68a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 20px rgba(251,191,36,.3)}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}.christmas-theme .card:before{content:"✨";position:absolute;top:8px;right:8px;font-size:12px;opacity:.6;animation:sparkle 2s ease-in-out infinite;pointer-events:none;z-index:1}