*{margin:0;padding:0;box-sizing:border-box}html{touch-action:manipulation}body{font-family:Comic Sans MS,Chalkboard SE,Arial Rounded MT Bold,cursive,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb,#4facfe,#00f2fe);background-size:400% 400%;animation:gradientShift 15s ease infinite;min-height:100vh;margin:0;padding:0;overflow-x:hidden}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}#app{width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem}h1{color:#fff;font-size:clamp(1.5rem,5vw,2.5rem);text-shadow:4px 4px 8px rgba(0,0,0,.3);margin-bottom:.5rem;text-align:center;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.screen{display:none;width:100%;max-width:1400px;animation:fadeIn .3s ease}.screen.active{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.category-grid{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 2rem 1rem;width:100%;margin:0 auto}.category-section{background:#ffffff40;border-radius:16px;padding:1rem 1.25rem 1.25rem;overflow:visible}.category-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid rgba(255,255,255,.1)}.category-icon{font-size:1.5rem}.category-title{font-size:1rem;font-weight:700;color:#ffffffe6;margin:0;-webkit-text-stroke:.5px black;text-shadow:-1px -1px 0 black,1px -1px 0 black,-1px 1px 0 black,1px 1px 0 black}.app-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;padding:0;margin:0;justify-items:center;align-items:start;overflow:visible}.app-icon{display:flex;flex-direction:column;align-items:center;gap:.35rem;background:none;border:none;cursor:pointer;transition:transform .2s ease;max-width:100%;min-width:0}.app-icon:hover{transform:scale(1.1)}.app-icon:active{transform:scale(.95)}.app-icon-image{width:80px;height:80px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;color:#fff;box-shadow:0 10px 30px #0000004d;position:relative;overflow:hidden}.app-icon-image img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.app-icon-image:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(to bottom,rgba(255,255,255,.3),transparent);border-radius:28px 28px 0 0}.app-icon[data-app=alphabet] .app-icon-image{background:linear-gradient(135deg,#ff6b6b,#ee5a6f)}.app-icon[data-app=numbers] .app-icon-image{background:linear-gradient(135deg,#4ecdc4,#44a08d)}.app-icon[data-app=missing] .app-icon-image{background:linear-gradient(135deg,#f9ca24,#f0932b)}.app-icon[data-app=letterrecog] .app-icon-image{background:linear-gradient(135deg,#a29bfe,#6c5ce7)}.app-icon[data-app=math] .app-icon-image{background:linear-gradient(135deg,#fd79a8,#e84393)}.app-icon[data-app=phonicsmatch] .app-icon-image{background:linear-gradient(135deg,#00b894,#00cec9);font-size:2rem}.app-label{color:#fff;font-size:.85rem;font-weight:600;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.back-button{position:fixed;top:1rem;left:1rem;padding:.75rem 1.25rem;font-size:1rem;font-weight:700;font-family:inherit;border:none;border-radius:12px;cursor:pointer;background:#ffffffe6;color:#6c5ce7;box-shadow:0 4px 15px #0003;transition:all .3s ease;z-index:100}.back-button:hover{transform:scale(1.05);background:#fff;box-shadow:0 6px 20px #0000004d}.back-button:active{transform:scale(.95)}.home-buttons{position:fixed;top:0;left:0;right:0;display:flex;flex-direction:row;align-items:center;justify-content:center;padding:.85rem 1.5rem;padding-top:max(.85rem,env(safe-area-inset-top));background:#6660b4;box-shadow:0 4px 20px #00000026;z-index:1000}.home-title{position:absolute;left:50%;transform:translate(-50%);font-size:1.2rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2);white-space:nowrap;pointer-events:none}.home-buttons-right{margin-left:auto;display:flex;gap:.75rem}.global-settings-btn{padding:.65rem 1.1rem;font-size:.85rem;font-weight:700;font-family:inherit;border:none;border-radius:20px;cursor:pointer;background:#6c5ce7e6;color:#fff;box-shadow:0 2px 8px #0003;transition:all .3s ease}.global-settings-btn:hover{transform:scale(1.05);background:#6c5ce7;box-shadow:0 6px 20px #0000004d}.global-settings-btn:active{transform:scale(.95)}.create-agenda-btn{padding:.65rem 1.1rem;font-size:.85rem;font-weight:700;font-family:inherit;border:none;border-radius:20px;background:linear-gradient(135deg,#00b894,#00cec9);color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0003}.create-agenda-btn:hover{transform:scale(1.05);background:linear-gradient(135deg,#00cec9,#00b894);box-shadow:0 6px 20px #0000004d}.create-agenda-btn:active{transform:scale(.95)}#home-screen{position:relative;padding-top:4rem}.app-title{color:#fff;font-size:clamp(1.5rem,5vw,2.5rem);text-shadow:3px 3px 6px rgba(0,0,0,.3);margin-bottom:1rem;text-align:center}#alphabet-grid,#numbers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;width:100%;max-width:1400px;padding:1rem}.letter-button{aspect-ratio:1;border:none;border-radius:20px;font-size:clamp(2rem,5vw,4rem);font-weight:700;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 15px #0003;position:relative;overflow:hidden}.letter-button:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 12px 25px #0000004d}.letter-button:active{transform:scale(.95) rotate(-5deg);box-shadow:0 4px 10px #0003}.letter-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.letter-button:hover:before{left:100%}.letter-button.key-pressed{animation:keyPressAnimation .3s ease;box-shadow:0 0 30px #fffc,0 12px 25px #0000004d}@keyframes keyPressAnimation{0%{transform:scale(1)}50%{transform:scale(1.25) rotate(5deg)}to{transform:scale(1)}}.letter-button:nth-child(6n+1){background:linear-gradient(135deg,#ff6b6b,#ee5a6f)}.letter-button:nth-child(6n+2){background:linear-gradient(135deg,#4ecdc4,#44a08d)}.letter-button:nth-child(6n+3){background:linear-gradient(135deg,#f9ca24,#f0932b)}.letter-button:nth-child(6n+4){background:linear-gradient(135deg,#a29bfe,#6c5ce7)}.letter-button:nth-child(6n+5){background:linear-gradient(135deg,#fd79a8,#e84393)}.letter-button:nth-child(6n){background:linear-gradient(135deg,#00b894,#55efc4)}#numbers-grid{grid-template-columns:repeat(10,minmax(50px,70px));justify-content:center}.number-button{aspect-ratio:1;border:none;border-radius:10px;font-size:clamp(.9rem,2vw,1.3rem);font-weight:700;font-family:inherit;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 8px #0003;position:relative;overflow:hidden}.number-button:hover{transform:scale(1.1) rotate(3deg);box-shadow:0 10px 20px #0000004d}.number-button:active{transform:scale(.95) rotate(-3deg);box-shadow:0 3px 8px #0003}.number-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.number-button:hover:before{left:100%}.number-button:nth-child(10n+1){background:linear-gradient(135deg,#ff6b6b,#ee5a6f)}.number-button:nth-child(10n+2){background:linear-gradient(135deg,#4ecdc4,#44a08d)}.number-button:nth-child(10n+3){background:linear-gradient(135deg,#f9ca24,#f0932b)}.number-button:nth-child(10n+4){background:linear-gradient(135deg,#a29bfe,#6c5ce7)}.number-button:nth-child(10n+5){background:linear-gradient(135deg,#fd79a8,#e84393)}.number-button:nth-child(10n+6){background:linear-gradient(135deg,#00b894,#55efc4)}.number-button:nth-child(10n+7){background:linear-gradient(135deg,#74b9ff,#0984e3)}.number-button:nth-child(10n+8){background:linear-gradient(135deg,#ffeaa7,#fdcb6e)}.number-button:nth-child(10n+9){background:linear-gradient(135deg,#dfe6e9,#b2bec3);color:#2d3436}.number-button:nth-child(10n){background:linear-gradient(135deg,#fab1a0,#e17055)}.app-subtitle{color:#fff;font-size:clamp(1rem,3vw,1.3rem);text-shadow:2px 2px 4px rgba(0,0,0,.3);margin-bottom:1rem;text-align:center}.missing-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.action-button{padding:.75rem 1.5rem;font-size:1.1rem;font-weight:700;font-family:inherit;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003}.action-button:hover{transform:scale(1.05)}.action-button:active{transform:scale(.95)}.check-btn{background:linear-gradient(135deg,#00b894,#55efc4);color:#fff}.check-btn:disabled{background:linear-gradient(135deg,#b2bec3,#dfe6e9);cursor:not-allowed;transform:none;opacity:.7}.reset-btn{background:linear-gradient(135deg,#fd79a8,#e84393);color:#fff}#missing-grid{display:grid;grid-template-columns:repeat(10,minmax(40px,60px));gap:4px;justify-content:center;background:#fff;padding:10px;border-radius:15px;box-shadow:0 10px 30px #0003}.missing-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:clamp(.9rem,2vw,1.3rem);font-weight:700;font-family:inherit;border:2px solid #55efc4;border-radius:6px;background:#fff;color:#2d3436}.missing-cell.empty{border:2px solid #74b9ff;border-style:dashed}.missing-cell input{width:100%;height:100%;border:none;background:transparent;text-align:center;font-size:inherit;font-weight:700;font-family:inherit;color:#0984e3;outline:none}.missing-cell input:focus{background:#74b9ff33}.missing-cell.correct{background:#d4edda;border-color:#28a745}.missing-cell.correct input{color:#28a745}.missing-cell.incorrect{background:#f8d7da;border-color:#dc3545}.missing-cell.incorrect input{color:#dc3545}.missing-cell.placeholder{visibility:hidden;border:none}.missing-content{display:flex;justify-content:center;align-items:flex-start}.letter-recog-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.letter-recog-content{display:flex;justify-content:center;align-items:flex-start}#letter-recog-grid{background:#fff;border-radius:15px;padding:1.5rem;box-shadow:0 10px 30px #0003}.letter-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid #dfe6e9}.letter-row:last-child{border-bottom:none}.row-number{color:#636e72;font-size:1rem;min-width:25px}.uppercase-letter{font-size:3rem;font-weight:700;color:#2d3436;min-width:60px;text-align:center}.letter-options{display:flex;gap:.75rem}.letter-option{display:flex;flex-direction:column;align-items:center;gap:.5rem}.letter-option-box{width:60px;height:60px;border:2px solid #b2bec3;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#2d3436;background:#fff;cursor:pointer;transition:all .2s ease}.letter-option-box:hover{border-color:#6c5ce7;background:#f8f9fa}.letter-option input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:#6c5ce7}.letter-option input[type=radio]:checked+.letter-option-box,.letter-option-box.selected{border-color:#6c5ce7;background:#f0efff}.letter-row.correct .letter-option-box.selected{border-color:#28a745;background:#d4edda}.letter-row.incorrect .letter-option-box.selected{border-color:#dc3545;background:#f8d7da}.letter-row.correct .uppercase-letter,.letter-row.incorrect .uppercase-letter{padding:.25rem .5rem;border-radius:8px}.letter-row.correct .uppercase-letter{background:#d4edda;color:#28a745}.letter-row.incorrect .uppercase-letter{background:#f8d7da;color:#dc3545}.math-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.settings-btn{background:linear-gradient(135deg,#636e72,#2d3436);color:#fff}.math-content{display:flex;justify-content:center;align-items:flex-start}#math-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;background:#fff;border-radius:15px;padding:1.5rem;box-shadow:0 10px 30px #0003}#math-grid:has(.one-by-one-container),#phonics-match-grid:has(.one-by-one-container),#letter-phonics-match-grid:has(.one-by-one-container),#letter-recog-grid:has(.one-by-one-container),#spelling-grid:has(.one-by-one-container),#spellmatch-grid:has(.one-by-one-container),#numberfill-grid:has(.one-by-one-container),#numberaudio-grid:has(.one-by-one-container),#shapes-grid:has(.one-by-one-container),#saythenumber-grid:has(.one-by-one-container),#saytheword-grid:has(.one-by-one-container){display:block;flex:none;width:100%;background:transparent;box-shadow:none;padding:0;border-radius:0}.math-problem{display:flex;flex-direction:column;align-items:center;padding:.5rem}.problem-number{align-self:flex-start;color:#636e72;font-size:.9rem;margin-bottom:.25rem}.problem-content{display:flex;flex-direction:column;align-items:flex-end}.problem-row{display:flex;align-items:center;gap:.5rem}.problem-operator{font-size:1.5rem;font-weight:700;color:#2d3436;min-width:20px}.problem-value{font-size:1.8rem;font-weight:700;color:#2d3436;min-width:40px;text-align:right}.problem-line{width:100%;height:2px;background:#2d3436;margin:.25rem 0}.problem-answer{width:60px;height:40px;border:2px solid #74b9ff;border-radius:8px;font-size:1.3rem;font-weight:700;font-family:inherit;text-align:center;color:#0984e3;outline:none;margin-top:.25rem}.problem-answer:focus{border-color:#0984e3;background:#74b9ff1a}.math-problem.correct .problem-answer{border-color:#28a745;background:#d4edda;color:#28a745}.math-problem.incorrect .problem-answer{border-color:#dc3545;background:#f8d7da;color:#dc3545}.modal-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:1000;justify-content:center;align-items:center;padding:1rem}.modal-overlay.active{display:flex}.modal{background:#fff;border-radius:15px;max-width:400px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease}.settings-modal-large{max-width:700px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.settings-content{display:flex;flex:1;overflow:hidden;min-height:0}.settings-tabs{display:flex;flex-direction:column;gap:2px;padding:.75rem;background:#f1f2f6;border-right:1px solid #dfe6e9;min-width:160px;overflow-y:auto}.settings-tab{padding:.6rem 1rem;border:none;border-radius:8px;background:transparent;color:#636e72;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;text-align:left;transition:all .2s ease;white-space:nowrap}.settings-tab:hover{background:#6c5ce71a;color:#6c5ce7}.settings-tab.active{background:#6c5ce7;color:#fff}.settings-panels{flex:1;padding:1.5rem;overflow-y:auto;min-width:0}.settings-panel{display:none}.settings-panel.active{display:block}.settings-modal-large .modal-footer{border-top:1px solid #dfe6e9}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #dfe6e9}.modal-header h3{margin:0;color:#2d3436;font-size:1.3rem}.modal-close{width:30px;height:30px;border:none;border-radius:50%;background:#dfe6e9;color:#636e72;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close:hover{background:#e84393;color:#fff}.modal-body{padding:1.5rem}.setting-group{margin-bottom:1.5rem}.setting-group:last-child{margin-bottom:0}.setting-label{display:block;font-weight:700;color:#2d3436;margin-bottom:.75rem}.checkbox-group{display:flex;flex-direction:column;gap:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#636e72}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#6c5ce7;cursor:pointer}.radio-group{display:flex;flex-direction:column;gap:.75rem}.radio-label{display:flex;flex-direction:column;padding:.75rem 1rem;border:2px solid #dfe6e9;border-radius:10px;cursor:pointer;transition:all .2s ease}.radio-label:hover{border-color:#6c5ce7;background:#6c5ce70d}.radio-label:has(input[type=radio]:checked){border-color:#6c5ce7;background:#6c5ce71a}.radio-label input[type=radio]{display:none}.radio-label span{display:flex;align-items:center;gap:.5rem;font-weight:700;color:#2d3436}.radio-label span:before{content:"";width:18px;height:18px;border:2px solid #b2bec3;border-radius:50%;transition:all .2s ease}.radio-label:has(input[type=radio]:checked) span:before{border-color:#6c5ce7;background:#6c5ce7;box-shadow:inset 0 0 0 4px #fff}.setting-description{display:block;color:#636e72;font-size:.85rem;font-weight:400;margin-top:.25rem;margin-left:1.5rem}.one-by-one-header{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.one-by-one-prompt{background:#fffffff2;border-radius:16px;padding:1.25rem 2rem;box-shadow:0 4px 20px #0000001a;display:flex;align-items:center;justify-content:center;min-width:120px}.one-by-one-prompt .uppercase-letter{font-size:3.5rem;margin:0;font-weight:700;color:#2d3436}.one-by-one-prompt .play-sound-btn{width:70px;height:70px;font-size:2rem;margin:0}.one-by-one-layout{display:grid;grid-template-columns:1fr 380px;gap:2rem;padding:1rem;align-items:start;width:100%;max-width:1000px;margin:0 auto}.one-by-one-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.one-by-one-viz-panel{position:sticky;top:1rem}.one-by-one-viz-panel .visualization-container{margin:0;max-width:none;width:100%}@media(max-width:1100px){.one-by-one-layout{grid-template-columns:1fr;grid-template-rows:auto auto}.one-by-one-container{order:1}.one-by-one-viz-panel{order:2;position:relative;top:0}.one-by-one-viz-panel .visualization-container{max-width:500px;margin:0 auto}}@media(max-width:600px){.one-by-one-layout{padding:.5rem;gap:1rem}}.one-by-one-progress{color:#636e72;font-size:1rem;font-weight:700;background:#ffffffe6;padding:.4rem 1.25rem;border-radius:20px;box-shadow:0 2px 10px #0000001a}.viz-character.damage-light{animation:damage-wobble-light 2s ease-in-out infinite;filter:brightness(.95) saturate(1.1)}.viz-character.damage-medium{animation:damage-wobble-medium 1.5s ease-in-out infinite;filter:brightness(.9) saturate(1.2) sepia(.1)}.viz-character.damage-medium:after{content:"";position:absolute;inset:-5px;background:radial-gradient(ellipse at center,rgba(255,100,100,.2) 0%,transparent 70%);animation:damage-pulse-medium 1.5s ease-in-out infinite;pointer-events:none;border-radius:inherit}.viz-character.damage-heavy{animation:damage-shake-heavy .8s ease-in-out infinite;filter:brightness(.8) saturate(1.3) sepia(.2) hue-rotate(-10deg)}.viz-character.damage-heavy:before{content:"";position:absolute;inset:-8px;background:radial-gradient(ellipse at center,rgba(255,50,50,.35) 0%,transparent 60%);animation:damage-pulse-heavy .8s ease-in-out infinite;pointer-events:none;border-radius:inherit}.viz-character.damage-heavy:after{content:"💢";position:absolute;top:-15px;right:-10px;font-size:1.2rem;animation:damage-icon-bounce .6s ease-in-out infinite;pointer-events:none}.viz-character.damage-critical{animation:damage-shake-critical .3s ease-in-out infinite;filter:brightness(.7) saturate(1.5) sepia(.3) hue-rotate(-15deg)}.viz-character.damage-critical:before{content:"";position:absolute;inset:-12px;background:radial-gradient(ellipse at center,rgba(255,0,0,.5) 0%,rgba(255,100,0,.3) 40%,transparent 70%);animation:damage-pulse-critical .4s ease-in-out infinite;pointer-events:none;border-radius:inherit}.viz-character.damage-critical:after{content:"⚠️";position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:1.5rem;animation:damage-warning-flash .5s ease-in-out infinite;pointer-events:none}.viz-character.damage-critical .robot-body,.viz-character.damage-critical .spaceship,.viz-character.damage-critical .knight{position:relative}.viz-character.damage-critical .robot-body:after,.viz-character.damage-critical .spaceship:after,.viz-character.damage-critical .knight:after{content:"💨";position:absolute;top:0;left:50%;font-size:.8rem;animation:smoke-rise 1s ease-out infinite;opacity:.7}@keyframes damage-wobble-light{0%,to{transform:rotate(0)}25%{transform:rotate(1deg)}75%{transform:rotate(-1deg)}}@keyframes damage-wobble-medium{0%,to{transform:rotate(0) translate(0)}20%{transform:rotate(2deg) translate(1px)}40%{transform:rotate(-1deg) translate(-1px)}60%{transform:rotate(1.5deg) translate(1px)}80%{transform:rotate(-2deg) translate(-1px)}}@keyframes damage-shake-heavy{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-3px) rotate(-2deg)}20%{transform:translate(3px) rotate(2deg)}30%{transform:translate(-3px) rotate(-1deg)}40%{transform:translate(3px) rotate(1deg)}50%{transform:translate(-2px) rotate(-2deg)}60%{transform:translate(2px) rotate(2deg)}70%{transform:translate(-3px) rotate(-1deg)}80%{transform:translate(3px) rotate(1deg)}90%{transform:translate(-2px) rotate(-2deg)}}@keyframes damage-shake-critical{0%,to{transform:translate(0) translateY(0) rotate(0)}10%{transform:translate(-4px) translateY(-1px) rotate(-3deg)}20%{transform:translate(4px) translateY(1px) rotate(3deg)}30%{transform:translate(-4px) translateY(-1px) rotate(-2deg)}40%{transform:translate(4px) translateY(1px) rotate(2deg)}50%{transform:translate(-3px) translateY(-2px) rotate(-3deg)}60%{transform:translate(3px) translateY(2px) rotate(3deg)}70%{transform:translate(-4px) translateY(-1px) rotate(-2deg)}80%{transform:translate(4px) translateY(1px) rotate(2deg)}90%{transform:translate(-3px) translateY(-1px) rotate(-3deg)}}@keyframes damage-pulse-medium{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}@keyframes damage-pulse-heavy{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes damage-pulse-critical{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@keyframes damage-icon-bounce{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(10deg)}}@keyframes damage-warning-flash{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.5;transform:translate(-50%) scale(1.2)}}@keyframes smoke-rise{0%{opacity:.7;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-20px) scale(1.5)}}.one-by-one-question,.one-by-one-card{background:#fffffff2;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #0000001a;min-width:280px;max-width:400px;text-align:center}.one-by-one-question .uppercase-letter,.one-by-one-question .play-sound-btn,.one-by-one-question .problem-letter,.one-by-one-card .uppercase-letter,.one-by-one-card .play-sound-btn,.one-by-one-card .problem-letter{font-size:3rem;margin-bottom:1rem;display:block}.one-by-one-question .letter-options,.one-by-one-question .sound-options,.one-by-one-card .letter-options,.one-by-one-card .sound-options,.one-by-one-card .numberaudio-options,.one-by-one-card .shapes-options{display:grid;grid-template-columns:repeat(2,1fr);justify-items:center;gap:1rem}.one-by-one-card .numberaudio-options:has(.numberaudio-type-input){display:flex;justify-content:center}.one-by-one-question .letter-option-box,.one-by-one-card .letter-option-box{font-size:1.4rem;padding:.75rem 1.25rem;min-width:50px}.one-by-one-question .sound-options,.one-by-one-card .sound-options{flex-wrap:wrap;gap:.75rem}.one-by-one-question .sound-option,.one-by-one-card .sound-option{flex-direction:row;gap:.5rem;padding:.6rem .8rem;background:linear-gradient(135deg,#f5f7fa,#e4e8eb);border-radius:12px;border:3px solid #b2bec3;transition:all .2s ease;min-width:70px}.one-by-one-question .sound-option:hover,.one-by-one-card .sound-option:hover{border-color:#6c5ce7;box-shadow:0 4px 15px #6c5ce74d}.one-by-one-question .sound-option.selected,.one-by-one-card .sound-option.selected{border-color:#0984e3;background:#74b9ff33}.one-by-one-question .sound-option.correct-option,.one-by-one-card .sound-option.correct-option{border-color:#28a745;background:#28a74533}.one-by-one-question .sound-option.wrong-option,.one-by-one-card .sound-option.wrong-option{border-color:#dc3545;background:#dc354533}.one-by-one-question .play-sound-btn,.one-by-one-card .play-sound-btn{width:70px;height:70px;font-size:2rem;margin:0 auto 1rem}.one-by-one-navigation{display:flex;gap:1rem}.one-by-one-btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:700;font-family:inherit;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease}.one-by-one-btn .key-hint{font-size:.7em;opacity:.8;font-weight:400}.one-by-one-btn.next-btn{background:linear-gradient(135deg,#00b894,#00cec9);color:#fff;box-shadow:0 4px 15px #00b89466}.one-by-one-btn.next-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00b89480}.one-by-one-btn.next-btn:disabled{background:#b2bec3;cursor:not-allowed;box-shadow:none}.one-by-one-btn.submit-btn{background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff;box-shadow:0 4px 15px #6c5ce766}.one-by-one-btn.submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6c5ce780}.one-by-one-btn.try-again-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;box-shadow:0 4px 15px #e74c3c66;animation:tryAgainPulse 1.5s infinite}.one-by-one-btn.try-again-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #e74c3c80}@keyframes tryAgainPulse{0%,to{box-shadow:0 4px 15px #e74c3c66}50%{box-shadow:0 4px 25px #e74c3cb3}}.one-by-one-feedback{margin-top:1rem;padding:1rem;border-radius:10px;font-weight:700;font-size:1.2rem}.one-by-one-feedback.correct{background:#00b89433;color:#00b894}.one-by-one-feedback.incorrect{background:#ff525233;color:#ff5252}.one-by-one-summary{background:#fffffff2;border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0003;text-align:center;min-width:300px}.one-by-one-summary h3{color:#2d3436;font-size:1.5rem;margin:0 0 1rem}.one-by-one-summary .score-display{font-size:3rem;font-weight:700;color:#6c5ce7;margin:1rem 0}.one-by-one-summary .stars-display{font-size:2.5rem;margin:1rem 0}.one-by-one-summary .stars-display .star{color:#dfe6e9}.one-by-one-summary .stars-display .star.filled{color:#fdcb6e}.one-by-one-summary .review-title{color:#2d3436;font-size:1.1rem;margin:1rem 0 .5rem}.one-by-one-summary .review-list{background:#0000000d;border-radius:12px;padding:.75rem;max-height:300px;overflow-y:auto;text-align:left}.one-by-one-summary .review-item{display:flex;align-items:center;gap:.75rem;padding:.4rem .5rem;border-bottom:1px solid rgba(0,0,0,.08);font-size:.95rem}.one-by-one-summary .review-item:last-child{border-bottom:none}.one-by-one-summary .review-item.correct{color:#00b894}.one-by-one-summary .review-item.incorrect{color:#ff7675}.one-by-one-summary .review-number{font-weight:700;min-width:1.5rem}.one-by-one-summary .review-result{margin-left:auto}.one-by-one-results-list{margin:1.5rem 0;max-height:300px;overflow-y:auto}.one-by-one-result-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid #dfe6e9}.one-by-one-result-item:last-child{border-bottom:none}.one-by-one-result-item .question-text{font-weight:700;color:#2d3436}.one-by-one-result-item .answer-text{font-size:.9rem}.one-by-one-result-item .answer-text.correct{color:#00b894}.one-by-one-result-item .answer-text.incorrect{color:#ff5252}.one-by-one-math-problem{display:flex;flex-direction:column;align-items:flex-end;margin-bottom:1.5rem;padding:1rem}.one-by-one-math-problem .problem-value{font-size:3.5rem;font-weight:700;color:#2d3436;min-width:100px;text-align:right}.one-by-one-math-problem .problem-operator{font-size:3rem;color:#6c5ce7;font-weight:700}.one-by-one-math-problem .problem-line{width:150px;height:4px;background:#2d3436;margin:.75rem 0}.one-by-one-math-problem .problem-answer{font-size:2.5rem;font-family:inherit;font-weight:700;padding:.5rem 1rem;width:150px;text-align:center;border:3px solid #dfe6e9;border-radius:12px;background:#fff}.one-by-one-math-problem .problem-answer:focus{border-color:#6c5ce7;outline:none;box-shadow:0 0 0 3px #6c5ce733}.one-by-one-math-problem .problem-answer::placeholder{color:#b2bec3}.step-by-step-problem{display:flex;flex-direction:column;align-items:flex-end;font-family:Courier New,monospace;font-size:2.5rem;font-weight:700}.step-row{display:flex;align-items:center;justify-content:flex-end}.step-cell{width:50px;height:60px;display:flex;align-items:center;justify-content:center;text-align:center}.step-cell.operator-cell{width:40px;color:#6c5ce7;font-size:2rem}.step-cell.digit-cell{color:#2d3436}.carry-row,.carry-row .step-cell{height:40px}.step-input{width:42px;height:42px;border:3px solid #dfe6e9;border-radius:8px;font-size:1.8rem;font-weight:700;font-family:inherit;text-align:center;color:#2d3436;outline:none;background:#fff}.step-input:focus{border-color:#6c5ce7;box-shadow:0 0 0 3px #6c5ce733}.step-input::placeholder{color:#b2bec3;font-size:1.4rem}.carry-input{width:32px;height:32px;font-size:1.2rem;border-width:2px;background:#fff9e6;border-color:#f1c40f}.carry-input:focus{border-color:#e67e22;box-shadow:0 0 0 2px #e67e2233}.answer-digit-input{background:#e8f4ff;border-color:#74b9ff}.answer-digit-input:focus{border-color:#0984e3;box-shadow:0 0 0 3px #0984e333}.step-input.correct{background:#d4edda;border-color:#28a745;color:#28a745}.step-input.incorrect{background:#f8d7da;border-color:#dc3545;color:#dc3545}.line-row{width:100%;padding:.25rem 0}.step-line{width:100%;height:4px;background:#2d3436;border-radius:2px}.setting-input{width:100%;padding:.75rem;border:2px solid #dfe6e9;border-radius:8px;font-size:1rem;font-family:inherit;color:#2d3436;outline:none}.setting-input:focus{border-color:#6c5ce7}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #dfe6e9;display:flex;justify-content:flex-end}.phonics-match-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.phonics-match-content{display:flex;justify-content:center;align-items:flex-start}.phonics-match-main{display:flex;flex-direction:column;gap:1.5rem}#phonics-match-grid{background:#fff;border-radius:15px;padding:1.5rem;box-shadow:0 10px 30px #0003}.phonics-match-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid #dfe6e9}.phonics-match-row:last-child{border-bottom:none}.play-sound-btn{width:60px;height:60px;border:none;border-radius:50%;background:linear-gradient(135deg,#00b894,#00cec9);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 4px 15px #00b89466}.play-sound-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #00b89480}.play-sound-btn:active{transform:scale(.95)}.play-sound-btn.playing{animation:pulse .5s ease}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.phonics-match-row.correct .play-sound-btn{background:linear-gradient(135deg,#28a745,#20c997)}.phonics-match-row.incorrect .play-sound-btn{background:linear-gradient(135deg,#dc3545,#e84393)}.letter-phonics-match-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.letter-phonics-match-content{display:flex;justify-content:center;align-items:flex-start}.letter-phonics-match-main{display:flex;flex-direction:column;gap:1.5rem}#letter-phonics-match-grid{background:#fff;border-radius:15px;padding:1.5rem;box-shadow:0 10px 30px #0003}.letter-phonics-match-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid #dfe6e9}.letter-phonics-match-row:last-child{border-bottom:none}.display-letter{width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#2d3436;background:linear-gradient(135deg,#dfe6e9,#b2bec3);border-radius:10px;box-shadow:0 4px 10px #0000001a}.sound-options{display:flex;gap:.5rem;flex-wrap:wrap}.sound-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border:3px solid #b2bec3;border-radius:12px;background:linear-gradient(135deg,#f5f7fa,#e4e8eb);transition:all .2s ease}.sound-option:hover{border-color:#6c5ce7;box-shadow:0 4px 15px #6c5ce74d}.sound-option input[type=radio]{display:none}.sound-option-btn{width:50px;height:50px;border:none;border-radius:50%;background:linear-gradient(135deg,#74b9ff,#0984e3);color:#fff;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 4px 15px #74b9ff66}.sound-option-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #74b9ff80}.sound-option-btn:active{transform:scale(.95)}.sound-option-btn.playing{animation:pulse .5s ease}.sound-select-box{width:24px;height:24px;border:3px solid #b2bec3;border-radius:50%;background:#fff;transition:all .2s ease;cursor:pointer}.sound-select-box:hover{border-color:#74b9ff}.sound-option.selected .sound-select-box{border-color:#0984e3;background:#0984e3}.sound-option.selected .sound-select-box:after{content:"✓";color:#fff;font-size:.75rem;display:flex;align-items:center;justify-content:center;height:100%}.sound-select-btn{padding:.4rem .8rem;border:none;border-radius:8px;background:linear-gradient(135deg,#00b894,#00cec9);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00b8944d}.sound-select-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #00b89466}.sound-select-btn:active{transform:scale(.95)}.sound-option.selected .sound-select-btn{background:linear-gradient(135deg,#0984e3,#74b9ff);border-color:#0984e3}.sound-option.selected .sound-select-btn:after{content:" ✓"}.sound-option.correct-option .sound-select-btn{background:linear-gradient(135deg,#28a745,#20c997);border-color:#28a745}.sound-option.wrong-option .sound-select-btn{background:linear-gradient(135deg,#dc3545,#e84393);border-color:#dc3545}.sound-option.correct-option .sound-option-btn{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 4px 15px #28a74566}.sound-option.wrong-option .sound-option-btn{background:linear-gradient(135deg,#dc3545,#e84393);box-shadow:0 4px 15px #dc354566}.letter-phonics-match-row.correct .display-letter{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.letter-phonics-match-row.incorrect .display-letter{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24}.app-icon[data-app=letterphonicsmatch] .app-icon-image{background:linear-gradient(135deg,#74b9ff,#0984e3);font-size:2rem}.app-icon[data-app=spelling] .app-icon-image{background:linear-gradient(135deg,#fdcb6e,#e17055);font-size:2.5rem}.spelling-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.spelling-content{display:flex;justify-content:center;align-items:flex-start}.spelling-main{display:flex;flex-direction:column;gap:1.5rem}#spelling-grid{background:#fff;border-radius:15px;padding:1.5rem;box-shadow:0 10px 30px #0003;min-width:400px}.spelling-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid #dfe6e9}.spelling-row:last-child{border-bottom:none}.spelling-play-btn{width:60px;height:60px;border:none;border-radius:50%;background:linear-gradient(135deg,#fdcb6e,#e17055);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 4px 15px #fdcb6e66;flex-shrink:0}.spelling-play-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #fdcb6e80}.spelling-play-btn:active{transform:scale(.95)}.spelling-play-btn.playing{animation:pulse .5s ease}.spelling-input-container{flex:1;display:flex;flex-direction:column;gap:.5rem}.spelling-input{width:100%;padding:.75rem 1rem;border:2px solid #dfe6e9;border-radius:10px;font-size:1.5rem;font-family:inherit;font-weight:700;color:#2d3436;text-transform:lowercase;letter-spacing:.1em;outline:none;transition:all .2s ease}.spelling-input:focus{border-color:#fdcb6e;background:#fdcb6e1a}.spelling-input::placeholder{color:#b2bec3;font-weight:400;letter-spacing:normal}.spelling-row.correct .spelling-input{border-color:#28a745;background:#d4edda;color:#28a745}.spelling-row.incorrect .spelling-input{border-color:#dc3545;background:#f8d7da;color:#dc3545}.spelling-row.correct .spelling-play-btn{background:linear-gradient(135deg,#28a745,#20c997)}.spelling-row.incorrect .spelling-play-btn{background:linear-gradient(135deg,#dc3545,#e84393)}.spelling-feedback{font-size:.9rem;font-weight:700;display:none}.spelling-row.incorrect .spelling-feedback{display:block;color:#28a745}.phonics-keyboard{background:#fff;border-radius:15px;padding:1rem;box-shadow:0 10px 30px #0003}.phonics-keyboard-title{color:#636e72;font-size:1rem;margin:0 0 .75rem;text-align:center}#phonics-keyboard-grid,#phonics-match-keyboard-grid,#letter-phonics-match-keyboard-grid{display:grid;grid-template-columns:repeat(13,1fr);gap:4px}.phonics-key{aspect-ratio:1;border:none;border-radius:8px;font-size:1rem;font-weight:700;font-family:inherit;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center;min-width:30px;min-height:30px}.phonics-key:hover{transform:scale(1.15);box-shadow:0 4px 12px #00000040}.phonics-key:active{transform:scale(.95)}.phonics-key.playing{animation:pulse .3s ease}.phonics-key:nth-child(6n+1){background:linear-gradient(135deg,#ff6b6b,#ee5a6f)}.phonics-key:nth-child(6n+2){background:linear-gradient(135deg,#4ecdc4,#44a08d)}.phonics-key:nth-child(6n+3){background:linear-gradient(135deg,#f9ca24,#f0932b)}.phonics-key:nth-child(6n+4){background:linear-gradient(135deg,#a29bfe,#6c5ce7)}.phonics-key:nth-child(6n+5){background:linear-gradient(135deg,#fd79a8,#e84393)}.phonics-key:nth-child(6n){background:linear-gradient(135deg,#00b894,#55efc4)}.app-icon[data-app=spellmatch] .app-icon-image{background:linear-gradient(135deg,#00cec9,#0984e3);font-size:2rem}.spellmatch-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.spellmatch-content{display:flex;justify-content:center;align-items:flex-start}#spellmatch-grid{background:#fff;border-radius:15px;padding:1.5rem;box-shadow:0 10px 30px #0003;min-width:500px;display:flex;flex-direction:column;gap:1.5rem}.spellmatch-question{background:#f8f9fa;border-radius:12px;padding:1rem}.spellmatch-question-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.spellmatch-play-btn{width:60px;height:60px;border-radius:50%;border:none;background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff;font-size:1.5rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #6c5ce766;display:flex;align-items:center;justify-content:center}.spellmatch-play-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #6c5ce780}.spellmatch-play-btn:active{transform:scale(.95)}.spellmatch-prompt{font-size:1.1rem;color:#636e72;font-weight:500}.spellmatch-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.spellmatch-option{background:linear-gradient(135deg,#f5f7fa,#e4e8eb);border:3px solid #b2bec3;border-radius:12px;padding:.75rem;cursor:default}.spellmatch-option:hover{border-color:#6c5ce7;box-shadow:0 4px 15px #6c5ce74d}.spellmatch-option.selected{border-color:#6c5ce7;background:linear-gradient(135deg,#6c5ce71a,#a29bfe1a)}.spellmatch-option.correct{border-color:#28a745;background:linear-gradient(135deg,#28a7451a,#20c9971a)}.spellmatch-option.incorrect{border-color:#dc3545;background:linear-gradient(135deg,#dc35451a,#e843931a)}.spellmatch-word{display:flex;justify-content:center;gap:2px;flex-wrap:wrap}.spellmatch-letter-group{display:flex;flex-direction:column;align-items:center;gap:4px}.spellmatch-letter{font-size:1.5rem;font-weight:700;color:#2d3436;text-transform:lowercase}.spellmatch-phonics-btn{width:28px;height:28px;border-radius:50%;border:none;background:linear-gradient(135deg,#74b9ff,#0984e3);color:#fff;font-size:.7rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.spellmatch-phonics-btn:hover{transform:scale(1.2)}.spellmatch-phonics-btn:active{transform:scale(.9)}.spellmatch-phonics-btn.playing{animation:pulse .3s ease}.spellmatch-select-btn{padding:.5rem 1rem;margin-top:.5rem;border:none;border-radius:8px;background:linear-gradient(135deg,#00b894,#00cec9);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:block;width:100%;box-shadow:0 2px 8px #00b8944d}.spellmatch-select-btn:hover{transform:scale(1.02);box-shadow:0 4px 12px #00b89466}.spellmatch-select-btn:active{transform:scale(.98)}.spellmatch-option.selected .spellmatch-select-btn{background:linear-gradient(135deg,#0984e3,#74b9ff);border-color:#0984e3}.spellmatch-option.selected .spellmatch-select-btn:after{content:" ✓"}.spellmatch-option.correct .spellmatch-select-btn{background:linear-gradient(135deg,#28a745,#20c997);border-color:#28a745}.spellmatch-option.incorrect .spellmatch-select-btn{background:linear-gradient(135deg,#dc3545,#e84393);border-color:#dc3545}.spellmatch-question.correct .spellmatch-play-btn{background:linear-gradient(135deg,#28a745,#20c997)}.spellmatch-question.incorrect .spellmatch-play-btn{background:linear-gradient(135deg,#dc3545,#e84393)}.app-icon[data-app=numberfill] .app-icon-image{background:linear-gradient(135deg,#e17055,#d63031);font-size:2rem}.numberfill-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.numberfill-content{display:flex;justify-content:center;align-items:flex-start}#numberfill-grid{background:#fff;border-radius:15px;padding:1.5rem;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;gap:.75rem}.numberfill-row{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:10px;background:#f8f9fa}.numberfill-row-number{color:#636e72;font-size:1rem;min-width:30px;font-weight:700}.numberfill-sequence{display:flex;align-items:center;gap:.5rem}.numberfill-num{font-size:2rem;font-weight:700;color:#2d3436;min-width:60px;text-align:center}.numberfill-blank{width:70px;height:50px;border:3px dashed #74b9ff;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center}.numberfill-input{width:100%;height:100%;border:none;background:transparent;text-align:center;font-size:1.8rem;font-weight:700;font-family:inherit;color:#0984e3;outline:none}.numberfill-input:focus{background:#74b9ff1a}.numberfill-input::placeholder{color:#b2bec3;font-size:1.5rem}.numberfill-row.correct .numberfill-blank{border-color:#28a745;background:#d4edda}.numberfill-row.correct .numberfill-input{color:#28a745}.numberfill-row.incorrect .numberfill-blank{border-color:#dc3545;background:#f8d7da}.numberfill-row.incorrect .numberfill-input{color:#dc3545}.numberfill-answer-feedback{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;font-size:1.3rem;font-weight:700}.numberfill-answer-feedback .wrong-number{color:#dc3545;text-decoration:line-through;opacity:.7}.numberfill-answer-feedback .correct-number{color:#28a745}@media(max-width:768px){.numberfill-num{font-size:1.5rem;min-width:45px}.numberfill-blank{width:55px;height:40px}.numberfill-input{font-size:1.4rem}.numberfill-answer-feedback{font-size:1.1rem}}@media(max-width:480px){.numberfill-num{font-size:1.3rem;min-width:35px}.numberfill-blank{width:45px;height:35px}.numberfill-input{font-size:1.2rem}.numberfill-sequence{gap:.3rem}.numberfill-row{gap:.5rem;padding:.4rem}.numberfill-answer-feedback{font-size:.9rem}}.setting-select{width:100%;padding:.75rem;border:2px solid #dfe6e9;border-radius:8px;font-size:1rem;font-family:inherit;color:#2d3436;background:#fff;cursor:pointer;outline:none}.setting-select:focus{border-color:#6c5ce7}.setting-hint{display:block;margin-top:.5rem;color:#636e72;font-size:.8rem}@media(max-width:768px){#alphabet-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.75rem}#numbers-grid{grid-template-columns:repeat(5,minmax(45px,60px));gap:.4rem}h1{margin-bottom:1rem}.category-grid{padding:.5rem 1rem 1rem}.category-section{padding:1rem 1.25rem 1.25rem}.app-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}.app-icon-image{width:min(100px,100%);height:auto;aspect-ratio:1;border-radius:24px;font-size:2rem}.shapes-icon-grid{padding:16px;gap:3px}.circle-mini{width:22px;height:22px}.square-mini{width:18px;height:18px}.triangle-mini{border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:18px solid white}.star-mini{width:22px;height:22px}.star-mini:before{font-size:18px}.app-label{font-size:1rem}.back-button{padding:.6rem 1rem;font-size:.9rem}#missing-grid{grid-template-columns:repeat(10,minmax(30px,45px));gap:3px;padding:8px}.action-button{padding:.6rem 1.2rem;font-size:1rem}.uppercase-letter{font-size:2.5rem;min-width:50px}.letter-option-box{width:50px;height:50px;font-size:1.7rem}.letter-options{gap:.5rem}#math-grid{grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem}.problem-value{font-size:1.5rem}.problem-operator{font-size:1.3rem}.play-sound-btn{width:50px;height:50px;font-size:1.3rem}#spelling-grid{min-width:auto;width:100%}.spelling-play-btn{width:50px;height:50px;font-size:1.3rem}.spelling-input{font-size:1.2rem}#phonics-keyboard-grid,#phonics-match-keyboard-grid,#letter-phonics-match-keyboard-grid{grid-template-columns:repeat(9,1fr)}.phonics-key{font-size:.9rem}#spellmatch-grid{min-width:auto;width:100%}.spellmatch-play-btn{width:50px;height:50px;font-size:1.3rem}.spellmatch-options{grid-template-columns:1fr}.spellmatch-letter{font-size:1.3rem}.spellmatch-phonics-btn{width:24px;height:24px;font-size:.6rem}}@media(max-width:480px){#alphabet-grid{grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:.5rem}#numbers-grid{grid-template-columns:repeat(5,minmax(40px,55px));gap:.3rem}.number-button{font-size:clamp(.8rem,3vw,1.1rem)}.category-grid{padding:.75rem}.category-section{padding:.75rem 1rem 1rem}.app-grid{grid-template-columns:repeat(3,1fr);gap:1rem}.app-icon-image{width:min(80px,100%);height:auto;aspect-ratio:1;border-radius:20px;font-size:1.75rem}.shapes-icon-grid{padding:12px;gap:2px}.circle-mini{width:18px;height:18px}.square-mini{width:14px;height:14px}.triangle-mini{border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:14px solid white}.star-mini{width:18px;height:18px}.star-mini:before{font-size:14px}.app-label{font-size:.9rem}#missing-grid{grid-template-columns:repeat(10,minmax(25px,35px));gap:2px;padding:6px}.missing-cell{font-size:clamp(.7rem,2.5vw,.9rem)}.action-button{padding:.5rem 1rem;font-size:.9rem}.uppercase-letter{font-size:2rem;min-width:40px}.letter-option-box{width:42px;height:42px;font-size:1.4rem}.letter-options{gap:.4rem}.letter-option input[type=radio]{width:14px;height:14px}.row-number{font-size:.85rem;min-width:20px}#letter-recog-grid{padding:1rem}.letter-row{gap:.5rem;padding:.5rem 0}#math-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.problem-value{font-size:1.3rem;min-width:30px}.problem-operator{font-size:1.1rem;min-width:15px}.problem-answer{width:50px;height:35px;font-size:1.1rem}.math-problem{padding:.25rem}.play-sound-btn{width:45px;height:45px;font-size:1.1rem}.phonics-match-row{gap:.5rem}#phonics-match-grid{padding:1rem}.spelling-play-btn{width:45px;height:45px;font-size:1.1rem}.spelling-input{font-size:1rem;padding:.5rem .75rem}.spelling-row{gap:.5rem}#phonics-keyboard-grid,#phonics-match-keyboard-grid,#letter-phonics-match-keyboard-grid{grid-template-columns:repeat(7,1fr)}.phonics-key{font-size:.8rem;min-width:25px;min-height:25px}}.answer-feedback{display:flex;flex-direction:column;gap:2px;font-size:.75rem;margin-top:4px;padding:4px 6px;background:#ffffffe6;border-radius:4px;text-align:center}.answer-feedback .user-answer{color:#dc3545;font-weight:700}.answer-feedback .correct-answer{color:#28a745;font-weight:700}.missing-answer-feedback{display:flex;align-items:center;justify-content:center;gap:2px;width:100%;height:100%;font-size:clamp(.7rem,1.8vw,1rem);font-weight:700}.missing-answer-feedback .wrong-number{color:#dc3545;text-decoration:line-through;opacity:.7}.missing-answer-feedback .correct-number{color:#28a745}.missing-cell{position:relative}.letter-option-box.correct-option{border-color:#28a745!important;background:#d4edda!important;box-shadow:0 0 8px #28a74580}.letter-option-box.wrong-option{border-color:#dc3545!important;background:#f8d7da!important}.letter-row .answer-feedback,.phonics-match-row .answer-feedback{margin-left:auto;flex-direction:row;gap:8px}.math-answer-feedback{display:flex;align-items:center;justify-content:center;gap:4px;width:60px;height:40px;font-size:1.1rem;font-weight:700;margin-top:.25rem;border:2px solid #dc3545;border-radius:8px;background:#f8d7da}.math-answer-feedback .wrong-number{color:#dc3545;text-decoration:line-through;opacity:.7}.math-answer-feedback .correct-number{color:#28a745}@media(max-width:768px){.answer-feedback{font-size:.65rem}.missing-cell .answer-feedback{bottom:-35px}.math-answer-feedback{font-size:1rem;width:50px;height:35px}}@media(max-width:480px){.answer-feedback{font-size:.6rem;padding:2px 4px}.missing-cell .answer-feedback{bottom:-30px}.letter-row .answer-feedback,.phonics-match-row .answer-feedback{flex-direction:column;gap:2px}.math-answer-feedback{font-size:.9rem;width:45px;height:30px;gap:2px}}.app-icon[data-app=numberaudio] .app-icon-image{background:linear-gradient(135deg,#0984e3,#74b9ff);font-size:2rem}.numberaudio-buttons{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;justify-content:center}.numberaudio-content{display:flex;justify-content:center;align-items:flex-start}#numberaudio-grid{flex:1;display:flex;flex-direction:column;gap:1.5rem}.numberaudio-row{display:flex;align-items:center;gap:1.5rem;background:#fffffff2;padding:1.5rem;border-radius:16px;box-shadow:0 4px 15px #0000001a}.numberaudio-row.correct{background:#00b89433;border:2px solid #00b894}.numberaudio-row.incorrect{background:#ff767533;border:2px solid #ff7675}.numberaudio-prompt{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:100px}.numberaudio-prompt .play-sound-btn{width:80px;height:80px;font-size:2.5rem;border:none;border-radius:50%;background:linear-gradient(135deg,#0984e3,#74b9ff);color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0984e366}.numberaudio-prompt .play-sound-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #0984e380}.numberaudio-prompt .play-sound-btn:active{transform:scale(.95)}.numberaudio-prompt .play-sound-btn.large{width:120px;height:120px;font-size:3.5rem}.numberaudio-options{display:flex;gap:1rem;flex-wrap:wrap;flex:1}.numberaudio-option{display:flex;cursor:pointer}.numberaudio-option input[type=radio]{display:none}.numberaudio-option-box{display:flex;align-items:center;justify-content:center;min-width:80px;min-height:80px;padding:1rem;background:#fff;border:3px solid #dfe6e9;border-radius:16px;font-size:2rem;font-weight:700;color:#2d3436;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.numberaudio-option-box:hover{border-color:#74b9ff;transform:scale(1.05)}.numberaudio-option input[type=radio]:checked+.numberaudio-option-box,.numberaudio-option-box.selected{border-color:#0984e3;background:linear-gradient(135deg,#e3f2fd,#bbdefb);box-shadow:0 4px 15px #0984e34d}.numberaudio-option-box.correct-option{border-color:#00b894;background:linear-gradient(135deg,#d4edda,#c3e6cb)}.numberaudio-option-box.wrong-option{border-color:#ff7675;background:linear-gradient(135deg,#f8d7da,#f5c6cb)}.numberaudio-type-input{width:100px;height:80px;font-size:2rem;font-weight:700;font-family:inherit;text-align:center;border:3px solid #dfe6e9;border-radius:16px;background:#fff;color:#2d3436;transition:all .2s ease;-moz-appearance:textfield}.numberaudio-type-input::-webkit-outer-spin-button,.numberaudio-type-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.numberaudio-type-input:focus{outline:none;border-color:#0984e3;box-shadow:0 0 0 4px #0984e333}.numberaudio-type-input.correct{border-color:#00b894;background:linear-gradient(135deg,#d4edda,#c3e6cb)}.numberaudio-type-input.incorrect{border-color:#ff7675;background:linear-gradient(135deg,#f8d7da,#f5c6cb)}.one-by-one-prompt.numberaudio-prompt-large{display:flex;justify-content:center;margin-bottom:2rem}@media(max-width:768px){.numberaudio-row{flex-direction:column;text-align:center}.numberaudio-options{justify-content:center}.numberaudio-option-box{min-width:60px;min-height:60px;font-size:1.5rem}}.app-icon[data-app=shapes] .app-icon-image{background:linear-gradient(135deg,#e17055,#d63031)}.shapes-icon-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px;padding:20px;box-sizing:border-box;width:100%;height:100%;place-items:center}.shape-mini{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.circle-mini{width:28px;height:28px;background:#fff;border-radius:50%}.square-mini{width:24px;height:24px;background:#fff}.triangle-mini{width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:24px solid white;background:transparent}.star-mini{position:relative;width:28px;height:28px}.star-mini:before{content:"★";font-size:24px;color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shapes-buttons{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;justify-content:center}.shapes-content{display:flex;justify-content:center;align-items:flex-start}.shapes-main{flex:1;display:flex;flex-direction:column;gap:2rem}#shapes-grid{display:flex;flex-direction:column;gap:1.5rem}.shapes-question-row{display:flex;align-items:center;gap:1.5rem;background:#fffffff2;padding:1.5rem;border-radius:16px;box-shadow:0 4px 15px #0000001a}.shapes-question-row.correct{background:#00ff0026;border:3px solid #00c853}.shapes-question-row.incorrect{background:#ff000026;border:3px solid #ff5252}.shapes-row{display:flex;align-items:center;gap:1.5rem;background:#fffffff2;padding:1rem 1.5rem;border-radius:16px;box-shadow:0 4px 15px #0000001a}.shapes-row .row-number{font-size:1.5rem;font-weight:700;color:#6c5ce7;min-width:40px;text-align:center}.shapes-row.correct{background:#00ff0026;border:3px solid #00c853}.shapes-row.incorrect{background:#ff000026;border:3px solid #ff5252}.shapes-prompt{width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#e4e8eb);border-radius:12px;border:2px solid #ddd;flex-shrink:0}.shapes-prompt-shape{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.shapes-prompt-shape.large{width:150px;height:150px}.shapes-audio-btn{width:80px;height:80px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:2.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.shapes-audio-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #667eea66}.shapes-audio-btn.large{width:120px;height:120px;font-size:3.5rem}.shapes-options{display:flex;gap:1rem;flex-wrap:wrap}.shapes-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer}.shapes-option input[type=radio]{width:20px;height:20px;cursor:pointer;accent-color:#6c5ce7}.shapes-option-box{width:70px;height:70px;border:3px solid #b2bec3;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#e4e8eb);cursor:pointer;transition:all .2s ease;overflow:hidden}.shapes-option-box:hover{border-color:#6c5ce7;transform:scale(1.05);box-shadow:0 4px 15px #6c5ce74d}.shapes-option-box.audio-option{background:linear-gradient(135deg,#74b9ff,#0984e3);color:#fff;font-size:2rem}.shapes-option-box.audio-option:hover{box-shadow:0 6px 20px #0984e366}.shapes-option input[type=radio]:checked+.shapes-option-box,.shapes-option-box.selected{border-color:#6c5ce7;border-width:4px;background:#f0efff;box-shadow:0 0 15px #6c5ce766}.shapes-option-box.audio-option.selected{background:linear-gradient(135deg,#a29bfe,#6c5ce7)}.shapes-option-box.correct-option{border-color:#00c853!important;background:#d4edda!important;box-shadow:0 0 15px #00c85366}.shapes-option-box.audio-option.correct-option{background:linear-gradient(135deg,#00e676,#00c853)!important}.shapes-option-box.wrong-option{border-color:#dc3545!important;background:#f8d7da!important;box-shadow:0 0 15px #dc354566}.shapes-option-box.audio-option.wrong-option{background:linear-gradient(135deg,#ff8a80,#ff5252)!important}.one-by-one-prompt{display:flex;justify-content:center;margin-bottom:1.5rem}.one-by-one-prompt .shapes-prompt-shape{width:150px;height:150px;background:linear-gradient(135deg,#f5f7fa,#e4e8eb);border-radius:16px;border:3px solid #ddd}.one-by-one-card .shapes-options{gap:1.5rem}.one-by-one-card .shapes-option-box{width:auto;min-width:90px;height:auto;min-height:90px;flex-direction:column;padding:.5rem;gap:.5rem}.shapes-audio-btn{width:50px;height:50px;border:none;border-radius:50%;background:linear-gradient(135deg,#74b9ff,#0984e3);color:#fff;font-size:1.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #74b9ff66}.shapes-audio-btn:hover{transform:scale(1.1);box-shadow:0 4px 15px #0984e366}.shapes-audio-btn:active{transform:scale(.95)}.shapes-audio-btn.playing{animation:pulse .5s ease}.shapes-select-btn{padding:.4rem .8rem;border:none;border-radius:8px;background:linear-gradient(135deg,#00b894,#00cec9);color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00b8944d}.shapes-select-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #00b89466}.shapes-select-btn:active{transform:scale(.95)}.shapes-option-box.selected .shapes-select-btn{background:linear-gradient(135deg,#0984e3,#74b9ff);border-color:#0984e3}.shapes-option-box.selected .shapes-select-btn:after{content:" ✓"}.shapes-option-box.correct-option .shapes-select-btn{background:linear-gradient(135deg,#28a745,#20c997);border-color:#28a745}.shapes-option-box.wrong-option .shapes-select-btn{background:linear-gradient(135deg,#dc3545,#e84393);border-color:#dc3545}.shape-display{width:120px;height:120px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#e4e8eb);border-radius:16px;border:3px solid #ddd;flex-shrink:0;overflow:hidden;position:relative}.shape-audio-prompt{width:120px;height:120px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;border:none;cursor:pointer;transition:all .3s ease;flex-shrink:0}.shape-audio-prompt:hover{transform:scale(1.05);box-shadow:0 8px 25px #667eea66}.shape-audio-prompt:active{transform:scale(.98)}.shape-audio-prompt .speaker-icon{font-size:3rem;color:#fff}.shape-options{display:flex;gap:1rem;flex-wrap:wrap;flex:1}.shape-audio-option{width:80px;height:80px;border-radius:16px;border:3px solid #ddd;background:linear-gradient(135deg,#74b9ff,#0984e3);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff}.shape-audio-option:hover{transform:scale(1.1);box-shadow:0 6px 20px #0984e366;border-color:#0984e3}.shape-audio-option.selected{border-color:#6c5ce7;border-width:4px;box-shadow:0 0 15px #6c5ce780}.shape-audio-option.correct-answer{border-color:#00c853;background:linear-gradient(135deg,#00e676,#00c853)}.shape-audio-option.wrong-answer{border-color:#ff5252;background:linear-gradient(135deg,#ff8a80,#ff5252)}.shape-visual-option{width:80px;height:80px;border-radius:16px;border:3px solid #ddd;background:linear-gradient(135deg,#f5f7fa,#e4e8eb);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.shape-visual-option:hover{transform:scale(1.1);box-shadow:0 6px 20px #0003;border-color:#6c5ce7}.shape-visual-option.selected{border-color:#6c5ce7;border-width:4px;box-shadow:0 0 15px #6c5ce780}.shape-visual-option.correct-answer{border-color:#00c853;background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.shape-visual-option.wrong-answer{border-color:#ff5252;background:linear-gradient(135deg,#ffebee,#ffcdd2)}.shapes-reference{background:#fffffff2;border-radius:16px;padding:1.5rem;box-shadow:0 4px 15px #0000001a}.shapes-reference-title{color:#6c5ce7;font-size:1.2rem;margin-bottom:1rem;text-align:center}#shapes-reference-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}.shape-reference-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.shape-reference-visual{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#e4e8eb);border-radius:12px;border:2px solid #ddd;overflow:hidden;position:relative}.shape-reference-label{font-size:.85rem;color:#333;font-weight:600;text-align:center}.shape{display:flex;align-items:center;justify-content:center;pointer-events:none}.shape:before,.shape:after{pointer-events:none}.shape-image{width:70px;height:70px;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.shape-image.small{width:45px;height:45px}.shapes-prompt-shape .shape-image{width:80px;height:80px}.shapes-prompt-shape.large .shape-image{width:120px;height:120px}.one-by-one-prompt .shape-image{width:130px;height:130px}.shape-reference-visual .shape-image{width:50px;height:50px}.shape-circle{width:70px;height:70px;background:#7ed6df;border-radius:50%}.shape-circle.small{width:40px;height:40px}.shape-ellipse{width:80px;height:55px;background:#f5cd79;border-radius:50%}.shape-ellipse.small{width:46px;height:32px}.shape-square{width:60px;height:60px;background:#a29bfe}.shape-square.small{width:36px;height:36px}.shape-rectangle{width:80px;height:50px;background:#fd79a8}.shape-rectangle.small{width:46px;height:28px}.shape-isosceles-triangle{width:0;height:0;border-left:35px solid transparent;border-right:35px solid transparent;border-bottom:65px solid #f9ca24;background:transparent}.shape-isosceles-triangle.small{border-left-width:20px;border-right-width:20px;border-bottom-width:38px}.shape-right-triangle{width:0;height:0;border-left:0;border-right:65px solid transparent;border-bottom:65px solid #b8e0f6;background:transparent}.shape-right-triangle.small{border-right-width:38px;border-bottom-width:38px}.shape-trapezoid{width:70px;height:45px;background:#9fd4f1;clip-path:polygon(20% 0%,80% 0%,100% 100%,0% 100%)}.shape-trapezoid.small{width:42px;height:28px}.shape-parallelogram{width:75px;height:45px;background:#f7dc6f;clip-path:polygon(20% 0%,100% 0%,80% 100%,0% 100%)}.shape-parallelogram.small{width:44px;height:28px}.shape-rhombus{width:55px;height:65px;background:#a8e6cf;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.shape-rhombus.small{width:32px;height:38px}.shape-kite{width:50px;height:70px;background:gray;clip-path:polygon(50% 0%,100% 30%,50% 100%,0% 30%)}.shape-kite.small{width:30px;height:42px}.shape-pentagon{width:65px;height:62px;background:#e74c3c;clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%)}.shape-pentagon.small{width:38px;height:36px}.shape-hexagon{width:70px;height:60px;background:#f7dc6f;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}.shape-hexagon.small{width:42px;height:36px}.shape-heptagon{width:68px;height:65px;background:#f39c12;clip-path:polygon(50% 0%,90% 20%,100% 60%,75% 100%,25% 100%,0% 60%,10% 20%)}.shape-heptagon.small{width:40px;height:38px}.shape-octagon{width:65px;height:65px;background:#5dade2;clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%)}.shape-octagon.small{width:38px;height:38px}.shape-nonagon{width:68px;height:68px;background:#f8b4d9;clip-path:polygon(50% 0%,83% 12%,100% 43%,94% 78%,68% 100%,32% 100%,6% 78%,0% 43%,17% 12%)}.shape-nonagon.small{width:40px;height:40px}.shape-decagon{width:70px;height:70px;background:#a8e6cf;clip-path:polygon(50% 0%,80% 10%,100% 35%,100% 70%,80% 90%,50% 100%,20% 90%,0% 70%,0% 35%,20% 10%)}.shape-decagon.small{width:42px;height:42px}.shape-sphere{width:65px;height:65px;border-radius:50%;background:radial-gradient(circle at 25% 25%,#fffc,#fff0 40%),radial-gradient(circle at 50% 50%,#7ec8e3,#3498db,#1a5276);box-shadow:inset -8px -8px 20px #0000004d,inset 4px 4px 10px #fff6,4px 4px 15px #0000004d}.shape-sphere.small{width:38px;height:38px;box-shadow:inset -4px -4px 10px #0000004d,inset 2px 2px 5px #fff6,2px 2px 8px #0000004d}.shape-cube{width:52px;height:60px;position:relative;transform:translate(-5px)}.shape-cube:before{content:"";position:absolute;width:35px;height:35px;left:0;top:14px;background:linear-gradient(135deg,#6ede8a,#4ade80,#22c55e);transform:skewY(-30deg);box-shadow:inset -2px -2px 10px #00000026,inset 3px 3px 10px #ffffff4d}.shape-cube:after{content:"";position:absolute;width:20px;height:35px;left:35px;top:4px;background:linear-gradient(135deg,#22c55e,#16a34a,#15803d);transform:skewY(30deg);box-shadow:inset -4px 0 12px #00000040}.shape-cube.small{width:32px;height:36px;transform:translate(-3px)}.shape-cube.small:before{width:21px;height:21px;top:8px}.shape-cube.small:after{width:12px;height:21px;left:21px;top:2px}.shape-cylinder{width:50px;height:55px;position:relative}.shape-cylinder:before{content:"";position:absolute;top:0;left:0;width:50px;height:14px;background:radial-gradient(ellipse 50% 100% at 50% 100%,transparent 40%,rgba(255,255,255,.5) 100%),radial-gradient(ellipse at 50% 50%,#fce7f3,#f9a8d4 30%,#ec4899 80%,#be185d);border-radius:50%;z-index:2;box-shadow:0 2px 4px #0000001a}.shape-cylinder:after{content:"";position:absolute;top:7px;left:0;width:50px;height:48px;background:linear-gradient(90deg,#be185d,#db2777 15%,#f472b6 35%,#fbcfe8,#f472b6 65%,#db2777 85%,#be185d);border-radius:0 0 50% 50%/0 0 15px 15px;box-shadow:inset 5px 0 15px #ffffff4d,inset -5px 0 15px #0003}.shape-cylinder.small{width:30px;height:34px}.shape-cylinder.small:before{width:30px;height:9px}.shape-cylinder.small:after{top:4px;width:30px;height:30px}.shape-cone{width:56px;height:60px;position:relative}.shape-cone:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:28px solid transparent;border-right:28px solid transparent;border-bottom:50px solid #fbbf24;filter:drop-shadow(2px 0 0 #d97706)}.shape-cone:after{content:"";position:absolute;bottom:0;left:0;width:56px;height:14px;background:radial-gradient(ellipse at 50% 30%,#fde68a,#fbbf24 40%,#d97706);border-radius:50%;box-shadow:inset 0 -3px 8px #0003}.shape-cone.small{width:34px;height:36px}.shape-cone.small:before{border-left-width:17px;border-right-width:17px;border-bottom-width:30px}.shape-cone.small:after{width:34px;height:9px}.shape-triangular-pyramid{width:56px;height:52px;position:relative}.shape-triangular-pyramid:before{content:"";position:absolute;top:0;left:0;width:0;height:0;border-left:28px solid transparent;border-right:28px solid #f87171;border-bottom:52px solid #fca5a5}.shape-triangular-pyramid:after{content:"";position:absolute;top:0;left:28px;width:0;height:0;border-left:28px solid transparent;border-right:0 solid transparent;border-bottom:52px solid #ef4444}.shape-triangular-pyramid.small{width:34px;height:32px}.shape-triangular-pyramid.small:before{border-left-width:17px;border-right-width:17px;border-bottom-width:32px}.shape-triangular-pyramid.small:after{left:17px;border-left-width:17px;border-bottom-width:32px}.shape-octahedron{width:50px;height:64px;position:relative}.shape-octahedron:before{content:"";position:absolute;top:0;left:0;width:50px;height:32px;background:linear-gradient(135deg,#c4b5fd,#a78bfa 40%,#8b5cf6);clip-path:polygon(50% 0%,0% 100%,50% 75%,100% 100%);box-shadow:inset 2px 2px 10px #ffffff4d}.shape-octahedron:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:32px;background:linear-gradient(180deg,#7c3aed,#6d28d9,#5b21b6);clip-path:polygon(0% 0%,50% 25%,100% 0%,50% 100%);box-shadow:inset -2px -2px 10px #0000004d}.shape-octahedron.small{width:30px;height:40px}.shape-octahedron.small:before{height:20px}.shape-octahedron.small:after{height:20px}#shapes-reference-grid{grid-template-columns:repeat(6,1fr)}@media(max-width:1200px){#shapes-reference-grid{grid-template-columns:repeat(6,1fr)}}@media(max-width:1024px){#shapes-reference-grid{grid-template-columns:repeat(6,1fr)}}@media(max-width:768px){.shapes-question-row{flex-direction:column;text-align:center}.shape-options{justify-content:center}#shapes-reference-grid{grid-template-columns:repeat(6,1fr)}.shape-display,.shape-audio-prompt{width:100px;height:100px}.shape-audio-option,.shape-visual-option{width:70px;height:70px}}@media(max-width:600px){#shapes-reference-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:480px){#shapes-reference-grid{grid-template-columns:repeat(3,1fr)}.shape-reference-visual{width:50px;height:50px}.shape-reference-label{font-size:.7rem}}.agenda-modal{max-width:700px}.agenda-game-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.agenda-order-list{min-height:100px;max-height:250px;overflow-y:auto;border:2px dashed #dfe6e9;border-radius:10px;padding:.75rem;background:#f8f9fa;transition:all .2s ease}.agenda-order-list::-webkit-scrollbar{width:6px}.agenda-order-list::-webkit-scrollbar-thumb{background:#dfe6e9;border-radius:3px}.agenda-order-list.drag-over{border-color:#6c5ce7;background:#6c5ce70d}.agenda-empty-message{color:#b2bec3;text-align:center;padding:1.5rem;font-size:.9rem}.agenda-order-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:.5rem;background:#fff;border:2px solid #dfe6e9;border-radius:8px;cursor:grab;transition:all .2s ease;-webkit-user-select:none;user-select:none}.agenda-order-item:last-child{margin-bottom:0}.agenda-order-item:hover{border-color:#6c5ce7;box-shadow:0 2px 8px #6c5ce726}.agenda-order-item:active{cursor:grabbing}.agenda-order-item.dragging{opacity:.5;border-color:#6c5ce7;background:#6c5ce71a}.agenda-order-item.drag-over{border-color:#00b894;transform:translateY(2px)}.agenda-item-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff;border-radius:50%;font-size:.8rem;font-weight:700;flex-shrink:0}.agenda-item-name{flex:1;font-weight:500;color:#2d3436}.agenda-item-handle{color:#b2bec3;font-size:1.2rem;flex-shrink:0}.agenda-item-remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#fee2e2;color:#dc3545;border:none;border-radius:50%;cursor:pointer;font-size:1rem;flex-shrink:0;transition:all .2s ease}.agenda-item-remove:hover{background:#dc3545;color:#fff}.agenda-modal-footer{display:flex;gap:1rem;justify-content:flex-end}.agenda-modal-footer .cancel-btn{background:#dfe6e9;color:#636e72}.agenda-modal-footer .cancel-btn:hover{background:#b2bec3}.agenda-modal-header{display:flex;align-items:center;justify-content:space-between}.agenda-tabs{display:flex;gap:.25rem}.agenda-tab{background:none;border:none;padding:.5rem 1rem;font-size:1rem;font-weight:600;color:#636e72;cursor:pointer;border-bottom:3px solid transparent;transition:color .2s,border-color .2s}.agenda-tab:hover{color:#6c5ce7}.agenda-tab.active{color:#6c5ce7;border-bottom-color:#6c5ce7}.agenda-tab-panel{display:none}.agenda-tab-panel.active{display:block}.agenda-history-body{max-height:450px;overflow-y:auto;padding:1rem}.agenda-history-card{border:1px solid #dfe6e9;border-radius:10px;margin-bottom:1rem;overflow:hidden}.agenda-history-card-date{font-weight:700;font-size:.95rem;padding:.75rem 1rem;background:#f8f9fa;border-bottom:1px solid #dfe6e9}.agenda-history-table{width:100%;border-collapse:collapse}.agenda-history-table th,.agenda-history-table td{text-align:left;padding:.5rem 1rem}.agenda-history-table th{font-weight:600;font-size:.85rem;color:#636e72;border-bottom:1px solid #eee}.agenda-history-table td{font-size:.9rem}.agenda-history-table tr:not(:last-child) td{border-bottom:1px solid #f0f0f0}.agenda-history-empty{text-align:center;color:#b2bec3;padding:3rem 1rem;font-size:1rem}.agenda-progress-bar{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#2d3436,#636e72);padding:.75rem 1.5rem;z-index:999;box-shadow:0 4px 15px #0000004d}.agenda-progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}#agenda-current-game{color:#fff;font-weight:700;font-size:.95rem}.agenda-exit-btn{padding:.4rem 1rem;font-size:.8rem;font-weight:700;font-family:inherit;border:none;border-radius:15px;background:#e84393;color:#fff;cursor:pointer;transition:all .2s ease}.agenda-exit-btn:hover{background:#fd79a8;transform:scale(1.05)}.agenda-progress-track{height:8px;background:#fff3;border-radius:4px;overflow:hidden}.agenda-progress-fill{height:100%;background:linear-gradient(90deg,#00b894,#00cec9,#81ecec);border-radius:4px;transition:width .5s ease;width:0%}body.agenda-active .action-button.reset-btn{display:none!important}body.agenda-active #app{padding-top:5rem}.next-game-btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:700;font-family:inherit;border:none;border-radius:25px;background:linear-gradient(135deg,#00b894,#00cec9);color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003;display:none}.next-game-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #0000004d}.next-game-btn.visible{display:inline-block;animation:pulseGlow 1.5s ease-in-out infinite}.try-again-btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:700;font-family:inherit;border:none;border-radius:25px;background:linear-gradient(135deg,#e17055,#d63031);color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003;display:none}.try-again-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #0000004d}.try-again-btn.visible{display:inline-block;animation:pulseGlow 1.5s ease-in-out infinite}.agenda-summary-next-btn{display:block!important;margin-top:1rem;background:linear-gradient(135deg,#00b894,#00cec9)!important;animation:pulseGlow 1.5s ease-in-out infinite}.agenda-history-panel{position:fixed;top:80px;right:1rem;width:280px;background:#fff;border-radius:15px;box-shadow:0 10px 40px #0003;z-index:998;overflow:hidden}.agenda-history-header{background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff;padding:.75rem 1rem}.agenda-history-header h3{margin:0;font-size:1rem}.agenda-history-list{max-height:300px;overflow-y:auto;padding:.75rem}.agenda-history-list::-webkit-scrollbar{width:6px}.agenda-history-list::-webkit-scrollbar-thumb{background:#dfe6e9;border-radius:3px}.agenda-history-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-bottom:.5rem;background:#f8f9fa;border-radius:8px;border-left:3px solid #dfe6e9}.agenda-history-item:last-child{margin-bottom:0}.agenda-history-item.completed{border-left-color:#00b894}.agenda-history-item.current{border-left-color:#6c5ce7;background:#6c5ce71a}.agenda-history-item.pending{opacity:.5}.agenda-history-item-number{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#dfe6e9;color:#636e72;border-radius:50%;font-size:.7rem;font-weight:700;flex-shrink:0}.agenda-history-item.completed .agenda-history-item-number{background:#00b894;color:#fff}.agenda-history-item.current .agenda-history-item-number{background:#6c5ce7;color:#fff}.agenda-history-item-name{flex:1;font-size:.85rem;color:#2d3436;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-history-item-score{font-size:.8rem;font-weight:700;color:#636e72}.agenda-history-item-stars{display:flex;gap:1px}.agenda-history-item-stars .star{font-size:.7rem}.agenda-history-total{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f8f9fa;border-top:1px solid #dfe6e9;font-weight:700;font-size:.9rem}.agenda-history-total span:first-child{color:#636e72}#agenda-total-score{color:#2d3436}#agenda-total-stars{margin-left:auto}#agenda-total-stars .star{font-size:.9rem}.agenda-finish-modal{max-width:450px}.agenda-finish-header{background:linear-gradient(135deg,#00b894,#00cec9);border-bottom:none}.agenda-finish-header h3{color:#fff;text-align:center;width:100%;font-size:1.5rem}.agenda-finish-body{padding:1.5rem}.agenda-finish-message{text-align:center;font-size:1.2rem;color:#2d3436;margin-bottom:1.5rem;font-weight:700}.agenda-finish-list{max-height:300px;overflow-y:auto;margin-bottom:1.5rem}.agenda-finish-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:.5rem;background:#f8f9fa;border-radius:10px;border-left:4px solid #00b894}.agenda-finish-item:last-child{margin-bottom:0}.agenda-finish-item-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#00b894,#00cec9);color:#fff;border-radius:50%;font-size:.85rem;font-weight:700;flex-shrink:0}.agenda-finish-item-name{flex:1;font-weight:500;color:#2d3436}.agenda-finish-item-score{font-size:.95rem;font-weight:700;color:#636e72}.agenda-finish-item-stars{display:flex;gap:2px}.agenda-finish-item-stars .star{font-size:.9rem;color:#dfe6e9}.agenda-finish-item-stars .star.filled{color:#f1c40f}.agenda-finish-total{background:linear-gradient(135deg,#6c5ce7,#a29bfe);border-radius:12px;padding:1rem 1.5rem;text-align:center}.agenda-finish-total-label{color:#fffc;font-size:.9rem;margin-bottom:.5rem}.agenda-finish-total-score{display:flex;align-items:center;justify-content:center;gap:1rem}#agenda-finish-score{font-size:2rem;font-weight:700;color:#fff}#agenda-finish-stars .star{font-size:1.5rem;color:#fff6}#agenda-finish-stars .star.filled{color:#f1c40f}.agenda-finish-modal .modal-footer{justify-content:center;padding:1rem 1.5rem 1.5rem}.agenda-finish-modal .modal-footer .check-btn{padding:.75rem 3rem;font-size:1.1rem}body.agenda-active .screen{margin-right:300px}@keyframes pulseGlow{0%,to{box-shadow:0 4px 15px #00b89466}50%{box-shadow:0 4px 25px #00b894b3}}@media(max-width:900px){.agenda-history-panel{width:240px}body.agenda-active .screen{margin-right:260px}}@media(max-width:700px){.agenda-history-panel{position:fixed;inset:auto 0 0;width:100%;max-height:40vh;border-radius:15px 15px 0 0}.agenda-history-list{max-height:25vh}body.agenda-active .screen{margin-right:0;padding-bottom:45vh}}@media(max-width:480px){.agenda-modal{max-width:95vw}.agenda-game-list{grid-template-columns:1fr}.agenda-order-list{max-height:180px}.agenda-progress-bar{padding:.5rem 1rem}#agenda-current-game{font-size:.85rem}.agenda-exit-btn{padding:.3rem .75rem;font-size:.75rem}.agenda-history-panel{max-height:35vh}.agenda-history-list{max-height:20vh}body.agenda-active .screen{padding-bottom:40vh}}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));padding-bottom:max(0px,env(safe-area-inset-bottom))}.back-button{left:max(1rem,calc(env(safe-area-inset-left) + 1rem))}.home-buttons{padding-top:max(.85rem,env(safe-area-inset-top))}}@media(max-width:1024px){#app{padding:1.5rem 1rem}.category-grid{padding:1rem 1.5rem}.app-grid{gap:1.75rem}.modal{max-width:450px;margin:1rem}}@media(max-width:768px){#app{padding:1rem .75rem}#home-screen{padding-top:3.5rem}.category-grid{padding-top:.15rem}.home-buttons{padding:.75rem 1rem;padding-top:max(.75rem,env(safe-area-inset-top))}.home-buttons-right{gap:.5rem}.home-buttons button{padding:.6rem 1rem;font-size:.8rem}.home-title{position:static;transform:none;font-size:1rem;margin-right:auto}.back-button{top:.75rem;left:.75rem;padding:.5rem .9rem;font-size:.85rem;min-height:44px;display:flex;align-items:center}.modal{width:calc(100% - 2rem);max-width:none;margin:1rem;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem)}.modal-body{max-height:60vh;max-height:60dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.action-button{min-height:44px;padding:.6rem 1rem}.missing-buttons,.letter-recog-buttons,.math-buttons,.phonics-match-buttons,.letter-phonics-match-buttons,.spelling-buttons,.spellmatch-buttons,.numberfill-buttons,.shapes-buttons,.numberaudio-buttons{flex-wrap:wrap;justify-content:center;gap:.5rem}.app-title{font-size:clamp(1.3rem,4.5vw,2rem);margin-bottom:.75rem}.app-subtitle{font-size:clamp(.85rem,3vw,1rem);margin-bottom:.75rem;padding:0 .5rem}.phonics-keyboard{margin-top:1rem;padding:.75rem}.phonics-keyboard-title{font-size:.9rem;margin-bottom:.5rem}}@media(max-width:480px){#app{padding:3.5rem .5rem .75rem}#home-screen{padding-top:1.35rem}.category-grid{padding-top:.1rem}.home-buttons{padding:.6rem .75rem;padding-top:max(.6rem,env(safe-area-inset-top))}.home-buttons-right{gap:.35rem}.home-buttons button{padding:.5rem .7rem;font-size:.7rem}.home-title{font-size:.85rem}.back-button{top:.5rem;left:.5rem;padding:.4rem .75rem;font-size:.8rem;border-radius:10px}.app-title{font-size:clamp(1.1rem,5vw,1.5rem);margin-bottom:.5rem}.app-subtitle{font-size:clamp(.75rem,3vw,.9rem);margin-bottom:.5rem}.modal{width:calc(100% - 1rem);margin:.5rem;border-radius:16px}.modal-header{padding:.75rem 1rem}.modal-header h3{font-size:1.1rem}.modal-body,.modal-footer{padding:.75rem 1rem}.setting-group{margin-bottom:.75rem}.setting-label{font-size:.9rem;margin-bottom:.4rem}.setting-select,.setting-input{padding:.6rem;font-size:.95rem}.radio-label,.checkbox-label{padding:.5rem;font-size:.9rem}.setting-description{font-size:.75rem}.phonics-key{padding:.4rem;font-size:.75rem;min-width:28px;min-height:32px}}@media(max-width:360px){#app{padding:3rem .25rem .5rem}.category-grid{padding:.5rem;gap:.75rem}.category-section{padding:.75rem;border-radius:14px}.category-header{margin-bottom:.5rem;padding-bottom:.25rem}.category-icon{font-size:1.2rem}.category-title{font-size:1rem}.app-grid{gap:.75rem}.app-icon-image{width:min(70px,100%);height:auto;aspect-ratio:1;border-radius:18px;font-size:1.5rem}.app-label{font-size:.8rem}.home-buttons{padding:.5rem}.home-buttons-right{gap:.25rem;flex-wrap:wrap}.home-buttons button{padding:.35rem .5rem;font-size:.7rem}.home-title{font-size:.75rem}.back-button{padding:.35rem .6rem;font-size:.75rem}#alphabet-grid{grid-template-columns:repeat(auto-fit,minmax(50px,1fr));gap:.4rem}#numbers-grid{grid-template-columns:repeat(5,minmax(35px,45px));gap:.2rem}.number-button{font-size:clamp(.7rem,3vw,.9rem)}.modal{margin:.25rem;border-radius:12px}.modal-header{padding:.6rem .75rem}.modal-header h3{font-size:1rem}.modal-close{width:28px;height:28px;font-size:1.2rem}.missing-buttons,.letter-recog-buttons,.math-buttons,.phonics-match-buttons,.letter-phonics-match-buttons,.spelling-buttons,.spellmatch-buttons,.numberfill-buttons,.shapes-buttons,.numberaudio-buttons{flex-direction:column;align-items:center}.action-button{width:100%;max-width:200px}}@media(max-height:500px)and (orientation:landscape){#app{padding:3rem .5rem .5rem}h1{font-size:clamp(1.5rem,5vw,2rem);margin-bottom:.5rem}.app-title{font-size:clamp(1rem,4vw,1.5rem);margin-bottom:.5rem}.app-subtitle{margin-bottom:.5rem}.category-grid{flex-direction:row;flex-wrap:wrap;padding:.5rem;gap:.75rem}.category-section{flex:1;min-width:250px;padding:.5rem .75rem .75rem}.category-header{margin-bottom:.5rem;padding-bottom:.25rem}.app-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.app-icon-image{width:60px;height:60px;font-size:1.25rem}.app-label{font-size:.75rem}.home-buttons{position:fixed;inset:0 0 auto;flex-direction:row;justify-content:center;padding:.4rem .75rem;background:#6660b4;box-shadow:0 2px 10px #00000026}.home-buttons-right{gap:.35rem}.home-buttons button{padding:.35rem .6rem;font-size:.7rem}.home-title{font-size:.85rem}#home-screen{padding-top:3rem}.modal{max-height:90vh;max-height:90dvh}.modal-body{max-height:50vh;max-height:50dvh}}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.letter-button,.number-button,.app-icon-image{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.monstertyping-content{display:flex;justify-content:center;max-width:1200px;margin:0 auto}#monstertyping-arena{flex:1;min-width:0}.mt-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:.5rem;padding:.5rem 1rem;background:#ffffffe6;border-radius:12px;font-size:1rem}.mt-stat strong{color:#667eea}.mt-battlefield{position:relative;width:100%;height:350px;background:linear-gradient(180deg,#1a1a2e,#16213e 40%,#0f3460,#1a1a2e);border-radius:16px;overflow:hidden;border:3px solid rgba(102,126,234,.4);margin-bottom:.5rem}.mt-castle{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:5rem;z-index:2;filter:drop-shadow(0 0 12px rgba(255,200,0,.6))}.mt-castle-shake{animation:mtCastleShake .4s ease-out}@keyframes mtCastleShake{0%,to{transform:translateY(-50%) translate(0)}25%{transform:translateY(-50%) translate(-8px) rotate(-3deg)}50%{transform:translateY(-50%) translate(6px) rotate(2deg)}75%{transform:translateY(-50%) translate(-4px) rotate(-1deg)}}.mt-ready-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffffffb3;font-size:1.2rem;font-weight:700}.mt-monster{position:absolute;display:flex;flex-direction:column;align-items:center;z-index:3;transition:none}.mt-monster-word{background:#000000d9;color:#fff;padding:4px 10px;border-radius:8px;font-size:1.1rem;font-weight:700;letter-spacing:2px;margin-bottom:2px;white-space:nowrap;border:2px solid rgba(255,255,255,.2)}.mt-char{transition:color .1s}.mt-char-typed{color:#00b894}.mt-char-next{color:#fdcb6e;text-decoration:underline}.mt-monster-char{font-size:2.2rem;filter:drop-shadow(0 0 6px rgba(255,0,0,.4));animation:mtMonsterBob 1.5s ease-in-out infinite}@keyframes mtMonsterBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.mt-monster-targeted{filter:drop-shadow(0 0 12px rgba(253,203,110,.8))}.mt-monster-targeted .mt-monster-word{border-color:#fdcb6e}.mt-monster-defeated{animation:mtDefeat .4s ease-out forwards;pointer-events:none}@keyframes mtDefeat{0%{transform:scale(1);opacity:1}50%{transform:scale(1.4) rotate(15deg);opacity:.8}to{transform:scale(0) rotate(30deg);opacity:0}}.mt-monster-escaped{animation:mtEscape .4s ease-in forwards;pointer-events:none}@keyframes mtEscape{0%{opacity:1}to{opacity:0;transform:translate(-30px)}}.mt-particle{position:absolute;width:8px;height:8px;border-radius:50%;background:#fdcb6e;pointer-events:none;animation:mtParticle .6s ease-out forwards}@keyframes mtParticle{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}.mt-score-popup{position:absolute;color:#00b894;font-size:1.5rem;font-weight:700;pointer-events:none;animation:mtScorePopup .8s ease-out forwards;z-index:10}@keyframes mtScorePopup{0%{transform:translateY(0);opacity:1}to{transform:translateY(-40px);opacity:0}}.mt-input-hidden{position:absolute;opacity:0;pointer-events:none;width:0;height:0;overflow:hidden}.mt-battlefield.mt-active{cursor:text}.mt-input-error-flash{animation:mtBattlefieldFlash .2s ease-out}@keyframes mtBattlefieldFlash{0%,to{box-shadow:inset 0 0 0 0 transparent}50%{box-shadow:inset 0 0 30px #ff52524d}}.mt-results-overlay{position:absolute;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:20;border-radius:13px;animation:fadeIn .3s ease-out}.mt-results{text-align:center;padding:2rem;background:#fffffff2;border-radius:16px;min-width:250px}.mt-results-win{border:4px solid #00b894}.mt-results-lose{border:4px solid #ff5252}.mt-results-icon{font-size:3rem;margin-bottom:.5rem}.mt-results-title{font-size:1.8rem;font-weight:700;margin-bottom:1rem}.mt-results-stats{font-size:1.1rem;margin-bottom:.5rem}.mt-results-stat{margin:.25rem 0}.mt-results-stars{font-size:2rem;color:#f9ca24;margin:.5rem 0}.mt-play-again{margin-top:.5rem}@media(max-width:768px){.mt-battlefield{height:280px}.mt-monster-char{font-size:1.6rem}.mt-monster-word{font-size:.9rem}.mt-castle{font-size:4rem}}.app-icon[data-app=saythenumber] .app-icon-image{background:linear-gradient(135deg,#00b894,#55efc4);font-size:2rem}.saythenumber-buttons{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;justify-content:center}.saythenumber-content{display:flex;justify-content:center;align-items:flex-start}#saythenumber-grid{flex:1;display:flex;flex-direction:column;gap:1.5rem}.saythenumber-number-display{font-size:8rem;font-weight:700;color:#fff;text-align:center;text-shadow:4px 4px 12px rgba(0,0,0,.3);margin:1rem 0;line-height:1}.mic-button{width:100px;height:100px;border-radius:50%;border:none;background:linear-gradient(135deg,#00b894,#55efc4);color:#fff;font-size:2.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #00b89466;display:block;margin:1rem auto}.mic-button:hover{transform:scale(1.1);box-shadow:0 6px 20px #00b89480}.mic-button:active{transform:scale(.95)}.mic-button.recording{background:linear-gradient(135deg,#ff7675,#d63031);box-shadow:0 0 #d6303180;animation:micPulse 1.2s ease-in-out infinite}@keyframes micPulse{0%{box-shadow:0 0 #d6303180}70%{box-shadow:0 0 0 20px #d6303100}to{box-shadow:0 0 #d6303100}}.saythenumber-waveform{display:block;margin:.5rem auto;border-radius:8px;background:#00000040;max-width:100%}.saythenumber-status{text-align:center;color:#2d3436;font-size:1.3rem;font-weight:700;margin-bottom:.5rem}.saythenumber-transcript{text-align:center;color:#636e72;font-size:1.1rem;min-height:1.5rem;font-style:italic}@media(max-width:768px){.saythenumber-number-display{font-size:5rem}.mic-button{width:80px;height:80px;font-size:2rem}}.app-icon[data-app=saytheword] .app-icon-image{background:linear-gradient(135deg,#6c5ce7,#a29bfe);font-size:2rem}.saytheword-buttons{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;justify-content:center}.saytheword-content{display:flex;justify-content:center;align-items:flex-start}#saytheword-grid{flex:1;display:flex;flex-direction:column;gap:1.5rem}.saytheword-word-display{font-size:6rem;font-weight:700;color:#fff;text-align:center;text-shadow:4px 4px 12px rgba(0,0,0,.3);margin:1rem 0;line-height:1;letter-spacing:.15em}.saytheword-waveform{display:block;margin:.5rem auto;border-radius:8px;background:#00000040;max-width:100%}.saytheword-status{text-align:center;color:#2d3436;font-size:1.3rem;font-weight:700;margin-bottom:.5rem}.saytheword-transcript{text-align:center;color:#636e72;font-size:1.1rem;min-height:1.5rem;font-style:italic}@media(max-width:768px){.saytheword-word-display{font-size:4rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}body{animation:none;background-size:100% 100%}}.visualization-container{width:100%;max-width:600px;margin:1.5rem auto 0;border-radius:20px;overflow:hidden;box-shadow:0 25px 80px #00000080,0 0 0 1px #ffffff26,0 0 60px #6496ff1a,inset 0 1px #fff3;perspective:1200px;position:relative}.visualization-container:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,#00c8ff4d,#ff64c833,#64ffc84d);border-radius:22px;z-index:-1;animation:frameGlow 4s ease-in-out infinite}@keyframes frameGlow{0%,to{opacity:.5;filter:blur(8px)}50%{opacity:.8;filter:blur(12px)}}.viz-arena{position:relative;padding:1rem;min-height:320px;transform-style:preserve-3d}.viz-arena:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;background-image:radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 30% 60%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 50% 30%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 70% 70%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 90% 40%,rgba(255,255,255,.4),transparent),radial-gradient(2px 2px at 15% 80%,rgba(255,255,255,.2),transparent),radial-gradient(2px 2px at 85% 15%,rgba(255,255,255,.2),transparent);animation:ambientFloat 20s linear infinite}@keyframes ambientFloat{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-20px) rotate(5deg)}}.viz-scanlines{position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none;z-index:100}.screen-shake{animation:screenShake .3s cubic-bezier(.36,.07,.19,.97)}@keyframes screenShake{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-8px,-4px) rotate(-1deg)}20%{transform:translate(8px,4px) rotate(1deg)}30%{transform:translate(-6px,2px) rotate(-.5deg)}40%{transform:translate(6px,-2px) rotate(.5deg)}50%{transform:translate(-4px,4px) rotate(-.5deg)}60%{transform:translate(4px,-4px) rotate(.5deg)}70%{transform:translate(-2px,2px) rotate(0)}80%{transform:translate(2px,-2px) rotate(0)}90%{transform:translate(-1px,1px) rotate(0)}}.viz-health-bars{display:flex;justify-content:space-between;align-items:stretch;gap:.75rem;margin-bottom:1rem;padding:.85rem;background:linear-gradient(135deg,#0009,#14142880,#0009);border-radius:14px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff26,inset 0 -1px #0000004d;position:relative;overflow:hidden}.viz-health-bars:before,.viz-health-bars:after{content:"";position:absolute;width:30px;height:30px;border:2px solid rgba(255,255,255,.2);pointer-events:none}.viz-health-bars:before{top:4px;left:4px;border-right:none;border-bottom:none;border-radius:6px 0 0}.viz-health-bars:after{bottom:4px;right:4px;border-left:none;border-top:none;border-radius:0 0 6px}.viz-health-bar{flex:1;position:relative}.viz-health-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.viz-health-label{font-size:.7rem;font-weight:800;color:#fffffff2;text-transform:uppercase;letter-spacing:1px;text-shadow:0 2px 4px rgba(0,0,0,.8),0 0 10px rgba(255,255,255,.2)}.viz-health-text{font-size:.8rem;font-weight:800;font-family:Courier New,monospace;text-shadow:0 0 15px currentColor,0 0 30px currentColor;animation:healthTextPulse 2s ease-in-out infinite}@keyframes healthTextPulse{0%,to{opacity:1}50%{opacity:.8}}.player-health .viz-health-text{color:#0f8;text-shadow:0 0 15px #00ff88,0 0 30px rgba(0,255,136,.5)}.enemy-health .viz-health-text{color:#f46;text-shadow:0 0 15px #ff4466,0 0 30px rgba(255,68,102,.5)}.viz-health-track{height:18px;background:linear-gradient(180deg,#000c,#14141e99,#000c);border-radius:9px;overflow:hidden;position:relative;border:2px solid rgba(255,255,255,.1);box-shadow:inset 0 3px 8px #0009,0 2px 4px #0000004d}.viz-health-track:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent);pointer-events:none}.viz-health-fill{height:100%;width:100%;border-radius:6px;transition:width .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.player-health-fill{background:linear-gradient(180deg,#0f9,#0d7 30%,#0c6 70%,#0a5);box-shadow:0 0 25px #0f89,0 0 50px #00ff884d,inset 0 -3px 6px #0000004d,inset 0 2px 4px #fff6}.enemy-health-fill{background:linear-gradient(180deg,#f57,#e46 30%,#d35 70%,#c24);box-shadow:0 0 25px #f469,0 0 50px #ff44664d,inset 0 -3px 6px #0000004d,inset 0 2px 4px #fff6}.viz-health-fill:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:healthShine 2s infinite}@keyframes healthShine{0%{left:-100%}50%,to{left:100%}}.viz-health-fill.warning{background:linear-gradient(90deg,#c80,#fa0,#c80);box-shadow:0 0 20px #ffaa0080;animation:warningPulse .8s infinite}.viz-health-fill.critical{background:linear-gradient(90deg,#c00,red,#c00);box-shadow:0 0 25px #ff0000b3;animation:criticalPulse .4s infinite}@keyframes warningPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes criticalPulse{0%,to{opacity:1;filter:brightness(1)}50%{opacity:.6;filter:brightness(1.3)}}.viz-vs{font-size:1.6rem;font-weight:900;color:gold;text-shadow:0 0 20px rgba(255,215,0,.9),0 0 40px rgba(255,215,0,.5),0 0 60px rgba(255,150,0,.3),0 2px 4px rgba(0,0,0,.8);padding:0 .75rem;animation:vsPulse 1.5s ease-in-out infinite;position:relative}.viz-vs:before{content:"⚔";position:absolute;top:-8px;left:50%;transform:translate(-50%);font-size:.8rem;opacity:.7;animation:swordSpin 3s linear infinite}@keyframes swordSpin{0%{transform:translate(-50%) rotate(0)}to{transform:translate(-50%) rotate(360deg)}}@keyframes vsPulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.15);filter:brightness(1.3)}}.viz-battle-ground{display:flex;justify-content:space-between;align-items:flex-end;padding:2rem 1.5rem;min-height:200px;position:relative;perspective:800px}.viz-battle-effects{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:15}.viz-character{position:relative;transition:transform .2s ease;z-index:10;filter:drop-shadow(0 5px 15px rgba(0,0,0,.4))}.viz-platform{position:absolute;bottom:0;width:120px;height:25px;border-radius:50%}.player-platform{left:25px;background:radial-gradient(ellipse,rgba(0,255,136,.5) 0%,rgba(0,255,136,.2) 40%,transparent 70%);box-shadow:0 0 30px #0f86,0 0 60px #0f83;animation:platformPulsePlayer 2s ease-in-out infinite}.enemy-platform{right:25px;background:radial-gradient(ellipse,rgba(255,68,102,.5) 0%,rgba(255,68,102,.2) 40%,transparent 70%);box-shadow:0 0 30px #f466,0 0 60px #f463;animation:platformPulseEnemy 2s ease-in-out infinite}@keyframes platformPulsePlayer{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}}@keyframes platformPulseEnemy{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}}.viz-shadow{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:70px;height:18px;background:radial-gradient(ellipse,rgba(0,0,0,.5) 0%,rgba(0,0,0,.3) 40%,transparent 70%);border-radius:50%;animation:shadowPulse 2s ease-in-out infinite}@keyframes shadowPulse{0%,to{transform:translate(-50%) scale(1);opacity:.8}50%{transform:translate(-50%) scale(.9);opacity:.6}}.viz-aura{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140px;height:140px;border-radius:50%;opacity:0;pointer-events:none;transition:opacity .3s}.player-aura{background:radial-gradient(circle,rgba(0,255,136,.4) 0%,rgba(0,255,136,.2) 30%,transparent 70%);box-shadow:0 0 40px #0f86,inset 0 0 30px #00ff884d}.enemy-aura{background:radial-gradient(circle,rgba(255,68,102,.4) 0%,rgba(255,68,102,.2) 30%,transparent 70%);box-shadow:0 0 40px #f466,inset 0 0 30px #ff44664d}.viz-player{animation:playerIdle 3s ease-in-out infinite}.viz-enemy{animation:enemyIdle 3s ease-in-out infinite;animation-delay:.5s}@keyframes playerIdle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes enemyIdle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.viz-character.charging .viz-aura{opacity:1;animation:auraCharge .3s ease}@keyframes auraCharge{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.viz-character.charging{animation:chargeUp .15s ease}@keyframes chargeUp{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1.05)}}.viz-player.attacking{animation:playerAttack .2s cubic-bezier(.4,0,.2,1)}.viz-enemy.attacking{animation:enemyAttack .2s cubic-bezier(.4,0,.2,1)}@keyframes playerAttack{0%{transform:translate(0) scale(1.05)}50%{transform:translate(60px) scale(1.1)}to{transform:translate(0) scale(1)}}@keyframes enemyAttack{0%{transform:translate(0) scale(1.05)}50%{transform:translate(-60px) scale(1.1)}to{transform:translate(0) scale(1)}}.viz-space-arena .viz-player.attacking{animation:spaceFirePlayer .25s cubic-bezier(.4,0,.2,1)}.viz-space-arena .viz-enemy.attacking{animation:spaceFireEnemy .25s cubic-bezier(.4,0,.2,1)}@keyframes spaceFirePlayer{0%{transform:translate(0) scale(1)}20%{transform:translate(-8px) scale(1.02)}40%{transform:translate(3px) scale(1.05);filter:brightness(1.3)}60%{transform:translate(-4px) scale(1.02)}to{transform:translate(0) scale(1);filter:brightness(1)}}@keyframes spaceFireEnemy{0%{transform:translate(0) scale(1)}20%{transform:translate(8px) scale(1.02)}40%{transform:translate(-3px) scale(1.05);filter:brightness(1.3)}60%{transform:translate(4px) scale(1.02)}to{transform:translate(0) scale(1);filter:brightness(1)}}.viz-character.hit{animation:hitRecoil .4s cubic-bezier(.36,.07,.19,.97)}@keyframes hitRecoil{0%{transform:translate(0);filter:brightness(1)}15%{transform:translate(-15px);filter:brightness(2) saturate(0)}30%{transform:translate(10px);filter:brightness(1.5)}45%{transform:translate(-8px);filter:brightness(1.2)}60%{transform:translate(5px);filter:brightness(1.1)}to{transform:translate(0);filter:brightness(1)}}.viz-character.hit-stagger{animation:hitStagger .5s cubic-bezier(.36,.07,.19,.97)}@keyframes hitStagger{0%{transform:translate(0) rotate(0)}20%{transform:translate(-25px) rotate(-8deg)}40%{transform:translate(-15px) rotate(5deg)}60%{transform:translate(-20px) rotate(-3deg)}80%{transform:translate(-5px) rotate(2deg)}to{transform:translate(0) rotate(0)}}.viz-character.hit-electrocute{animation:hitElectrocute .5s linear}@keyframes hitElectrocute{0%,to{transform:translate(0);filter:brightness(1) hue-rotate(0deg)}10%{transform:translate(-8px) translateY(-3px);filter:brightness(2.5) hue-rotate(180deg)}20%{transform:translate(6px) translateY(2px);filter:brightness(1.2) hue-rotate(90deg)}30%{transform:translate(-5px) translateY(-4px);filter:brightness(2.2) hue-rotate(200deg)}40%{transform:translate(7px) translateY(1px);filter:brightness(1.5) hue-rotate(120deg)}50%{transform:translate(-6px) translateY(-2px);filter:brightness(2.8) hue-rotate(220deg)}60%{transform:translate(4px) translateY(3px);filter:brightness(1.3) hue-rotate(80deg)}70%{transform:translate(-7px) translateY(-1px);filter:brightness(2) hue-rotate(180deg)}80%{transform:translate(5px) translateY(2px);filter:brightness(1.4) hue-rotate(100deg)}90%{transform:translate(-3px) translateY(-2px);filter:brightness(1.8) hue-rotate(150deg)}}.viz-character.hit-burn{animation:hitBurn .5s ease-out}@keyframes hitBurn{0%{transform:translate(0);filter:brightness(1) sepia(0)}15%{transform:translate(-10px);filter:brightness(2) sepia(1) saturate(3) hue-rotate(-20deg)}30%{transform:translate(5px);filter:brightness(1.8) sepia(.8) saturate(2.5)}50%{transform:translate(-8px);filter:brightness(1.5) sepia(.5) saturate(2)}70%{transform:translate(3px);filter:brightness(1.3) sepia(.3) saturate(1.5)}to{transform:translate(0);filter:brightness(1) sepia(0) saturate(1)}}.viz-character.hit-freeze{animation:hitFreeze .6s ease-out}@keyframes hitFreeze{0%{transform:translate(0) scale(1);filter:brightness(1) hue-rotate(0deg)}20%{transform:translate(-10px) scale(.98);filter:brightness(1.5) hue-rotate(180deg) saturate(1.5)}40%{transform:translate(-8px) scale(.97);filter:brightness(1.3) hue-rotate(190deg) saturate(1.8)}60%{transform:translate(-5px) scale(.98);filter:brightness(1.2) hue-rotate(185deg) saturate(1.5)}80%{transform:translate(-2px) scale(.99);filter:brightness(1.1) hue-rotate(180deg) saturate(1.2)}to{transform:translate(0) scale(1);filter:brightness(1) hue-rotate(0deg) saturate(1)}}.viz-character.hit-knockback{animation:hitKnockback .5s cubic-bezier(.25,.46,.45,.94)}@keyframes hitKnockback{0%{transform:translate(0) scale(1);filter:brightness(1)}30%{transform:translate(-50px) scale(.9);filter:brightness(2)}50%{transform:translate(-40px) scale(.95);filter:brightness(1.5)}70%{transform:translate(-20px) scale(.98);filter:brightness(1.2)}to{transform:translate(0) scale(1);filter:brightness(1)}}.viz-character.hit-spin{animation:hitSpin .5s ease-out}@keyframes hitSpin{0%{transform:translate(0) rotate(0);filter:brightness(1)}25%{transform:translate(-15px) rotate(-25deg);filter:brightness(1.8)}50%{transform:translate(-10px) rotate(-15deg);filter:brightness(1.4)}75%{transform:translate(-5px) rotate(-5deg);filter:brightness(1.2)}to{transform:translate(0) rotate(0);filter:brightness(1)}}.viz-character.hit-crumple{animation:hitCrumple .6s cubic-bezier(.36,.07,.19,.97)}@keyframes hitCrumple{0%{transform:translate(0) translateY(0) rotate(0);filter:brightness(1)}20%{transform:translate(-20px) translateY(-10px) rotate(-5deg);filter:brightness(2)}40%{transform:translate(-15px) translateY(5px) rotate(-8deg);filter:brightness(1.5)}60%{transform:translate(-10px) translateY(10px) rotate(-5deg);filter:brightness(1.3)}80%{transform:translate(-5px) translateY(5px) rotate(-2deg);filter:brightness(1.1)}to{transform:translate(0) translateY(0) rotate(0);filter:brightness(1)}}.viz-character.hit-bounce{animation:hitBounce .5s cubic-bezier(.36,.07,.19,.97)}@keyframes hitBounce{0%{transform:translateY(0) scale(1);filter:brightness(1)}20%{transform:translateY(-30px) scale(1.1);filter:brightness(2)}40%{transform:translateY(-10px) scale(1.05);filter:brightness(1.5)}60%{transform:translateY(10px) scale(.95);filter:brightness(1.3)}80%{transform:translateY(-5px) scale(1.02);filter:brightness(1.1)}to{transform:translateY(0) scale(1);filter:brightness(1)}}.viz-character.hit-shatter{animation:hitShatter .5s ease-out}@keyframes hitShatter{0%{transform:translate(0) scale(1);filter:brightness(1) contrast(1)}15%{transform:translate(-5px) scale(1.05);filter:brightness(2.5) contrast(1.5)}30%{transform:translate(8px) scale(.95);filter:brightness(1.8) contrast(1.3)}45%{transform:translate(-10px) scale(1.02);filter:brightness(1.5) contrast(1.2)}60%{transform:translate(6px) scale(.98);filter:brightness(1.3) contrast(1.1)}75%{transform:translate(-4px) scale(1.01);filter:brightness(1.15) contrast(1.05)}to{transform:translate(0) scale(1);filter:brightness(1) contrast(1)}}.viz-character.hit-dissolve{animation:hitDissolve .6s ease-out}@keyframes hitDissolve{0%{transform:translate(0);filter:brightness(1) blur(0);opacity:1}20%{transform:translate(-10px);filter:brightness(2) blur(2px);opacity:.6}40%{transform:translate(-5px);filter:brightness(1.5) blur(1px);opacity:.4}60%{transform:translate(-8px);filter:brightness(1.3) blur(.5px);opacity:.6}80%{transform:translate(-3px);filter:brightness(1.1) blur(0);opacity:.8}to{transform:translate(0);filter:brightness(1) blur(0);opacity:1}}.viz-projectile{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none;z-index:20}.player-projectile{left:80px;width:80px;height:20px;background:linear-gradient(90deg,rgba(0,255,200,.8) 0%,#00ffcc 50%,transparent 100%);border-radius:0 20px 20px 0;box-shadow:0 0 30px #00ffc8cc,0 0 60px #00ffc866;animation:projectileRight .3s ease-out forwards}.enemy-projectile{right:80px;width:80px;height:20px;background:linear-gradient(270deg,rgba(255,50,100,.8) 0%,#ff3366 50%,transparent 100%);border-radius:20px 0 0 20px;box-shadow:0 0 30px #ff3264cc,0 0 60px #ff326466;animation:projectileLeft .3s ease-out forwards}@keyframes projectileRight{0%{transform:translateY(-50%) scaleX(0);opacity:1}50%{transform:translateY(-50%) scaleX(1.5);opacity:1}to{transform:translateY(-50%) translate(200px) scaleX(.5);opacity:0}}@keyframes projectileLeft{0%{transform:translateY(-50%) scaleX(0);opacity:1}50%{transform:translateY(-50%) scaleX(1.5);opacity:1}to{transform:translateY(-50%) translate(-200px) scaleX(.5);opacity:0}}.viz-space-arena .player-projectile{left:100px;width:120px;height:8px;background:linear-gradient(90deg,rgba(0,255,255,1) 0%,rgba(0,255,200,1) 30%,rgba(100,255,255,.9) 60%,transparent 100%);border-radius:0 4px 4px 0;box-shadow:0 0 10px #0ff,0 0 20px #00ffffe6,0 0 40px #00ffc8b3,0 0 60px #00ffc866,inset 0 0 10px #ffffff80;animation:spaceLaserRight .35s ease-out forwards}.viz-space-arena .player-projectile:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:15px;height:15px;background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(0,255,255,.8) 50%,transparent 70%);border-radius:50%}.viz-space-arena .enemy-projectile{right:100px;width:120px;height:8px;background:linear-gradient(270deg,rgba(255,50,50,1) 0%,rgba(255,100,50,1) 30%,rgba(255,150,100,.9) 60%,transparent 100%);border-radius:4px 0 0 4px;box-shadow:0 0 10px #ff3232,0 0 20px #ff3232e6,0 0 40px #ff6432b3,0 0 60px #ff643266,inset 0 0 10px #ffffff80;animation:spaceLaserLeft .35s ease-out forwards}.viz-space-arena .enemy-projectile:before{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:15px;height:15px;background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(255,50,50,.8) 50%,transparent 70%);border-radius:50%}@keyframes spaceLaserRight{0%{transform:translateY(-50%) scaleX(0);opacity:1;filter:brightness(2)}30%{transform:translateY(-50%) scaleX(1.2);opacity:1;filter:brightness(1.5)}to{transform:translateY(-50%) translate(250px) scaleX(.8);opacity:0;filter:brightness(1)}}@keyframes spaceLaserLeft{0%{transform:translateY(-50%) scaleX(0);opacity:1;filter:brightness(2)}30%{transform:translateY(-50%) scaleX(1.2);opacity:1;filter:brightness(1.5)}to{transform:translateY(-50%) translate(-250px) scaleX(.8);opacity:0;filter:brightness(1)}}.viz-impact-explosion{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:30}.impact-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:3px solid rgba(255,255,255,.8);animation:impactRing .5s ease-out forwards}.impact-ring:nth-child(1){animation-delay:0s}.impact-ring:nth-child(2){animation-delay:.1s}.impact-ring:nth-child(3){animation-delay:.2s}@keyframes impactRing{0%{width:10px;height:10px;opacity:1;border-color:#fff}to{width:100px;height:100px;opacity:0;border-color:#ffc86400}}.viz-damage-number{position:absolute;top:0;left:50%;font-size:1.8rem;font-weight:900;color:#f33;text-shadow:0 0 10px #ff0000,0 2px 0 #990000,2px 2px 0 #660000;pointer-events:none;z-index:50;animation:damageFloat 1s ease-out forwards}@keyframes damageFloat{0%{transform:translate(calc(-50% + var(--offset-x, 0px))) translateY(0) scale(.5);opacity:0}20%{transform:translate(calc(-50% + var(--offset-x, 0px))) translateY(-20px) scale(1.2);opacity:1}to{transform:translate(calc(-50% + var(--offset-x, 0px))) translateY(-80px) scale(.8);opacity:0}}.viz-particles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:25}.viz-particle{position:absolute;width:8px;height:8px;border-radius:50%;animation:particleBurst .6s ease-out forwards;animation-delay:var(--delay, 0s)}.hit-particle{background:linear-gradient(135deg,#f60,#fc0);box-shadow:0 0 10px #ff9600cc}.explosion-particle{background:linear-gradient(135deg,#f30,#f60);box-shadow:0 0 15px #ff3200cc;width:12px;height:12px}.victory-particle{background:linear-gradient(135deg,gold,#ff0);box-shadow:0 0 10px #ffd700cc}@keyframes particleBurst{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--tx, 0px),var(--ty, 0px)) scale(0);opacity:0}}.viz-character.damage-light{filter:drop-shadow(0 0 5px rgba(255,100,0,.3))}.viz-character.damage-medium{filter:drop-shadow(0 0 8px rgba(255,80,0,.5))}.viz-character.damage-medium:after{content:"";position:absolute;top:20%;left:30%;width:20px;height:20px;background:radial-gradient(circle,rgba(255,100,0,.6) 0%,transparent 70%);animation:smokePuff 1s infinite}.viz-character.damage-heavy{filter:drop-shadow(0 0 12px rgba(255,50,0,.7));animation:damageShake .5s infinite}.viz-character.damage-heavy:after,.viz-character.damage-heavy:before{content:"";position:absolute;width:25px;height:25px;background:radial-gradient(circle,rgba(255,80,0,.7) 0%,transparent 70%);animation:smokePuff .8s infinite}.viz-character.damage-heavy:after{top:15%;left:25%}.viz-character.damage-heavy:before{top:40%;right:20%;animation-delay:.3s}.viz-character.damage-critical{filter:drop-shadow(0 0 15px rgba(255,0,0,.8)) brightness(.8);animation:criticalDamage .3s infinite}@keyframes damageShake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@keyframes criticalDamage{0%,to{transform:translate(0);filter:brightness(.8) hue-rotate(0deg)}50%{transform:translate(-3px);filter:brightness(1.2) hue-rotate(-10deg)}}@keyframes smokePuff{0%{transform:translateY(0) scale(1);opacity:.7}to{transform:translateY(-20px) scale(1.5);opacity:0}}.viz-character.exploding{animation:exploding .5s ease-out}@keyframes exploding{0%{transform:scale(1);filter:brightness(1)}30%{transform:scale(1.2);filter:brightness(3) saturate(0)}to{transform:scale(.8);filter:brightness(.5)}}.viz-character.defeated{animation:defeated .8s ease-out forwards}@keyframes defeated{0%{transform:translateY(0) rotate(0);opacity:1;filter:brightness(.5)}50%{transform:translateY(-20px) rotate(-10deg)}to{transform:translateY(30px) rotate(90deg);opacity:.3;filter:brightness(.3) grayscale(1)}}.viz-character.victory{animation:victoryBounce .6s ease infinite}@keyframes victoryBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.1)}}.viz-robots-arena{background:linear-gradient(180deg,#050510,#0a0a20 20%,#0f0f35,#151550 80%,#1a1a60);overflow:hidden}.viz-robots-arena:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 90%,rgba(0,200,255,.2) 0%,transparent 40%),radial-gradient(ellipse at 80% 90%,rgba(255,0,100,.2) 0%,transparent 40%),radial-gradient(ellipse at 50% 50%,rgba(100,100,255,.1) 0%,transparent 60%);pointer-events:none}.viz-robots-arena .viz-battle-ground:before{content:"";position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(90deg,transparent 0%,rgba(0,200,255,.1) 25%,transparent 50%,rgba(255,0,200,.1) 75%,transparent 100%),repeating-linear-gradient(90deg,transparent,transparent 30px,rgba(0,200,255,.15) 30px,rgba(0,200,255,.15) 31px),repeating-linear-gradient(0deg,transparent,transparent 15px,rgba(0,200,255,.1) 15px,rgba(0,200,255,.1) 16px);transform:perspective(200px) rotateX(60deg);transform-origin:bottom;animation:gridScroll 4s linear infinite;pointer-events:none;z-index:0}@keyframes gridScroll{0%{background-position:0 0,0 0,0 0}to{background-position:0 0,60px 0,0 30px}}.viz-robots-arena .viz-scanlines:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20% 30%,rgba(0,255,255,.8),transparent),radial-gradient(2px 2px at 40% 70%,rgba(255,0,200,.6),transparent),radial-gradient(2px 2px at 60% 20%,rgba(0,200,255,.7),transparent),radial-gradient(2px 2px at 80% 60%,rgba(255,100,255,.5),transparent),radial-gradient(3px 3px at 10% 80%,rgba(0,255,200,.6),transparent),radial-gradient(3px 3px at 90% 10%,rgba(255,50,150,.6),transparent);animation:techParticles 15s linear infinite}@keyframes techParticles{0%{transform:translateY(0) rotate(0);opacity:.6}50%{opacity:1}to{transform:translateY(-30px) rotate(10deg);opacity:.6}}.viz-robots-arena .viz-ground{height:30px;background:linear-gradient(180deg,#1a1a3a,#0a0a1a);position:relative;overflow:hidden}.viz-robots-arena .ground-reflection{position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(180deg,rgba(0,200,255,.1) 0%,transparent 100%)}.robot-body{width:90px;position:relative;transform-style:preserve-3d}.robot-head{width:45px;height:35px;background:linear-gradient(180deg,#4a90d9,#2a5090);border-radius:10px 10px 5px 5px;margin:0 auto 3px;position:relative;box-shadow:0 5px 15px #0064c866,inset 0 -5px 10px #0000004d,inset 0 5px 10px #ffffff1a}.robot-antenna{position:absolute;top:-15px;left:50%;transform:translate(-50%);width:4px;height:12px;background:linear-gradient(180deg,#666,#333)}.antenna-orb{position:absolute;top:-8px;left:50%;transform:translate(-50%);width:10px;height:10px;background:radial-gradient(circle at 30% 30%,#0ff,#08a);border-radius:50%;box-shadow:0 0 15px #0ffc;animation:orbPulse 1.5s infinite}@keyframes orbPulse{0%,to{box-shadow:0 0 15px #0ffc}50%{box-shadow:0 0 25px #0ff,0 0 40px #00ffff80}}.robot-visor{position:absolute;top:8px;left:50%;transform:translate(-50%);width:35px;height:12px;background:linear-gradient(180deg,#001a33,#036);border-radius:3px;overflow:hidden;border:1px solid rgba(0,200,255,.3)}.visor-light{position:absolute;top:2px;left:5px;width:25px;height:8px;background:linear-gradient(90deg,#0ff,#08f,#0ff);border-radius:2px;animation:visorScan 2s infinite;box-shadow:0 0 10px #0ffc}@keyframes visorScan{0%,to{transform:translate(-5px)}50%{transform:translate(5px)}}.robot-torso{width:55px;height:50px;background:linear-gradient(180deg,#5a9ae0,#3070b0);border-radius:8px;margin:0 auto;position:relative;box-shadow:0 8px 20px #0064c866,inset 0 -8px 15px #0000004d,inset 0 5px 10px #ffffff1a}.robot-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:25px;height:25px}.core-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:2px solid rgba(0,255,255,.5);border-radius:50%;animation:coreRotate 3s linear infinite}.core-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:radial-gradient(circle at 30% 30%,#0ff,#06a);border-radius:50%;box-shadow:0 0 20px #0ffc}@keyframes coreRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.robot-panel{position:absolute;top:10px;width:8px;height:30px;background:linear-gradient(180deg,#4080c0,#2060a0);border-radius:2px}.robot-panel.left{left:5px}.robot-panel.right{right:5px}.robot-arm{position:absolute;top:40px;width:12px}.robot-arm.left{left:-5px}.robot-arm.right{right:-5px}.arm-segment{background:linear-gradient(180deg,#4a90d9,#2a5090);border-radius:4px;box-shadow:0 2px 5px #0000004d}.arm-segment.upper{width:12px;height:20px;margin-bottom:3px}.arm-segment.lower{width:10px;height:18px;margin:0 auto}.robot-hand{width:14px;height:10px;background:linear-gradient(180deg,#3a80c9,#1a4080);border-radius:3px;margin:2px auto 0}.robot-waist{width:35px;height:8px;background:linear-gradient(180deg,#333,#111);border-radius:3px;margin:3px auto}.robot-legs{display:flex;justify-content:center;gap:8px}.robot-leg{width:16px}.leg-segment{background:linear-gradient(180deg,#4a90d9,#2a5090);border-radius:4px;box-shadow:0 2px 5px #0000004d}.leg-segment.upper{width:16px;height:22px;margin-bottom:3px}.leg-segment.lower{width:14px;height:20px;margin:0 auto}.robot-foot{width:20px;height:8px;background:linear-gradient(180deg,#2a5090,#1a3060);border-radius:2px 2px 4px 4px;margin:2px auto 0}.enemy-robot .robot-head{background:linear-gradient(180deg,#d94a4a,#902a2a);box-shadow:0 5px 15px #c8323266,inset 0 -5px 10px #0000004d,inset 0 5px 10px #ffffff1a}.enemy-robot .antenna-orb{background:radial-gradient(circle at 30% 30%,#f44,#a00);box-shadow:0 0 15px #ff3232cc}.enemy-robot .visor-light{background:linear-gradient(90deg,#f44,red,#f44);box-shadow:0 0 10px #ff3232cc}.enemy-robot .robot-torso{background:linear-gradient(180deg,#e05a5a,#b03030);box-shadow:0 8px 20px #c8323266,inset 0 -8px 15px #0000004d,inset 0 5px 10px #ffffff1a}.enemy-robot .core-ring{border-color:#ff323280}.enemy-robot .core-center{background:radial-gradient(circle at 30% 30%,#f44,#a00);box-shadow:0 0 20px #ff3232cc}.enemy-robot .robot-panel{background:linear-gradient(180deg,#c04040,#a02020)}.enemy-robot .arm-segment,.enemy-robot .leg-segment{background:linear-gradient(180deg,#d94a4a,#902a2a)}.enemy-robot .robot-hand{background:linear-gradient(180deg,#c93a3a,#801a1a)}.enemy-robot .robot-foot{background:linear-gradient(180deg,#902a2a,#601a1a)}.viz-space-arena{background:radial-gradient(ellipse at 20% 15%,rgba(100,0,200,.4) 0%,transparent 40%),radial-gradient(ellipse at 80% 85%,rgba(0,100,200,.4) 0%,transparent 40%),radial-gradient(ellipse at 50% 50%,rgba(50,0,100,.2) 0%,transparent 60%),linear-gradient(180deg,#000308,#000815,#001025 60%,#000510);overflow:hidden}.viz-stars{position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 10% 10%,rgba(255,255,255,1),transparent),radial-gradient(2px 2px at 30% 15%,rgba(200,220,255,1),transparent),radial-gradient(3px 3px at 60% 60%,rgba(255,255,200,1),transparent),radial-gradient(2px 2px at 90% 20%,rgba(200,255,255,1),transparent),radial-gradient(3px 3px at 45% 90%,rgba(255,200,255,1),transparent),radial-gradient(2px 2px at 85% 30%,rgba(255,255,255,1),transparent),radial-gradient(1.5px 1.5px at 20% 30%,rgba(255,255,255,.9),transparent),radial-gradient(1.5px 1.5px at 40% 45%,rgba(200,200,255,.8),transparent),radial-gradient(1.5px 1.5px at 70% 35%,rgba(255,200,200,.9),transparent),radial-gradient(1.5px 1.5px at 15% 55%,rgba(255,255,255,.8),transparent),radial-gradient(1.5px 1.5px at 55% 40%,rgba(200,255,200,.9),transparent),radial-gradient(1.5px 1.5px at 75% 50%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 50% 25%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 80% 70%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 25% 80%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 35% 65%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 65% 85%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 95% 75%,rgba(255,255,255,.5),transparent),radial-gradient(.5px .5px at 5% 40%,rgba(255,255,255,.4),transparent),radial-gradient(.5px .5px at 12% 70%,rgba(255,255,255,.3),transparent),radial-gradient(.5px .5px at 88% 45%,rgba(255,255,255,.4),transparent),radial-gradient(.5px .5px at 72% 12%,rgba(255,255,255,.3),transparent);animation:starsTwinkle 3s ease-in-out infinite}.viz-stars:before{content:"";position:absolute;top:20%;left:-50px;width:80px;height:2px;background:linear-gradient(90deg,transparent,white,rgba(150,200,255,.8),transparent);border-radius:2px;animation:shootingStar 8s linear infinite;opacity:0}@keyframes shootingStar{0%{left:-50px;top:20%;opacity:0}5%{opacity:1}15%{left:120%;top:50%;opacity:0}to{left:120%;top:50%;opacity:0}}.viz-nebula{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 20% 30%,rgba(100,0,150,.15) 0%,transparent 40%),radial-gradient(ellipse at 80% 70%,rgba(0,100,150,.15) 0%,transparent 40%);animation:nebulaFlow 20s infinite linear}@keyframes starsTwinkle{0%,to{opacity:1}50%{opacity:.7}}@keyframes nebulaFlow{0%{transform:translate(0) translateY(0)}50%{transform:translate(10px) translateY(-10px)}to{transform:translate(0) translateY(0)}}.viz-space-battle{align-items:center}.spaceship{width:100px;position:relative}.player-ship .ship-body{position:relative}.enemy-ship{transform:scaleX(-1)}.ship-hull{width:70px;height:25px;background:linear-gradient(180deg,#6090d0,#3060a0,#204080);border-radius:5px 25px 25px 5px;position:relative;box-shadow:0 5px 20px #0064c880,inset 0 -5px 10px #0006,inset 0 5px 10px #fff3}.ship-cockpit{position:absolute;top:3px;right:10px;width:20px;height:18px;background:linear-gradient(180deg,#80d0ff,#40a0d0);border-radius:50% 50% 40% 40%;box-shadow:inset 0 2px 5px #ffffff80,0 0 10px #64c8ff80}.cockpit-glass{position:absolute;top:2px;left:3px;width:14px;height:10px;background:linear-gradient(135deg,rgba(255,255,255,.6) 0%,transparent 50%);border-radius:50%}.ship-wing{position:absolute;left:15px;width:35px;height:10px;background:linear-gradient(180deg,#5080c0,#3060a0);box-shadow:0 3px 10px #0000004d}.ship-wing.top{top:-12px;border-radius:5px 15px 5px 5px;transform:skew(-15deg)}.ship-wing.bottom{bottom:-12px;border-radius:5px 5px 15px;transform:skew(15deg)}.wing-detail{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:15px;height:3px;background:#00c8ff80;border-radius:2px}.ship-engine{position:absolute;left:-8px;background:#2a3a4a;border-radius:3px 0 0 3px}.ship-engine.main{top:5px;width:12px;height:15px}.ship-engine.secondary{width:8px;height:6px}.ship-engine.secondary.top{top:2px}.ship-engine.secondary.bottom{bottom:2px}.engine-glow{position:absolute;left:-5px;top:50%;transform:translateY(-50%);width:20px;height:8px;background:radial-gradient(ellipse at right,rgba(0,200,255,.8) 0%,transparent 70%);filter:blur(2px)}.engine-flame{position:absolute;left:-25px;top:50%;transform:translateY(-50%);width:30px;height:12px;background:linear-gradient(90deg,transparent,#ff6600,#ffcc00,#ffffff);border-radius:50% 0 0 50%;animation:flameFlicker .1s infinite;box-shadow:0 0 20px #ff9600cc}.flame-core{position:absolute;left:5px;top:50%;transform:translateY(-50%);width:15px;height:6px;background:linear-gradient(90deg,transparent,#ffffff);border-radius:50% 0 0 50%}@keyframes flameFlicker{0%,to{transform:translateY(-50%) scaleX(1);opacity:1}50%{transform:translateY(-50%) scaleX(.9);opacity:.9}}.ship-weapon{position:absolute;right:0;top:50%;transform:translateY(-50%);width:15px;height:4px;background:linear-gradient(90deg,#3060a0,#80b0e0);border-radius:0 3px 3px 0}.ship-shield{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:110px;height:60px;border:2px solid rgba(0,200,255,.2);border-radius:50%;opacity:0;transition:opacity .3s}.viz-character.hit .ship-shield{opacity:1;animation:shieldFlash .3s ease}@keyframes shieldFlash{0%{opacity:1;border-color:#00c8ffcc;box-shadow:0 0 30px #00c8ff80}to{opacity:0;border-color:#00c8ff00}}.enemy-ship .ship-hull{background:linear-gradient(180deg,#d06060,#a03030,#802020);box-shadow:0 5px 20px #c8323280,inset 0 -5px 10px #0006,inset 0 5px 10px #fff3}.enemy-ship .ship-cockpit{background:linear-gradient(180deg,#ff8080,#d04040);box-shadow:inset 0 2px 5px #ffffff80,0 0 10px #ff646480}.enemy-ship .ship-wing{background:linear-gradient(180deg,#c05050,#a03030)}.enemy-ship .wing-detail{background:#ff646480}.enemy-ship .engine-flame{background:linear-gradient(90deg,transparent,#ff3300,#ff6600,#ffff00)}.enemy-ship .ship-shield{border-color:#ff646433}.enemy-ship.hit .ship-shield{border-color:#ff6464cc;box-shadow:0 0 30px #ff646480}.viz-knights-arena{background:radial-gradient(ellipse at 80% 20%,rgba(255,215,0,.15) 0%,transparent 40%),radial-gradient(ellipse at 20% 80%,rgba(100,200,100,.1) 0%,transparent 40%),linear-gradient(180deg,#47a,#69c,#8bd,#ade 45%,#584 55%,#463,#352,#241);overflow:hidden}.viz-knights-arena:before{content:"";position:absolute;top:-50%;right:10%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,215,0,.4) 0%,rgba(255,180,0,.1) 40%,transparent 70%);border-radius:50%;animation:sunGlow 4s ease-in-out infinite;pointer-events:none}@keyframes sunGlow{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.viz-knights-arena:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 15% 30%,rgba(255,255,200,.6),transparent),radial-gradient(1px 1px at 35% 50%,rgba(255,255,200,.5),transparent),radial-gradient(2px 2px at 55% 25%,rgba(255,255,200,.6),transparent),radial-gradient(1px 1px at 75% 60%,rgba(255,255,200,.5),transparent),radial-gradient(2px 2px at 85% 40%,rgba(255,255,200,.6),transparent),radial-gradient(1px 1px at 25% 70%,rgba(255,255,200,.4),transparent),radial-gradient(1px 1px at 65% 80%,rgba(255,255,200,.4),transparent);animation:dustFloat 12s linear infinite;pointer-events:none;z-index:1}@keyframes dustFloat{0%{transform:translateY(0) translate(0)}50%{transform:translateY(-15px) translate(10px)}to{transform:translateY(0) translate(0)}}.viz-castle-bg{position:absolute;top:10%;left:50%;transform:translate(-50%);width:120px;height:100px;z-index:1}.castle-tower{position:absolute;bottom:0;width:30px;height:80px;background:linear-gradient(180deg,#8a7560,#6a5540);border-radius:3px 3px 0 0}.castle-tower:before{content:"";position:absolute;top:-15px;left:-5px;width:40px;height:20px;background:linear-gradient(180deg,#6a5540,#5a4530);clip-path:polygon(0 100%,10% 0,30% 0,40% 100%,60% 100%,70% 0,90% 0,100% 100%)}.castle-tower.left{left:0}.castle-tower.right{right:0}.castle-main{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:70px;height:60px;background:linear-gradient(180deg,#9a8570,#7a6550);border-radius:3px 3px 0 0}.castle-main:before{content:"";position:absolute;top:-20px;left:-10px;width:90px;height:25px;background:linear-gradient(180deg,#7a6550,#6a5540);clip-path:polygon(0 100%,5% 0,15% 0,20% 100%,25% 100%,30% 0,40% 0,45% 100%,55% 100%,60% 0,70% 0,75% 100%,80% 100%,85% 0,95% 0,100% 100%)}.viz-castle-ground{height:35px;background:linear-gradient(180deg,#4a7a3a,#3a6030 40%,#2a4520);border-top:4px solid #5a8a4a;position:relative;overflow:hidden;box-shadow:inset 0 5px 20px #0000004d}.viz-castle-ground:before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg,transparent 0px,transparent 3px,rgba(100,150,80,.3) 3px,rgba(100,150,80,.3) 4px)}.viz-castle-ground:after{content:"";position:absolute;top:0;left:20%;right:20%;height:100%;background:radial-gradient(ellipse at 50% 0%,rgba(0,0,0,.2) 0%,transparent 70%)}.viz-knights-battle{align-items:flex-end}.knight{width:80px;position:relative}.enemy-knight{transform:scaleX(-1)}.knight-helmet{width:35px;height:40px;margin:0 auto 2px;position:relative}.helmet-crown{position:absolute;top:0;left:50%;transform:translate(-50%);width:30px;height:15px;background:linear-gradient(180deg,#c0b0a0,#908070);border-radius:15px 15px 0 0;box-shadow:inset 0 3px 5px #ffffff4d}.helmet-face{position:absolute;top:12px;left:50%;transform:translate(-50%);width:32px;height:28px;background:linear-gradient(180deg,#b0a090,#807060);border-radius:5px 5px 10px 10px;box-shadow:0 5px 15px #0000004d,inset 0 -5px 10px #0003}.helmet-visor{position:absolute;top:8px;left:50%;transform:translate(-50%);width:24px;height:6px;background:linear-gradient(180deg,#1a1a1a,#333);border-radius:2px}.helmet-guard{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:28px;height:8px;background:linear-gradient(180deg,#a09080,#706050);border-radius:0 0 5px 5px}.helmet-plume{position:absolute;top:-20px;left:50%;transform:translate(-50%);width:20px;height:30px}.plume-strand{position:absolute;bottom:0;width:8px;height:25px;background:linear-gradient(180deg,#3080d0,#2060a0);border-radius:4px 4px 0 0}.plume-strand:nth-child(1){left:0;height:20px}.plume-strand:nth-child(2){left:6px;height:28px}.plume-strand:nth-child(3){left:12px;height:22px}.player-knight .plume-strand{background:linear-gradient(180deg,#3080d0,#2060a0)}.enemy-knight .plume-strand{background:linear-gradient(180deg,#d03030,#a02020)}.knight-body{width:45px;height:45px;margin:0 auto;position:relative}.armor-shoulder{position:absolute;top:0;width:18px;height:15px;background:linear-gradient(180deg,#c0b0a0,#908070);border-radius:8px 8px 3px 3px;box-shadow:0 3px 8px #0000004d}.armor-shoulder.left{left:-5px}.armor-shoulder.right{right:-5px}.armor-chest{position:absolute;top:5px;left:50%;transform:translate(-50%);width:38px;height:40px;background:linear-gradient(180deg,#b0a090,#807060);border-radius:5px;box-shadow:0 5px 15px #0000004d,inset 0 -5px 10px #0003,inset 0 5px 10px #ffffff1a}.armor-emblem{position:absolute;top:8px;left:50%;transform:translate(-50%);width:20px;height:20px;background:linear-gradient(180deg,#3080d0,#2060a0);border-radius:3px;border:2px solid #ffd700}.enemy-knight .armor-emblem{background:linear-gradient(180deg,#d03030,#a02020)}.armor-belt{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:42px;height:8px;background:linear-gradient(180deg,#604020,#402010);border-radius:2px}.knight-cape{position:absolute;top:15px;left:50%;transform:translate(-50%);width:50px;height:60px;background:linear-gradient(180deg,#3080d0,#2060a0);clip-path:polygon(10% 0,90% 0,100% 100%,0 100%);z-index:-1;animation:capeFlow 3s infinite ease-in-out}.enemy-knight .knight-cape{background:linear-gradient(180deg,#d03030,#a02020)}@keyframes capeFlow{0%,to{transform:translate(-50%) skew(0)}50%{transform:translate(-50%) skew(3deg)}}.knight-arm-left,.knight-arm-right{position:absolute;top:42px;width:15px}.knight-arm-left{left:-12px}.knight-arm-right{right:-12px}.arm-armor{background:linear-gradient(180deg,#b0a090,#807060);border-radius:4px;box-shadow:0 2px 5px #0000004d}.arm-armor.upper{width:15px;height:18px;margin-bottom:2px}.arm-armor.lower{width:12px;height:15px;margin:0 auto}.knight-shield{position:absolute;top:35px;left:-20px;width:25px;height:35px;background:linear-gradient(135deg,#3080d0,#2060a0);border-radius:3px 3px 50% 50%;border:3px solid #c0a080;box-shadow:0 5px 15px #0006,inset 0 -5px 10px #0000004d,inset 0 5px 10px #fff3}.enemy-knight .knight-shield{background:linear-gradient(135deg,#d03030,#a02020);left:auto;right:-20px}.shield-emblem{position:absolute;top:8px;left:50%;transform:translate(-50%);width:12px;height:12px;background:gold;clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%)}.knight-sword{position:absolute;top:20px;right:-25px;width:10px;height:60px;transform:rotate(-30deg);transform-origin:top center}.enemy-knight .knight-sword{right:auto;left:-25px;transform:rotate(30deg)}.sword-blade{width:8px;height:45px;background:linear-gradient(90deg,#e0e0e0,#fff,silver);border-radius:2px 2px 50% 50%;box-shadow:0 0 10px #ffffff80}.sword-guard{width:20px;height:6px;background:linear-gradient(180deg,gold,#c90);border-radius:2px;margin:0 auto;position:relative;left:-6px}.sword-handle{width:6px;height:12px;background:linear-gradient(180deg,#604020,#402010);border-radius:2px;margin:0 auto;position:relative;left:1px}.knight-legs{display:flex;justify-content:center;gap:5px;margin-top:2px}.knight-leg{width:15px}.leg-armor{background:linear-gradient(180deg,#b0a090,#807060);border-radius:4px;box-shadow:0 2px 5px #0000004d}.leg-armor.upper{width:15px;height:20px;margin-bottom:2px}.leg-armor.lower{width:12px;height:18px;margin:0 auto}.knight-boot{width:18px;height:10px;background:linear-gradient(180deg,#504030,#302010);border-radius:3px 8px 3px 3px;margin:2px auto 0}.viz-game-over{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:100;animation:overlayAppear .5s ease}@keyframes overlayAppear{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}}.viz-lose{background:radial-gradient(ellipse at center,#640000e6,#320000f2)}.viz-win{background:radial-gradient(ellipse at center,#005028e6,#002814f2)}.viz-game-over-content{text-align:center;animation:contentBounce .5s cubic-bezier(.68,-.55,.265,1.55)}@keyframes contentBounce{0%{transform:scale(0) rotate(-10deg)}60%{transform:scale(1.1) rotate(3deg)}to{transform:scale(1) rotate(0)}}.viz-game-over-icon{font-size:5rem;margin-bottom:.5rem;animation:iconPulse 1s infinite;filter:drop-shadow(0 0 20px currentColor)}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.viz-game-over-text{font-size:2.5rem;font-weight:900;color:#fff;text-shadow:0 0 30px currentColor,0 4px 0 rgba(0,0,0,.3);margin-bottom:.5rem;letter-spacing:3px}.viz-lose .viz-game-over-text{color:#f44;text-shadow:0 0 30px rgba(255,50,50,.8),0 4px 0 #660000}.viz-win .viz-game-over-text{color:#4f8;text-shadow:0 0 30px rgba(50,255,100,.8),0 4px 0 #006600}.viz-game-over-subtext{font-size:1.1rem;color:#ffffffe6;margin-bottom:1rem}.viz-game-over-stats{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem}.viz-game-over-stats .stat{padding:.5rem 1rem;border-radius:20px;font-weight:700;font-size:.9rem}.viz-game-over-stats .stat.correct{background:#00c8644d;color:#4f8;border:1px solid rgba(0,200,100,.5)}.viz-game-over-stats .stat.wrong{background:#c832324d;color:#f66;border:1px solid rgba(200,50,50,.5)}.viz-try-again-btn{margin-top:1.5rem;padding:.8rem 2rem;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:30px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66,0 0 0 2px #ffffff1a}.viz-try-again-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 25px #667eea80,0 0 0 2px #fff3}.viz-try-again-btn:active{transform:translateY(0) scale(1)}.viz-lose .viz-try-again-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 4px 15px #e74c3c66,0 0 0 2px #ffffff1a}.viz-lose .viz-try-again-btn:hover{box-shadow:0 8px 25px #e74c3c80,0 0 0 2px #fff3}@media(max-width:600px){.visualization-container{margin:1rem auto 0;border-radius:12px}.viz-arena{min-height:280px;padding:.75rem}.viz-health-bars{padding:.5rem;gap:.5rem}.viz-health-label{font-size:.6rem}.viz-health-text{font-size:.65rem}.viz-health-track{height:12px}.viz-vs{font-size:1.1rem}.viz-battle-ground{min-height:160px;padding:1rem .75rem}.robot-body{transform:scale(.75)}.spaceship{transform:scale(.7)}.enemy-ship{transform:scale(.7) scaleX(-1)}.knight{transform:scale(.7)}.enemy-knight{transform:scale(.7) scaleX(-1)}.viz-damage-number{font-size:1.4rem}.viz-game-over-icon{font-size:3.5rem}.viz-game-over-text{font-size:1.8rem}.viz-game-over-subtext{font-size:.9rem}.viz-game-over-stats .stat{font-size:.75rem;padding:.4rem .8rem}.viz-try-again-btn{margin-top:1rem;padding:.6rem 1.5rem;font-size:.95rem}}.viz-wizards-arena{background:radial-gradient(ellipse at 30% 20%,rgba(100,0,200,.3) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(0,100,200,.3) 0%,transparent 50%),linear-gradient(180deg,#0d0520,#1a0a35,#2d1560,#1a0a35,#0d0520);overflow:hidden}.viz-wizards-arena:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 0%,rgba(138,43,226,.2) 0%,transparent 50%),radial-gradient(ellipse at 80% 0%,rgba(0,200,255,.2) 0%,transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(255,215,0,.15) 0%,transparent 40%);animation:auroraShift 10s ease-in-out infinite;pointer-events:none}@keyframes auroraShift{0%,to{opacity:.6;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.1)}}.viz-magic-particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;background-image:radial-gradient(4px 4px at 15% 25%,rgba(255,215,0,.9),transparent),radial-gradient(3px 3px at 35% 65%,rgba(138,43,226,.9),transparent),radial-gradient(4px 4px at 55% 15%,rgba(0,255,255,.9),transparent),radial-gradient(3px 3px at 75% 55%,rgba(255,105,180,.9),transparent),radial-gradient(4px 4px at 85% 35%,rgba(100,255,100,.8),transparent),radial-gradient(2px 2px at 10% 80%,rgba(255,255,200,.8),transparent),radial-gradient(2px 2px at 25% 45%,rgba(200,200,255,.8),transparent),radial-gradient(2px 2px at 45% 85%,rgba(255,200,255,.8),transparent),radial-gradient(2px 2px at 65% 35%,rgba(200,255,255,.8),transparent),radial-gradient(2px 2px at 90% 75%,rgba(255,255,200,.8),transparent),radial-gradient(1px 1px at 20% 50%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 40% 20%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 60% 70%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 80% 40%,rgba(255,255,255,.6),transparent);animation:magicFloat 6s ease-in-out infinite}@keyframes magicFloat{0%,to{transform:translateY(0) rotate(0);opacity:.7}25%{transform:translateY(-8px) rotate(2deg);opacity:.9}50%{transform:translateY(-12px) rotate(0);opacity:1}75%{transform:translateY(-8px) rotate(-2deg);opacity:.9}}.viz-magic-ground{height:45px;background:linear-gradient(180deg,#2d1560e6,#0d0520);border-top:3px solid rgba(138,43,226,.6);box-shadow:0 -10px 40px #8a2be266,inset 0 5px 20px #8a2be233;position:relative;overflow:hidden}.viz-magic-ground:before{content:"✧ ⚝ ✧";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;color:#c896ff66;letter-spacing:30px;animation:runeGlow 3s ease-in-out infinite}@keyframes runeGlow{0%,to{opacity:.3;text-shadow:0 0 10px rgba(200,150,255,.5)}50%{opacity:.7;text-shadow:0 0 20px rgba(200,150,255,.8),0 0 40px rgba(138,43,226,.5)}}.viz-wizards-battle{min-height:180px}.wizard{position:relative;width:60px;height:100px}.wizard-hat{position:absolute;top:0;left:50%;transform:translate(-50%)}.hat-cone{width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-bottom:35px solid #4a2c7a;position:relative}.player-wizard .hat-cone{border-bottom-color:#2563eb}.enemy-wizard .hat-cone{border-bottom-color:#7c3aed}.hat-brim{width:50px;height:8px;background:#4a2c7a;border-radius:50%;margin-top:-2px;margin-left:-5px}.player-wizard .hat-brim{background:#1e40af}.enemy-wizard .hat-brim{background:#5b21b6}.hat-stars{position:absolute;top:10px;left:50%;transform:translate(-50%);color:gold;font-size:8px}.hat-star{position:absolute;animation:starTwinkle 1.5s ease-in-out infinite}.hat-star:nth-child(1){left:-8px;animation-delay:0s}.hat-star:nth-child(2){left:2px;top:8px;animation-delay:.5s}@keyframes starTwinkle{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.wizard-face{position:absolute;top:38px;left:50%;transform:translate(-50%);width:30px;height:25px;background:#ffd5b5;border-radius:50% 50% 45% 45%}.wizard-eyes{position:absolute;top:8px;width:100%;display:flex;justify-content:center;gap:8px}.wizard-eye{width:5px;height:5px;background:#333;border-radius:50%}.wizard-beard{position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:25px;height:20px;background:#e0e0e0;border-radius:0 0 50% 50%;clip-path:polygon(0 0,100% 0,85% 100%,50% 80%,15% 100%)}.wizard-robe{position:absolute;top:60px;left:50%;transform:translate(-50%);width:40px;height:45px}.robe-body{width:100%;height:100%;background:linear-gradient(180deg,#4a2c7a,#2d1b4e);border-radius:5px 5px 20px 20px;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%)}.player-wizard .robe-body{background:linear-gradient(180deg,#2563eb,#1e40af)}.enemy-wizard .robe-body{background:linear-gradient(180deg,#7c3aed,#5b21b6)}.robe-trim{position:absolute;bottom:0;left:0;width:100%;height:8px;background:gold;border-radius:0 0 20px 20px}.wizard-staff{position:absolute;top:45px;right:-15px;transform:rotate(-15deg)}.staff-pole{width:6px;height:65px;background:linear-gradient(180deg,#8b4513,#654321);border-radius:3px}.staff-orb{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:16px;height:16px;background:radial-gradient(circle at 30% 30%,#0ff,#08f,#04a);border-radius:50%;box-shadow:0 0 15px #0ffc}.player-wizard .staff-orb{background:radial-gradient(circle at 30% 30%,#60a5fa,#2563eb,#1e40af);box-shadow:0 0 15px #2563ebcc}.enemy-wizard .staff-orb{background:radial-gradient(circle at 30% 30%,#a78bfa,#7c3aed,#5b21b6);box-shadow:0 0 15px #7c3aedcc}.orb-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;background:radial-gradient(circle,rgba(0,255,255,.4),transparent);border-radius:50%;animation:orbPulse 2s ease-in-out infinite}@keyframes orbPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.8}50%{transform:translate(-50%,-50%) scale(1.3);opacity:1}}.viz-magic-aura{background:radial-gradient(circle,rgba(138,43,226,.3),transparent)}.player-aura.viz-magic-aura{background:radial-gradient(circle,rgba(37,99,235,.3),transparent)}.enemy-aura.viz-magic-aura{background:radial-gradient(circle,rgba(124,58,237,.3),transparent)}.enemy-wizard{transform:scaleX(-1)}.viz-pirates-arena{background:radial-gradient(ellipse at 90% 10%,rgba(255,200,100,.3) 0%,transparent 40%),radial-gradient(ellipse at 50% 100%,rgba(0,50,100,.4) 0%,transparent 50%),linear-gradient(180deg,#ff8c42,#ff6b35 8%,#f8961e 15%,#4a90b5 25%,#3d7a9b 40%,#2d5a7b,#1e4a6f,#1a3a5f);overflow:hidden}.viz-pirates-arena:before{content:"";position:absolute;top:0;right:15%;width:60px;height:30px;background:radial-gradient(ellipse at 50% 100%,#ffc832,#ff9632cc 40%,#ff643200 70%);border-radius:50%;animation:sunsetGlow 5s ease-in-out infinite;pointer-events:none}@keyframes sunsetGlow{0%,to{opacity:.9;filter:blur(2px)}50%{opacity:1;filter:blur(3px)}}.viz-pirates-arena:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20% 60%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 40% 70%,rgba(255,255,255,.3),transparent),radial-gradient(2px 2px at 60% 55%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 80% 65%,rgba(255,255,255,.3),transparent),radial-gradient(3px 3px at 30% 80%,rgba(200,230,255,.3),transparent),radial-gradient(2px 2px at 70% 75%,rgba(200,230,255,.3),transparent);animation:seaSpray 8s ease-in-out infinite;pointer-events:none;z-index:2}@keyframes seaSpray{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(-10px);opacity:.9}}.viz-waves{position:absolute;bottom:40px;left:0;width:200%;height:80px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,60 C150,120 350,0 600,60 C850,120 1050,0 1200,60 L1200,120 L0,120 Z' fill='rgba(100,180,220,0.3)'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,60 C150,120 350,0 600,60 C850,120 1050,0 1200,60 L1200,120 L0,120 Z' fill='rgba(255,255,255,0.15)'/%3E%3C/svg%3E");background-size:600px 60px,400px 50px;background-position:0 10px,0 0;animation:waveMove 4s linear infinite,waveMove2 3s linear infinite;z-index:1}.viz-waves:before{content:"";position:absolute;bottom:-10px;left:0;width:200%;height:50px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,60 C150,120 350,0 600,60 C850,120 1050,0 1200,60 L1200,120 L0,120 Z' fill='rgba(30,74,111,0.5)'/%3E%3C/svg%3E");background-size:500px 50px;animation:waveMove3 5s linear infinite}@keyframes waveMove{0%{background-position:0 10px,0 0}to{background-position:-600px 10px,-400px 0}}@keyframes waveMove2{0%{transform:translateY(0)}50%{transform:translateY(-3px)}to{transform:translateY(0)}}@keyframes waveMove3{0%{background-position:0 0}to{background-position:-500px 0}}.viz-ship-deck{height:45px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.1) 0px,rgba(0,0,0,.1) 1px,transparent 1px,transparent 30px),linear-gradient(180deg,#9a5826,#7a4319 30%,#5a3010 70%,#4a2510);border-top:5px solid #b06830;position:relative;box-shadow:inset 0 5px 15px #0006,inset 0 -3px 10px #0000004d}.viz-ship-deck:before{content:"";position:absolute;top:10px;left:5%;right:5%;height:100%;background:repeating-linear-gradient(90deg,transparent 0px,transparent 28px,rgba(0,0,0,.15) 28px,rgba(0,0,0,.15) 30px),repeating-linear-gradient(0deg,transparent 0px,transparent 10px,rgba(255,255,255,.05) 10px,rgba(255,255,255,.05) 11px)}.viz-ship-deck:after{content:"";position:absolute;top:-8px;left:5%;right:5%;height:4px;background:linear-gradient(180deg,#c08040,#8a5020);border-radius:2px;box-shadow:0 2px 4px #0000004d}.viz-pirates-battle{min-height:180px}.pirate{position:relative;width:50px;height:95px}.pirate-hat{position:absolute;top:0;left:50%;transform:translate(-50%)}.pirate-hat .hat-base{width:45px;height:20px;background:#1a1a1a;border-radius:50% 50% 0 0;border:2px solid #333;position:relative}.pirate-hat .hat-base:before{content:"";position:absolute;bottom:-5px;left:-5px;width:55px;height:10px;background:#1a1a1a;border-radius:50%;border:2px solid #333}.pirate-hat .hat-skull{position:absolute;top:3px;left:50%;transform:translate(-50%);font-size:12px;color:#fff}.pirate-face{position:absolute;top:25px;left:50%;transform:translate(-50%);width:28px;height:25px;background:#deb887;border-radius:50% 50% 45% 45%}.pirate-eyepatch{position:absolute;top:8px;left:3px;width:10px;height:8px;background:#1a1a1a;border-radius:50%}.pirate-eyepatch:before{content:"";position:absolute;top:4px;left:8px;width:20px;height:2px;background:#1a1a1a}.pirate-eye{position:absolute;top:10px;right:5px;width:5px;height:5px;background:#333;border-radius:50%}.pirate-bandana{position:absolute;top:-2px;left:-2px;width:32px;height:10px;background:#dc2626;border-radius:5px 5px 0 0}.player-pirate .pirate-bandana{background:#2563eb}.enemy-pirate .pirate-bandana{background:#dc2626}.pirate-body{position:absolute;top:48px;left:50%;transform:translate(-50%);width:35px;height:35px}.pirate-coat{width:100%;height:100%;background:linear-gradient(180deg,#8b0000,#600);border-radius:5px 5px 0 0}.player-pirate .pirate-coat{background:linear-gradient(180deg,#1e40af,#1e3a8a)}.enemy-pirate .pirate-coat{background:linear-gradient(180deg,#991b1b,#7f1d1d)}.pirate-belt{position:absolute;bottom:5px;left:0;width:100%;height:8px;background:#4a3520}.belt-buckle{position:absolute;top:1px;left:50%;transform:translate(-50%);width:10px;height:6px;background:gold;border-radius:2px}.pirate-arm{position:absolute;top:50px;right:-20px}.pirate-sword{transform:rotate(-30deg)}.cutlass-blade{width:6px;height:35px;background:linear-gradient(90deg,silver,#fff,silver);border-radius:3px 3px 50% 50%;position:relative}.cutlass-guard{position:absolute;bottom:-3px;left:-5px;width:16px;height:6px;background:gold;border-radius:3px}.cutlass-handle{position:absolute;bottom:-18px;left:0;width:6px;height:15px;background:#4a3520;border-radius:2px}.pirate-legs{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:30px;height:20px}.pirate-leg{position:absolute;bottom:8px;width:10px;height:15px;background:#1a1a1a}.pirate-leg.left{left:2px}.pirate-leg.right{right:2px}.pirate-boot{position:absolute;bottom:0;width:12px;height:10px;background:#3d2817;border-radius:0 0 3px 3px}.pirate-boot.left{left:1px}.pirate-boot.right{right:1px}.enemy-pirate{transform:scaleX(-1)}.viz-dinosaurs-arena{background:radial-gradient(ellipse at 80% 15%,rgba(255,150,50,.2) 0%,transparent 40%),radial-gradient(ellipse at 10% 90%,rgba(255,100,0,.15) 0%,transparent 30%),radial-gradient(ellipse at 50% 50%,rgba(100,200,100,.1) 0%,transparent 50%),linear-gradient(180deg,#5dade2,#85c1e9,#aed6f1,#a9dfbf 45%,#27ae60 55%,#1e8449,#145a32,#0b3d0b);overflow:hidden}.viz-dinosaurs-arena:before{content:"";position:absolute;top:-20px;right:20%;width:80px;height:80px;background:radial-gradient(circle,#ffdc64e6,#ffb43299 40%,#ff963200 70%);border-radius:50%;animation:prehistoricSun 6s ease-in-out infinite;pointer-events:none}@keyframes prehistoricSun{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.viz-dinosaurs-arena:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(3px 3px at 10% 20%,rgba(255,255,200,.7),transparent),radial-gradient(2px 2px at 30% 40%,rgba(200,255,200,.6),transparent),radial-gradient(3px 3px at 50% 15%,rgba(255,255,200,.7),transparent),radial-gradient(2px 2px at 70% 35%,rgba(200,255,200,.6),transparent),radial-gradient(3px 3px at 85% 25%,rgba(255,255,200,.7),transparent),radial-gradient(2px 2px at 15% 55%,rgba(200,255,200,.5),transparent),radial-gradient(2px 2px at 45% 65%,rgba(255,255,200,.5),transparent),radial-gradient(2px 2px at 75% 50%,rgba(200,255,200,.5),transparent),radial-gradient(1px 1px at 25% 30%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 55% 45%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 90% 60%,rgba(255,255,255,.4),transparent);animation:sporeFloat 15s linear infinite;pointer-events:none;z-index:1}@keyframes sporeFloat{0%{transform:translateY(0) translate(0)}25%{transform:translateY(-10px) translate(5px)}50%{transform:translateY(-5px) translate(-5px)}75%{transform:translateY(-15px) translate(3px)}to{transform:translateY(0) translate(0)}}.viz-jungle-bg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M10,100 Q15,60 10,40 Q5,20 15,0' stroke='%23228b22' stroke-width='8' fill='none' opacity='0.3'/%3E%3Cpath d='M30,100 Q35,70 25,50 Q15,30 30,10' stroke='%23006400' stroke-width='6' fill='none' opacity='0.25'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M90,100 Q85,60 90,40 Q95,20 85,0' stroke='%23228b22' stroke-width='8' fill='none' opacity='0.3'/%3E%3Cpath d='M70,100 Q65,70 75,50 Q85,30 70,10' stroke='%23006400' stroke-width='6' fill='none' opacity='0.25'/%3E%3C/svg%3E");background-position:left bottom,right bottom;background-repeat:no-repeat;background-size:80px 150px}.viz-jungle-ground{height:45px;background:linear-gradient(180deg,#2ecc71,#27ae60 20%,#1e8449,#145a32 80%,#0b3d0b);border-top:4px solid #58d68d;position:relative;box-shadow:inset 0 5px 20px #0000004d,0 -5px 20px #2ecc7133}.viz-jungle-ground:before{content:"";position:absolute;top:0;left:0;right:0;height:12px;background:repeating-linear-gradient(90deg,transparent 0px,transparent 4px,rgba(88,214,141,.4) 4px,rgba(88,214,141,.4) 5px,transparent 5px,transparent 8px),repeating-linear-gradient(85deg,transparent 0px,transparent 6px,rgba(46,204,113,.3) 6px,rgba(46,204,113,.3) 7px);pointer-events:none}.viz-jungle-ground:after{content:"🌿";position:absolute;top:-18px;left:10%;font-size:16px;opacity:.8;animation:fernSway 4s ease-in-out infinite}@keyframes fernSway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.viz-dinosaurs-battle{min-height:180px}.dinosaur{position:relative;width:80px;height:85px}.dino-head{position:absolute;top:5px;left:0;width:35px;height:30px}.dino-crest{position:absolute;top:-8px;left:10px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid #e67e22}.player-dino .dino-crest{border-bottom-color:#27ae60}.enemy-dino .dino-crest{border-bottom-color:#c0392b}.dino-eye{position:absolute;top:8px;left:8px;width:10px;height:10px;background:#fff;border-radius:50%}.dino-eye:after{content:"";position:absolute;top:3px;left:3px;width:5px;height:5px;background:#1a1a1a;border-radius:50%}.dino-snout{position:absolute;top:5px;left:-15px;width:25px;height:18px;background:#f39c12;border-radius:10px 5px 5px 10px}.player-dino .dino-snout{background:#2ecc71}.enemy-dino .dino-snout{background:#e74c3c}.dino-nostril{position:absolute;top:5px;left:5px;width:4px;height:4px;background:#333;border-radius:50%}.dino-jaw{position:absolute;top:18px;left:-10px;width:20px;height:12px;background:#d68910;border-radius:5px}.player-dino .dino-jaw{background:#27ae60}.enemy-dino .dino-jaw{background:#c0392b}.dino-teeth{position:absolute;top:0;left:2px;width:16px;height:4px;background:#fff;clip-path:polygon(0 0,10% 100%,20% 0,30% 100%,40% 0,50% 100%,60% 0,70% 100%,80% 0,90% 100%,100% 0)}.dino-neck{position:absolute;top:25px;left:25px;width:15px;height:20px;background:#f39c12;border-radius:5px}.player-dino .dino-neck{background:#2ecc71}.enemy-dino .dino-neck{background:#e74c3c}.dino-body{position:absolute;top:30px;left:30px;width:45px;height:35px;background:#f39c12;border-radius:20px 25px 15px 20px}.player-dino .dino-body{background:#2ecc71}.enemy-dino .dino-body{background:#e74c3c}.dino-spines{position:absolute;top:-8px;left:10px;display:flex;gap:5px}.dino-spine{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:12px solid #d68910}.player-dino .dino-spine{border-bottom-color:#27ae60}.enemy-dino .dino-spine{border-bottom-color:#c0392b}.dino-belly{position:absolute;bottom:0;left:5px;width:35px;height:15px;background:#fad390;border-radius:0 0 15px 15px}.dino-arms{position:absolute;top:40px;left:25px}.dino-arm{position:absolute;width:8px;height:15px;background:#f39c12;border-radius:4px}.player-dino .dino-arm{background:#2ecc71}.enemy-dino .dino-arm{background:#e74c3c}.dino-arm.left{left:0;transform:rotate(-20deg)}.dino-arm.right{left:8px;transform:rotate(20deg)}.dino-legs{position:absolute;bottom:0;left:35px;width:30px;height:25px}.dino-leg{position:absolute;bottom:0;width:12px;height:25px;background:#f39c12;border-radius:6px 6px 4px 4px}.player-dino .dino-leg{background:#2ecc71}.enemy-dino .dino-leg{background:#e74c3c}.dino-leg.left{left:0}.dino-leg.right{right:0}.dino-tail{position:absolute;top:40px;right:-25px;width:35px;height:15px;background:#f39c12;border-radius:5px 15px 15px 5px;transform:rotate(-10deg)}.player-dino .dino-tail{background:#2ecc71}.enemy-dino .dino-tail{background:#e74c3c}.enemy-dino{transform:scaleX(-1)}@media(max-width:600px){.wizard{transform:scale(.8)}.enemy-wizard{transform:scale(.8) scaleX(-1)}.pirate{transform:scale(.8)}.enemy-pirate{transform:scale(.8) scaleX(-1)}.dinosaur{transform:scale(.7)}.enemy-dino{transform:scale(.7) scaleX(-1)}}.viz-character.wizard-cast{animation:wizardCast .3s ease-out}@keyframes wizardCast{0%{transform:translate(0) scale(1)}30%{transform:translate(-8px) scale(.95)}60%{transform:translate(15px) scale(1.1)}to{transform:translate(0) scale(1)}}.viz-character.wizard-channel{animation:wizardChannel .4s ease-out}@keyframes wizardChannel{0%{transform:translate(0);filter:brightness(1)}25%{transform:translate(-5px) translateY(-5px);filter:brightness(1.3)}50%{transform:translate(0) translateY(-10px);filter:brightness(1.6)}75%{transform:translate(10px) translateY(-5px);filter:brightness(1.3)}to{transform:translate(0);filter:brightness(1)}}.viz-character.wizard-cast-fire{animation:wizardCastFire .35s ease-out}@keyframes wizardCastFire{0%{transform:translate(0);filter:brightness(1) sepia(0)}40%{transform:translate(-10px);filter:brightness(1.2) sepia(.3)}70%{transform:translate(20px);filter:brightness(1.5) sepia(.5)}to{transform:translate(0);filter:brightness(1) sepia(0)}}.viz-character.wizard-cast-ice{animation:wizardCastIce .35s ease-out}@keyframes wizardCastIce{0%{transform:translate(0);filter:brightness(1) hue-rotate(0deg)}40%{transform:translate(-8px);filter:brightness(1.3) hue-rotate(180deg)}70%{transform:translate(15px);filter:brightness(1.5) hue-rotate(200deg)}to{transform:translate(0);filter:brightness(1) hue-rotate(0deg)}}.viz-character.wizard-power{animation:wizardPower .45s ease-out}@keyframes wizardPower{0%{transform:translate(0) scale(1);filter:brightness(1)}30%{transform:translate(-15px) scale(.9);filter:brightness(1.5)}60%{transform:translate(25px) scale(1.15);filter:brightness(2)}to{transform:translate(0) scale(1);filter:brightness(1)}}.viz-character.wizard-melee{animation:wizardMelee .3s ease-out}@keyframes wizardMelee{0%{transform:translate(0) rotate(0)}50%{transform:translate(40px) rotate(15deg)}to{transform:translate(0) rotate(0)}}.viz-character.wizard-dark{animation:wizardDark .4s ease-out}@keyframes wizardDark{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(.5) invert(.2)}to{transform:scale(1);filter:brightness(1)}}.wizard-spell-bolt.player-projectile{width:25px;height:25px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#0fc,#08f);box-shadow:0 0 20px #0fc,0 0 40px #08f,0 0 60px #0088ff80;animation:spellBoltRight .4s ease-out forwards}.wizard-spell-bolt.enemy-projectile{width:25px;height:25px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#f0c,#f08);box-shadow:0 0 20px #f0c,0 0 40px #f08;animation:spellBoltLeft .4s ease-out forwards}@keyframes spellBoltRight{0%{left:80px;transform:translateY(-50%) scale(.3);opacity:1}50%{transform:translateY(-50%) scale(1.2);opacity:1}to{left:calc(100% - 100px);transform:translateY(-50%) scale(.8);opacity:0}}@keyframes spellBoltLeft{0%{right:80px;transform:translateY(-50%) scale(.3);opacity:1}50%{transform:translateY(-50%) scale(1.2);opacity:1}to{right:calc(100% - 100px);transform:translateY(-50%) scale(.8);opacity:0}}.wizard-lightning.player-projectile{width:200px;height:8px;background:linear-gradient(90deg,#0ff,#fff,#ff0,#0ff);clip-path:polygon(0% 50%,10% 20%,20% 70%,30% 30%,40% 60%,50% 40%,60% 70%,70% 20%,80% 60%,90% 30%,100% 50%);box-shadow:0 0 15px #0ff,0 0 30px #fff;animation:lightningRight .4s ease-out forwards}.wizard-lightning.enemy-projectile{width:200px;height:8px;background:linear-gradient(270deg,#f0f,#fff,#ff0,#f0f);clip-path:polygon(0% 50%,10% 20%,20% 70%,30% 30%,40% 60%,50% 40%,60% 70%,70% 20%,80% 60%,90% 30%,100% 50%);box-shadow:0 0 15px #f0f,0 0 30px #fff;animation:lightningLeft .4s ease-out forwards}@keyframes lightningRight{0%{left:80px;transform:translateY(-50%) scaleX(0);opacity:1}30%{transform:translateY(-50%) scaleX(1);opacity:1}to{left:80px;transform:translateY(-50%) scaleX(1);opacity:0}}@keyframes lightningLeft{0%{right:80px;transform:translateY(-50%) scaleX(0);opacity:1}30%{transform:translateY(-50%) scaleX(1);opacity:1}to{right:80px;transform:translateY(-50%) scaleX(1);opacity:0}}.wizard-fireball.player-projectile{width:35px;height:35px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#ff0 20%,#f60,red 80%);box-shadow:0 0 20px #f60,0 0 40px #f30,0 0 60px #ff640080;animation:fireballRight .45s ease-out forwards}.wizard-fireball.player-projectile:before{content:"";position:absolute;right:25px;top:50%;transform:translateY(-50%);width:40px;height:20px;background:linear-gradient(90deg,transparent,#ff6600,#ffff00);filter:blur(3px);border-radius:50%}.wizard-fireball.enemy-projectile{width:35px;height:35px;border-radius:50%;background:radial-gradient(circle at 70% 30%,#fff,#ff0 20%,#f60,red 80%);box-shadow:0 0 20px #f60,0 0 40px #f30;animation:fireballLeft .45s ease-out forwards}@keyframes fireballRight{0%{left:80px;transform:translateY(-50%) scale(.3);opacity:1}30%{transform:translateY(-50%) scale(1.1)}to{left:calc(100% - 120px);transform:translateY(-50%) scale(.9);opacity:0}}@keyframes fireballLeft{0%{right:80px;transform:translateY(-50%) scale(.3);opacity:1}30%{transform:translateY(-50%) scale(1.1)}to{right:calc(100% - 120px);transform:translateY(-50%) scale(.9);opacity:0}}.wizard-ice-shard.player-projectile{width:40px;height:15px;background:linear-gradient(90deg,#0ff,#aff,#fff);clip-path:polygon(0% 50%,30% 0%,100% 50%,30% 100%);box-shadow:0 0 15px #0ff,0 0 30px #00ffff80;animation:iceShardRight .4s ease-out forwards}.wizard-ice-shard.enemy-projectile{width:40px;height:15px;background:linear-gradient(270deg,#f8f,#faf,#fff);clip-path:polygon(100% 50%,70% 0%,0% 50%,70% 100%);box-shadow:0 0 15px #f8f;animation:iceShardLeft .4s ease-out forwards}@keyframes iceShardRight{0%{left:80px;transform:translateY(-50%) rotate(0);opacity:1}to{left:calc(100% - 100px);transform:translateY(-50%) rotate(360deg);opacity:0}}@keyframes iceShardLeft{0%{right:80px;transform:translateY(-50%) rotate(0);opacity:1}to{right:calc(100% - 100px);transform:translateY(-50%) rotate(-360deg);opacity:0}}.wizard-arcane-blast.player-projectile{width:50px;height:50px;border-radius:50%;background:radial-gradient(circle,#9900ff 0%,#6600cc 40%,#330066 70%,transparent 100%);box-shadow:0 0 30px #90f,0 0 60px #60c;animation:arcaneBlastRight .5s ease-out forwards}.wizard-arcane-blast.enemy-projectile{width:50px;height:50px;border-radius:50%;background:radial-gradient(circle,#ff0099 0%,#cc0066 40%,#660033 70%,transparent 100%);box-shadow:0 0 30px #f09,0 0 60px #c06;animation:arcaneBlastLeft .5s ease-out forwards}@keyframes arcaneBlastRight{0%{left:80px;transform:translateY(-50%) scale(.2);opacity:1}40%{transform:translateY(-50%) scale(1.3)}to{left:calc(100% - 130px);transform:translateY(-50%) scale(1.5);opacity:0}}@keyframes arcaneBlastLeft{0%{right:80px;transform:translateY(-50%) scale(.2);opacity:1}40%{transform:translateY(-50%) scale(1.3)}to{right:calc(100% - 130px);transform:translateY(-50%) scale(1.5);opacity:0}}.wizard-staff-wave.player-projectile{width:60px;height:60px;border:4px solid #00ffcc;border-radius:50%;background:transparent;box-shadow:0 0 20px #0fc;animation:staffWaveRight .35s ease-out forwards}.wizard-staff-wave.enemy-projectile{width:60px;height:60px;border:4px solid #ff00cc;border-radius:50%;background:transparent;box-shadow:0 0 20px #f0c;animation:staffWaveLeft .35s ease-out forwards}@keyframes staffWaveRight{0%{left:60px;transform:translateY(-50%) scale(.3);opacity:1}to{left:150px;transform:translateY(-50%) scale(2);opacity:0}}@keyframes staffWaveLeft{0%{right:60px;transform:translateY(-50%) scale(.3);opacity:1}to{right:150px;transform:translateY(-50%) scale(2);opacity:0}}.wizard-magic-missile.player-projectile{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle,#fff,#0f8);box-shadow:0 0 15px #0f8,0 0 30px #0f8;animation:magicMissileRight .4s ease-out forwards}.wizard-magic-missile.player-projectile:before,.wizard-magic-missile.player-projectile:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#fff,#0f8);box-shadow:0 0 10px #0f8}.wizard-magic-missile.player-projectile:before{top:-20px;left:-10px}.wizard-magic-missile.player-projectile:after{top:20px;left:-10px}.wizard-magic-missile.enemy-projectile{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle,#fff,#f80);box-shadow:0 0 15px #f80;animation:magicMissileLeft .4s ease-out forwards}@keyframes magicMissileRight{0%{left:80px;transform:translateY(-50%);opacity:1}to{left:calc(100% - 100px);transform:translateY(-50%);opacity:0}}@keyframes magicMissileLeft{0%{right:80px;transform:translateY(-50%);opacity:1}to{right:calc(100% - 100px);transform:translateY(-50%);opacity:0}}.wizard-void-pulse.player-projectile{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,#000000 0%,#330033 30%,#660066 60%,transparent 100%);box-shadow:0 0 20px #606,inset 0 0 20px #000;animation:voidPulseRight .5s ease-out forwards}.wizard-void-pulse.enemy-projectile{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,#000000 0%,#333300 30%,#666600 60%,transparent 100%);box-shadow:0 0 20px #660,inset 0 0 20px #000;animation:voidPulseLeft .5s ease-out forwards}@keyframes voidPulseRight{0%{left:80px;transform:translateY(-50%) scale(.5);opacity:1}50%{transform:translateY(-50%) scale(1.5)}to{left:calc(100% - 120px);transform:translateY(-50%) scale(.8);opacity:0}}@keyframes voidPulseLeft{0%{right:80px;transform:translateY(-50%) scale(.5);opacity:1}50%{transform:translateY(-50%) scale(1.5)}to{right:calc(100% - 120px);transform:translateY(-50%) scale(.8);opacity:0}}.wizard-chain-lightning.player-projectile{width:180px;height:12px;background:linear-gradient(90deg,#0ff,#fff,#0ff,#fff,#0ff);clip-path:polygon(0% 50%,8% 0%,16% 100%,24% 0%,32% 100%,40% 0%,48% 100%,56% 0%,64% 100%,72% 0%,80% 100%,88% 0%,100% 50%);box-shadow:0 0 20px #0ff;animation:chainLightningRight .45s ease-out forwards}.wizard-chain-lightning.enemy-projectile{width:180px;height:12px;background:linear-gradient(270deg,#f0f,#fff,#f0f,#fff,#f0f);clip-path:polygon(0% 50%,8% 0%,16% 100%,24% 0%,32% 100%,40% 0%,48% 100%,56% 0%,64% 100%,72% 0%,80% 100%,88% 0%,100% 50%);box-shadow:0 0 20px #f0f;animation:chainLightningLeft .45s ease-out forwards}@keyframes chainLightningRight{0%{left:80px;transform:translateY(-50%) scaleX(0);opacity:1}20%{transform:translateY(-50%) scaleX(1)}to{left:80px;transform:translateY(-50%) scaleX(1);opacity:0}}@keyframes chainLightningLeft{0%{right:80px;transform:translateY(-50%) scaleX(0);opacity:1}20%{transform:translateY(-50%) scaleX(1)}to{right:80px;transform:translateY(-50%) scaleX(1);opacity:0}}.wizard-meteor.player-projectile{width:45px;height:45px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fc0,#f60,#930,#310);box-shadow:0 0 30px #f60,0 0 60px #f30;animation:meteorRight .6s ease-in forwards}.wizard-meteor.player-projectile:before{content:"";position:absolute;top:50%;right:30px;transform:translateY(-50%);width:60px;height:25px;background:linear-gradient(90deg,transparent,#ff6600,#ffcc00);filter:blur(5px);border-radius:50%}.wizard-meteor.enemy-projectile{width:45px;height:45px;border-radius:50%;background:radial-gradient(circle at 70% 30%,#fc0,#f60,#930,#310);box-shadow:0 0 30px #f60,0 0 60px #f30;animation:meteorLeft .6s ease-in forwards}@keyframes meteorRight{0%{left:50px;top:20%;transform:scale(.5);opacity:1}50%{top:40%;transform:scale(1)}to{left:calc(100% - 150px);top:50%;transform:translateY(-50%) scale(1.2);opacity:0}}@keyframes meteorLeft{0%{right:50px;top:20%;transform:scale(.5);opacity:1}50%{top:40%;transform:scale(1)}to{right:calc(100% - 150px);top:50%;transform:translateY(-50%) scale(1.2);opacity:0}}.viz-character.robot-fire{animation:robotFire .3s ease-out}@keyframes robotFire{0%{transform:translate(0) scale(1)}30%{transform:translate(-8px) scale(.98)}60%{transform:translate(5px) scale(1.02);filter:brightness(1.3)}to{transform:translate(0) scale(1);filter:brightness(1)}}.viz-character.robot-launch{animation:robotLaunch .4s ease-out}@keyframes robotLaunch{0%{transform:translate(0) translateY(0)}30%{transform:translate(-10px) translateY(-5px)}60%{transform:translate(8px) translateY(3px);filter:brightness(1.4)}to{transform:translate(0) translateY(0);filter:brightness(1)}}.viz-character.robot-pulse{animation:robotPulse .4s ease-out}@keyframes robotPulse{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(1.8) hue-rotate(180deg)}to{transform:scale(1);filter:brightness(1) hue-rotate(0deg)}}.viz-character.robot-charge-fire{animation:robotChargeFire .35s ease-out}@keyframes robotChargeFire{0%{transform:translate(0);filter:brightness(1)}40%{transform:translate(-12px);filter:brightness(1.5)}70%{transform:translate(15px);filter:brightness(2)}to{transform:translate(0);filter:brightness(1)}}.viz-character.robot-punch{animation:robotPunch .3s ease-out}@keyframes robotPunch{0%{transform:translate(0)}50%{transform:translate(50px)}to{transform:translate(0)}}.viz-character.robot-charge{animation:robotCharge .4s ease-out}@keyframes robotCharge{0%{transform:scale(1);filter:brightness(1)}30%{transform:scale(.95);filter:brightness(1.3)}70%{transform:scale(1.1);filter:brightness(1.8)}to{transform:scale(1);filter:brightness(1)}}.viz-character.robot-rapid{animation:robotRapid .35s linear}@keyframes robotRapid{0%,to{transform:translate(0)}10%{transform:translate(3px)}20%{transform:translate(-2px)}30%{transform:translate(4px)}40%{transform:translate(-3px)}50%{transform:translate(5px)}60%{transform:translate(-4px)}70%{transform:translate(3px)}80%{transform:translate(-2px)}90%{transform:translate(2px)}}.viz-character.robot-throw{animation:robotThrow .4s ease-out}@keyframes robotThrow{0%{transform:translate(0) rotate(0)}40%{transform:translate(-20px) rotate(-10deg)}70%{transform:translate(30px) rotate(5deg)}to{transform:translate(0) rotate(0)}}.viz-character.robot-slash{animation:robotSlash .3s ease-out}@keyframes robotSlash{0%{transform:translate(0) rotate(0)}50%{transform:translate(30px) rotate(20deg)}to{transform:translate(0) rotate(0)}}.viz-character.robot-overcharge{animation:robotOvercharge .5s ease-out}@keyframes robotOvercharge{0%{transform:scale(1);filter:brightness(1)}30%{transform:scale(.9);filter:brightness(2)}60%{transform:scale(1.2);filter:brightness(3)}to{transform:scale(1);filter:brightness(1)}}.robot-laser.player-projectile{width:120px;height:6px;background:linear-gradient(90deg,#00ff00 0%,#00ffcc 50%,#ffffff 80%,transparent 100%);box-shadow:0 0 10px #0f0,0 0 20px #0fc;animation:laserRight .35s ease-out forwards}.robot-laser.enemy-projectile{width:120px;height:6px;background:linear-gradient(270deg,#ff0000 0%,#ff6600 50%,#ffffff 80%,transparent 100%);box-shadow:0 0 10px red,0 0 20px #f60;animation:laserLeft .35s ease-out forwards}@keyframes laserRight{0%{left:80px;transform:translateY(-50%) scaleX(0);opacity:1}30%{transform:translateY(-50%) scaleX(1.5)}to{left:calc(100% - 80px);transform:translateY(-50%) scaleX(.5);opacity:0}}@keyframes laserLeft{0%{right:80px;transform:translateY(-50%) scaleX(0);opacity:1}30%{transform:translateY(-50%) scaleX(1.5)}to{right:calc(100% - 80px);transform:translateY(-50%) scaleX(.5);opacity:0}}.robot-missile.player-projectile{width:30px;height:12px;background:linear-gradient(90deg,#666,#999,#ccc);border-radius:0 6px 6px 0;box-shadow:0 0 10px #f60;animation:missileRight .5s ease-out forwards}.robot-missile.player-projectile:before{content:"";position:absolute;left:-15px;top:50%;transform:translateY(-50%);width:20px;height:8px;background:linear-gradient(90deg,transparent,#ff6600,#ffcc00);filter:blur(2px)}.robot-missile.enemy-projectile{width:30px;height:12px;background:linear-gradient(270deg,#666,#999,#ccc);border-radius:6px 0 0 6px;box-shadow:0 0 10px #f60;animation:missileLeft .5s ease-out forwards}@keyframes missileRight{0%{left:80px;transform:translateY(-50%);opacity:1}to{left:calc(100% - 110px);transform:translateY(-50%);opacity:0}}@keyframes missileLeft{0%{right:80px;transform:translateY(-50%);opacity:1}to{right:calc(100% - 110px);transform:translateY(-50%);opacity:0}}.robot-emp.player-projectile{width:60px;height:60px;border-radius:50%;border:3px solid #00ffff;background:radial-gradient(circle,rgba(0,255,255,.3),transparent);box-shadow:0 0 20px #0ff,inset 0 0 20px #00ffff80;animation:empRight .45s ease-out forwards}.robot-emp.enemy-projectile{width:60px;height:60px;border-radius:50%;border:3px solid #ff00ff;background:radial-gradient(circle,rgba(255,0,255,.3),transparent);box-shadow:0 0 20px #f0f,inset 0 0 20px #ff00ff80;animation:empLeft .45s ease-out forwards}@keyframes empRight{0%{left:80px;transform:translateY(-50%) scale(.3);opacity:1}50%{transform:translateY(-50%) scale(1.5)}to{left:calc(100% - 140px);transform:translateY(-50%) scale(2);opacity:0}}@keyframes empLeft{0%{right:80px;transform:translateY(-50%) scale(.3);opacity:1}50%{transform:translateY(-50%) scale(1.5)}to{right:calc(100% - 140px);transform:translateY(-50%) scale(2);opacity:0}}.robot-plasma.player-projectile{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle,#fff,#0f8,#0c6);box-shadow:0 0 20px #0f8,0 0 40px #0c6;animation:plasmaRight .4s ease-out forwards}.robot-plasma.enemy-projectile{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle,#fff,#f80,#c60);box-shadow:0 0 20px #f80,0 0 40px #c60;animation:plasmaLeft .4s ease-out forwards}@keyframes plasmaRight{0%{left:80px;transform:translateY(-50%) scale(.5);opacity:1}40%{transform:translateY(-50%) scale(1.2)}to{left:calc(100% - 110px);transform:translateY(-50%) scale(.8);opacity:0}}@keyframes plasmaLeft{0%{right:80px;transform:translateY(-50%) scale(.5);opacity:1}40%{transform:translateY(-50%) scale(1.2)}to{right:calc(100% - 110px);transform:translateY(-50%) scale(.8);opacity:0}}.robot-fist.player-projectile{width:35px;height:30px;background:linear-gradient(135deg,#48f,#26c,#14a);border-radius:8px;box-shadow:0 0 15px #48f;animation:fistRight .35s ease-out forwards}.robot-fist.enemy-projectile{width:35px;height:30px;background:linear-gradient(225deg,#f44,#c22,#a11);border-radius:8px;box-shadow:0 0 15px #f44;animation:fistLeft .35s ease-out forwards}@keyframes fistRight{0%{left:80px;transform:translateY(-50%) rotate(0);opacity:1}50%{transform:translateY(-50%) rotate(-10deg)}to{left:calc(100% - 115px);transform:translateY(-50%) rotate(10deg);opacity:0}}@keyframes fistLeft{0%{right:80px;transform:translateY(-50%) rotate(0);opacity:1}50%{transform:translateY(-50%) rotate(10deg)}to{right:calc(100% - 115px);transform:translateY(-50%) rotate(-10deg);opacity:0}}.robot-tesla.player-projectile{width:150px;height:15px;background:linear-gradient(90deg,#0ff,#fff,#8ff,#fff,#0ff);clip-path:polygon(0% 50%,5% 0%,15% 100%,25% 0%,35% 100%,45% 0%,55% 100%,65% 0%,75% 100%,85% 0%,95% 100%,100% 50%);box-shadow:0 0 15px #0ff;animation:teslaRight .45s ease-out forwards}.robot-tesla.enemy-projectile{width:150px;height:15px;background:linear-gradient(270deg,#f08,#fff,#f8c,#fff,#f08);clip-path:polygon(0% 50%,5% 0%,15% 100%,25% 0%,35% 100%,45% 0%,55% 100%,65% 0%,75% 100%,85% 0%,95% 100%,100% 50%);box-shadow:0 0 15px #f08;animation:teslaLeft .45s ease-out forwards}@keyframes teslaRight{0%{left:80px;transform:translateY(-50%) scaleX(0);opacity:1}30%{transform:translateY(-50%) scaleX(1)}to{left:80px;transform:translateY(-50%) scaleX(1);opacity:0}}@keyframes teslaLeft{0%{right:80px;transform:translateY(-50%) scaleX(0);opacity:1}30%{transform:translateY(-50%) scaleX(1)}to{right:80px;transform:translateY(-50%) scaleX(1);opacity:0}}.robot-gatling.player-projectile{width:8px;height:8px;border-radius:50%;background:#ff0;box-shadow:0 0 5px #ff0,15px 0 #ff0,30px 0 #ff0,45px 0 #ff0,60px 0 #ff0;animation:gatlingRight .4s linear forwards}.robot-gatling.enemy-projectile{width:8px;height:8px;border-radius:50%;background:#f60;box-shadow:0 0 5px #f60,-15px 0 #f60,-30px 0 #f60,-45px 0 #f60,-60px 0 #f60;animation:gatlingLeft .4s linear forwards}@keyframes gatlingRight{0%{left:80px;transform:translateY(-50%);opacity:1}to{left:calc(100% - 80px);transform:translateY(-50%);opacity:0}}@keyframes gatlingLeft{0%{right:80px;transform:translateY(-50%);opacity:1}to{right:calc(100% - 80px);transform:translateY(-50%);opacity:0}}.robot-rocket-fist.player-projectile{width:40px;height:35px;background:linear-gradient(90deg,#36f,#58f,#7af);border-radius:10px 5px 5px 10px;box-shadow:0 0 15px #36f;animation:rocketFistRight .45s ease-out forwards}.robot-rocket-fist.player-projectile:before{content:"";position:absolute;left:-25px;top:50%;transform:translateY(-50%);width:30px;height:15px;background:linear-gradient(90deg,transparent,#ff6600,#ffcc00);filter:blur(3px)}.robot-rocket-fist.enemy-projectile{width:40px;height:35px;background:linear-gradient(270deg,#f36,#f58,#f7a);border-radius:5px 10px 10px 5px;box-shadow:0 0 15px #f36;animation:rocketFistLeft .45s ease-out forwards}@keyframes rocketFistRight{0%{left:80px;transform:translateY(-50%) scale(1);opacity:1}to{left:calc(100% - 120px);transform:translateY(-50%) scale(1.1);opacity:0}}@keyframes rocketFistLeft{0%{right:80px;transform:translateY(-50%) scale(1);opacity:1}to{right:calc(100% - 120px);transform:translateY(-50%) scale(1.1);opacity:0}}.robot-energy-blade.player-projectile{width:80px;height:8px;background:linear-gradient(90deg,#0fc,#fff,#0fc);box-shadow:0 0 15px #0fc,0 0 30px #0fc;clip-path:polygon(0% 50%,10% 0%,90% 0%,100% 50%,90% 100%,10% 100%);animation:energyBladeRight .35s ease-out forwards}.robot-energy-blade.enemy-projectile{width:80px;height:8px;background:linear-gradient(270deg,#f06,#fff,#f06);box-shadow:0 0 15px #f06,0 0 30px #f06;clip-path:polygon(0% 50%,10% 0%,90% 0%,100% 50%,90% 100%,10% 100%);animation:energyBladeLeft .35s ease-out forwards}@keyframes energyBladeRight{0%{left:80px;transform:translateY(-50%) rotate(-30deg);opacity:1}50%{transform:translateY(-50%) rotate(0)}to{left:calc(100% - 160px);transform:translateY(-50%) rotate(30deg);opacity:0}}@keyframes energyBladeLeft{0%{right:80px;transform:translateY(-50%) rotate(30deg);opacity:1}50%{transform:translateY(-50%) rotate(0)}to{right:calc(100% - 160px);transform:translateY(-50%) rotate(-30deg);opacity:0}}.robot-overload.player-projectile{width:70px;height:70px;border-radius:50%;background:radial-gradient(circle,#ffffff 0%,#00ffff 30%,#0088ff 60%,transparent 100%);box-shadow:0 0 40px #0ff,0 0 80px #08f;animation:overloadRight .55s ease-out forwards}.robot-overload.enemy-projectile{width:70px;height:70px;border-radius:50%;background:radial-gradient(circle,#ffffff 0%,#ff0088 30%,#ff0044 60%,transparent 100%);box-shadow:0 0 40px #f08,0 0 80px #f04;animation:overloadLeft .55s ease-out forwards}@keyframes overloadRight{0%{left:60px;transform:translateY(-50%) scale(.2);opacity:1}40%{transform:translateY(-50%) scale(1.5)}to{left:calc(100% - 130px);transform:translateY(-50%) scale(2);opacity:0}}@keyframes overloadLeft{0%{right:60px;transform:translateY(-50%) scale(.2);opacity:1}40%{transform:translateY(-50%) scale(1.5)}to{right:calc(100% - 130px);transform:translateY(-50%) scale(2);opacity:0}}.viz-character.knight-swing{animation:knightSwing .3s ease-out}@keyframes knightSwing{0%{transform:translate(0) rotate(0)}40%{transform:translate(-10px) rotate(-10deg)}70%{transform:translate(35px) rotate(15deg)}to{transform:translate(0) rotate(0)}}.viz-character.knight-bash{animation:knightBash .35s ease-out}@keyframes knightBash{0%{transform:translate(0)}50%{transform:translate(40px)}to{transform:translate(0)}}.viz-character.knight-charge{animation:knightCharge .45s ease-out}@keyframes knightCharge{0%{transform:translate(0) scale(1)}30%{transform:translate(-20px) scale(.95)}70%{transform:translate(50px) scale(1.05)}to{transform:translate(0) scale(1)}}.viz-character.knight-aim{animation:knightAim .3s ease-out}@keyframes knightAim{0%{transform:translate(0)}40%{transform:translate(-15px)}to{transform:translate(5px)}}.viz-character.knight-heavy{animation:knightHeavy .4s ease-out}@keyframes knightHeavy{0%{transform:translate(0) rotate(0) scale(1)}30%{transform:translate(-15px) rotate(-15deg) scale(1.05)}60%{transform:translate(30px) rotate(20deg) scale(1.1)}to{transform:translate(0) rotate(0) scale(1)}}.viz-character.knight-divine{animation:knightDivine .45s ease-out}@keyframes knightDivine{0%{transform:translateY(0);filter:brightness(1)}30%{transform:translateY(-10px);filter:brightness(1.5)}60%{transform:translateY(5px);filter:brightness(2)}to{transform:translateY(0);filter:brightness(1)}}.viz-character.knight-throw{animation:knightThrow .35s ease-out}@keyframes knightThrow{0%{transform:translate(0) rotate(0)}40%{transform:translate(-20px) rotate(-20deg)}to{transform:translate(10px) rotate(10deg)}}.viz-character.knight-slam{animation:knightSlam .45s ease-out}@keyframes knightSlam{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-15px) scale(1.05)}70%{transform:translateY(10px) scale(1.1)}to{transform:translateY(0) scale(1)}}.viz-character.knight-combo{animation:knightCombo .35s ease-out}@keyframes knightCombo{0%{transform:translate(0)}25%{transform:translate(20px) rotate(5deg)}50%{transform:translate(10px) rotate(-5deg)}75%{transform:translate(30px) rotate(10deg)}to{transform:translate(0) rotate(0)}}.viz-character.knight-rally{animation:knightRally .4s ease-out}@keyframes knightRally{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(1.5)}to{transform:scale(1);filter:brightness(1)}}.knight-sword-slash.player-projectile{width:70px;height:70px;border:4px solid transparent;border-top-color:#c8c8ffe6;border-right-color:#c8c8ff80;border-radius:50%;background:transparent;box-shadow:0 0 15px #c8c8ff80;animation:swordSlashRight .35s ease-out forwards}.knight-sword-slash.enemy-projectile{width:70px;height:70px;border:4px solid transparent;border-top-color:#ff6464e6;border-right-color:#ff646480;border-radius:50%;background:transparent;box-shadow:0 0 15px #ff646480;animation:swordSlashLeft .35s ease-out forwards}@keyframes swordSlashRight{0%{left:70px;transform:translateY(-50%) rotate(-90deg) scale(.5);opacity:1}50%{transform:translateY(-50%) rotate(0) scale(1)}to{left:150px;transform:translateY(-50%) rotate(90deg) scale(.3);opacity:0}}@keyframes swordSlashLeft{0%{right:70px;transform:translateY(-50%) rotate(90deg) scale(.5);opacity:1}50%{transform:translateY(-50%) rotate(0) scale(1)}to{right:150px;transform:translateY(-50%) rotate(-90deg) scale(.3);opacity:0}}.knight-shield-wave.player-projectile{width:50px;height:60px;background:linear-gradient(135deg,#68c,#46a,#35a);border-radius:5px 5px 25px 25px;box-shadow:0 0 20px #6496c899;animation:shieldWaveRight .4s ease-out forwards}.knight-shield-wave.enemy-projectile{width:50px;height:60px;background:linear-gradient(225deg,#c66,#a44,#a33);border-radius:5px 5px 25px 25px;box-shadow:0 0 20px #c8646499;animation:shieldWaveLeft .4s ease-out forwards}@keyframes shieldWaveRight{0%{left:80px;transform:translateY(-50%) scale(.8);opacity:1}to{left:calc(100% - 130px);transform:translateY(-50%) scale(1.2);opacity:0}}@keyframes shieldWaveLeft{0%{right:80px;transform:translateY(-50%) scale(.8);opacity:1}to{right:calc(100% - 130px);transform:translateY(-50%) scale(1.2);opacity:0}}.knight-lance.player-projectile{width:100px;height:10px;background:linear-gradient(90deg,#888,#ccc,#fff);clip-path:polygon(0% 30%,0% 70%,80% 70%,80% 100%,100% 50%,80% 0%,80% 30%);box-shadow:0 0 10px #c8c8c880;animation:lanceRight .5s ease-out forwards}.knight-lance.enemy-projectile{width:100px;height:10px;background:linear-gradient(270deg,#888,#ccc,#fff);clip-path:polygon(100% 30%,100% 70%,20% 70%,20% 100%,0% 50%,20% 0%,20% 30%);box-shadow:0 0 10px #c8c8c880;animation:lanceLeft .5s ease-out forwards}@keyframes lanceRight{0%{left:80px;transform:translateY(-50%);opacity:1}to{left:calc(100% - 180px);transform:translateY(-50%);opacity:0}}@keyframes lanceLeft{0%{right:80px;transform:translateY(-50%);opacity:1}to{right:calc(100% - 180px);transform:translateY(-50%);opacity:0}}.knight-bolt.player-projectile{width:35px;height:6px;background:linear-gradient(90deg,#8b4513,sienna,peru);clip-path:polygon(0% 0%,70% 0%,100% 50%,70% 100%,0% 100%);box-shadow:0 2px 4px #0000004d;animation:boltRight .35s linear forwards}.knight-bolt.enemy-projectile{width:35px;height:6px;background:linear-gradient(270deg,#8b4513,sienna,peru);clip-path:polygon(100% 0%,30% 0%,0% 50%,30% 100%,100% 100%);box-shadow:0 2px 4px #0000004d;animation:boltLeft .35s linear forwards}@keyframes boltRight{0%{left:80px;transform:translateY(-50%);opacity:1}to{left:calc(100% - 115px);transform:translateY(-50%);opacity:0}}@keyframes boltLeft{0%{right:80px;transform:translateY(-50%);opacity:1}to{right:calc(100% - 115px);transform:translateY(-50%);opacity:0}}.knight-mace-arc.player-projectile{width:80px;height:80px;border:5px solid transparent;border-top-color:#888;border-radius:50%;background:transparent;box-shadow:0 0 20px #96969680;animation:maceArcRight .45s ease-out forwards}.knight-mace-arc.enemy-projectile{width:80px;height:80px;border:5px solid transparent;border-top-color:#a66;border-radius:50%;background:transparent;box-shadow:0 0 20px #96646480;animation:maceArcLeft .45s ease-out forwards}@keyframes maceArcRight{0%{left:60px;transform:translateY(-50%) rotate(-180deg) scale(.5);opacity:1}50%{transform:translateY(-50%) rotate(-90deg) scale(1)}to{left:140px;transform:translateY(-50%) rotate(0) scale(.5);opacity:0}}@keyframes maceArcLeft{0%{right:60px;transform:translateY(-50%) rotate(180deg) scale(.5);opacity:1}50%{transform:translateY(-50%) rotate(90deg) scale(1)}to{right:140px;transform:translateY(-50%) rotate(0) scale(.5);opacity:0}}.knight-holy-light.player-projectile{width:40px;height:60px;background:linear-gradient(180deg,#ffc,#ff8,#fc0);clip-path:polygon(50% 0%,100% 100%,50% 80%,0% 100%);box-shadow:0 0 30px #ff8,0 0 60px #fc0;animation:holyLightRight .5s ease-out forwards}.knight-holy-light.enemy-projectile{width:40px;height:60px;background:linear-gradient(180deg,#fcc,#f88,#c00);clip-path:polygon(50% 0%,100% 100%,50% 80%,0% 100%);box-shadow:0 0 30px #f88,0 0 60px #c00;animation:holyLightLeft .5s ease-out forwards}@keyframes holyLightRight{0%{left:80px;top:10%;transform:scale(.5);opacity:1}50%{top:35%;transform:scale(1.2)}to{left:calc(100% - 120px);top:50%;transform:translateY(-50%) scale(.8);opacity:0}}@keyframes holyLightLeft{0%{right:80px;top:10%;transform:scale(.5);opacity:1}50%{top:35%;transform:scale(1.2)}to{right:calc(100% - 120px);top:50%;transform:translateY(-50%) scale(.8);opacity:0}}.knight-axe.player-projectile{width:30px;height:35px;background:linear-gradient(135deg,#666,#888,#aaa);clip-path:polygon(40% 0%,60% 0%,60% 40%,100% 40%,100% 70%,60% 70%,60% 100%,40% 100%,40% 70%,0% 70%,0% 40%,40% 40%);box-shadow:0 0 10px #96969680;animation:axeRight .4s linear forwards}.knight-axe.enemy-projectile{width:30px;height:35px;background:linear-gradient(225deg,#666,#888,#aaa);clip-path:polygon(40% 0%,60% 0%,60% 40%,100% 40%,100% 70%,60% 70%,60% 100%,40% 100%,40% 70%,0% 70%,0% 40%,40% 40%);box-shadow:0 0 10px #96969680;animation:axeLeft .4s linear forwards}@keyframes axeRight{0%{left:80px;transform:translateY(-50%) rotate(0);opacity:1}to{left:calc(100% - 110px);transform:translateY(-50%) rotate(720deg);opacity:0}}@keyframes axeLeft{0%{right:80px;transform:translateY(-50%) rotate(0);opacity:1}to{right:calc(100% - 110px);transform:translateY(-50%) rotate(-720deg);opacity:0}}.knight-shockwave.player-projectile{width:100px;height:20px;background:linear-gradient(90deg,transparent,rgba(139,119,101,.6),rgba(139,119,101,.8),rgba(139,119,101,.6),transparent);border-radius:50%;box-shadow:0 5px 15px #64503c80;animation:shockwaveRight .5s ease-out forwards}.knight-shockwave.enemy-projectile{width:100px;height:20px;background:linear-gradient(270deg,transparent,rgba(139,99,99,.6),rgba(139,99,99,.8),rgba(139,99,99,.6),transparent);border-radius:50%;box-shadow:0 5px 15px #643c3c80;animation:shockwaveLeft .5s ease-out forwards}@keyframes shockwaveRight{0%{left:70px;top:70%;transform:scaleX(.3);opacity:1}to{left:calc(100% - 170px);top:70%;transform:scaleX(1.5);opacity:0}}@keyframes shockwaveLeft{0%{right:70px;top:70%;transform:scaleX(.3);opacity:1}to{right:calc(100% - 170px);top:70%;transform:scaleX(1.5);opacity:0}}.knight-dual-slash.player-projectile{width:60px;height:60px;background:transparent;position:relative;animation:dualSlashRight .4s ease-out forwards}.knight-dual-slash.player-projectile:before,.knight-dual-slash.player-projectile:after{content:"";position:absolute;width:50px;height:50px;border:3px solid transparent;border-top-color:#c8c8ffcc;border-radius:50%}.knight-dual-slash.player-projectile:before{top:-10px;transform:rotate(-45deg)}.knight-dual-slash.player-projectile:after{top:10px;transform:rotate(45deg)}.knight-dual-slash.enemy-projectile{width:60px;height:60px;background:transparent;animation:dualSlashLeft .4s ease-out forwards}@keyframes dualSlashRight{0%{left:70px;transform:translateY(-50%) scale(.5);opacity:1}50%{transform:translateY(-50%) scale(1)}to{left:160px;transform:translateY(-50%) scale(.3);opacity:0}}@keyframes dualSlashLeft{0%{right:70px;transform:translateY(-50%) scale(.5);opacity:1}50%{transform:translateY(-50%) scale(1)}to{right:160px;transform:translateY(-50%) scale(.3);opacity:0}}.knight-banner-wave.player-projectile{width:25px;height:50px;background:linear-gradient(180deg,#46a,#35a);clip-path:polygon(0% 0%,100% 0%,100% 70%,50% 100%,0% 70%);box-shadow:0 0 15px #4466aa80;animation:bannerWaveRight .45s ease-out forwards}.knight-banner-wave.enemy-projectile{width:25px;height:50px;background:linear-gradient(180deg,#a44,#a33);clip-path:polygon(0% 0%,100% 0%,100% 70%,50% 100%,0% 70%);box-shadow:0 0 15px #aa444480;animation:bannerWaveLeft .45s ease-out forwards}@keyframes bannerWaveRight{0%{left:80px;transform:translateY(-50%) rotate(-20deg);opacity:1}50%{transform:translateY(-50%) rotate(10deg)}to{left:calc(100% - 105px);transform:translateY(-50%) rotate(-10deg);opacity:0}}@keyframes bannerWaveLeft{0%{right:80px;transform:translateY(-50%) rotate(20deg);opacity:1}50%{transform:translateY(-50%) rotate(-10deg)}to{right:calc(100% - 105px);transform:translateY(-50%) rotate(10deg);opacity:0}}.viz-character.space-fire{animation:spaceFire .3s ease-out}@keyframes spaceFire{0%{transform:translate(0)}30%{transform:translate(-5px)}60%{transform:translate(8px);filter:brightness(1.3)}to{transform:translate(0);filter:brightness(1)}}.viz-character.space-launch{animation:spaceLaunch .4s ease-out}@keyframes spaceLaunch{0%{transform:translate(0) translateY(0)}30%{transform:translate(-8px) translateY(-3px)}60%{transform:translate(5px) translateY(2px)}to{transform:translate(0) translateY(0)}}.viz-character.space-charge{animation:spaceCharge .35s ease-out}@keyframes spaceCharge{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.05);filter:brightness(1.5)}to{transform:scale(1);filter:brightness(1)}}.viz-character.space-sustained{animation:spaceSustained .4s linear}@keyframes spaceSustained{0%,to{transform:translate(0);filter:brightness(1)}25%{transform:translate(2px);filter:brightness(1.2)}50%{transform:translate(-2px);filter:brightness(1.4)}75%{transform:translate(2px);filter:brightness(1.2)}}.viz-character.space-barrage{animation:spaceBarrage .5s ease-out}@keyframes spaceBarrage{0%{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(3px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}to{transform:translate(0)}}.viz-character.space-pull{animation:spacePull .35s ease-out}@keyframes spacePull{0%{transform:translate(0)}50%{transform:translate(10px)}to{transform:translate(0)}}.viz-character.space-warp{animation:spaceWarp .5s ease-out}@keyframes spaceWarp{0%{transform:scale(1);filter:brightness(1) hue-rotate(0deg)}50%{transform:scale(.9);filter:brightness(.5) hue-rotate(180deg)}to{transform:scale(1);filter:brightness(1) hue-rotate(0deg)}}.viz-character.space-overload{animation:spaceOverload .45s ease-out}@keyframes spaceOverload{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.1);filter:brightness(2)}to{transform:scale(1);filter:brightness(1)}}.viz-character.space-charge-fire{animation:spaceChargeFire .3s ease-out}@keyframes spaceChargeFire{0%{transform:translate(0);filter:brightness(1)}40%{transform:translate(-10px);filter:brightness(1.5)}70%{transform:translate(10px);filter:brightness(2)}to{transform:translate(0);filter:brightness(1)}}.viz-character.space-ram{animation:spaceRam .4s ease-out}@keyframes spaceRam{0%{transform:translate(0) scale(1)}50%{transform:translate(40px) scale(1.1)}to{transform:translate(0) scale(1)}}.space-laser.player-projectile{width:150px;height:6px;background:linear-gradient(90deg,#00ffff 0%,#00ccff 30%,#ffffff 60%,transparent 100%);box-shadow:0 0 15px #0ff,0 0 30px #0cf;animation:spaceLaserRight .35s ease-out forwards}.space-laser.enemy-projectile{width:150px;height:6px;background:linear-gradient(270deg,#ff0066 0%,#ff3399 30%,#ffffff 60%,transparent 100%);box-shadow:0 0 15px #f06,0 0 30px #f39;animation:spaceLaserLeft .35s ease-out forwards}@keyframes spaceLaserRight{0%{left:100px;transform:translateY(-50%) scaleX(0);opacity:1}30%{transform:translateY(-50%) scaleX(1)}to{left:100px;transform:translateY(-50%) scaleX(1);opacity:0}}@keyframes spaceLaserLeft{0%{right:100px;transform:translateY(-50%) scaleX(0);opacity:1}30%{transform:translateY(-50%) scaleX(1)}to{right:100px;transform:translateY(-50%) scaleX(1);opacity:0}}.space-torpedo.player-projectile{width:25px;height:15px;background:linear-gradient(90deg,#08f,#0cf,#0ff);border-radius:0 8px 8px 0;box-shadow:0 0 15px #0cf;animation:torpedoRight .5s ease-in-out forwards}.space-torpedo.player-projectile:before{content:"";position:absolute;left:-20px;top:50%;transform:translateY(-50%);width:25px;height:10px;background:linear-gradient(90deg,transparent,#00ccff);filter:blur(3px)}.space-torpedo.enemy-projectile{width:25px;height:15px;background:linear-gradient(270deg,#f06,#f39,#f6c);border-radius:8px 0 0 8px;box-shadow:0 0 15px #f39;animation:torpedoLeft .5s ease-in-out forwards}@keyframes torpedoRight{0%{left:100px;transform:translateY(-50%);opacity:1}to{left:calc(100% - 125px);transform:translateY(-50%);opacity:0}}@keyframes torpedoLeft{0%{right:100px;transform:translateY(-50%);opacity:1}to{right:calc(100% - 125px);transform:translateY(-50%);opacity:0}}.space-plasma-burst.player-projectile{width:35px;height:35px;border-radius:50%;background:radial-gradient(circle,#fff,#0fc,#0c9);box-shadow:0 0 25px #0fc,0 0 50px #0c9;animation:plasmaBurstRight .4s ease-out forwards}.space-plasma-burst.enemy-projectile{width:35px;height:35px;border-radius:50%;background:radial-gradient(circle,#fff,#f69,#f36);box-shadow:0 0 25px #f69,0 0 50px #f36;animation:plasmaBurstLeft .4s ease-out forwards}@keyframes plasmaBurstRight{0%{left:100px;transform:translateY(-50%) scale(.5);opacity:1}50%{transform:translateY(-50%) scale(1.3)}to{left:calc(100% - 135px);transform:translateY(-50%) scale(.8);opacity:0}}@keyframes plasmaBurstLeft{0%{right:100px;transform:translateY(-50%) scale(.5);opacity:1}50%{transform:translateY(-50%) scale(1.3)}to{right:calc(100% - 135px);transform:translateY(-50%) scale(.8);opacity:0}}.space-ion.player-projectile{width:180px;height:4px;background:linear-gradient(90deg,#8ff,#fff,#8ff);box-shadow:0 0 10px #8ff,0 0 20px #0ff;animation:ionRight .45s linear forwards}.space-ion.enemy-projectile{width:180px;height:4px;background:linear-gradient(270deg,#f8c,#fff,#f8c);box-shadow:0 0 10px #f8c,0 0 20px #f08;animation:ionLeft .45s linear forwards}@keyframes ionRight{0%{left:100px;transform:translateY(-50%) scaleX(0);opacity:1}20%{transform:translateY(-50%) scaleX(1)}to{left:100px;transform:translateY(-50%) scaleX(1);opacity:0}}@keyframes ionLeft{0%{right:100px;transform:translateY(-50%) scaleX(0);opacity:1}20%{transform:translateY(-50%) scaleX(1)}to{right:100px;transform:translateY(-50%) scaleX(1);opacity:0}}.space-swarm.player-projectile{width:15px;height:15px;background:radial-gradient(circle,#0ff,#08f);border-radius:50%;box-shadow:0 0 8px #0ff,20px -15px 0 6px #0cf,25px 10px 0 4px #09f,10px 20px 0 5px #0bf;animation:swarmRight .55s ease-out forwards}.space-swarm.enemy-projectile{width:15px;height:15px;background:radial-gradient(circle,#f06,#c04);border-radius:50%;box-shadow:0 0 8px #f06,-20px -15px 0 6px #f38,-25px 10px 0 4px #f05,-10px 20px 0 5px #f27;animation:swarmLeft .55s ease-out forwards}@keyframes swarmRight{0%{left:100px;transform:translateY(-50%);opacity:1}to{left:calc(100% - 140px);transform:translateY(-50%);opacity:0}}@keyframes swarmLeft{0%{right:100px;transform:translateY(-50%);opacity:1}to{right:calc(100% - 140px);transform:translateY(-50%);opacity:0}}.space-tractor.player-projectile{width:120px;height:30px;background:linear-gradient(90deg,transparent,rgba(0,255,200,.3),rgba(0,255,200,.5),rgba(0,255,200,.3),transparent);border:2px solid rgba(0,255,200,.5);border-left:none;border-right:none;animation:tractorRight .4s ease-out forwards}.space-tractor.enemy-projectile{width:120px;height:30px;background:linear-gradient(270deg,transparent,rgba(255,0,100,.3),rgba(255,0,100,.5),rgba(255,0,100,.3),transparent);border:2px solid rgba(255,0,100,.5);border-left:none;border-right:none;animation:tractorLeft .4s ease-out forwards}@keyframes tractorRight{0%{left:100px;transform:translateY(-50%) scaleX(.3);opacity:1}50%{transform:translateY(-50%) scaleX(1)}to{left:100px;transform:translateY(-50%) scaleX(1.2);opacity:0}}@keyframes tractorLeft{0%{right:100px;transform:translateY(-50%) scaleX(.3);opacity:1}50%{transform:translateY(-50%) scaleX(1)}to{right:100px;transform:translateY(-50%) scaleX(1.2);opacity:0}}.space-blackhole.player-projectile{width:50px;height:50px;border-radius:50%;background:radial-gradient(circle,#000000 0%,#220044 40%,#440088 70%,transparent 100%);box-shadow:0 0 30px #408,inset 0 0 30px #000;animation:blackholeRight .6s ease-out forwards}.space-blackhole.enemy-projectile{width:50px;height:50px;border-radius:50%;background:radial-gradient(circle,#000000 0%,#440022 40%,#880044 70%,transparent 100%);box-shadow:0 0 30px #804,inset 0 0 30px #000;animation:blackholeLeft .6s ease-out forwards}@keyframes blackholeRight{0%{left:100px;transform:translateY(-50%) scale(.3) rotate(0);opacity:1}50%{transform:translateY(-50%) scale(1.2) rotate(180deg)}to{left:calc(100% - 150px);transform:translateY(-50%) scale(1.5) rotate(360deg);opacity:0}}@keyframes blackholeLeft{0%{right:100px;transform:translateY(-50%) scale(.3) rotate(0);opacity:1}50%{transform:translateY(-50%) scale(1.2) rotate(-180deg)}to{right:calc(100% - 150px);transform:translateY(-50%) scale(1.5) rotate(-360deg);opacity:0}}.space-nova.player-projectile{width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,#ffffff 0%,#ffff88 30%,#ffcc00 60%,transparent 100%);box-shadow:0 0 40px #fc0,0 0 80px #f80;animation:novaRight .5s ease-out forwards}.space-nova.enemy-projectile{width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,#ffffff 0%,#ff88ff 30%,#cc00cc 60%,transparent 100%);box-shadow:0 0 40px #c0c,0 0 80px #808;animation:novaLeft .5s ease-out forwards}@keyframes novaRight{0%{left:100px;transform:translateY(-50%) scale(.2);opacity:1}40%{transform:translateY(-50%) scale(1.5)}to{left:calc(100% - 160px);transform:translateY(-50%) scale(2);opacity:0}}@keyframes novaLeft{0%{right:100px;transform:translateY(-50%) scale(.2);opacity:1}40%{transform:translateY(-50%) scale(1.5)}to{right:calc(100% - 160px);transform:translateY(-50%) scale(2);opacity:0}}.space-railgun.player-projectile{width:200px;height:3px;background:linear-gradient(90deg,#ffffff 0%,#00ffff 20%,#0088ff 50%,transparent 100%);box-shadow:0 0 5px #fff,0 0 15px #0ff;animation:railgunRight .35s linear forwards}.space-railgun.enemy-projectile{width:200px;height:3px;background:linear-gradient(270deg,#ffffff 0%,#ff0066 20%,#cc0044 50%,transparent 100%);box-shadow:0 0 5px #fff,0 0 15px #f06;animation:railgunLeft .35s linear forwards}@keyframes railgunRight{0%{left:100px;transform:translateY(-50%) scaleX(0);opacity:1}20%{transform:translateY(-50%) scaleX(1)}to{left:100px;transform:translateY(-50%) scaleX(1);opacity:0}}@keyframes railgunLeft{0%{right:100px;transform:translateY(-50%) scaleX(0);opacity:1}20%{transform:translateY(-50%) scaleX(1)}to{right:100px;transform:translateY(-50%) scaleX(1);opacity:0}}.space-shield-charge.player-projectile{width:40px;height:50px;background:linear-gradient(135deg,#00c8ffcc,#0096ff99);border:3px solid #00ccff;border-radius:50%/60% 60% 40% 40%;box-shadow:0 0 20px #0cf;animation:shieldChargeRight .45s ease-out forwards}.space-shield-charge.enemy-projectile{width:40px;height:50px;background:linear-gradient(225deg,#ff3264cc,#ff005099);border:3px solid #ff3366;border-radius:50%/60% 60% 40% 40%;box-shadow:0 0 20px #f36;animation:shieldChargeLeft .45s ease-out forwards}@keyframes shieldChargeRight{0%{left:100px;transform:translateY(-50%) scale(.8);opacity:1}to{left:calc(100% - 140px);transform:translateY(-50%) scale(1.2);opacity:0}}@keyframes shieldChargeLeft{0%{right:100px;transform:translateY(-50%) scale(.8);opacity:1}to{right:calc(100% - 140px);transform:translateY(-50%) scale(1.2);opacity:0}}.viz-character.pirate-swing{animation:pirateSwing .3s ease-out}@keyframes pirateSwing{0%{transform:translate(0) rotate(0)}40%{transform:translate(-10px) rotate(-15deg)}70%{transform:translate(30px) rotate(20deg)}to{transform:translate(0) rotate(0)}}.viz-character.pirate-cannon{animation:pirateCannon .45s ease-out}@keyframes pirateCannon{0%{transform:translate(0)}30%{transform:translate(-20px)}50%{transform:translate(10px);filter:brightness(1.5)}to{transform:translate(0);filter:brightness(1)}}.viz-character.pirate-hook-attack{animation:pirateHookAttack .35s ease-out}@keyframes pirateHookAttack{0%{transform:translate(0) rotate(0)}50%{transform:translate(25px) rotate(10deg)}to{transform:translate(0) rotate(0)}}.viz-character.pirate-shoot{animation:pirateShoot .25s ease-out}@keyframes pirateShoot{0%{transform:translate(0)}40%{transform:translate(-8px)}70%{transform:translate(5px);filter:brightness(1.3)}to{transform:translate(0);filter:brightness(1)}}.viz-character.pirate-throw{animation:pirateThrow .35s ease-out}@keyframes pirateThrow{0%{transform:translate(0) rotate(0)}40%{transform:translate(-15px) rotate(-15deg)}to{transform:translate(10px) rotate(5deg)}}.viz-character.pirate-heavy-throw{animation:pirateHeavyThrow .5s ease-out}@keyframes pirateHeavyThrow{0%{transform:translate(0) rotate(0)}30%{transform:translate(-25px) rotate(-20deg)}60%{transform:translate(20px) rotate(15deg)}to{transform:translate(0) rotate(0)}}.viz-character.pirate-command{animation:pirateCommand .4s ease-out}@keyframes pirateCommand{0%{transform:translate(0) scale(1)}50%{transform:translate(5px) scale(1.05)}to{transform:translate(0) scale(1)}}.viz-character.pirate-smash{animation:pirateSmash .35s ease-out}@keyframes pirateSmash{0%{transform:translate(0) rotate(0)}40%{transform:translate(-10px) rotate(-25deg)}70%{transform:translate(35px) rotate(15deg)}to{transform:translate(0) rotate(0)}}.viz-character.pirate-lob{animation:pirateLob .45s ease-out}@keyframes pirateLob{0%{transform:translate(0) rotate(0)}40%{transform:translate(-15px) rotate(-10deg) translateY(-5px)}to{transform:translate(10px) rotate(5deg) translateY(0)}}.pirate-cutlass.player-projectile{width:60px;height:60px;border:3px solid transparent;border-top-color:#c0c0c0e6;border-right-color:#c0c0c080;border-radius:50%;background:transparent;box-shadow:0 0 10px #c0c0c080;animation:cutlassRight .35s ease-out forwards}.pirate-cutlass.enemy-projectile{width:60px;height:60px;border:3px solid transparent;border-top-color:#c86464e6;border-right-color:#c8646480;border-radius:50%;background:transparent;box-shadow:0 0 10px #c8646480;animation:cutlassLeft .35s ease-out forwards}@keyframes cutlassRight{0%{left:70px;transform:translateY(-50%) rotate(-90deg) scale(.5);opacity:1}50%{transform:translateY(-50%) rotate(0) scale(1)}to{left:140px;transform:translateY(-50%) rotate(90deg) scale(.3);opacity:0}}@keyframes cutlassLeft{0%{right:70px;transform:translateY(-50%) rotate(90deg) scale(.5);opacity:1}50%{transform:translateY(-50%) rotate(0) scale(1)}to{right:140px;transform:translateY(-50%) rotate(-90deg) scale(.3);opacity:0}}.pirate-cannonball.player-projectile{width:25px;height:25px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#555,#333,#111);box-shadow:0 0 10px #00000080,0 5px 10px #0000004d;animation:cannonballRight .5s ease-out forwards}.pirate-cannonball.player-projectile:before{content:"";position:absolute;left:-15px;top:50%;transform:translateY(-50%);width:20px;height:10px;background:linear-gradient(90deg,transparent,#888888);filter:blur(2px)}.pirate-cannonball.enemy-projectile{width:25px;height:25px;border-radius:50%;background:radial-gradient(circle at 70% 30%,#555,#333,#111);box-shadow:0 0 10px #00000080;animation:cannonballLeft .5s ease-out forwards}@keyframes cannonballRight{0%{left:80px;transform:translateY(-50%);opacity:1}to{left:calc(100% - 105px);transform:translateY(-50%);opacity:0}}@keyframes cannonballLeft{0%{right:80px;transform:translateY(-50%);opacity:1}to{right:calc(100% - 105px);transform:translateY(-50%);opacity:0}}.pirate-hook.player-projectile{width:25px;height:30px;border:4px solid #c0c0c0;border-top:none;border-right:none;border-radius:0 0 0 15px;background:transparent;box-shadow:0 0 8px #c0c0c080;animation:hookRight .4s ease-out forwards}.pirate-hook.enemy-projectile{width:25px;height:30px;border:4px solid #aa8888;border-top:none;border-left:none;border-radius:0 0 15px;background:transparent;box-shadow:0 0 8px #aa888880;animation:hookLeft .4s ease-out forwards}@keyframes hookRight{0%{left:80px;transform:translateY(-50%) rotate(0);opacity:1}50%{transform:translateY(-50%) rotate(-30deg)}to{left:calc(100% - 105px);transform:translateY(-50%) rotate(30deg);opacity:0}}@keyframes hookLeft{0%{right:80px;transform:translateY(-50%) rotate(0);opacity:1}50%{transform:translateY(-50%) rotate(30deg)}to{right:calc(100% - 105px);transform:translateY(-50%) rotate(-30deg);opacity:0}}.pirate-bullet.player-projectile{width:10px;height:6px;background:linear-gradient(90deg,#666,#888);border-radius:3px;box-shadow:0 0 5px #888;animation:bulletRight .3s linear forwards}.pirate-bullet.enemy-projectile{width:10px;height:6px;background:linear-gradient(270deg,#666,#888);border-radius:3px;box-shadow:0 0 5px #888;animation:bulletLeft .3s linear forwards}@keyframes bulletRight{0%{left:80px;transform:translateY(-50%);opacity:1}to{left:calc(100% - 90px);transform:translateY(-50%);opacity:0}}@keyframes bulletLeft{0%{right:80px;transform:translateY(-50%);opacity:1}to{right:calc(100% - 90px);transform:translateY(-50%);opacity:0}}.pirate-bottle.player-projectile{width:15px;height:25px;background:linear-gradient(180deg,#8b4513,#8b4513 60%,#228b22 60%);border-radius:3px 3px 8px 8px;box-shadow:0 0 8px #ff640080;animation:bottleRight .4s ease-out forwards}.pirate-bottle.enemy-projectile{width:15px;height:25px;background:linear-gradient(180deg,#8b4513,#8b4513 60%,#228b22 60%);border-radius:3px 3px 8px 8px;box-shadow:0 0 8px #ff640080;animation:bottleLeft .4s ease-out forwards}@keyframes bottleRight{0%{left:80px;transform:translateY(-50%) rotate(0);opacity:1}50%{top:30%;transform:rotate(180deg)}to{left:calc(100% - 95px);top:50%;transform:translateY(-50%) rotate(360deg);opacity:0}}@keyframes bottleLeft{0%{right:80px;transform:translateY(-50%) rotate(0);opacity:1}50%{top:30%;transform:rotate(-180deg)}to{right:calc(100% - 95px);top:50%;transform:translateY(-50%) rotate(-360deg);opacity:0}}.pirate-anchor.player-projectile{width:30px;height:35px;background:linear-gradient(135deg,#444,#666,#555);clip-path:polygon(40% 0%,60% 0%,60% 30%,100% 30%,100% 45%,75% 45%,75% 70%,90% 100%,70% 100%,50% 80%,30% 100%,10% 100%,25% 70%,25% 45%,0% 45%,0% 30%,40% 30%);box-shadow:0 0 10px #64646480;animation:anchorRight .55s ease-out forwards}.pirate-anchor.enemy-projectile{width:30px;height:35px;background:linear-gradient(225deg,#444,#666,#555);clip-path:polygon(40% 0%,60% 0%,60% 30%,100% 30%,100% 45%,75% 45%,75% 70%,90% 100%,70% 100%,50% 80%,30% 100%,10% 100%,25% 70%,25% 45%,0% 45%,0% 30%,40% 30%);box-shadow:0 0 10px #64646480;animation:anchorLeft .55s ease-out forwards}@keyframes anchorRight{0%{left:80px;transform:translateY(-50%) rotate(0);opacity:1}to{left:calc(100% - 110px);transform:translateY(-50%) rotate(180deg);opacity:0}}@keyframes anchorLeft{0%{right:80px;transform:translateY(-50%) rotate(0);opacity:1}to{right:calc(100% - 110px);transform:translateY(-50%) rotate(-180deg);opacity:0}}.pirate-parrot.player-projectile{width:25px;height:20px;background:linear-gradient(90deg,#f44,#f66,#fc0);border-radius:50% 50% 30% 30%;box-shadow:0 0 10px #ff640080;animation:parrotRight .45s ease-out forwards}.pirate-parrot.player-projectile:before{content:"";position:absolute;left:-8px;top:5px;width:10px;height:5px;background:#fc0;clip-path:polygon(0% 50%,100% 0%,100% 100%)}.pirate-parrot.enemy-projectile{width:25px;height:20px;background:linear-gradient(270deg,#4f4,#6f6,#0cf);border-radius:50% 50% 30% 30%;box-shadow:0 0 10px #00ff6480;animation:parrotLeft .45s ease-out forwards}@keyframes parrotRight{0%{left:80px;top:30%;transform:rotate(-10deg);opacity:1}50%{top:60%;transform:rotate(10deg)}to{left:calc(100% - 105px);top:50%;transform:translateY(-50%) rotate(-5deg);opacity:0}}@keyframes parrotLeft{0%{right:80px;top:30%;transform:rotate(10deg);opacity:1}50%{top:60%;transform:rotate(-10deg)}to{right:calc(100% - 105px);top:50%;transform:translateY(-50%) rotate(5deg);opacity:0}}.pirate-net.player-projectile{width:40px;height:40px;background:linear-gradient(90deg,#8B4513 1px,transparent 1px),linear-gradient(0deg,#8B4513 1px,transparent 1px);background-size:8px 8px;border:2px solid #8B4513;border-radius:5px;animation:netRight .4s ease-out forwards}.pirate-net.enemy-projectile{width:40px;height:40px;background:linear-gradient(90deg,#aa6633 1px,transparent 1px),linear-gradient(0deg,#aa6633 1px,transparent 1px);background-size:8px 8px;border:2px solid #aa6633;border-radius:5px;animation:netLeft .4s ease-out forwards}@keyframes netRight{0%{left:80px;transform:translateY(-50%) scale(.5) rotate(0);opacity:1}50%{transform:translateY(-50%) scale(1.2) rotate(15deg)}to{left:calc(100% - 120px);transform:translateY(-50%) scale(1.5) rotate(30deg);opacity:0}}@keyframes netLeft{0%{right:80px;transform:translateY(-50%) scale(.5) rotate(0);opacity:1}50%{transform:translateY(-50%) scale(1.2) rotate(-15deg)}to{right:calc(100% - 120px);transform:translateY(-50%) scale(1.5) rotate(-30deg);opacity:0}}.pirate-plank.player-projectile{width:60px;height:15px;background:linear-gradient(90deg,#8b4513,sienna,#8b4513);border-radius:3px;box-shadow:0 3px 6px #0000004d;animation:plankRight .4s ease-out forwards}.pirate-plank.enemy-projectile{width:60px;height:15px;background:linear-gradient(270deg,#8b4513,sienna,#8b4513);border-radius:3px;box-shadow:0 3px 6px #0000004d;animation:plankLeft .4s ease-out forwards}@keyframes plankRight{0%{left:80px;transform:translateY(-50%) rotate(-20deg);opacity:1}50%{transform:translateY(-50%) rotate(10deg)}to{left:calc(100% - 140px);transform:translateY(-50%) rotate(-10deg);opacity:0}}@keyframes plankLeft{0%{right:80px;transform:translateY(-50%) rotate(20deg);opacity:1}50%{transform:translateY(-50%) rotate(-10deg)}to{right:calc(100% - 140px);transform:translateY(-50%) rotate(10deg);opacity:0}}.pirate-bomb.player-projectile{width:25px;height:25px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#333,#111);box-shadow:0 0 10px #fc0;animation:bombRight .5s ease-out forwards}.pirate-bomb.player-projectile:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%);width:4px;height:12px;background:linear-gradient(180deg,#f60,#fc0);filter:blur(1px)}.pirate-bomb.enemy-projectile{width:25px;height:25px;border-radius:50%;background:radial-gradient(circle at 70% 30%,#333,#111);box-shadow:0 0 10px #fc0;animation:bombLeft .5s ease-out forwards}@keyframes bombRight{0%{left:80px;top:30%;transform:rotate(0);opacity:1}50%{top:40%;transform:rotate(180deg)}to{left:calc(100% - 105px);top:50%;transform:translateY(-50%) rotate(360deg);opacity:0}}@keyframes bombLeft{0%{right:80px;top:30%;transform:rotate(0);opacity:1}50%{top:40%;transform:rotate(-180deg)}to{right:calc(100% - 105px);top:50%;transform:translateY(-50%) rotate(-360deg);opacity:0}}.viz-character.dino-chomp{animation:dinoChomp .3s ease-out}@keyframes dinoChomp{0%{transform:translate(0) scale(1)}50%{transform:translate(30px) scale(1.1)}to{transform:translate(0) scale(1)}}.viz-character.dino-spin{animation:dinoSpin .35s ease-out}@keyframes dinoSpin{0%{transform:translate(0) rotate(0)}50%{transform:translate(-10px) rotate(-30deg)}to{transform:translate(0) rotate(0)}}.viz-character.dino-slam{animation:dinoSlam .4s ease-out}@keyframes dinoSlam{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-15px) scale(1.05)}70%{transform:translateY(10px) scale(1.1)}to{transform:translateY(0) scale(1)}}.viz-character.dino-roar-anim{animation:dinoRoarAnim .45s ease-out}@keyframes dinoRoarAnim{0%{transform:scale(1)}30%{transform:scale(1.1) translate(-5px)}60%{transform:scale(1.15) translate(5px)}to{transform:scale(1)}}.viz-character.dino-slash{animation:dinoSlash .3s ease-out}@keyframes dinoSlash{0%{transform:translate(0) rotate(0)}50%{transform:translate(25px) rotate(15deg)}to{transform:translate(0) rotate(0)}}.viz-character.dino-charge{animation:dinoCharge .35s ease-out}@keyframes dinoCharge{0%{transform:translate(0) scale(1)}30%{transform:translate(-15px) scale(.95)}70%{transform:translate(40px) scale(1.05)}to{transform:translate(0) scale(1)}}.viz-character.dino-spit{animation:dinoSpit .4s ease-out}@keyframes dinoSpit{0%{transform:translate(0)}40%{transform:translate(-10px)}70%{transform:translate(15px)}to{transform:translate(0)}}.viz-character.dino-throw{animation:dinoThrow .4s ease-out}@keyframes dinoThrow{0%{transform:translate(0) rotate(0)}40%{transform:translate(-20px) rotate(-15deg)}to{transform:translate(10px) rotate(5deg)}}.viz-character.dino-frenzy{animation:dinoFrenzy .45s ease-out}@keyframes dinoFrenzy{0%{transform:scale(1);filter:brightness(1)}20%{transform:scale(1.05) translate(5px);filter:brightness(1.3)}40%{transform:scale(1.08) translate(-5px);filter:brightness(1.5)}60%{transform:scale(1.1) translate(8px);filter:brightness(1.7)}80%{transform:scale(1.05) translate(-3px);filter:brightness(1.3)}to{transform:scale(1);filter:brightness(1)}}.dino-bite.player-projectile{width:50px;height:40px;background:transparent;border-top:20px solid #66aa66;border-bottom:20px solid #66aa66;border-left:25px solid transparent;border-right:0;box-sizing:border-box;animation:biteRight .35s ease-out forwards}.dino-bite.enemy-projectile{width:50px;height:40px;background:transparent;border-top:20px solid #aa6666;border-bottom:20px solid #aa6666;border-right:25px solid transparent;border-left:0;box-sizing:border-box;animation:biteLeft .35s ease-out forwards}@keyframes biteRight{0%{left:80px;transform:translateY(-50%) scaleX(0);opacity:1}40%{transform:translateY(-50%) scaleX(1.2)}70%{transform:translateY(-50%) scaleX(.3)}to{left:130px;transform:translateY(-50%) scaleX(0);opacity:0}}@keyframes biteLeft{0%{right:80px;transform:translateY(-50%) scaleX(0);opacity:1}40%{transform:translateY(-50%) scaleX(1.2)}70%{transform:translateY(-50%) scaleX(.3)}to{right:130px;transform:translateY(-50%) scaleX(0);opacity:0}}.dino-tail.player-projectile{width:70px;height:70px;border:5px solid transparent;border-bottom-color:#6a6;border-radius:50%;background:transparent;box-shadow:0 0 15px #66aa6680;animation:tailRight .4s ease-out forwards}.dino-tail.enemy-projectile{width:70px;height:70px;border:5px solid transparent;border-bottom-color:#a66;border-radius:50%;background:transparent;box-shadow:0 0 15px #aa666680;animation:tailLeft .4s ease-out forwards}@keyframes tailRight{0%{left:60px;transform:translateY(-50%) rotate(180deg) scale(.5);opacity:1}50%{transform:translateY(-50%) rotate(90deg) scale(1)}to{left:130px;transform:translateY(-50%) rotate(0) scale(.5);opacity:0}}@keyframes tailLeft{0%{right:60px;transform:translateY(-50%) rotate(-180deg) scale(.5);opacity:1}50%{transform:translateY(-50%) rotate(-90deg) scale(1)}to{right:130px;transform:translateY(-50%) rotate(0) scale(.5);opacity:0}}.dino-stomp.player-projectile{width:80px;height:25px;background:linear-gradient(90deg,transparent,rgba(139,119,101,.8),rgba(139,119,101,.6),transparent);border-radius:50%;box-shadow:0 5px 15px #64503c80;animation:stompRight .45s ease-out forwards}.dino-stomp.enemy-projectile{width:80px;height:25px;background:linear-gradient(270deg,transparent,rgba(139,99,99,.8),rgba(139,99,99,.6),transparent);border-radius:50%;box-shadow:0 5px 15px #643c3c80;animation:stompLeft .45s ease-out forwards}@keyframes stompRight{0%{left:60px;top:65%;transform:scaleX(.3);opacity:1}to{left:calc(100% - 140px);top:65%;transform:scaleX(1.5);opacity:0}}@keyframes stompLeft{0%{right:60px;top:65%;transform:scaleX(.3);opacity:1}to{right:calc(100% - 140px);top:65%;transform:scaleX(1.5);opacity:0}}.dino-roar.player-projectile{width:100px;height:60px;background:radial-gradient(ellipse at left,rgba(102,170,102,.6),rgba(102,170,102,.3),transparent);border-radius:50%;box-shadow:0 0 20px #6a66;animation:roarRight .5s ease-out forwards}.dino-roar.enemy-projectile{width:100px;height:60px;background:radial-gradient(ellipse at right,rgba(170,102,102,.6),rgba(170,102,102,.3),transparent);border-radius:50%;box-shadow:0 0 20px #a666;animation:roarLeft .5s ease-out forwards}@keyframes roarRight{0%{left:80px;transform:translateY(-50%) scaleX(.3);opacity:1}to{left:calc(100% - 180px);transform:translateY(-50%) scaleX(1.5);opacity:0}}@keyframes roarLeft{0%{right:80px;transform:translateY(-50%) scaleX(.3);opacity:1}to{right:calc(100% - 180px);transform:translateY(-50%) scaleX(1.5);opacity:0}}.dino-claw.player-projectile{width:50px;height:50px;background:transparent;position:relative;animation:clawRight .35s ease-out forwards}.dino-claw.player-projectile:before,.dino-claw.player-projectile:after{content:"";position:absolute;width:30px;height:4px;background:linear-gradient(90deg,#6a6,#8c8);border-radius:2px;box-shadow:0 0 5px #6a6}.dino-claw.player-projectile:before{top:10px;transform:rotate(-20deg)}.dino-claw.player-projectile:after{top:25px;transform:rotate(20deg)}.dino-claw.enemy-projectile{width:50px;height:50px;background:transparent;animation:clawLeft .35s ease-out forwards}@keyframes clawRight{0%{left:80px;transform:translateY(-50%) scale(.5);opacity:1}50%{transform:translateY(-50%) scale(1)}to{left:150px;transform:translateY(-50%) scale(.3);opacity:0}}@keyframes clawLeft{0%{right:80px;transform:translateY(-50%) scale(.5);opacity:1}50%{transform:translateY(-50%) scale(1)}to{right:150px;transform:translateY(-50%) scale(.3);opacity:0}}.dino-headbutt.player-projectile{width:40px;height:30px;background:radial-gradient(ellipse at right,#6a6,#585);border-radius:50% 20% 20% 50%;box-shadow:0 0 15px #66aa6680;animation:headbuttRight .4s ease-out forwards}.dino-headbutt.enemy-projectile{width:40px;height:30px;background:radial-gradient(ellipse at left,#a66,#855);border-radius:20% 50% 50% 20%;box-shadow:0 0 15px #aa666680;animation:headbuttLeft .4s ease-out forwards}@keyframes headbuttRight{0%{left:80px;transform:translateY(-50%) scale(.8);opacity:1}to{left:calc(100% - 120px);transform:translateY(-50%) scale(1.2);opacity:0}}@keyframes headbuttLeft{0%{right:80px;transform:translateY(-50%) scale(.8);opacity:1}to{right:calc(100% - 120px);transform:translateY(-50%) scale(1.2);opacity:0}}.dino-acid.player-projectile{width:25px;height:25px;border-radius:50%/60% 60% 40% 40%;background:radial-gradient(circle at 30% 30%,#cf0,#8c0,#6a0);box-shadow:0 0 15px #8c0;animation:acidRight .45s ease-out forwards}.dino-acid.player-projectile:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:15px;height:8px;background:linear-gradient(90deg,transparent,#88cc00);filter:blur(2px)}.dino-acid.enemy-projectile{width:25px;height:25px;border-radius:50%/60% 60% 40% 40%;background:radial-gradient(circle at 70% 30%,#f60,#c40,#a30);box-shadow:0 0 15px #c40;animation:acidLeft .45s ease-out forwards}@keyframes acidRight{0%{left:80px;top:40%;transform:scale(.5);opacity:1}50%{top:55%;transform:scale(1)}to{left:calc(100% - 105px);top:50%;transform:translateY(-50%) scale(.8);opacity:0}}@keyframes acidLeft{0%{right:80px;top:40%;transform:scale(.5);opacity:1}50%{top:55%;transform:scale(1)}to{right:calc(100% - 105px);top:50%;transform:translateY(-50%) scale(.8);opacity:0}}.dino-rock.player-projectile{width:30px;height:28px;background:linear-gradient(135deg,#888,#666,#555);clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);box-shadow:0 5px 10px #0000004d;animation:rockRight .45s ease-out forwards}.dino-rock.enemy-projectile{width:30px;height:28px;background:linear-gradient(225deg,#888,#666,#555);clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);box-shadow:0 5px 10px #0000004d;animation:rockLeft .45s ease-out forwards}@keyframes rockRight{0%{left:80px;top:30%;transform:rotate(0);opacity:1}50%{top:40%;transform:rotate(180deg)}to{left:calc(100% - 110px);top:50%;transform:translateY(-50%) rotate(360deg);opacity:0}}@keyframes rockLeft{0%{right:80px;top:30%;transform:rotate(0);opacity:1}50%{top:40%;transform:rotate(-180deg)}to{right:calc(100% - 110px);top:50%;transform:translateY(-50%) rotate(-360deg);opacity:0}}.dino-quake.player-projectile{width:120px;height:30px;background:linear-gradient(90deg,transparent,rgba(139,119,101,.5),rgba(139,119,101,.8),rgba(139,119,101,.5),transparent);border-radius:50%;box-shadow:0 8px 20px #64503c80;animation:quakeRight .55s ease-out forwards}.dino-quake.enemy-projectile{width:120px;height:30px;background:linear-gradient(270deg,transparent,rgba(139,99,99,.5),rgba(139,99,99,.8),rgba(139,99,99,.5),transparent);border-radius:50%;box-shadow:0 8px 20px #643c3c80;animation:quakeLeft .55s ease-out forwards}@keyframes quakeRight{0%{left:50px;top:65%;transform:scaleX(.2) scaleY(.5);opacity:1}to{left:calc(100% - 170px);top:65%;transform:scaleX(1.5) scaleY(1);opacity:0}}@keyframes quakeLeft{0%{right:50px;top:65%;transform:scaleX(.2) scaleY(.5);opacity:1}to{right:calc(100% - 170px);top:65%;transform:scaleX(1.5) scaleY(1);opacity:0}}.dino-rage.player-projectile{width:60px;height:60px;background:radial-gradient(circle,rgba(255,100,0,.8) 0%,rgba(255,50,0,.5) 50%,transparent 100%);border-radius:50%;box-shadow:0 0 30px #ff640099;animation:rageRight .5s ease-out forwards}.dino-rage.enemy-projectile{width:60px;height:60px;background:radial-gradient(circle,rgba(200,0,100,.8) 0%,rgba(150,0,80,.5) 50%,transparent 100%);border-radius:50%;box-shadow:0 0 30px #c8006499;animation:rageLeft .5s ease-out forwards}@keyframes rageRight{0%{left:80px;transform:translateY(-50%) scale(.3);opacity:1}40%{transform:translateY(-50%) scale(1.3)}to{left:calc(100% - 140px);transform:translateY(-50%) scale(1.8);opacity:0}}@keyframes rageLeft{0%{right:80px;transform:translateY(-50%) scale(.3);opacity:1}40%{transform:translateY(-50%) scale(1.3)}to{right:calc(100% - 140px);transform:translateY(-50%) scale(1.8);opacity:0}}.viz-impact{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:30}.impact-fire{width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,#ffcc00 0%,#ff6600 40%,transparent 70%);animation:impactFire .4s ease-out forwards}@keyframes impactFire{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}50%{transform:translate(-50%,-50%) scale(1.5);opacity:.8}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.impact-ice{width:50px;height:50px;border-radius:50%;background:radial-gradient(circle,#ffffff 0%,#88ffff 40%,transparent 70%);animation:impactIce .4s ease-out forwards}@keyframes impactIce{0%{transform:translate(-50%,-50%) scale(.3);opacity:1;filter:hue-rotate(0deg)}50%{transform:translate(-50%,-50%) scale(1.3);opacity:.9;filter:hue-rotate(20deg)}to{transform:translate(-50%,-50%) scale(1.8);opacity:0}}.impact-electric{width:50px;height:50px;border:3px solid #00ffff;border-radius:50%;background:transparent;box-shadow:0 0 20px #0ff,inset 0 0 20px #00ffff4d;animation:impactElectric .4s linear forwards}@keyframes impactElectric{0%,20%,40%,60%,80%{opacity:1;transform:translate(-50%,-50%) scale(1)}10%,30%,50%,70%,90%{opacity:.5;transform:translate(-50%,-50%) scale(1.2)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}.impact-magic{width:50px;height:50px;border-radius:50%;background:radial-gradient(circle,#ffffff 0%,#aa88ff 40%,transparent 70%);animation:impactMagic .4s ease-out forwards}@keyframes impactMagic{0%{transform:translate(-50%,-50%) scale(.3) rotate(0);opacity:1}50%{transform:translate(-50%,-50%) scale(1.3) rotate(180deg);opacity:.8}to{transform:translate(-50%,-50%) scale(1.8) rotate(360deg);opacity:0}}.impact-force{width:60px;height:60px;border-radius:50%;border:4px solid rgba(255,255,255,.8);background:transparent;animation:impactForce .4s ease-out forwards}@keyframes impactForce{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.impact-slash{width:60px;height:60px;background:transparent;position:relative}.impact-slash:before,.impact-slash:after{content:"";position:absolute;top:50%;left:50%;width:40px;height:3px;background:linear-gradient(90deg,transparent,#ffffff,transparent)}.impact-slash:before{transform:translate(-50%,-50%) rotate(45deg)}.impact-slash:after{transform:translate(-50%,-50%) rotate(-45deg)}.impact-slash{animation:impactSlash .3s ease-out forwards}@keyframes impactSlash{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.impact-explosion{width:70px;height:70px;border-radius:50%;background:radial-gradient(circle,#ffffff 0%,#ffcc00 30%,#ff6600 60%,transparent 100%);animation:impactExplosion .5s ease-out forwards}@keyframes impactExplosion{0%{transform:translate(-50%,-50%) scale(.2);opacity:1}30%{transform:translate(-50%,-50%) scale(1.5);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.impact-void{width:50px;height:50px;border-radius:50%;background:radial-gradient(circle,#000000 0%,#330033 50%,transparent 100%);box-shadow:inset 0 0 20px #000;animation:impactVoid .5s ease-out forwards}@keyframes impactVoid{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}50%{transform:translate(-50%,-50%) scale(1.5);opacity:.8}to{transform:translate(-50%,-50%) scale(.5);opacity:0}}.impact-quake{width:80px;height:20px;border-radius:50%;background:radial-gradient(ellipse,rgba(139,119,101,.8),transparent);animation:impactQuake .5s ease-out forwards}@keyframes impactQuake{0%,20%,40%,60%,80%{transform:translate(-50%) scaleX(1);opacity:1}10%,30%,50%,70%{transform:translate(-50%) scaleX(1.2)}90%{transform:translate(-50%) scaleX(1.5);opacity:.5}to{transform:translate(-50%) scaleX(2);opacity:0}}
