:root{--bg-color: #041122;--primary-color: #259073;--text-color: #e6f99d;--panel-bg: rgba(4, 17, 34, .95);--dock-bg: rgba(37, 144, 115, .2);--border-color: rgba(37, 144, 115, .5)}body{margin:0;padding:0;overflow:hidden;background-color:var(--bg-color);color:var(--text-color);font-family:Inter,system-ui,sans-serif;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#app{width:100vw;height:100vh}.app-container{display:flex;justify-content:center;align-items:center;width:100%;height:100%;position:relative;overflow:hidden}#mainCanvas{max-width:100%;max-height:100%;box-shadow:0 0 50px #00000080}.floating-dock{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:var(--dock-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:1px solid var(--border-color);padding:10px 20px;display:flex;gap:20px;z-index:100;transition:all .3s ease}.dock-content{display:flex;gap:15px;align-items:center}.dock-btn{background:transparent;border:none;color:var(--text-color);cursor:pointer;padding:10px;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center}.dock-btn:hover{background:#ffffff1a;transform:scale(1.1)}.dock-btn:active{transform:scale(.95)}.settings-panel{position:fixed;top:0;right:-320px;width:300px;height:100vh;background:var(--panel-bg);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-left:1px solid var(--border-color);padding:20px;transition:right .3s cubic-bezier(.4,0,.2,1);z-index:90;overflow-y:auto;box-shadow:-5px 0 30px #00000080}.settings-panel.active{right:0}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;border-bottom:1px solid var(--border-color);padding-bottom:10px}.panel-header h2{margin:0;font-size:1.2rem;letter-spacing:2px;text-transform:uppercase;color:var(--primary-color)}.close-btn{background:none;border:none;color:var(--text-color);font-size:1.5rem;cursor:pointer}.control-group{margin-bottom:20px}.control-group label{display:block;margin-bottom:8px;font-size:.8rem;text-transform:uppercase;letter-spacing:1px;opacity:.8}.control-group select,.control-group input[type=number],.control-group input[type=text]{width:100%;padding:10px;background:#0000004d;border:1px solid var(--border-color);color:inherit;border-radius:4px}.control-group select:focus,.control-group input:focus{outline:none;border-color:var(--primary-color)}
