@font-face{font-family:"Press Start 2P";src:url(/crawler/assets/PressStart2P-Regular-DogiNJoF.ttf) format("truetype")}:root{--primary-color: #553366;--primary-highlight: #774488;--dark-bg: #212529;--button-size: clamp(35px, 15vw, 55px);--container-max-width: 480px}*{margin:0;padding:0}*,*:before,*:after{box-sizing:border-box}ul,ol{list-style:none}body,html{height:100%;background:#000;color:#fff;font-family:"Press Start 2P",monospace;font-size:clamp(12px,1vw,16px);overflow-x:hidden;overflow-y:auto;touch-action:manipulation;position:relative}button{font-family:"Press Start 2P",monospace;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none}#main-container{display:flex;flex-direction:column;width:100%;max-width:var(--container-max-width);margin:0 auto;align-items:center;min-height:100svh;position:relative}canvas{width:100%;max-width:100%;height:auto;aspect-ratio:1 / 1;display:block;touch-action:none;image-rendering:pixelated}#controls{display:grid;grid-template-areas:". up . . ." "left . right action inventoryButton" ". down . . .";grid-template-columns:auto auto auto auto auto;justify-content:center;align-items:center;margin:.5rem auto;gap:clamp(.15rem,.5vw,.25rem);background-color:var(--dark-bg);border-radius:5px;padding:clamp(.25rem,2vw,.5rem);border:3px solid gray;max-width:var(--container-max-width);overflow:hidden}.control-btn{width:min(var(--button-size),15vw);height:min(var(--button-size),15vw);min-width:30px;min-height:30px;background-position:center;background-repeat:no-repeat;background-size:contain;border-radius:5px;color:#fff;border:2px solid black;cursor:pointer;font-family:"Press Start 2P",monospace;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;background-color:gray;flex-shrink:1}.control-btn:active{background-color:#444;transform:scale(.95)}#up{grid-area:up;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAeElEQVRYhe2QwQ2AIBAEwQZowRLs3BIogRYswQ7Gj8YPMQfmNMadhA8hOxNCEEJ0AiRg3k96Q144KY9FVOTPRVzI/SMMcr+IBrlPBJAb5AfZsj0YG8aO7snyKHYMB4DqWIzNe9YfcEMBClCAAj4bsFTu1hsdQvyYDZHcBvl+Sb/7AAAAAElFTkSuQmCC);image-rendering:pixelated}#down{grid-area:down;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAgElEQVRYhe2V0Q2AIAxEiwuxgiO4oaM5Amxw/itCW4FEc++7uXuEpBUhhDgAsOPO7skKTgEUw0Iw5y0egZ5QgAIUoMA3BK67vzL3+jY8BR+F49MiabK1X7CJSDY4ZxFZDfNtAEQASfNyALFruUFiXLlCYnx5RWJeeUFifjkhv+IE1PoLGZIwxqwAAAAASUVORK5CYII=);image-rendering:pixelated}#left{grid-area:left;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAiUlEQVRYhe2TUQ2AMAwFXzGABRyABCTgEAkgAQcEJcPB44cvspVkGWtIev/dXZMVcBzH+RMkW5ILydlKvvPGVF41ICavFpCSZ5D8M6LJAWwAhhLLiEjU1Sgzaym5hhbQfS1/C5gAnGYBInIAGAtF5L9BsicZTM5Qi6gaEIuoHvCICCYBjuM4X3ABLDTaUqKp3ckAAAAASUVORK5CYII=);image-rendering:pixelated}#right{grid-area:right;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAlklEQVRYhe3T0Q3CMBADUJsFKiaBEbppR4BNChPQDWgnMD/hozQJEgkXqbr3e1LsXBTAOef2QtIg6SKpa1XgbWxSQmv2JbRVViK8aamvJZi70c/t124AepJLbHioFJJzBnBNDS02AAAzyWNsYLGBGUCfGuYKTLXCSd4rnJUX+QFPSae/BycK2IZ/FLAPDwUezcKdc67ECyq/4QHkFk4vAAAAAElFTkSuQmCC);image-rendering:pixelated}#action{grid-area:action;background-color:var(--primary-color);border-color:var(--primary-highlight)}#message-log{width:100%;height:4em;overflow-y:auto;text-align:center;margin:.25em 0}#messages{width:100%;background:#0009;font-family:"Press Start 2P",monospace;font-size:.7rem;line-height:1.5em;color:#fff;padding:.25rem}#messages li{margin-bottom:.25rem;color:#a0a0a0}#messages li:first-child{color:#00fff5;animation:newMessage .8s,changeColor 3s 3s forwards}#minimap{position:absolute;top:10px;right:10px;width:100px;height:100px;background:#000000b3;border:2px solid #555;border-radius:5px;z-index:100}#loading{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;font-size:clamp(1rem,4vw,1.5rem);z-index:1000}.progress-bar{width:clamp(200px,80%,400px);height:clamp(10px,3vh,20px);background:#333;border-radius:10px;margin-top:20px;overflow:hidden}.progress{height:100%;background:var(--primary-color);width:0%;transition:width .3s}#level-loading-screen{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000;color:#fff;font-size:2em;z-index:1000;justify-content:center;text-align:center;flex-direction:column}#level-loading-screen p{line-height:2.5rem}#inventoryButton{grid-area:inventoryButton;background:gray;border:2px solid black;cursor:pointer;z-index:100}#inventory-modal{position:fixed;top:0;left:0;width:100%;height:100svh;display:flex;flex-direction:column;align-items:center;z-index:2000;padding:1rem}#inventory-modal-content{background:#222;color:#fff;padding:clamp(.5rem,3vw,1rem);margin-top:2rem;border-radius:10px;width:clamp(280px,90%,400px);height:55svh;overflow-y:auto;text-align:center}#inventory-modal h3{font-size:clamp(1rem,4vw,1.5rem);line-height:clamp(1.5rem,5vw,2rem);margin:1rem 0 .25rem}#inventory-list{margin:2em auto;overflow-y:auto;max-height:30svh}#inventory-list li{margin-bottom:1em}#inventory-modal.hidden{display:none}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:6000;padding:1rem}.modal-content{background:#000;padding:clamp(10px,5vw,20px);border-radius:8px;text-align:center;width:clamp(280px,90%,400px);max-height:90vh;overflow-y:auto}.modal-content button{display:block;margin:2em auto;padding:clamp(5px,2vw,10px) clamp(10px,4vw,20px);font-size:clamp(12px,3vw,16px);background-color:var(--primary-color);color:#fff;border-radius:5px}#close-inventory{margin-top:2rem;padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:5px;cursor:pointer}.overlay-screen{position:fixed;top:0;left:0;width:100%;height:100%;padding:clamp(.5em,3vw,1em);background:#000;color:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;z-index:3000;overflow-y:auto}.overlay-screen.hidden{display:none}.overlay-screen h1,.overlay-screen h2{font-size:clamp(1.2rem,5vw,2rem);margin-bottom:1rem}.overlay-screen button{animation:pulse 1.5s infinite;transition:transform .2s;padding:clamp(.5rem,2vw,.75rem) clamp(1rem,3vw,1.5rem);font-size:clamp(.8rem,3vw,1.1rem);background:var(--primary-color);color:#fff;border:none;border-radius:5px;cursor:pointer}.tap-menu{background:#000c;border:2px solid var(--primary-color);color:#fff;padding:clamp(.5rem,3vw,1rem);border-radius:5px;font-family:"Press Start 2P",monospace;font-size:clamp(.5rem,2vw,.6rem);max-width:90vw;max-height:80vh}.tap-menu button{background:#333;border:1px solid #555;color:#fff;padding:clamp(.25rem,2vw,.5rem);margin-top:.5rem;width:100%;font-size:clamp(.8rem,3vw,1rem)}.tap-menu .tap-menu-close-btn{position:absolute;width:fit-content;top:-1.75rem;right:-1rem;font-size:clamp(.8rem,3vw,1rem);padding:.25rem .5rem;margin:.25rem}#turn-timer{position:fixed;bottom:50%;left:50%;transform:translate(-50%,50%);width:clamp(30px,10vw,50px);height:clamp(30px,10vw,50px);border-radius:50%;border:3px solid var(--primary-color);display:none;justify-content:center;align-items:center;z-index:4000;background:#00000080;box-shadow:0 0 10px #553366b3}#turn-timer.active{display:flex;animation:pulse 1.5s infinite ease-in-out}#turn-timer:after{content:"";width:70%;height:70%;border-radius:50%;background:var(--primary-color);opacity:.7;animation:innerPulse 1.5s infinite ease-in-out}#up,#down{background-color:var(--primary-color);border-color:var(--primary-highlight)}#main-menu p{font-size:clamp(10px,2.5vw,12px);max-width:90%;margin:1rem auto;line-height:1.25em}#main-menu a{color:#fff}#start-button{font-family:"Press Start 2P"}#splash-screen{padding:clamp(15px,5vw,30px) clamp(25px,8vw,50px);background-color:#000;color:#fff;border-radius:8px;font-size:clamp(16px,5vw,24px);text-align:center;box-shadow:0 4px 8px #0000001a;z-index:4000;pointer-events:none;max-width:100vw}#splash-text{color:#fff;max-width:clamp(280px,90%,600px);font-size:2rem;text-align:center;opacity:0;transition:opacity .5s ease-in-out;transition-delay:.3s;margin:0 auto}#splash-text p{margin-bottom:.5em}#fireCanvas{image-rendering:pixelated;width:100%;max-width:640px;aspect-ratio:3/2;height:auto;pointer-events:none;margin-bottom:2em}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #553366b3}70%{transform:scale(1);box-shadow:0 0 0 10px #5360}to{transform:scale(.95);box-shadow:0 0 #5360}}@keyframes innerPulse{0%{transform:scale(.9);opacity:.7}50%{transform:scale(1.1);opacity:.9}to{transform:scale(.9);opacity:.7}}@media (max-width: 480px){#controls{gap:.25rem}.overlay-screen h1,.overlay-screen h2{font-size:clamp(1rem,4vw,1.5rem)}}@media (min-width: 1200px){:root{--button-size: 60px}body,html{font-size:16px}#main-container{margin-top:2vh;margin-bottom:2vh}}@media screen and (max-resolution: 150dpi){:root{--button-size: clamp(28px, 12vw, 40px)}#controls{gap:.1rem;padding:.2rem;width:90%}.control-btn{min-width:28px;min-height:28px}}@media (max-width: 320px),screen and (max-resolution: 96dpi){:root{--button-size: clamp(25px, 10vw, 35px)}#controls{grid-template-areas:"up up . . ." "left . right action inventoryButton" "down down . . .";gap:.1rem;padding:.15rem;width:85%}.control-btn{width:min(30px,10vw);height:min(30px,10vw);min-width:25px;min-height:25px;border-width:1px}#up,#down{grid-column:span 3;width:100%}}@container (max-width: 400px){.control-btn{width:clamp(30px,15vw,50px);height:clamp(30px,15vw,50px)}}.player-ui{position:absolute;top:10px;left:10px;background:#000000b3;border:2px solid #555;border-radius:5px;z-index:100;overflow:hidden;display:flex;flex-direction:column;padding:4px;gap:4px}.stat-section{display:flex;flex-direction:column;gap:4px;margin-top:.25rem;z-index:5}.stat-header{display:flex;justify-content:space-between;align-items:center}.stat-label{font-size:10px;font-weight:700;color:#ef4444}.light-label{color:#eab308}.stat-value{font-size:10px;color:#fecaca}.light-value{color:#fef3c7}.stat-bar{width:100%;height:10px;background-color:#374151;border:1px solid #4b5563;overflow:hidden}.stat-fill{height:100%;transition:width .3s ease}.health-fill{background:linear-gradient(to right,#dc2626,#ef4444)}.light-fill{background:linear-gradient(to right,#ca8a04,#eab308)}.low-health-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle,#dc262666,#7f1d1db3);animation:lowHealthPulse .8s infinite;pointer-events:none;border:2px solid #dc2626;box-shadow:0 0 10px #dc262680}@keyframes lowHealthPulse{0%{opacity:.3;transform:scale(1);box-shadow:0 0 10px #dc262680}50%{opacity:.8;transform:scale(1.02);box-shadow:0 0 20px #dc2626cc}to{opacity:.3;transform:scale(1);box-shadow:0 0 10px #dc262680}}@keyframes newMessage{0%{opacity:0}to{opacity:1}}@keyframes changeColor{0%{color:#00fff5}to{color:#a0a0a0}}.option-modal{position:absolute;top:40vw;left:0;background:#000c;border:2px solid rgb(85,51,102);border-radius:5px;padding:1rem;margin:2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:5000}.option-modal h3{font-size:clamp(1rem,4vw,1.5rem);margin-bottom:.5rem;color:#fff}.option-modal button{background:#333;border:1px solid #555;color:#fff;padding:clamp(.25rem,2vw,.5rem);margin:.25rem 0}.option-modal .option-menu-close-btn{position:absolute;top:-1.75rem;right:-1rem;font-size:clamp(.8rem,3vw,1rem);padding:.25rem .5rem;background:#333;color:#fff;border:1px solid #555;cursor:pointer}.option-modal li{margin-bottom:1em}
