:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}#root{width:100%}.modal-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:3px solid #fff3;border-radius:20px;width:90%;max-width:500px;padding:40px;animation:.5s ease-out slideIn;box-shadow:0 20px 60px #0000004d}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.prize-announcement{margin-bottom:30px}.prize-emoji-large{margin-bottom:20px;font-size:4rem;animation:1s ease-in-out bounce}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}.prize-announcement h2{color:#fff;text-shadow:2px 2px 4px #0000004d;margin-bottom:10px;font-size:2.5rem}.prize-announcement h3{color:#ffffffe6;margin-bottom:20px;font-size:1.5rem}.prize-winner{color:gold;text-shadow:1px 1px 2px #00000080;background:#ffffff1a;border:2px solid #ffd7004d;border-radius:15px;margin:20px 0;padding:15px 25px;font-size:2rem;font-weight:700}.prize-description{color:#fffc;font-size:1.1rem;line-height:1.5}.modal-actions{flex-wrap:wrap;justify-content:center;gap:15px;display:flex}.claim-button{color:#fff;cursor:pointer;background:linear-gradient(45deg,#4caf50,#45a049);border:none;border-radius:25px;padding:15px 30px;font-size:1.2rem;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #0003}.claim-button:hover{background:linear-gradient(45deg,#45a049,#3d8b40);transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.play-again-button{color:#fff;cursor:pointer;background:0 0;border:2px solid #fff;border-radius:25px;padding:15px 30px;font-size:1.2rem;font-weight:700;transition:all .3s}.play-again-button:hover{color:#764ba2;background:#fff;transform:translateY(-2px)}@media (max-width:768px){.modal-content{margin:20px;padding:30px 20px}.prize-emoji-large{font-size:3rem}.prize-announcement h2{font-size:2rem}.prize-winner{padding:12px 20px;font-size:1.5rem}.modal-actions{flex-direction:column}.claim-button,.play-again-button{width:100%;padding:12px 25px}}.spin-wheel-container{flex-direction:column;align-items:center;gap:30px;display:flex}.wheel-wrapper{will-change:transform;backface-visibility:hidden;background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(45deg,red 0%,gold 10%,#0f0 20%,#00f 30%,red 40%,gold 50%,#0f0 60%,#00f 70%,red 80%,gold 90%,#0f0 100%) border-box;border:12px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:450px;height:450px;animation:3s linear infinite lightsRotate;display:flex;position:relative;transform:translateZ(0);box-shadow:0 0 30px #ffd70099,0 0 50px #f006,inset 0 2px 10px #ffffff4d}@keyframes lightsRotate{0%{filter:hue-rotate()brightness(1.2)}to{filter:hue-rotate(360deg)brightness(1.2)}}.wheel-wrapper:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle,#0000 60%,#ffd7001a 70%,#ff00001a 80%,#00ff001a 90%,#0000 100%);border-radius:50%;position:absolute;inset:-20px}.wheel-wrapper>div{will-change:transform;transform:translateZ(0)}@media (max-width:768px){.wheel-wrapper{border-width:8px;width:320px;height:320px}}.coupon-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#ffffff1a;border:1px solid #fff3;border-radius:20px;flex-shrink:0;width:100%;max-width:400px;margin-top:0;padding:25px}.coupon-info h3{color:gold;margin:0 0 10px;font-size:1.4rem}.coupon-info p{color:#fffc;margin:0 0 20px;font-size:1rem}.coupon-form{margin-bottom:15px}.input-group{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.coupon-input{color:#fff;text-align:center;text-transform:uppercase;letter-spacing:1px;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:25px;flex:1;min-width:200px;padding:12px 16px;font-size:1rem;transition:all .3s}.coupon-input::placeholder{color:#fff9;text-transform:none}.coupon-input:focus{background:#ffffff26;border-color:gold;outline:none;box-shadow:0 0 20px #ffd7004d}.coupon-button{color:#333;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(45deg,gold,#ffb300);border:none;border-radius:25px;padding:12px 24px;font-size:1rem;font-weight:700;transition:all .3s}.coupon-button:hover{background:linear-gradient(45deg,#ffb300,#ff8f00);transform:translateY(-2px);box-shadow:0 5px 15px #ffd70066}.coupon-button:active{transform:translateY(0)}.coupon-message{border-radius:15px;margin:15px 0;padding:12px 20px;font-weight:700;animation:.3s ease-out messageAppear}.coupon-message.success{color:#4caf50;background:#4caf5033;border:1px solid #4caf5080}.coupon-message.error{color:#f44336;background:#f4433633;border:1px solid #f4433680}@keyframes messageAppear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.coupon-hints{opacity:.7;margin-top:10px}.coupon-hints small{color:#fff9;font-size:.85rem}@media (max-width:768px){.coupon-section{margin:30px 20px 0;padding:20px}.input-group{flex-direction:column}.coupon-input{width:100%;min-width:auto}.coupon-button{width:100%}}@media (min-width:1025px){.coupon-section{margin-top:40px}}*{box-sizing:border-box;margin:0;padding:0}body{color:#fff;background:linear-gradient(135deg,#3d662c 0%,#2d4f20 50%,#1a2e14 100%);min-height:100vh;font-family:Arial,sans-serif;overflow-x:hidden}.app{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative}.music-control{z-index:1000;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:24px;transition:all .3s;display:flex;position:fixed;bottom:20px;right:20px}.music-toggle:hover{background:#fff3;transform:scale(1.1);box-shadow:0 6px 20px #0000004d}.music-toggle:active{transform:scale(.95)}header{text-align:center;z-index:10;margin-bottom:20px;position:relative}.header-container{justify-content:center;align-items:center;gap:30px;margin-bottom:15px;margin-left:40px;display:flex}.santa-side{flex-shrink:0;align-items:center;display:flex}.santa-image{object-fit:contain;filter:drop-shadow(2px 2px 4px #0000004d);width:auto;height:200px}.title-side{flex-direction:column;align-items:center;gap:10px;display:flex}.gift-title{color:gold;text-shadow:2px 2px 4px #00000080;text-align:center;margin:0;font-size:2.2rem;font-weight:700;line-height:1.2}.logo-container{justify-content:center;align-items:center;display:flex}.logo-image{object-fit:contain;filter:drop-shadow(2px 2px 4px #0000004d);width:auto;height:80px}.subtitle{opacity:.9;margin:0;font-size:1.2rem}@media (max-width:768px){.header-container{flex-direction:row;justify-content:center;gap:15px;margin-left:0}.santa-image{height:120px}.title-side{align-items:center}.gift-title{font-size:1.6rem}.logo-image{height:55px}.subtitle{font-size:1rem}}.attempts-counter{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #ffd70066;border-radius:25px;margin:0;padding:12px 24px;box-shadow:0 4px 15px #0003}.attempts-counter span{color:gold;text-shadow:1px 1px 2px #00000080;font-size:1.2rem;font-weight:700}.spin-button{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(45deg,#ff6b6b,orange);border:none;border-radius:50px;padding:18px 50px;font-size:1.6rem;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #0003}.spin-button:hover:not(.disabled){background:linear-gradient(45deg,#ff5252,#ff8f00);transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.spin-button:active:not(.disabled){transform:translateY(0)}.spin-button.disabled{opacity:.7;cursor:not-allowed;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:.7}50%{opacity:.9}}.action-buttons{gap:15px;width:100%;display:flex}.action-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-transform:none;letter-spacing:.5px;border:2px solid #ffffff4d;border-radius:25px;flex:1;padding:14px 20px;font-size:1.1rem;font-weight:700;transition:all .3s}.tasks-button{background:#6495ed4d;border-color:#6495ed80}.tasks-button:hover{background:#6495ed80;transform:translateY(-2px);box-shadow:0 4px 15px #6495ed66}.prizes-button{background:#ff8c004d;border-color:#ff8c0080}.prizes-button:hover{background:#ff8c0080;transform:translateY(-2px);box-shadow:0 4px 15px #ff8c0066}.action-button:active{transform:translateY(0)}@media (max-width:768px){.action-buttons{flex-direction:column;gap:10px}.action-button{width:100%;padding:12px 18px;font-size:1rem}}.music-hint{color:gold;z-index:2000;text-align:center;pointer-events:none;background:#000000d9;border:2px solid gold;border-radius:15px;padding:20px 40px;font-size:1.2rem;font-weight:700;animation:2s ease-in-out infinite pulseHint;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 30px #ffd70080}@keyframes pulseHint{0%,to{opacity:.8;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}}@media (max-width:768px){.music-hint{max-width:80%;padding:15px 25px;font-size:1rem}}.description{opacity:.9;text-align:center;margin-bottom:30px;font-size:1.2rem}.main-content{flex-direction:column;align-items:center;gap:40px;width:100%;max-width:1400px;margin:0 auto;padding:0 20px;display:flex}@media (min-width:1024px){.main-content{flex-direction:row;justify-content:center;align-items:flex-start;gap:130px}}.wheel-section{justify-content:center;align-items:center;display:flex}.control-panel{flex-direction:column;align-items:center;gap:15px;width:100%;display:flex}@media (min-width:1024px){.control-panel{align-items:stretch;min-width:400px}}.side-panel{flex-direction:column;align-items:center;gap:10px;display:flex}@media (min-width:1024px){.side-panel{align-items:stretch;min-width:400px}}@media (max-width:1024px){.main-content{flex-direction:column;align-items:center;gap:30px}.description{margin-bottom:20px;font-size:1rem}}
