@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{--bg-app: #18181b;--bg-panel: #27272a;--bg-panel-hover: #3f3f46;--bg-panel-dark: #1e1e20;--border-color: #3f3f46;--border-subtle: rgba(255, 255, 255, .08);--accent-primary: #3b82f6;--accent-hover: #2563eb;--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--text-muted: #71717a;--radius-sm: 4px;--radius-md: 6px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-app);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden;background-color:var(--bg-app)}*,*:before,*:after{box-sizing:border-box}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:18px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased;vertical-align:middle}.App{display:flex;flex-direction:column;height:100vh;font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-primary)}header{padding:12px 20px;background:var(--bg-panel);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}h1{margin:0;font-size:16px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.controls{display:flex;gap:10px;align-items:center}.main{display:flex;flex:1;overflow:hidden}.sidebar{width:240px;background:var(--bg-app);border-right:1px solid var(--border-color);display:flex;flex-direction:column}.file-list{flex:1;overflow-y:auto}.file-item{padding:10px 16px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);transition:background .15s ease,color .15s ease}.file-item:hover{background:var(--bg-panel);color:var(--text-primary)}.file-item.selected{background:var(--bg-panel-hover);color:#fff;border-left:3px solid var(--accent-primary);font-weight:500}.workspace{flex:1;display:flex;flex-direction:column;min-width:0}.toolbar{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--bg-panel);border-bottom:1px solid var(--border-color);flex-shrink:0}.preview-container{flex:1;display:flex;justify-content:center;align-items:center;background:var(--bg-panel-dark);background-image:linear-gradient(45deg,var(--bg-app) 25%,transparent 25%),linear-gradient(-45deg,var(--bg-app) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--bg-app) 75%),linear-gradient(-45deg,transparent 75%,var(--bg-app) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;overflow:auto;padding:20px}canvas{box-shadow:0 0 10px #00000080;image-rendering:pixelated;cursor:crosshair}.multi-frame-view{display:flex;flex-wrap:wrap;gap:12px;padding:16px;overflow-y:auto;flex:1;align-content:safe center;justify-content:center}.frame-cell{display:flex;flex-direction:column;align-items:center;cursor:pointer;border:2px solid transparent;border-radius:var(--radius-md);padding:6px;transition:border-color .2s}.frame-cell.selected{border-color:var(--accent-primary);background:#3b82f61a}.frame-cell:hover{border-color:var(--border-color)}.frame-cell.selected:hover{border-color:var(--accent-hover)}.canvas-bg{display:flex;align-items:center;justify-content:center;background-color:var(--bg-panel-dark);background-image:linear-gradient(45deg,var(--bg-app) 25%,transparent 25%),linear-gradient(-45deg,var(--bg-app) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--bg-app) 75%),linear-gradient(-45deg,transparent 75%,var(--bg-app) 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0px;border-radius:var(--radius-sm);overflow:hidden}.multi-frame-view.single-mode{justify-content:center;align-items:center;align-content:center}.frame-label{font-size:10px;color:#666;margin-top:4px;font-family:monospace;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-view{height:auto;background:var(--bg-panel);border-top:1px solid var(--border-color);padding:12px;display:flex;flex-direction:column;gap:8px}.palette-grid{display:grid;grid-template-columns:repeat(32,1fr);gap:1px;flex:1}.palette-swatch{width:100%;height:100%;aspect-ratio:1;min-height:8px;cursor:pointer;border:1px solid transparent;border-radius:2px}.palette-swatch:hover{border-color:#ffffffb3;transform:scale(1.1)}.palette-swatch.active{border-color:#fff;z-index:1;transform:scale(1.25);box-shadow:0 2px 8px #0009}.params-panel{width:320px;background:var(--bg-app);border-left:1px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto}.panel-section{padding:16px;border-bottom:1px solid var(--border-subtle)}.panel-section h3{margin:0 0 12px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.collapsible-header{cursor:pointer;display:flex;align-items:center;gap:8px;margin-bottom:12px;-webkit-user-select:none;user-select:none}.collapsible-header .arrow{font-size:14px;color:var(--text-muted);transition:transform .2s}.collapsible-header h3{margin:0;flex:1}.collapsible-header:focus{outline:none}.collapsible-header:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:2px}.param-row{margin-bottom:16px}.param-row label{display:block;margin-bottom:8px;font-size:12px;color:var(--text-secondary)}.param-row input[type=range]{width:100%;display:block;margin-bottom:6px;accent-color:var(--accent-primary)}.param-row input[type=number],.param-row input[type=text]{width:100%;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);padding:6px 8px;box-sizing:border-box;font-family:inherit;font-size:13px;transition:border-color .2s}.param-row input[type=number]:focus,.param-row input[type=text]:focus{outline:none;border-color:var(--accent-primary)}.param-row .value-display{font-size:11px;color:var(--text-muted);text-align:right}.btn{padding:6px 14px;cursor:pointer;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover:not(:disabled){background:var(--bg-panel-hover);border-color:#52525b}.btn:disabled{background:var(--bg-app);color:var(--text-muted);border-color:var(--bg-panel);cursor:not-allowed}.btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:transparent}.btn-icon{padding:6px;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--text-secondary)}.btn-icon:hover{background:var(--bg-panel-hover);color:var(--text-primary)}.btn-block{width:100%;margin-top:8px}.btn-group{display:flex;align-items:center;background:var(--bg-panel-dark);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:2px}.btn-group .btn{border:none;background:transparent;color:var(--text-secondary);border-radius:calc(var(--radius-sm) - 1px)}.btn-group .btn.active{background:var(--bg-panel-hover);color:var(--text-primary);box-shadow:0 1px 2px #0003}.btn-group .btn:hover:not(.active){background:#ffffff0d}.flex-row{display:flex;gap:8px}.flex-1{flex:1}.toggle-group{display:flex;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:2px;margin-bottom:12px}.toggle-option{flex:1;text-align:center;padding:6px;font-size:12px;cursor:pointer;border-radius:2px;color:var(--text-secondary);transition:all .2s}.toggle-option:hover:not(.active){color:var(--text-primary)}.toggle-option.active{background:var(--bg-panel-hover);color:#fff;box-shadow:0 1px 2px #0003}.panel-tabs{display:flex;border-bottom:1px solid var(--border-color);flex-shrink:0;background:var(--bg-app)}.panel-tab{flex:1;text-align:center;padding:12px 4px;font-size:12px;font-weight:500;cursor:pointer;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.panel-tab:hover{color:var(--text-primary)}.panel-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.palette-edit-grid{display:grid;grid-template-columns:repeat(16,1fr);gap:1px;margin-top:10px}.palette-edit-swatch{width:100%;aspect-ratio:1;cursor:pointer;border:1px solid transparent;position:relative;min-width:0;box-sizing:border-box;border-radius:2px}.palette-edit-swatch:hover{border-color:#ffffffb3;z-index:2;transform:scale(1.1)}.palette-edit-swatch.active{border-color:#fff;z-index:1;transform:scale(1.25);box-shadow:0 2px 8px #0009}.palette-edit-swatch.edited:after{content:"";position:absolute;bottom:2px;right:2px;width:4px;height:4px;background:#fff;border-radius:50%;pointer-events:none;box-shadow:0 0 2px #00000080}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-panel-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
