*{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif}html,body{background-color:#000;overflow:hidden}canvas#three{position:fixed;top:0;left:0;outline:none}#CC-attribution{position:fixed;top:0;left:0;padding:20px;z-index:1;color:#b3b3b3;width:280px;line-height:1.5;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s ease}#CC-attribution a{color:#2bffe1}#CC-attribution.visible{opacity:1!important;visibility:visible!important}#progress{width:100%;height:2px;background:#222;position:fixed;top:50%;left:0;transition:all .3s ease}#bar{width:0;height:100%;background:#fff}#camera-controls{position:fixed;top:20px;right:20px;z-index:100;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s ease}#camera-controls.visible{opacity:1!important;visibility:visible!important}.camera-mode-selector{display:flex;background:#000c;border-radius:12px;padding:8px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 20px #0000004d;gap:6px}.mode-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;border:none;color:#fff9;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .3s ease;min-width:60px;position:relative}.mode-btn:hover{color:#fffc;background:#ffffff1a}.mode-btn.active{color:#fff;background:#ffffff26;box-shadow:0 2px 8px #ffffff1a}.mode-btn.active:before{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:20px;height:2px;background:#4caf50;border-radius:1px}.mode-btn .mode-icon{font-size:14px;margin-bottom:2px;display:block}.mode-btn .mode-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}@keyframes modeTransition{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}#mobile-controls{position:fixed;bottom:20px;right:20px;z-index:100;display:flex;flex-direction:row;align-items:flex-end;justify-content:flex-end;gap:20px;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s ease}#mobile-controls.visible{opacity:1!important;visibility:visible!important}.joystick-container{position:relative;width:120px;height:120px}.joystick-base{width:120px;height:120px;border-radius:50%;background:#0000004d;border:3px solid rgba(255,255,255,.4);position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d}.joystick-knob{width:50px;height:50px;border-radius:50%;background:#fffc;border:2px solid rgba(255,255,255,.9);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:all .1s ease;box-shadow:0 2px 10px #0000004d;cursor:pointer;touch-action:none}.joystick-knob.active{background:#ffffffe6;box-shadow:0 0 15px #ffffff80}#action-controls{display:flex;flex-direction:column;gap:8px;align-items:center}.fallback-controls{display:none}#movement-pad{display:flex;flex-direction:column;align-items:center;gap:8px}.control-row{display:flex;gap:8px}.control-btn{width:60px;height:60px;background:#000000b3;border:2px solid rgba(255,255,255,.3);color:#fff;border-radius:12px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-user-select:none;user-select:none;touch-action:manipulation}.control-btn:hover{background:#ffffff1a;border-color:#ffffff80}.control-btn:active,.control-btn.pressed{background:#ffffff14;border-color:#4ffff0cc;transform:scale(.95);box-shadow:0 0 15px #ffffff4d}.control-btn.space-btn,.control-btn.sprint-btn{width:100%;font-size:14px}@media (max-width: 768px){#camera-controls{top:10px;right:10px}.camera-mode-selector{padding:3px}.mode-btn{padding:10px 12px;min-width:50px}.mode-btn .mode-icon{font-size:16px}.mode-btn .mode-label{font-size:10px}#mobile-controls{bottom:10px;left:10px;gap:15px}.joystick-container,.joystick-base{width:100px;height:100px}.joystick-knob{width:40px;height:40px}.control-btn{width:50px;height:50px;font-size:16px}.control-btn.space-btn,.control-btn.sprint-btn{width:100%;font-size:12px}}@media (max-width: 480px){#CC-attribution{width:210px;padding:15px;font-size:12px}.control-btn{width:45px;height:45px;font-size:14px}.control-btn.space-btn,.control-btn.sprint-btn{width:100%}}
