*{margin:0;padding:0;box-sizing:border-box}body{width:100vw;height:100vh;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#000}#app{width:100%;height:100%}canvas{display:block;width:100%;height:100%}#controls{position:fixed;top:20px;right:20px;background:#000c;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:20px;color:#fff;min-width:200px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000}#controls h2{margin:0 0 15px;font-size:18px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:10px}#controls h3{margin:0 0 10px;font-size:14px;font-weight:500;color:#ffffffb3}.control-group{margin-bottom:20px}.control-group:last-child{margin-bottom:0}.language-selector{padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.1)}.btn{width:100%;min-height:44px;padding:12px 16px;border:none;border-radius:4px;background:#ffffff1a;color:#fff;cursor:pointer;font-size:14px;transition:all .2s;position:relative;overflow:hidden}.btn:hover{background:#fff3}.btn:active{background:#ffffff4d;transform:scale(.97);box-shadow:inset 0 2px 4px #0000004d}.btn:focus-visible{outline:2px solid rgba(100,150,255,.8);outline-offset:2px}.focus-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.focus-btn{min-height:44px;padding:8px 4px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff0d;color:#fff;cursor:pointer;font-size:12px;transition:all .2s;text-align:center}.focus-btn:hover{background:#ffffff26;border-color:#fff6}.focus-btn:active{transform:scale(.97);box-shadow:inset 0 2px 4px #0000004d}.focus-btn:focus-visible{outline:2px solid rgba(100,150,255,.8);outline-offset:2px}.focus-btn.active{background:#6496ff80;border-color:#6496ffcc;font-weight:600}#datePanel{position:fixed;top:20px;left:20px;background:linear-gradient(135deg,#0f1428d9,#1e2850bf);border:2px solid rgba(100,150,255,.3);border-radius:16px;padding:20px 40px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff1a;z-index:999;min-width:200px;text-align:center;transition:all .3s ease}#datePanel:hover{border-color:#6496ff80;box-shadow:0 12px 48px #00000080,0 0 20px #6496ff33,inset 0 1px #ffffff26;transform:translateY(-2px)}#datePanel .date-label{font-size:11px;font-weight:700;letter-spacing:2px;color:#6496ffe6;text-transform:uppercase;margin-bottom:8px;text-shadow:0 0 10px rgba(100,150,255,.5)}#datePanel .date-value{display:flex;align-items:center;justify-content:center;gap:8px}#datePanel #dateDisplay{font-size:32px;font-weight:700;color:#fff;text-shadow:0 2px 10px rgba(100,150,255,.6),0 0 30px rgba(100,150,255,.3);font-variant-numeric:tabular-nums;min-width:100px}.speed-controls{display:grid;grid-template-columns:1fr 1fr;gap:5px}.speed-btn{min-height:44px;padding:12px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff0d;color:#fff;cursor:pointer;font-size:12px;transition:all .2s}.speed-btn:hover{background:#ffffff26;border-color:#fff6}.speed-btn:active{transform:scale(.97);box-shadow:inset 0 2px 4px #0000004d}.speed-btn:focus-visible{outline:2px solid rgba(100,150,255,.8);outline-offset:2px}.speed-btn.active{background:#6496ff80;border-color:#6496ffcc}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:44px;position:relative}.checkbox-label input[type=checkbox]{width:24px;height:24px;cursor:pointer;position:relative}.checkbox-label input[type=checkbox]:focus-visible{outline:2px solid rgba(100,150,255,.8);outline-offset:2px}.checkbox-label input[type=checkbox]:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px}.checkbox-label span{font-size:14px}.select-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.select-label select{flex:0 0 auto;min-height:44px;padding:10px 12px;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:14px}.select-label select:focus{outline:none;border-color:#ffffff80}.select-label select:focus-visible{outline:2px solid rgba(100,150,255,.8);outline-offset:2px}.select-label option{color:#000}.planet-label{font-size:11px;font-weight:600;letter-spacing:1px;color:#ffffffe6;background:linear-gradient(135deg,#141e32b3,#1e2d4699);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:4px 10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0000004d,inset 0 .5px #ffffff26;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.5);transition:all .3s ease}.planet-label.focused{background:linear-gradient(135deg,#6496ff66,#5078c859);border-color:#6496ff80;box-shadow:0 3px 12px #6496ff66,inset 0 .5px #fff3;color:#fff}.menu-toggle{position:fixed;top:20px;right:20px;width:50px;height:50px;background:#000c;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;z-index:1001;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s}.menu-toggle:hover{background:#000000e6;border-color:#fff6}.menu-toggle:active{transform:scale(.95)}.menu-toggle:focus-visible{outline:2px solid rgba(100,150,255,.8);outline-offset:2px}.hamburger-icon{position:relative;width:24px;height:18px;display:flex;flex-direction:column;justify-content:space-between}.hamburger-icon span{display:block;width:100%;height:2px;background:#fff;border-radius:2px;transition:all .3s}.menu-toggle.active .hamburger-icon span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle.active .hamburger-icon span:nth-child(2){opacity:0}.menu-toggle.active .hamburger-icon span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}@media(hover:none){.btn:hover,.speed-btn:hover,.menu-toggle:hover,.focus-btn:hover{background:#ffffff1a}.speed-btn:hover,.focus-btn:hover{background:#ffffff0d;border-color:#fff3}.speed-btn.active:hover,.focus-btn.active:hover{background:#6496ff80;border-color:#6496ffcc}}@media(max-width:768px){#datePanel{top:20px;left:20px;padding:15px 25px;min-width:160px}#datePanel .date-label{font-size:10px;margin-bottom:6px}#datePanel #dateDisplay{font-size:24px;min-width:80px}.menu-toggle{display:flex}#controls{top:80px;right:10px;left:auto;padding:15px;min-width:250px;max-height:calc(100vh - 100px);overflow-y:auto;transform:translate(calc(100% + 20px));transition:transform .3s ease;will-change:transform}#controls.open{transform:translate(0)}#controls::-webkit-scrollbar{width:8px}#controls::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}#controls::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}#controls::-webkit-scrollbar-thumb:hover{background:#ffffff4d}#controls h2{font-size:16px}#controls h3{font-size:13px}.control-group{margin-bottom:15px}.btn{padding:12px;font-size:16px}.speed-btn{padding:10px;font-size:14px}.select-label select{font-size:15px;padding:8px 10px}}@media(max-width:480px){#datePanel{padding:12px 20px}#datePanel .date-label{font-size:9px}#datePanel #dateDisplay{font-size:20px}#controls{padding:12px}.speed-controls{grid-template-columns:1fr 1fr;gap:8px}.speed-btn{padding:12px 8px}}
