html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.webgl{position:fixed;top:0;left:0;outline:none}.hidden{display:none}.welcome-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0f0f3d,#1a1a4e,#2d2d7a 60%,#4a4aaa);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:1;transition:opacity .8s ease-out}.welcome-screen.fade-out{opacity:0;pointer-events:none}.welcome-content{text-align:center;color:#fff;max-width:600px;padding:40px;animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.welcome-title{font-size:3rem;font-weight:700;margin-bottom:10px;background:linear-gradient(135deg,#5a7fff,#8fa4ff,#c4d0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-1px}.welcome-subtitle{font-size:1.2rem;color:#b8c5ff;margin-bottom:40px;font-weight:300}.controls-info{background:#5a7fff14;border:1px solid rgba(90,127,255,.3);border-radius:12px;padding:30px;margin-bottom:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.controls-info h2{font-size:1.5rem;margin-bottom:20px;color:#fff;font-weight:600}.control-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(90,127,255,.15)}.control-item:last-child{border-bottom:none}.control-key{font-family:Courier New,monospace;background:#5a7fff40;color:#a8c0ff;padding:6px 12px;border-radius:6px;font-size:.9rem;font-weight:600;border:1px solid rgba(90,127,255,.4)}.control-desc{color:#d4dfff;font-size:.95rem}.start-button{background:linear-gradient(135deg,#5a7fff,#7b9fff,#a0b8ff);color:#fff;border:none;padding:16px 48px;font-size:1.1rem;font-weight:600;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #5a7fff80;text-transform:uppercase;letter-spacing:1px}.start-button:hover{transform:translateY(-2px);box-shadow:0 6px 25px #5a7fffb3}.start-button:active{transform:translateY(0)}@media (max-width: 768px){.welcome-title{font-size:2rem}.welcome-subtitle{font-size:1rem}.welcome-content,.controls-info{padding:20px}.control-item{flex-direction:column;gap:8px;text-align:center}}.info-button{position:fixed;top:20px;right:20px;width:50px;height:50px;border-radius:50%;background:#5a7fffd9;border:2px solid rgba(168,192,255,.4);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #5a7fff80}.info-button:hover{transform:scale(1.1);background:#5a7fff;box-shadow:0 6px 25px #5a7fffb3}.info-button:active{transform:scale(.95)}.info-button.hidden{opacity:0;pointer-events:none}.control-button{position:fixed;top:20px;width:50px;height:50px;border-radius:50%;background:#5a7fffd9;border:2px solid rgba(168,192,255,.4);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #5a7fff80}.control-button:hover{transform:scale(1.1);background:#5a7fff;box-shadow:0 6px 25px #5a7fffb3}.control-button:active{transform:scale(.95)}.control-button.hidden{opacity:0;pointer-events:none}#mute-button{right:80px}#pause-movement-button{right:140px}.mobile-only{display:none}.mouse-hint{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#5a7fffe6;color:#fff;padding:12px 24px;border-radius:30px;font-size:.95rem;border:2px solid rgba(168,192,255,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #5a7fff80;z-index:50;animation:fadeInBounce .5s ease-out;pointer-events:none}.mouse-hint strong{font-weight:700;color:#fff;background:#fff3;padding:2px 8px;border-radius:4px}.mouse-hint.hidden{opacity:0;pointer-events:none}@keyframes fadeInBounce{0%{opacity:0;transform:translate(-50%) translateY(20px)}60%{opacity:1;transform:translate(-50%) translateY(-5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.controls-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f0f3dd9;display:flex;align-items:center;justify-content:center;z-index:200;opacity:1;transition:opacity .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.controls-overlay.hidden{opacity:0;pointer-events:none}.controls-panel{background:#5a7fff1f;border:1px solid rgba(90,127,255,.3);border-radius:16px;padding:30px;max-width:500px;width:90%;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fff;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.controls-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(90,127,255,.3)}.controls-header h3{font-size:1.8rem;font-weight:600;margin:0}.close-button{background:none;border:none;color:#fff;font-size:2.5rem;cursor:pointer;line-height:1;padding:0;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-button:hover{background:#5a7fff33;transform:rotate(90deg)}@media (max-width: 768px){.info-button{top:15px;right:15px;width:45px;height:45px}.control-button{top:15px;width:45px;height:45px}#mute-button{right:70px}#pause-movement-button{right:125px}.mobile-only{display:flex}.controls-panel{padding:25px 20px}.controls-header h3{font-size:1.5rem}.controls-overlay .control-item{flex-direction:row;justify-content:space-between}.webgl{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}*{-webkit-tap-highlight-color:transparent}}
