*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background:#0b0b12;color:#f2f2f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overscroll-behavior:none}#app-root{position:fixed;top:0;right:0;bottom:0;left:0;touch-action:none;-webkit-user-select:none;user-select:none}#pixi-mount{position:absolute;top:0;right:0;bottom:0;left:0}#pixi-mount canvas{display:block;width:100%;height:100%}#ui-root{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#ui-root>*{pointer-events:auto}button{font:inherit;color:inherit}.hidden{display:none!important}#orientation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0b0b12;color:#f2f2f7;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-size:18px}@media(orientation:portrait){#orientation-overlay{display:none!important}}@media(orientation:landscape){#orientation-overlay:not([hidden]){display:flex}}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow-y:auto}.screen h1{font-size:22px;margin:0 0 12px}.btn{min-height:48px;min-width:48px;padding:12px 20px;border-radius:12px;border:none;background:#4f5bff;color:#fff;font-size:16px;font-weight:600;cursor:pointer}.btn.secondary{background:#ffffff1f}.btn:active{filter:brightness(.9)}#home-screen .tabs{display:flex;gap:8px;margin-bottom:12px}#home-screen .tab-btn{flex:1;min-height:48px;border-radius:10px;border:none;background:#ffffff14;color:#f2f2f7;font-size:15px}#home-screen .tab-btn.active{background:#4f5bff}#home-screen .tab-panel{display:none;flex:1;min-height:0;flex-direction:column}#home-screen .tab-panel.active{display:flex}.leaderboard{width:100%;border-collapse:collapse;font-size:14px}.leaderboard th,.leaderboard td{text-align:left;padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.08)}.library-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.library-item{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.08)}.library-item .meta{flex:1;min-width:0}.library-item .title{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-item .subtitle{font-size:12px;opacity:.65}.preview-btn{min-width:48px;min-height:48px;border-radius:50%;border:none;background:#ffffff1f;color:#fff;font-size:16px}.preview-btn.playing{background:#4f5bff}.library-status{opacity:.7;font-size:14px;padding:12px 4px}#loading-screen{align-items:center;justify-content:center;text-align:center;gap:16px}.progress-bar{width:min(320px,80vw);height:10px;border-radius:6px;background:#ffffff1f;overflow:hidden}.progress-bar-fill{height:100%;width:0%;background:#4f5bff;transition:width .15s linear}#game-hud{justify-content:flex-start;pointer-events:none}#game-hud .top-row{display:flex;justify-content:space-between;align-items:flex-start}#game-hud .score{font-size:26px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.6)}#game-hud .combo{font-size:15px;opacity:.85}#pause-btn{pointer-events:auto}#pause-overlay,#results-screen{align-items:center;justify-content:center;text-align:center;gap:12px;background:#0b0b12e6}.big-score{font-size:40px;font-weight:700}.new-record-badge{background:#ffb020;color:#1a1a1a;border-radius:999px;padding:4px 14px;font-size:13px;font-weight:700}.error-text{color:#ff6b6b;font-size:14px}
