.ec-emergency{position:fixed;z-index:999999}.ec-emergency-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:8px;box-shadow:0 10px 30px rgb(0 0 0 / .3);max-width:90%;width:500px;max-height:80vh;overflow-y:auto;animation:ec-popup-in 0.3s ease-out}.ec-emergency-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee;background:#f8f9fa;border-radius:8px 8px 0 0}.ec-emergency-header h3{margin:0;color:#dc3545}.ec-close-emergency{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:#666;padding:0;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center}.ec-close-emergency:hover{background:#eee;color:#333}.ec-emergency-content{padding:20px}.ec-emergency-banner{position:fixed;top:0;left:0;right:0;background:linear-gradient(90deg,#dc3545,#fd7e14);color:#fff;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;z-index:999999;animation:ec-banner-slide 0.5s ease-out}.ec-emergency-banner-content{flex:1}.ec-emergency-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgb(0 0 0 / .9);display:flex;align-items:center;justify-content:center;z-index:999999;animation:ec-fade-in 0.3s ease-out}.ec-emergency-overlay-content{background:#fff;border-radius:12px;padding:40px;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;text-align:center}.ec-emergency-overlay-content h2{color:#dc3545;margin-top:0}.ec-emergency-overlay-body{margin:30px 0}.ec-emergency-overlay button.ec-close-emergency{background:#dc3545;color:#fff;border:none;padding:12px 30px;border-radius:6px;font-size:16px;cursor:pointer;transition:background 0.3s}.ec-emergency-overlay button.ec-close-emergency:hover{background:#c82333}@keyframes ec-popup-in{from{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes ec-banner-slide{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes ec-fade-in{from{opacity:0}to{opacity:1}}@media (max-width:768px){.ec-emergency-popup{width:95%;max-height:85vh}.ec-emergency-overlay-content{padding:20px}}.ec-festival-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100000;display:flex;align-items:center;justify-content:center;animation:ec-fade-in 0.3s ease;padding:0}.ec-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgb(0 0 0 / .85);backdrop-filter:blur(8px);z-index:10!important}.ec-modal-content{position:relative;z-index:30!important;display:flex;flex-direction:column;width:90%;max-width:750px;max-height:85vh;background:rgb(20 20 20 / .6);border-radius:24px;box-shadow:0 25px 50px -12px rgb(0 0 0 / .5);border:1px solid rgb(255 255 255 / .1);overflow:hidden;animation:ec-zoom-in 0.4s cubic-bezier(.16,1,.3,1)}#ec-fireworks-container,#ec-canvas-flowers,.ec-confetti-canvas{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;pointer-events:none;z-index:20!important}body>#ec-fireworks-container{position:fixed!important;z-index:10000000!important}.ec-modal-content::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at top right,rgb(255 255 255 / .1),transparent 40%);pointer-events:none;z-index:0}.ec-modal-header{flex-shrink:0;padding:25px 30px 10px 30px;display:flex;align-items:center;justify-content:space-between;z-index:2;position:relative}.ec-modal-body{flex-grow:1;overflow-y:auto;padding:10px 30px;z-index:2;position:relative;scrollbar-width:thin;scrollbar-color:rgb(255 255 255 / .3) #fff0}.ec-modal-body::-webkit-scrollbar{width:6px}.ec-modal-body::-webkit-scrollbar-track{background:#fff0}.ec-modal-body::-webkit-scrollbar-thumb{background-color:rgb(255 255 255 / .3);border-radius:20px}.ec-modal-footer{flex-shrink:0;padding:20px 30px 25px 30px;z-index:2;position:relative;background:linear-gradient(to top,rgb(0 0 0 / .2),transparent)}.ec-header-icon-left,.ec-header-icon-right{font-size:40px;filter:drop-shadow(0 0 10px rgb(255 255 255 / .4));animation:ec-pulse 2s infinite}.ec-modal-title-container{flex:1;text-align:center;padding:0 15px}.ec-modal-title{margin:0;font-size:32px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#fff;text-shadow:0 2px 10px rgb(0 0 0 / .3);line-height:1.2}.ec-modal-subtitle{color:rgb(255 255 255 / .9);font-size:16px;margin-top:5px;font-weight:500}.ec-year-display{display:inline-flex;align-items:center;background:rgb(255 255 255 / .15);padding:5px 15px;border-radius:50px;margin-top:8px;border:1px solid rgb(255 255 255 / .2)}.ec-old-year{color:#ffe66d;font-weight:700}.ec-new-year{color:#4ecdc4;font-weight:700}.ec-year-arrow{color:#fff;margin:0 10px}.ec-festival-icon-main{font-size:60px;text-align:center;margin:10px 0 20px;filter:drop-shadow(0 5px 15px rgb(0 0 0 / .2));animation:ec-float 3s ease-in-out infinite}.ec-festival-message{text-align:center;color:#fff;font-size:18px;line-height:1.6;margin-bottom:20px;background:rgb(0 0 0 / .1);padding:15px;border-radius:12px}.ec-festival-icons-row{text-align:center;font-size:28px;letter-spacing:10px;margin-bottom:15px;opacity:.9}.ec-wishes-container,.ec-lunar-wishes{background:rgb(255 255 255 / .1);border-radius:16px;padding:15px}.ec-wishes-label{color:#fff;font-weight:600;margin-bottom:10px;display:block;text-align:center;text-transform:uppercase;font-size:14px;letter-spacing:1px;opacity:.9}.ec-wishes-grid,.ec-lunar-wishes-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ec-wish-item,.ec-lunar-wish{background:rgb(255 255 255 / .15);color:#fff;padding:10px;border-radius:8px;font-size:14px;text-align:center;border:1px solid rgb(255 255 255 / .1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-close-festival{width:100%;padding:16px;border:none;border-radius:12px;background:#fff;color:#333;font-weight:700;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:transform 0.2s,box-shadow 0.2s;box-shadow:0 4px 15px rgb(0 0 0 / .2);text-transform:uppercase}.ec-close-festival:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgb(0 0 0 / .3)}.ec-close-festival svg{fill:#333}@media (max-width:768px){.ec-modal-content{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border-radius:0!important;border:none}.ec-modal-header{padding:40px 20px 10px 20px}.ec-modal-title{font-size:24px}.ec-header-icon-left,.ec-header-icon-right{font-size:28px}.ec-modal-body{padding:10px 20px}.ec-wishes-grid,.ec-lunar-wishes-grid{grid-template-columns:1fr}.ec-modal-footer{padding:15px 20px 30px 20px}}@keyframes ec-zoom-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes ec-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.ec-festival-solar-new-year .ec-modal-content{background:linear-gradient(160deg,#ff6b6b,#4ecdc4)}.ec-festival-lunar-new-year .ec-modal-content{background:linear-gradient(160deg,#d32f2f,#ffc107)}.ec-festival-hung-kings-day .ec-modal-content{background:linear-gradient(160deg,#5d4037,#d4af37)}.ec-festival-liberation-day .ec-modal-content{background:linear-gradient(160deg,#b71c1c,#ef5350)}.ec-festival-general .ec-modal-content{background:linear-gradient(160deg,#6a11cb,#2575fc)}.ec-christmas .ec-modal-content{background:linear-gradient(135deg,#0a5d00 0%,#d42426 100%)!important;border:3px solid #fff5e1!important}.ec-christmas .ec-modal-title{color:#ffffff!important;text-shadow:2px 2px 4px rgb(0 0 0 / .5)}