*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;font-family:Arial,sans-serif;background:#000;color:#fff}#game-canvas{display:block;background:#000;cursor:crosshair}#instructions{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.instructions-content{background:#141e28f2;padding:2rem;border-radius:10px;border:2px solid #4a90e2;max-width:500px;text-align:center;box-shadow:0 10px 30px #00000080}.instructions-content h2{color:#4a90e2;margin-bottom:1rem;font-size:1.8rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}.instructions-content ul{list-style:none;margin:1rem 0;text-align:left}.instructions-content li{margin:.5rem 0;padding:.25rem 0}.instructions-content strong{color:#7ab8f0}.instructions-content p:last-child{margin-top:1.5rem;color:#aaa;font-style:italic}#error{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:1001}.error-content{background:#3c1414f2;padding:2rem;border-radius:10px;border:2px solid #e24a4a;max-width:500px;text-align:center;box-shadow:0 10px 30px #00000080}.error-content h2{color:#e24a4a;margin-bottom:1rem;font-size:1.8rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.loading{animation:pulse 2s infinite}.hidden{display:none!important}.fullscreen{position:fixed;top:0;left:0;width:100%;height:100%}@media(max-width:768px){.instructions-content,.error-content{margin:1rem;padding:1.5rem;max-width:calc(100% - 2rem)}.instructions-content h2,.error-content h2{font-size:1.5rem}}.lil-gui{--background-color: rgba(10, 15, 25, .95);--text-color: #fff;--title-background-color: rgba(74, 144, 226, .2);--title-text-color: #4a90e2;--widget-color: rgba(255, 255, 255, .1);--hover-color: rgba(74, 144, 226, .3);--focus-color: rgba(74, 144, 226, .6);--number-color: #7ab8f0;--string-color: #a8dadc;border-radius:8px;border:1px solid rgba(74,144,226,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0009;pointer-events:all;-webkit-user-select:none;user-select:none}.lil-gui .controller{border-bottom:1px solid rgba(74,144,226,.1)}.lil-gui .controller:hover{background:#4a90e21a}.lil-gui .title{color:#4a90e2;background:#4a90e233}.lil-gui button{background:#4a90e233;border:1px solid rgba(74,144,226,.4);color:#fff;transition:all .2s ease}.lil-gui button:hover{background:#4a90e266;border-color:#4a90e299}.keyboard-hint{position:fixed;bottom:20px;right:20px;background:#0a0f19e6;padding:8px 12px;border-radius:6px;border:1px solid rgba(74,144,226,.3);color:#bbb;font-size:12px;font-family:monospace;z-index:999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none}#game-canvas,.instructions-content,.error-content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@font-face{font-family:FFComma;src:url(/assets/FFCommaTrial-Regular-BYw6BOxt.ttf) format("truetype");font-weight:400;font-style:normal}.skilift-keycap-container{position:fixed;left:50%;top:60%;transform:translate(-50%);z-index:500;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:1;transition:opacity .4s ease-out}.skilift-keycap-container.hidden{display:none}.skilift-keycap-container.fade-in{animation:skilift-fade-in .3s ease-out forwards}.skilift-keycap-container.fade-out{animation:skilift-fade-out .4s ease-out forwards}@keyframes skilift-fade-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes skilift-fade-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-10px)}}.skilift-keycap{display:flex;align-items:center;justify-content:center;position:relative;width:48px;height:44px;padding:0 0 4px;border:0;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:22px;font-weight:600;color:#1e1e1e;background:linear-gradient(-225deg,#e9ecef,#fff);box-shadow:inset 0 -2px #cdd2dc,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a40;-webkit-user-select:none;user-select:none;cursor:default;transition:transform .05s ease-out,box-shadow .05s ease-out}.skilift-keycap.pressed{transform:translate3d(0,2px,0);box-shadow:inset 0 -2px #c3c8d2,inset 0 0 1px 1px #fff,0 1px 1px #1e235a59}.skilift-detach-container{position:fixed;left:50%;top:55%;transform:translate(-50%);z-index:500;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:1;transition:opacity .4s ease-out}.skilift-detach-container.hidden{display:none}.skilift-detach-container.fade-in{animation:skilift-fade-in .3s ease-out forwards}.skilift-detach-container.fade-out{animation:skilift-fade-out .4s ease-out forwards}.skilift-spacebar{display:flex;align-items:center;justify-content:center;position:relative;min-width:180px;height:44px;padding:0 24px 4px;border:0;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;font-weight:600;color:#1e1e1e;white-space:nowrap;background:linear-gradient(-225deg,#e9ecef,#fff);box-shadow:inset 0 -2px #cdd2dc,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a40;-webkit-user-select:none;user-select:none;cursor:default;transition:transform .05s ease-out,box-shadow .05s ease-out}.skilift-spacebar.pressed{transform:translate3d(0,2px,0);box-shadow:inset 0 -2px #c3c8d2,inset 0 0 1px 1px #fff,0 1px 1px #1e235a59}.mobile-joystick-container{position:fixed;left:30px;bottom:40px;z-index:600;pointer-events:none;-webkit-user-select:none;user-select:none;touch-action:none}.mobile-joystick-container.hidden{display:none}.mobile-joystick-base{width:120px;height:120px;border-radius:50%;background:#ffffff26;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;pointer-events:auto;touch-action:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-joystick-thumb{width:50px;height:50px;border-radius:50%;background:linear-gradient(-225deg,#e9ecef,#fff);box-shadow:inset 0 -2px #cdd2dc,inset 0 0 1px 1px #fff,0 2px 4px #0000004d;pointer-events:none;transition:transform .05s ease-out}.mobile-buttons-container{position:fixed;z-index:600;pointer-events:none;-webkit-user-select:none;user-select:none}.mobile-buttons-container.hidden{display:none}.mobile-button{display:flex;align-items:center;justify-content:center;position:fixed;min-width:60px;height:50px;padding:0 16px 4px;border:0;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;font-weight:600;color:#1e1e1e;white-space:nowrap;background:linear-gradient(-225deg,#e9ecef,#fff);box-shadow:inset 0 -2px #cdd2dc,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a40;pointer-events:auto;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .05s ease-out,box-shadow .05s ease-out}.mobile-button.hidden{display:none}.mobile-button.pressed{transform:translate3d(0,2px,0);box-shadow:inset 0 -2px #c3c8d2,inset 0 0 1px 1px #fff,0 1px 1px #1e235a59}.mobile-left-btn{left:20px;bottom:70px;min-width:60px;font-size:20px}.mobile-right-btn{left:100px;bottom:70px;min-width:60px;font-size:20px}.mobile-forward-btn{right:20px;bottom:110px;min-width:60px;font-size:20px}.mobile-backward-btn{right:20px;bottom:40px;min-width:60px;font-size:20px}.mobile-interact-btn{right:120px;bottom:110px}.mobile-spawn-sled-btn{right:120px;bottom:40px}.mobile-speedup-btn{left:60px;bottom:150px;background:linear-gradient(-225deg,#ffdc96,#fff0c8)}@media(max-width:768px)and (pointer:coarse){.lil-gui,.keyboard-hint,.skilift-keycap-container,.skilift-detach-container,.sled-hint-panel,.sled-mount-hint{display:none!important}}.sled-hint-panel{position:fixed;bottom:20px;right:20px;z-index:400;pointer-events:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#00000080;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sled-hint-key{display:flex;align-items:center;justify-content:center;width:28px;height:26px;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:600;color:#1e1e1e;background:linear-gradient(-225deg,#e9ecef,#fff);box-shadow:inset 0 -2px #cdd2dc,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a40}.sled-hint-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;color:#ffffffe6}.sled-mount-hint{position:fixed;z-index:500;pointer-events:none;-webkit-user-select:none;user-select:none;transform:translate(-50%,-50%);transition:opacity .3s ease-out}.sled-mount-hint.hidden{display:none}.sled-mount-hint.fade-in{animation:sled-mount-fade-in .3s ease-out forwards}.sled-mount-hint.fade-out{animation:sled-mount-fade-out .3s ease-out forwards}@keyframes sled-mount-fade-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes sled-mount-fade-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.sled-mount-keycap{display:flex;align-items:center;justify-content:center;width:64px;height:58px;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:32px;font-weight:600;color:#1e1e1e;background:linear-gradient(-225deg,#e9ecef,#fff);box-shadow:inset 0 -2px #cdd2dc,inset 0 0 1px 1px #fff,0 2px 4px 2px #0000004d}
