*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{min-height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000;color:#fff;overflow:hidden}#app{width:100vw;height:100vh;position:relative}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}button{background:none;border:none;padding:0;cursor:pointer}ul,ol{list-style:none}a{color:inherit;text-decoration:none}.sidebar{position:fixed;top:0;width:220px;height:100vh;background:#111;color:#fff;box-shadow:none;z-index:10;transition:.3s cubic-bezier(.4,2,.6,1);display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.sidebar--left{left:-220px;border-right:1px solid #222;transition-property:left,box-shadow}.sidebar--left.open{left:0;box-shadow:20px 0 10px #00000026}.sidebar--right{right:-220px;transition-property:right,box-shadow}.sidebar--right.open{right:0;box-shadow:-20px 0 10px #00000026}.sidebar-header{padding:16px;font-weight:400;letter-spacing:1px;font-size:18px;text-transform:uppercase}.sidebar-content{flex:1;overflow-y:auto}.sidebar-item{padding:12px;cursor:pointer;background:none;color:#fff;border-left:4px solid transparent;font-weight:400;font-size:11px;display:flex;align-items:center;gap:10px;transition:background .2s,color .2s}.sidebar-item:hover{background:#ffffff0d}.sidebar-item.selected{background:#4c394d;font-weight:500;border-left-color:#111}.sidebar-item-image{width:32px;height:32px;object-fit:cover;border-radius:4px;border:1px solid #333;background:#222}.sidebar-toggle{position:fixed;top:0;z-index:20;width:32px;height:32px;border:none;background:#111;color:#fff;cursor:pointer;outline:none;font-size:22px;display:flex;align-items:center;justify-content:center;transition:.3s cubic-bezier(.4,2,.6,1)}.sidebar-toggle--left{left:0;border-radius:0 6px 6px 0;box-shadow:-20px 0 15px #0000001a;transition-property:left}.sidebar-toggle--left.open{left:220px}.sidebar-toggle--right{right:0;border-radius:6px 0 0 6px;box-shadow:20px 0 15px #0000001a;transition-property:right}.sidebar-toggle--right.open{right:220px}.tutorial-overlay-center{position:fixed;top:40px;left:50%;transform:translate(-50%);z-index:100;pointer-events:none;transition:left .8s cubic-bezier(.4,2,.6,1),transform .8s cubic-bezier(.4,2,.6,1),right .8s cubic-bezier(.4,2,.6,1)}.tutorial-overlay-center.hidden{left:auto;right:0;transform:translate(100%);pointer-events:none}.tutorial-toggle-button{position:fixed;top:40px;right:0;z-index:101;width:32px;height:32px;border:none;background:#111;color:#baa2f2e6;cursor:pointer;outline:none;font-size:22px;display:flex;align-items:center;justify-content:center;transition:.3s cubic-bezier(.4,2,.6,1);border-radius:6px 0 0 6px;box-shadow:20px 0 15px #0000001a;pointer-events:auto}.tutorial-toggle-button.hidden{display:none}.tutorial-toggle-button:hover{background:#222}.tutorial-overlay-content{display:flex;gap:20px;border-radius:8px;padding:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;flex-wrap:wrap;justify-content:center}.tutorial-card{display:flex;flex-direction:column;align-items:center;min-width:240px}@media (max-width: 600px){.tutorial-overlay-content{flex-direction:column;align-items:center}.tutorial-card{width:100%}}.tutorial-close-button{position:absolute;top:8px;right:8px;width:24px;height:24px;background:transparent;border-radius:4px;color:#baa2f2e6;font-size:35px;font-weight:100;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:101;padding:0;pointer-events:auto}.tutorial-close-button:hover{background:#ffffff1a;border-color:#fff;color:#fff}.tutorial-close-button:active{background:#fff3;transform:scale(.95)}.tutorial-scroll-instruction{padding:20px;font-size:14px;font-variant:small-caps;color:#fff;opacity:.8;font-weight:400;white-space:pre-line;text-align:center}.tutorial-mouse-animation{display:flex;justify-content:center;align-items:center;padding:50px 0;height:60px;position:relative;gap:40px}.tutorial-mouse-body{animation:mouseMove 5s ease-in-out infinite}@keyframes mouseMove{0%,to{transform:translate(-30px)}10%{transform:translate(-30px)}50%{transform:translate(30px)}90%{transform:translate(-30px)}}.tutorial-mouse-arrow{font-size:20px;font-weight:40;color:#ffffff4d;transition:all .3s ease;width:auto;text-align:center;line-height:1;display:flex;align-items:center;justify-content:center;position:relative}.tutorial-mouse-arrow--left{animation:arrowLeftPulse 5s ease-in-out infinite}.tutorial-mouse-arrow--right{animation:arrowRightPulse 5s ease-in-out infinite}@keyframes arrowLeftPulse{0%,10%,50%{color:transparent;opacity:0}51%{color:#ffffff80;text-shadow:0 0 4px rgba(255,255,255,.4);opacity:.5}55%,85%{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.8);opacity:1}89%{color:#ffffff80;text-shadow:0 0 4px rgba(255,255,255,.4);opacity:.5}90.1%,to{color:transparent;opacity:0}}@keyframes arrowRightPulse{0%,10%{color:transparent;opacity:0}11%{color:#ffffff80;text-shadow:0 0 4px rgba(255,255,255,.4);opacity:.5}15%,45%{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.8);opacity:1}49%{color:#ffffff80;text-shadow:0 0 4px rgba(255,255,255,.4);opacity:.5}50.1%,90%,to{color:transparent;opacity:0}}.tutorial-mouse-body{width:40px;height:60px;background:transparent;border:1.4px solid rgba(255,255,255,.9);border-radius:20px 20px 8px 8px;position:relative}.tutorial-mouse-button{position:absolute;top:0;height:28px;background:transparent;transition:all .2s ease}.tutorial-mouse-button--left{left:0;width:19px;border-radius:18px 0 0;border-right:.7px solid rgba(255,255,255,.9)}.tutorial-mouse-button--right{right:0;width:19px;border-radius:0 18px 0 0;border-left:.7px solid rgba(255,255,255,.9)}.tutorial-mouse-button--pressed{animation:buttonPulse 5s ease-in-out infinite}@keyframes buttonPulse{0%{background:transparent;box-shadow:none;transform:translateY(0)}5%{background:#96969699;box-shadow:0 0 8px #fff9,inset 0 0 4px #fff6;transform:translateY(1px)}88%{background:#96969699;box-shadow:0 0 8px #fff9,inset 0 0 4px #fff6;transform:translateY(1px)}92%{background:transparent;box-shadow:none;transform:translateY(0)}97%{background:#96969699;box-shadow:0 0 8px #fff9,inset 0 0 4px #fff6;transform:translateY(1px)}to{background:transparent;box-shadow:none;transform:translateY(0)}}.tutorial-mouse-wheel{position:absolute;top:30px;left:50%;transform:translate(-50%);width:4px;height:8px;background:transparent;border-left:.7px solid rgba(255,255,255,.9);border-right:.7px solid rgba(255,255,255,.9)}.tutorial-keys{padding:12px}.tutorial-keys__group{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:20px;width:100%;max-width:150px;margin:0 auto 14px;justify-items:center}.tutorial-key-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.tutorial-key{position:relative;width:30px;height:30px;border:.5px solid white;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;animation:keyPulse 2s infinite}.tutorial-key--q{animation-delay:0s}.tutorial-key--w{animation-delay:.5s}.tutorial-key--e{animation-delay:1s}.tutorial-key--a{animation-delay:1.5s}.tutorial-key--s{animation-delay:2s}.tutorial-key--d{animation-delay:2.5s}.tutorial-key-arrow{position:relative;text-align:center;font-size:14px;font-weight:40;color:#ffffffb3;pointer-events:none;width:auto;line-height:1;margin-top:2px}.tutorial-label{position:relative;text-align:center;font-size:9px;color:#fff;opacity:.9;pointer-events:none;width:auto}@keyframes keyPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}}.controls-content{padding:12px}.control-item{margin-bottom:20px}.control-label{display:block;font-size:11px;color:#fff;opacity:.9;margin-bottom:8px;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.control-slider-wrapper{display:flex;align-items:center;gap:12px}.control-slider{flex:1;height:4px;background:#fff3;border-radius:2px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.control-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer;transition:background .2s}.control-slider::-webkit-slider-thumb:hover{background:#f0f0f0}.control-slider::-moz-range-thumb{width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer;border:none;transition:background .2s}.control-slider::-moz-range-thumb:hover{background:#f0f0f0}.control-value{min-width:60px;font-size:10px;color:#fff;opacity:.8;text-align:right;font-family:Courier New,monospace}
