html{overflow:hidden}html,body{height:100dvh;width:100dvw}body{margin:0;background-color:#000;color:#fff;font-family:Monospace;font-size:13px;line-height:24px;overscroll-behavior:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}#loginButton{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}#blocker,#blocker:before,#gameHUD{position:absolute;width:100%;height:100%;top:0;left:0}#blocker{z-index:1;background-color:#0000004d;pointer-events:none}#blocker:before{content:"";background-color:#000;background-image:url(/nullpoint-favicon.svg);background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.6;mix-blend-mode:difference;z-index:-1}#canvas{position:fixed;top:0;left:0;z-index:-2;background:#000}#compass{position:fixed;top:10px;left:10px;width:100px;height:100px;background-color:#00000080;border-radius:50%;display:none;align-items:center;justify-content:center;color:#fff;font-size:18px;text-align:center;z-index:1000;transform-origin:center;will-change:transform}.direction{position:absolute;font-weight:700}.cardinal{font-size:20px}.intermediate{font-size:10px;color:#fffc}#north{top:10px}#east{right:10px}#south{bottom:10px}#west{left:10px}#northeast{top:15px;right:20px}#southeast{bottom:15px;right:20px}#southwest{bottom:15px;left:20px}#northwest{top:15px;left:20px}.arrow{color:red;font-size:19px;position:absolute;top:-20px;margin-top:2px}.tick{position:absolute;width:2px;height:8px;background-color:#fff;left:50%;top:50%;transform:translate(-50%,50%)}#north .tick{top:-13px;display:none}#south .tick{top:20px}#east .tick{left:15px;transform:translateY(-50%) rotate(90deg)}#west .tick{left:-6px;transform:translateY(-50%) rotate(90deg)}#worldTimeElement{display:none;position:fixed;bottom:2%;left:2%;font-size:13px;color:#fff;background-color:#00000080;padding:2px 5px;border-radius:8px;z-index:9999}#crosshair{position:absolute;top:50%;left:50%;width:2%;transform:translate(-50%,-50%);display:none}.hidden{display:none!important}@keyframes recoil{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(.8)}to{transform:translate(-50%,-50%) scale(1)}}#crosshair.shooting{animation:recoil .2s ease-out}#crosshair.blocked{filter:brightness(.7) contrast(1.5) drop-shadow(0 0 3px red) drop-shadow(0 0 8px rgba(255,0,0,.5))}#ammo_container{position:absolute;left:50%;transform:translate(-50%);bottom:2%;font-size:3em;white-space:nowrap;background-color:#00000080;padding:2px 5px;border-radius:8px}#characterInfoDisplay{display:none;position:absolute;top:70px;right:10px;background-color:#00000080;padding:5px 10px;border-radius:5px;font-size:14px}#health_container{position:absolute;border-radius:8px;bottom:2%;right:2%;width:18%;height:2%;border:1px solid #ffffff}#health_progress{position:absolute;border-radius:8px;background-color:#4caf5080;width:100%;height:100%;transition:width 1.5s ease,background-color .3s ease}#health_progress.orange{background-color:#ffa50080}#health_progress.blinking-red{background-color:#ff000080;animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}25%,75%{opacity:.5}}#performanceStats{display:none;position:fixed;display:flex;flex-direction:column;bottom:70px;right:10px;gap:10px}#performanceStats.gl{bottom:120px!important;right:280px!important}#performanceStats div{visibility:visible!important;position:relative!important;top:unset!important;left:unset!important;cursor:pointer!important;opacity:.9!important;z-index:10000!important}::-webkit-scrollbar{width:10px;background-color:#0003}::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:5px}::-webkit-scrollbar-thumb:hover{background-color:#ffffff80}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) rgba(0,0,0,.2)}#loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;display:flex;justify-content:center;align-items:center;z-index:9999}.loading-container{text-align:center}.spinner{width:50px;height:50px;border:3px solid #333;border-top:3px solid #fff;border-radius:50%;margin:0 auto 20px;animation:spin 1s linear infinite}.progress-container{width:250px;height:6px;background:#333;border-radius:3px;margin:0 auto 10px;overflow:hidden}#loading-progress-bar{width:0;height:100%;background:#fff;transition:width .3s ease-out}#loading-progress-text{color:#fff;font-size:18px;font-weight:700;margin-bottom:10px}#loading-message{color:#999;font-size:14px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#IngameLogo{position:absolute;top:2%;right:2%;white-space:nowrap;font-size:18px;font-style:italic;color:#fff}.game-logo{z-index:1000;opacity:.6;transition:opacity .3s ease;display:inline-block;mix-blend-mode:difference}.game-logo img{vertical-align:middle;width:50px;height:50px}.game-logo:hover{opacity:1}#deathMessage{color:#90ee90;padding:20px}#instructions{width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;font-size:14px;pointer-events:none}#splashScreenTitle{font-size:36px;padding:20dvh 0 20px;line-height:1.2}.menu-buttons{display:flex;flex-direction:column;justify-content:center;gap:20px;margin:20px}.menu-button{outline:none;background:#0006;border:1px solid rgba(255,255,255,.1);color:#fff;padding:10px 20px;cursor:pointer;transition:all .3s;border-radius:8px;pointer-events:auto}.menu-button:focus{outline:1px solid rgba(255,255,255,.3)}.menu-button.active{background:#ffffff1a;border-color:#ffffff4d}.menu-button.hidden{display:none}.tab-content{display:none;pointer-events:auto}.tab-content.active{display:block!important}#keys{text-align:left}#keysList{max-height:30dvh;overflow-y:auto}#keys,.telemetry-stats{padding:20px;background:#0006;border-radius:8px}.telemetry-stats{display:flex;flex-direction:column;gap:10px}.settings-container{max-width:500px;margin:0 auto;background:#0006;border-radius:8px;padding:20px}.setting-item{margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:10px}.setting-item label{flex:1;text-align:left}.setting-item input[type=range]{flex:1;background:#ffffff1a;height:6px;-webkit-appearance:none;border-radius:3px;outline:none}.setting-item input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;cursor:pointer}.setting-actions{margin-top:30px;text-align:center}#sensitivityValue{min-width:50px;display:inline-block}.setting-item input[type=range]:focus{outline:2px solid rgba(255,255,255,.8);box-shadow:0 0 8px #ffffff80}.setting-item input[type=range]:focus::-webkit-slider-thumb{background:#fff;box-shadow:0 0 8px #fffc;transform:scale(1.2)}.setting-item input[type=checkbox]:focus{outline:2px solid rgba(255,255,255,.8);box-shadow:0 0 8px #ffffff80}#resetSettings:focus{outline:2px solid rgba(255,255,255,.8);background:#fff3;box-shadow:0 0 8px #ffffff80}.setting-item input[type=range],.setting-item input[type=checkbox],#resetSettings{transition:all .2s ease}@keyframes focus-pulse{0%{box-shadow:0 0 #fffc}70%{box-shadow:0 0 0 6px #fff0}to{box-shadow:0 0 #fff0}}.setting-item input[type=range]:focus,.setting-item input[type=checkbox]:focus,#resetSettings:focus{animation:focus-pulse 1.5s infinite}.save-load-container{max-width:500px;margin:0 auto;background:#0006;border-radius:8px;padding:20px}#instructions h2{text-align:center;margin-top:0;margin-bottom:20px;color:#fff}.save-input-container{display:flex;margin-bottom:20px;gap:10px}#save-name-input{flex:1;background:#0009;border:1px solid rgba(255,255,255,.1);color:#fff;padding:10px;outline:none}#save-name-input:focus{border-color:#ffffff4d}.notice-text{font-size:14px;color:#ffffffb3}.notice-text p{margin:5px 0}#saved-games-list{max-height:30dvh;overflow-y:auto}.save-item{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid rgba(255,255,255,.1)}.save-item:last-child{border-bottom:none}.save-info{flex:1}.save-name{text-align:left;font-weight:700}.save-date{font-size:12px;color:#ffffffb3}.save-actions{display:flex;gap:10px;margin-left:10px}.save-actions button{padding:5px 10px;font-size:12px}.no-saves-message{text-align:center;padding:20px;color:#ffffff80;font-style:italic}.autosave-badge{display:inline-block;background-color:#0096ff80;color:#fff;font-size:10px;padding:2px 5px;border-radius:3px;margin-right:5px;vertical-align:middle}.game-notification{position:fixed;top:20px;right:20px;background-color:#000c;color:#fff;padding:10px 15px;border-radius:5px;font-family:Arial,sans-serif;font-size:14px;z-index:1000;display:flex;align-items:center;transform:translateY(-20px);opacity:0;transition:transform .3s ease-out,opacity .3s ease-out;max-width:300px;box-shadow:0 2px 10px #0000004d;pointer-events:none}.game-notification.visible{opacity:1;transform:translateY(0)}.notification-icon{margin-right:8px;font-size:18px;font-weight:700}.notification-message{flex:1}@keyframes notification-pulse{0%{box-shadow:0 0 #fff6}70%{box-shadow:0 0 0 10px #fff0}to{box-shadow:0 0 #fff0}}.game-notification.pulse{animation:notification-pulse 1.5s infinite}dialog.modal-dialog{background:transparent;border:none;padding:0;max-width:100vw;max-height:100vh;width:100%;height:100%;z-index:10000}dialog.modal-dialog::backdrop{background-color:#000000b3}dialog.modal-dialog:modal{display:flex;align-items:center;justify-content:center}.modal-container{display:flex;position:relative;width:100%;height:100%;align-items:center;justify-content:center;opacity:1;pointer-events:none}.modal-content{background:#000000d9;border:1px solid rgba(255,255,255,.2);border-radius:8px;width:90%;max-width:500px;color:#fff;padding:20px;box-shadow:0 4px 20px #0009;animation:modal-in .3s ease forwards;pointer-events:auto}.modal-title{font-size:24px;margin-top:0;margin-bottom:15px;text-align:center}.modal-message{margin-bottom:20px;font-size:16px;line-height:1.5}.modal-buttons{display:flex;justify-content:center;gap:15px}.modal-button{outline:none;background:#0006;border:1px solid rgba(255,255,255,.1);color:#fff;padding:10px 20px;cursor:pointer;transition:all .3s;border-radius:8px;min-width:100px}.modal-button:hover{background:#ffffff26}.modal-button:focus{outline:1px solid rgba(255,255,255,.5);box-shadow:0 0 0 2px #ffffff40}.modal-button.primary{background:#4caf5066}.modal-button.danger{background:#f006}@keyframes modal-in{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content input{width:100%;padding:8px;background-color:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;margin-bottom:20px}.modal-content input:focus{outline:none;border-color:#ffffff80;box-shadow:0 0 0 2px #ffffff40}
