@import url(https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap);:root{--primary-bg:#f0e6d2;--secondary-bg:#e6d8c0;--menu-bg:#e8decbe6;--text-color:#5a4a3f;--secondary-text:#7d6b5d;--accent-color:#c45f38;--accent-hover:#aa4d29;--card-bg:#eee7daf2;--card-border:#a28a6d80;--card-shadow:0 6px 12px #6e5e4b33;--game-bg:#e8decb;--snake-color:#6b8f71;--snake-head:#4e6b52;--food-color:#c45f38;--font-family:"Press Start 2P","Courier New",monospace;--content-font:"VT323","Courier New",monospace}.dark-theme{--primary-bg:#2b2622;--secondary-bg:#332e29;--menu-bg:#2b2622f2;--text-color:#e0d3bd;--secondary-text:#bfae96;--accent-color:#c45f38;--accent-hover:#d47a55;--card-bg:#38312af2;--card-border:#c9b2964d;--card-shadow:0 6px 12px #0006;--game-bg:#3a342e;--snake-color:#7ba682;--snake-head:#5b8761;--food-color:#e67248}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f0e6d2;background:var(--primary-bg);color:#5a4a3f;color:var(--text-color);font-family:VT323,Courier New,monospace;font-family:var(--content-font);font-size:16px;letter-spacing:.5px;line-height:1.6;margin:0;transition:background-color .3s ease,color .3s ease}.high-score,.play-button,.score,button,h1,h2,h3{font-family:Press Start\ 2P,Courier New,monospace;font-family:var(--font-family)}div,p{font-family:VT323,Courier New,monospace;font-family:var(--content-font)}button{font-family:Press Start\ 2P,Courier New,monospace;font-family:var(--font-family);font-size:.9rem;letter-spacing:1px}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#f0e6d2;background:var(--primary-bg)}::-webkit-scrollbar-thumb{background-color:#c45f38;background-color:var(--accent-color);border:3px solid #f0e6d2;border:3px solid var(--primary-bg);border-radius:6px}html{font-size:16px}@media (max-width:768px){body,html{font-size:14px}}@media (max-width:480px){html{font-size:12px}}*{box-sizing:border-box}.menu-container{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 38.59 2.83-2.83 1.41 1.41L1.41 40H0v-1.41zM0 1.4l2.83 2.83 1.41-1.41L1.41 0H0v1.41zM38.59 40l-2.83-2.83 1.41-1.41L40 38.59V40h-1.41zM40 1.41l-2.83 2.83-1.41-1.41L38.59 0H40v1.41zM20 18.6l2.83-2.83 1.41 1.41L21.41 20l2.83 2.83-1.41 1.41L20 21.41l-2.83 2.83-1.41-1.41L18.59 20l-2.83-2.83 1.41-1.41L20 18.59z' fill-opacity='.05' fill-rule='evenodd'/%3E%3C/svg%3E");display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:100vh;padding:30px 20px;position:relative;text-align:center}.menu-container h1{color:var(--text-color);display:inline-block;font-size:4rem;font-weight:700;letter-spacing:5px;margin-bottom:10px;margin-left:auto;margin-right:auto;padding:10px 30px;position:relative;text-shadow:4px 4px 0 #00000026;text-transform:uppercase}.menu-container h1:after,.menu-container h1:before{background:var(--accent-color);content:"";height:4px;position:absolute;top:50%;transform:translateY(-50%);width:60px}.menu-container h1:before{left:-30px}.menu-container h1:after{right:-30px}.menu-subtitle{color:var(--secondary-text);font-size:1.2rem;font-style:italic;margin-bottom:40px;position:relative;text-shadow:1px 1px 0 #0000001a}.menu-subtitle:after{animation:float 2s ease-in-out infinite;content:"👾";display:inline-block;font-size:1.4rem;font-style:normal;margin-left:8px}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.game-list{grid-gap:30px;display:grid;flex:1 1;gap:30px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0 auto;max-width:1100px;padding:20px 0}.game-item{align-items:center;background:var(--card-bg);border:3px solid var(--card-border);border-radius:6px;box-shadow:6px 6px 0 #00000026;cursor:pointer;display:flex;flex-direction:column;padding:25px;perspective:1000px;position:relative;transform-style:preserve-3d;transition:all .3s ease}.game-item:hover{border-color:var(--accent-color);box-shadow:9px 9px 0 #0003;transform:translate(-3px,-3px) rotate(1deg)}.game-item:hover .game-icon{transform:rotate(-5deg) scale(1.1)}.game-icon{background-color:#ffffff1a;border:2px dashed var(--card-border);border-radius:6px;color:var(--accent-color);filter:drop-shadow(2px 2px 0 rgba(0,0,0,.2));height:70px;margin-bottom:20px;padding:10px;transition:all .3s ease;width:70px}.game-item h2{color:var(--text-color);font-size:1.8rem;font-weight:700;letter-spacing:2px;margin-bottom:15px;margin-top:0;text-shadow:2px 2px 0 #0000001a;text-transform:uppercase}.game-item p{color:var(--secondary-text);font-size:1rem;line-height:1.5;margin-bottom:20px}.play-button{background-color:var(--accent-color);border:none;border-radius:4px;box-shadow:4px 4px 0 #0003;color:#fff;cursor:pointer;font-family:var(--font-family);font-size:1rem;font-weight:700;letter-spacing:2px;margin-top:15px;overflow:hidden;padding:12px 30px;position:relative;text-transform:uppercase;transition:all .3s}.play-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:.5s;width:100%}.play-button:hover{background-color:var(--accent-hover);box-shadow:2px 2px 0 #0003;transform:translate(2px,2px)}.play-button:hover:before{left:100%}.play-button:active{box-shadow:none;transform:translate(4px,4px)}.footer{border-top:3px dashed var(--card-border);color:var(--secondary-text);font-size:.9rem;margin-top:40px;padding:20px 0;position:relative;width:100%}.footer:after,.footer:before{background:var(--primary-bg);content:"🕹️";font-size:1.5rem;padding:0 10px;position:absolute;top:-15px}.footer:before{left:10%}.footer:after{right:10%}@media (max-width:992px){.game-list{gap:25px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.menu-container h1{font-size:3rem}.menu-container h1:after,.menu-container h1:before{width:40px}.menu-subtitle{font-size:1.1rem}.game-list{gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.game-item{padding:20px}.game-icon{height:60px;width:60px}.footer:after,.footer:before{display:none}}@media (max-width:576px){.menu-container h1{font-size:2.5rem}.game-list{grid-template-columns:1fr;margin:0 auto;max-width:350px}}@media (max-width:400px){.menu-container h1{font-size:2rem;letter-spacing:3px}.menu-container h1:after,.menu-container h1:before{width:30px}.menu-subtitle{font-size:1rem;margin-bottom:25px}.game-list{gap:15px;padding:10px 0}.game-item{padding:15px}.game-icon{height:50px;margin-bottom:15px;width:50px}.game-item h2{font-size:1.5rem;margin-bottom:10px}.play-button{font-size:.9rem;padding:10px 25px}.footer{font-size:.8rem;margin-top:25px;padding:15px 0}}.snake-game{align-items:center;display:flex;flex-direction:column;max-width:900px;padding:10px;width:100%}.snake-game h2{border-bottom:2px dashed var(--secondary-text);color:var(--text-color);font-size:2rem;letter-spacing:2px;margin-bottom:10px;padding-bottom:5px;text-shadow:2px 2px 0 #0000001a;text-transform:uppercase}.game-area{background-color:var(--game-bg);border:3px solid var(--card-border);border-radius:4px;overflow:hidden;position:relative}.snake-cell{background-color:var(--snake-color);border-radius:3px;position:absolute;transition:all .1s}.snake-head{background-color:var(--snake-head);border-radius:4px}.food{background-color:var(--food-color);border-radius:50%;box-shadow:0 0 5px var(--food-color);position:absolute}.high-score,.score{background:#0000000d;border-radius:4px;box-shadow:inset 2px 2px 3px #0000001a;color:var(--text-color);font-size:16px;font-weight:700;letter-spacing:1px;padding:8px 15px;text-transform:uppercase}.game-instructions,.game-over{background:var(--card-bg);border:3px solid var(--card-border);border-radius:4px;box-shadow:6px 6px 0 #00000026;color:var(--text-color);left:50%;max-width:320px;padding:25px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);width:85%;z-index:10}.game-instructions h3,.game-over h3{border-bottom:2px dashed var(--card-border);color:var(--accent-color);font-size:1.5rem;letter-spacing:1px;margin-bottom:15px;padding-bottom:8px;text-shadow:1px 1px 0 #0000001a;text-transform:uppercase}.game-over p{font-size:1rem;margin-bottom:15px}.game-instructions button,.game-over button{background-color:var(--accent-color);border:none;border-radius:4px;box-shadow:3px 3px 0 #0003;color:#fff;cursor:pointer;display:inline-block;font-family:var(--font-family);font-size:16px;font-weight:700;letter-spacing:1px;margin:10px 5px;overflow:hidden;padding:12px 25px;position:relative;text-align:center;text-decoration:none;text-transform:uppercase;transition:all .2s}.game-instructions button:hover,.game-over button:hover{background-color:var(--accent-hover);box-shadow:2px 2px 0 #0003;transform:translate(1px,1px)}.game-instructions button:active,.game-over button:active{box-shadow:none;transform:translate(3px,3px)}.new-high-score{animation:pulse 1s infinite;color:var(--accent-color);font-weight:700}.game-instructions{background:var(--card-bg);border:3px solid var(--card-border);border-radius:4px;box-shadow:6px 6px 0 #00000026;color:var(--text-color);left:50%;max-height:80vh;max-width:350px;overflow-y:auto;padding:20px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);width:90%;z-index:10}.instruction-content{background:#fff3;border:1px dashed var(--card-border);border-radius:4px;font-size:1.1rem;margin:12px 0;padding:10px 12px;text-align:left}@media (max-height:700px){.snake-game h2{font-size:1.5rem;margin-bottom:5px}.score-container{margin-bottom:8px}.high-score,.score{font-size:12px;padding:5px 8px}.controls{margin-top:10px}.control-btn{font-size:18px;height:40px;margin:2px;width:40px}.game-instructions{padding:15px}.game-instructions h3{font-size:1.2rem;margin-bottom:10px}.instruction-content{margin:10px 0;padding:8px}.game-instructions button{margin:8px 5px;padding:8px 15px}}@media (max-height:600px){.game-instructions,.game-over{max-height:85vh;overflow-y:auto;padding:12px}.game-instructions h3,.game-over h3{font-size:1.2rem;margin-bottom:8px;padding-bottom:5px}.instruction-content{margin:8px 0}.snake-game h2{font-size:1.4rem;margin-bottom:5px}.controls{margin-top:8px}.control-btn{height:40px;width:40px}}@media (max-width:350px){.control-btn{font-size:16px;height:35px;width:35px}.game-instructions{padding:12px;width:90%}.instruction-content{font-size:.9rem}}@media (max-width:400px){.game-area-container{margin:5px 0;padding:8px}.score-container{flex-direction:row;margin-bottom:8px;padding:6px}.high-score,.score{font-size:12px;padding:4px 8px}.snake-game h2{font-size:1.4rem;margin-bottom:5px}.control-btn{font-size:16px;height:40px;margin:2px;width:40px}.controls{margin-top:10px}.game-instructions{padding:15px;width:95%}.game-instructions h3{font-size:1.2rem;margin-bottom:8px;padding-bottom:5px}.instruction-content{font-size:.95rem;margin:8px 0;padding:8px}.game-instructions button{font-size:14px;padding:8px 15px}.instruction-hint{font-size:.75rem}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width:768px){.snake-game h2{font-size:1.75rem}.control-btn{font-size:20px;height:50px;width:50px}.score-container{flex-direction:row;padding:8px}.high-score,.score{font-size:14px;padding:6px 10px}}@media (max-width:480px){.game-area-container{padding:10px}.score-container{margin-bottom:10px}.control-btn{height:45px;margin:3px;width:45px}}.pacman-game{align-items:center;display:flex;flex-direction:column;max-width:900px;padding:10px;width:100%}.pacman-game h2{border-bottom:2px dashed var(--secondary-text);color:var(--text-color);font-size:2rem;letter-spacing:2px;margin-bottom:10px;padding-bottom:5px;text-shadow:2px 2px 0 #0000001a;text-transform:uppercase}.game-area-container{background:var(--card-bg);border:3px solid var(--card-border);border-radius:4px;box-shadow:6px 6px 0 #0003;margin:10px 0;padding:15px;position:relative}.pacman-canvas{background-color:#000;border-radius:4px;display:block;height:auto;max-width:100%}.score-container{background:var(--card-bg);border:3px solid var(--card-border);border-radius:4px;box-shadow:4px 4px 0 #0000001a;display:flex;justify-content:space-between;margin-bottom:15px;padding:10px 15px;width:100%}.lives,.score{background:#0000000d;border-radius:4px;box-shadow:inset 2px 2px 3px #0000001a;color:var(--text-color);font-size:16px;font-weight:700;letter-spacing:1px;padding:8px 15px;text-transform:uppercase}.game-instructions,.game-over,.game-paused,.game-won{background:var(--card-bg);border:3px solid var(--card-border);border-radius:4px;box-shadow:6px 6px 0 #00000026;color:var(--text-color);left:50%;max-width:320px;padding:25px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);width:85%;z-index:10}.game-instructions{background:var(--card-bg) url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill-opacity='.05' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='3'/%3E%3Ccircle cx='13' cy='13' r='3'/%3E%3C/g%3E%3C/svg%3E")}.game-instructions .instruction-content{background:#fff3;border:1px dashed var(--card-border);border-radius:4px;margin:15px 0;padding:10px 15px;text-align:left}.game-instructions h3,.game-over h3,.game-paused h3,.game-won h3{border-bottom:2px dashed var(--card-border);color:var(--accent-color);font-size:1.5rem;letter-spacing:1px;margin-bottom:15px;padding-bottom:8px;text-shadow:1px 1px 0 #0000001a;text-transform:uppercase}.game-over p,.game-paused p,.game-won p{font-size:1rem;margin-bottom:15px}.game-instructions button,.game-over button,.game-paused button,.game-won button{background-color:var(--accent-color);border:none;border-radius:4px;box-shadow:3px 3px 0 #0003;color:#fff;cursor:pointer;display:inline-block;font-family:var(--font-family);font-size:16px;font-weight:700;letter-spacing:1px;margin:10px 5px;overflow:hidden;padding:12px 25px;position:relative;text-align:center;text-decoration:none;text-transform:uppercase;transition:all .2s}.game-instructions button:hover,.game-over button:hover,.game-paused button:hover,.game-won button:hover{background-color:var(--accent-hover);box-shadow:2px 2px 0 #0003;transform:translate(1px,1px)}.game-instructions button:active,.game-over button:active,.game-paused button:active,.game-won button:active{box-shadow:none;transform:translate(3px,3px)}.instruction-hint{font-size:.8rem;font-style:italic;margin-top:10px;opacity:.7}.controls{align-items:center;display:flex;flex-direction:column;margin-top:20px}.controls-row{display:flex;margin:4px 0}.control-btn{align-items:center;background:var(--card-bg);border:3px solid var(--card-border);border-radius:4px;box-shadow:3px 3px 0 #0003;color:var(--text-color);cursor:pointer;display:flex;font-family:var(--font-family);font-size:24px;height:60px;justify-content:center;margin:5px;transition:all .2s;-webkit-user-select:none;user-select:none;width:60px}.control-btn:hover{background:var(--accent-color);color:#fff}.control-btn:active{box-shadow:none;transform:translate(3px,3px)}@media (max-width:768px){.pacman-game h2{font-size:1.75rem}.control-btn{font-size:20px;height:50px;width:50px}.score-container{flex-direction:row;padding:8px}.lives,.score{font-size:14px;padding:6px 10px}}@media (max-width:576px){.game-area-container{padding:10px}.score-container{margin-bottom:10px}.control-btn{height:45px;margin:3px;width:45px}.game-instructions,.game-over,.game-paused,.game-won{padding:15px}.game-instructions h3,.game-over h3,.game-paused h3,.game-won h3{font-size:1.2rem}}@media (max-width:480px){.control-btn{font-size:18px;height:40px;width:40px}.instruction-content{font-size:14px}}@media (max-height:700px){.pacman-canvas{max-height:65vh}}.theme-toggle{align-items:center;background:var(--card-bg);border:3px solid var(--card-border);border-radius:6px;box-shadow:3px 3px 0 #00000026;color:var(--text-color);cursor:pointer;display:flex;justify-content:center;padding:10px;position:absolute;right:20px;top:20px;transition:all .3s;z-index:100}.theme-toggle:hover{background-color:var(--accent-color);color:#fff;transform:rotate(15deg)}.theme-toggle:active{transform:rotate(15deg) scale(.9)}.theme-toggle svg{filter:drop-shadow(1px 1px 0 rgba(0,0,0,.2));height:24px;width:24px}@media (max-width:768px){.theme-toggle{padding:8px;right:15px;top:15px}.theme-toggle svg{height:20px;width:20px}}@media (max-width:480px){.theme-toggle{right:10px;top:10px}}.app{background:var(--primary-bg);background-image:linear-gradient(#00000008 1px,#0000 0),linear-gradient(90deg,#00000008 1px,#0000 0);background-size:20px 20px;color:var(--text-color);display:flex;flex-direction:column;font-family:var(--font-family);min-height:100vh;overflow:hidden;position:relative;width:100%}.app:before{background-image:radial-gradient(circle at center,#0000 60%,#00000014);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.back-button{align-items:center;background-color:var(--accent-color);border:none;border-radius:4px;box-shadow:4px 4px 0 #0003;color:#fff;cursor:pointer;display:flex;font-family:var(--font-family);font-size:16px;font-weight:700;margin:20px;padding:10px 20px;position:relative;transition:all .3s;z-index:2}.back-button:hover{background-color:var(--accent-hover);box-shadow:2px 2px 0 #0003;transform:translate(2px,2px)}.back-button:active{box-shadow:none;transform:translate(4px,4px)}.back-button svg{margin-right:8px}.game-container{align-items:center;display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:1200px;padding:10px 20px 30px;position:relative;width:100%;z-index:2}@media (max-width:768px){.back-button{font-size:14px;margin:15px;padding:8px 16px}.game-container{padding:5px 15px 20px}}@media (max-width:480px){.back-button{margin:10px}}@media (max-width:400px){.back-button{font-size:12px;margin:8px;padding:6px 12px}.game-container{padding:3px 8px 15px}}
/*# sourceMappingURL=main.e1b6d5b2.css.map*/