@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15%)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(1deg)}75%{transform:translateY(4px) rotate(-1deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes glitch{0%,to{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(2px,-3px)}60%{transform:translate(3px,2px)}80%{transform:translate(-2px,-2px)}}.px-app[data-v-8f95999d]{margin:0 auto;max-width:1280px;padding:2rem 1.5rem 6rem}.px-header[data-v-8f95999d]{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.px-header__tag[data-v-8f95999d]{color:var(--amber);font-family:var(--font-mono);font-size:1rem;letter-spacing:.2em;margin-bottom:.3rem;opacity:.7}.px-header__title[data-v-8f95999d]{color:var(--text);font-family:var(--font-mono);font-size:2.4rem;font-weight:700;letter-spacing:.06em}.px-header__actions[data-v-8f95999d]{display:flex;flex-wrap:wrap;gap:.5rem}.px-btn[data-v-8f95999d]{background:transparent;border:1px solid var(--line);border-radius:.5rem;color:var(--text);cursor:pointer;font-family:var(--font-mono);font-size:1rem;letter-spacing:.06em;padding:.5rem 1rem;transition:all var(--duration-fast) var(--ease-smooth)}.px-btn[data-v-8f95999d]:hover:not(:disabled){border-color:var(--amber);color:var(--amber)}.px-btn[data-v-8f95999d]:disabled{cursor:not-allowed;opacity:.3}.px-btn--sm[data-v-8f95999d]{font-size:1.1rem;padding:.3rem .7rem}.px-btn--playing[data-v-8f95999d]{background:#ff9f1c1a;border-color:var(--amber);color:var(--amber)}.px-btn--danger[data-v-8f95999d]:hover{border-color:#ff4d6d;color:#ff4d6d}.px-btn--import[data-v-8f95999d]{align-items:center;cursor:pointer;display:flex;gap:.4rem}.px-filename-wrap[data-v-8f95999d]{align-items:center;background:var(--surface-input);border:1px solid var(--line);border-radius:.5rem;display:flex;gap:0;overflow:hidden}.px-filename-input[data-v-8f95999d]{background:transparent;border:none;color:var(--text);font-family:var(--font-mono);font-size:1rem;letter-spacing:.04em;outline:none;padding:.5rem .6rem;width:140px}.px-filename-input[data-v-8f95999d]::-moz-placeholder{color:var(--muted);opacity:.45}.px-filename-input[data-v-8f95999d]::placeholder{color:var(--muted);opacity:.45}.px-filename-input[data-v-8f95999d]:focus{box-shadow:none}.px-filename-ext[data-v-8f95999d]{color:var(--muted);font-family:var(--font-mono);font-size:.8rem;opacity:.5;padding-right:.6rem;white-space:nowrap}.px-section[data-v-8f95999d]{display:flex;flex-direction:column;gap:.5rem}.px-label[data-v-8f95999d]{font-size:.9rem;letter-spacing:.12em;opacity:.6}.px-hint[data-v-8f95999d],.px-label[data-v-8f95999d]{color:var(--muted);font-family:var(--font-mono)}.px-hint[data-v-8f95999d]{font-size:.8rem;line-height:1.4;opacity:.4}.px-row[data-v-8f95999d]{display:flex;flex-wrap:wrap;gap:.4rem}.px-range[data-v-8f95999d]{accent-color:var(--amber);cursor:pointer;width:100%}.px-range--fps[data-v-8f95999d]{max-width:100px}.px-workspace[data-v-8f95999d]{align-items:start;display:grid;gap:1.5rem;grid-template-columns:200px 1fr 210px}@media(max-width:960px){.px-workspace[data-v-8f95999d]{grid-template-columns:1fr}}.px-tools[data-v-8f95999d]{display:flex;flex-direction:column;gap:1.4rem}.px-size-btn[data-v-8f95999d]{background:var(--surface-input);border:1px solid var(--line-dim);border-radius:.4rem;color:var(--muted);cursor:pointer;font-family:var(--font-mono);font-size:1rem;padding:.4rem .8rem;transition:all var(--duration-fast)}.px-size-btn.active[data-v-8f95999d]{background:#ff9f1c1a;border-color:var(--amber);color:var(--amber)}.px-tool-list[data-v-8f95999d]{display:flex;flex-direction:column;gap:.3rem}.px-tool-btn[data-v-8f95999d]{align-items:center;background:var(--surface-input);border:1px solid var(--line-dim);border-radius:.5rem;color:var(--muted);cursor:pointer;display:flex;font-family:var(--font-mono);font-size:1.1rem;gap:.6rem;padding:.5rem .8rem;transition:all var(--duration-fast)}.px-tool-btn.active[data-v-8f95999d]{background:#ff9f1c1a;border-color:var(--amber);box-shadow:0 0 8px #ff9f1c1f;color:var(--amber)}.px-tool-btn__icon[data-v-8f95999d]{font-size:1.3rem;text-align:center;width:20px}.px-tool-btn__name[data-v-8f95999d]{font-size:1rem}.px-mirror-btn[data-v-8f95999d]{align-items:center;background:var(--surface-input);border:1px solid var(--line-dim);border-radius:.5rem;color:var(--muted);cursor:pointer;display:flex;flex:1;font-family:var(--font-mono);font-size:1rem;gap:.4rem;justify-content:center;padding:.5rem;transition:all var(--duration-fast)}.px-mirror-btn.active[data-v-8f95999d]{background:#ff9f1c1a;border-color:var(--amber);color:var(--amber)}.px-mirror-btn span[data-v-8f95999d]{font-size:1.2rem}.px-color-row[data-v-8f95999d]{align-items:center;display:flex;gap:.6rem}.px-swatch-big[data-v-8f95999d]{border:2px solid var(--line);border-radius:.5rem;height:36px;width:36px}.px-color-native[data-v-8f95999d]{background:transparent;border:none;border-radius:.5rem;cursor:pointer;height:36px;padding:0;width:36px}.px-color-hex[data-v-8f95999d]{font-size:1rem}.px-add-palette[data-v-8f95999d],.px-color-hex[data-v-8f95999d]{color:var(--muted);font-family:var(--font-mono)}.px-add-palette[data-v-8f95999d]{background:none;border:1px dashed var(--line-dim);border-radius:.3rem;cursor:pointer;font-size:.9rem;padding:.3rem .5rem;transition:all var(--duration-fast)}.px-add-palette[data-v-8f95999d]:hover{border-color:var(--amber);color:var(--amber)}.px-palette[data-v-8f95999d]{display:flex;flex-wrap:wrap;gap:3px}.px-pal[data-v-8f95999d]{border:1px solid var(--line-dim);border-radius:3px;cursor:pointer;height:22px;padding:0;transition:all var(--duration-fast);width:22px}.px-pal.active[data-v-8f95999d]{border-color:#fff;box-shadow:0 0 0 1px var(--amber);transform:scale(1.15)}.px-pal[data-v-8f95999d]:hover{transform:scale(1.2)}.px-toggle[data-v-8f95999d]{align-items:center;color:var(--muted);cursor:pointer;display:flex;font-family:var(--font-mono);font-size:1rem;gap:.5rem}.px-toggle input[data-v-8f95999d]{accent-color:var(--amber)}.px-canvas-area[data-v-8f95999d]{align-items:center;display:flex;flex-direction:column;gap:1.2rem}.px-canvas[data-v-8f95999d]{background:#0a0812;border:2px solid var(--line);border-radius:.6rem;cursor:crosshair;display:inline-grid;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.px-canvas__row[data-v-8f95999d]{display:flex}.px-canvas__cell[data-v-8f95999d]{height:var(--cell-size);transition:background .05s;width:var(--cell-size)}.px-canvas--grid .px-canvas__cell[data-v-8f95999d]{outline:1px solid rgba(255,159,28,.04)}.px-canvas__cell[data-v-8f95999d]:hover{outline:1px solid var(--amber)!important;z-index:1}.px-canvas__mirror-x[data-v-8f95999d]{bottom:0;left:50%;top:0;width:2px}.px-canvas__mirror-x[data-v-8f95999d],.px-canvas__mirror-y[data-v-8f95999d]{background:var(--amber);box-shadow:0 0 8px #ff9f1c80,0 0 2px #ff9f1ccc;opacity:.6;pointer-events:none;position:absolute;z-index:10}.px-canvas__mirror-y[data-v-8f95999d]{height:2px;left:0;right:0;top:50%}.px-timeline[data-v-8f95999d]{background:var(--surface-module);border:1px solid var(--line-dim);border-radius:.8rem;display:flex;flex-direction:column;gap:.8rem;padding:1rem;width:100%}.px-timeline__header[data-v-8f95999d]{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.px-timeline__controls[data-v-8f95999d]{align-items:center;display:flex;gap:.6rem}.px-fps-label[data-v-8f95999d]{color:var(--amber);font-family:var(--font-mono);font-size:.9rem;min-width:50px}.px-timeline__frames[data-v-8f95999d]{overflow-x:auto;padding:.3rem 0}.px-timeline__actions[data-v-8f95999d],.px-timeline__frames[data-v-8f95999d]{display:flex;gap:.5rem}.px-frame-thumb[data-v-8f95999d]{align-items:center;background:var(--surface-input);border:1px solid var(--line-dim);border-radius:.4rem;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:4px;transition:all var(--duration-fast);width:50px}.px-frame-thumb.active[data-v-8f95999d]{background:#ff9f1c14;border-color:var(--amber)}.px-frame-thumb__canvas[data-v-8f95999d]{border-radius:2px;image-rendering:pixelated}.px-frame-thumb__num[data-v-8f95999d]{color:var(--muted);font-family:var(--font-mono);font-size:.8rem}.px-frame-thumb.active .px-frame-thumb__num[data-v-8f95999d]{color:var(--amber)}.px-frame-add[data-v-8f95999d]{align-items:center;background:none;border:1px dashed var(--line-dim);border-radius:.4rem;color:var(--muted);cursor:pointer;display:flex;font-family:var(--font-mono);font-size:.9rem;justify-content:center;padding:.4rem .8rem;transition:all var(--duration-fast);white-space:nowrap}.px-frame-add[data-v-8f95999d]:hover{border-color:var(--amber);color:var(--amber)}.px-preview-panel[data-v-8f95999d]{display:flex;flex-direction:column;gap:1.4rem}.px-anim-grid[data-v-8f95999d]{display:flex;flex-wrap:wrap;gap:.3rem}.px-anim-btn[data-v-8f95999d]{background:var(--surface-input);border:1px solid var(--line-dim);border-radius:.4rem;color:var(--muted);cursor:pointer;font-family:var(--font-mono);font-size:.9rem;padding:.3rem .6rem;transition:all var(--duration-fast)}.px-anim-btn.active[data-v-8f95999d]{background:#ff9f1c1a;border-color:var(--amber);color:var(--amber)}.px-anim-btn[data-v-8f95999d]:hover{border-color:var(--amber);color:var(--text)}.px-preview[data-v-8f95999d]{align-items:center;background:#0a0812;border:1px solid var(--line-dim);border-radius:.6rem;display:flex;justify-content:center;min-height:180px;padding:1rem}.px-preview__art[data-v-8f95999d]{display:inline-block;will-change:transform}.px-preview__art canvas[data-v-8f95999d]{border-radius:2px;display:block;image-rendering:pixelated}.px-help__list[data-v-8f95999d]{display:flex;flex-direction:column;gap:.4rem;list-style:none;padding:0}.px-help__list li[data-v-8f95999d]{color:var(--muted);font-family:var(--font-mono);font-size:.85rem;line-height:1.4}.px-help__list strong[data-v-8f95999d]{color:var(--text)}
