:root{--background-color: #1a1a1a;--grid-color: #4a4a4a;--player-color: #00ff00;--monster-color: #800080;--goal-color: #ffd700;--ui-text-color: #ffffff;--highlight-color: #ffff00;--button-color: #4caf50;--button-hover-color: #45a049;--bonus-cap-of-invisibility: #8a2be2;--bonus-confused-monsters: #ffa500;--bonus-land-mine: #8b4513;--bonus-time-bomb: #000000;--bonus-crusher: #ff69b4;--bonus-builder: #00ffff;--explosion-color: rgba(255, 165, 0, .7);--tooltip-background: rgba(0, 0, 0, .9);--tooltip-text: #ffffff;--tooltip-border: #ffffff;--platform-top: #c2b280;--platform-side: #5d4037;--obstacle-top: #8e24aa;--obstacle-side1: #6a1b9a;--obstacle-side2: #4a148c;--intro-background: #2c3e50;--intro-text-shadow: rgba(0, 0, 0, .5);--intro-title-color: #e67e22}body,html{margin:0;padding:0;font-family:Courier New,Courier,monospace;background-color:var(--background-color);color:var(--ui-text-color);text-transform:uppercase;overflow:hidden;width:100%;height:100%}.game-container{display:flex;justify-content:center;align-items:center;width:100%;height:100vh;touch-action:none;-webkit-user-select:none;user-select:none}button{background-color:var(--button-color);border:none;color:#fff;padding:15px 32px;text-align:center;text-decoration:none;display:inline-block;font-size:16px;margin:4px 2px;cursor:pointer;transition:background-color .3s}button:hover{background-color:var(--button-hover-color)}.intro{text-align:center;background-color:var(--intro-background);padding:20px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:80vw;max-width:600px;box-shadow:0 0 20px #00000080}.game-intro-responsive{display:flex;flex-direction:row}.level-story{max-width:600px}@media (max-width: 600px){.game-intro-responsive{flex-direction:column}}.game-preview-container canvas{max-width:90%;max-height:90%}.game-title{font-size:48px;margin-bottom:20px;color:var(--intro-title-color);text-shadow:2px 2px 4px var(--intro-text-shadow);letter-spacing:2px}.intro-buttons{display:flex;flex-direction:column;align-items:center}.intro-buttons button{margin:10px 0;width:200px;border-radius:5px;font-weight:700;text-transform:uppercase}.intro-tip{font-size:18px;margin-top:20px;color:var(--highlight-color)}.author-name{font-size:14px;margin-top:20px;color:var(--ui-text-color);opacity:.7}.author-name a{color:#fff}.instructions{background-color:var(--intro-background);padding:20px;border-radius:10px;max-width:600px;margin:0 auto;overflow-y:auto;max-height:80vh}.instructions h1{color:var(--intro-title-color);text-align:center}.instructions ul{padding-left:20px}.instructions-tip{text-align:center;color:var(--highlight-color);margin-top:20px}.gameplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;flex-direction:column}.hud{font-size:18px;height:40px;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;width:100%;background-color:#000000b3;padding:10px;border-radius:5px}.hud>div{margin:0 10px}canvas{border:1px solid var(--grid-color);max-height:80vh;max-width:90vw}.game-over-screen,.level-complete-screen,.game-complete{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:#000c;text-align:center}.game-over-title,.level-complete-title{font-size:36px;margin-bottom:20px}.game-over-title .over{color:red}.level-complete-title{color:var(--highlight-color)}.game-complete{background-color:var(--intro-background);height:80vh}.game-complete-subtitle{font-size:36px;color:var(--highlight-color);margin-bottom:20px}.game-complete-stats{font-size:24px;margin-bottom:30px}.game-complete-stats p{margin:10px 0}@media (max-width: 768px){.game-title{font-size:36px}button{padding:10px 20px;font-size:14px}.intro,.game-complete{width:90vw;height:90vh}.intro-buttons button{width:180px}.instructions{font-size:14px;padding:15px}.hud{font-size:14px}canvas{max-height:70vh;max-width:95vw}.game-over-title,.level-complete-title,.game-complete-subtitle{font-size:28px}.game-complete-stats{font-size:20px}}@media (hover: none) and (pointer: coarse){button{padding:15px 30px;font-size:18px}.intro-buttons button{margin:15px 0}.intro-tip{display:none}}
