:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0a0a0a;color:#fafafa;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:1rem}.header{text-align:center}.header h1{margin:0;font-size:1.6rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#ff6b6b,#ffd93d,#6bcb77,#4d96ff,#9b59b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.timer{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2.8rem;font-weight:700;letter-spacing:.05em;color:#ffd93d;text-shadow:0 0 20px rgba(255,217,61,.3)}.timer.solved{color:#6bcb77;text-shadow:0 0 20px rgba(107,203,119,.4)}.moves-count{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;color:#ffffff80}.scene{width:220px;height:220px;perspective:600px;perspective-origin:50% 50%}.cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;transform:rotateX(-25deg) rotateY(35deg);transition:transform .08s ease-out}.face{position:absolute;width:220px;height:220px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;padding:3px;backface-visibility:hidden}.face--front{transform:translateZ(110px)}.face--back{transform:rotateY(180deg) translateZ(110px)}.face--right{transform:rotateY(90deg) translateZ(110px)}.face--left{transform:rotateY(-90deg) translateZ(110px)}.face--top{transform:rotateX(90deg) translateZ(110px)}.face--bottom{transform:rotateX(-90deg) translateZ(110px)}.sticker{border-radius:5px;border:1.5px solid rgba(0,0,0,.6);transition:transform .1s ease,box-shadow .1s ease;cursor:pointer}.sticker:active{transform:scale(.92)}.sticker.flash{box-shadow:0 0 12px 4px #ffffff80}.c-white{background:#f0f0f0}.c-yellow{background:#ffd93d}.c-red{background:#e74c3c}.c-orange{background:#f39c12}.c-blue{background:#3498db}.c-green{background:#2ecc71}.controls{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.btn{font-family:inherit;font-size:.85rem;font-weight:600;letter-spacing:.04em;padding:.6rem 1.4rem;border:1px solid rgba(255,255,255,.15);border-radius:.5rem;background:#ffffff0f;color:#fafafa;cursor:pointer;transition:all .15s ease}.btn:hover{background:#ffffff1f;border-color:#ffffff40}.btn:active{transform:scale(.96)}.btn--primary{background:#ffd93d26;border-color:#ffd93d4d;color:#ffd93d}.btn--primary:hover{background:#ffd93d40}.btn--solve{background:#6bcb7726;border-color:#6bcb774d;color:#6bcb77}.btn--solve:hover{background:#6bcb7740}.btn--music{background:#9b59b626;border-color:#9b59b64d;color:#c39bd3}.btn--music:hover{background:#9b59b640}.btn--music.active{background:#9b59b659;box-shadow:0 0 12px #9b59b64d}.face-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;max-width:280px}.face-btn{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;font-weight:700;padding:.5rem;border:1px solid rgba(255,255,255,.1);border-radius:.4rem;background:#ffffff0a;color:#ffffffb3;cursor:pointer;transition:all .12s ease;text-align:center}.face-btn:hover{background:#ffffff1a;color:#fff}.face-btn:active{transform:scale(.94);background:#ffffff26}.beat-indicator{display:flex;gap:6px;align-items:center;justify-content:center;height:24px}.beat-dot{width:8px;height:8px;border-radius:50%;background:#ffffff26;transition:all .1s ease}.beat-dot.active{background:#c39bd3;box-shadow:0 0 8px #9b59b699;transform:scale(1.3)}.solved-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.solved-overlay h2{font-size:2rem;margin:0 0 .5rem;color:#6bcb77;text-shadow:0 0 30px rgba(107,203,119,.4)}.solved-overlay .stats{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.1rem;color:#ffffffb3;margin-bottom:1.5rem;text-align:center;line-height:2}.swipe-hint{font-size:.75rem;color:#ffffff4d;text-align:center}
