:root{--primary:#00a0a0;--primary-dark:teal;--primary-light:#4ecdc4;--accent:#ffe66d;--accent-warm:#ff6b6b;--bg-gradient-start:#00a0a0;--bg-gradient-end:#066;--white:#fff;--text-dark:#333;--text-light:#666;--success:#4caf50;--error:#e74c3c;--shadow:#00000026;--font-family:"Nunito",-apple-system,BlinkMacSystemFont,sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-family);background:linear-gradient(135deg,var(--bg-gradient-start),var(--bg-gradient-end));min-height:100vh;color:var(--text-dark);background-image:url(/mobile.png);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;line-height:1.6;overflow-x:hidden}.app{min-height:100vh}.landing-page{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.landing-content{text-align:center;z-index:10;width:100%;max-width:400px}.logo-container{margin-bottom:2rem}.logo{color:var(--white);letter-spacing:8px;text-shadow:3px 3px #0003;font-size:3.5rem;font-weight:800}.hero-section{box-shadow:0 10px 40px var(--shadow);background:#fffffff2;border-radius:20px;margin-bottom:1.5rem;padding:2rem 1.5rem}.hero-title{color:var(--primary);margin-bottom:.5rem;font-size:2rem;font-weight:800}.hero-subtitle{color:var(--text-light);margin-bottom:1.5rem;font-size:1rem}.prizes-preview{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.prize-badge{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:var(--white);border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.start-button{width:100%;max-width:280px;color:var(--primary-dark);background:linear-gradient(135deg,var(--accent),#ffd93d);cursor:pointer;border:none;border-radius:50px;justify-content:center;align-items:center;gap:.5rem;margin:0 auto 1rem;padding:1rem 2rem;font-size:1.2rem;font-weight:700;transition:all .3s;display:flex;box-shadow:0 5px 20px #ffe66d66}.start-button:hover{transform:translateY(-3px);box-shadow:0 8px 30px #ffe66d80}.start-button:active{transform:translateY(-1px)}.button-icon{font-size:1.4rem;transition:transform .3s}.start-button:hover .button-icon{transform:translate(5px)}.terms-text{color:#fffc;font-size:.75rem}.snowflakes{pointer-events:none;z-index:1;width:100%;height:100%;position:fixed;top:0;left:0}.snowflake{color:#fff9;font-size:1rem;animation:linear infinite snowfall;position:absolute;top:-20px}@keyframes snowfall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:.3;transform:translateY(100vh)rotate(360deg)}}.snowflake:first-child{animation-duration:8s;animation-delay:0s;left:5%}.snowflake:nth-child(2){font-size:.8rem;animation-duration:12s;animation-delay:1s;left:10%}.snowflake:nth-child(3){animation-duration:10s;animation-delay:2s;left:15%}.snowflake:nth-child(4){font-size:1.2rem;animation-duration:14s;animation-delay:.5s;left:20%}.snowflake:nth-child(5){animation-duration:9s;animation-delay:3s;left:25%}.snowflake:nth-child(6){font-size:.9rem;animation-duration:11s;animation-delay:1.5s;left:30%}.snowflake:nth-child(7){animation-duration:13s;animation-delay:2.5s;left:35%}.snowflake:nth-child(8){font-size:1.1rem;animation-duration:8s;animation-delay:4s;left:40%}.snowflake:nth-child(9){animation-duration:10s;animation-delay:.8s;left:45%}.snowflake:nth-child(10){font-size:.7rem;animation-duration:12s;animation-delay:3.5s;left:50%}.snowflake:nth-child(11){animation-duration:9s;animation-delay:1.2s;left:55%}.snowflake:nth-child(12){font-size:1.3rem;animation-duration:11s;animation-delay:2.2s;left:60%}.snowflake:nth-child(13){animation-duration:14s;animation-delay:.3s;left:65%}.snowflake:nth-child(14){font-size:.85rem;animation-duration:8s;animation-delay:4.5s;left:70%}.snowflake:nth-child(15){animation-duration:10s;animation-delay:1.8s;left:75%}.snowflake:nth-child(16){font-size:1.15rem;animation-duration:13s;animation-delay:3.2s;left:80%}.snowflake:nth-child(17){animation-duration:9s;animation-delay:.7s;left:85%}.snowflake:nth-child(18){font-size:.95rem;animation-duration:11s;animation-delay:2.8s;left:90%}.snowflake:nth-child(19){animation-duration:12s;animation-delay:1.3s;left:95%}.snowflake:nth-child(20){font-size:1.05rem;animation-duration:10s;animation-delay:3.8s;left:98%}.decorations{pointer-events:none;z-index:2;width:100%;height:100%;position:fixed;top:0;left:0}.decoration{font-size:2rem;animation:4s ease-in-out infinite float;position:absolute}.decoration-1{animation-delay:0s;top:10%;left:5%}.decoration-2{font-size:1.5rem;animation-delay:1s;top:15%;right:8%}.decoration-3{animation-delay:2s;bottom:15%;left:8%}.decoration-4{font-size:1.8rem;animation-delay:.5s;bottom:20%;right:5%}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-15px)rotate(10deg)}}.registration-page{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.form-container{background:var(--white);width:100%;max-width:400px;box-shadow:0 15px 50px var(--shadow);border-radius:20px;padding:1.5rem;position:relative}.back-button{color:var(--primary);cursor:pointer;background:0 0;border:none;margin-bottom:.5rem;padding:.5rem 0;font-size:.9rem;font-weight:600;transition:color .2s}.back-button:hover{color:var(--primary-dark)}.form-header{margin-bottom:1.5rem}.step-indicator{background:var(--primary);color:var(--white);text-align:left;border-radius:12px;padding:1rem}.step-number{margin-bottom:.25rem;font-size:.9rem;font-weight:700;display:block}.step-text{font-size:1rem;font-weight:600}.registration-form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--primary);font-size:.85rem;font-weight:600}.input-wrapper{position:relative}.input-wrapper input[type=text],.input-wrapper input[type=email]{border:2px solid #e0e0e0;border-radius:10px;width:100%;padding:.9rem 2.5rem .9rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.input-wrapper input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #00a0a026}.check-icon{color:var(--success);font-size:1.1rem;font-weight:700;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.checkbox-group{margin-top:.5rem}.checkbox-label{cursor:pointer;color:var(--text-light);align-items:flex-start;gap:.75rem;font-size:.8rem;line-height:1.4;display:flex}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{border:2px solid var(--primary);border-radius:6px;width:22px;min-width:22px;height:22px;margin-top:2px;transition:all .2s;position:relative}.checkbox-label input:checked+.checkbox-custom{background:var(--primary)}.checkbox-label input:checked+.checkbox-custom:after{content:"✓";color:var(--white);font-size:.9rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.privacy-link{color:var(--primary);text-decoration:underline}.error-message{color:var(--error);border-left:4px solid var(--error);background:#ffeaea;border-radius:8px;padding:.75rem 1rem;font-size:.85rem;font-weight:500}.submit-button{width:100%;color:var(--white);background:var(--primary);cursor:pointer;border:none;border-radius:10px;margin-top:.5rem;padding:1rem;font-size:1.1rem;font-weight:700;transition:all .3s}.submit-button:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 5px 20px #00a0a04d}.submit-button:disabled{opacity:.7;cursor:not-allowed}.required-note{color:var(--text-light);text-align:left;font-size:.75rem}.spin-wheel-page{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.wheel-container{text-align:center;width:100%;max-width:400px}.wheel-step{margin-bottom:1.5rem}.wheel-wrapper{width:280px;height:280px;margin:0 auto 1.5rem;position:relative}.wheel-pointer{color:var(--accent);z-index:10;text-shadow:0 2px 5px #0000004d;filter:drop-shadow(0 2px 3px #0003);font-size:2rem;position:absolute;top:-15px;left:50%;transform:translate(-50%)}.wheel{filter:drop-shadow(0 10px 30px #0000004d);width:100%;height:100%}.spin-button{color:var(--primary-dark);background:linear-gradient(135deg,var(--accent),#ffd93d);cursor:pointer;border:none;border-radius:50px;margin-bottom:1rem;padding:1rem 2.5rem;font-size:1.2rem;font-weight:700;transition:all .3s;box-shadow:0 5px 25px #ffe66d66}.spin-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 8px 35px #ffe66d80}.spin-button:disabled{opacity:.8;cursor:not-allowed;animation:1s infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.spin-hint{color:#ffffffe6;font-size:.9rem}.prize-popup-overlay{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:fixed;top:0;left:0}.confetti-container{pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti-piece{border-radius:2px;width:10px;height:10px;animation:linear forwards confetti-fall;position:absolute;top:-10px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.prize-popup{background:var(--white);text-align:center;border-radius:24px;width:100%;max-width:380px;padding:2rem 1.5rem;animation:.5s cubic-bezier(.34,1.56,.64,1) popup-in;position:relative;box-shadow:0 25px 60px #0000004d}@keyframes popup-in{0%{opacity:0;transform:scale(.8)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}.prize-header{margin-bottom:1.5rem}.prize-emoji{margin-bottom:.5rem;font-size:4rem;animation:.6s infinite alternate bounce}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.prize-header h2{color:var(--primary);font-size:1.6rem;font-weight:800}.prize-content{margin-bottom:1.5rem}.prize-intro{color:var(--text-light);margin-bottom:.5rem;font-size:.95rem}.prize-name{color:var(--accent-warm);background:linear-gradient(135deg,#ff6b6b,#ee5a5a);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:800}.voucher-section{background:#f8f9fa;border-radius:16px;margin-bottom:1.5rem;padding:1.25rem}.voucher-label{color:var(--text-light);margin-bottom:.75rem;font-size:.85rem}.voucher-code-container{justify-content:center;align-items:center;gap:.5rem;display:flex}.voucher-code{background:var(--white);letter-spacing:1px;color:var(--primary-dark);border:2px dashed var(--primary);border-radius:10px;padding:.75rem 1rem;font-family:Courier New,monospace;font-size:1rem;font-weight:700}.copy-button{background:var(--primary);color:var(--white);cursor:pointer;border:none;border-radius:10px;width:40px;height:40px;font-size:1.1rem;transition:all .2s}.copy-button:hover{background:var(--primary-dark);transform:scale(1.05)}.copied-message{color:var(--success);margin-top:.5rem;font-size:.8rem;font-weight:600;display:block}.prize-instructions{text-align:left;margin-bottom:1.5rem}.prize-instructions h3{color:var(--primary);margin-bottom:.75rem;font-size:.95rem}.prize-instructions ol{color:var(--text-light);padding-left:1.25rem;font-size:.85rem}.prize-instructions li{margin-bottom:.4rem}.close-button{width:100%;color:var(--white);background:var(--primary);cursor:pointer;border:none;border-radius:12px;padding:1rem;font-size:1rem;font-weight:700;transition:all .3s}.close-button:hover{background:var(--primary-dark)}.terms-note{color:var(--text-light);margin-top:1rem;font-size:.7rem}@media (min-width:480px){.hero-title{font-size:2.5rem}.logo{font-size:4rem}.wheel-wrapper{width:320px;height:320px}.form-container{padding:2rem}}@media (min-width:768px){body{background-image:url(/desktop.png);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}.hero-section{padding:2.5rem 2rem}.hero-title{font-size:3rem}.logo{font-size:5rem}.wheel-wrapper{width:360px;height:360px}.prize-popup{padding:2.5rem 2rem}.decoration{font-size:3rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
