*{box-sizing:border-box;margin:0;padding:0}body,html{touch-action:none;background-color:#050508;justify-content:center;align-items:center;width:100%;height:100dvh;font-family:Inter,system-ui,sans-serif;display:flex;overflow:hidden}@media (hover:none) and (pointer:coarse){#app{touch-action:none}}.share-button{pointer-events:auto;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ff980033;border:2px solid #ff9800;border-radius:20px;align-self:center;margin-top:10px;padding:8px 16px;font-family:Outfit,sans-serif;font-size:1rem;font-weight:700;transition:all .2s;box-shadow:0 0 10px #ff980066}.share-button:hover{background:#ff980080;transform:scale(1.05);box-shadow:0 0 15px #ff980099}.share-button:active{transform:scale(.95)}#app{aspect-ratio:9/16;background-color:#1a1a24;width:100%;max-width:56.25dvh;height:100dvh;max-height:177.778vw;position:relative;overflow:hidden;box-shadow:0 0 50px #000000e6}canvas{object-fit:contain;width:100%;height:100%;display:block}.ui-container{pointer-events:none;width:100%;padding:16px 20px;position:absolute;top:0;left:0}.header{color:#fff;text-shadow:0 2px 4px #00000080}.header h1{letter-spacing:1px;font-size:1.5rem}.header p{opacity:.7;font-size:.9rem}@media (orientation:landscape) and (height<=500px){body:before{content:"🔄  Obróć telefon pionowo";z-index:9999;color:#fff;background:#1a1a24;justify-content:center;align-items:center;font-family:system-ui,sans-serif;font-size:1.4rem;display:flex;position:fixed;inset:0}#app{display:none}}#mobile-pad{z-index:100;pointer-events:none;width:100%;height:auto;padding:0 max(16px, env(safe-area-inset-left,0px)) max(20px, env(safe-area-inset-bottom,0px));box-sizing:border-box;background:linear-gradient(#0000,#0000008c);justify-content:space-between;align-items:flex-end;display:none;position:absolute;bottom:0;left:0}#mobile-pad.visible{display:flex}#joystick-zone{pointer-events:auto;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:130px;height:130px;display:flex}#joystick-base{background:#ffffff14;border:2px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:110px;height:110px;transition:background .15s;display:flex;position:relative}#joystick-base.active{background:#ffffff24}#joystick-knob{will-change:transform;background:radial-gradient(circle at 35% 35%,#ffe580,#faad14 55%,#cf8e0e);border-radius:50%;width:48px;height:48px;transition:transform 50ms;box-shadow:0 4px 16px #00000080}#btn-group{pointer-events:auto;flex-shrink:0;align-items:flex-end;gap:14px;display:flex}.game-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border:2px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;transition:transform 80ms,background 80ms;display:flex;position:relative;overflow:visible}#kick-charge-bar{pointer-events:none;background:#00000059;border:1px solid #ffffff26;border-radius:6px;width:12px;height:50px;position:absolute;bottom:110%;left:50%;overflow:hidden;transform:translate(-50%)}#kick-charge-fill{opacity:0;background:#0f0;border-radius:5px;width:100%;height:0%;transition:height 50ms linear;position:absolute;bottom:0;left:0;box-shadow:0 0 8px}.game-btn.pressed,.game-btn:active{background:#ffffff40;transform:scale(.88)}#btn-jump{background:#faad1433;border-color:#faad1480;width:72px;height:72px;font-size:1.8rem}#btn-peck{background:#e91e632e;border-color:#e91e6373}@media (height<=600px){#joystick-zone{width:100px;height:100px}#joystick-base{width:85px;height:85px}#joystick-knob{width:38px;height:38px}.game-btn{width:50px;height:50px;font-size:1.3rem}#btn-jump{width:60px;height:60px;font-size:1.5rem}#btn-group{gap:10px}}.weather-toggle-btn{z-index:1001;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#0f141e99;border:1px solid #fff3;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.4rem;transition:background .2s,transform .2s;display:flex;position:fixed;top:12px;right:12px;box-shadow:0 2px 10px #0000004d}.weather-toggle-btn:hover{background:#ff98004d;transform:scale(1.08)}.weather-toggle-btn:active{transform:scale(.92)}.weather-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;z-index:1000;background:#0f141ed9;border:1px solid #ffffff26;border-radius:12px;width:280px;padding:12px 14px;font-family:Outfit,sans-serif;transition:transform .3s,opacity .3s;position:fixed;top:60px;right:10px;box-shadow:0 4px 20px #0006}.weather-panel.hidden{opacity:0;pointer-events:none;transform:translate(120%)}.panel-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.panel-header h3{color:#ff9800;margin:0;font-size:1rem}.weather-status{background:#0000004d;border-radius:8px;margin-bottom:10px;padding:8px 10px;font-size:.78rem;line-height:1.6}.ws-location{color:#ff9800;margin-bottom:4px;font-weight:700}.ws-row{opacity:.85;gap:12px;display:flex}.panel-content label{margin-bottom:12px;font-size:.85rem;display:block}.panel-content input[type=range],.panel-content select{width:100%;margin-top:5px}.panel-content select{color:#fff;background:#1e2638;border:1px solid #4a5a7a;border-radius:4px;padding:4px}
