:root{--primary-color:#4a90e2;--primary-soft:#6ba3e5;--secondary-color:#5ba0f2;--success-color:#66bb6a;--success-muted:#81c784;--error-color:#cc1016;--warning-color:#f7b500;--obstacle-color:#e28b4a;--exit-red:#cc1016;--exit-red-hover:#e61118;--undo-orange:#e28b4a;--undo-orange-hover:#f09a5a;--background-color:#f7f8fa;--card-background:#fff;--border-color:#e8eaed;--game-area-bg:#f0f2f5;--level-area-bg:#fafbfc;--footer-bg:#f7f8fa;--ground-color:#e5e7ea;--gray-800:#333;--gray-700:#4a4a4a;--gray-600:#595959;--gray-500:grey;--gray-400:#999;--gray-300:#ccc;--gray-200:#e0e0e0;--accent-color:var(--gray-700);--text-primary:var(--gray-800);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-400);--text-disabled:var(--gray-500);--game-element-color:var(--gray-700);--ball-color:var(--primary-color);--icon-color:var(--gray-600);--footer-text-color:var(--gray-600);--control-icon-color:var(--gray-800);--pin-glow-color:var(--primary-color);--trail-color:var(--primary-color);--modal-header-bg:linear-gradient(180deg,#fafbfc,#fff);--font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-family-logo:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-xxl:1.5rem;--a11y-min-font:0.875rem;--a11y-min-font-secondary:0.75rem;--a11y-min-touch-ios:44px;--a11y-min-touch-android:48px;--a11y-touch-expansion-small:10px;--a11y-touch-expansion-medium:8px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 2px 4px #00000014;--shadow-lg:0 3px 6px #0000001a;--shadow-xl:0 4px 12px #00000026;--shadow-focus:0 0 0 2px #4a90e233;--game-max-width:600px;--game-max-height:825px;--game-aspect-ratio:600/825;--header-height:44px;--level-indicator-size:24px;--control-button-size:48px;--launch-button-size:60px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--radius-full:50%;--transition-fast:0.2s ease;--transition-base:0.3s ease;--z-index-canvas:1;--z-index-completed-overlay:10;--z-index-bounce-display:15;--z-index-controls:20;--z-index-loading:100;--z-index-modal:1000;--opacity-disabled:0.5;--opacity-hover:0.7;--opacity-bounce-display:0.9}*{box-sizing:border-box}#root,body,html{height:100%;margin:0;overflow:hidden;overscroll-behavior:none;overscroll-behavior-y:none;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background-color);color:var(--accent-color);font-family:var(--font-family-base);font-size:var(--font-size-base);overscroll-behavior-x:contain;position:fixed;touch-action:manipulation;width:100%}.game-area,.game-controls,.level-indicators{user-select:none;-webkit-user-select:none}.app{display:flex;flex-direction:column;height:100%;width:100%}.game-wrapper{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.touch-target-expanded{position:relative}.touch-target-expanded:after{content:"";position:absolute;z-index:1}.touch-target-expanded--small:after{inset:calc(var(--a11y-touch-expansion-small)*-1)}.touch-target-expanded--medium:after{inset:calc(var(--a11y-touch-expansion-medium)*-1)}.sr-only,.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.loading{align-items:center;color:var(--accent-color);display:flex;font-size:1.2rem;height:100%;justify-content:center}.error-banner{background-color:#fee;border:1px solid #fcc;border-radius:var(--radius-sm);color:var(--error-color);margin:.5rem;padding:1rem;text-align:center}.error-banner .retry-button{background:var(--error-color);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;margin-top:.5rem;padding:.5rem 1rem;transition:background-color var(--transition-fast)}.error-banner .retry-button:hover{background:#b30e14}button:focus-visible{outline-offset:4px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--background-color)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}input,select,textarea{font-size:16px}@media (max-width:768px){input,select,textarea{font-size:16px!important}}@supports (-webkit-appearance:none) and (not (-webkit-touch-callout:none)){.game-canvas-container{backface-visibility:hidden;-webkit-backface-visibility:hidden;perspective:1000px;transform:translateZ(0);-webkit-transform:translateZ(0)}.game-svg-layer{image-rendering:-webkit-optimize-contrast;will-change:transform}}.bounce-plot{height:-webkit-fill-available}.welcome-screen{min-height:100vh;min-height:-webkit-fill-available}.bounce-plot{background:var(--card-background);display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;width:100%}.game-header{background:var(--card-background);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;padding:.5rem 1rem;transition:all var(--transition-fast)}.game-header,.header-button{align-items:center;display:flex;min-height:44px}.header-button{background:none;border:none;color:var(--icon-color);cursor:pointer;justify-content:center;min-width:44px;padding:.375rem;touch-action:manipulation;transition:opacity var(--transition-fast)}.header-button:hover{opacity:var(--opacity-hover)}.header-button svg{fill:currentColor;height:20px;width:20px}.game-logo-link{align-items:baseline;color:inherit;cursor:pointer;display:flex;gap:.25rem;text-decoration:none;transition:transform var(--transition-fast)}.game-logo-link:hover{transform:translateY(-1px)}.game-logo{color:var(--primary-color);font-family:var(--font-family-logo);font-size:1.5rem;font-weight:400;letter-spacing:.5px;margin:0}.game-logo-daily{color:var(--undo-orange);font-size:.75rem;font-weight:600;letter-spacing:.5px}.level-indicators-container{background:var(--level-area-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;padding:.5rem}.level-indicators,.level-indicators-container{align-items:center;display:flex;gap:0;justify-content:center}.level-indicator{align-items:center;background:none;border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;font-size:12px;font-weight:600;height:var(--level-indicator-size);justify-content:center;margin:0 .75rem;padding:0;position:relative;touch-action:manipulation;transition:all var(--transition-fast);width:var(--level-indicator-size)}.level-indicator:after{content:"";inset:calc(var(--a11y-touch-expansion-small)*-1);position:absolute;z-index:1}.level-indicator.pending{background:#0000;border:1.5px solid var(--border-color);color:var(--text-secondary)}.level-indicator.active{background:#0000;border:2.5px solid var(--primary-color);color:var(--primary-color)}.level-indicator.active.completed-viewing{background:#0000;border:2.5px solid var(--success-color);color:var(--success-color)}.level-indicator.completed{background:#0000;border:1.5px solid var(--gray-300);color:#0000;position:relative}.level-indicator.completed:before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M20 6L9 17L4 12" stroke="%2366BB6A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-position:50%;background-repeat:no-repeat;background-size:contain;content:"";height:16px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;z-index:2}.level-indicator.locked{background:#0000;border:1.5px dashed var(--gray-300);color:var(--text-disabled);cursor:not-allowed;opacity:.6;overflow:visible;position:relative}.level-indicator.locked:before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 20" fill="none"><rect x="1" y="8" width="14" height="11" rx="2" stroke="%23999999" stroke-width="1.5"/><path d="M4 8V5C4 2.79086 5.79086 1 8 1C10.2091 1 12 2.79086 12 5V8" stroke="%23999999" stroke-width="1.5" stroke-linecap="round"/></svg>');background-position:50%;background-repeat:no-repeat;background-size:10px 12px;content:"";inset:0;position:absolute;z-index:2}.level-indicator.next-level-glow{border-color:var(--primary-color);border-width:2px;overflow:visible;position:relative;z-index:2}@keyframes corePulse{0%,to{border-color:var(--primary-color);transform:scale(1)}50%{border-color:var(--primary-soft);transform:scale(1.03)}}.level-indicator.next-level-glow{animation:corePulse 3s ease-in-out infinite}@keyframes rippleRing1{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.level-indicator.next-level-glow:before{animation:rippleRing1 2.5s ease-out infinite;border:1.5px solid var(--primary-color);border-radius:50%;content:"";inset:-1px;pointer-events:none;position:absolute}.level-indicator.next-level-glow>span{position:relative;z-index:1}@media (prefers-reduced-motion:reduce){.level-indicator.next-level-glow{animation:none;box-shadow:0 0 8px #4a90e24d}.level-indicator.next-level-glow:before{animation:none;display:none}}.summary-indicator-button{align-items:center;background:var(--primary-color);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;height:var(--level-indicator-size);justify-content:center;margin:0 0 0 .75rem;padding:0;position:relative;touch-action:manipulation;transition:all var(--transition-fast);width:var(--level-indicator-size)}.summary-indicator-button:after{content:"";inset:calc(var(--a11y-touch-expansion-small)*-1);position:absolute;z-index:1}.summary-indicator-button:hover{background:var(--secondary-color);transform:scale(1.05)}.summary-indicator-button svg{height:16px;width:16px}.game-area{background:var(--game-area-bg);flex:1 1;min-height:0;overflow:hidden}.game-area,.game-canvas-wrapper{align-items:flex-start;display:flex;justify-content:center;position:relative;width:100%}.game-canvas-wrapper{height:100%;padding:0}.game-canvas-container{-webkit-overflow-scrolling:touch;aspect-ratio:600/825;height:100%;margin:0 auto;max-height:calc(100vh - 140px);max-width:min(600px,100vw);overscroll-behavior:contain;overscroll-behavior-x:contain;position:relative;width:100%}.game-svg-layer{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;display:block;height:100%;left:0;position:absolute;top:0;touch-action:none;user-select:none;-webkit-user-select:none;width:100%;z-index:var(--z-index-canvas)}@keyframes pinSizePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.user-pin.glow-pulse{animation:pinSizePulse 3s ease-in-out infinite;transform-origin:center bottom}@media (prefers-reduced-motion:reduce){.user-pin.glow-pulse{animation:none}}.distance-visualization{pointer-events:none}.distance-label-bg{box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.distance-label-text{dominant-baseline:central;pointer-events:none;-webkit-user-select:none;user-select:none}.distance-visualization line{opacity:.6;pointer-events:none}.draw-overlay{cursor:crosshair!important;height:100%;left:0;pointer-events:auto;position:absolute;top:0;width:100%;z-index:10}.bounce-display{align-items:center;background:#fffffff2;border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);color:var(--game-element-color);display:flex;font-size:13px;font-weight:600;justify-content:center;left:50%;min-width:80px;padding:.25rem .75rem;position:absolute;text-align:center;top:.5rem;transform:translateX(-50%);white-space:nowrap;z-index:var(--z-index-bounce-display)}.bounce-display .bounce-count{color:var(--game-element-color);font-size:14px;font-weight:700;margin:0 .25rem}.completed-level-overlay{background:#0000;cursor:pointer;height:100%;left:0;pointer-events:auto;position:absolute;top:0;transition:background-color .2s ease;width:100%;z-index:var(--z-index-completed-overlay)}.completed-level-overlay:hover{background:#0000}.game-controls-overlay{bottom:12%;left:0;pointer-events:none;position:absolute;right:0;z-index:var(--z-index-controls)}.game-controls,.game-controls-overlay{align-items:center;display:flex;justify-content:center}.game-controls{flex-direction:row;gap:24px;pointer-events:auto}.control-button{align-items:center;background:#fffffffa;border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;height:var(--control-button-size);justify-content:center;position:relative;touch-action:manipulation;transition:all var(--transition-fast);width:var(--control-button-size)}.control-button:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.control-button:active{transform:scale(.95)}.control-button .control-icon{fill:var(--control-icon-color)}.control-button.draw-button.active{background:var(--exit-red)}.control-button.draw-button.active:hover{background:var(--exit-red-hover)}.control-button.draw-button.active .control-icon{fill:#fff}.control-button.grid-button:not(.active){background:#fffffffa!important}.control-button.grid-button:not(.active) .control-icon{fill:var(--control-icon-color)!important;color:var(--control-icon-color)!important}.control-button.grid-button.active{background:var(--success-color)!important}.control-button.grid-button.active:hover{background:var(--success-muted)!important}.control-button.grid-button.active .control-icon{fill:#fff!important;color:#fff!important}.control-button:disabled{cursor:not-allowed;opacity:var(--opacity-disabled);transform:none}.control-button.undo-button{animation:slideIn .3s ease-out;background:var(--undo-orange);margin-left:12px}.control-button.undo-button:hover:not(:disabled){background:var(--undo-orange-hover);transform:scale(1.05)}.control-button.undo-button:disabled{background:var(--undo-orange);cursor:not-allowed;opacity:.4;transform:none}.control-button.undo-button .control-icon{fill:#fff}@keyframes slideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.control-icon{fill:var(--control-icon-color);height:24px;width:24px}.launch-float-button{align-items:center;background:var(--primary-color);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-md);cursor:pointer;display:flex;height:var(--launch-button-size);justify-content:center;overflow:hidden;position:relative;touch-action:manipulation;transition:all var(--transition-fast);width:var(--launch-button-size)}.launch-float-button:hover{box-shadow:var(--shadow-lg);transform:scale(1.05)}.launch-float-button:active{transform:scale(.95)}.launch-float-button:disabled{animation:none;cursor:not-allowed;opacity:var(--opacity-disabled);transform:none}@keyframes gentlePulse{0%,to{box-shadow:var(--shadow-md)}50%{box-shadow:0 3px 10px #4a90e24d}}.launch-float-button:not(:disabled){animation:gentlePulse 4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.launch-float-button:not(:disabled){animation:none}}.launch-icon{fill:#fff;height:26px;width:26px}.loading-overlay{align-items:center;background:#fffffff2;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:var(--z-index-loading)}.loading-spinner{animation:spin 1s linear infinite;border-top:2px solid var(--border-color);border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:36px;width:36px}.loading-overlay p{color:var(--text-secondary);font-size:.9rem;font-weight:500;margin-top:1rem}.modal-redirect .redirect-details{color:var(--text-secondary);font-size:16px;margin-bottom:20px;text-align:center}@media (max-height:700px),(max-width:768px){.game-header{min-height:48px;padding:.5rem .75rem}.header-button{min-height:44px;min-width:44px;padding:.375rem}.header-button svg{height:22px;width:22px}.game-logo{font-size:1.375rem}.game-logo-daily{font-size:.75rem}.level-indicators-container{padding:.625rem}.level-indicator{font-size:14px;height:32px;margin:0 .625rem;width:32px}.level-indicator.completed:before{height:20px;width:20px}.summary-indicator-button{height:32px;margin:0 0 0 .625rem;width:32px}.summary-indicator-button svg{height:18px;width:18px}.game-controls{gap:28px}.control-button{height:52px;width:52px}.control-icon{height:26px;width:26px}.control-button.grid-button:not(.active){background:#fffffffa}.control-button.grid-button:not(.active) .control-icon{fill:var(--control-icon-color)}.control-button.grid-button.active{background:var(--success-color)}.control-button.grid-button.active .control-icon{fill:#fff}.launch-float-button{height:64px;width:64px}.launch-icon{height:28px;width:28px}.bounce-display{font-size:var(--a11y-min-font);min-width:90px;padding:.3rem .75rem}.bounce-display .bounce-count{font-size:15px}.game-canvas-container{max-height:calc(100vh - 128px)}.game-controls-overlay{bottom:10%}.control-button.undo-button{margin-left:16px}}@media (hover:none) and (pointer:coarse){.control-button:hover,.launch-float-button:hover{transform:none}.control-button:active{transform:scale(.95)}.launch-float-button:active{transform:scale(.92)}.control-button.undo-button:hover:not(:disabled){transform:none}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.game-svg-layer{shape-rendering:geometricPrecision}}@supports (-webkit-touch-callout:none){.bounce-plot,.game-area{height:-webkit-fill-available}}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.modal-overlay{align-items:center;animation:fadeIn var(--transition-base);background:#0000004d;height:100%;height:100vh;height:100dvh;justify-content:center;left:0;max-height:100vh;max-height:100dvh;padding:1rem;position:fixed;top:0;width:100%;z-index:var(--z-index-modal)}.modal,.modal-overlay{box-sizing:border-box;display:flex;overflow:hidden}.modal{animation:slideUp var(--transition-base);background:var(--card-background);border-radius:12px;box-shadow:var(--shadow-xl);flex-direction:column;height:auto;max-height:85vh;max-height:85dvh;max-width:400px;min-height:0;padding:0;position:relative;width:90%}.modal-header{align-items:center;background:linear-gradient(180deg,#fafbfc,#fff);border-bottom:1px solid var(--border-color);border-radius:12px 12px 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.25rem;position:relative;z-index:1}.modal-header h2,.modal-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;line-height:1.4;margin:0}.close-button,.modal-close{align-items:center;background:none;border:none;color:var(--accent-color);cursor:pointer;display:flex;height:24px;justify-content:center;opacity:.6;padding:0;position:relative;transition:opacity var(--transition-fast);width:24px}.close-button:after,.modal-close:after{content:"";inset:calc(var(--a11y-touch-expansion-small)*-1);position:absolute}.close-button:hover,.modal-close:hover{opacity:1}.modal-close svg{height:20px;width:20px}.modal-content{-webkit-overflow-scrolling:touch;color:var(--accent-color);flex:1 1;min-height:0;overflow-y:auto;padding:1rem 1.25rem 1.25rem}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:var(--background-color);border-radius:3px}.modal-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.modal-content>:last-child{margin-bottom:0}.modal-content p{line-height:1.5;margin-bottom:.75rem}.modal-content button:not(.modal-close):not(.control-button):not(.tutorial-button),.primary-button-style{align-items:center;background:#4a90e21a;border:1px solid #4a90e24d;border-radius:8px;color:var(--primary-color);cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;line-height:1.4;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:all .2s ease;width:100%}.modal-content button:not(.modal-close):not(.control-button):not(.tutorial-button):hover,.primary-button-style:hover{background:#4a90e226;border-color:#4a90e280;box-shadow:0 2px 8px #4a90e233;transform:translateY(-1px)}.modal-content button:not(.modal-close):not(.control-button):not(.tutorial-button):active,.primary-button-style:active{transform:translateY(0)}.modal-level .modal-details{font-size:1.1rem;font-weight:500;margin:.25rem 0 .75rem}.modal-level .modal-details.perfect{color:var(--success-color)}.modal-level .modal-details.excellent{color:var(--success-muted)}.modal-level .modal-details.good{color:#ffc107}.modal-level .modal-details.fair{color:#ff9800}.modal-level .modal-details.practice{color:#f44336}.modal-level .modal-content>p,.modal-redirect .modal-content>p{margin-top:0}.summary-modal{max-width:450px;overflow:visible;position:relative}.summary-modal .modal-content{position:relative;z-index:1}.celebration-effects{border-radius:12px;bottom:0;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.celebration-effects svg{height:100%;left:0;position:absolute;top:0;width:100%}@supports (transform:translate3d(0,0,0)){.celebration-effects svg{transform:translateZ(0);will-change:transform}}@media (prefers-reduced-motion:reduce){.celebration-effects{display:none}}.summary-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin-bottom:1rem;position:relative;z-index:2}.stat-item{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.75rem;position:relative;text-align:center}.stat-item.stat-total{background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border-color:var(--primary-color)}.stat-label{color:var(--accent-color);display:block;font-size:.75rem;letter-spacing:.5px;margin-bottom:.25rem;opacity:.8;text-transform:uppercase}.stat-item.stat-total .stat-label{color:#ffffffe6}.stat-value{color:var(--primary-color);display:block;font-size:1.5rem;font-weight:700;position:relative}.stat-item.stat-total .stat-value{color:#fff}.summary-levels{margin-bottom:1rem;position:relative;z-index:2}.summary-level{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:.375rem;padding:.625rem .75rem;transition:transform var(--transition-fast)}.summary-level:last-child{margin-bottom:0}.summary-level:hover{border-color:var(--primary-color);transform:translateX(4px)}.level-number{color:var(--text-primary);font-weight:600}.level-distance{flex:1 1;font-weight:500;text-align:center}.level-points{color:var(--primary-color);font-weight:600}.share-section{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0;position:relative;z-index:2}.share-button-primary{align-items:center;background:#4a90e21a;border:1px solid #4a90e24d;border-radius:8px;color:var(--primary-color);cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;transition:all .2s ease;width:100%}.share-button-primary:hover{background:#4a90e226;border-color:#4a90e280;box-shadow:0 2px 8px #4a90e233;transform:translateY(-1px)}.share-button-primary:active{transform:translateY(0)}.share-button-primary svg{flex-shrink:0}.share-status{animation:fadeIn .3s ease;border-radius:6px;font-size:.875rem;font-weight:500;padding:.5rem;text-align:center}.share-status.share-success{background:#66bb6a1a;border:1px solid #66bb6a33;color:var(--success-color)}.comeback-message{border-top:1px solid var(--border-color);margin-top:.75rem;padding-top:.75rem;position:relative;text-align:center;z-index:2}.comeback-message p{color:var(--text-secondary);font-size:.875rem;margin:0}.help-modal{max-width:380px}.help-content{display:flex;flex-direction:column;gap:.25rem}.help-content .tutorial-link-button{margin-bottom:1rem}.help-section{margin-bottom:.75rem}.help-section:last-child{margin-bottom:0}.help-section h3{color:var(--text-primary);font-size:.95rem;font-weight:600;margin:0 0 .5rem}.controls-list,.help-list{color:var(--text-secondary);font-size:.9375rem;line-height:1.5;margin:0;padding-left:1.25rem}.controls-list li,.help-list li{margin-bottom:.375rem}.controls-list li:last-child,.help-list li:last-child{margin-bottom:0}.settings-modal{max-width:360px}.settings-content{display:flex;flex-direction:column;gap:1rem}.settings-item{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:.75rem;margin:-.25rem;padding:.75rem;transition:background-color var(--transition-fast)}.settings-item:hover{background-color:var(--background-color)}.settings-item input[type=checkbox]{accent-color:var(--primary-color);cursor:pointer;height:20px;margin:0;position:relative;width:20px}.settings-item input[type=checkbox]:after{content:"";inset:-12px;position:absolute}.settings-item span{color:var(--accent-color);flex:1 1;font-size:.95rem}.settings-language{align-items:center;border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin:-.25rem;padding:.75rem;transition:background-color var(--transition-fast)}.settings-language:hover{background-color:var(--background-color)}.settings-language label{color:var(--accent-color);cursor:pointer;font-size:.95rem}.settings-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 5 3 3 3-3' stroke='%23666' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;background-size:12px;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.9rem;min-width:160px;padding:.4rem 2rem .4rem .8rem;transition:all .2s}.settings-select:hover{background-color:#4a90e205;border-color:var(--primary-color)}.settings-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #4a90e233;outline:none}@media (max-width:480px){.settings-language{align-items:flex-start;flex-direction:column;gap:.5rem}.settings-select{width:100%}}.tutorial-modal{max-width:420px}.tutorial-modal .modal-content{min-height:400px}.tutorial-content{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;flex-direction:column;gap:.75rem;padding:0;transform:translateZ(0)}.tutorial-visual{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;justify-content:center;margin:.5rem auto;min-height:200px;order:0;padding:1rem;position:relative}.tutorial-svg{contain:layout style paint;display:block;height:auto;margin:0 auto;max-width:320px;overflow:visible;width:100%}.tutorial-progress{align-items:center;display:flex;gap:.5rem;height:20px;justify-content:center;margin-bottom:.5rem;order:1}.progress-dot{background:var(--gray-300);border-radius:50%;height:8px;position:relative;transform-origin:center;transition:all .2s ease;width:8px}.progress-dot.active{background:var(--primary-color);box-shadow:0 0 8px #4a90e266;height:12px;transform:scale(1);width:12px}.progress-dot.completed{background:var(--success-color)}.tutorial-step-header{display:flex;flex-direction:column;justify-content:center;margin-bottom:.5rem;min-height:80px;order:2;text-align:center}.tutorial-step-title{color:var(--primary-color);font-size:1.125rem;font-weight:600;line-height:1.3;margin:0 0 .375rem}.tutorial-step-description{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:0 auto;max-width:280px}.tutorial-navigation{align-items:center;display:flex;gap:1rem;height:50px;justify-content:space-between;margin-top:.5rem;order:3;padding-top:.5rem}.tutorial-button{border:none;border-radius:var(--radius-sm);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;min-width:90px;padding:.625rem 1.25rem;text-align:center;transition:all .2s ease}.tutorial-button.primary{background:var(--primary-color);color:#fff}.tutorial-button.primary:hover:not(:disabled){background:var(--secondary-color);box-shadow:0 2px 4px #4a90e24d;transform:translateY(-1px)}.tutorial-button.secondary{background:#0000;border:1px solid var(--border-color);color:var(--text-secondary)}.tutorial-button.secondary:hover:not(:disabled){background:var(--background-color);border-color:var(--gray-400);color:var(--text-primary)}.tutorial-button:disabled{cursor:not-allowed;opacity:.4;transform:none}.tutorial-highlight{animation:tutorialGlow 2s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(74,144,226,.6))}@keyframes tutorialGlow{0%,to{filter:drop-shadow(0 0 6px rgba(74,144,226,.6))}50%{filter:drop-shadow(0 0 12px rgba(74,144,226,.9))}}@media (prefers-reduced-motion:reduce){.tutorial-highlight{animation:none;filter:drop-shadow(0 0 6px rgba(74,144,226,.6))}}@media (max-width:768px){.modal{display:flex!important;flex-direction:column!important;height:auto!important;margin:2rem 1rem!important;max-height:80vh!important;max-height:80dvh!important;min-height:0!important;width:calc(100% - 2rem)!important}.modal-header{flex-shrink:0!important;min-height:0;padding:.875rem 1rem}.modal-content{flex:1 1!important;max-height:none!important;min-height:0!important;overflow-y:auto!important;padding:1rem}.summary-stats{gap:.5rem}.stat-value{font-size:1.375rem}.controls-list,.help-list{font-size:.875rem}.tutorial-modal{max-height:80vh!important;max-height:80dvh!important;max-width:380px}.tutorial-modal .modal-content{min-height:300px}.tutorial-step-title{font-size:1rem}.tutorial-step-description{font-size:.85rem}.tutorial-visual{min-height:160px}}@media (max-width:480px){.modal{max-height:92vh}.modal-header h2{font-size:1.125rem}.summary-stats{grid-template-columns:1fr}.help-modal,.tutorial-modal{max-width:340px}.tutorial-svg{max-width:280px}}@supports (-webkit-touch-callout:none){.modal-overlay{bottom:0!important;height:100vh!important;height:100dvh!important;left:0!important;max-height:100vh!important;max-height:100dvh!important;position:fixed!important;right:0!important;top:0!important}.modal{margin:3rem 1rem!important;max-height:75vh!important;max-height:75dvh!important}}@media (hover:none) and (pointer:coarse){.modal-overlay{padding:2rem 1rem!important}.modal{height:auto!important;margin:0!important;max-height:76vh!important;max-height:76dvh!important;width:100%!important}.modal-content{-webkit-overflow-scrolling:touch!important;flex:1 1!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important}}@media (max-height:700px){.modal{margin:.75rem!important;max-height:85vh!important}.modal-content,.modal-header{padding:.75rem 1rem!important}}.drawing-layer{pointer-events:none;position:relative;transition:opacity .3s ease;z-index:10!important}.draw-mode-active{pointer-events:auto!important}.draw-mode-active~* .bounce-display,.game-canvas-container:has(.draw-mode-active) .bounce-display{pointer-events:none!important}.drawing-layer.draw-mode-active,.drawing-layer.draw-mode-inactive{opacity:1}.drawing-line,.drawing-lines{pointer-events:none}.drawing-line{transition:opacity .3s ease}.draw-mode-active .drawing-line{opacity:1}.draw-mode-inactive .drawing-line{opacity:.3}.drawing-line-active{opacity:.8!important;pointer-events:none}.drawing-handles{pointer-events:auto;position:relative;transition:opacity .2s ease;z-index:15}.draw-mode-active .drawing-handles{opacity:1;pointer-events:auto}.draw-mode-inactive .drawing-handles{opacity:0;pointer-events:none}.drawing-handle{will-change:transform}.drawing-handle,.handle-touch-target{cursor:move;pointer-events:auto}.handle-visible{pointer-events:none;transition:all .1s ease}.drawing-handle:active .handle-visible,.drawing-handle:hover .handle-visible{filter:drop-shadow(0 3px 6px rgba(0,0,0,.3));transform:scale(1.1)}@keyframes handleGrab{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1.1)}}.drawing-handle.grabbing .handle-visible{animation:handleGrab .2s ease-out}.drawing-magnifier{pointer-events:none;transition:transform .1s ease-out;z-index:100!important}.drawing-magnifier circle:first-child{filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.magnified-line{stroke-opacity:1!important}.drawing-handle circle{opacity:1}.drawing-handle{animation:handleFadeIn .1s ease-out}@keyframes handleFadeIn{0%{opacity:0}to{opacity:1}}.level-completed .drawing-layer{opacity:.5}.level-completed .drawing-line{opacity:.3!important}.drawing-magnifier{pointer-events:none!important;position:relative!important;z-index:10000!important}.drawing-magnifier circle,.drawing-magnifier g{opacity:1!important}.lang-ja,.lang-ko,.lang-zh{font-size:14px}.lang-ar,.lang-hi{font-size:15px;line-height:1.6}[dir=rtl] .content-item,[dir=rtl] .footer-links,[dir=rtl] .game-controls,[dir=rtl] .game-header,[dir=rtl] .language-option,[dir=rtl] .level-indicators,[dir=rtl] .modal-header,[dir=rtl] .section-header,[dir=rtl] .section-header-content,[dir=rtl] .settings-item,[dir=rtl] .settings-language,[dir=rtl] .share-button-primary,[dir=rtl] .summary-level,[dir=rtl] .tutorial-navigation,[dir=rtl] .tutorial-preview,[dir=rtl] .welcome-logo-wrapper{flex-direction:row-reverse}[dir=rtl] .modal-close{left:1rem;right:auto}[dir=rtl] .controls-list,[dir=rtl] .help-list{padding-left:0;padding-right:1.5rem}[dir=rtl] .controls-list li:before,[dir=rtl] .help-list li:before{content:"•";left:auto;position:absolute;right:-1.25rem}[dir=rtl] input[type=checkbox]{margin-left:.75rem;margin-right:0}[dir=rtl] .settings-select{background-position:left .7rem center;direction:rtl;padding:.4rem .8rem .4rem 2rem;text-align:right}[dir=rtl] .bounce-count,[dir=rtl] .level-distance,[dir=rtl] .level-number,[dir=rtl] .level-points,[dir=rtl] .stat-value{direction:ltr;display:inline-block;unicode-bidi:isolate}[dir=rtl] .expand-indicator,[dir=rtl] .language-chevron,[dir=rtl] .share-button-primary svg{transform:scaleX(-1)}[dir=rtl] .language-dropdown{left:0;right:auto}[dir=rtl] .language-option.active:after{margin-left:.5rem;margin-right:auto;order:-1}[dir=rtl] .welcome-language-selector{left:1rem;right:auto}[dir=rtl] .control-button.undo-button{margin-left:0;margin-right:12px}[dir=rtl] .summary-indicator-button{margin:0 .75rem 0 0}[dir=rtl] .item-number{margin-left:1rem;margin-right:0}.legal-modal .page-container,.page-container.no-header{direction:ltr!important;text-align:left!important}.lang-de .bounce-display,.lang-es .bounce-display{min-width:120px}.lang-fr .bounce-display,.lang-pt .bounce-display,.lang-ru .bounce-display{min-width:110px}body{transition:direction .3s ease,font-size .3s ease}.language-switching *{transition:none!important}.language-switcher{position:relative}.language-switcher-button{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:20px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.375rem;min-height:36px;padding:.5rem .875rem;position:relative;transition:all .2s ease;white-space:nowrap}.language-switcher-button:after{content:"";inset:-4px;position:absolute}.language-switcher-button:hover{background:#4a90e20a;border-color:var(--primary-color)}.language-code{font-weight:500;letter-spacing:.5px}.language-chevron{color:var(--text-secondary);height:12px;transition:transform .2s ease;width:12px}.language-switcher-button[aria-expanded=true] .language-chevron{transform:rotate(180deg)}.language-dropdown{background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;max-height:70vh;max-height:min(400px,70vh);min-width:160px;opacity:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);transform:translateY(-10px);transition:all .2s ease;visibility:hidden;z-index:1000}.language-dropdown.open{opacity:1;transform:translateY(0);visibility:visible}.language-dropdown-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--border-color) #0000;scrollbar-width:thin}.language-dropdown-content::-webkit-scrollbar{width:6px}.language-dropdown-content::-webkit-scrollbar-track{background:#0000}.language-dropdown-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.language-dropdown-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.language-option{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;min-height:44px;padding:.625rem .875rem;position:relative;text-align:left;transition:background-color .2s ease;width:100%}.language-option:hover{background-color:var(--background-color)}.language-option.active{background-color:#4a90e214;color:var(--primary-color);font-weight:600}.language-option.active:after{color:var(--primary-color);content:"✓";position:absolute;right:.875rem}@media (max-width:480px){.language-switcher-button{font-size:.8125rem;min-height:40px;padding:.5rem .75rem}.language-dropdown{max-height:50vh;max-height:min(300px,50vh);min-width:140px}.language-option{font-size:.8125rem;min-height:44px;padding:.75rem}}@media (max-width:360px){.language-switcher-button{font-size:var(--a11y-min-font);gap:.25rem;min-height:36px;padding:.375rem .625rem}.language-chevron{height:10px;width:10px}.language-dropdown{max-height:40vh;max-height:min(250px,40vh);min-width:130px}.language-option{font-size:var(--a11y-min-font)}}@media (max-height:500px) and (orientation:landscape){.language-dropdown{max-height:60vh;max-height:min(200px,60vh)}}@media (prefers-contrast:high){.language-dropdown{border-width:2px}.language-option:hover{background-color:var(--border-color)}}.language-dropdown-content{user-select:none;-webkit-user-select:none}@media (max-height:600px){.language-dropdown{bottom:calc(100% + 4px);top:auto;transform-origin:bottom}.language-dropdown.open{transform:translateY(0)}}.welcome-screen{align-items:center;background:var(--background-color);color:var(--accent-color);display:flex;inset:0;justify-content:center;overflow:hidden;padding:1rem;position:fixed;z-index:1000}.welcome-background{inset:0;overflow:hidden;pointer-events:none;position:absolute}.bg-circle{animation:float 20s ease-in-out infinite;border-radius:50%;opacity:.05;position:absolute}.bg-circle-1{animation-duration:25s;background:var(--primary-color);height:400px;left:-100px;top:-100px;width:400px}.bg-circle-2{animation-delay:-5s;animation-duration:20s;background:#e28b4a;bottom:-50px;height:300px;right:-50px;width:300px}.bg-circle-3{animation-delay:-10s;animation-duration:30s;background:var(--success-color);height:250px;left:50%;top:50%;transform:translate(-50%,-50%);width:250px}@keyframes float{0%,to{transform:translateY(0) scale(1)}33%{transform:translateY(-30px) scale(1.05)}66%{transform:translateY(30px) scale(.95)}}.welcome-content{animation:slideUp .5s ease-out;background:var(--card-background);border-radius:16px;box-shadow:0 8px 32px #0000001a;max-width:500px;max-width:min(500px,calc(100vw - 2rem));overflow:hidden;padding:2rem;position:relative;text-align:center;width:100%}.welcome-language-selector{position:absolute;right:1rem;top:1rem;z-index:10}.logo-container{animation:logoSpin 2s ease-out;margin-bottom:1.5rem}@keyframes logoSpin{0%{opacity:0;transform:rotate(-180deg) scale(.5)}to{opacity:1;transform:rotate(0) scale(1)}}.logo-svg{height:100px;max-height:25vw;max-width:25vw;width:100px}.welcome-logo-wrapper{align-items:baseline;display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center;margin:.5rem 0}.welcome-title{color:var(--primary-color);font-family:var(--font-family-logo);font-size:clamp(1.75rem,5vw,2.25rem);font-weight:400;letter-spacing:.5px;margin:0}.welcome-title-daily{color:#e28b4a;font-size:clamp(1rem,3vw,1.125rem);font-weight:600;letter-spacing:.5px}.welcome-date{color:var(--accent-color);font-size:clamp(1.125rem,3.5vw,1.25rem);font-weight:500;margin:0 0 .5rem}.welcome-tagline{color:var(--accent-color);font-size:clamp(1rem,3vw,1.125rem);margin:0 0 2rem;opacity:.8;padding:0 .5rem}.tutorial-preview{background:var(--background-color);border:1px solid #4a90e233;border-radius:8px;display:flex;flex-wrap:wrap;gap:clamp(.5rem,3vw,2rem);justify-content:center;margin:2rem 0;padding:1.5rem .5rem}.tutorial-step-preview{align-items:center;display:flex;flex-direction:column;gap:.5rem;min-width:60px}.tutorial-icon-small{color:var(--primary-color);height:clamp(35px,10vw,50px);width:clamp(35px,10vw,50px)}.tutorial-step-preview span{color:var(--accent-color);font-size:clamp(var(--a11y-min-font-secondary),2vw,.875rem);font-weight:500;max-width:80px;text-align:center}@media (max-width:360px){.tutorial-step-preview span{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tutorial-icon-small{height:45px;width:45px}}.welcome-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:0 .5rem}.play-button{background:var(--primary-color);border:none;border-radius:8px;box-shadow:0 4px 12px #4a90e24d;color:#fff;cursor:pointer;font-size:clamp(1.125rem,3.5vw,1.25rem);font-weight:600;margin:0 auto;max-width:300px;overflow:hidden;padding:clamp(.875rem,2vw,1.125rem) clamp(1.25rem,3vw,2.25rem);text-overflow:ellipsis;transition:all .2s;white-space:nowrap;width:100%}.play-button:hover{background:var(--secondary-color);box-shadow:0 6px 16px #4a90e266;transform:translateY(-2px)}.play-button:active{transform:translateY(0)}.welcome-footer{color:var(--accent-color);font-size:clamp(.875rem,2.5vw,1rem);margin:0;opacity:.6;padding:0 .5rem}@media (prefers-reduced-motion:reduce){.bg-circle{animation:none}.logo-container,.welcome-content{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}@media (max-width:360px){.welcome-content{padding:1.25rem}.welcome-tagline{margin-bottom:1.25rem}.tutorial-preview{margin:1.25rem 0;padding:1rem .25rem}.welcome-actions{margin-bottom:1rem}}@media (max-width:480px){.welcome-content{padding:1.5rem}.tutorial-preview{gap:1rem;padding:1rem 0}}@media (max-height:500px) and (orientation:landscape){.welcome-screen{padding:.5rem}.welcome-content{max-width:min(450px,calc(100vw - 1rem));padding:1rem 1.5rem}.logo-container,.tutorial-preview,.welcome-background{display:none}.welcome-logo-wrapper{font-size:.9em;margin:0 0 .5rem}.welcome-tagline{font-size:var(--a11y-min-font);margin:0 0 .75rem}.welcome-date{font-size:.9rem;margin:0 0 .5rem}.welcome-footer{display:none}.welcome-actions{margin:0;padding:0}.play-button{padding:.625rem 1.25rem}}@media (max-height:400px) and (orientation:landscape){.welcome-content{align-items:center;display:flex;gap:1.5rem;justify-content:space-between;max-width:min(500px,calc(100vw - 1rem));padding:.75rem 1.5rem}.welcome-language-selector{margin-left:auto;order:3;position:static}.welcome-left{display:flex;flex:1 1 auto;flex-direction:column;gap:.25rem;min-width:0;text-align:left}.welcome-right{flex:0 0 auto}.welcome-logo-wrapper{display:flex!important;font-size:.85em;margin:0}.welcome-tagline{display:block!important}.welcome-date,.welcome-tagline{font-size:var(--a11y-min-font-secondary);margin:0}.play-button{min-width:120px;width:auto}}@media (min-width:768px) and (max-height:600px) and (orientation:landscape){.welcome-content{padding:1.5rem 2rem}.logo-svg{height:80px;width:80px}.tutorial-preview{gap:1.5rem;margin:1rem 0;padding:1rem 0}}.skeleton-container{background:#fafafa;display:flex;flex-direction:column;height:100%;position:relative;width:100%}.skeleton-header{background:#f0f0f0;border-bottom:1px solid #e8e8e8;height:44px}.skeleton-levels{background:#f8f8f8;border-bottom:1px solid #e8e8e8;height:40px}.skeleton-canvas{background:#f5f5f5;border-radius:8px;flex:1 1;margin:16px}.skeleton-ball,.skeleton-button,.skeleton-control,.skeleton-controls,.skeleton-ground,.skeleton-launch,.skeleton-level,.skeleton-obstacle,.skeleton-title,.skeleton-trajectory{display:none}.skeleton-shimmer{animation:none!important;background:#f0f0f0!important}.skeleton-pulse{animation:none}.skeleton-container:after{animation:spin .8s linear infinite;border:2px solid #e0e0e0;border-radius:50%;border-top-color:#4a90e2;content:"";height:32px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:32px}:root{--skeleton-base:#e0e0e0;--skeleton-highlight:#d0d0d0}.game-footer{background:var(--card-background);border-top:1px solid var(--border-color);box-shadow:0 -2px 4px #0000000d;color:#666;color:var(--footer-text-color,#666);flex-shrink:0;font-size:.75rem;line-height:1.3;min-height:40px;padding:.5rem .75rem;position:relative;text-align:center;z-index:10}.footer-content{margin:0 auto;max-width:800px}.footer-content,.footer-links{align-items:center;display:flex;justify-content:center}.footer-links{flex-wrap:wrap;gap:.375rem;line-height:1.15}.footer-link{background:none;border:none;color:#666;color:var(--footer-text-color,#666);cursor:pointer;font-size:.75rem;font-weight:400;margin:-.25rem 0;padding:.25rem 0;position:relative;text-decoration:none;transition:color .2s ease}.footer-link:hover{color:var(--text-primary)}.footer-link:after{background-color:var(--text-primary);bottom:-2px;content:"";height:1px;left:50%;position:absolute;transition:width .2s ease,left .2s ease;width:0}.footer-link:hover:after{left:0;width:100%}.footer-separator{color:#ddd;color:var(--gray-300,#ddd);font-size:.5rem;line-height:1;-webkit-user-select:none;user-select:none}.footer-copyright{color:#666;color:var(--footer-text-color,#666);font-size:.75rem;font-weight:400;opacity:.8}@media (max-width:600px){.game-footer{min-height:auto;padding:.375rem .5rem}.footer-links{gap:.375rem;line-height:1.1}}@media (max-width:480px){.footer-copyright,.footer-link{font-size:var(--a11y-min-font-secondary)}.footer-separator{font-size:.45rem;margin:0 .125rem}}@media (max-width:360px){.game-footer{padding:.25rem .375rem}.footer-links{gap:.25rem;line-height:1.05}.footer-copyright,.footer-link{font-size:var(--a11y-min-font-secondary)}.footer-separator{display:none}.footer-link{margin:-.375rem -.125rem;padding:.375rem .125rem}}.orientation-lock{align-items:center;animation:fadeIn .3s ease-out;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fffffffa;display:flex;height:100vh;height:100dvh;justify-content:center;left:0;pointer-events:all;position:fixed;top:0;touch-action:none;user-select:none;-webkit-user-select:none;width:100vw;z-index:999}.orientation-lock-content{animation:slideUp .4s ease-out;max-width:300px;padding:2rem;text-align:center}.orientation-lock-icon{animation:pulse 2s ease-in-out infinite;color:var(--primary-color);margin-bottom:1.5rem}.orientation-lock h2{color:var(--accent-color);font-family:var(--font-family-base);font-size:1.5rem;font-weight:600;letter-spacing:-.025em;margin:0 0 .5rem}.orientation-lock p{color:var(--text-secondary);font-family:var(--font-family-base);font-size:1rem;line-height:1.5;margin:0;opacity:.8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}@media (prefers-color-scheme:dark){.orientation-lock{background:#000000fa}.orientation-lock h2{color:#fff}.orientation-lock p{color:#fffc}.orientation-lock-icon{color:var(--primary-color)}}@media (prefers-reduced-motion:reduce){.orientation-lock,.orientation-lock-content,.orientation-lock-icon{animation:none}.orientation-lock{transition:opacity .2s ease}}@media (max-height:400px) and (orientation:landscape){.orientation-lock-content{max-width:280px;padding:1rem}.orientation-lock-icon{margin-bottom:1rem}.orientation-lock-icon svg{height:60px;width:60px}.orientation-lock h2{font-size:1.25rem;margin-bottom:.375rem}.orientation-lock p{font-size:.875rem}}.page-container{color:var(--text-primary);font-family:var(--font-family-base);font-size:1rem;line-height:1.8;margin:0 auto;max-width:800px;padding:2rem;position:relative}@media (min-width:1200px){.page-container{max-width:900px;padding:3rem}}.page-container h1{border-bottom:2px solid var(--primary-color);color:var(--primary-color);font-size:2rem;font-weight:600;letter-spacing:-.02em;margin-bottom:2rem;padding-bottom:.75rem}.page-container h2{font-size:1.5rem;letter-spacing:-.01em;margin:2.5rem 0 1rem}.page-container h2,.page-container h3{color:var(--text-primary);font-weight:600}.page-container h3{font-size:1.25rem;margin:2rem 0 .75rem}.page-container p{color:var(--text-secondary);line-height:1.7;margin:1rem 0}.page-container ol,.page-container ul{color:var(--text-secondary);margin:1rem 0;padding-left:2rem}.page-container li{line-height:1.7;margin:.5rem 0}.page-container li strong{color:var(--text-primary);font-weight:600}.page-container a{color:var(--primary-color);font-weight:500;text-decoration:none;transition:all var(--transition-fast)}.page-container a:hover{color:var(--primary-soft);text-decoration:underline}.contact-info{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:2rem 0;padding:2rem;text-align:center;transition:all var(--transition-fast)}.contact-info:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.contact-info h3{color:var(--primary-color);font-size:1.25rem;margin:0 0 1rem}.contact-info p{color:var(--text-primary);font-size:1.125rem;font-weight:500;margin:.5rem 0}.date-updated{background:var(--background-color);border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:var(--font-size-sm);font-style:italic;margin-bottom:2rem;padding:.75rem;text-align:center}.page-container.no-header{margin-top:0;padding-top:0}.page-container.no-header .date-updated{background:none;margin-top:0;padding:0;text-align:left}.page-container.no-header h2:first-of-type{margin-top:.5rem}.controls-list,.help-list{list-style:none;padding-left:0}.controls-list li,.help-list li{margin:.75rem 0;padding-left:1.5rem;position:relative}.controls-list li:before,.help-list li:before{color:var(--primary-color);content:"•";font-size:1.2em;font-weight:700;left:0;position:absolute}.control-type{color:var(--primary-color);display:inline-block;font-weight:600;min-width:4rem}.legal-modal{max-width:850px}.legal-modal .modal{display:flex;flex-direction:column;max-height:90vh}.legal-modal .modal-header{background:var(--card-background);border-bottom:1px solid var(--border-color);flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.legal-modal .modal-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:0}.legal-modal .page-container{margin:0;max-width:100%;padding:2rem}@media (max-width:1024px){.page-container{max-width:90%;padding:1.5rem}.legal-modal{max-width:90%}}@media (max-width:768px){.page-container{height:auto;margin:0;max-width:100%;min-height:0;padding:1.25rem}.page-container h1{font-size:1.5rem;margin-bottom:1.5rem}.page-container h2{font-size:1.25rem;margin:2rem 0 .75rem}.page-container h3{font-size:1.125rem;margin:1.5rem 0 .5rem}.page-container li,.page-container p{font-size:.95rem;line-height:1.6}.contact-info{margin:1.5rem 0;padding:1.25rem}.contact-info p{font-size:1rem}.legal-modal .page-container{height:auto!important;margin:0!important;max-width:100%!important;min-height:0!important;padding:1rem!important}}@media (max-width:480px){.legal-modal .page-container,.page-container{padding:1rem}.page-container h1{font-size:1.375rem}.page-container h2{font-size:1.125rem}.date-updated{font-size:.75rem}}.legal-page-standalone{background:var(--background-color);min-height:100vh;padding:2rem 0}.legal-page-standalone .page-container{background:var(--card-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:2rem}@media (prefers-reduced-motion:reduce){.contact-info,.page-container a{transition:none}}@media (prefers-contrast:high){.page-container h1{border-bottom-width:3px}.contact-info{border-width:2px}}@media print{.page-container{margin:0;max-width:100%;padding:0}.contact-info{background:#fff;border:1px solid #000;box-shadow:none}.page-container a{color:#000;text-decoration:underline}.date-updated{background:none;padding:0}}body.lang-en,body.lang-es{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}[dir=rtl]{text-align:right}[dir=rtl] .footer-links,[dir=rtl] .game-controls,[dir=rtl] .game-header,[dir=rtl] .level-indicators,[dir=rtl] .modal-header{flex-direction:row-reverse}[dir=rtl] .modal-close{margin-left:auto;margin-right:0}.lang-es .bounce-display{min-width:120px}body{transition:font-family .3s ease}.language-loading{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;left:50%;padding:20px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:9999}.language-loading-spinner{animation:spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin:0 auto;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.lang-es .launch-float-button,.lang-fr .launch-float-button,.lang-ja body,.lang-ko body,.lang-zh body{font-size:14px}.lang-es .stat-label,.lang-fr .stat-label{font-size:.65rem}@media (max-width:768px){.lang-es .bounce-display,.lang-fr .bounce-display{font-size:.9rem}}
