:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0a0a0a;--surface: rgba(255, 255, 255, .05);--border: rgba(255, 255, 255, .1);--text: #fafafa;--text-muted: rgba(255, 255, 255, .6);--accent: #3b82f6;--accent-hover: #2563eb;--danger: #ef4444;--success: #22c55e}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}.app{min-height:100vh;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:2rem}.header{text-align:center}.header h1{margin:0;font-size:2.5rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subtitle{margin:.5rem 0 0;color:var(--text-muted);font-size:1.1rem}.main-content{display:flex;gap:2rem;max-width:1200px;width:100%;flex-wrap:wrap;justify-content:center}.cube-section{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.cube-container{width:300px;height:300px;perspective:800px;cursor:grab;-webkit-user-select:none;user-select:none}.cube-container:active{cursor:grabbing}.cube{width:150px;height:150px;position:relative;transform-style:preserve-3d;margin:75px auto;transition:transform .1s ease-out}.cube-face{position:absolute;width:150px;height:150px;backface-visibility:visible}.face-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2px;width:100%;height:100%;padding:2px;background:#111;border-radius:4px}.sticker{border-radius:3px;box-shadow:inset 0 0 0 1px #0000004d}.timer{text-align:center}.timer-display{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2.5rem;font-weight:600;letter-spacing:.05em;color:var(--text)}.timer-start{margin-top:.5rem;padding:.5rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.timer-start:hover{background:var(--accent-hover)}.side-panel{display:flex;flex-direction:column;gap:1.5rem;min-width:280px;max-width:320px}.controls{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.control-group h3{margin:0 0 .75rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.move-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.move-btn{padding:.5rem;background:#ffffff14;border:1px solid var(--border);border-radius:.5rem;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.move-btn:hover{background:#ffffff26;border-color:#fff3}.move-btn:active{transform:scale(.95)}.move-btn.middle{background:#3b82f626;border-color:#3b82f64d}.move-btn.middle:hover{background:#3b82f640}.actions{display:flex;flex-direction:column;gap:.75rem}.action-btn{padding:.75rem;border:none;border-radius:.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .15s}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.scramble{background:linear-gradient(135deg,#f59e0b,#d97706);color:#000}.action-btn.scramble:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.action-btn.solve{background:linear-gradient(135deg,#22c55e,#16a34a);color:#000}.action-btn.solve:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.action-btn.reset{background:#ffffff1a;color:var(--text)}.action-btn.reset:hover{background:#ffffff26}.move-history{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem}.move-history h3{margin:0 0 .75rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.empty{color:var(--text-muted);font-style:italic;margin:0}.moves-list{display:flex;flex-wrap:wrap;gap:.5rem;max-height:200px;overflow-y:auto}.move-notation{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;font-weight:600;padding:.25rem .5rem;background:#ffffff14;border-radius:.25rem;color:var(--text)}@media(max-width:768px){.app{padding:1rem}.header h1{font-size:2rem}.main-content{flex-direction:column;align-items:center}.side-panel{width:100%;max-width:400px}.cube-container{width:250px;height:250px}.cube{width:125px;height:125px;margin:62.5px auto}.cube-face{width:125px;height:125px}}
