.flip-card-container{perspective:1000px;-webkit-perspective:1000px;width:min(300px,85vw);height:min(400px,113vw);max-height:calc(100vh - 200px);position:relative;z-index:1;margin:0 auto;isolation:isolate}.flip-card-container.overview-mode{width:100%;height:0;padding-bottom:140%;max-height:none}.flip-card-container.expanded-mode{width:min(500px,85vw);height:min(667px,113vw);max-height:85vh}.flip-card{position:absolute;top:0;left:0;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;cursor:pointer;will-change:transform}.flip-card.invalid{cursor:not-allowed}.overview-mode .flip-card{pointer-events:none;transition:none!important}.overview-mode .flip-card.flipped{transform:none!important}.overview-mode .flip-card-inner{transition:none!important;transform:none!important}.flip-card-container:not(.overview-mode) .flip-card{position:relative}.flip-card.flipped{transform:rotateY(180deg);-webkit-transform:rotateY(180deg)}.flip-card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.flip-card-front,.flip-card-back{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:15px;box-shadow:0 8px 16px #0006,0 0 30px #ffd70033;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(20px,5vw,30px);box-sizing:border-box;border:4px solid rgba(255,215,0,.3);overflow:hidden;will-change:transform}.flip-card-front:before,.flip-card-back:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:30px 30px;opacity:.3}.flip-card-front{background:linear-gradient(135deg,#c41e3a,#8b0000);color:gold;transform:rotateY(0) translateZ(1px);-webkit-transform:rotateY(0deg) translateZ(1px)}.flip-card-front.invalid{background:linear-gradient(135deg,#6b6b6b,#4a4a4a);color:#b0b0b0;filter:grayscale(100%)}.flip-card-back{background:linear-gradient(135deg,#228b22,#006400);color:gold;transform:rotateY(180deg) translateZ(1px);-webkit-transform:rotateY(180deg) translateZ(1px);padding:0}.overview-mode .flip-card-back{display:none!important}.flip-card-back.invalid{background:linear-gradient(135deg,#6b6b6b,#4a4a4a);filter:grayscale(100%)}.flip-card-back.invalid .day-image{filter:grayscale(100%) brightness(.5);opacity:.6}.flip-card-back .day-image{width:100%;height:100%;object-fit:cover;border-radius:11px;position:absolute;top:0;left:0;z-index:0}.flip-card-front h2,.flip-card-back h2{margin:0 0 clamp(10px,3vw,20px) 0;font-size:clamp(1.8rem,6vw,2.5rem);font-family:Georgia,serif;text-shadow:2px 2px 4px rgba(0,0,0,.5),0 0 15px rgba(255,215,0,.5);letter-spacing:clamp(.5px,.3vw,1px);position:relative;z-index:1;line-height:1.2}.flip-card-front.invalid h2{color:#b0b0b0;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.overview-mode .flip-card-front h2{font-size:clamp(2rem,8vw,3rem);margin:0}.flip-card-front p{margin:0;font-size:clamp(1rem,3vw,1.2rem);font-family:Georgia,serif;text-shadow:1px 1px 3px rgba(0,0,0,.5);position:relative;z-index:1;line-height:1.4}.flip-card-front:after{content:"🎄";position:absolute;top:clamp(10px,3vw,20px);right:clamp(10px,3vw,20px);font-size:clamp(1.5rem,4vw,2rem);opacity:.6}.flip-card-front.invalid:after{opacity:.3;filter:grayscale(100%)}.overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:clamp(12px,3vw,20px);padding:clamp(20px,5vw,40px);max-width:1200px;margin:0 auto;width:100%}.overview-card-wrapper{cursor:pointer;transition:transform .3s ease}.overview-card-wrapper:hover{transform:scale(1.05)}.overview-card-wrapper:active{transform:scale(.95)}.overview-card-wrapper.invalid{cursor:not-allowed}.overview-card-wrapper.invalid:hover{transform:scale(1)}.expanded-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;padding:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.expanded-card-container{position:relative;animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1);max-width:90vw;max-height:90vh}@keyframes scaleIn{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}.overview-card-wrapper.expanded{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.close-button{position:absolute;top:-40px;right:0;background:#ffffffe6;border:none;border-radius:50%;width:40px;height:40px;font-size:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;transition:all .2s ease;z-index:1001;line-height:1;padding:0}.close-button:hover{background:#fff;transform:scale(1.1)}.close-button:active{transform:scale(.9)}@media (max-width: 768px){.overview-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px;padding:15px}.close-button{top:-35px;width:35px;height:35px;font-size:1.5rem}}.background-music{position:fixed;bottom:20px;right:20px;z-index:1000}.music-controls{display:flex;align-items:center;background:#ffffffe6;padding:10px 15px;border-radius:25px;box-shadow:0 2px 10px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.music-toggle{background:none;border:none;font-size:24px;cursor:pointer;padding:5px;transition:transform .2s}.music-toggle:hover{transform:scale(1.1)}.music-toggle:active{transform:scale(.95)}@media (max-width: 768px){.background-music{bottom:10px;right:10px}.music-controls{padding:8px 12px}}.snow-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.snowflake{position:absolute;top:-20px;color:#fff;font-size:inherit;text-shadow:0 0 5px rgba(255,255,255,.8);animation:snowfall linear infinite;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center}@keyframes snowfall{0%{transform:translateY(0) translate(0) rotate(0);opacity:1}50%{transform:translateY(50vh) translate(20px) rotate(180deg);opacity:.8}to{transform:translateY(100vh) translate(-20px) rotate(360deg);opacity:0}}.app{min-height:100vh;min-height:-webkit-fill-available;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a4d2e,#1a5f3f,#0d2818);padding:clamp(10px,3vw,20px);position:relative;overflow-x:hidden;overflow-y:auto}.app:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.1) 1px,transparent 1px),radial-gradient(circle at 80% 70%,rgba(255,255,255,.1) 1px,transparent 1px),radial-gradient(circle at 40% 80%,rgba(255,255,255,.1) 1px,transparent 1px);background-size:100px 100px,150px 150px,80px 80px;pointer-events:none}.app h1{color:gold;margin:0;margin-bottom:clamp(20px,5vw,40px);font-family:Georgia,serif;font-size:clamp(1.8rem,6vw,3rem);position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:clamp(8px,2vw,16px);flex-wrap:nowrap;padding:0 clamp(10px,3vw,20px);line-height:1.2}.app h1 .tree-left,.app h1 .tree-right{flex-shrink:0;font-size:clamp(2.25rem,5vw,2.5rem);text-shadow:2px 2px 4px rgba(0,0,0,.5),0 0 20px rgba(255,215,0,.3);line-height:1}.app h1 .title-text{text-shadow:2px 2px 4px rgba(0,0,0,.5),0 0 20px rgba(255,215,0,.3);letter-spacing:clamp(1px,.5vw,2px);white-space:normal;word-break:break-word;text-align:center}.overview-button,.back-button{margin-top:clamp(20px,5vw,40px);padding:clamp(12px,3vw,16px) clamp(24px,5vw,32px);font-size:clamp(1rem,3vw,1.2rem);font-family:Georgia,serif;background:linear-gradient(135deg,#c41e3a,#8b0000);color:gold;border:3px solid rgba(255,215,0,.5);border-radius:12px;cursor:pointer;transition:all .3s ease;text-shadow:1px 1px 3px rgba(0,0,0,.5);box-shadow:0 4px 8px #0000004d,0 0 15px #ffd70033;position:relative;z-index:1}.overview-button:hover,.back-button:hover{transform:scale(1.05);box-shadow:0 6px 12px #0006,0 0 20px #ffd7004d}.overview-button:active,.back-button:active{transform:scale(.95)}.back-button{background:linear-gradient(135deg,#228b22,#006400);margin-bottom:clamp(20px,5vw,30px)}.coming-soon-container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1;text-align:center;padding:clamp(20px,5vw,40px)}.coming-soon-title{color:gold;font-family:Georgia,serif;font-size:clamp(2rem,8vw,4rem);margin-bottom:clamp(20px,5vw,30px);text-shadow:2px 2px 4px rgba(0,0,0,.5),0 0 20px rgba(255,215,0,.3);letter-spacing:clamp(2px,1vw,4px)}.coming-soon-message{color:gold;font-family:Georgia,serif;font-size:clamp(1.2rem,4vw,2rem);text-shadow:2px 2px 4px rgba(0,0,0,.5),0 0 15px rgba(255,215,0,.2);letter-spacing:clamp(1px,.5vw,2px)}.dev-date-picker{position:fixed;top:clamp(10px,2vw,20px);right:clamp(10px,2vw,20px);z-index:1000;display:flex;align-items:center;gap:clamp(8px,1.5vw,12px);background:#0a4d2ee6;padding:clamp(8px,1.5vw,12px) clamp(12px,2vw,16px);border-radius:8px;border:2px solid rgba(255,215,0,.5);box-shadow:0 4px 8px #0000004d,0 0 10px #ffd70033;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dev-date-picker-label{color:gold;font-family:Georgia,serif;font-size:clamp(.75rem,2vw,.9rem);text-shadow:1px 1px 2px rgba(0,0,0,.5);white-space:nowrap}.dev-date-picker-input{padding:clamp(6px,1vw,8px) clamp(10px,1.5vw,12px);font-family:Georgia,serif;font-size:clamp(.75rem,2vw,.9rem);background:#fffffff2;border:2px solid rgba(255,215,0,.5);border-radius:6px;color:#0a4d2e;cursor:pointer;transition:all .3s ease}.dev-date-picker-input:hover{border-color:#ffd700cc;box-shadow:0 0 8px #ffd7004d}.dev-date-picker-input:focus{outline:none;border-color:gold;box-shadow:0 0 12px #ffd70080}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;height:-webkit-fill-available}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;height:-webkit-fill-available;overflow-x:hidden}#root{width:100%;min-height:100vh;min-height:-webkit-fill-available;min-height:100dvh}
