:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}:root{--bg-dark: #1a1a1a;--bg-medium: #242424;--bg-light: #2f2f2f;--border: #3f3f3f;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--accent: #4a9eff;--accent-hover: #6ab0ff}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:var(--bg-dark);color:var(--text-primary)}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--bg-medium);border-bottom:2px solid var(--border);padding:1rem 2rem;text-align:center}.app-header h1{margin:0;font-size:2rem;color:var(--accent)}.subtitle{margin:.5rem 0 0;color:var(--text-secondary);font-size:.9rem}.app-layout{display:grid;grid-template-columns:280px 1fr 320px;gap:1rem;padding:1rem;flex:1;overflow:hidden}.left-panel,.right-panel{background:var(--bg-medium);border:1px solid var(--border);border-radius:8px;padding:1.5rem;overflow-y:auto}.center-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-medium);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.spec-panel h2,.animation-panel h2{margin-top:0;font-size:1.3rem;border-bottom:2px solid var(--border);padding-bottom:.5rem}.control-group{margin-bottom:1.2rem}.control-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.control-group input,.control-group select{width:100%;padding:.5rem;background:var(--bg-light);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.95rem}.control-group small{display:block;margin-top:.3rem;color:var(--text-secondary);font-size:.8rem}button{background:var(--accent);color:#fff;border:none;padding:.6rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .2s}button:hover{background:var(--accent-hover)}button.active{background:var(--accent-hover);box-shadow:0 0 0 2px var(--accent)}button.secondary-button{background:var(--bg-light);color:var(--text-primary);border:1px solid var(--border)}button.secondary-button:hover{background:var(--border)}.preset-info{margin-top:2rem;padding:1rem;background:var(--bg-light);border-radius:4px;border-left:3px solid var(--accent)}.preset-info h3{margin-top:0;font-size:.9rem;color:var(--accent)}.preset-info p{margin:.5rem 0;font-size:.85rem}.canvas-section{width:100%;display:flex;flex-direction:column;align-items:center}.canvas-header{width:100%;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.canvas-controls{display:flex;gap:1rem;align-items:center;font-size:.85rem}.canvas-controls label{display:flex;gap:.5rem;align-items:center}.canvas-wrapper{background:repeating-conic-gradient(#2a2a2a 0% 25%,#323232 0% 50%) 50% / 16px 16px;border:2px solid var(--border);border-radius:4px;padding:2rem;display:inline-flex;align-items:center;justify-content:center}.sprite-canvas{image-rendering:pixelated;image-rendering:crisp-edges}.keyboard-hints{margin-top:1rem;color:var(--text-secondary)}.states-list{margin-bottom:1.5rem}.state-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.5rem}.state-buttons button{padding:.5rem;font-size:.85rem}.playback-controls{margin-bottom:2rem}.playback-controls button{width:100%;margin-bottom:1rem}.frame-control{margin-bottom:1rem}.frame-control label{display:block;font-size:.85rem;margin-bottom:.5rem}.frame-control input[type=range]{width:100%}.playback-controls .info{display:flex;justify-content:space-between;padding:.5rem;background:var(--bg-light);border-radius:4px}.playback-controls .info small{font-size:.8rem;color:var(--text-secondary)}.export-section{margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--border)}.export-section h3{margin-top:0;font-size:1rem}.export-button{width:100%;margin-bottom:.5rem;padding:.8rem}.secondary-button{width:100%;margin-top:.5rem}@media(max-width:1200px){.app-layout{grid-template-columns:1fr;grid-template-rows:auto auto auto}.left-panel,.right-panel{max-height:none}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
