.matrix-grid[data-v-005e171e]{background:#111;border:4px solid #222;border-radius:8px;box-shadow:0 0 30px #000c,0 0 10px #58a6ff1a;cursor:crosshair;flex-direction:column;overflow:hidden;padding:4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.matrix-grid[data-v-005e171e],.matrix-row[data-v-005e171e]{display:flex;gap:2px}.matrix-cell[data-v-005e171e]{background-color:var(--matrix-bg);border-radius:4px;box-shadow:inset 0 0 2px #000c;height:22px;position:relative;transition:transform .05s;width:22px}.led-inner[data-v-005e171e]{background:linear-gradient(135deg,#fff3,#fff0 50%);border-radius:2px;bottom:2px;left:2px;pointer-events:none;position:absolute;right:2px;top:2px}.matrix-cell[data-v-005e171e]:hover{box-shadow:0 0 8px #fff6;transform:scale(1.1);z-index:10}.toolbar[data-v-ca852a26]{gap:20px;height:100%}.tool-section[data-v-ca852a26],.toolbar[data-v-ca852a26]{display:flex;flex-direction:column}.tool-section[data-v-ca852a26]{gap:10px}label[data-v-ca852a26]{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.color-picker[data-v-ca852a26]{height:44px;padding:4px}.intensity-control[data-v-ca852a26]{display:flex;flex-direction:column;gap:4px}.intensity-control label[data-v-ca852a26]{color:var(--text-secondary);font-size:.65rem}.intensity-control input[type=range][data-v-ca852a26]{accent-color:var(--accent-color);width:100%}.button-group[data-v-ca852a26]{display:grid;gap:8px;grid-template-columns:1fr 1fr 1fr}.tools-grid[data-v-ca852a26]{gap:8px}.modes-grid[data-v-ca852a26],.tools-grid[data-v-ca852a26]{grid-template-columns:repeat(3,1fr)}.tool-btn[data-v-ca852a26]{align-items:center;display:flex;height:44px;justify-content:center;position:relative}.tool-btn.disabled[data-v-ca852a26]{cursor:not-allowed;opacity:.3;pointer-events:none}.shortcut-hint[data-v-ca852a26]{background-color:var(--accent-color);border-radius:3px;bottom:2px;color:#000;font-family:monospace;font-size:.55rem;font-weight:800;opacity:.8;padding:1px 3px;pointer-events:none;position:absolute;right:2px}.button-group-vertical[data-v-ca852a26]{display:flex;flex-direction:column;gap:8px}.btn.active[data-v-ca852a26]{background:var(--accent-color);border-color:var(--accent-color);box-shadow:0 0 12px #58a6ff66;color:#000}.btn.active svg[data-v-ca852a26]{stroke:#000}.timeline-container[data-v-da43b026]{align-items:center;display:flex;gap:24px;height:100%}.playback-controls[data-v-da43b026]{border-right:1px solid var(--border-color);gap:16px;min-width:120px;padding-right:24px}.fps-control[data-v-da43b026],.playback-controls[data-v-da43b026]{display:flex;flex-direction:column}.fps-control[data-v-da43b026]{gap:4px}.fps-control label[data-v-da43b026]{color:var(--text-secondary);font-size:.75rem}.fps-control input[type=range][data-v-da43b026]{accent-color:var(--accent-color);width:100%}.frames-list[data-v-da43b026]{align-items:center;display:flex;flex:1;gap:12px;overflow-x:auto;padding:8px 0;scroll-behavior:smooth}.frames-list[data-v-da43b026]::-webkit-scrollbar{height:8px}.frames-list[data-v-da43b026]::-webkit-scrollbar-track{background:#0003;border-radius:4px}.frames-list[data-v-da43b026]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.frame-thumbnail[data-v-da43b026]{align-items:center;background:#111;border:2px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;flex:0 0 80px;height:50px;justify-content:center;overflow:visible;position:relative;transition:all .2s}.frame-thumbnail[data-v-da43b026]:hover{border-color:var(--text-secondary)}.frame-thumbnail.active[data-v-da43b026]{border-color:var(--accent-color);box-shadow:0 0 0 2px #58a6ff4d}.frame-number[data-v-da43b026]{align-items:center;background:#000c;border:1px solid var(--border-color);border-radius:50%;color:#fff;display:flex;font-size:.6rem;height:16px;justify-content:center;left:-8px;position:absolute;top:-8px;width:16px;z-index:10}.thumbnail-grid[data-v-da43b026]{display:flex;flex-direction:column;height:100%;padding:2px;width:100%}.tb-row[data-v-da43b026]{display:flex;flex:1}.tb-cell[data-v-da43b026]{flex:1}.delete-btn[data-v-da43b026]{align-items:center;background:#f85149;border:none;border-radius:50%;color:#fff;cursor:pointer;display:none;height:16px;justify-content:center;position:absolute;right:-8px;top:-8px;width:16px;z-index:10}.frame-thumbnail:hover .delete-btn[data-v-da43b026]{display:flex}.add-frame-actions[data-v-da43b026]{align-items:center;display:flex;gap:8px;margin-left:12px}.add-frame-actions .btn[data-v-da43b026]{height:44px;padding:0;width:44px}.add-frame-actions .btn.disabled[data-v-da43b026]{cursor:not-allowed;opacity:.3}.add-frame-actions .hazard-hover[data-v-da43b026]{color:var(--text-secondary)}.add-frame-actions .hazard-hover[data-v-da43b026]:hover:not(:disabled),.add-frame-actions .super-danger[data-v-da43b026]{background-color:#f851491a;border-color:#f85149;color:#f85149}.add-frame-actions .super-danger[data-v-da43b026]:hover{background-color:#f8514933;border-color:#ff7b72;box-shadow:0 0 8px #f8514966}.app-container[data-v-95678d2a]{display:flex;flex-direction:column;gap:16px;height:100vh;margin:0 auto;max-width:1600px;padding:16px}.header[data-v-95678d2a]{justify-content:space-between;padding:16px 24px}.actions[data-v-95678d2a],.header[data-v-95678d2a]{align-items:center;display:flex}.animation-name-input[data-v-95678d2a]{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:monospace;font-size:.9rem;margin-right:12px;padding:8px 12px;width:180px}.animation-name-input[data-v-95678d2a]:focus{border-color:var(--accent-color);outline:none}.logo[data-v-95678d2a]{align-items:center;display:flex;gap:12px}.logo-dot[data-v-95678d2a]{animation:pulse-95678d2a 2s ease-in-out infinite;background:var(--accent-color);border-radius:50%;box-shadow:0 0 12px #58a6ffcc,0 0 24px #bd56ff66;height:12px;width:12px}@keyframes pulse-95678d2a{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}to{opacity:.8;transform:scale(.95)}}.header h1[data-v-95678d2a]{background:linear-gradient(90deg,#c9d1d9,#8b949e);-webkit-background-clip:text;font-size:1.4rem;font-weight:600;letter-spacing:-.5px;-webkit-text-fill-color:transparent}.main-content[data-v-95678d2a]{flex-direction:column}.main-content[data-v-95678d2a],.workspace[data-v-95678d2a]{display:flex;flex:1;gap:16px;min-height:0}.toolbar-wrapper[data-v-95678d2a]{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;width:260px}.timeline-wrapper h3[data-v-95678d2a],.toolbar-wrapper h3[data-v-95678d2a]{color:var(--text-secondary);font-size:.85rem;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.matrix-wrapper[data-v-95678d2a]{align-items:center;display:flex;flex:1;justify-content:center;overflow:auto;padding:24px;position:relative}.timeline-wrapper[data-v-95678d2a]{display:flex;flex-direction:column;height:180px;padding:16px 20px}.modal-overlay[data-v-95678d2a]{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1000}.modal-content[data-v-95678d2a]{background-color:#161b22;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 40px #0009;display:flex;flex-direction:column;max-height:80vh;max-width:90vw;overflow:hidden;padding:0;width:500px}.modal-header[data-v-95678d2a]{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 20px}.modal-header h2[data-v-95678d2a]{font-size:1.2rem;margin:0}.close-btn[data-v-95678d2a]{background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:1.5rem}.modal-body[data-v-95678d2a]{flex:1;overflow-y:auto;padding:20px}.empty-state[data-v-95678d2a],.loading-state[data-v-95678d2a]{color:var(--text-secondary);padding:40px 0;text-align:center}.save-tabs[data-v-95678d2a]{border-bottom:1px solid var(--border-color);display:flex;gap:12px;margin-bottom:20px;padding-bottom:10px}.tab-btn[data-v-95678d2a]{background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:500;padding:8px 12px;transition:all .2s}.tab-btn.active[data-v-95678d2a]{background:#58a6ff1a;color:var(--accent-color)}.tab-btn[data-v-95678d2a]:hover:not(.active){background:#ffffff0d;color:var(--text-primary)}.save-section[data-v-95678d2a]{display:flex;flex-direction:column;gap:12px}.save-section label[data-v-95678d2a]{color:var(--text-secondary);font-size:.9rem}.pattern-name-input[data-v-95678d2a]{background:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);flex-grow:1;font-family:inherit;font-size:1rem;outline:none;padding:10px 14px}.pattern-name-input[data-v-95678d2a]:focus{border-color:var(--accent-color)}.pattern-list[data-v-95678d2a]{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.pattern-item[data-v-95678d2a]{align-items:center;background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.pattern-info[data-v-95678d2a]{display:flex;flex-direction:column;gap:4px}.pattern-meta[data-v-95678d2a]{color:var(--text-secondary);font-size:.8rem}.btn.small[data-v-95678d2a]{font-size:.85rem;padding:6px 12px}.toast-container[data-v-95678d2a]{display:flex;flex-direction:column;gap:12px;pointer-events:none;position:fixed;right:24px;top:24px;z-index:2000}.toast[data-v-95678d2a]{align-items:center;background-color:#161b22;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 25px #0006;color:var(--text-color);display:flex;font-weight:500;gap:12px;max-width:400px;min-width:250px;overflow:hidden;padding:14px 44px 14px 16px;pointer-events:auto;position:relative}.toast-success[data-v-95678d2a]{border-left:4px solid var(--accent-color)}.toast-success .toast-icon[data-v-95678d2a]{color:var(--accent-color)}.toast-progress-success[data-v-95678d2a]{background-color:var(--accent-color)}.toast-error[data-v-95678d2a]{border-left:4px solid var(--secondary-color)}.toast-error .toast-icon[data-v-95678d2a]{color:var(--secondary-color)}.toast-progress-error[data-v-95678d2a]{background-color:var(--secondary-color)}.toast-content[data-v-95678d2a]{flex-grow:1;font-size:14px;white-space:pre-line}.toast-close[data-v-95678d2a]{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.1rem;line-height:1;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .1s}.toast-close[data-v-95678d2a]:hover{color:var(--text-primary)}.toast-progress[data-v-95678d2a]{animation:toast-progress-95678d2a linear forwards;bottom:0;height:3px;left:0;position:absolute;width:100%}@keyframes toast-progress-95678d2a{0%{width:100%}to{width:0}}.toast-enter-active[data-v-95678d2a],.toast-leave-active[data-v-95678d2a]{transition:all .45s cubic-bezier(.175,.885,.32,1.275)}.toast-enter-from[data-v-95678d2a]{opacity:0;transform:translate(60px) scale(.9) translateY(-20px)}.toast-leave-to[data-v-95678d2a]{opacity:0;transform:scale(.95)}
