@import"https://fonts.googleapis.com/css2?family=Jolly+Lodger&display=swap";:root{--color-primary: #A3FF00;--color-secondary: #00D9FF;--color-accent: #FF9500;--color-purple: #6B46C1;--color-dark-bg: #1A1F2E;--color-darker-bg: #2D1B4E;--color-text-light: #FFFFFF;--color-text-muted: rgba(255, 255, 255, .7);--color-border: rgba(107, 70, 193, .3);font-family:Avenir,Avenir Next,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--color-text-light);background-color:var(--color-dark-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Avenir,Avenir Next,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}html.font-size-medium{font-size:16px}html.font-size-large{font-size:18px}html.font-size-xlarge{font-size:20px}html.font-size-large body,html.font-size-large .code-line,html.font-size-large .hint-text,html.font-size-large .ghost-message,html.font-size-large p,html.font-size-large span,html.font-size-large button,html.font-size-large input,html.font-size-large label{font-size:1.125em}html.font-size-xlarge body,html.font-size-xlarge .code-line,html.font-size-xlarge .hint-text,html.font-size-xlarge .ghost-message,html.font-size-xlarge p,html.font-size-xlarge span,html.font-size-xlarge button,html.font-size-xlarge input,html.font-size-xlarge label{font-size:1.25em}html.font-size-large h1{font-size:clamp(3.375rem,6.75vw,3.9375rem)}html.font-size-large h2{font-size:clamp(2.25rem,5.0625vw,2.8125rem)}html.font-size-large h3{font-size:clamp(1.6875rem,3.9375vw,2.25rem)}html.font-size-large h4{font-size:clamp(1.40625rem,3.375vw,1.6875rem)}html.font-size-large h5{font-size:clamp(1.2375rem,2.8125vw,1.40625rem)}html.font-size-large h6{font-size:clamp(1.125rem,2.25vw,1.2375rem)}html.font-size-xlarge h1{font-size:clamp(3.75rem,7.5vw,4.375rem)}html.font-size-xlarge h2{font-size:clamp(2.5rem,5.625vw,3.125rem)}html.font-size-xlarge h3{font-size:clamp(1.875rem,4.375vw,2.5rem)}html.font-size-xlarge h4{font-size:clamp(1.5625rem,3.75vw,1.875rem)}html.font-size-xlarge h5{font-size:clamp(1.375rem,3.125vw,1.5625rem)}html.font-size-xlarge h6{font-size:clamp(1.25rem,2.5vw,1.375rem)}h1,h2,h3,h4,h5,h6{font-family:Jolly Lodger,cursive;font-weight:400;letter-spacing:.05em;margin:0;line-height:1.2}h1{font-size:clamp(3rem,6vw,3.5rem)}h2{font-size:clamp(2rem,4.5vw,2.5rem)}h3{font-size:clamp(1.5rem,3.5vw,2rem)}h4{font-size:clamp(1.25rem,3vw,1.5rem)}h5{font-size:clamp(1.1rem,2.5vw,1.25rem)}h6{font-size:clamp(1rem,2vw,1.1rem)}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden}body{min-width:320px}p,span,div,button,input,textarea,select{font-family:inherit}p{margin:0 0 1rem;line-height:1.6}.text-white{color:var(--color-text-light)}.text-muted{color:var(--color-text-muted)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:.875rem}.text-base{font-size:.95rem}.text-md{font-size:1rem}.text-lg{font-size:1.125rem}.leading-normal{line-height:1.4}.leading-relaxed{line-height:1.5}.leading-loose{line-height:1.6}.h1-style{font-family:Jolly Lodger,cursive;font-size:clamp(2rem,6vw,3.5rem);font-weight:400;letter-spacing:.05em;line-height:1.2;margin:0}.h2-style{font-family:Jolly Lodger,cursive;font-size:clamp(1.5rem,4.5vw,2.5rem);font-weight:400;letter-spacing:.05em;line-height:1.2;margin:0}.h3-style{font-family:Jolly Lodger,cursive;font-size:clamp(1.25rem,3.5vw,2rem);font-weight:400;letter-spacing:.05em;line-height:1.2;margin:0}.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;padding:1rem;animation:fadeIn .3s ease-out}.modal-container{background:linear-gradient(135deg,var(--color-darker-bg) 0%,var(--color-dark-bg) 100%);border:3px solid var(--color-purple);border-radius:12px;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #6b46c166;animation:slideUp .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:2px solid var(--color-border)}.modal-content{padding:1.25rem;overflow-y:auto;flex:1;min-height:0;color:var(--color-text-light)}.modal-footer{padding:1rem 1.25rem;display:flex;gap:.75rem;justify-content:flex-end;border-top:2px solid var(--color-border);flex-shrink:0;background:linear-gradient(135deg,var(--color-darker-bg) 0%,var(--color-dark-bg) 100%)}.modal-close-button{background:transparent;border:none;color:var(--color-text-light);font-size:1.5rem;cursor:pointer;padding:.5rem;line-height:1;transition:color .2s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-close-button:hover{color:var(--color-accent)}.modal-close-button:focus{outline:3px solid #FFD700;outline-offset:2px;border-radius:4px}.modal-button{padding:.65rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;border:none;min-width:100px;min-height:44px;letter-spacing:.02em}.modal-button-primary{background:linear-gradient(135deg,var(--color-primary) 0%,#7ACC00 100%);color:var(--color-dark-bg);border:2px solid var(--color-primary)}.modal-button-primary:hover{background:linear-gradient(135deg,#b8ff33,#8fdd00);transform:translateY(-2px);box-shadow:0 4px 12px #a3ff0066}.modal-button-secondary{background:transparent;color:var(--color-text-light);border:2px solid var(--color-text-light)}.modal-button-secondary:hover{background:#ffffff1a;transform:translateY(-2px)}.modal-button:focus{outline:3px solid #FFD700;outline-offset:2px}.icon-button{min-width:40px;min-height:40px;padding:.4rem;background:#6b46c14d;border:2px solid var(--color-purple);border-radius:8px;color:var(--color-text-light);font-size:clamp(1.15rem,2.5vw,1.35rem);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 4px 12px #0000004d}.icon-button:hover{background:#6b46c180;border-color:var(--color-secondary);box-shadow:0 0 20px #00d9ff66;transform:translateY(-2px) rotate(45deg)}.icon-button:active{transform:translateY(0) rotate(45deg)}.icon-button:focus{outline:3px solid #FFD700;outline-offset:2px}.icon-button--badge:hover{border-color:var(--color-primary);box-shadow:0 0 20px #a3ff0066}.icon-button__badge-count{position:absolute;top:-4px;right:-4px;background:var(--color-primary);color:var(--color-dark-bg);font-size:.75rem;font-weight:700;padding:.125rem .375rem;border-radius:10px;min-width:20px;text-align:center;box-shadow:0 2px 4px #0000004d}.progress-bar-container{position:relative;width:100%;background:#0006;border-radius:18px;border:2px solid var(--color-purple);overflow:hidden}.progress-bar--small{height:8px}.progress-bar--medium{height:24px}.progress-bar--large{height:36px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-purple) 0%,var(--color-secondary) 50%,var(--color-primary) 100%);border-radius:16px;transition:width .5s ease-out;display:flex;align-items:center;justify-content:center}.progress-bar-label{font-size:.9rem;font-weight:700;color:var(--color-text-light);text-shadow:0 2px 4px rgba(0,0,0,.8);z-index:1;white-space:nowrap}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}html.high-contrast-mode{--color-primary: #CCFF33;--color-secondary: #00FFFF;--color-accent: #FFAA00;--color-purple: #9966FF;--color-text-light: #FFFFFF;--color-border: rgba(153, 102, 255, .6);--hc-bg-solid: #000000;--hc-bg-panel: rgba(0, 0, 0, .95);--hc-bg-disabled: #666666;--hc-text-disabled: #CCCCCC;--hc-border-disabled: #999999;--hc-focus-color: #FFFF00}@media(prefers-contrast:high){:root{--color-primary: #CCFF33;--color-secondary: #00FFFF;--color-accent: #FFAA00;--color-purple: #9966FF;--color-text-light: #FFFFFF;--color-border: rgba(153, 102, 255, .6);--hc-bg-solid: #000000;--hc-bg-panel: rgba(0, 0, 0, .95);--hc-bg-disabled: #666666;--hc-text-disabled: #CCCCCC;--hc-border-disabled: #999999;--hc-focus-color: #FFFF00}}html.high-contrast-mode .game-board:before,html.high-contrast-mode .welcome-screen:before,html.high-contrast-mode .level-selection:before{display:none}html.high-contrast-mode .game-board,html.high-contrast-mode .welcome-screen,html.high-contrast-mode .level-selection{background:var(--hc-bg-solid)}@media(prefers-contrast:high){.game-board:before,.welcome-screen:before,.level-selection:before{display:none}.game-board,.welcome-screen,.level-selection{background:var(--hc-bg-solid)}h1,h2,h3,h4,h5,h6,.h1-style,.h2-style,.h3-style{text-shadow:none;font-weight:900}.modal-container,.game-header,.code-section,.ghost-section,.hint-section,.hint-panel,.instructions-panel,.level-card{background:var(--hc-bg-panel);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.modal-container,.modal-header,.modal-footer,.game-header,.code-section,.ghost-section,.hint-section,.hint-panel,.instructions-panel,.level-card,.code-container,.feedback{border-width:4px}.modal-button,button,.reset-button,.submit-button,.hint-button,.start-button,.instructions-toggle,.close-instructions,.progress-button,.level-button,.back-button{border-width:3px;font-weight:700}.modal-button-primary,.start-button,.hint-button:not(:disabled){background:var(--color-primary);color:var(--hc-bg-solid);border-color:var(--color-primary)}.modal-button-primary:hover,.start-button:hover:not(:disabled),.hint-button:hover:not(:disabled){background:#df6;border-color:#df6}.modal-button-secondary,.instructions-toggle,.name-input-buttons .close-instructions.secondary{border-color:#fff;background:#fff3;font-weight:700}.modal-button-secondary:hover,.instructions-toggle:hover,.name-input-buttons .close-instructions.secondary:hover{background:#ffffff4d;border-color:#fff}.submit-button,.close-instructions:not(.secondary),.reset-button,.back-button{background:var(--color-purple);border-color:#b9f}.submit-button:hover:not(:disabled),.close-instructions:hover:not(.secondary),.reset-button:hover:not(:disabled),.back-button:hover{background:#b9f;border-color:#dcf}.submit-button:disabled,.reset-button:disabled,.hint-button:disabled,.start-button:disabled,button:disabled{background:var(--hc-bg-disabled);color:var(--hc-text-disabled);border-color:var(--hc-border-disabled)}.icon-button{border-width:3px;background:#96f6;border-color:var(--color-purple)}.icon-button:hover{background:#96f9;border-color:#b9f}.icon-button--badge:hover{border-color:var(--color-primary)}.icon-button__badge-count{background:var(--color-primary);color:var(--hc-bg-solid);font-weight:900}.tagline,.level-selection-subtitle,.challenge-description,.tip-text,.hint-text,.level-card-description,.name-input-prompt,.instructions-content li{font-weight:600}.tip-label,.progress-button,.level-card-progress,.name-input{font-weight:700}.game-title,.level-selection-title,.level-button,.progress-button-percentage,.level-card-progress,.level-card--completed{color:var(--color-primary)}.challenge-title,.tip-label,.instructions-content h2,.level-card-title{color:var(--color-secondary)}.game-header{border-bottom-color:var(--color-secondary)}.code-section{border-color:var(--color-secondary)}.ghost-section,.level-card--completed{border-color:var(--color-primary)}.hint-section{border-color:var(--color-accent)}.instructions-panel,.level-card:not(.level-card--locked):not(.level-card--completed){border-color:var(--color-purple)}.code-textarea,.name-input{background:#00ffff26;border:3px solid var(--color-secondary);font-weight:600}.code-textarea:focus,.name-input:focus{background:#0ff3;border-color:var(--color-secondary)}.level-button:focus,.progress-button:focus,.icon-button:focus,.modal-button:focus,.start-button:focus,.instructions-toggle:focus,.close-instructions:focus,.level-card:focus,.back-button:focus,.submit-button:focus,.reset-button:focus,.hint-button:focus-visible,.code-section:focus-within,.hint-section:focus-within,.code-textarea:focus,.name-input:focus{outline-width:4px;outline-color:var(--hc-focus-color)}.progress-bar-container{border-width:3px}.modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#000000f2}.code-section::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background:var(--color-secondary)}.code-section::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track{background:#333}}html.high-contrast-mode h1,html.high-contrast-mode h2,html.high-contrast-mode h3,html.high-contrast-mode h4,html.high-contrast-mode h5,html.high-contrast-mode h6,html.high-contrast-mode .h1-style,html.high-contrast-mode .h2-style,html.high-contrast-mode .h3-style{text-shadow:none;font-weight:900}html.high-contrast-mode .modal-container,html.high-contrast-mode .game-header,html.high-contrast-mode .code-section,html.high-contrast-mode .ghost-section,html.high-contrast-mode .hint-section,html.high-contrast-mode .hint-panel,html.high-contrast-mode .instructions-panel,html.high-contrast-mode .level-card{background:var(--hc-bg-panel);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}html.high-contrast-mode .modal-container,html.high-contrast-mode .modal-header,html.high-contrast-mode .modal-footer,html.high-contrast-mode .game-header,html.high-contrast-mode .code-section,html.high-contrast-mode .ghost-section,html.high-contrast-mode .hint-section,html.high-contrast-mode .hint-panel,html.high-contrast-mode .instructions-panel,html.high-contrast-mode .level-card,html.high-contrast-mode .code-container,html.high-contrast-mode .feedback{border-width:4px}html.high-contrast-mode .modal-button,html.high-contrast-mode button,html.high-contrast-mode .reset-button,html.high-contrast-mode .submit-button,html.high-contrast-mode .hint-button,html.high-contrast-mode .start-button,html.high-contrast-mode .instructions-toggle,html.high-contrast-mode .close-instructions,html.high-contrast-mode .progress-button,html.high-contrast-mode .level-button,html.high-contrast-mode .back-button{border-width:3px;font-weight:700}html.high-contrast-mode .modal-button-primary,html.high-contrast-mode .start-button,html.high-contrast-mode .hint-button:not(:disabled){background:var(--color-primary);color:var(--hc-bg-solid);border-color:var(--color-primary)}html.high-contrast-mode .modal-button-primary:hover,html.high-contrast-mode .start-button:hover:not(:disabled),html.high-contrast-mode .hint-button:hover:not(:disabled){background:#df6;border-color:#df6}html.high-contrast-mode .modal-button-secondary,html.high-contrast-mode .instructions-toggle,html.high-contrast-mode .name-input-buttons .close-instructions.secondary{border-color:#fff;background:#fff3;font-weight:700}html.high-contrast-mode .modal-button-secondary:hover,html.high-contrast-mode .instructions-toggle:hover,html.high-contrast-mode .name-input-buttons .close-instructions.secondary:hover{background:#ffffff4d;border-color:#fff}html.high-contrast-mode .submit-button,html.high-contrast-mode .close-instructions:not(.secondary),html.high-contrast-mode .reset-button,html.high-contrast-mode .back-button{background:var(--color-purple);border-color:#b9f}html.high-contrast-mode .submit-button:hover:not(:disabled),html.high-contrast-mode .close-instructions:hover:not(.secondary),html.high-contrast-mode .reset-button:hover:not(:disabled),html.high-contrast-mode .back-button:hover{background:#b9f;border-color:#dcf}html.high-contrast-mode .submit-button:disabled,html.high-contrast-mode .reset-button:disabled,html.high-contrast-mode .hint-button:disabled,html.high-contrast-mode .start-button:disabled,html.high-contrast-mode button:disabled{background:var(--hc-bg-disabled);color:var(--hc-text-disabled);border-color:var(--hc-border-disabled)}html.high-contrast-mode .icon-button{border-width:3px;background:#96f6;border-color:var(--color-purple)}html.high-contrast-mode .icon-button:hover{background:#96f9;border-color:#b9f}html.high-contrast-mode .icon-button--badge:hover{border-color:var(--color-primary)}html.high-contrast-mode .icon-button__badge-count{background:var(--color-primary);color:var(--hc-bg-solid);font-weight:900}html.high-contrast-mode .tagline,html.high-contrast-mode .level-selection-subtitle,html.high-contrast-mode .challenge-description,html.high-contrast-mode .tip-text,html.high-contrast-mode .hint-text,html.high-contrast-mode .level-card-description,html.high-contrast-mode .name-input-prompt,html.high-contrast-mode .instructions-content li{font-weight:600}html.high-contrast-mode .tip-label,html.high-contrast-mode .progress-button,html.high-contrast-mode .level-card-progress,html.high-contrast-mode .name-input{font-weight:700}html.high-contrast-mode .game-title,html.high-contrast-mode .level-selection-title,html.high-contrast-mode .level-button,html.high-contrast-mode .progress-button-percentage,html.high-contrast-mode .level-card-progress,html.high-contrast-mode .level-card--completed{color:var(--color-primary)}html.high-contrast-mode .challenge-title,html.high-contrast-mode .tip-label,html.high-contrast-mode .instructions-content h2,html.high-contrast-mode .level-card-title{color:var(--color-secondary)}html.high-contrast-mode .game-header{border-bottom-color:var(--color-secondary)}html.high-contrast-mode .code-section{border-color:var(--color-secondary)}html.high-contrast-mode .ghost-section,html.high-contrast-mode .level-card--completed{border-color:var(--color-primary)}html.high-contrast-mode .hint-section{border-color:var(--color-accent)}html.high-contrast-mode .instructions-panel,html.high-contrast-mode .level-card:not(.level-card--locked):not(.level-card--completed){border-color:var(--color-purple)}html.high-contrast-mode .code-textarea,html.high-contrast-mode .name-input{background:#00ffff26;border:3px solid var(--color-secondary);font-weight:600}html.high-contrast-mode .code-textarea:focus,html.high-contrast-mode .name-input:focus{background:#0ff3;border-color:var(--color-secondary)}html.high-contrast-mode .level-button:focus,html.high-contrast-mode .progress-button:focus,html.high-contrast-mode .icon-button:focus,html.high-contrast-mode .modal-button:focus,html.high-contrast-mode .start-button:focus,html.high-contrast-mode .instructions-toggle:focus,html.high-contrast-mode .close-instructions:focus,html.high-contrast-mode .level-card:focus,html.high-contrast-mode .back-button:focus,html.high-contrast-mode .submit-button:focus,html.high-contrast-mode .reset-button:focus,html.high-contrast-mode .hint-button:focus-visible,html.high-contrast-mode .code-section:focus-within,html.high-contrast-mode .hint-section:focus-within,html.high-contrast-mode .code-textarea:focus,html.high-contrast-mode .name-input:focus{outline-width:4px;outline-color:var(--hc-focus-color)}html.high-contrast-mode .progress-bar-container{border-width:3px}html.high-contrast-mode .modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#000000f2}html.high-contrast-mode .code-section::-webkit-scrollbar-thumb,html.high-contrast-mode .sidebar::-webkit-scrollbar-thumb{background:var(--color-secondary)}html.high-contrast-mode .code-section::-webkit-scrollbar-track,html.high-contrast-mode .sidebar::-webkit-scrollbar-track{background:#333}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.welcome-screen{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1f2e,#2d1b4e);padding:1rem;position:fixed;top:0;left:0;overflow:hidden;margin:0}.welcome-screen:before{content:"";position:absolute;inset:0;background-image:radial-gradient(2px 2px at 20% 30%,white,transparent),radial-gradient(2px 2px at 60% 70%,white,transparent),radial-gradient(1px 1px at 50% 50%,white,transparent),radial-gradient(1px 1px at 80% 10%,white,transparent),radial-gradient(2px 2px at 90% 60%,white,transparent),radial-gradient(1px 1px at 33% 80%,white,transparent);background-size:200% 200%;animation:twinkle 8s ease-in-out infinite;opacity:.6;pointer-events:none}@keyframes twinkle{0%,to{opacity:.6}50%{opacity:.3}}.welcome-content{text-align:center;max-width:500px;position:relative;z-index:1}.game-title{color:#fff;margin:0 0 .5rem;position:relative;text-shadow:0 0 10px rgba(163,255,0,.8),0 0 20px rgba(0,217,255,.6),0 0 30px rgba(107,70,193,.4),2px 2px 0px rgba(163,255,0,.3),4px 4px 0px rgba(0,217,255,.2);animation:spookyWave 3s ease-in-out infinite}@keyframes spookyWave{0%,to{transform:translateY(0);text-shadow:0 0 10px rgba(163,255,0,.8),0 0 20px rgba(0,217,255,.6),0 0 30px rgba(107,70,193,.4),2px 2px 0px rgba(163,255,0,.3),4px 4px 0px rgba(0,217,255,.2)}50%{transform:translateY(-5px);text-shadow:0 0 15px rgba(163,255,0,1),0 0 25px rgba(0,217,255,.8),0 0 35px rgba(107,70,193,.6),3px 3px 0px rgba(163,255,0,.4),6px 6px 0px rgba(0,217,255,.3)}}.ghost-container{margin:1rem auto;max-width:160px}.ghost-character{width:100%;height:auto;filter:drop-shadow(0 10px 30px rgba(255,255,255,.3)) drop-shadow(0 0 20px rgba(255,255,255,.5));animation:ghostFloat 3s ease-in-out infinite}@keyframes ghostFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-15px) rotate(-1deg)}50%{transform:translateY(-20px) rotate(0)}75%{transform:translateY(-15px) rotate(1deg)}}.ghost-body{animation:ghostPulse 2.5s ease-in-out infinite}@keyframes ghostPulse{0%,to{opacity:.85}50%{opacity:.95}}.ghost-eye{animation:blink 4s ease-in-out infinite}@keyframes blink{0%,48%,52%,to{transform:scaleY(1)}50%{transform:scaleY(.1)}}.ghost-blush{animation:blushPulse 2s ease-in-out infinite}@keyframes blushPulse{0%,to{opacity:.5}50%{opacity:.7}}.ghost-arm-left{animation:armWaveLeft 2s ease-in-out infinite;transform-origin:center}.ghost-arm-right{animation:armWaveRight 2s ease-in-out infinite;transform-origin:center}@keyframes armWaveLeft{0%,to{transform:rotate(0) translateY(0)}50%{transform:rotate(-10deg) translateY(-3px)}}@keyframes armWaveRight{0%,to{transform:rotate(0) translateY(0)}50%{transform:rotate(10deg) translateY(-3px)}}.tagline{font-size:clamp(1.125rem,3vw,1.5rem);color:#fff;margin:.75rem 0 1.5rem;line-height:1.4;letter-spacing:.02em}.start-button{font-size:clamp(1.25rem,4vw,1.75rem);font-weight:600;color:#1a1f2e;background:linear-gradient(135deg,#a3ff00,#00d9ff);border:none;border-radius:50px;padding:.75rem 2.25rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #a3ff0066,0 0 #a3ff0080;min-width:44px;min-height:44px;letter-spacing:.02em;position:relative;overflow:hidden}.start-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.start-button:hover:before{width:300px;height:300px}.start-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #a3ff0099,0 0 0 8px #a3ff0033}.start-button:active{transform:translateY(-1px) scale(1.02)}.start-button:focus-visible{outline:3px solid #FFD700;outline-offset:4px}.instructions-toggle{font-size:1.125rem;color:#fff;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:25px;padding:.5rem 1.25rem;margin-top:1rem;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:44px;min-height:44px;letter-spacing:.02em;font-weight:600}.instructions-toggle:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-2px)}.instructions-toggle:focus-visible{outline:3px solid #FFD700;outline-offset:4px}.instructions-overlay{position:fixed;inset:0;background:#1a1f2ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .3s ease}.instructions-content{background:linear-gradient(135deg,#2d1b4e,#1a1f2e);border:3px solid #00D9FF;border-radius:16px;padding:1.75rem;max-width:600px;width:100%;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease;box-sizing:border-box;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.instructions-content h2{font-size:clamp(1.5rem,4.5vw,2.25rem);color:#fff;margin:0 0 1rem;text-align:center;letter-spacing:.02em}.instructions-list{list-style:none;padding:0;margin:0 0 1.25rem;text-align:left}.instructions-list li{display:flex;align-items:center;gap:.75rem;font-size:clamp(1.125rem,3vw,1.375rem);color:#fff;margin-bottom:.85rem;line-height:1.4;letter-spacing:.02em}.instruction-icon{font-size:1.5em;flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.close-instructions{font-size:1.25rem;font-weight:600;color:#1a1f2e;background:linear-gradient(135deg,#a3ff00,#00d9ff);border:none;border-radius:50px;padding:.65rem 2rem;cursor:pointer;transition:all .3s ease;width:100%;min-height:44px;letter-spacing:.02em}.close-instructions:hover{transform:translateY(-2px);box-shadow:0 8px 20px #a3ff0066}.close-instructions:focus-visible{outline:3px solid #FFD700;outline-offset:4px}@media(max-width:768px){.welcome-screen{padding:1.5rem}.instructions-content{padding:2rem 1.5rem}.instructions-list li{gap:.75rem}.instruction-icon{font-size:1.5em}}@media(prefers-reduced-motion:reduce){.welcome-screen:before,.title-ghost,.ghost-character,.ghost-body,.ghost-eye{animation:none}.start-button,.instructions-toggle,.close-instructions{transition:none}.start-button:hover,.instructions-toggle:hover{transform:none}.instructions-overlay,.instructions-content{animation:none}}.name-input-modal{text-align:center}.name-input-prompt{font-size:1.125rem;color:#fff;margin:.75rem 0 1rem;word-wrap:break-word;overflow-wrap:break-word}.name-input{width:100%;max-width:100%;padding:.75rem 1rem;font-size:1.125rem;border:2px solid #00D9FF;border-radius:8px;background:#00d9ff1a;color:#fff;text-align:center;margin-bottom:1rem;transition:all .2s ease;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-input:focus{outline:3px solid #FFD700;outline-offset:2px;background:#00d9ff26;border-color:#a3ff00}.name-input::placeholder{color:#ffffff80}.name-input-buttons{display:flex;gap:.75rem;justify-content:center}.name-input-buttons .close-instructions{flex:1;max-width:200px}.name-input-buttons .close-instructions.secondary{background:transparent;border:2px solid rgba(255,255,255,.5);color:#fff}.name-input-buttons .close-instructions.secondary:hover{background:#ffffff1a;border-color:#ffffffb3}.code-heal-overlay{position:absolute;pointer-events:none;z-index:10;overflow:visible}.heal-wave{position:absolute;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(163,255,0,.2) 10%,rgba(163,255,0,.6) 50%,rgba(163,255,0,.2) 90%,transparent 100%);border-radius:8px;box-shadow:0 0 20px #a3ff0066,inset 0 0 20px #a3ff0033;transform-origin:left center}.heal-sparkle{position:absolute;top:50%;left:0;transform:translateY(-50%);font-size:1.5rem;filter:drop-shadow(0 0 8px rgba(163,255,0,.8));pointer-events:none}.terminal-glow-overlay{position:absolute;inset:0;pointer-events:none;z-index:5;border-radius:8px}.glow-effect{width:100%;height:100%;border-radius:8px;border:3px solid rgba(163,255,0,.4);background:radial-gradient(circle at center,rgba(163,255,0,.05) 0%,transparent 70%)}.corner-sparkle{position:absolute;font-size:1.5rem;pointer-events:none;filter:drop-shadow(0 0 8px rgba(163,255,0,.8))}.corner-sparkle.top-left{top:-10px;left:-10px}.corner-sparkle.top-right{top:-10px;right:-10px}.corner-sparkle.bottom-left{bottom:-10px;left:-10px}.corner-sparkle.bottom-right{bottom:-10px;right:-10px}.particle-burst-container{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:20;overflow:hidden}.particle{position:absolute;pointer-events:none;transform-origin:center;line-height:1;will-change:transform,opacity}.halloween-particle{filter:drop-shadow(0 0 10px rgba(163,255,0,.8)) drop-shadow(0 0 16px rgba(255,215,0,.6));text-shadow:0 0 12px rgba(163,255,0,.9),0 0 24px rgba(255,215,0,.7),0 0 36px rgba(163,255,0,.5)}@media(prefers-reduced-motion:reduce){.code-heal-overlay,.terminal-glow-overlay,.particle-burst-container{display:none}}@media(prefers-contrast:high){.heal-glow{background:linear-gradient(90deg,transparent 0%,rgba(163,255,0,.5) 20%,rgba(163,255,0,.8) 50%,rgba(163,255,0,.5) 80%,transparent 100%)}.glow-effect{border-width:3px}}.game-board{width:100vw;height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#1a1f2e,#2d1b4e);position:fixed;top:0;left:0;overflow:hidden;margin:0;padding:0}.game-board:before{content:"";position:absolute;inset:0;background-image:radial-gradient(2px 2px at 20% 30%,white,transparent),radial-gradient(2px 2px at 60% 70%,white,transparent),radial-gradient(1px 1px at 50% 50%,white,transparent),radial-gradient(1px 1px at 80% 10%,white,transparent),radial-gradient(2px 2px at 90% 60%,white,transparent),radial-gradient(1px 1px at 33% 80%,white,transparent);background-size:200% 200%;animation:twinkle 8s ease-in-out infinite;opacity:.4;pointer-events:none;z-index:0}.game-header{position:relative;z-index:10;padding:.65rem 1rem;background:#1a1f2ecc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid rgba(0,217,255,.3);flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.level-info{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;flex:1}.level-button{color:#a3ff00;text-shadow:0 0 10px rgba(163,255,0,.6),0 0 20px rgba(163,255,0,.3);white-space:nowrap;background:transparent;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:8px;transition:all .2s ease;min-height:40px}.level-button:hover{background:#a3ff001a;transform:translateY(-2px);text-shadow:0 0 15px rgba(163,255,0,.8),0 0 30px rgba(163,255,0,.5)}.level-button:active{transform:translateY(0)}.level-button:focus{outline:3px solid #FFD700;outline-offset:2px}.progress-button{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:#6b46c14d;border:2px solid #6B46C1;border-radius:8px;color:#fff;font-size:clamp(.8rem,2vw,.95rem);font-weight:600;cursor:pointer;transition:all .2s ease;min-height:40px;min-width:40px;white-space:nowrap}.progress-button:hover{background:#6b46c180;border-color:#00d9ff;box-shadow:0 0 20px #00d9ff66;transform:translateY(-2px)}.progress-button:active{transform:translateY(0)}.header-actions{display:flex;gap:.75rem;align-items:center}.progress-button:focus{outline:3px solid #FFD700;outline-offset:3px}.progress-button-text{letter-spacing:.02em}.progress-button-percentage{color:#a3ff00;font-weight:700;font-size:1.125em}.game-grid{position:relative;z-index:1;flex:1;display:grid;grid-template-columns:1fr 300px;grid-template-rows:1fr;grid-template-areas:"code sidebar";gap:.75rem;padding:.75rem 1rem 1rem;overflow:hidden}.code-section{grid-area:code;background:#1a1f2ee6;border:2px solid rgba(0,217,255,.4);border-radius:10px;padding:.75rem;overflow-y:auto;box-shadow:0 8px 32px #0000004d,inset 0 0 20px #00d9ff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar{grid-area:sidebar;display:flex;flex-direction:column;gap:.75rem;overflow-y:visible;overflow-x:hidden}.ghost-section{background:#1a1f2ee6;border:2px solid rgba(163,255,0,.4);border-radius:10px;padding:1rem .75rem .75rem;min-height:180px;display:flex;align-items:flex-start;justify-content:center;box-shadow:0 8px 32px #0000004d,inset 0 0 20px #a3ff001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:visible}.hint-section{background:#1a1f2ee6;border:2px solid rgba(255,149,0,.4);border-radius:10px;padding:.75rem;flex:1;min-height:120px;box-shadow:0 8px 32px #0000004d,inset 0 0 20px #ff95001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;overflow:hidden}.code-section::-webkit-scrollbar,.sidebar::-webkit-scrollbar{width:10px}.code-section::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track{background:#1a1f2e80;border-radius:5px}.code-section::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background:#00d9ff80;border-radius:5px}.code-section::-webkit-scrollbar-thumb:hover,.sidebar::-webkit-scrollbar-thumb:hover{background:#00d9ffb3}@media(min-width:1440px){.game-grid{grid-template-columns:1fr 380px;gap:1.5rem;padding:1.5rem 2rem 2rem}.ghost-section{min-height:260px;padding:2rem 1.5rem 1.5rem}.hint-section{min-height:180px;padding:1.5rem}}@media(max-width:1024px){.game-grid{grid-template-columns:1fr 300px;gap:1rem;padding:1rem 1.5rem 1.5rem}.game-header{padding:1.25rem 1.5rem}.ghost-section{min-height:220px;padding:1.5rem 1rem 1rem;overflow:visible}.hint-section{min-height:150px}}@media(max-width:768px){.game-board{overflow-y:auto;overflow-x:hidden}.game-grid{grid-template-columns:1fr;grid-template-rows:minmax(250px,auto) minmax(180px,auto) minmax(150px,auto);grid-template-areas:"code" "ghost" "hints";gap:.75rem;padding:.75rem;overflow:visible}.game-header{padding:.75rem;flex-wrap:wrap}.level-info{width:100%;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.level-button{font-size:clamp(1.25rem,6vw,2rem);padding:.25rem .5rem}.progress-button{padding:.5rem .75rem;gap:.5rem;font-size:clamp(.75rem,3vw,1rem)}.header-actions{gap:.5rem}.sidebar{display:contents}.ghost-section{grid-area:ghost;min-height:160px;max-height:200px;padding:1rem .75rem .75rem;overflow:visible}.hint-section{grid-area:hints;min-height:150px;padding:.75rem}.code-section{grid-area:code;min-height:250px;padding:.75rem}}@media(max-width:480px){.game-grid{grid-template-rows:minmax(200px,auto) minmax(160px,auto) minmax(140px,auto);gap:.5rem;padding:.5rem}.game-header{padding:.5rem}.level-info{gap:.25rem}.level-button{font-size:clamp(1rem,7vw,1.5rem);padding:.2rem .4rem;min-height:40px}.progress-button{padding:.4rem .6rem;gap:.25rem;font-size:clamp(.7rem,3.5vw,.9rem);min-height:40px}.progress-button-text{display:block}.progress-button-percentage{font-size:1em}.header-actions{gap:.4rem}.progress-summary-button,.badge-button,.settings-button{min-width:40px;min-height:40px;padding:.4rem;font-size:1.25rem}.ghost-section{min-height:140px;max-height:180px;padding:.75rem .5rem .5rem}.hint-section{min-height:140px;padding:.5rem}.code-section{min-height:200px;padding:.5rem}}@media(prefers-reduced-motion:reduce){.game-board:before{animation:none;opacity:.3}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){.level-button{background:#ccff331a;border:2px solid var(--color-primary);text-shadow:none}.level-button:hover{background:#cf33;text-shadow:none;border-color:var(--color-primary)}.progress-button{background:#9966ff4d;border-color:var(--color-purple)}.progress-button:hover{background:#9966ff80;border-color:#b9f}}.code-section:focus-within,.hint-section:focus-within{outline:3px solid #FFD700;outline-offset:2px}.code-editor{display:flex;flex-direction:column;gap:.65rem;width:100%}.code-editor-header{display:flex;flex-direction:column;gap:.3rem}.challenge-title{color:#00d9ff;margin:0}.challenge-description{margin:0}.challenge-tip{display:flex;align-items:center;gap:.5rem;background:#00d9ff1a;border-left:3px solid #00D9FF;padding:.75rem;border-radius:6px;margin-top:.5rem}.tip-icon{font-size:1.25rem;flex-shrink:0}.tip-label{color:#00d9ff;font-weight:600;font-size:.9rem;flex-shrink:0}.tip-text{font-size:.9rem;line-height:1.4}.code-container{position:relative;background:#0d1117;border:2px solid #6B46C1;border-radius:8px;overflow:hidden;min-height:200px}.syntax-highlighter-container{position:relative;z-index:1;pointer-events:none}.syntax-highlighter-container pre{margin:0!important;background:transparent!important}.syntax-highlighter-container code{font-family:Fira Code,Consolas,Monaco,monospace!important}.code-line{display:flex;align-items:flex-start;min-height:1.6rem;position:relative;transition:background-color .2s ease}.code-line:hover{background-color:#6b46c11a}.line-number{display:inline-block;width:2.5rem;text-align:right;color:#6b46c1;-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:1rem;font-weight:500}.buggy-line .line-number{color:#ff9500;font-weight:700}.buggy-line{background-color:#ff95001a;border-left:3px solid #FF9500;padding-left:.5rem;margin-left:-.5rem}.editable-line{background-color:#00d9ff0d}.code-content{flex:1;margin:0;color:#fff;font-family:inherit;font-size:inherit;line-height:inherit;white-space:pre;text-align:left}.code-textarea{width:100%;min-height:200px;background:#0d1117;border:none;color:#fff;font-family:Fira Code,Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;padding:15px;resize:vertical;transition:all .2s ease;white-space:pre;overflow-wrap:normal;overflow-x:auto;tab-size:2;border-radius:8px}.code-textarea:focus{outline:none;background:#161b22;box-shadow:0 0 0 2px #00d9ff4d}.code-textarea::placeholder{color:#6e7681;font-style:italic}.code-content code{font-family:inherit}.syntax-keyword{color:#c792ea;font-weight:600}.syntax-string{color:#a3ff00}.syntax-number{color:#00d9ff}.syntax-comment{color:#6b7280;font-style:italic}.feedback{padding:.75rem;border-radius:8px;font-size:1rem;font-weight:500;text-align:center;animation:slideIn .3s ease-out}.feedback-success{background:#a3ff0033;border:2px solid #A3FF00;color:#a3ff00}.feedback-error{background:#ff950033;border:2px solid #FF9500;color:#ff9500}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.code-editor-actions{display:flex;gap:.75rem;justify-content:center}.reset-button,.submit-button{border:none;border-radius:6px;padding:.6rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:44px;min-width:100px}.reset-button{background:#6b46c133;color:#fff;border:2px solid #6B46C1}.reset-button:hover:not(:disabled){background:#6b46c14d;border-color:#8b5cf6}.submit-button{background:linear-gradient(135deg,#6b46c1,#8b5cf6);color:#fff}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#a78bfa);transform:translateY(-2px);box-shadow:0 4px 12px #6b46c166}.submit-button:active:not(:disabled),.reset-button:active:not(:disabled){transform:translateY(0)}.submit-button:focus,.reset-button:focus{outline:3px solid #FFD700;outline-offset:3px}.submit-button:disabled,.reset-button:disabled{opacity:.6;cursor:not-allowed;background:linear-gradient(135deg,#4b5563,#6b7280)}.feedback-message{margin-bottom:.5rem}.feedback-output{font-size:.875rem;opacity:.9;font-family:JetBrains Mono,Fira Code,Consolas,monospace}.code-safety-info{text-align:center;font-size:.75rem;color:#6b7280;padding:.5rem;opacity:.8}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.feedback-error{animation:slideIn .3s ease-out,shake .5s ease-in-out}@media(max-width:768px){.code-editor{gap:1rem}.challenge-title{font-size:1.25rem}.challenge-description{font-size:1rem}.code-container{font-size:.875rem;padding:.75rem}.line-number{width:2rem;padding-right:.5rem}.submit-button{width:100%;padding:.875rem 1.5rem}}@media(prefers-contrast:high){.code-container{border-color:var(--color-purple);background:var(--hc-bg-solid)}.challenge-tip{background:#00d9ff33;border-left-width:5px;border-left-color:var(--color-secondary)}.feedback-success{background:#ccff334d;border-color:var(--color-primary);color:var(--color-primary);font-weight:700}.feedback-error{background:#ffaa004d;border-color:var(--color-accent);color:var(--color-accent);font-weight:700}.syntax-keyword{color:#d9f;font-weight:700}.syntax-string{color:var(--color-primary);font-weight:600}.syntax-number{color:var(--color-secondary);font-weight:600}.syntax-comment{color:#999;font-weight:600}.buggy-line{background-color:#fa03;border-left-width:5px;border-left-color:var(--color-accent)}.buggy-line .line-number{color:var(--color-accent);font-weight:900}.editable-line{background-color:#00ffff1a}.line-number{color:var(--color-purple);font-weight:700}.code-safety-info{color:var(--hc-text-disabled);font-weight:600}}@media(prefers-reduced-motion:reduce){.code-line,.code-input,.submit-button,.feedback{transition:none;animation:none}.submit-button:hover:not(:disabled){transform:none}}.ghost-character-container{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;max-width:280px;margin:0 auto;padding:0;min-height:180px}.speech-bubble{position:relative;background:#fffffff2;border:3px solid #6B46C1;border-radius:16px;padding:.75rem 1rem;margin-bottom:.75rem;box-shadow:0 4px 12px #0000004d;animation:bubbleAppear .3s ease-out;min-height:50px;max-width:100%;width:100%;display:flex;align-items:center;justify-content:center;word-wrap:break-word;overflow-wrap:break-word}.speech-bubble-content{color:#1a1f2e;font-size:clamp(.85rem,2vw,1rem);line-height:1.4;text-align:center;font-weight:500;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.speech-bubble-tail{position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:15px solid #6B46C1}.speech-bubble-tail:after{content:"";position:absolute;bottom:3px;left:-12px;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:12px solid rgba(255,255,255,.95)}@keyframes bubbleAppear{0%{opacity:0;transform:translateY(-10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.speech-bubble--click{background:linear-gradient(135deg,#a3ff00f2,#fffffff2);border-color:#a3ff00;animation:bubbleAppear .3s ease-out,bubblePulse .6s ease-in-out;box-shadow:0 4px 16px #a3ff0066}.speech-bubble--click .speech-bubble-content{color:#1a1f2e;font-weight:600}.speech-bubble--click .speech-bubble-tail{border-top-color:#a3ff00}.speech-bubble--click .speech-bubble-tail:after{border-top-color:#a3ff00f2}@keyframes bubblePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.ghost-character{width:100%;height:auto;max-width:min(200px,100%);max-height:180px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));cursor:pointer;transition:transform .2s ease,filter .2s ease}.ghost-character:hover{filter:drop-shadow(0 6px 12px rgba(163,255,0,.4));transform:translateY(-2px)}.ghost-character:active{transform:translateY(0) scale(.98)}.ghost-clickable{animation:ghostClickBounce .6s ease-in-out}.ghost-spin-right{animation:ghostSpinRight .8s ease-in-out!important}.ghost-spin-left{animation:ghostSpinLeft .8s ease-in-out!important}@keyframes ghostSpinRight{0%{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(-20px) rotate(180deg) scale(1.1)}50%{transform:translateY(-30px) rotate(360deg) scale(1.15)}75%{transform:translateY(-20px) rotate(540deg) scale(1.1)}to{transform:translateY(0) rotate(720deg) scale(1)}}@keyframes ghostSpinLeft{0%{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(-20px) rotate(-180deg) scale(1.1)}50%{transform:translateY(-30px) rotate(-360deg) scale(1.15)}75%{transform:translateY(-20px) rotate(-540deg) scale(1.1)}to{transform:translateY(0) rotate(-720deg) scale(1)}}@keyframes ghostClickBounce{0%,to{transform:translateY(0) rotate(0) scale(1)}15%{transform:translateY(-15px) rotate(-8deg) scale(1.05)}30%{transform:translateY(-25px) rotate(8deg) scale(1.1)}45%{transform:translateY(-20px) rotate(-5deg) scale(1.08)}60%{transform:translateY(-10px) rotate(5deg) scale(1.05)}75%{transform:translateY(-5px) rotate(-2deg) scale(1.02)}}.ghost-clickable .ghost-body,.ghost-spin-right .ghost-body,.ghost-spin-left .ghost-body{animation:ghostClickGlow .8s ease-in-out}@keyframes ghostClickGlow{0%,to{filter:drop-shadow(0 0 8px rgba(163,255,0,.3))}50%{filter:drop-shadow(0 0 30px rgba(163,255,0,1))}}.ghost-idle{animation:ghostFloat 3s ease-in-out infinite}@keyframes ghostFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.ghost-idle .ghost-body{animation:ghostGlow 3s ease-in-out infinite}@keyframes ghostGlow{0%,to{filter:drop-shadow(0 0 8px rgba(255,255,255,.3))}50%{filter:drop-shadow(0 0 15px rgba(255,255,255,.5))}}.ghost-happy{animation:ghostBounce .6s ease-in-out 2}@keyframes ghostBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}.ghost-happy .ghost-blush{animation:blushPulse .6s ease-in-out 2}@keyframes blushPulse{0%,to{opacity:.6}50%{opacity:.9}}.ghost-thinking{animation:ghostThink 2s ease-in-out infinite}@keyframes ghostThink{0%,to{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-8px)}}.ghost-thinking .thinking-symbols{animation:symbolsFloat 2s ease-in-out infinite}.ghost-thinking .thinking-symbol{animation:symbolFade 2s ease-in-out infinite}@keyframes symbolsFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes symbolFade{0%,to{opacity:.3}50%{opacity:1}}.ghost-sleeping{animation:ghostSleep 4s ease-in-out infinite}@keyframes ghostSleep{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(5px) scale(.98)}}.ghost-sleeping .ghost-body{animation:sleepGlow 4s ease-in-out infinite}@keyframes sleepGlow{0%,to{filter:drop-shadow(0 0 8px rgba(107,70,193,.3));opacity:.9}50%{filter:drop-shadow(0 0 15px rgba(107,70,193,.5));opacity:.85}}.sleeping-zs{opacity:.8}.sleeping-z{font-weight:700;font-family:serif}.ghost-celebrating{animation:ghostCelebrate 1.5s ease-in-out}@keyframes ghostCelebrate{0%{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(-30px) rotate(-15deg) scale(1.1)}50%{transform:translateY(-40px) rotate(0) scale(1.15)}75%{transform:translateY(-30px) rotate(15deg) scale(1.1)}to{transform:translateY(0) rotate(0) scale(1)}}.ghost-celebrating .ghost-body{animation:celebrateGlow 1.5s ease-in-out}@keyframes celebrateGlow{0%,to{filter:drop-shadow(0 0 8px rgba(163,255,0,.3))}50%{filter:drop-shadow(0 0 25px rgba(163,255,0,.8))}}.ghost-celebrating .celebration-sparkles .sparkle{animation:sparkleAnimation 1.5s ease-in-out}@keyframes sparkleAnimation{0%{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(180deg)}to{opacity:0;transform:scale(.8) rotate(360deg)}}.ghost-happy .ghost-arm-left,.ghost-happy .ghost-arm-right{animation:armWave .6s ease-in-out 2}@keyframes armWave{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.ghost-celebrating .ghost-arm-left{animation:armCelebrateLeft 1.5s ease-in-out}.ghost-celebrating .ghost-arm-right{animation:armCelebrateRight 1.5s ease-in-out}@keyframes armCelebrateLeft{0%,to{transform:rotate(0)}25%,75%{transform:rotate(-20deg) translateY(-10px)}50%{transform:rotate(20deg) translateY(-15px)}}@keyframes armCelebrateRight{0%,to{transform:rotate(0)}25%,75%{transform:rotate(20deg) translateY(-10px)}50%{transform:rotate(-20deg) translateY(-15px)}}@media(prefers-reduced-motion:reduce){.ghost-character,.ghost-body,.ghost-arm-left,.ghost-arm-right,.thinking-symbols,.celebration-sparkles .sparkle,.speech-bubble{animation:none!important}.ghost-character{transform:none!important}}@media(max-width:1024px){.ghost-character-container{max-width:min(240px,90%);padding:0}.ghost-character{max-width:min(180px,100%);max-height:160px}.speech-bubble{padding:.65rem .85rem;margin-bottom:.65rem}.speech-bubble-content{font-size:clamp(.8rem,2vw,.95rem)}}@media(max-width:768px){.ghost-character-container{max-width:min(200px,85%);padding:0;min-height:140px}.ghost-character{max-width:min(160px,100%);max-height:140px}.speech-bubble{padding:.6rem .8rem;margin-bottom:.6rem;border-width:2px}.speech-bubble-content{font-size:clamp(.75rem,2.5vw,.9rem);line-height:1.3}.speech-bubble-tail{bottom:-12px;border-left-width:12px;border-right-width:12px;border-top-width:12px}.speech-bubble-tail:after{bottom:2px;left:-10px;border-left-width:10px;border-right-width:10px;border-top-width:10px}}@media(max-width:480px){.ghost-character-container{max-width:min(160px,80%);padding:0;min-height:120px}.ghost-character{max-width:min(130px,100%);max-height:120px}.speech-bubble{padding:.5rem .7rem;margin-bottom:.5rem;border-width:2px;border-radius:12px}.speech-bubble-content{font-size:clamp(.7rem,3vw,.85rem);line-height:1.3}.speech-bubble-tail{bottom:-10px;border-left-width:10px;border-right-width:10px;border-top-width:10px}.speech-bubble-tail:after{bottom:2px;left:-8px;border-left-width:8px;border-right-width:8px;border-top-width:8px}}@media(max-width:360px){.ghost-character-container{max-width:min(140px,75%);min-height:100px}.ghost-character{max-width:min(110px,100%);max-height:100px}.speech-bubble{padding:.4rem .6rem;margin-bottom:.4rem}.speech-bubble-content{font-size:clamp(.65rem,3.5vw,.8rem);line-height:1.2}}.progress-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.progress-modal{position:relative;max-width:850px;max-height:90vh;width:100%;background:#1a1f2e;border-radius:12px;border:3px solid #6B46C1;box-shadow:0 20px 60px #00000080,0 0 40px #6b46c14d;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.progress-modal-close{position:absolute;right:0;background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;line-height:1;transition:color .2s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.progress-modal-close:hover{color:#ff9500}.progress-modal-close:focus{outline:3px solid #FFD700;outline-offset:2px;border-radius:4px}.progress-tracker{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;overflow-y:auto;flex:1;min-height:0;color:#fff}.progress-tracker::-webkit-scrollbar{width:12px}.progress-tracker::-webkit-scrollbar-track{background:#1a1f2e80;border-radius:6px}.progress-tracker::-webkit-scrollbar-thumb{background:#6b46c199;border-radius:6px}.progress-tracker::-webkit-scrollbar-thumb:hover{background:#6b46c1cc}.progress-summary{display:flex;flex-direction:column;gap:.75rem}.progress-header{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-bottom:.35rem;position:relative}.progress-title{font-size:1.3rem;font-weight:700;color:#00d9ff;margin:0;letter-spacing:.02em;text-align:center}.progress-stats{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.35rem}.challenge-counter{font-size:1rem;font-weight:600;color:#fff;padding:.4rem .85rem;background:#6b46c14d;border-radius:6px;border:2px solid #6B46C1}.progress-percentage{font-size:1rem;font-weight:700;color:#a3ff00}.level-map{display:flex;flex-direction:column;gap:.75rem}.level-map-title{font-size:1.1rem;font-weight:600;color:#00d9ff;margin:0;letter-spacing:.02em}.challenge-type-group{display:flex;flex-direction:column;gap:.5rem}.challenge-type-label{font-size:.9rem;font-weight:600;color:#fff;margin:0;text-transform:uppercase;letter-spacing:.05em}.challenge-nodes{display:flex;flex-wrap:wrap;gap:.6rem}.challenge-node{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:52px;min-width:44px;min-height:44px;border-radius:8px;border:2px solid;background:#0006;cursor:pointer;transition:all .2s ease;font-size:.8rem;font-weight:700;color:#fff}.challenge-node:focus{outline:3px solid #FFD700;outline-offset:3px}.challenge-node:hover:not(:disabled){transform:scale(1.1)}.challenge-node:active:not(:disabled){transform:scale(.95)}.challenge-node--completed{border-color:#a3ff00;background:#a3ff0033}.challenge-node--completed:hover:not(:disabled){background:#a3ff004d;box-shadow:0 0 20px #a3ff0080}.challenge-node--current{border-color:#00d9ff;background:#00d9ff33;animation:pulse-current 2s ease-in-out infinite}.challenge-node--current:hover:not(:disabled){background:#00d9ff4d;box-shadow:0 0 20px #00d9ff80}.challenge-node--locked{border-color:#666;background:#0009;cursor:not-allowed;opacity:.5}.challenge-node:disabled{cursor:not-allowed}.challenge-node-icon{font-size:1.25rem;line-height:1;margin-bottom:.25rem}.challenge-node-number{font-size:.75rem;font-weight:700}@keyframes pulse-current{0%,to{box-shadow:0 0 10px #00d9ff80}50%{box-shadow:0 0 25px #00d9ffcc}}.progress-legend{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;padding-top:1rem;border-top:2px solid rgba(107,70,193,.3)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#fff}.legend-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:2px solid;font-size:1rem}.legend-icon--completed{border-color:#a3ff00;background:#a3ff0033}.legend-icon--current{border-color:#00d9ff;background:#00d9ff33}.legend-icon--locked{border-color:#666;background:#0009;opacity:.5}.legend-label{font-weight:600}@media(max-width:768px){.progress-tracker{padding:1rem;gap:1rem}.progress-modal-close{width:32px;height:32px;font-size:1.125rem}.progress-title{font-size:1.25rem}.progress-header{gap:.75rem}.progress-stats{width:100%;justify-content:space-between}.challenge-counter,.progress-percentage{font-size:1rem}.progress-bar-container{height:40px}.challenge-node{width:52px;height:52px}.progress-legend{gap:1rem}}@media(prefers-reduced-motion:reduce){.challenge-node--current{animation:none}.progress-bar-fill,.challenge-node{transition:none}.challenge-node:hover:not(:disabled){transform:none}}@media(prefers-contrast:high){.progress-tracker{border-width:3px}.challenge-node{border-width:4px}.progress-bar-container{border-width:3px}}.level-complete-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.level-complete-backdrop{position:absolute;inset:0;background:#1a1f2ee6}.level-complete-card{position:relative;background:linear-gradient(135deg,#1a1f2e,#2a2f3e);border:3px solid #A3FF00;border-radius:20px;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 40px #a3ff004d,0 20px 60px #00000080}.level-complete-content{padding:2.5rem;overflow-y:auto;flex:1;min-height:0}.celebration-header{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.celebration-emoji{font-size:3rem;line-height:1}.level-complete-title{font-size:2.5rem;font-weight:700;color:#a3ff00;margin:0;text-align:center;text-shadow:0 0 20px rgba(163,255,0,.5)}.success-message{font-size:1.25rem;color:#fff;text-align:center;margin:0 0 2rem;line-height:1.6}.earned-badges-section{margin:2rem 0;padding:1.5rem;background:#6b46c133;border:2px solid #6B46C1;border-radius:12px}.badges-title{font-size:1.5rem;color:#00d9ff;margin:0 0 1rem;text-align:center}.badges-grid{display:flex;flex-direction:column;gap:1rem}.badge-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#00d9ff1a;border:2px solid #00D9FF;border-radius:8px;transition:transform .2s ease}.badge-item:hover{transform:translate(5px);background:#00d9ff26}.badge-icon{flex-shrink:0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#a3ff0033;border:2px solid #A3FF00;border-radius:50%}.badge-icon img{width:40px;height:40px;object-fit:contain}.badge-emoji{font-size:2rem;line-height:1}.badge-info{flex:1;min-width:0}.badge-name{font-size:1.125rem;font-weight:700;color:#fff;margin:0 0 .25rem}.badge-description{font-size:.875rem;color:#00d9ff;margin:0;line-height:1.4}.level-complete-actions{display:flex;flex-direction:column;gap:1rem;padding:1.5rem 2.5rem;border-top:2px solid rgba(163,255,0,.3);flex-shrink:0;background:linear-gradient(135deg,#1a1f2e,#2a2f3e)}.next-level-button{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;font-size:1.25rem;font-weight:700;color:#1a1f2e;background:linear-gradient(135deg,#a3ff00,#7fcc00);border:3px solid #A3FF00;border-radius:12px;cursor:pointer;transition:all .2s ease;min-height:44px;min-width:44px}.next-level-button:hover{background:linear-gradient(135deg,#b8ff1a,#8fdd00);transform:translateY(-2px)}.next-level-button:focus{outline:3px solid #FFD700;outline-offset:3px}.next-level-button:active{transform:translateY(0)}.button-text{font-size:1.25rem}.button-arrow{font-size:1.5rem;display:inline-block}.close-button{padding:.75rem 1.5rem;font-size:1rem;color:#fff;background:transparent;border:2px solid #6B46C1;border-radius:8px;cursor:pointer;transition:all .2s ease;min-height:44px;min-width:44px}.close-button:hover{background:#6b46c133;border-color:#8b66e1}.close-button:focus{outline:3px solid #FFD700;outline-offset:3px}.floating-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:20px}.floating-particle{position:absolute;font-size:1.5rem;left:50%;bottom:0}@media(max-width:768px){.level-complete-card{padding:1.5rem}.level-complete-title,.celebration-emoji{font-size:2rem}.success-message{font-size:1.125rem}.badges-title{font-size:1.25rem}.badge-item{flex-direction:column;text-align:center}.badge-icon{width:50px;height:50px}.badge-emoji{font-size:1.5rem}.next-level-button{font-size:1.125rem;padding:.875rem 1.5rem}}@media(prefers-reduced-motion:reduce){.celebration-emoji,.next-level-button,.floating-particle{animation:none!important}.level-complete-card,.celebration-header,.success-message,.earned-badges-section,.badge-item,.level-complete-actions{transition:opacity .3s ease!important}}@media(prefers-contrast:high){.level-complete-card{border-width:4px}.badge-item,.earned-badges-section{border-width:3px}.next-level-button,.close-button{border-width:4px}}.settings-overlay{position:fixed;inset:0;background-color:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.settings-panel{background:linear-gradient(135deg,#1a1f2e,#2a2f3e);border:2px solid #6B46C1;border-radius:12px;max-width:550px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:2px solid rgba(107,70,193,.3)}.settings-title{font-size:1.5rem;font-weight:700;color:#a3ff00;margin:0}.settings-close-button{background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;line-height:1;transition:color .2s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.settings-close-button:hover{color:#ff9500}.settings-close-button:focus{outline:3px solid #FFD700;outline-offset:2px;border-radius:4px}.settings-content{padding:1.25rem;overflow-y:auto;flex:1;min-height:0}.settings-section{margin-bottom:1.5rem}.settings-section:last-child{margin-bottom:0}.settings-section-title{font-size:1.1rem;font-weight:600;color:#00d9ff;margin:0 0 .75rem}.setting-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;background:#ffffff0d;border-radius:6px;margin-bottom:.6rem}.setting-item:last-child{margin-bottom:0}.setting-info{flex:1}.setting-label{display:block;font-size:1rem;font-weight:600;color:#fff;margin-bottom:.2rem}.setting-description{font-size:.825rem;color:#ffffffb3;margin:0}.toggle-button{position:relative;width:56px;height:32px;background:#fff3;border:2px solid rgba(255,255,255,.3);border-radius:16px;cursor:pointer;transition:all .3s ease;padding:0;flex-shrink:0}.toggle-button:hover{background:#ffffff40}.toggle-button:focus{outline:3px solid #FFD700;outline-offset:2px}.toggle-button.active{background:#a3ff00;border-color:#a3ff00}.toggle-slider{position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 4px #0003}.toggle-button.active .toggle-slider{transform:translate(24px)}.font-size-buttons{display:flex;gap:.5rem}.font-size-button{min-width:44px;min-height:44px;padding:.5rem 1rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease}.font-size-button:hover{background:#ffffff26;border-color:#ffffff80}.font-size-button:focus{outline:3px solid #FFD700;outline-offset:2px}.font-size-button.active{background:#6b46c1;border-color:#6b46c1;color:#fff}.volume-slider{width:150px;height:8px;background:#fff3;border-radius:4px;outline:none;-webkit-appearance:none;appearance:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:#a3ff00;border-radius:50%;cursor:pointer;transition:all .2s ease}.volume-slider::-moz-range-thumb{width:20px;height:20px;background:#a3ff00;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-slider::-moz-range-thumb:hover{transform:scale(1.2)}.volume-slider:focus{outline:3px solid #FFD700;outline-offset:2px;border-radius:4px}.volume-slider:disabled{opacity:.5;cursor:not-allowed}.volume-slider:disabled::-webkit-slider-thumb{cursor:not-allowed;background:#a3ff0080}.volume-slider:disabled::-moz-range-thumb{cursor:not-allowed;background:#a3ff0080}.settings-actions{margin-top:1.5rem;padding-top:1rem;border-top:2px solid rgba(107,70,193,.3);display:flex;justify-content:center}.reset-button{min-width:44px;min-height:44px;padding:.75rem 1.5rem;background:transparent;border:2px solid #FF9500;border-radius:8px;color:#ff9500;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.reset-button:hover{background:#ff95001a;border-color:orange;color:orange}.reset-button:focus{outline:3px solid #FFD700;outline-offset:2px}.danger-zone{margin-top:2rem;padding-top:1.5rem;border-top:2px solid rgba(255,0,0,.3)}.danger-title{color:#f44!important}.danger-zone-content{padding:1rem;background:#ff00000d;border:2px solid rgba(255,0,0,.3);border-radius:8px}.reset-game-button{min-width:44px;min-height:44px;padding:.75rem 1.5rem;background:transparent;border:2px solid #FF4444;border-radius:8px;color:#f44;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;margin-top:1rem}.reset-game-button:hover{background:#ff44441a;border-color:#f66;color:#f66}.reset-game-button:focus{outline:3px solid #FFD700;outline-offset:2px}.reset-confirm{margin-top:1rem;padding:1rem;background:#ff44441a;border-radius:8px}.reset-confirm-text{color:#f44;font-weight:600;font-size:1.125rem;margin:0 0 1rem;text-align:center}.reset-confirm-buttons{display:flex;gap:.75rem}.reset-confirm-yes,.reset-confirm-no{flex:1;min-width:44px;min-height:44px;padding:.75rem 1rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.reset-confirm-yes{background:#f44;border:2px solid #FF4444;color:#fff}.reset-confirm-yes:hover{background:#f66;border-color:#f66}.reset-confirm-no{background:transparent;border:2px solid rgba(255,255,255,.3);color:#fff}.reset-confirm-no:hover{background:#ffffff1a;border-color:#ffffff80}.reset-confirm-yes:focus,.reset-confirm-no:focus{outline:3px solid #FFD700;outline-offset:2px}@media(max-width:768px){.settings-panel{max-width:100%;border-radius:16px 16px 0 0;max-height:80vh}.setting-item{flex-direction:column;align-items:flex-start}.volume-slider{width:100%}}.hint-panel{background:transparent;border:none;border-radius:0;padding:0;color:#fff;display:flex;flex-direction:column;gap:.75rem;box-shadow:none;width:100%;height:100%;overflow:hidden;min-height:0}.hint-panel-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.hint-panel-header h3{margin:0;color:#a3ff00;font-weight:600}.hint-counter{color:#00d9ff;background:#00d9ff1a;padding:.2rem .6rem;border-radius:20px;font-weight:500}.hint-button{width:100%;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;color:#1a1f2e;background:linear-gradient(135deg,#a3ff00,#7fcc00);border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #a3ff004d;min-height:44px;min-width:44px;flex-shrink:0}.hint-button:hover:not(:disabled){background:linear-gradient(135deg,#b8ff1a,#8fdd00);transform:translateY(-2px);box-shadow:0 4px 12px #a3ff0066}.hint-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #a3ff004d}.hint-button:disabled{background:#ffffff1a;color:#fff6;cursor:not-allowed;box-shadow:none}.hint-button:focus-visible{outline:3px solid #FFD700;outline-offset:2px}.hints-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;overflow-y:auto;flex:1;min-height:0;padding-right:.5rem}.hints-list::-webkit-scrollbar{width:8px}.hints-list::-webkit-scrollbar-track{background:#00d9ff1a;border-radius:4px}.hints-list::-webkit-scrollbar-thumb{background:#00d9ff66;border-radius:4px}.hints-list::-webkit-scrollbar-thumb:hover{background:#00d9ff99}.hint-item{background:#00d9ff0d;border-left:3px solid #00D9FF;padding:.875rem;border-radius:6px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.hint-number{font-size:.75rem;color:#00d9ff;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.375rem}.hint-text{font-size:1rem;line-height:1.5;color:#fff}.hint-limit-message{background:#a3ff001a;border:1px solid #A3FF00;border-radius:6px;padding:.875rem;text-align:center;font-size:.875rem;color:#a3ff00;font-weight:500;animation:fadeIn .3s ease-out;flex-shrink:0}@media(prefers-contrast:high){.hint-limit-message{font-weight:700;color:var(--color-accent)}}@media(prefers-reduced-motion:reduce){.hint-item,.hint-limit-message{animation:none}.hint-button{transition:none}.hint-button:hover:not(:disabled){transform:none}}@media(max-width:768px){.hint-panel{padding:1rem}.hint-panel-header h3{font-size:1.125rem}.hint-button{padding:.75rem 1.25rem;font-size:.9375rem}.hint-text{font-size:.9375rem}}.educational-modal-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-out}.educational-modal{background:linear-gradient(135deg,var(--color-darker-bg) 0%,var(--color-dark-bg) 100%);border:3px solid var(--color-primary);border-radius:12px;max-width:550px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #a3ff004d;animation:slideUp .3s ease-out}.educational-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;border-bottom:2px solid var(--color-border)}.educational-modal-title{color:var(--color-text-light);font-size:1.5rem;font-weight:700;margin:0;line-height:1.2;letter-spacing:.02em}.educational-modal-close{background:transparent;border:none;color:var(--color-text-light);font-size:1.5rem;cursor:pointer;padding:.5rem;line-height:1;transition:color .2s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:1rem}.educational-modal-close:hover{color:var(--color-accent)}.educational-modal-close:focus{outline:3px solid #FFD700;outline-offset:2px;border-radius:4px}.educational-modal-content{padding:1.25rem;overflow-y:auto;flex:1;min-height:0;color:var(--color-text-light)}.educational-modal-ghost{text-align:center;margin-bottom:1rem}.ghost-icon{font-size:3rem;display:inline-block;animation:float 3s ease-in-out infinite}.educational-modal-concept-intro{background:#6b46c133;border:2px solid #6B46C1;border-radius:8px;padding:.85rem;margin-bottom:1rem}.concept-intro-title{color:#a3ff00;font-size:1.25rem;font-weight:700;margin:0 0 .5rem;letter-spacing:.02em}.concept-intro-text{color:#fff;font-size:1rem;line-height:1.5;margin:0;letter-spacing:.02em}.educational-modal-challenge-intro{margin-bottom:.75rem}.challenge-intro-title{color:#00d9ff;margin:0 0 .5rem;letter-spacing:.02em}.educational-modal-text{color:#fff;font-size:1.05rem;line-height:1.5;margin:0 0 1rem;letter-spacing:.02em}.educational-modal-tip{background:#00d9ff26;border-left:3px solid #00D9FF;padding:.75rem 1rem;border-radius:6px;color:#fff;font-size:1rem;line-height:1.4;margin-top:1rem}.educational-modal-tip strong{color:#00d9ff;display:block;margin-bottom:.35rem}.educational-modal-celebration{text-align:center;margin-top:1rem;display:flex;justify-content:center;gap:.75rem}.celebration-emoji{font-size:2rem;display:inline-block;animation:bounce .6s ease-in-out infinite}.celebration-emoji:nth-child(2){animation-delay:.2s}.celebration-emoji:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.educational-modal-actions{padding:.75rem 1.25rem 1rem;display:flex;gap:.75rem;justify-content:flex-end;border-top:2px solid var(--color-border);flex-shrink:0;background:linear-gradient(135deg,var(--color-darker-bg) 0%,var(--color-dark-bg) 100%)}.educational-modal-button{padding:.65rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;border:none;min-width:100px;min-height:44px;letter-spacing:.02em}.educational-modal-button.primary{background:linear-gradient(135deg,var(--color-primary) 0%,#7ACC00 100%);color:var(--color-dark-bg);border:2px solid var(--color-primary)}.educational-modal-button.primary:hover{background:linear-gradient(135deg,#b8ff33,#8fdd00);transform:translateY(-2px);box-shadow:0 4px 12px #a3ff0066}.educational-modal-button.primary:focus{outline:3px solid #FFD700;outline-offset:2px}.educational-modal-button.secondary{background:transparent;color:var(--color-text-light);border:2px solid var(--color-text-light)}.educational-modal-button.secondary:hover{background:#ffffff1a;transform:translateY(-2px)}.educational-modal-button.secondary:focus{outline:3px solid #FFD700;outline-offset:2px}@media(prefers-reduced-motion:reduce){.educational-modal-overlay,.educational-modal,.ghost-icon,.celebration-emoji{animation:none}.educational-modal-button:hover{transform:none}}@media(max-width:768px){.educational-modal{max-width:95%;margin:1rem}.educational-modal-title{font-size:1.5rem}.educational-modal-text{font-size:1.125rem}.educational-modal-actions{flex-direction:column}.educational-modal-button{width:100%}}@media(prefers-contrast:high){.educational-modal{border-width:4px}.educational-modal-close,.educational-modal-button{border-width:3px}}.badge-modal-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.badge-modal{background:linear-gradient(135deg,var(--color-dark-bg) 0%,var(--color-darker-bg) 100%);border:3px solid var(--color-purple);border-radius:12px;max-width:850px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #6b46c166}.badge-collection{padding:1.25rem;overflow-y:auto;flex:1;min-height:0}.badge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #6b46c1}.badge-title{color:#fff;margin:0;text-shadow:0 0 10px rgba(163,255,0,.5)}.badge-modal-close{background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;line-height:1;transition:color .2s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.badge-modal-close:hover{color:#ff9500}.badge-modal-close:focus{outline:3px solid #ffd700;outline-offset:2px;border-radius:4px}.badge-stats{text-align:center;margin-bottom:1.25rem}.badge-count{font-size:1.1rem;color:var(--color-secondary);font-weight:700}.badge-categories{display:flex;flex-direction:column;gap:1.25rem}.badge-category{background:#6b46c133;border-radius:10px;padding:1rem}.badge-category-title{font-size:2rem;color:#a3ff00;margin:0 0 .75rem;font-weight:700}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.badge-card{background:#1a1f2ecc;border:2px solid var(--color-purple);border-radius:10px;padding:1rem;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.badge-card--earned{border-color:var(--color-primary);background:#a3ff001a}.badge-card--earned:hover{transform:translateY(-4px);box-shadow:0 4px 16px #a3ff004d}.badge-card--locked{opacity:.5;filter:grayscale(.8)}.badge-card--animating{animation:badgeUnlock 2s ease-out}@keyframes badgeUnlock{0%{transform:scale(.8) rotate(-10deg);opacity:0}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}.badge-icon-container{position:relative;width:65px;height:65px;margin-bottom:.65rem}.badge-icon{font-size:3.25rem;line-height:1;display:flex;align-items:center;justify-content:center}.badge-card--earned .badge-icon{animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.badge-unlock-animation{position:absolute;inset:0;pointer-events:none}.badge-sparkle{position:absolute;width:8px;height:8px;background:#a3ff00;border-radius:50%;animation:sparkle 1s ease-out forwards}.badge-sparkle:nth-child(1){top:10%;left:10%;animation-delay:0s}.badge-sparkle:nth-child(2){top:10%;right:10%;animation-delay:.2s}.badge-sparkle:nth-child(3){bottom:10%;left:50%;animation-delay:.4s}@keyframes sparkle{0%{transform:scale(0) translateY(0);opacity:1}to{transform:scale(2) translateY(-30px);opacity:0}}.badge-info{flex:1;display:flex;flex-direction:column;gap:.35rem}.badge-name{font-size:1.1rem;font-weight:700;color:var(--color-text-light);margin:0}.badge-card--earned .badge-name{color:var(--color-primary)}.badge-description{font-size:.875rem;color:var(--color-text-light);margin:0;line-height:1.3}.badge-date{font-size:.8rem;color:var(--color-secondary);font-style:italic;margin-top:.35rem}.badge-actions{padding:1rem 1.25rem;display:flex;justify-content:center;gap:.75rem;border-top:2px solid var(--color-border);flex-shrink:0;background:linear-gradient(135deg,var(--color-dark-bg) 0%,var(--color-darker-bg) 100%)}.badge-action-button{background:linear-gradient(135deg,var(--color-purple) 0%,#8b5cf6 100%);border:2px solid var(--color-primary);color:var(--color-text-light);font-size:1rem;font-weight:700;padding:.6rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;min-width:100px}.badge-action-button:hover{background:linear-gradient(135deg,#8b5cf6,#a78bfa);transform:translateY(-2px);box-shadow:0 4px 12px #a3ff004d}.badge-action-button:focus{outline:3px solid #ffd700;outline-offset:2px}.badge-action-button--primary{background:linear-gradient(135deg,var(--color-secondary) 0%,#00c0e6 100%);border-color:var(--color-text-light);color:var(--color-dark-bg)}.badge-action-button--primary:hover{background:linear-gradient(135deg,#00c0e6,#00a8cc);box-shadow:0 4px 12px #00d9ff66}@media(max-width:768px){.badge-modal{max-width:100%;max-height:100vh;border-radius:0}.badge-collection{padding:1rem}.badge-title{font-size:1.5rem}.badge-grid{grid-template-columns:1fr}.badge-card{padding:1rem}}@media(prefers-reduced-motion:reduce){.badge-card--animating,.badge-card--earned .badge-icon{animation:none}.badge-sparkle{animation:none;opacity:0}.badge-card--earned:hover,.badge-action-button:hover{transform:none}}.level-intro-modal-overlay{position:fixed;inset:0;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.level-intro-modal{background:linear-gradient(135deg,var(--color-darker-bg) 0%,var(--color-dark-bg) 100%);border:3px solid var(--color-secondary);border-radius:12px;max-width:650px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #00d9ff66;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.level-intro-content{padding:1.25rem 1.5rem 1rem;overflow-y:auto;flex:1;min-height:0}.level-intro-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:.75rem}.level-intro-title{color:var(--color-secondary);font-size:1.65rem;font-weight:700;margin:0;line-height:1.2;text-shadow:0 0 15px rgba(0,217,255,.5);flex:1}.level-intro-close{background:transparent;border:none;color:var(--color-text-light);font-size:1.5rem;cursor:pointer;padding:.5rem;line-height:1;transition:color .2s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.level-intro-close:hover{color:var(--color-accent)}.level-intro-close:focus{outline:3px solid #FFD700;outline-offset:2px;border-radius:4px}.level-intro-ghost{text-align:center;margin-bottom:1rem}.level-intro-ghost .ghost-icon{font-size:3rem;display:inline-block;animation:float 3s ease-in-out infinite}.level-intro-description{color:var(--color-text-light);font-size:1.05rem;line-height:1.5;margin:0 0 1.25rem;text-align:center;letter-spacing:.02em}.level-intro-concepts{margin-bottom:1.25rem}.concepts-title{color:var(--color-primary);font-size:1.3rem;font-weight:700;margin:0 0 .75rem;text-align:center}.concept-card{background:#00d9ff1a;border:2px solid var(--color-secondary);border-radius:8px;padding:.85rem;margin-bottom:.75rem}.concept-card:last-child{margin-bottom:0}.concept-name{color:var(--color-secondary);font-size:1.1rem;font-weight:600;margin:0 0 .35rem}.concept-explanation{color:var(--color-text-light);font-size:.95rem;line-height:1.4;margin:0}.level-intro-ready{color:var(--color-primary);font-size:1.05rem;font-weight:600;text-align:center;margin:0;padding:.75rem;background:#a3ff001a;border-radius:6px}.level-intro-actions{padding:1rem 1.5rem;display:flex;justify-content:center;border-top:2px solid var(--color-border);flex-shrink:0;background:linear-gradient(135deg,var(--color-darker-bg) 0%,var(--color-dark-bg) 100%)}.level-intro-button{background:linear-gradient(135deg,var(--color-secondary) 0%,#0099CC 100%);color:var(--color-dark-bg);border:none;border-radius:8px;padding:.75rem 2.25rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease;min-height:44px;min-width:180px;letter-spacing:.02em;box-shadow:0 4px 12px #00d9ff4d}.level-intro-button:hover{background:linear-gradient(135deg,#33e0ff,#0ad);transform:translateY(-2px);box-shadow:0 6px 16px #00d9ff80}.level-intro-button:active{transform:translateY(0)}.level-intro-button:focus{outline:3px solid #FFD700;outline-offset:2px}@media(max-width:768px){.level-intro-modal{max-width:95%}.level-intro-title{font-size:1.5rem}.level-intro-description{font-size:1.05rem}.concept-name{font-size:1.1rem}.concept-explanation{font-size:.95rem}.level-intro-button{width:100%;padding:.875rem 2rem;font-size:1.1rem}}@media(prefers-reduced-motion:reduce){.level-intro-modal-overlay,.level-intro-modal,.level-intro-ghost .ghost-icon{animation:none}.level-intro-button:hover{transform:none}}@media(prefers-contrast:high){.level-intro-modal{border-width:4px}.level-intro-close,.concept-card{border-width:3px}}.summary-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.summary-modal{background:linear-gradient(135deg,var(--color-darker-bg) 0%,var(--color-dark-bg) 100%);border:3px solid var(--color-purple);border-radius:12px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 8px 32px #6b46c166}.summary-actions{position:sticky;top:0;background:var(--color-dark-bg);padding:16px;border-bottom:2px solid var(--color-border);display:flex;gap:12px;justify-content:flex-end;z-index:10}.summary-button{padding:10px 20px;border:2px solid var(--color-purple);border-radius:8px;background:transparent;color:var(--color-text-light);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.summary-button:hover{background:var(--color-purple);color:var(--color-text-light);transform:translateY(-2px);box-shadow:0 4px 12px #6b46c14d}.summary-button--print{background:var(--color-purple);border-color:var(--color-purple);color:var(--color-text-light)}.summary-button--print:hover{background:#5a3aa0}.summary-button--download{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-dark-bg)}.summary-button--download:hover{background:#00b8d4;border-color:#00b8d4}.summary-button--close{background:transparent;border:none;color:var(--color-text-muted);padding:.5rem}.summary-button--close:hover{background:transparent;color:var(--color-accent);transform:none;box-shadow:none}.summary-container{padding:40px;color:var(--color-text-light)}.summary-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:3px solid var(--color-purple)}.summary-ghost-icon{font-size:48px;margin-bottom:16px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.summary-title{color:var(--color-primary);margin-bottom:8px}.summary-subtitle{font-size:18px;color:var(--color-text-muted)}.summary-player-info{text-align:center;margin-bottom:32px}.summary-player-name{color:var(--color-text-light);margin-bottom:8px}.summary-generated-date,.summary-last-activity{font-size:14px;color:var(--color-text-muted);margin-bottom:4px}.summary-section{margin-bottom:32px}.summary-section-title{color:var(--color-secondary);margin-bottom:16px;border-bottom:2px solid var(--color-border);padding-bottom:8px}.summary-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.summary-stat-card{background:#6b46c133;border:2px solid var(--color-purple);border-radius:12px;padding:20px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.summary-stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #6b46c166}.summary-stat-icon{font-size:32px;margin-bottom:8px}.summary-stat-value{font-size:36px;color:var(--color-primary);font-weight:700;margin-bottom:4px;line-height:1}.summary-stat-label{font-size:14px;color:var(--color-text-light);font-weight:600;margin-bottom:4px}.summary-stat-detail{font-size:12px;color:var(--color-text-muted);min-height:16px}.summary-concepts{display:flex;flex-direction:column;gap:16px}.summary-concept-card{background:#6b46c126;border:1px solid var(--color-border);border-radius:12px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.summary-concept-card:hover{transform:translate(4px);box-shadow:0 4px 12px #6b46c14d}.summary-concept-name{color:var(--color-text-light);margin-bottom:12px}.summary-progress-bar{margin-bottom:8px}.summary-concept-stats{display:flex;justify-content:space-between;font-size:14px;color:var(--color-text-muted);font-weight:500}.summary-learning-stats{background:#6b46c126;border:1px solid var(--color-border);border-radius:12px;padding:20px}.summary-learning-stat{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--color-border)}.summary-learning-stat:last-child{border-bottom:none}.summary-learning-label{font-size:16px;color:var(--color-text-light);font-weight:500}.summary-learning-value{font-size:18px;color:var(--color-secondary);font-weight:700}.summary-badge-category{margin-bottom:24px}.summary-badge-category-title{color:var(--color-text-light);margin-bottom:12px;padding-left:8px;border-left:4px solid var(--color-purple)}.summary-badge-list{display:flex;flex-direction:column;gap:8px}.summary-badge-item{display:flex;align-items:center;gap:12px;padding:12px;background:#6b46c126;border:1px solid var(--color-border);border-radius:8px;transition:transform .2s ease,box-shadow .2s ease}.summary-badge-item:hover{transform:translate(4px);box-shadow:0 4px 12px #6b46c14d;border-color:var(--color-purple)}.summary-badge-icon{font-size:24px;flex-shrink:0}.summary-badge-info{flex:1;display:flex;flex-direction:column;gap:4px}.summary-badge-name{font-size:16px;color:var(--color-text-light);font-weight:600}.summary-badge-description{font-size:14px;color:var(--color-text-muted)}.summary-badge-date{font-size:14px;color:var(--color-secondary);flex-shrink:0}.summary-footer{margin-top:48px;padding-top:24px;border-top:2px solid var(--color-border);text-align:center}.summary-footer-text{font-size:16px;color:var(--color-text-muted);margin-bottom:32px;font-style:italic}.summary-signature{display:flex;flex-direction:column;align-items:flex-end;max-width:300px;margin-left:auto}.summary-signature-line{width:100%;height:2px;background:var(--color-text-light);margin-bottom:8px}.summary-signature-label{font-size:14px;color:var(--color-text-muted)}@media(max-width:768px){.summary-modal{max-width:100%;max-height:100vh;border-radius:0}.summary-container{padding:20px}.summary-stats-grid{grid-template-columns:repeat(2,1fr)}.summary-actions{flex-wrap:wrap}.summary-button{flex:1;min-width:120px}}.level-selection-container{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;overflow-x:hidden;padding:clamp(2rem,4vh,3rem) clamp(1.5rem,3vw,3rem) clamp(3rem,6vh,5rem)}.level-selection-background{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1f2e,#2d1b4e);z-index:-1}.level-selection-background:before{content:"";position:absolute;inset:0;background-image:radial-gradient(2px 2px at 20% 30%,white,transparent),radial-gradient(2px 2px at 60% 70%,white,transparent),radial-gradient(1px 1px at 50% 50%,white,transparent),radial-gradient(1px 1px at 80% 10%,white,transparent),radial-gradient(2px 2px at 90% 60%,white,transparent),radial-gradient(1px 1px at 33% 80%,white,transparent);background-size:200% 200%;animation:twinkle 8s ease-in-out infinite;opacity:.4}@keyframes twinkle{0%,to{opacity:.4}50%{opacity:.2}}.level-selection-content{position:relative;width:100%;max-width:1200px;margin:0 auto;min-height:min-content}.level-selection-header{text-align:center;margin-bottom:clamp(1.5rem,3vh,2.5rem)}.level-selection-ghost{font-size:clamp(2rem,5vw,3rem);margin-bottom:clamp(.25rem,.5vh,.5rem);display:inline-block}.level-selection-title{color:#a3ff00;margin:0 0 .25rem;text-shadow:0 0 20px rgba(163,255,0,.6),0 0 40px rgba(163,255,0,.3)}.level-selection-subtitle{font-size:clamp(.8rem,1.8vw,1rem);color:#fff;margin:0;opacity:.9}.level-selection-actions{position:absolute;top:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2vw,1.5rem);display:flex;gap:clamp(.5rem,1vw,.75rem);z-index:10}.level-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5rem 1.5rem;margin-bottom:3rem;max-width:1200px;margin-left:auto;margin-right:auto;position:relative;width:100%}.level-card{cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;position:relative;z-index:1}.level-card-inner{background:#1a1f2ef2;border:2px solid;border-radius:12px;padding:1rem 1.25rem 1.25rem;height:100%;min-height:240px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000004d;transition:all .3s ease}.level-card:hover{z-index:2}.level-card:hover .level-card-inner{box-shadow:0 12px 48px #00000080}.level-card--completed .level-card-inner{background:#1a1f2efa}.level-card-icon{font-size:2.25rem;margin-bottom:.4rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.level-card-title{font-size:1.4rem;color:var(--color-text-light);margin:0 0 .4rem}.level-card-description{font-size:.85rem;color:var(--color-text-muted);margin:0 0 .6rem;line-height:1.35;flex:1}.level-card-progress{width:100%;margin-bottom:.6rem}.level-card-progress .progress-bar-container{margin-bottom:.3rem}.progress-text{font-size:.8rem;color:var(--color-text-muted);font-weight:600}.level-card-badge{position:absolute;top:.75rem;right:.75rem;padding:.4rem .75rem;border-radius:16px;font-size:.75rem;font-weight:700}.level-card-badge--completed{background:#a3ff00;color:#1a1f2e}.level-card-button{width:100%;padding:.6rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:700;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0000004d;min-height:38px}.level-card-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0006}.level-card-button:active{transform:translateY(0)}.level-selection-back:hover{background:#6b46c180;border-color:#00d9ff;box-shadow:0 0 20px #00d9ff66;transform:translateY(-2px)}.level-selection-back:active{transform:translateY(0)}.level-selection-back:focus{outline:3px solid #FFD700;outline-offset:2px}@media(min-width:1441px){.level-cards-grid{grid-template-columns:repeat(3,1fr);gap:5rem 2rem}}@media(max-width:1440px)and (min-width:1024px){.level-selection-content{max-width:1000px}.level-cards-grid{grid-template-columns:repeat(3,1fr);gap:3rem 1.5rem}}@media(max-width:1023px)and (min-width:769px){.level-cards-grid{grid-template-columns:repeat(2,1fr);gap:3rem 1.5rem}}@media(max-width:768px){.level-selection-container{padding:1rem 1rem 2.5rem}.level-cards-grid{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.level-selection-header{margin-bottom:1.5rem;padding-top:3rem}.level-card-inner{min-height:220px}}.level-selection-actions{top:.75rem;right:.75rem;gap:.5rem}.level-selection-action-button{min-width:40px;min-height:40px;padding:.4rem;font-size:1.25rem}@media(max-width:480px){.level-selection-container{padding:.75rem .75rem 2rem}.level-cards-grid{gap:1rem;margin-bottom:1.5rem}.level-selection-header{margin-bottom:1rem;padding-top:3rem}.level-selection-actions{top:.5rem;right:.5rem;gap:.4rem}.level-selection-action-button{min-width:40px;min-height:40px;padding:.4rem;font-size:1.25rem}}@media(prefers-reduced-motion:reduce){.level-selection-background:before{animation:none}.level-card:hover{transform:none}}@media(prefers-contrast:high){.level-card:hover:not(.level-card--locked){border-color:#b9f;transform:translateY(-4px)}.level-card--completed:hover{border-color:#df6}.level-card--locked{background:#333333f2;border-color:var(--hc-border-disabled)}.level-card--locked .level-card-title,.level-card--locked .level-card-progress{color:#999}.level-card-emoji{text-shadow:none}}.footer{position:fixed;bottom:12px;right:12px;left:auto;padding:.4rem .6rem;background:#1a1f2eeb;border-radius:10px;border:1px solid rgba(107,70,193,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;display:inline-flex;align-items:center;opacity:.7}.footer-link{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--color-primary);transition:opacity .16s ease,transform .16s ease}.footer-link:hover{opacity:.95;transform:translateY(-1px)}.footer-logo{height:20px;width:auto;display:block}.footer-text{font-size:.75rem;font-weight:500}@media(max-width:420px){.footer{right:8px;bottom:8px;padding:.3rem .45rem}.footer-logo{height:18px}.footer-text{font-size:.5rem}}#root{width:100%;height:100%;margin:0;padding:0;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
