@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;600;700&display=swap";:root{--font-primary:"Fredoka", system-ui, -apple-system, sans-serif;--bg-gradient-start:#f7edd0;--bg-gradient-end:#e2cfab;--text-color:#4a3525;--panel-bg:#fff8ebd1;--panel-border:#b4825a59;--shadow-color:#4f46e51a;--primary-color:#6366f1}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-primary);color:var(--text-color);background:linear-gradient(135deg, var(--bg-gradient-start) 0%, var(--bg-gradient-end) 100%);background-size:400% 400%;transition:color .4s;animation:20s infinite gradientBG;position:fixed;overflow:hidden}@keyframes gradientBG{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}#app{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.game-container{-webkit-backdrop-filter:blur(10px);border:4px solid var(--panel-border);touch-action:none;background:#ffffff59;border-radius:24px;width:100%;max-width:1200px;height:100%;max-height:900px;transition:border-color .4s;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000026}@media (width<=1024px),(height<=768px){.game-container{border:none;border-radius:0;width:100vw;max-width:none;height:100vh;max-height:none}}canvas{width:100%;height:100%;position:absolute;top:0;left:0}#main-canvas{z-index:1}#shader-canvas{z-index:2;pointer-events:none}.ui-layer{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.interactive-ui{pointer-events:auto}.top-bar{justify-content:space-between;align-items:center;display:flex;position:absolute;top:20px;left:20px;right:20px}.level-indicator{background:var(--panel-bg);border:2px solid var(--panel-border);color:var(--text-color);box-shadow:0 10px 15px -3px var(--shadow-color);transform-origin:0;border-radius:50px;align-items:center;gap:8px;padding:8px 20px;font-size:1.25rem;font-weight:700;transition:background .4s,border-color .4s;animation:4s ease-in-out infinite float;display:flex}.level-indicator span{color:#f59e0b}.controls{gap:10px;display:flex}.btn-circle{border:2px solid var(--panel-border);background:var(--panel-bg);width:50px;height:50px;color:var(--text-color);cursor:pointer;box-shadow:0 10px 15px -3px var(--shadow-color);border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),background .4s,border-color .4s;display:flex}.btn-circle:active{transform:scale(.9)}.screen-overlay{z-index:10;-webkit-backdrop-filter:blur(12px);text-align:center;opacity:0;pointer-events:none;background:#e0f2fed9;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:40px;transition:opacity .4s;display:flex;position:absolute;top:0;left:0}.screen-overlay.active{opacity:1;pointer-events:auto}.card{background:#fff;border:4px solid #fff;border-radius:32px;flex-direction:column;align-items:center;width:100%;max-width:480px;padding:36px 44px;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);display:flex;transform:scale(.9);box-shadow:0 20px 25px -5px #0000000d,0 30px 40px -15px #4f46e533}.screen-overlay.active .card{transform:scale(1)}h1{color:#4f46e5;text-shadow:0 2px 4px #4f46e51a;letter-spacing:-.02em;margin-bottom:12px;font-size:2.8rem;font-weight:700}p{color:#64748b;margin-bottom:26px;font-size:1.2rem;line-height:1.5}.btn-large{font-family:var(--font-primary);color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);border:none;border-radius:50px;justify-content:center;align-items:center;gap:12px;padding:16px 44px;font-size:1.6rem;font-weight:700;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),box-shadow .2s;animation:2s infinite pulseButton;display:flex;box-shadow:0 15px 25px -5px #4f46e566}.btn-large:active{transform:scale(.95);box-shadow:0 8px 15px -3px #4f46e54d}#bubble-screen{-webkit-backdrop-filter:none;background:0 0;flex-direction:column;justify-content:space-between;align-items:center;padding:24px;display:flex;pointer-events:none!important}#bubble-screen .bubble-hud,#bubble-screen .bubble-footer{pointer-events:auto}.bubble-hud{align-items:center;gap:20px;display:flex}.bubble-timer-badge,.bubble-title-badge{color:#4f46e5;background:#ffffffe6;border:3px solid #fff;border-radius:50px;padding:10px 24px;font-size:1.4rem;font-weight:700;box-shadow:0 10px 20px #00000026}.bubble-timer-badge span{color:#ef4444;font-size:1.6rem}.bubble-footer{margin-bottom:20px}.parent-card{align-items:stretch;max-width:440px;padding:30px 36px}.modal-header{border-bottom:2px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.modal-header h2{color:#334155;font-size:1.8rem}.btn-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.2rem;transition:transform .2s;display:flex}.btn-close:active{transform:scale(.9)}.setting-group{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.slider-group{flex-direction:column;align-items:stretch;gap:6px}.setting-slider{accent-color:#4f46e5;cursor:pointer;border-radius:6px;width:100%;height:10px}.setting-label{color:#475569;font-size:1.15rem;font-weight:600}.setting-select{font-family:var(--font-primary);color:#334155;cursor:pointer;background:#f8fafc;border:2px solid #cbd5e1;border-radius:14px;outline:none;padding:8px 14px;font-size:1rem;font-weight:600}.toggle-btn{cursor:pointer;background:#cbd5e1;border:none;border-radius:50px;align-items:center;width:76px;height:38px;padding:4px;transition:background .3s;display:flex;position:relative}.toggle-btn.active{background:#22c55e}.toggle-slider{background:#fff;border-radius:50%;width:30px;height:30px;transition:transform .3s;box-shadow:0 2px 5px #0003}.toggle-btn.active .toggle-slider{transform:translate(38px)}.toggle-text{color:#fff;font-size:.85rem;font-weight:700;position:absolute;left:12px}.toggle-btn.active .toggle-text{left:12px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulseButton{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.decorations{gap:15px;margin-bottom:16px;font-size:3.5rem;animation:2.5s ease-in-out infinite waveHands;display:flex}@keyframes waveHands{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)scale(1.1)}}.safari-notice{color:#94a3b8;margin-top:15px;font-size:.9rem}
