.game-panel{width:100%;height:100%;display:flex;flex-direction:column;background:transparent;overflow:hidden;position:relative}.game-header{background:#ffffff0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:1rem 1rem 0 0;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:all .3s ease}.game-header:hover{box-shadow:0 0 20px #34b2984d}.game-title{display:flex;align-items:center;gap:.75rem}.game-title h2{margin:0;font-size:1.125rem;font-weight:600;background:linear-gradient(to right,var(--color-accent-green),var(--color-accent-blue));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.game-status{background:#34b29833;border:1px solid var(--color-accent-green);color:var(--color-accent-green);padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:500;animation:glow 2s ease-in-out infinite}.game-status.playing{background:#00ff7f33;border-color:#00ff7f;color:#00ff7f}.game-status.game-over{background:#ff450033;border-color:#ff4500;color:#ff4500;animation:none}.game-status.victory{background:#ffd70033;border-color:gold;color:gold;animation:victoryGlow 1s ease-in-out infinite}.game-status.paused{background:#ff03;border-color:#ff0;color:#ff0;animation:none}.game-info{display:flex;align-items:center;gap:1rem}.game-score{background:#09f3;border:1px solid var(--color-accent-blue);color:var(--color-accent-blue);padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;font-family:Courier New,monospace}.game-controls{display:flex;gap:.5rem}.control-btn{background:linear-gradient(135deg,var(--color-accent-blue),var(--color-accent-purple));border:none;color:#fff;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.75rem;font-weight:500;display:flex;align-items:center;gap:.375rem;transition:all .3s ease;box-shadow:0 0 15px #0099ff4d}.control-btn:hover{transform:translateY(-2px);box-shadow:0 0 25px #0099ff80;background:linear-gradient(135deg,var(--color-accent-green),var(--color-accent-blue))}.control-btn:active{transform:translateY(0)}.game-content{width:100%;height:100%;flex:1;position:relative;background:#000;overflow:hidden}.game-iframe{width:100%;height:100%;border:none;background:transparent;border-radius:0 0 1rem 1rem}@keyframes victoryGlow{0%,to{box-shadow:0 0 10px #ffd70080}50%{box-shadow:0 0 20px #ffd700cc,0 0 30px #ffd70099}}@keyframes glow{0%,to{box-shadow:0 0 5px #34b29880}50%{box-shadow:0 0 15px #34b298cc,0 0 25px #34b29899}}.game-canvas-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#87ceeb,#4682b4);border-radius:0 0 1rem 1rem}.game-canvas{max-width:100%;max-height:100%;border-radius:.5rem;box-shadow:0 4px 20px #0000004d}.game-lives,.game-coins{background:#ffa50033;border:1px solid #ffa500;color:orange;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;font-family:Courier New,monospace}.game-error{position:absolute;top:1rem;left:1rem;right:1rem;z-index:1000;background:#ff4500e6;border:1px solid #ff4500;color:#fff;padding:.5rem 1rem;border-radius:.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;box-shadow:0 4px 12px #ff45004d}.error-close{background:none;border:none;color:#fff;cursor:pointer;font-size:1.25rem;padding:0;line-height:1}.error-close:hover{color:#fcc}.level-info{background:#34b29833;border:1px solid var(--color-accent-green);color:var(--color-accent-green);padding:.5rem 1rem;margin:.5rem;border-radius:.5rem;font-size:.875rem}.control-btn:disabled{background:#8080804d;color:#ffffff80;cursor:not-allowed;box-shadow:none}.control-btn:disabled:hover{transform:none;background:#8080804d}.audio-btn{background:linear-gradient(135deg,#ff6b35,#f7931e)}.audio-btn:hover{background:linear-gradient(135deg,#ff8055,#f9a23e)}.audio-settings{background:#000000e6;border:1px solid rgba(255,255,255,.2);border-radius:.5rem;padding:1rem;margin:.5rem;color:#fff}.audio-settings h4{margin:0 0 .75rem;color:var(--color-accent-green);font-size:.9rem}.volume-control{margin-bottom:.75rem}.volume-control label{display:block;font-size:.75rem;margin-bottom:.25rem;color:#fffc}.volume-slider{width:100%;height:4px;background:#fff3;border-radius:2px;outline:none;-webkit-appearance:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--color-accent-blue);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0000004d}.volume-slider::-moz-range-thumb{width:16px;height:16px;background:var(--color-accent-blue);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 6px #0000004d}.audio-test-btn{background:#34b29833;border:1px solid var(--color-accent-green);color:var(--color-accent-green);padding:.25rem .5rem;border-radius:.25rem;cursor:pointer;font-size:.7rem;margin-left:.5rem;transition:all .2s ease}.audio-test-btn:hover{background:#34b2984d;transform:translateY(-1px)}.message-list{display:flex;flex-direction:column;gap:1rem;padding-bottom:.5rem}.message{display:flex;gap:.75rem;max-width:100%;animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-avatar{width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;background:linear-gradient(135deg,var(--color-accent-blue),var(--color-accent-purple));box-shadow:0 0 20px #0099ff4d;transition:all .3s ease}.message-avatar:hover{transform:scale(1.05);box-shadow:0 0 30px #0099ff80}.message.user .message-avatar{background:linear-gradient(135deg,var(--color-accent-green),var(--color-accent-blue));box-shadow:0 0 20px #34b2984d}.message.user .message-avatar:hover{box-shadow:0 0 30px #34b29880}.message-content{flex:1;min-width:0}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.message-sender{font-weight:600;font-size:.8125rem;background:linear-gradient(to right,var(--color-accent-blue),var(--color-accent-purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.message.user .message-sender{background:linear-gradient(to right,var(--color-accent-green),var(--color-accent-blue));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.message-time{font-size:.6875rem;color:#ffffff80;font-weight:400}.message-image{margin:.5rem 0;border-radius:.5rem;overflow:hidden;max-width:200px;box-shadow:0 0 20px #34b29833;border:1px solid rgba(255,255,255,.1)}.message-image img{width:100%;height:auto;display:block;border-radius:.5rem}.message-text{background:#232332e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);padding:.75rem 1rem;border-radius:.75rem .75rem .75rem .25rem;color:#fff;font-size:.875rem;line-height:1.5;word-wrap:break-word;transition:all .3s ease;position:relative;box-shadow:0 2px 8px #0003}.message-text:hover{background:#282837f2;border-color:#0099ff80;box-shadow:0 4px 12px #0006}.message.user .message-text{background:#34b29840;border-radius:.75rem .75rem .25rem;border:1px solid rgba(52,178,152,.4);color:#fff}.message.user .message-text:hover{background:#34b2984d;border-color:#34b29899}.typing-indicator{background:#232332e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);padding:1rem;border-radius:.75rem .75rem .75rem .25rem;animation:glow 2s ease-in-out infinite;box-shadow:0 2px 8px #0003}.typing-dots{display:flex;gap:.375rem;align-items:center}.typing-dots span{width:.5rem;height:.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-accent-green),var(--color-accent-blue));animation:typingBounce 1.4s ease-in-out infinite both}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.message-buttons{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.message-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid transparent;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;background:linear-gradient(135deg,#09f,#8b5cf6);color:#fff;min-height:44px;position:relative;z-index:10;outline:none}.message-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0099ff4d;background:linear-gradient(135deg,#8b5cf6,#09f)}.message-button:active{transform:translateY(0)}.message-button.secondary{background:#ffffff1a;color:#ffffffe6;border-color:#ffffff4d}.message-button.secondary:hover{background:#fff3;border-color:#ffffff80;box-shadow:0 4px 12px #ffffff1a}.chat-input{width:100%}.image-preview{position:relative;margin-bottom:.75rem;display:inline-block}.image-preview img{max-width:150px;max-height:100px;border-radius:.5rem;box-shadow:0 0 20px #34b2984d;border:1px solid var(--color-accent-green);transition:all .3s ease}.image-preview img:hover{box-shadow:0 0 30px #34b29880}.remove-image{position:absolute;top:-.5rem;right:-.5rem;width:1.5rem;height:1.5rem;border-radius:50%;background:linear-gradient(135deg,#ff4757,#ff3838);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;box-shadow:0 0 15px #ff475766;transition:all .3s ease}.remove-image:hover{background:linear-gradient(135deg,#ff3838,#e23e3e);transform:scale(1.1);box-shadow:0 0 25px #ff475799}.input-form{width:100%}.input-container{display:flex;align-items:flex-end;gap:.5rem;background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:.75rem;padding:.5rem;transition:all .3s ease}.input-container:focus-within{border-color:var(--color-accent-green);box-shadow:0 0 0 3px #34b29833;background:#ffffff1f}.input-container:hover{background:#ffffff1a;border-color:#34b29866}.image-upload-btn{background:linear-gradient(135deg,var(--color-accent-blue),var(--color-accent-purple));border:none;color:#fff;width:2.25rem;height:2.25rem;border-radius:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .3s ease;box-shadow:0 0 20px #0099ff4d;flex-shrink:0}.image-upload-btn:hover{transform:translateY(-2px);box-shadow:0 0 30px #0099ff80;background:linear-gradient(135deg,var(--color-accent-green),var(--color-accent-blue))}.image-upload-btn:active{transform:translateY(0)}.hidden-file-input{display:none}.message-input{flex:1;background:transparent;border:none;color:#fff;font-size:.875rem;line-height:1.4;resize:none;outline:none;padding:.5rem .75rem;border-radius:.375rem;font-family:inherit;min-height:20px;max-height:120px;overflow-y:auto}.message-input::-moz-placeholder{color:#fff9;opacity:.9}.message-input::placeholder{color:#fff9;opacity:.9}.message-input::-webkit-scrollbar{width:4px}.message-input::-webkit-scrollbar-track{background:transparent}.message-input::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,var(--color-accent-green),var(--color-accent-blue));border-radius:2px}.send-button{background:#ffffff26;border:none;color:#fff9;width:2.25rem;height:2.25rem;border-radius:.5rem;cursor:not-allowed;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .3s ease;flex-shrink:0}.send-button.active{background:linear-gradient(135deg,var(--color-accent-green),var(--color-accent-blue));color:#fff;cursor:pointer;box-shadow:0 0 20px #34b29866}.send-button.active:hover{transform:translateY(-2px);box-shadow:0 0 30px #34b29899;background:linear-gradient(135deg,var(--color-accent-blue),var(--color-accent-purple))}.send-button.active:active{transform:translateY(0)}.send-icon{display:block;transition:transform .2s ease}.send-button.active .send-icon{transform:translate(1px)}.modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-container{background:linear-gradient(135deg,#191928fa,#0f0f1efa);border:1px solid rgba(52,178,152,.3);border-radius:1.5rem;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;position:relative;box-shadow:0 0 60px #34b29833,0 20px 60px #00000080,inset 0 0 120px #0099ff0d;animation:slideUp .4s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#ffffffb3;font-size:1.2rem;transition:all .3s ease;z-index:10}.modal-close:hover{background:#ff475733;border-color:#ff475780;color:#ff4757;transform:rotate(90deg)}.modal-content{padding:2.5rem}.upload-header{text-align:center;margin-bottom:2rem}.icon-container{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,var(--color-accent-green),var(--color-accent-blue));border-radius:50%;margin-bottom:1.5rem;box-shadow:0 0 40px #34b29866;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.upload-icon{font-size:2.5rem}.modal-title{color:#fff;font-size:1.8rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(to right,var(--color-accent-green),var(--color-accent-blue));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.modal-subtitle{color:#ffffffb3;font-size:1rem;margin:0}.drop-zone{border:2px dashed rgba(52,178,152,.4);border-radius:1rem;padding:3rem 2rem;text-align:center;transition:all .3s ease;background:#ffffff05;position:relative;overflow:hidden}.drop-zone:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,transparent 0%,rgba(52,178,152,.05) 100%);opacity:0;transition:opacity .3s ease}.drop-zone:hover:before,.drop-zone.drag-active:before{opacity:1}.drop-zone:hover{border-color:#34b29899;background:#34b2980d}.drop-zone.drag-active{border-color:var(--color-accent-green);background:#34b2981a;box-shadow:0 0 30px #34b2984d}.file-input{display:none}.drop-zone-content{pointer-events:none}.drop-zone-content .browse-btn,.drop-zone-content label{pointer-events:auto}.upload-button-section{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.upload-or{display:block;color:#fff9;font-size:.9rem;margin-bottom:1rem;font-weight:500}.mobile-upload-btn{background:linear-gradient(135deg,var(--color-accent-green),var(--color-accent-blue));border:none;color:#fff;padding:1rem 2rem;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #34b2984d;display:inline-block;text-decoration:none;min-width:200px;text-align:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mobile-upload-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #34b29880}.upload-animation{width:80px;height:80px;margin:0 auto 1.5rem}.upload-svg{width:100%;height:100%;color:var(--color-accent-green);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}}.upload-path,.upload-border{animation:draw 2s ease-in-out infinite}@keyframes draw{0%,to{stroke-dasharray:100;stroke-dashoffset:0}50%{stroke-dashoffset:-20}}.drop-text{color:#ffffffe6;font-size:1.1rem;margin:0 0 1rem;font-weight:500}.browse-btn{background:linear-gradient(135deg,var(--color-accent-green),var(--color-accent-blue));border:none;color:#fff;padding:.75rem 2rem;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #34b2984d;pointer-events:all;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}.browse-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #34b29880}.instructions{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.instructions-title{color:#ffffffe6;font-size:1rem;font-weight:600;margin:0 0 1rem;text-align:center}.instruction-items{display:flex;justify-content:space-around;gap:1rem}.instruction-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#ffffff0d;border-radius:.75rem;border:1px solid rgba(255,255,255,.1);flex:1;transition:all .3s ease}.instruction-item:hover{background:#ffffff14;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.shape{font-size:2rem;display:flex;align-items:center;justify-content:center;width:50px;height:50px}.shape.triangle{color:#4ecdc4;filter:drop-shadow(0 0 10px rgba(78,205,196,.5))}.shape.circle{color:#f7b731;filter:drop-shadow(0 0 10px rgba(247,183,49,.5))}.shape.rectangle{color:#5f27cd;filter:drop-shadow(0 0 10px rgba(95,39,205,.5))}.instruction-item span:last-child{color:#fffc;font-size:.85rem;text-align:center}.preview-container{animation:fadeIn .3s ease}.preview-image-container{position:relative;margin:2rem 0;border-radius:1rem;overflow:hidden;box-shadow:0 10px 40px #0000004d;background:#00000080}.preview-image{width:100%;height:auto;max-height:400px;-o-object-fit:contain;object-fit:contain;display:block}.preview-overlay{position:absolute;inset:0;pointer-events:none}.preview-grid{width:100%;height:100%;background-image:linear-gradient(rgba(52,178,152,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(52,178,152,.1) 1px,transparent 1px);background-size:20px 20px;animation:grid-move 10s linear infinite}@keyframes grid-move{0%{transform:translate(0)}to{transform:translate(20px,20px)}}.preview-info{display:flex;gap:2rem;justify-content:center;margin:1.5rem 0}.info-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff0d;border-radius:.5rem;border:1px solid rgba(255,255,255,.1)}.info-icon{font-size:1.2rem}.info-text{color:#fffc;font-size:.9rem}.modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn-secondary,.btn-primary{padding:.75rem 1.5rem;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;display:flex;align-items:center;gap:.5rem}.btn-secondary{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#ffffff26;transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--color-accent-green),var(--color-accent-blue));color:#fff;box-shadow:0 4px 15px #34b2984d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px #34b29880}.btn-icon{font-size:1.2rem}.processing-container{text-align:center;padding:2rem 0;animation:fadeIn .3s ease}.processing-animation{width:200px;height:200px;margin:0 auto 2rem;position:relative}.scanner-line{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-accent-green),transparent);animation:scan 2s ease-in-out infinite}@keyframes scan{0%,to{top:0}50%{top:calc(100% - 2px)}}.corner-brackets{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:150px;height:150px}.bracket{position:absolute;width:30px;height:30px;border:2px solid var(--color-accent-blue)}.bracket.top-left{top:0;left:0;border-right:none;border-bottom:none;animation:bracket-pulse 1.5s ease-in-out infinite}.bracket.top-right{top:0;right:0;border-left:none;border-bottom:none;animation:bracket-pulse 1.5s ease-in-out infinite .375s}.bracket.bottom-left{bottom:0;left:0;border-right:none;border-top:none;animation:bracket-pulse 1.5s ease-in-out infinite .75s}.bracket.bottom-right{bottom:0;right:0;border-left:none;border-top:none;animation:bracket-pulse 1.5s ease-in-out infinite 1.125s}@keyframes bracket-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.pulse-circles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pulse-circle{position:absolute;width:100px;height:100px;border:1px solid var(--color-accent-green);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);animation:pulse-expand 3s ease-out infinite}.pulse-circle:nth-child(2){animation-delay:1s}.pulse-circle:nth-child(3){animation-delay:2s}@keyframes pulse-expand{0%{width:0;height:0;opacity:1}to{width:200px;height:200px;opacity:0}}.processing-title{color:#fff;font-size:1.8rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(to right,var(--color-accent-green),var(--color-accent-blue));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.processing-subtitle{color:#ffffffb3;font-size:1rem;margin:0 0 2rem}.processing-steps{display:flex;justify-content:center;gap:2rem;margin-top:2rem}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.3;transition:all .5s ease}.step.active{opacity:1;animation:step-pulse 1s ease-in-out infinite}@keyframes step-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.step-icon{font-size:2rem;filter:grayscale(1);transition:filter .5s ease}.step.active .step-icon{filter:grayscale(0) drop-shadow(0 0 10px rgba(52,178,152,.5))}.step span:last-child{color:#fff9;font-size:.85rem}.step.active span:last-child{color:#ffffffe6}.ai-loader-overlay{position:fixed;inset:0;background:radial-gradient(circle at 20% 80%,rgba(0,255,127,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(0,191,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(138,43,226,.08) 0%,transparent 50%),linear-gradient(135deg,#0a0a0a,#1a0033,#000a1a);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:center;align-items:center;z-index:10000;animation:matrixRain 20s linear infinite}@keyframes matrixRain{0%{background-position:0% 0%}to{background-position:100% 100%}}.ai-loader-overlay:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,transparent 98%,rgba(0,255,127,.03) 100%),linear-gradient(0deg,transparent 98%,rgba(0,255,127,.03) 100%);background-size:50px 50px;animation:grid-move 2s linear infinite;pointer-events:none}@keyframes grid-move{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.ai-loader-container{background:linear-gradient(135deg,#001428f2,#0a001ef2,#000a14f2);border:2px solid transparent;border-radius:20px;padding:30px;width:90%;max-width:900px;box-shadow:0 0 50px #00ff7f33,0 0 100px #00bfff1a,inset 0 1px #ffffff1a;position:relative;overflow:hidden}.ai-loader-container:before{content:"";position:absolute;inset:0;border-radius:20px;padding:2px;background:linear-gradient(45deg,#00ff7f,#00bfff,#8a2be2,#ff1493,#00ff7f);background-size:400% 400%;animation:gradientBorder 4s ease infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:exclude;mask-composite:exclude}@keyframes gradientBorder{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.ai-loader-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid rgba(0,255,127,.3)}.ai-loader-title{display:flex;align-items:center;gap:15px}.ai-icon{font-size:2.5rem;animation:robotPulse 2s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(0,255,127,.6))}@keyframes robotPulse{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(5deg)}}.ai-loader-title h2{color:#00ff7f;font-size:1.8rem;font-weight:700;margin:0;text-shadow:0 0 10px rgba(0,255,127,.5),0 0 20px rgba(0,255,127,.3);font-family:Courier New,monospace;letter-spacing:1px}.loading-indicator{display:flex;gap:8px;align-items:center}.pulse-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(45deg,#00ff7f,#00bfff);animation:pulseDot 1.5s ease-in-out infinite}.pulse-dot:nth-child(2){animation-delay:.3s}.pulse-dot:nth-child(3){animation-delay:.6s}@keyframes pulseDot{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.3);box-shadow:0 0 15px #00ff7fcc}}.ai-stats{display:flex;gap:30px}.stat-item{display:flex;flex-direction:column;align-items:flex-end}.stat-label{color:#00bfffcc;font-size:.8rem;font-family:Courier New,monospace;text-transform:uppercase;letter-spacing:1px}.stat-value{color:#00bfff;font-size:1.1rem;font-weight:600;font-family:Courier New,monospace;text-shadow:0 0 5px rgba(0,191,255,.5)}.progress-section{margin-bottom:30px}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.current-step{display:flex;align-items:center;gap:15px}.step-number{background:linear-gradient(135deg,#8a2be2,#ff1493);color:#fff;padding:5px 12px;border-radius:15px;font-size:.9rem;font-weight:600;font-family:Courier New,monospace;box-shadow:0 0 15px #8a2be266}.step-title{color:#fff;font-size:1.3rem;font-weight:600;text-shadow:0 0 10px rgba(255,255,255,.3)}.progress-percent{color:#00ff7f;font-size:1.5rem;font-weight:700;font-family:Courier New,monospace;text-shadow:0 0 10px rgba(0,255,127,.6)}.progress-bar{position:relative;background:#00000080;height:12px;border-radius:6px;overflow:hidden;border:1px solid rgba(0,255,127,.3);margin-bottom:10px}.progress-fill{height:100%;background:linear-gradient(90deg,#00ff7f,#00bfff,#8a2be2);border-radius:6px;transition:width .3s ease;box-shadow:0 0 20px #00ff7f99,inset 0 1px #ffffff4d;animation:progressGlow 2s ease-in-out infinite}@keyframes progressGlow{0%,to{box-shadow:0 0 20px #00ff7f99,inset 0 1px #ffffff4d}50%{box-shadow:0 0 30px #00ff7fe6,0 0 40px #00bfff80,inset 0 1px #ffffff80}}.progress-glow{position:absolute;top:0;left:0;height:100%;width:30px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progressSweep 2s ease-in-out infinite}@keyframes progressSweep{0%{left:-30px}to{left:100%}}.step-description{color:#ffffffb3;font-style:italic;text-align:center}.code-terminal{background:#000c;border:1px solid rgba(0,255,127,.3);border-radius:10px;margin-bottom:30px;overflow:hidden;box-shadow:0 0 20px #00000080,inset 0 1px #00ff7f33}.terminal-header{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);padding:10px 15px;display:flex;align-items:center;gap:15px;border-bottom:1px solid rgba(0,255,127,.3)}.terminal-controls{display:flex;gap:8px}.control-dot{width:12px;height:12px;border-radius:50%;opacity:.8}.control-dot.red{background:#ff5f56}.control-dot.yellow{background:#ffbd2e}.control-dot.green{background:#27ca3f}.terminal-title{color:#fffc;font-size:.9rem;font-family:Courier New,monospace}.terminal-body{padding:20px;height:200px;overflow-y:auto}.code-content{font-family:Courier New,monospace;font-size:.9rem;line-height:1.4}.code-content code{color:#00ff7f;text-shadow:0 0 5px rgba(0,255,127,.3)}.typing-animation{white-space:pre-wrap}.cursor{color:#00bfff;font-weight:700;animation:cursorBlink 1s infinite}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}.neural-network{background:#0000004d;border:1px solid rgba(138,43,226,.3);border-radius:10px;padding:20px;position:relative;height:150px}.network-title{color:#8a2be2;font-size:1rem;font-weight:600;margin-bottom:15px;text-align:center;text-shadow:0 0 10px rgba(138,43,226,.5)}.network-nodes{position:relative;height:100%}.network-node{position:absolute;width:12px;height:12px;border-radius:50%;background:#8a2be299;border:2px solid rgba(138,43,226,.8);animation:networkPulse 2s ease-in-out infinite}.network-node.active{background:#ff1493;border-color:#ff1493;box-shadow:0 0 20px #ff1493cc,0 0 40px #ff149366;animation:networkActive 1s ease-in-out infinite}@keyframes networkPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes networkActive{0%,to{transform:scale(1.2);box-shadow:0 0 20px #ff1493cc,0 0 40px #ff149366}50%{transform:scale(1.5);box-shadow:0 0 30px #ff1493,0 0 60px #ff149399}}.network-connection{position:absolute;width:2px;height:40px;background:linear-gradient(180deg,transparent,rgba(0,191,255,.6),transparent);animation:dataFlow 1.5s ease-in-out infinite}@keyframes dataFlow{0%,to{opacity:.3}50%{opacity:1}}@media (max-width: 768px){.ai-loader-container{width:95%;padding:20px}.ai-loader-header{flex-direction:column;gap:20px;text-align:center}.ai-stats{gap:20px}.progress-info{flex-direction:column;gap:10px;text-align:center}.current-step{flex-direction:column;gap:10px}.terminal-body{height:150px}.neural-network{height:120px}}@media (max-width: 480px){.ai-loader-title h2{font-size:1.4rem}.code-content{font-size:.8rem}.step-title{font-size:1.1rem}.progress-percent{font-size:1.2rem}}.chat-panel{height:100%;display:flex;flex-direction:column;background:transparent;overflow:hidden}.chat-header{background:#191923f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);border-radius:1rem 1rem 0 0;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease;box-shadow:0 4px 6px #0000004d}.chat-header:hover{box-shadow:0 0 20px #0099ff4d}.chat-title{display:flex;align-items:center;gap:.75rem}.chat-title h3{margin:0;color:#fff;font-size:1rem;font-weight:600;background:linear-gradient(to right,var(--color-accent-green),var(--color-accent-blue));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.chat-status{background:#34b29833;border:1px solid var(--color-accent-green);color:var(--color-accent-green);padding:.25rem .75rem;border-radius:.75rem;font-size:.75rem;font-weight:500;animation:glow 2s ease-in-out infinite}.chat-info{display:flex;flex-direction:column;align-items:flex-end}.message-count{color:#fff9;font-size:.75rem;font-weight:500}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;background:#14141ed9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,var(--color-accent-green),var(--color-accent-blue));border-radius:2px}.chat-messages::-webkit-scrollbar-thumb:hover{background:linear-gradient(to bottom,var(--color-accent-blue),var(--color-accent-purple))}.chat-input-container{padding:1rem 1.5rem;background:#191923f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);border-radius:0 0 1rem 1rem;border-top:none;box-shadow:0 -4px 6px #0000004d}.upload-prompt{display:flex;justify-content:center;padding:2rem;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.upload-map-button{background:linear-gradient(135deg,var(--color-accent-green),var(--color-accent-blue));border:none;color:#fff;padding:1rem 2rem;border-radius:1rem;font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.75rem;box-shadow:0 4px 20px #34b2984d,0 0 40px #34b29833;transition:all .3s ease;position:relative;overflow:hidden;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 4px 20px #34b2984d,0 0 40px #34b29833}50%{box-shadow:0 4px 30px #34b29880,0 0 60px #34b2984d}}.upload-map-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.upload-map-button:hover:before{left:100%}.upload-map-button:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 6px 30px #34b29880,0 0 60px #34b29866;background:linear-gradient(135deg,var(--color-accent-blue),var(--color-accent-purple))}.upload-map-button:active{transform:translateY(-1px) scale(1)}.upload-map-button .button-icon{font-size:1.4rem;filter:drop-shadow(0 0 5px rgba(255,255,255,.5));animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.upload-map-button span:last-child{letter-spacing:.5px;text-shadow:0 0 10px rgba(255,255,255,.3)}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(135deg,#1e3a8a,#3b82f6,#06b6d4);border-radius:20px;width:90%;max-width:600px;max-height:85vh;overflow:hidden;box-shadow:0 25px 50px #00000080,0 0 0 1px #ffffff1a;position:relative;animation:slideIn .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}@keyframes slideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{position:absolute;top:20px;right:20px;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;z-index:10;transition:all .3s ease}.modal-close:hover{background:#ffffff4d;transform:scale(1.1)}.modal-header{padding:30px 30px 20px;text-align:center}.modal-header h2{color:#fff;font-size:2rem;margin:0 0 20px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.step-indicator{display:flex;justify-content:center;gap:12px;margin-top:20px}.step-dot{width:12px;height:12px;border-radius:50%;background:#ffffff4d;transition:all .3s ease}.step-dot.active{background:#fbbf24;box-shadow:0 0 20px #fbbf2499;transform:scale(1.3)}.step-dot.completed{background:#10b981;box-shadow:0 0 15px #10b98166}.modal-body{padding:20px 30px;color:#fff;background:#ffffff0d;margin:0 20px;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);min-height:300px;max-height:60vh;flex:1;display:flex;flex-direction:column;justify-content:flex-start;overflow-y:auto}.welcome-step{text-align:center}.welcome-step p{font-size:1.2rem;line-height:1.6;margin-bottom:20px;color:#ffffffe6}.shapes-guide{display:flex;flex-direction:column;gap:20px}.shape-item{display:flex;align-items:center;gap:20px;padding:15px;background:#ffffff14;border-radius:12px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.shape-item:hover{background:#ffffff1f;transform:translateY(-2px)}.shape-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.shape-icon.hexagon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.shape-icon.cross{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.shape-icon.triangle{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.shape-icon.circle{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.shape-icon.rectangle{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.shape-info h4{margin:0 0 8px;font-size:1.3rem;font-weight:600;color:#fff}.shape-info p{margin:0;color:#fffc;line-height:1.4}.tips-section{display:flex;flex-direction:column;gap:18px}.tip-item{display:flex;align-items:flex-start;gap:15px;padding:12px}.tip-icon{font-size:1.8rem;min-width:40px;text-align:center}.tip-item p{margin:0;line-height:1.5;color:#ffffffe6}.tip-item strong{color:#fbbf24;font-weight:600}.ready-step{text-align:center}.ready-step p{font-size:1.1rem;line-height:1.6;color:#ffffffe6;margin-bottom:25px}.example-layout{background:#ffffff14;padding:20px;border-radius:12px;border:1px solid rgba(255,255,255,.15);margin:20px 0}.example-layout h4{margin:0 0 15px;color:#fbbf24;font-size:1.2rem}.example-layout p{margin:8px 0;text-align:left;font-size:1rem;color:#ffffffd9}.final-tip{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);padding:15px;border-radius:10px;margin-top:20px}.final-tip strong{color:#fbbf24}.modal-footer{padding:20px 30px;display:flex;justify-content:space-between;align-items:center;background:#ffffff0d;flex-shrink:0;min-height:70px}.nav-button{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;border:none;padding:12px 24px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #06b6d44d}.nav-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #06b6d466}.nav-button:disabled{background:#fff3;cursor:not-allowed;box-shadow:none}.nav-button.start{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 15px #10b9814d}.nav-button.start:hover{box-shadow:0 8px 25px #10b98166}.step-counter{color:#fffc;font-weight:500}@media (max-width: 768px){.modal-content{width:95%;margin:10px;max-height:95vh}.modal-header{padding:20px 20px 15px}.modal-header h2{font-size:1.4rem;margin:0 0 15px}.modal-body{margin:0 10px;padding:15px 20px;min-height:200px;max-height:calc(95vh - 200px)}.shape-item{gap:15px;padding:12px}.shape-icon{font-size:1.8rem;width:45px;height:45px}.shape-info h4{font-size:1rem;margin:0 0 6px}.shape-info p{font-size:.9rem}.modal-footer{padding:15px 20px;flex-direction:row;justify-content:space-between;gap:10px;min-height:60px}.nav-button{padding:10px 16px;font-size:.85rem;min-width:70px}.step-counter{font-size:.85rem}}@media (max-width: 480px){.modal-content{width:98%;margin:2px;max-height:98vh}.modal-header{padding:15px 15px 10px}.modal-header h2{font-size:1.2rem;margin:0 0 10px}.modal-body{margin:0 5px;padding:10px 15px;min-height:150px;max-height:calc(98vh - 180px)}.shapes-guide{gap:8px}.shape-item{flex-direction:row;text-align:left;gap:10px;padding:8px}.shape-icon{font-size:1.5rem;width:35px;height:35px;flex-shrink:0}.shape-info h4{font-size:.9rem;margin:0 0 4px}.shape-info p{font-size:.8rem;line-height:1.3}.tip-item{flex-direction:row;text-align:left;gap:8px;padding:8px}.tip-icon{font-size:1.3rem;min-width:30px}.tip-item p{font-size:.8rem}.modal-footer{padding:10px 15px;min-height:50px}.nav-button{padding:8px 12px;font-size:.8rem;min-width:60px}.step-counter{font-size:.8rem}.example-layout{padding:12px}.example-layout h4{font-size:1rem}.example-layout p{text-align:left;font-size:.8rem;margin:5px 0}.final-tip{padding:10px;font-size:.8rem}}.layout{display:flex;height:100vh;width:100vw;background-color:var(--color-dark-bg);overflow:hidden;gap:1rem;padding:1rem}.game-section{flex:1;display:flex;flex-direction:column;min-width:0;background-color:#ffffff0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:1rem;transition:all .3s ease}.game-section:hover{box-shadow:0 0 30px #34b29833}.divider{width:2px;background:linear-gradient(to bottom,transparent 0%,var(--color-accent-green) 30%,var(--color-accent-blue) 50%,var(--color-accent-purple) 70%,transparent 100%);margin:2rem 0;box-shadow:0 0 20px #34b2984d;animation:glow 2s ease-in-out infinite}.chat-section{flex:0 0 400px;display:flex;flex-direction:column;min-width:0;background-color:#ffffff0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:1rem;transition:all .3s ease}.chat-section:hover{box-shadow:0 0 30px #09f3}.mobile-layout{width:100vw;height:100vh;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2);position:fixed;inset:0}.upload-screen{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;height:100vh;padding:2rem 1rem 1rem;text-align:center;color:#fff;overflow-y:auto}.upload-header h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.upload-header p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.upload-instructions{background:#ffffff1a;border-radius:16px;padding:1rem;margin:1rem 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);width:100%;max-width:350px;overflow-y:auto;max-height:40vh}.upload-instructions h3{margin-bottom:1rem;font-size:1.1rem;text-align:center}.instruction-item{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem;font-size:.9rem;text-align:left;padding:.5rem;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.instruction-item>span:first-child{font-size:1.2rem;min-width:24px;text-align:center;flex-shrink:0}.upload-button{background:linear-gradient(45deg,#ff6b6b,#ee5a24);border:none;border-radius:50px;padding:1rem 2rem;font-size:1.1rem;font-weight:700;color:#fff;cursor:pointer;display:flex;align-items:center;gap:.5rem;box-shadow:0 8px 20px #0003;transition:all .3s ease;transform:translateY(0);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1000;position:relative;pointer-events:auto}.upload-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0000004d}.upload-button:active{transform:translateY(0)}.upload-icon{font-size:1.3rem}.fullscreen-game{height:100vh;display:flex;flex-direction:column;background:#000}.game-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#000c;color:#fff;min-height:60px;z-index:1000}.back-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:.5rem 1rem;color:#fff;cursor:pointer;font-size:.9rem;transition:all .2s ease}.back-button:hover{background:#fff3}.game-header h2{flex:1;text-align:center;margin:0;font-size:1.2rem}.level-info{font-size:.8rem;opacity:.7}.game-container{flex:1;width:100%;height:calc(100vh - 120px);position:relative;overflow:hidden}.game-container>*{width:100%!important;height:100%!important}.game-controls{padding:.5rem 1rem;background:#000c;text-align:center;min-height:60px;display:flex;align-items:center;justify-content:center}.control-hint{color:#ffffffb3;font-size:.8rem}@media (max-width: 768px){.upload-screen{padding:1.5rem .5rem 1rem}.upload-header h1{font-size:1.8rem;margin-bottom:.3rem}.upload-header p{font-size:1rem;margin-bottom:1.5rem}.upload-instructions{padding:.8rem;margin:.8rem 0;max-height:35vh;max-width:320px}.instruction-item{font-size:.8rem;gap:.6rem;margin-bottom:.5rem;padding:.4rem}.instruction-item>span:first-child{font-size:1rem;min-width:20px}.upload-button{padding:.8rem 1.5rem;font-size:1rem;margin-top:1rem}.game-header{padding:.3rem .5rem;min-height:50px}.game-header h2{font-size:1rem}.back-button{padding:.4rem .8rem;font-size:.8rem}.game-container{height:calc(100vh - 100px)}.game-controls{min-height:50px;padding:.3rem .5rem}.control-hint{font-size:.7rem}}@media (max-width: 480px){.upload-screen{padding:1rem .5rem .8rem}.upload-header h1{font-size:1.5rem;margin-bottom:.2rem}.upload-header p{font-size:.9rem;margin-bottom:1rem}.upload-instructions{padding:.6rem;margin:.6rem 0;max-height:30vh;max-width:280px}.upload-instructions h3{font-size:.95rem;margin-bottom:.6rem}.instruction-item{font-size:.7rem;gap:.4rem;margin-bottom:.4rem;padding:.25rem}.instruction-item>span:first-child{font-size:.85rem;min-width:16px}.upload-button{padding:.7rem 1.2rem;font-size:.9rem;margin-top:.8rem}}@media (orientation: landscape) and (max-height: 600px){.upload-screen{padding:1rem .5rem .5rem;justify-content:flex-start;overflow-y:auto}.upload-header h1{font-size:1.3rem;margin-bottom:.2rem}.upload-header p{font-size:.85rem;margin-bottom:.8rem}.upload-instructions{padding:.6rem;margin:.5rem 0;max-height:25vh;max-width:300px}.upload-instructions h3{font-size:.9rem;margin-bottom:.5rem}.instruction-item{font-size:.65rem;gap:.3rem;margin-bottom:.3rem;padding:.2rem}.instruction-item>span:first-child{font-size:.8rem;min-width:14px}.upload-button{padding:.6rem 1rem;font-size:.8rem;margin-top:.5rem}.game-header{min-height:40px}.game-container{height:calc(100vh - 80px)}.game-controls{min-height:40px}}.app{height:100vh;width:100vw;display:flex;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}:root{--color-dark-bg: #0a0a0a;--color-dark-surface: #121212;--color-dark-card: #1a1a1a;--color-accent-green: #34b298;--color-accent-blue: #0099ff;--color-accent-purple: #8b5cf6}html{scroll-behavior:smooth}body{background-color:var(--color-dark-bg);background:linear-gradient(135deg,#0f0f1a,#0a0a15,#0d0d18);color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,system-ui,sans-serif;height:100vh;overflow:hidden}#root{height:100vh;width:100vw;overflow:hidden}.glass-card{background-color:#191923d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:1rem;box-shadow:0 8px 32px #00000080}.gradient-text{background:linear-gradient(to right,var(--color-accent-green),var(--color-accent-blue),var(--color-accent-purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hover-glow{transition:all .3s}.hover-glow:hover{box-shadow:0 0 30px #34b2984d}@keyframes gradient{0%,to{background-size:200% 200%;background-position:left center}50%{background-size:200% 200%;background-position:right center}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes glow{0%,to{opacity:1}50%{opacity:.85}}.animate-gradient{animation:gradient 8s ease infinite}.animate-float{animation:float 6s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}@keyframes typing-blink{0%,50%{opacity:1}51%,to{opacity:0}}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;overflow:hidden;background:#5c94fc;font-family:Courier New,monospace}#app{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center}#game-container{position:relative;background:#000;box-shadow:0 0 20px #00000080}#game-canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges}#game-ui{position:absolute;top:10px;left:10px;color:#fff;font-size:20px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5);pointer-events:none;z-index:10}#game-ui div{margin-bottom:10px}.score,.lives,.coins{background:#00000080;padding:5px 10px;border-radius:5px;display:inline-block}
