*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body{background:#0a1628;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}:root{--alandia-blue: #0693e3;--alandia-dark: #32373c;--alandia-light: #f5f9fc;--alandia-gray: #abb8c3;--alandia-gold: #fcb900;--alandia-orange: #ff6900;--alandia-red: #cf2e2e;--alandia-green: #00a67d;--alandia-white: #ffffff;--alandia-navy: #1B3A5C;--alandia-navy-dark: #0d1f30;--shadow-card: 2px 2px 6px rgba(0, 0, 0, .3);--shadow-deep: 12px 12px 50px rgba(0, 0, 0, .4)}.game-container{position:fixed;top:0;left:0;width:100%;height:100%}canvas{display:block;width:100%;height:100%;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}.alandia-logo{position:absolute;top:10px;left:50%;transform:translate(-50%);height:40px;z-index:20;pointer-events:none}.alandia-logo img{height:100%;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.ui-overlay{position:absolute;top:60px;left:10px;right:10px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:10}.score-display{background:var(--alandia-dark);color:var(--alandia-white);padding:10px 20px;border-radius:9999px;font-size:1.1rem;font-weight:600;backdrop-filter:blur(5px);box-shadow:var(--shadow-card)}.level-display{background:#32373cd9;color:var(--alandia-gold);padding:8px 15px;border-radius:9999px;font-size:.85rem;margin-top:6px;font-weight:500}.speed-display{background:#32373cd9;color:var(--alandia-white);padding:8px 15px;border-radius:9999px;font-size:.85rem;font-weight:500}.high-score{background:#32373cd9;color:var(--alandia-gold);padding:8px 15px;border-radius:9999px;font-size:.85rem;font-weight:500}.trick-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;font-weight:700;color:gold;text-shadow:0 0 20px rgba(255,215,0,.8);pointer-events:none;opacity:0;transition:opacity .3s;z-index:15}.trick-indicator.show{opacity:1;animation:trickPop .5s ease-out}@keyframes trickPop{0%{transform:translate(-50%,-50%) scale(.5)}50%{transform:translate(-50%,-50%) scale(1.3)}to{transform:translate(-50%,-50%) scale(1)}}.floating-points-container{position:absolute;inset:0;pointer-events:none;z-index:16}.floating-points{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);font-size:2.5rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.6);animation:floatUp 1.2s ease-out forwards}.floating-points.positive{color:#4f4}.floating-points.negative{color:#f44}@keyframes floatUp{0%{opacity:1;transform:translate(-50%,-50%) scale(.8)}20%{transform:translate(-50%,-70%) scale(1.3)}to{opacity:0;transform:translate(-50%,-150%) scale(1)}}@keyframes actionHintBounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}@keyframes sunBlink{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.7;transform:translate(-50%) scale(1.1)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #ffd70080}50%{box-shadow:0 0 40px #ffd700e6}}.brightness-overlay{position:absolute;inset:0;pointer-events:none;z-index:20;border-radius:10px;opacity:0;transition:opacity .3s}.brightness-overlay.bright{opacity:1;animation:sunBlindIn .8s ease-out forwards}.brightness-overlay.bright:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 150% 130% at 75% 15%,rgba(255,255,240,.98) 0%,rgba(255,250,200,.92) 20%,rgba(255,240,150,.75) 45%,rgba(255,220,100,.45) 70%,transparent 100%);animation:sunGlowPulse 1.5s ease-in-out infinite}.brightness-overlay.bright:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,200,.1) 20%,rgba(255,255,255,.15) 40%,rgba(255,255,200,.1) 60%,transparent 100%);animation:lensStreak 2s linear infinite}.brightness-overlay.bright.urgent:before{animation:sunGlowPulseUrgent .8s ease-in-out infinite}.brightness-overlay.bright.critical:before{background:radial-gradient(ellipse 150% 120% at 75% 15%,#fff,#ffffe6f2,#fff5b4cc 40%,#ffe67880,#ffc85033);animation:sunGlowPulseCritical .4s ease-in-out infinite}@keyframes sunBlindIn{0%{opacity:0;filter:blur(20px)}50%{opacity:.7;filter:blur(5px)}to{opacity:1;filter:blur(0)}}@keyframes sunGlowPulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes sunGlowPulseUrgent{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@keyframes sunGlowPulseCritical{0%,to{opacity:.95;transform:scale(1);filter:brightness(1)}50%{opacity:1;transform:scale(1.06);filter:brightness(1.15)}}@keyframes lensStreak{0%{opacity:.3;transform:translate(-5%) translateY(-5%)}50%{opacity:.6;transform:translate(0) translateY(0)}to{opacity:.3;transform:translate(5%) translateY(5%)}}.game-container.sun-warning:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:21;border-radius:10px;animation:warningVignette .8s ease-in-out infinite}.game-container.sun-critical:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:21;border-radius:10px;animation:criticalVignette .4s ease-in-out infinite}@keyframes warningVignette{0%,to{box-shadow:inset 0 0 80px #ffb4004d}50%{box-shadow:inset 0 0 120px #ff960080}}@keyframes criticalVignette{0%,to{box-shadow:inset 0 0 100px #ff640080}50%{box-shadow:inset 0 0 150px #ff3200b3}}.brightness-overlay.sunglasses{background:#65432173;opacity:1;transition:opacity 2s ease-out}.sunglasses-frame-overlay{position:absolute;inset:0;pointer-events:none;z-index:22;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden}.sunglasses-svg{width:80%;max-width:500px;height:auto;transform:translateY(-100%);filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}.sunglasses-frame-overlay.animating{opacity:1;visibility:visible}.sunglasses-frame-overlay.animating .sunglasses-svg{animation:slideDownFrames .28s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes slideDownFrames{0%{transform:translateY(-100%);opacity:0}30%{opacity:1}to{transform:translateY(0);opacity:1}}.sunglasses-frame-overlay.animating .lens-tint{animation:lensAppear .18s ease-out .25s forwards}@keyframes lensAppear{0%{fill:#65432100}to{fill:#65432199}}.sunglasses-frame-overlay.fade-out{opacity:1;visibility:visible}.sunglasses-frame-overlay.fade-out .sunglasses-svg{transform:translateY(0);animation:fadeOutFrames .3s ease-in forwards}@keyframes fadeOutFrames{0%{transform:translateY(0);opacity:1}to{transform:translateY(-50px);opacity:0}}.game-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#0693e3eb,#32373cf2);backdrop-filter:blur(10px);border-radius:0;z-index:30}.game-overlay.hidden{display:none}.language-selector{position:absolute;top:15px;right:15px;display:flex;gap:8px;z-index:35}.lang-btn{background:#ffffff26;border:2px solid transparent;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:600;color:var(--alandia-white);cursor:pointer;transition:all .2s ease;text-transform:uppercase}.lang-btn:hover{background:#ffffff40;transform:translateY(-1px)}.lang-btn.active{background:var(--alandia-gold);color:var(--alandia-dark);border-color:var(--alandia-gold)}.lang-btn:focus-visible{outline:3px solid var(--alandia-gold);outline-offset:2px}.game-title{font-size:3rem;color:var(--alandia-white);text-shadow:0 3px 20px rgba(0,0,0,.5);margin-bottom:10px;font-weight:800;letter-spacing:2px}.game-subtitle{color:var(--alandia-gold);font-size:1.4rem;margin-bottom:8px;text-align:center;padding:0 20px;font-weight:600}.brand-tagline{color:var(--alandia-light);font-size:1rem;margin-bottom:24px;font-style:normal;opacity:.9;font-weight:400}.simple-instructions{text-align:center;margin-bottom:24px}.simple-instructions p{color:var(--alandia-white);font-size:1.1rem;margin-bottom:16px;opacity:.95}.instruction-row{display:flex;justify-content:center;gap:12px}.key-hint{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;box-shadow:var(--shadow-card)}.key-hint.red{background:var(--alandia-red)}.key-hint.green{background:var(--alandia-green)}.key-hint.blue{background:var(--alandia-blue)}.marker-instructions{display:flex;justify-content:center;gap:30px;margin:20px 0;flex-wrap:wrap}.marker-rule{display:flex;align-items:center;gap:12px;background:#ffffff1a;padding:12px 18px;border-radius:12px}.marker-text{display:flex;flex-direction:column;gap:2px}.marker-label{font-weight:700;font-size:.9rem;color:var(--alandia-white);text-transform:uppercase;letter-spacing:.5px}.marker-desc{font-size:.85rem;color:#fffc}.buoy{width:32px;height:50px;position:relative;display:flex;flex-direction:column;align-items:center}.buoy-red .buoy-top{width:28px;height:10px;background:linear-gradient(180deg,#ff6b6b,#c0392b);border-radius:50%;position:relative;z-index:2;box-shadow:inset 0 -2px 4px #0000004d}.buoy-red .buoy-body{width:24px;height:32px;background:linear-gradient(90deg,#e74c3c,#c0392b,#a93226);border-radius:0 0 4px 4px;margin-top:-4px;box-shadow:2px 3px 6px #0006;position:relative}.buoy-red .buoy-body:after{content:"";position:absolute;top:8px;left:4px;right:4px;height:3px;background:#ffffff4d;border-radius:2px}.buoy-green .buoy-cone{width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:28px solid #27ae60;filter:drop-shadow(2px 2px 3px rgba(0,0,0,.4));position:relative}.buoy-green .buoy-cone:before{content:"";position:absolute;top:10px;left:-6px;width:12px;height:3px;background:#ffffff40;border-radius:2px;transform:rotate(-10deg)}.buoy-green .buoy-base{width:24px;height:14px;background:linear-gradient(90deg,#2ecc71,#27ae60,#1e8449);border-radius:0 0 4px 4px;box-shadow:2px 3px 6px #0006}@media(max-width:768px){.marker-instructions{gap:15px}.marker-rule{padding:10px 14px}.buoy{width:26px;height:42px}.buoy-red .buoy-top{width:22px;height:8px}.buoy-red .buoy-body{width:18px;height:26px}.buoy-green .buoy-cone{border-left-width:11px;border-right-width:11px;border-bottom-width:22px}.buoy-green .buoy-base{width:18px;height:12px}.marker-label{font-size:.8rem}.marker-desc{font-size:.75rem}}.rules-box{background:#ffffff26;border-radius:16px;padding:24px 30px;margin-bottom:24px;max-width:560px;border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-card)}.rules-box h3{color:#fff;margin-bottom:15px;font-size:1.3rem;font-weight:700;letter-spacing:1px}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rule-item{display:flex;align-items:center;gap:12px;color:#fff;font-size:1.05rem;line-height:1.4}.rule-marker{width:24px;height:24px;border-radius:50%;flex-shrink:0;box-shadow:0 2px 4px #0000004d}.rule-marker.red{background:var(--alandia-red)}.rule-marker.green{background:var(--alandia-green)}.rule-marker.blue{background:var(--alandia-blue)}.rule-marker.yellow{background:var(--alandia-gold)}.final-score{font-size:1.5rem;color:#fff;margin-bottom:10px}.new-high-score{color:var(--alandia-gold);font-size:1.2rem;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.play-button{background:var(--alandia-gold);color:var(--alandia-dark);border:none;padding:calc(.667em + 2px) calc(1.333em + 2px);min-width:200px;font-size:1.125em;font-weight:700;border-radius:9999px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-card);margin-top:15px;pointer-events:auto;text-transform:uppercase;letter-spacing:.5px}.play-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-deep);background:var(--alandia-orange);color:var(--alandia-white)}.play-button:active{transform:translateY(0)}.play-button.secondary{background:transparent;color:var(--alandia-white);border:2px solid var(--alandia-white);padding:calc(.5em + 2px) calc(1em + 2px);font-size:1rem}.play-button.secondary:hover{background:#ffffff1a}.controls-hint{color:#fffc;font-size:.95rem;margin-top:15px;text-align:center;line-height:1.6}.mobile-controls{position:absolute;bottom:15px;left:15px;right:15px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none;z-index:15}.control-btn{width:100px;height:100px;background:#32373cb3;border:2px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:var(--alandia-white);pointer-events:auto;user-select:none;-webkit-user-select:none;transition:all .1s ease;box-shadow:var(--shadow-card)}.control-btn:active{background:#32373ce6;transform:scale(.95)}.control-btn.action-btn{font-size:2.8rem;background:#32373cb3;border:2px solid rgba(255,255,255,.3);position:relative}.control-btn.action-btn.show{background:#000000d9;border:4px solid var(--alandia-gold);animation:pulseGlow .5s infinite}.control-btn.action-btn.show:before{content:"TAP!";position:absolute;top:-35px;left:50%;transform:translate(-50%);background:var(--alandia-gold);color:#000;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:700;white-space:nowrap;animation:actionHintBounce .6s ease-in-out infinite;box-shadow:0 2px 10px #0000004d}.control-btn.action-btn.show:after{content:"\2600\fe0f";position:absolute;top:-60px;left:50%;transform:translate(-50%);font-size:1.5rem;animation:sunBlink .4s ease-in-out infinite}.mobile-controls.tutorial-active .control-btn{opacity:.3;pointer-events:none}.mobile-controls.tutorial-active .control-btn.highlight{opacity:1;pointer-events:auto;animation:tutorialPulse 1s infinite}@keyframes waveFloat{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-8px)}}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .3s}.modal-overlay.show{opacity:1;pointer-events:auto}.modal{background:var(--alandia-white);border-radius:24px;padding:32px;max-width:420px;width:90%;max-height:90vh;overflow-y:auto;transform:scale(.9);transition:transform .3s;box-shadow:var(--shadow-deep)}.modal-overlay.show .modal{transform:scale(1)}.modal-title{color:var(--alandia-blue);font-size:1.5rem;margin-bottom:5px;text-align:center}.modal-subtitle{color:#666;font-size:.9rem;margin-bottom:20px;text-align:center}.modal-score{background:var(--alandia-light);padding:15px;border-radius:10px;text-align:center;margin-bottom:20px}.modal-score-value{font-size:2.5rem;font-weight:700;color:var(--alandia-blue)}.modal-score-label{color:#666;font-size:.85rem}.form-group{margin-bottom:15px}.form-group label{display:block;color:var(--alandia-dark);font-size:.9rem;margin-bottom:5px;font-weight:500}.form-group input{width:100%;padding:14px 18px;border:2px solid var(--alandia-gray);border-radius:12px;font-size:1rem;transition:all .2s ease;background:var(--alandia-light)}.form-group input:focus{outline:none;border-color:var(--alandia-dark);background:var(--alandia-white);box-shadow:0 0 0 3px #32373c1a}.form-group input.error{border-color:var(--alandia-red);background:#fff5f5}.form-error{color:var(--alandia-red);font-size:.8rem;margin-top:5px}.consent-group{margin:20px 0}.consent-group label{display:flex;align-items:flex-start;gap:10px;font-size:.8rem;color:#666;cursor:pointer}.consent-group input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--alandia-blue)}.submit-btn{width:100%;background:var(--alandia-gold);color:var(--alandia-dark);border:none;padding:calc(.667em + 2px) calc(1.333em + 2px);border-radius:9999px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-card)}.submit-btn:hover{background:var(--alandia-orange);color:var(--alandia-white);transform:translateY(-1px)}.submit-btn:disabled{background:var(--alandia-gray);cursor:not-allowed;transform:none}.skip-btn{width:100%;background:transparent;color:#999;border:none;padding:10px;font-size:.9rem;cursor:pointer;margin-top:10px}.skip-btn:hover{color:#666}.privacy-note{font-size:.75rem;color:#999;text-align:center;margin-top:15px}.privacy-note a{color:var(--alandia-blue)}.leaderboard-section{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}.leaderboard-title{color:var(--alandia-gold);font-size:1rem;margin-bottom:10px;display:flex;align-items:center;gap:8px}.leaderboard-list{list-style:none}.leaderboard-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff1a;border-radius:8px;margin-bottom:5px;font-size:.9rem;color:#fff}.leaderboard-item.current-user{background:#ffd70033;border:1px solid rgba(255,215,0,.5)}.leaderboard-rank{font-weight:700;width:30px}.leaderboard-name{flex:1;margin-left:10px}.leaderboard-score{font-weight:700;color:var(--alandia-gold)}.leaderboard-modal{max-width:450px;position:relative}.leaderboard-modal .modal-title{margin-bottom:20px}.modal-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.8rem;color:#999;cursor:pointer;line-height:1;padding:5px;transition:color .2s}.modal-close:hover{color:var(--alandia-dark)}.leaderboard-tabs{display:flex;gap:8px;margin-bottom:20px}.tab-btn{flex:1;padding:12px 16px;border:2px solid var(--alandia-gray);background:transparent;border-radius:10px;font-size:.95rem;font-weight:600;color:var(--alandia-dark);cursor:pointer;transition:all .2s}.tab-btn:hover{background:var(--alandia-light)}.tab-btn.active{background:var(--alandia-blue);border-color:var(--alandia-blue);color:#fff}.leaderboard-tab-content{min-height:200px}.leaderboard-tab-content.hidden{display:none}.leaderboard-period{text-align:center;color:#666;font-size:.9rem;margin-bottom:15px;font-weight:500}.leaderboard-modal .leaderboard-list{background:var(--alandia-light);border-radius:12px;padding:10px}.leaderboard-modal .leaderboard-item{background:#fff;color:var(--alandia-dark);padding:12px 15px;margin-bottom:8px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.leaderboard-modal .leaderboard-item:last-child{margin-bottom:0}.leaderboard-modal .leaderboard-rank{color:var(--alandia-blue);font-size:1rem}.leaderboard-modal .leaderboard-item:nth-child(1) .leaderboard-rank{color:gold}.leaderboard-modal .leaderboard-item:nth-child(2) .leaderboard-rank{color:silver}.leaderboard-modal .leaderboard-item:nth-child(3) .leaderboard-rank{color:#cd7f32}.leaderboard-modal .leaderboard-score{color:var(--alandia-blue);font-size:1.1rem}.leaderboard-empty{text-align:center;color:#999;padding:40px 20px;font-style:italic}.leaderboard-empty.hidden{display:none}.spinner{width:20px;height:20px;border:2px solid #fff;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;display:inline-block;margin-right:10px}@keyframes spin{to{transform:rotate(360deg)}}.delete-link{color:#999;font-size:.75rem;text-decoration:underline;cursor:pointer;display:inline-block;margin-top:10px}.delete-link:hover{color:var(--alandia-blue)}.delete-modal .modal{max-width:380px}.delete-modal .modal-title{color:var(--alandia-red)}.delete-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:12px;margin:15px 0;font-size:.85rem;color:#856404}.delete-warning strong{display:block;margin-bottom:5px}.delete-success{background:#d4edda;border:1px solid #28a745;border-radius:8px;padding:15px;margin:15px 0;text-align:center;color:#155724}.delete-success .checkmark{font-size:2.5rem;display:block;margin-bottom:10px}.delete-btn{width:100%;background:var(--alandia-red);color:#fff;border:none;padding:12px;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .3s}.delete-btn:hover{background:#c0392b}.delete-btn:disabled{background:#ccc;cursor:not-allowed}.cancel-btn{width:100%;background:#f0f0f0;color:#666;border:none;padding:10px;border-radius:8px;font-size:.9rem;cursor:pointer;margin-top:10px}.cancel-btn:hover{background:#e0e0e0}@media(min-width:769px){.mobile-controls{display:none}}@media(max-width:768px){.game-title{font-size:1.6rem}.score-display{font-size:1.15rem;padding:10px 18px}.level-display,.speed-display,.high-score{font-size:.95rem;padding:8px 14px}.rules-box{max-width:90%;padding:10px 15px}.rules-grid{grid-template-columns:1fr}.rule-item{font-size:.8rem}.control-btn{width:90px;height:90px;font-size:2rem}.control-btn.action-btn{font-size:2.5rem}.mobile-controls{bottom:20px;left:10px;right:10px}.alandia-logo{height:36px}.ui-overlay{top:55px}.instruction-row,.desktop-only{display:none!important}.mobile-only{display:inline!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--alandia-gold);outline-offset:2px}.control-btn:focus-visible{outline:3px solid var(--alandia-gold);outline-offset:2px;box-shadow:0 0 15px #fcb90099}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.brightness-overlay{transition:none!important}}.skip-link{position:absolute;top:-40px;left:0;background:var(--alandia-dark);color:var(--alandia-white);padding:8px 16px;z-index:1000;text-decoration:none}.skip-link:focus{top:0}.tutorial-overlay{position:absolute;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:25;backdrop-filter:blur(3px)}.tutorial-overlay.hidden{display:none}.tutorial-content{background:linear-gradient(135deg,#0693e3f2,#32373cfa);border-radius:24px;padding:40px;max-width:400px;text-align:center;box-shadow:0 20px 60px #00000080;animation:tutorialAppear .4s ease-out}@keyframes tutorialAppear{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.tutorial-icon{font-size:4rem;margin-bottom:15px;animation:tutorialPulse 1.5s ease-in-out infinite}@keyframes tutorialPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.tutorial-content h2{color:var(--alandia-gold);font-size:1.8rem;margin-bottom:15px;font-weight:700}.tutorial-content p{color:var(--alandia-white);font-size:1.1rem;line-height:1.5;margin-bottom:25px;opacity:.95}.tutorial-action{display:flex;align-items:center;justify-content:center;gap:12px;background:#ffffff26;padding:15px 25px;border-radius:12px}.tutorial-key{width:45px;height:45px;background:var(--alandia-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--alandia-dark);animation:keyBounce .8s ease-in-out infinite}@keyframes keyBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.tutorial-action span:last-child{color:var(--alandia-white);font-size:.95rem}.tutorial-content.how-to-play{max-width:420px;padding:30px 35px}.tutorial-content.how-to-play h2{margin-bottom:20px}.tutorial-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:25px}.tutorial-steps .step{display:flex;align-items:center;gap:15px;background:#ffffff1a;padding:12px 18px;border-radius:10px;font-size:1rem;color:var(--alandia-white)}.tutorial-steps .step-keys{font-family:monospace;font-size:1.3rem;font-weight:700;color:var(--alandia-gold);min-width:50px;text-align:center}.tutorial-steps .step-icon{font-size:1.4rem;min-width:50px;text-align:center}.tutorial-steps .buoy-icon{width:24px;height:24px;border-radius:50%;flex-shrink:0;min-width:50px;margin-left:13px}.tutorial-steps .buoy-icon.red{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 2px 4px #0000004d}.tutorial-steps .buoy-icon.green{background:linear-gradient(135deg,#2ecc71,#27ae60);box-shadow:0 2px 4px #0000004d}.level-up-overlay{position:absolute;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:26;backdrop-filter:blur(5px)}.level-up-overlay.hidden{display:none}.level-up-content{background:linear-gradient(135deg,#0693e3f2,#1b3a5cfa);border-radius:24px;padding:40px 50px;text-align:center;box-shadow:0 20px 60px #00000080;animation:levelUpAppear .4s ease-out}@keyframes levelUpAppear{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.level-up-badge{width:100px;height:100px;background:var(--alandia-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:800;color:var(--alandia-navy);margin:0 auto 15px;box-shadow:0 8px 25px #fcb90080;animation:badgePulse 1.5s ease-in-out infinite}@keyframes badgePulse{0%,to{transform:scale(1);box-shadow:0 8px 25px #fcb90080}50%{transform:scale(1.05);box-shadow:0 12px 35px #fcb900b3}}.level-up-title{color:var(--alandia-gold);font-size:1.8rem;font-weight:700;margin-bottom:15px;letter-spacing:3px}.level-up-description{color:var(--alandia-white);font-size:1.1rem;line-height:1.5;margin-bottom:25px;opacity:.95;max-width:320px;white-space:pre-line;text-align:center}.tutorial-tap-hint{margin-top:20px;color:#ffffffb3;font-size:.9rem;cursor:pointer;transition:color .2s}.tutorial-tap-hint:hover{color:var(--alandia-gold)}.tutorial-arrow{position:absolute;bottom:140px;left:50%;transform:translate(-50%);font-size:3rem;color:var(--alandia-gold);text-shadow:0 0 20px rgba(252,185,0,.8);animation:arrowPulse .8s ease-in-out infinite;pointer-events:none;z-index:26}@keyframes arrowPulse{0%,to{transform:translate(-50%) translateY(0);opacity:1}50%{transform:translate(-50%) translateY(10px);opacity:.7}}.tutorial-overlay{cursor:pointer}.tip-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:24;pointer-events:none}.tip-overlay.hidden{display:none}.tip-content{background:linear-gradient(135deg,#fcb900f2,#ff9600f2);color:var(--alandia-dark);padding:20px 35px;border-radius:16px;font-size:1.2rem;font-weight:700;text-align:center;box-shadow:0 8px 32px #0006,0 0 20px #fcb90080;animation:tipAppear .3s ease-out;max-width:320px}@keyframes tipAppear{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.milestone-popup{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);z-index:23;pointer-events:none}.milestone-popup.hidden{display:none}.milestone-content{background:linear-gradient(135deg,#00a67df2,#0693e3f2);color:var(--alandia-white);padding:15px 30px;border-radius:12px;font-size:1.1rem;font-weight:600;text-align:center;box-shadow:0 6px 24px #0000004d;animation:milestoneAppear .4s ease-out}@keyframes milestoneAppear{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.desktop-only{display:inline}.mobile-only{display:none}body.tv-mode{overflow:hidden}body.tv-mode>*:not(.tv-leaderboard){display:none!important}.tv-leaderboard{display:none;position:fixed;inset:0;background:linear-gradient(180deg,var(--alandia-navy) 0%,var(--alandia-navy-dark) 100%);color:#fff;font-family:Segoe UI,system-ui,sans-serif;flex-direction:column}body.tv-mode .tv-leaderboard{display:flex}.tv-header{padding:3vh 0 1vh;text-align:center}.tv-logo svg{height:7vh;width:auto}.tv-title{text-align:center;font-size:4.5vh;font-weight:700;color:#fff;margin:1vh 0 3vh;text-transform:uppercase;letter-spacing:.15em}.tv-content{flex:1;display:grid;grid-template-columns:1fr 1fr auto;gap:3vw;padding:0 4vw 3vh;align-items:start}.tv-column{background:#ffffff0d;border-radius:2vh;padding:2.5vh 2vh;height:fit-content}.tv-column-title{font-size:3vh;font-weight:700;color:var(--alandia-gold);text-align:center;margin-bottom:2.5vh;text-transform:uppercase;letter-spacing:.08em}.tv-list{list-style:none;padding:0;margin:0}.tv-item{display:flex;align-items:center;padding:1.8vh 2vh;margin-bottom:1vh;background:#ffffff14;border-radius:1.2vh;font-size:2.5vh;transition:background .3s ease}.tv-item:last-child{margin-bottom:0}.tv-item.tv-top-3{background:linear-gradient(90deg,#fcb90040,#fcb90014);border-left:4px solid var(--alandia-gold)}.tv-rank{font-weight:700;width:4vw;min-width:50px;color:#ffffffb3;font-size:2.8vh}.tv-top-3 .tv-rank{color:var(--alandia-gold)}.tv-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:2.6vh}.tv-score{font-weight:700;font-size:2.8vh;color:var(--alandia-gold);min-width:80px;text-align:right}.tv-qr-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2vh 3vw;background:#ffffff0d;border-radius:2vh;height:fit-content}.tv-qr-code{width:18vh;height:18vh;background:#fff;border-radius:1.5vh;padding:1.2vh;display:flex;align-items:center;justify-content:center}.tv-qr-code svg{width:100%;height:100%}.tv-qr-label{margin-top:2.5vh;font-size:3vh;font-weight:700;color:var(--alandia-gold);text-transform:uppercase;letter-spacing:.1em}.tv-qr-sublabel{font-size:2vh;color:#ffffffb3;margin-top:.8vh}.tv-footer{background:var(--alandia-gold);padding:2.5vh 0;text-align:center}.tv-url{font-size:3.5vh;font-weight:700;color:var(--alandia-navy);text-transform:lowercase;letter-spacing:.05em}.tv-empty{text-align:center;padding:4vh 2vh;color:#ffffff80;font-style:italic;font-size:2.2vh}.tv-loading{display:flex;align-items:center;justify-content:center;gap:1vh;padding:4vh;color:#fff9}.tv-loading:after{content:"";width:2vh;height:2vh;border:3px solid var(--alandia-gold);border-top-color:transparent;border-radius:50%;animation:tvSpin 1s linear infinite}@keyframes tvSpin{to{transform:rotate(360deg)}}@keyframes tvFlash{0%,to{opacity:1}50%{opacity:.7}}.tv-updating{animation:tvFlash .5s ease-in-out}body.leaderboard-mode{overflow:hidden}body.leaderboard-mode>*:not(.leaderboard-page){display:none!important}.leaderboard-page{display:none;position:fixed;inset:0;background:linear-gradient(180deg,var(--alandia-navy) 0%,var(--alandia-navy-dark) 100%);color:#fff;font-family:Segoe UI,system-ui,sans-serif;flex-direction:column}body.leaderboard-mode .leaderboard-page{display:flex}.lb-page-header{position:relative;height:220px;min-height:180px;max-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:1.5rem;padding-bottom:2.5rem}#lbHeaderCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}.lb-page-logo{position:relative;z-index:1;margin-bottom:.5rem}.lb-page-logo svg{height:60px;width:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.lb-page-title{position:relative;z-index:1;font-size:2.5rem;font-weight:700;color:#fff;margin:0;text-transform:uppercase;letter-spacing:.15em;text-shadow:0 2px 8px rgba(0,0,0,.5)}.lb-page-content{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem 4rem;overflow-y:auto;min-height:0}.lb-page-column{background:#ffffff0d;border-radius:1.5rem;padding:1.5rem;display:flex;flex-direction:column}.lb-page-column h2{font-size:1.5rem;font-weight:700;color:var(--alandia-gold);text-align:center;margin:0 0 1.25rem;text-transform:uppercase;letter-spacing:.08em}.lb-page-column ul{list-style:none;padding:0;margin:0;flex:1;overflow-y:auto}.lb-page-item{display:flex;align-items:center;padding:.75rem 1rem;margin-bottom:.5rem;background:#ffffff14;border-radius:.75rem;font-size:1rem;transition:background .3s ease}.lb-page-item:last-child{margin-bottom:0}.lb-page-item.lb-top-1{background:linear-gradient(90deg,#fcb90073,#fcb90033);border-left:5px solid var(--alandia-gold);font-weight:700;font-size:1.6rem;padding:1rem 1.25rem}.lb-page-item.lb-top-2{background:linear-gradient(90deg,#fcb90059,#fcb9001f);border-left:4px solid var(--alandia-gold);font-weight:700;font-size:1.35rem;padding:.9rem 1.15rem}.lb-page-item.lb-top-3{background:linear-gradient(90deg,#fcb90040,#fcb90014);border-left:4px solid var(--alandia-gold);font-weight:700;font-size:1.15rem;padding:.85rem 1.1rem}.lb-page-rank{font-weight:700;width:2.5rem;min-width:2.5rem;color:#ffffffb3}.lb-top-1 .lb-page-rank,.lb-top-2 .lb-page-rank,.lb-top-3 .lb-page-rank{color:var(--alandia-gold)}.lb-page-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-page-score{font-weight:700;color:var(--alandia-gold);min-width:70px;text-align:right}.lb-page-footer{background:var(--alandia-gold);padding:1.25rem 2rem;display:flex;align-items:center;justify-content:space-between}.lb-play-btn{display:inline-block;background:var(--alandia-navy);color:#fff;padding:.75rem 2rem;border-radius:.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.05em;transition:background .2s ease,transform .2s ease}.lb-play-btn:hover{background:var(--alandia-navy-dark);transform:translateY(-2px)}.lb-page-url{font-size:1.5rem;font-weight:700;color:var(--alandia-navy);text-transform:lowercase;letter-spacing:.05em}.lb-page-empty{text-align:center;padding:2rem 1rem;color:#ffffff80;font-style:italic;font-size:1rem}@media(max-width:900px){.lb-page-content{grid-template-columns:1fr;padding:1.5rem 1rem;gap:1.5rem}.lb-page-header{height:180px;min-height:150px;padding-top:1rem;padding-bottom:2rem}.lb-page-title{font-size:1.75rem}.lb-page-logo svg{height:50px}.lb-page-column{padding:1rem}.lb-page-column h2{font-size:1.25rem}.lb-page-item{padding:.6rem .8rem;font-size:.9rem}.lb-page-item.lb-top-1{font-size:1.3rem;padding:.8rem 1rem}.lb-page-item.lb-top-2{font-size:1.15rem;padding:.7rem .9rem}.lb-page-item.lb-top-3{font-size:1.05rem;padding:.65rem .85rem}.lb-page-footer{flex-direction:column;gap:1rem;text-align:center}.lb-play-btn{padding:.6rem 1.5rem;font-size:1rem}.lb-page-url{font-size:1.25rem}}
