@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=Inter:wght@400;500;600;700&display=swap");*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:#9caf88;background-image:radial-gradient(circle at 10% 20%,rgba(255,255,255,.1) 0,transparent 50%),radial-gradient(circle at 90% 80%,rgba(255,255,255,.1) 0,transparent 50%);position:relative}body:before{content:"🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕 🐕";position:fixed;top:0;left:0;width:100%;height:100%;font-size:2em;line-height:2.5;word-wrap:break-word;opacity:.15;z-index:0;pointer-events:none;padding:20px;color:#7a8f6e}.container{max-width:650px;width:100%;position:relative;perspective:1500px;z-index:1}.cooper-corner{position:absolute;top:10px;right:-60px;display:flex;flex-direction:column;align-items:center;gap:5px;z-index:100}.cooper-icon{font-size:2.5em;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3));animation:wagTail 2s ease-in-out infinite;cursor:pointer}.cooper-icon:hover{animation:excitedWag .5s ease-in-out infinite}@keyframes wagTail{0%,to{transform:rotate(0deg)}50%{transform:rotate(10deg)}}@keyframes excitedWag{0%,to{transform:rotate(0deg) scale(1)}25%{transform:rotate(-15deg) scale(1.05)}75%{transform:rotate(15deg) scale(1.05)}}.cooper-name{font-size:.7em;font-weight:600;color:white;text-shadow:1px 1px 2px rgba(0,0,0,.5);writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed}.calendar-wrapper{position:relative;background:#f5f5f5;border-radius:3px;box-shadow:0 30px 60px rgba(0,0,0,.4),0 10px 20px rgba(0,0,0,.2);overflow:visible;min-height:550px}.calendar-wrapper:after{content:"";position:absolute;bottom:-8px;left:8px;right:8px;height:100%;background:linear-gradient(180deg,#e8e8e8 0,#d0d0d0);border-radius:3px;z-index:-1;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -2px 0 #dadada,0 -4px 0 #c8c8c8,0 -6px 0 #b8b8b8,0 -8px 0 #a8a8a8}.calendar-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:35px;background:#2c3e50;background-image:radial-gradient(circle at 15% 50%,#34495e 12px,transparent 0),radial-gradient(circle at 50% 50%,#34495e 12px,transparent 0),radial-gradient(circle at 85% 50%,#34495e 12px,transparent 0);box-shadow:inset 0 -5px 10px rgba(0,0,0,.3),0 3px 8px rgba(0,0,0,.4);z-index:100;border-radius:3px 3px 0 0}.calendar-page{background:white;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.01) 0,rgba(0,0,0,.01) 4px);padding:50px 40px 40px;margin-top:35px;text-align:center;cursor:pointer;position:relative;z-index:10;transition:transform .15s ease;box-shadow:0 3px 8px rgba(0,0,0,.15);border-radius:0 0 3px 3px;transform-origin:top center}.calendar-page:before{content:"";position:absolute;top:-3px;left:0;right:0;height:8px;background-image:linear-gradient(45deg,transparent 33.33%,white 0,white 66.66%,transparent 0),linear-gradient(-45deg,transparent 33.33%,white 0,white 66.66%,transparent 0);background-size:8px 100%;background-position:0 0,4px 0;background-repeat:repeat-x;filter:drop-shadow(0 -1px 1px rgba(0,0,0,.1))}.calendar-page:hover{transform:translateY(-4px)}.calendar-page:active{transform:translateY(-2px)}.calendar-page.flipping{animation:flipPage .7s cubic-bezier(.4,0,.2,1) forwards}@keyframes flipPage{0%{transform:rotateX(0deg) translateY(0);opacity:1}50%{transform:rotateX(-90deg) translateY(-50px) scale(.95);opacity:.7}to{transform:rotateX(-180deg) translateY(-100px) scale(.8);opacity:0}}.calendar-page.hidden{display:none}.calendar-top{margin-bottom:20px}.month{font-size:1.2em;color:#555;text-transform:uppercase;letter-spacing:6px;margin-bottom:12px;font-weight:600}.day-number{font-size:9em;font-weight:900;line-height:.9;margin:20px 0;font-family:Playfair Display,serif;background:linear-gradient(135deg,#7a8f6e,#5a6f4e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(2px 2px 2px rgba(0,0,0,.1))}.day-name{font-size:1.4em;color:#555;text-transform:uppercase;letter-spacing:4px;margin-bottom:8px;font-weight:500}.year{font-size:1.1em;color:#999;margin-top:12px;font-weight:400}.tear-instruction{font-size:1em;color:#999;margin-top:25px;font-style:italic;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.content-area{padding:50px 30px 40px;background:white;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.01) 0,rgba(0,0,0,.01) 4px);opacity:0;transform:scale(.95);transition:all .4s ease .3s;margin-top:35px;border-radius:0 0 3px 3px}.content-area:before{content:"";position:absolute;top:32px;left:0;right:0;height:8px;background-image:linear-gradient(45deg,transparent 33.33%,white 0,white 66.66%,transparent 0),linear-gradient(-45deg,transparent 33.33%,white 0,white 66.66%,transparent 0);background-size:8px 100%;background-position:0 0,4px 0;background-repeat:repeat-x;filter:drop-shadow(0 -1px 1px rgba(0,0,0,.1))}.content-area.visible{opacity:1;transform:scale(1)}.content-type{font-size:.9em;color:#5a6f4e;text-transform:uppercase;letter-spacing:2px;margin-bottom:25px;font-weight:700;border-bottom:2px solid #7a8f6e;padding-bottom:10px}.content-text{font-size:1.05em;line-height:1.7;color:#2c3e50;margin-bottom:30px;font-weight:400;text-align:left;padding:0 10px}.content-text strong{color:#5a6f4e;font-weight:700}.cooper-message{font-size:.95em;color:#2c3e50;margin-top:30px;padding:15px 18px;background:#e8f5e0;border-left:4px solid #7a8f6e;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.1);text-align:left;line-height:1.6;font-weight:500}.cooper-message:before{content:"🐕 Cooper: ";font-weight:700;color:#5a6f4e}.cooper-message:empty{display:none}.reset-button{margin-top:30px;padding:12px 28px;background:#7a8f6e;border:none;border-radius:6px;cursor:pointer;font-size:.95em;color:white;font-weight:600;transition:all .3s ease;font-family:Inter,sans-serif;box-shadow:0 3px 10px rgba(122,143,110,.3)}.reset-button:hover{background:#5a6f4e;transform:translateY(-2px);box-shadow:0 5px 15px rgba(90,111,78,.4)}.reset-button:active{transform:translateY(0)}.season-badge{position:absolute;bottom:-50px;left:50%;transform:translateX(-50%);font-size:.85em;color:white;background:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 18px;border-radius:20px;font-weight:600}@keyframes confetti-fall{to{transform:translateY(100vh) rotate(2turn);opacity:0}}.puzzle-container{margin:20px 0;padding:25px 20px;background:#fafafa;border-radius:8px;border:2px solid #e9ecef}@media (max-width:650px){.container{max-width:100%}.cooper-corner{right:-50px;top:5px}.cooper-icon{font-size:2em}.calendar-page{padding:40px 25px 30px}.day-number{font-size:7em}.content-area{padding:40px 20px 30px}.content-text{font-size:1em}.puzzle-container{padding:20px 15px}}