.christmas-card{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;perspective:2000px;background:#1a1a1a}.santa-animation{position:absolute;top:3%;left:-250px;z-index:100;animation:santaRide 10s ease-in-out infinite;pointer-events:none}.santa{width:250px;height:auto;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3))}@keyframes santaRide{0%{left:-250px;top:3%;transform:rotate(-3deg)}25%{top:6%;transform:rotate(2deg)}50%{top:4%;transform:rotate(-2deg)}75%{top:7%;transform:rotate(1deg)}to{left:calc(100% - 160px);top:0%;transform:rotate(-3deg)}}.santa-corner{position:absolute;top:15px;right:5px;width:75px;height:120px;z-index:150;pointer-events:none;animation:santaFadeIn .3s ease-in,santaBounce 2s ease-in-out infinite}.santa-corner-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(2px 2px 6px rgba(0,0,0,.4))}@keyframes santaFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes santaBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.05)}}.santa-speech-bubble{position:absolute;top:-5px;right:45px;z-index:160;pointer-events:none}@keyframes bubbleFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.card-front{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;transition:transform 1s ease-in-out;transform-style:preserve-3d;backface-visibility:hidden}.card-front.flipped{transform:rotateY(-180deg)}.background-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.background-image{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;background-image:url(/background-neu.png)}.curved-text-container{position:absolute;bottom:3rem;left:2.2%;z-index:10;text-align:left}.curved-text-container h1{color:#fff;font-size:7rem;font-weight:900;font-family:Poppins,Segoe UI,Arial,sans-serif;text-shadow:2px 2px 0px rgba(0,0,0,.2),4px 4px 8px rgba(0,0,0,.3),-1px -1px 0px rgba(255,255,255,.1);margin:0;letter-spacing:-.02em;line-height:.9;-webkit-text-stroke:1px rgba(255,255,255,.3);paint-order:stroke fill}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.page-corner{position:absolute;top:0;right:0;width:160px;height:160px;cursor:pointer;z-index:200;overflow:visible}.corner-fold{position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 120px 120px 0;border-color:transparent #ff500a transparent transparent;transition:all .3s ease;filter:drop-shadow(-3px 3px 6px rgba(0,0,0,.4));z-index:201}.corner-text-box{position:absolute;top:80px;right:-20px;font-size:.65rem;color:#fff;background:#002c50;padding:.4rem .6rem;border-radius:4px;white-space:nowrap;transform:rotate(-45deg);transform-origin:center;opacity:1;transition:all .3s ease;pointer-events:none;box-shadow:0 2px 4px #0000004d;font-family:Segoe UI,Arial,sans-serif;line-height:1.3;text-align:center;max-width:140px;white-space:normal;z-index:250}.corner-click-indicator{position:absolute;top:15px;right:15px;transform:translate(0);font-size:2rem;z-index:250;pointer-events:none;animation:clickPulse 1.5s ease-in-out infinite;text-shadow:0 0 10px rgba(255,255,255,.8)}@keyframes clickPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.page-corner:hover .corner-fold{border-width:0 175px 175px 0;filter:drop-shadow(-4px 4px 8px rgba(0,0,0,.5))}.page-corner:hover .corner-click-indicator{animation:clickPulse .8s ease-in-out infinite}@keyframes pulse-text{0%,to{transform:rotate(-45deg) scale(1)}50%{transform:rotate(-45deg) scale(1.05)}}.logo-container-front{position:absolute;top:2rem;left:2rem;z-index:20;pointer-events:none}.logo-container-front .logo{height:35px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));transition:transform .3s ease}.logo-container-card{position:absolute;top:2rem;right:2rem;z-index:200}.logo-card{height:25px;width:auto;opacity:.9;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.5))}.card-inside-left-content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.signatures{margin-top:3rem;display:flex;flex-direction:row;gap:2rem;align-items:center;justify-content:center;width:100%}.signature{font-family:Brush Script MT,Segoe Script,cursive;font-size:3rem;color:#fff;font-weight:400;display:inline-block;position:relative;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.signature-1{transform:rotate(-3deg)}.signature-2{transform:rotate(2deg)}.card-inside{position:absolute;top:2rem;left:2rem;right:2rem;bottom:2rem;width:calc(100% - 4rem);height:calc(100% - 4rem);background:linear-gradient(to bottom,#f8f8f8,#fff);display:flex;align-items:stretch;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s ease-in-out .5s;z-index:5;padding:0;border-radius:8px;overflow:hidden;box-shadow:inset 0 0 20px #002c504d,0 0 40px #002c5080}.card-inside.visible{opacity:1;pointer-events:all}.card-inside-left,.card-inside-right{flex:1;padding:3rem;display:flex;flex-direction:column;align-items:center;text-align:center;height:100%}.card-inside-left{background-image:url(/card-left.png);background-size:cover;background-position:center;background-repeat:no-repeat;justify-content:center;position:relative}.card-inside-left>*{transform:translateY(-20%)}.card-inside-right{padding-top:6rem;justify-content:flex-start}.card-inside-left h2{line-height:1;font-size:44px}.card-inside-right{background-image:url(/card-right.png);background-size:cover;background-position:center;background-repeat:no-repeat;justify-content:center}.card-fold{width:1px;height:100%;background:linear-gradient(to bottom,#0000001a,#0003,#0000001a);box-shadow:0 0 10px #0003}.card-inside h2{color:#fff;font-size:2.5rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.5);font-family:Poppins,Segoe UI,Arial,sans-serif;line-height:1.2}.card-inside-left h2{line-height:1}.card-inside p{color:#fff;font-size:1.2rem;line-height:1.3;max-width:300px;font-family:Poppins,Segoe UI,Arial,sans-serif;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.code-entry{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem}.code-entry h2{color:#002c50;font-size:2rem;margin-bottom:2rem;text-align:center;font-family:Segoe UI,Arial,sans-serif}.code-entry form{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:400px}.code-input{width:100%;padding:1rem 1.5rem;font-size:1.5rem;text-align:center;border:2px solid #002C50;border-radius:8px;font-family:Segoe UI,Arial,sans-serif;letter-spacing:.2em;outline:none;transition:all .3s ease}.code-input:focus{border-color:#004080;box-shadow:0 0 0 3px #0040801a}.code-input::placeholder{letter-spacing:.2em;color:#999}.code-submit{padding:.75rem 2rem;font-size:1.1rem;background:#ff500a;color:#fff;border:none;border-radius:8px;cursor:pointer;font-family:Segoe UI,Arial,sans-serif;font-weight:600;transition:all .3s ease;box-shadow:0 4px 8px #0003}.code-submit:hover{background:#ff6b2b;transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.error-message{color:#d32f2f;font-size:.9rem;margin-top:.5rem;text-align:center;font-family:Segoe UI,Arial,sans-serif}.christmas-tree-icon{font-size:4rem;margin-bottom:1.5rem;animation:sway 3s ease-in-out infinite}@keyframes sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.card-inside-right p{max-width:500px}.message-salutation{font-weight:700;font-size:1.4rem;margin-bottom:1.5rem}.message-text{margin-bottom:1.5rem}.message-closing{font-style:italic;margin-top:1.5rem;margin-bottom:.5rem}.game-santa{position:absolute;bottom:10px;width:80px;height:80px;transform:translate(-50%);z-index:100;pointer-events:none;transition:left .1s linear}.game-santa-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3))}.ball{position:absolute;width:30px;height:30px;font-size:24px;display:flex;align-items:center;justify-content:center;transform:translate(-50%);z-index:50;pointer-events:none;transition:none}.game-score{position:absolute;top:20px;left:20px;background:#002c50e6;color:#fff;padding:10px 20px;border-radius:8px;font-size:1.2rem;font-weight:700;z-index:200;box-shadow:0 4px 8px #0000004d;font-family:Segoe UI,Arial,sans-serif;display:flex;align-items:center;gap:12px}.help-button{width:28px;height:28px;border-radius:50%;background:#ff500a;color:#fff;border:2px solid white;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;padding:0;line-height:1}.help-button:hover{background:#ff6b2b;transform:scale(1.1);box-shadow:0 0 10px #ff500a99}.help-button:active{transform:scale(.95)}.close-button{position:absolute;top:-15px;right:-15px;width:50px;height:50px;border:none;background:#002c50;color:#fff;font-size:1.5rem;border-radius:50%;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 8px #0003;z-index:300;font-family:Segoe UI,Arial,sans-serif}.close-button:hover{background:#004080;transform:scale(1.1)}@media (max-width: 768px){.card-inside{top:1rem;left:1rem;right:1rem;bottom:1rem;width:calc(100% - 2rem);height:calc(100% - 2rem);border-width:8px}.content{max-width:90%;padding:.75rem 1.25rem;max-height:20vh}.title{font-size:1.75rem}.message{font-size:1.2rem}.card-inside{flex-direction:column;overflow-y:auto}.card-fold{width:100%;height:4px}.card-inside-left,.card-inside-right{padding:2rem}.card-inside h2{font-size:1.5rem}.card-inside p{font-size:1rem}.page-corner{width:100px;height:100px}.corner-fold{border-width:0 100px 100px 0}.corner-fold:before{top:6px;right:6px;border-width:0 20px 20px 0}.corner-icon{top:12px;right:12px;font-size:1.2rem}.corner-hint{font-size:.65rem;top:40px;right:-5px}.page-corner:hover .corner-fold{border-width:0 110px 110px 0}}.tutorial-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;pointer-events:none}.tutorial-bubble{position:fixed;transform:translate(-50%);z-index:1000;animation:tutorialPulse 2s ease-in-out infinite}.speech-bubble-svg{width:320px;height:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}@keyframes tutorialPulse{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}.snowflakes-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100;overflow:hidden}.snowflakes-container.snowflakes-inside{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.snowflake{position:absolute;top:-10%;-webkit-user-select:none;user-select:none;animation:fall linear infinite;display:flex;align-items:center;justify-content:center}.snowflake img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 5px rgba(255,255,255,.8))}@keyframes fall{0%{top:-10%;transform:translate(0) rotate(0)}to{top:110%;transform:translate(50px) rotate(360deg)}}.snowflake:nth-child(2n){animation-name:fall-alternate}@keyframes fall-alternate{0%{top:-10%;transform:translate(0) rotate(0)}to{top:110%;transform:translate(-50px) rotate(-360deg)}}:root{font-family:Segoe UI,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#1a1a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-color: #002C50;--light-color: #004080}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;margin:0;padding:0}
