@font-face{font-family:DotGothic16;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dotgothic16-latin-400-normal-BYJEY5oh.woff2)format("woff2"),url(/assets/dotgothic16-latin-400-normal-cp5t3xa_.woff)format("woff")}*{box-sizing:border-box;margin:0;padding:0}body{background:#000;width:100vw;height:100vh;overflow:hidden}.app{justify-content:center;align-items:center;width:100vw;height:100vh;font-family:NT Bricks Sans,system-ui,sans-serif;display:flex;position:relative;overflow:hidden}.game-wrapper{transform-origin:50%;z-index:2;position:relative}.gameover-backdrop{z-index:1;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}:root{--color-1:#4caf50;--color-2:#8b4513;--color-3:gold}@font-face{font-family:NT Bricks Sans;src:url(/assets/NTBrickSans-CLz1K-Jp.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}.game-container{cursor:crosshair;background:#000;width:960px;height:540px;position:relative;overflow:hidden}.canvas-layer{z-index:0;position:absolute;top:0;left:0}.sprite-layer{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.hud-layer{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.sprite{image-rendering:auto;background:0 0;position:absolute}.sprite-chameleon{object-fit:contain;image-rendering:auto;filter:drop-shadow(0 2px 4px #0000004d)}.sprite-chameleon.jumping{filter:drop-shadow(0 4px 8px #0006);transform:rotate(-10deg)}.sprite-chameleon.falling{opacity:.8;transform:rotate(15deg)}.sprite-snake{object-fit:contain;image-rendering:auto;filter:drop-shadow(0 2px 4px #0000004d);transform-origin:bottom;animation:2s ease-in-out infinite snake-puppet}@keyframes snake-puppet{0%{transform:translate(0)rotate(0)}25%{transform:translate(3px,-4px)rotate(1.5deg)}50%{transform:translateY(-2px)rotate(0)}75%{transform:translate(-3px,-4px)rotate(-1.5deg)}to{transform:translate(0)rotate(0)}}.sprite-bug{image-rendering:auto;animation:2s ease-in-out infinite bug-float}@keyframes bug-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.achievement-toast-stack{z-index:30;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;top:14px;right:14px}.achievement-toast{color:#fff;background:#000000c7;border:1px solid #ffffff8c;border-radius:8px;align-items:center;gap:10px;min-width:220px;max-width:260px;padding:8px 12px;animation:.35s ease-out achievement-toast-in;display:flex;box-shadow:0 4px 14px #00000073}.achievement-toast-exit{animation:.4s ease-in forwards achievement-toast-out}.achievement-toast-icon{object-fit:contain;filter:grayscale();flex-shrink:0;width:38px;height:38px}.achievement-toast-text{flex-direction:column;min-width:0;display:flex}.achievement-toast-title{letter-spacing:1px;text-transform:uppercase;color:#bdbdbd;font-family:NT Bricks Sans,monospace;font-size:10px}.achievement-toast-name{color:#fff;margin-top:2px;font-family:NT Bricks Sans,monospace;font-size:14px;font-weight:700}@keyframes achievement-toast-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes achievement-toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}.hud{justify-content:space-between;align-items:flex-start;padding:12px 16px;display:flex}.hud-score{color:#fff;text-shadow:2px 2px 4px #000000b3;font-family:NT Bricks Sans,monospace;font-size:20px;font-weight:700}.hud-color-indicator{color:#fff;text-shadow:1px 1px 3px #000000b3;align-items:center;gap:8px;font-family:NT Bricks Sans,monospace;font-size:14px;display:flex}.hud-color-swatch{border:2px solid #fff;border-radius:4px;width:20px;height:20px}.hud-warning{color:#f44;text-shadow:1px 1px 3px #000000b3;font-family:NT Bricks Sans,monospace;font-size:14px;font-weight:700;animation:.5s ease-in-out infinite alternate warning-pulse}@keyframes warning-pulse{0%{opacity:.6}to{opacity:1}}.screen-overlay{z-index:10;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.start-screen{background-color:#f5f5f0;background-position:50%;background-repeat:no-repeat;background-size:cover;overflow:hidden}.start-title-area{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.start-title-img{object-fit:contain;width:auto;max-width:95%;height:auto;max-height:95%}.start-button-area{flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.start-text-btn{letter-spacing:2px;color:#1a1a1a;cursor:pointer;pointer-events:auto;text-transform:uppercase;background:0 0;border:none;padding:2px 12px;font-family:NT Bricks Sans,sans-serif;font-size:20px;transition:transform .12s,opacity .2s}.start-text-btn:hover{opacity:.75;transform:scale(1.06)}.start-text-btn:active{transform:scale(.98)}.new-game-btn{cursor:pointer;pointer-events:auto;background:0 0;border:none;padding:0;transition:transform .2s}.new-game-btn:hover{transform:scale(1.15)}.new-game-btn:active{transform:scale(1.05)}.new-game-btn img{width:220px;height:auto;display:block}.story-screen{cursor:pointer;background-color:#000;background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center}.typewriter-caret{color:#222;margin-left:2px;animation:.9s step-end infinite blinkAnim;display:inline-block}.speech-bubble{color:#1a1a1a;text-align:center;-webkit-backdrop-filter:blur(2px);background:#ffffff8c;border-radius:18px;max-width:520px;padding:18px 28px;font-family:NT Bricks Sans,monospace;font-size:20px;font-style:italic;line-height:1.5;position:relative;box-shadow:0 6px 24px #0006}.story-screen .snake-bubble{position:absolute;top:70%;left:50%;transform:translate(-50%,-50%)}.snake-bubble:after{content:"";border:8px solid #0000;border-bottom-color:#ffffff8c;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.story-prompt{text-align:center;color:#fff;letter-spacing:1px;text-shadow:1px 1px 4px #000000e6;font-family:NT Bricks Sans,monospace;font-size:16px;position:absolute;bottom:24px;left:0;right:0}.fade-in{animation:.6s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.blink{animation:1.2s ease-in-out infinite blinkAnim}@keyframes blinkAnim{0%,to{opacity:.4}50%{opacity:1}}.countdown-screen{background:#000000b3}.countdown-number{color:#fff;text-shadow:0 0 40px #ffffff80;font-family:NT Bricks Sans,monospace;font-size:120px;font-weight:700;animation:.5s ease-out countPop}@keyframes countPop{0%{opacity:0;transform:scale(2)}to{opacity:1;transform:scale(1)}}.gameover-screen{background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:flex-start;align-items:center;padding:30px 0 36px}.gameover-score-area{flex-direction:column;align-items:center;gap:2px;margin-bottom:250px;display:flex}.gameover-message-area{margin-bottom:auto}.gameover-score-label{letter-spacing:3px;text-transform:uppercase;color:#e8e0d0;text-shadow:0 1px 3px #000000d9;font-family:NT Bricks Sans,monospace;font-size:11px}.gameover-score-value{color:#fff;letter-spacing:2px;text-shadow:0 2px 6px #000000e6;font-family:NT Bricks Sans,monospace;font-size:40px;font-weight:700}.gameover-message-area{flex-direction:column;align-items:center;gap:6px;display:flex}.gameover-retry-area{justify-content:center;align-items:center;display:flex}.gameover-retry-btn{color:#fff;cursor:pointer;pointer-events:auto;background:#00000073;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;padding:0;transition:transform .12s,background .2s;display:flex;box-shadow:0 4px 14px #00000073}.gameover-retry-btn:hover{background:#000000b3;transform:scale(1.08)rotate(-15deg)}.gameover-retry-btn:active{transform:scale(.95)}.screen-title{color:#e8e0d0;text-shadow:2px 2px 4px #0009;letter-spacing:3px;text-align:center;margin-bottom:12px;font-family:NT Bricks Sans,monospace;font-size:36px;font-weight:700}.gameover-subtitle{color:#fff;text-shadow:1px 1px 3px #0009;text-align:center;letter-spacing:1px;margin-bottom:16px;font-family:NT Bricks Sans,monospace;font-size:15px;font-style:italic}.screen-subtitle{color:#ccc;text-align:center;margin-bottom:40px;font-family:NT Bricks Sans,monospace;font-size:18px;line-height:1.6}.screen-score{color:#d0c8b8;letter-spacing:2px;margin-bottom:20px;font-family:NT Bricks Sans,monospace;font-size:28px}.screen-button{color:#2a2a2a;cursor:pointer;pointer-events:auto;letter-spacing:1px;background:#e8e0d0;border:2px solid #555;border-radius:4px;padding:12px 36px;font-family:NT Bricks Sans,monospace;font-size:18px;font-weight:700;transition:background .2s,transform .1s}.screen-button:hover{background:#d0c8b8;transform:scale(1.05)}.screen-button:active{transform:scale(.98)}.screen-instructions{color:#aaa;text-align:center;margin-top:30px;font-family:NT Bricks Sans,monospace;font-size:13px;line-height:1.8;display:none}.achievements-btn{color:#1a1a1a;cursor:pointer;pointer-events:auto;z-index:20;background:#ffffffeb;border:2px solid #1a1a1a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:background .15s,transform .1s;display:flex;position:absolute;top:14px;right:14px;box-shadow:0 2px 6px #00000040}.achievements-btn:hover{background:#fff;transform:scale(1.08)}.achievements-btn:active{transform:scale(.96)}.achievements-screen{background-color:#000;background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:flex-start;padding:20px 28px;overflow-y:auto}.achievements-title{color:#fff;letter-spacing:3px;text-shadow:0 1px 4px #000000f2,0 0 6px #0009;margin:4px 0 16px;font-family:NT Bricks Sans,monospace;font-size:32px;font-weight:700}.achievements-grid{flex-direction:column;gap:8px;width:100%;max-width:720px;margin:0 auto 16px;display:flex}.achievement-card{background:0 0;border:1px solid #ffffff73;border-radius:8px;align-items:center;gap:14px;min-height:68px;padding:10px 14px;display:flex}.achievement-card.locked{opacity:.7}.achievement-card.unlocked{background:0 0;border-color:#fff}.achievement-icon{object-fit:contain;filter:grayscale()contrast(1.05);flex-shrink:0;width:52px;height:52px}.achievement-card.locked .achievement-icon{filter:grayscale()brightness(.55)}.achievement-info{flex:1;min-width:0}.achievement-name{color:#fff;letter-spacing:.5px;text-shadow:0 1px 3px #000000e6;font-family:NT Bricks Sans,monospace;font-size:14px;font-weight:700}.achievement-desc{color:#e6e6e6;text-shadow:0 1px 3px #000000e6;margin:2px 0 6px;font-family:NT Bricks Sans,monospace;font-size:11px}.achievement-progress-bar{background:#ffffff26;border:1px solid #ffffff59;border-radius:3px;height:5px;overflow:hidden}.achievement-progress-fill{background:#fff;height:100%;transition:width .3s}.achievement-progress-text{color:#d4d4d4;text-shadow:0 1px 3px #000000e6;margin-top:3px;font-family:NT Bricks Sans,monospace;font-size:10px}.achievement-unlocked-tag{color:#fff;margin-left:6px;font-weight:700}.achievements-screen .screen-button{color:#000;background:#fff;border:2px solid #fff}.achievements-screen .screen-button:hover{background:#d0d0d0}.gameover-unlocked{text-align:left;z-index:5;background:#ffd7001f;border:1px solid #ffd70099;border-radius:8px;max-width:200px;padding:8px 10px;position:absolute;top:14px;right:14px;box-shadow:0 2px 8px #00000080}.gameover-unlocked-title{color:gold;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;font-family:NT Bricks Sans,monospace;font-size:11px;font-weight:700}.gameover-unlocked-list{flex-direction:column;gap:4px;display:flex}.gameover-unlocked-item{color:#f0e8d0;align-items:center;gap:6px;font-family:NT Bricks Sans,monospace;font-size:11px;display:flex}.gameover-unlocked-item img{object-fit:contain;flex-shrink:0;width:18px;height:18px}
