:root{--primary-dark: #0a192f;--primary-light: #172a46;--accent-primary: #00bcd4;--accent-secondary: #64ffda;--text-light: #f5f5f5;--text-dark: #121212;--warning: #ff5252;--success: #4caf50;--side-panel-base: #1e3a5f;--side-panel-accent: #2a4d7a;--divider-line: rgba(0, 188, 212, .3);--nav-bg: rgba(23, 42, 70, .9);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 48px;--border-radius: 8px;--transition: .2s ease;--shadow-light: 0 2px 4px rgba(0, 0, 0, .2);--shadow-medium: 0 4px 8px rgba(0, 0, 0, .3);--shadow-heavy: 0 5px 15px rgba(0, 0, 0, .5);--z-base: 1;--z-controls: 10;--z-ui: 100;--z-overlay: 1000;--z-critical: 9999;--ctrl-h: clamp(60px, 15vh, 140px);--touch-min: 44px;--dpad-size: clamp(90px, 20vw, 140px);--action-btn-size: clamp(44px, 12vw, 70px);--control-gap: clamp(8px, 2vh, 16px);--control-padding: clamp(4px, 1vw, 12px)}@media (min-width: 768px) and (max-width: 1199px){:root{--ctrl-h: clamp(80px, 18vh, 160px)}}@media (max-height: 600px){:root{--ctrl-h: clamp(50px, 10vh, 80px)}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{overflow:hidden;width:100%;height:100%;overscroll-behavior:none;touch-action:none}body{background:var(--side-panel-base);font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text-light);line-height:1.5;min-height:100vh;overflow:hidden;width:100%;height:100%;touch-action:manipulation;overscroll-behavior:contain;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}body.modal-open{overflow:hidden;position:fixed;width:100%;height:100%}.app-root{width:100%;max-width:1200px;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;position:relative;margin:0 auto}.app-header{flex:0 0 auto;padding:var(--space-md) var(--space-lg);text-align:center;background:var(--primary-dark);border-bottom:2px solid var(--accent-primary)}.app-header h1{margin:0;color:var(--text-light);text-shadow:var(--shadow-light);font-size:clamp(1.5rem,4vw,3rem);background:linear-gradient(to right,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.score-panel{display:flex;justify-content:center;gap:var(--space-lg);padding:var(--space-sm) 0;background:rgba(23,42,70,.7);border-radius:var(--border-radius);margin:var(--space-sm) var(--space-md) 0}.score-value{font-weight:600;color:var(--accent-secondary)}.game-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.game-canvas-container{flex:0 0 auto;min-width:0;min-height:0;display:flex;justify-content:center;align-items:flex-start;padding:var(--space-md)}.touch-controls-area{flex:0 0 auto;display:flex;justify-content:center;align-items:center;position:relative}.game-canvas{display:block;background:#000;border:4px solid var(--accent-primary);border-radius:var(--border-radius);box-shadow:0 0 20px var(--divider-line);touch-action:none}.info-panel{display:none;background:var(--primary-light);border-radius:var(--border-radius);border-inline-start:4px solid var(--accent-primary);box-shadow:var(--shadow-medium);flex-direction:column;block-size:100%;padding:var(--space-lg)}.panel-content{flex:1;margin-bottom:var(--space-xxl);display:flex;flex-direction:column;gap:var(--space-lg)}.panel-content h3{color:var(--accent-secondary);font-size:1.25rem;margin:0 0 var(--space-sm) 0;font-weight:600;line-height:1.3}.panel-content p{margin:0;line-height:1.6;color:var(--text-light)}.panel-content ul{margin:0;padding-left:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm)}.panel-content .note{font-style:italic;color:var(--accent-secondary);font-size:.9rem;margin:0;padding:var(--space-sm);background:rgba(0,188,212,.1);border-radius:var(--border-radius);border-left:3px solid var(--accent-secondary)}.info-actions{margin-top:auto;display:flex;gap:.75rem;padding-block:var(--space-lg) 1.5rem;border-block-start:2px solid var(--divider-line);align-items:center;justify-content:center}.float-menu{position:absolute;bottom:var(--space-md);right:var(--space-md);z-index:var(--z-ui);display:flex;flex-direction:column;align-items:flex-end}.float-trigger{width:50px;height:50px;border-radius:50%;background:var(--accent-primary);display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:var(--shadow-medium);transition:transform var(--transition);border:none;flex-direction:column;gap:3px}.float-trigger:hover{transform:scale(1.1)}.menu-dot{width:4px;height:4px;background:var(--text-dark);border-radius:50%;display:block}.float-options{display:flex;flex-direction:column;margin-bottom:var(--space-sm);transition:all .3s ease;transform-origin:bottom right;position:absolute;bottom:70px;right:5px;z-index:var(--z-overlay);background:var(--nav-bg);padding:var(--space-sm);border-radius:var(--border-radius);box-shadow:var(--shadow-heavy);border:1px solid var(--accent-primary)}.float-options.hidden{transform:scale(0);opacity:0;pointer-events:none;visibility:hidden;display:none}.nav-button,.btn-action{padding:var(--space-sm) var(--space-md);background:var(--accent-primary);color:var(--text-dark);border:none;border-radius:var(--border-radius);font-weight:700;cursor:pointer;transition:all var(--transition);text-transform:uppercase;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px}.nav-button:hover,.btn-action:hover{background:var(--accent-secondary);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.float-options button{margin-bottom:var(--space-sm);width:120px;text-align:center}.float-options button:last-child{margin-bottom:0}.modal-panel{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:9999;padding:var(--space-md)}.modal-panel.hidden{display:none}.modal-content{background:var(--primary-light);border-radius:var(--border-radius);max-width:500px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-heavy);border:2px solid var(--accent-primary)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--divider-line)}.modal-header h3{margin:0;color:var(--accent-secondary);font-size:1.5rem}.close-modal{background:none;border:none;color:var(--text-light);font-size:2rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:50%;transition:background-color var(--transition)}.close-modal:hover{background:var(--warning)}.modal-body{padding:var(--space-lg)}.modal-instructions ul{padding-left:var(--space-md);margin:var(--space-md) 0}.modal-instructions li{margin-bottom:var(--space-sm);list-style-type:square}.modal-instructions .note{font-style:italic;color:var(--accent-secondary);margin:var(--space-md) 0}.control-button.active{background-color:rgba(0,188,212,.6)!important;transform:scale(.95)!important}.control-button.action-button.active{transform:rotate(-15deg) scale(.95)!important}.desktop-only{display:none}.mobile-only{display:block}@media (min-width: 1200px){.game-main{flex-direction:row}.game-canvas-container{flex:1 1 auto;padding:var(--space-md);gap:var(--space-lg)}.touch-controls-area{display:none}.info-panel{display:flex;width:280px;min-width:280px;max-width:280px;flex:0 0 280px}.desktop-only{display:block}.mobile-only{display:none}}@media (max-width: 1199px){.app-root{height:100vh;height:100dvh;display:flex;flex-direction:column}.game-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.game-canvas-container{flex:1 1 0;min-height:0;align-items:center;padding:var(--space-sm)}.touch-controls-area{flex:0 0 auto}.game-canvas{max-width:100%;max-height:100%}}@media (max-width: 400px){.game-canvas{border-width:1px!important}.app-header{padding:var(--space-sm);min-height:3.5rem}.score-panel{gap:var(--space-xs);padding:var(--space-xs) 0;margin:var(--space-xs) 0 0}.score-panel h4{font-size:.6875rem;margin:0;opacity:.7;letter-spacing:.025em}}.touch-controller{--btn: clamp(44px, 13vw, 64px);--gap: clamp(4px, 1.5vw, 10px);display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--space-sm) var(--space-md) calc(var(--space-md) + env(safe-area-inset-bottom,0px));pointer-events:none}.left-controls,.right-controls{pointer-events:auto}.dpad-controls{display:grid;grid-template-areas:". up ." "left . right" ". down .";grid-template-columns:repeat(3,var(--btn));grid-template-rows:repeat(3,var(--btn));gap:var(--gap)}.dpad-button[data-direction=up]{grid-area:up}.dpad-button[data-direction=down]{grid-area:down}.dpad-button[data-direction=left]{grid-area:left}.dpad-button[data-direction=right]{grid-area:right}.action-buttons{display:flex;align-items:flex-start;gap:calc(var(--gap) * 2.5)}.action-button[data-action=boost]{margin-top:calc(var(--btn) * .6)}.control-button{width:var(--btn);height:var(--btn);display:flex;justify-content:center;align-items:center;border-radius:50%;background:rgba(0,188,212,.3);border:3px solid var(--accent-primary, #00bcd4);box-shadow:0 3px 5px rgba(0,0,0,.3);color:#fff;font-weight:700;font-size:calc(var(--btn) * .38);user-select:none;-webkit-user-select:none;touch-action:none}.float-menu{display:none!important}@media (orientation: landscape) and (max-height: 520px){.app-header{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-xs) var(--space-md)}.app-header h1{font-size:1.25rem}.score-panel{margin:0;padding:2px var(--space-sm)}.game-canvas-container{padding:var(--space-xs)}.touch-controls-area{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.touch-controller{--btn: clamp(36px, 11vh, 56px);height:100%;padding:0 calc(var(--space-md) + env(safe-area-inset-right,0px)) 0 calc(var(--space-md) + env(safe-area-inset-left,0px))}}.score-panel{align-items:center;flex-wrap:wrap;row-gap:var(--space-xs)}.mode-switch{display:inline-flex;border:1px solid var(--accent-primary);border-radius:999px;overflow:hidden}.mode-option{padding:4px 14px;border:0;background:transparent;color:var(--text-light);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.mode-option.active{background:var(--accent-primary);color:var(--primary-dark)}.mode-option:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:-2px}.canvas-frame{flex:1 1 0;min-width:0;min-height:0;align-self:stretch;display:flex;justify-content:center;align-items:center}@media (min-width: 1200px){.app-root{max-width:1600px;height:100vh;height:100dvh;display:flex;flex-direction:column}.info-panel{overflow-y:auto}}@media (orientation: landscape) and (max-height: 520px){.canvas-frame{padding:0 calc(clamp(36px,11vh,56px) * 3.6 + var(--space-md))}}body.online-mode .touch-controls-area{display:none!important}@media (orientation: landscape) and (max-height: 520px){body.online-mode .canvas-frame{padding:0}}.bar-actions,.bar-tab{display:none}@media (min-width: 1200px){.app-root{max-width:none}.app-header{display:flex;align-items:center;gap:24px;height:52px;padding:0 20px;text-align:left;transition:margin-top .25s ease}.app-header h1{font-size:1.4rem;white-space:nowrap}.app-header .score-panel{flex:1 1 auto;justify-content:center;margin:0;padding:0;background:none;border:0;box-shadow:none}body.bar-hidden .app-header{margin-top:-54px}.game-canvas-container{padding:8px}.info-panel{display:none!important}.bar-actions{display:flex;gap:8px}.bar-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(79,209,197,.5);border-radius:8px;background:rgba(79,209,197,.1);color:var(--text-light);font:inherit;font-weight:700;cursor:pointer}.bar-button:hover{background:rgba(79,209,197,.25)}.bar-button:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.bar-tab{display:flex;gap:6px;position:fixed;top:6px;right:16px;z-index:1000;padding:4px;border-radius:10px;background:rgba(5,12,24,.7);transform:translateY(-150%);transition:transform .25s ease}body.bar-hidden .bar-tab{transform:translateY(0)}}.hidden{display:none!important}.invisible{visibility:hidden!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-xs)}.mt-2{margin-top:var(--space-sm)}.mt-3{margin-top:var(--space-md)}.mt-4{margin-top:var(--space-lg)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-xs)}.mb-2{margin-bottom:var(--space-sm)}.mb-3{margin-bottom:var(--space-md)}.mb-4{margin-bottom:var(--space-lg)}.p-0{padding:0}.p-1{padding:var(--space-xs)}.p-2{padding:var(--space-sm)}.p-3{padding:var(--space-md)}.p-4{padding:var(--space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.gap-1{gap:var(--space-xs)}.gap-2{gap:var(--space-sm)}.gap-3{gap:var(--space-md)}.gap-4{gap:var(--space-lg)}.text-primary{color:var(--accent-primary)}.text-secondary{color:var(--accent-secondary)}.text-light{color:var(--text-light)}.text-dark{color:var(--text-dark)}.text-warning{color:var(--warning)}.text-success{color:var(--success)}.bg-primary{background-color:var(--primary-dark)}.bg-secondary{background-color:var(--primary-light)}
