:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;--primary-red: #D42426;--secondary-green: #165B33;--accent-gold: #F8B229;--snow-white: #FFFAFA;--christmas-blue: #4A90E2;--deep-red: #8B0000;--forest-green: #0D5D0D;color:var(--text-primary);background:var(--bg-gradient);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--text-primary: var(--snow-white);--text-secondary: rgba(255, 255, 255, .7);--bg-gradient: linear-gradient(135deg, #0F2027 0%, #2C1810 50%, #540303 100%);--card-bg: rgba(255, 255, 255, .1);--card-border: rgba(255, 255, 255, .2)}@media (prefers-color-scheme: light){:root{--text-primary: var(--deep-red);--text-secondary: rgba(139, 0, 0, .7);--bg-gradient: linear-gradient(135deg, #FFFAFA 0%, #FFF5F5 100%);--card-bg: rgba(255, 255, 255, .9);--card-border: rgba(212, 36, 38, .2)}}*{box-sizing:border-box}body{margin:0;padding:0;min-height:100vh;display:flex;align-items:center;justify-content:center;font-family:inherit;background:var(--bg-gradient)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.guest-list-container{margin:20px 0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d;border:1px solid #E0E0E0}.guest-list-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;cursor:pointer;transition:all .2s ease;background:#fff}.guest-list-header:hover{background:#f5f5f5}.guest-count{display:flex;align-items:center;gap:10px}.count-icon{font-size:24px}.count-text{font-size:16px;font-weight:600;color:#212121}.guest-list-content{padding:0 20px 20px;animation:slideDown .3s ease-out}.guest-list-content.animate{animation:slideDownBounce .5s ease-out}@keyframes slideDownBounce{0%{opacity:0;transform:translateY(-10px)}50%{opacity:1;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.list-subtitle{margin:0 0 15px;font-size:14px;color:#757575;font-style:italic}.guest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.guest-item{display:flex;align-items:center;gap:10px;padding:10px;background:#f5f5f5;border-radius:8px;opacity:0;animation:fadeInUp .3s ease-out forwards}.guest-avatar{width:32px;height:32px;border-radius:50%;background:#d42426;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.guest-name{font-size:14px;color:#212121;font-weight:500;flex:1}.guest-status{font-size:12px;color:#4caf50;font-weight:600}.more-text{margin:15px 0 0;font-size:14px;color:#757575;text-align:center;font-style:italic}.empty-guest-list{text-align:center;padding:30px 20px}.empty-text{font-size:16px;color:#212121;margin:0 0 8px}.empty-subtext{font-size:14px;color:#757575;margin:0}@media (max-width: 768px){.guest-grid{grid-template-columns:1fr}.guest-list-header{padding:12px 15px}.guest-list-content{padding:0 15px 15px}}@media (prefers-color-scheme: dark){.guest-list-container{box-shadow:0 2px 8px #0003}}.volunteer-container{margin:20px 0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d;border:1px solid #E0E0E0}.volunteer-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;cursor:pointer;transition:all .2s ease;background:#fff}.volunteer-header:hover{background:#f5f5f5}.volunteer-info{display:flex;align-items:center;gap:10px}.volunteer-icon{font-size:24px}.volunteer-title{font-size:16px;font-weight:600;color:#212121}.toggle-btn{background:none;border:none;cursor:pointer;padding:5px;transition:transform .2s ease}.toggle-btn:hover .arrow{transform:scale(1.2)}.arrow{font-size:14px;color:#d42426;transition:transform .3s ease}.arrow.up{transform:rotate(180deg)}.volunteer-content{padding:0 20px 20px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.volunteer-description{margin:0 0 20px;font-size:14px;color:#757575;font-style:italic}.category-section{margin-bottom:25px}.category-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#212121;margin:0 0 12px}.category-icon{font-size:20px}.task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.task-item{display:flex;align-items:center;padding:10px 12px;background:#f5f5f5;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.task-item:hover:not(.claimed){border-color:#d42426;background:#eee}.task-item.selected{background:#f5f5f5;border:2px solid #D42426}.task-item.selected .task-text{color:#212121}.task-item.claimed{opacity:.6;cursor:not-allowed;background:#f5f5f5}.task-item.my-task{border-color:#d42426;background:#ffebee}.task-item input[type=checkbox]{margin-right:10px;cursor:pointer}.task-item.claimed input[type=checkbox]{cursor:not-allowed}.task-text{font-size:14px;color:#212121;flex:1;display:flex;align-items:center;justify-content:space-between}.claimed-badge{font-size:11px;background:#ff5252;color:#fff;padding:2px 6px;border-radius:4px;font-weight:600}.my-badge{font-size:11px;background:#d42426;color:#fff;padding:2px 6px;border-radius:4px;font-weight:600}.submit-section{margin-top:20px;padding-top:20px;border-top:1px solid #E0E0E0;text-align:center}.selected-count{margin:0 0 15px;font-size:14px;color:#757575}.submit-btn{background:#d42426;color:#fff;border:none;padding:12px 30px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-btn:hover:not(:disabled){background:#b71c1c;transform:translateY(-1px)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.task-grid{grid-template-columns:1fr}.volunteer-header{padding:12px 15px}.volunteer-content{padding:0 15px 15px}.task-item{padding:12px}}@media (prefers-color-scheme: dark){.volunteer-container{box-shadow:0 2px 8px #0003}.task-item.claimed{background:#2a2a2a}}.container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg-gradient);position:relative;overflow:hidden}.container:before,.container:after{content:"❄";position:absolute;font-size:2rem;color:#ffffff1a;animation:twinkle 3s ease-in-out infinite}.container:before{top:10%;left:10%}.container:after{bottom:10%;right:10%;animation-delay:1.5s}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--card-border);border-radius:20px;padding:40px;max-width:500px;width:100%;box-shadow:0 20px 40px #0000004d;animation:fadeIn .6s ease-out,slideIn .8s ease-out;position:relative}.card h1{color:var(--primary-red);font-size:2.5rem;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.3);animation:pulse 2s ease-in-out infinite}.event-title{color:var(--text-primary);font-size:1.8rem;margin-bottom:30px;font-weight:600}.details{background:#ffffff0d;border-radius:12px;padding:20px;margin:20px 0;border:1px solid rgba(255,255,255,.1)}.details p{margin:10px 0;font-size:1.1rem;display:flex;align-items:center;gap:10px;color:var(--text-primary)}.details strong{color:var(--accent-gold);min-width:100px;text-align:left}.guest-info{margin:30px 0;padding:20px;background:#f8b2291a;border-left:4px solid var(--accent-gold);border-radius:8px}.guest-info p{margin:5px 0;color:var(--text-primary)}.guest-info strong{color:var(--accent-gold);font-size:1.2rem}.actions{display:flex;gap:15px;margin:30px 0;flex-wrap:wrap;justify-content:center}.btn{flex:1;min-width:150px;padding:15px 25px;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn:active{transform:scale(.95)}.btn.accept{background:linear-gradient(135deg,var(--secondary-green),#0F7938);color:#fff;box-shadow:0 4px 15px #165b3366}.btn.accept:before{background:#ffffff1a}.btn.accept:hover{transform:translateY(-2px);box-shadow:0 6px 20px #165b3399}.btn.accept.active{background:linear-gradient(135deg,#0f7938,#0a5c30);animation:pulse 2s ease-in-out infinite}.btn.decline{background:linear-gradient(135deg,var(--primary-red),#B91C1C);color:#fff;box-shadow:0 4px 15px #d4242666}.btn.decline:before{background:#ffffff1a}.btn.decline:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4242699}.btn.decline.active{background:linear-gradient(135deg,#b91c1c,#991b1b);animation:pulse 2s ease-in-out infinite}.status-msg{margin-top:20px;padding:15px;background:#ffffff1a;border-radius:8px;color:var(--text-secondary);font-size:.95rem}.status-msg strong{color:var(--accent-gold);text-transform:uppercase;letter-spacing:1px}.container:has(.loading-text){justify-content:center}.loading-text{color:var(--text-primary);font-size:1.3rem;animation:pulse 1.5s ease-in-out infinite}.error{background:#d424261a;border:2px solid var(--primary-red);color:#ff6b6b;padding:30px;border-radius:12px;text-align:center;max-width:400px}@keyframes snowfall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.card:before{content:"❄ ❅ ❆ ❄ ❅ ❆ ❄ ❅ ❆";position:absolute;top:-50px;left:50%;transform:translate(-50%);font-size:.8rem;color:var(--accent-gold);opacity:.6;animation:snowfall 10s linear infinite;pointer-events:none}@media (max-width: 640px){.container{padding:10px}.card{padding:25px;margin:10px}.card h1{font-size:2rem}.event-title{font-size:1.5rem}.details{padding:15px}.details p{font-size:1rem;flex-direction:column;align-items:flex-start;gap:5px}.details strong{min-width:auto}.actions{flex-direction:column}.btn{width:100%}}@media (max-width: 380px){.card{padding:20px}.card h1{font-size:1.8rem}.event-title{font-size:1.3rem}}.guest-list{margin:20px 0}.guest-list h3{color:var(--text-primary);margin-bottom:15px;font-size:1.1rem}.guest-button{width:100%;padding:15px 20px;margin-bottom:10px;background:#ffffff0d;border:1px solid var(--card-border);border-radius:10px;color:var(--text-primary);font-size:1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .3s ease}.guest-button:hover{background:#ffffff1a;transform:translate(5px)}.rsvp-indicator{font-weight:700;padding:4px 8px;border-radius:4px;font-size:.9rem}.rsvp-indicator.confirmed{background:#165b3333;color:var(--secondary-green)}.rsvp-indicator.declined{background:#d4242633;color:var(--primary-red)}.guest-verification{background:#ffffff0d;border-radius:12px;padding:30px;margin:20px 0;border:1px solid var(--card-border)}.guest-verification h3{color:var(--text-primary);margin-bottom:10px;text-align:center}.guest-verification>p{color:var(--text-secondary);margin-bottom:20px;text-align:center}.verification-form{display:flex;flex-direction:column;gap:15px}.email-input{padding:12px 15px;border:1px solid var(--card-border);border-radius:8px;background:#ffffff1a;color:var(--text-primary);font-size:1rem}.email-input::placeholder{color:var(--text-secondary)}.email-input:focus{outline:none;border-color:var(--accent-gold)}.verify-button{background:var(--primary-red);color:#fff;border:none;padding:15px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s ease}.verify-button:hover{background:#b91c1c}.error-message{color:var(--primary-red);text-align:center;margin-top:10px;font-size:.9rem}.help-text{color:var(--text-secondary);text-align:center;margin-top:20px;font-size:.9rem}.help-text strong{color:var(--accent-gold)}.confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.confirmation-modal{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--accent-gold);border-radius:20px;padding:40px;max-width:400px;width:90%;text-align:center;animation:slideIn .4s ease-out}.confirmation-icon{font-size:4rem;margin-bottom:20px;animation:pulse 1s ease-in-out infinite}.confirmation-modal h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:15px}.confirmation-modal p{color:var(--text-secondary);font-size:1rem;line-height:1.5}.landing-container{min-height:100vh;background:var(--bg-gradient);color:var(--text-primary);overflow-x:hidden}.hero-section{padding:60px 20px 40px;text-align:center;max-width:1200px;margin:0 auto;position:relative}.hero-section:before,.hero-section:after{content:"❄";position:absolute;font-size:3rem;color:#ffffff1a;animation:twinkle 3s ease-in-out infinite}.hero-section:before{top:20%;left:10%}.hero-section:after{bottom:20%;right:10%;animation-delay:1.5s}.hero-content{margin-bottom:60px;animation:fadeIn .8s ease-out}.hero-title{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;color:var(--primary-red);text-shadow:2px 2px 4px rgba(0,0,0,.3)}.christmas-icon{font-size:.9em;animation:pulse 2s ease-in-out infinite}.christmas-icon:last-child{animation-delay:1s}.hero-subtitle{font-size:1.5rem;color:var(--accent-gold);margin-bottom:20px;font-weight:300}.hero-description{font-size:1.1rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.features-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin:60px 0;animation:slideIn .8s ease-out .2s both}.feature-card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);border-radius:16px;padding:30px 20px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000004d}.feature-icon{font-size:3rem;margin-bottom:15px;display:block}.feature-card h3{color:var(--accent-gold);font-size:1.3rem;margin-bottom:10px}.feature-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.cta-section{background:#ffffff0d;border-radius:20px;padding:40px;margin:60px 0;animation:fadeIn .8s ease-out .4s both}.cta-section h2{color:var(--text-primary);font-size:2rem;margin-bottom:10px}.cta-section>p{color:var(--text-secondary);margin-bottom:30px}.app-buttons{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.app-store-btn,.google-play-btn{text-decoration:none;transition:transform .2s ease}.app-store-btn:hover,.google-play-btn:hover{transform:scale(1.05)}.app-badge{display:flex;align-items:center;gap:10px;padding:10px 20px;border-radius:10px;min-width:150px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-badge.ios,.app-badge.android{background:#000;color:#fff}.badge-icon{font-size:1.5rem}.badge-text{text-align:left}.badge-text small{font-size:.75rem;display:block;line-height:1}.badge-text strong{font-size:1rem;line-height:1.2}.how-it-works{background:#f8b2291a;border-left:4px solid var(--accent-gold);border-radius:8px;padding:30px;margin:60px 0;text-align:left;animation:slideIn .8s ease-out .6s both}.how-it-works h2{color:var(--text-primary);margin-bottom:15px}.how-it-works>p{color:var(--text-secondary);margin-bottom:20px}.steps-list{color:var(--text-secondary);padding-left:20px}.steps-list li{margin-bottom:10px;line-height:1.5}.landing-footer{margin-top:80px;padding-top:40px;border-top:1px solid var(--card-border);color:var(--text-secondary);font-size:.9rem}.landing-footer p{margin:5px 0}@media (max-width: 768px){.hero-section{padding:40px 15px}.hero-title{flex-direction:column;gap:10px}.features-section{grid-template-columns:1fr;gap:20px;margin:40px 0}.cta-section{padding:30px 20px;margin:40px 0}.app-buttons{flex-direction:column;align-items:center}.app-badge{min-width:200px;justify-content:center}.how-it-works{padding:20px}}@media (max-width: 480px){.hero-subtitle{font-size:1.2rem}.hero-description{font-size:1rem}.feature-card{padding:20px 15px}}
