*{box-sizing:border-box}body{margin:0;overflow:hidden;background:linear-gradient(#000c,#000c),url(/bg.jpg) no-repeat center center fixed;background-size:cover;color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-user-select:none;user-select:none}#root{width:100vw;height:100vh}#game-container{width:100%;height:100%}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#menu{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}h1{font-size:48px;color:#f6a;margin-bottom:10px;text-shadow:2px 2px 0 #000}h2{margin-top:0;margin-bottom:40px}.setting{margin:10px 0;font-size:24px;display:flex;flex-direction:column;align-items:center}.bpm-buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:500px;margin-top:15px}.bpm-btn{font-size:14px!important;padding:6px 10px!important;margin-top:0!important;border-radius:4px!important;min-width:45px;transition:transform .1s,border-color .2s,box-shadow .2s;border:2px solid transparent;cursor:pointer}.bpm-btn:hover{transform:scale(1.1)}.bpm-btn.active{border-color:#fff!important;box-shadow:0 0 8px #fffc;font-weight:700;z-index:2}.github-link{position:absolute;bottom:15px;right:15px;color:#ffffff80;transition:color .2s;z-index:200}.setting input{font-size:24px;width:100px;text-align:center;background:#333;color:#fff;border:2px solid #555;border-radius:5px;outline:none}.setting input:focus{border-color:#0096ff}.hint{color:#aaa;margin-top:20px}button{font-size:28px;padding:15px 50px;cursor:pointer;background:#f48;border:none;border-radius:8px;color:#fff;margin-top:30px;transition:background .2s}button:hover{background:#f26}button:disabled{background:#555;cursor:not-allowed}canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}#hud{position:absolute;top:20px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:flex-start;z-index:100;font-size:32px;text-shadow:2px 2px 0 #000;pointer-events:none}.instructions{text-align:center;max-width:80%;transition:opacity .5s ease-out,transform .5s ease-out,visibility .5s}.fade-out{opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none}.baby-mode-btn{pointer-events:auto;font-size:16px!important;padding:8px 16px!important;margin-top:0!important;background:#fff3!important;border:1px solid rgba(255,255,255,.4)!important;color:#fff!important;cursor:pointer;border-radius:4px;transition:background .2s;text-shadow:none}.baby-mode-btn:hover{background:#fff6!important}#countdown{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:50;pointer-events:auto}#cd-time{font-size:64px;font-weight:700;color:#0096ff;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:20px}.settings-overlay{display:flex;flex-direction:column;align-items:center;transition:opacity .5s ease-out,transform .5s ease-out,visibility .5s}#gameover{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:50}#go-msg{font-size:72px;font-weight:700;text-shadow:4px 4px 0 #000}.restart-hint{font-size:24px;margin-top:20px;color:#fff}@media (max-width: 768px){#hud{font-size:20px;top:10px;left:10px;right:10px}#cd-time{font-size:40px;margin-bottom:10px}.instructions{max-width:95%}.instructions p{font-size:13px;line-height:1.2;margin:4px 0}.settings-overlay{width:100%}.setting{font-size:16px;margin:5px 0}.setting input{font-size:16px;width:70px;padding:4px}.bpm-buttons{gap:6px;margin-top:10px;padding:0 5px}.bpm-btn{font-size:12px!important;padding:8px 4px!important;min-width:40px}.hint{font-size:11px;margin-top:8px}}@media (max-height: 600px){.instructions{display:none}}.skip-hint{color:#fc0;font-weight:700;font-size:20px;margin-bottom:10px;animation:pulse 1s infinite alternate}@keyframes pulse{0%{opacity:.6;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}
