.overlay[data-v-d3b98228]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-d3b98228]{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:560px;max-height:78vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px #0009,0 0 0 1px #c98d2a0f}.modal-header[data-v-d3b98228]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.modal-title[data-v-d3b98228]{font-family:var(--font-ui);font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--text-primary)}.close-btn[data-v-d3b98228]{background:none;border:1px solid transparent;color:var(--text-muted);font-size:14px;cursor:pointer;padding:3px 7px;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition),border-color var(--transition);line-height:1}.close-btn[data-v-d3b98228]:hover{color:var(--text-primary);background:var(--bg-raised);border-color:var(--border)}.tabs[data-v-d3b98228]{display:flex;border-bottom:1px solid var(--border)}.tab[data-v-d3b98228]{flex:1;padding:10px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color var(--transition),border-color var(--transition)}.tab.active[data-v-d3b98228]{color:var(--accent);border-bottom-color:var(--accent)}.tab[data-v-d3b98228]:not(.active):hover{color:var(--text-secondary)}.breadcrumb[data-v-d3b98228]{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:7px 12px;min-height:34px;border-bottom:1px solid var(--border-muted)}.crumb[data-v-d3b98228]{background:none;border:none;color:var(--accent);font-family:var(--font-ui);font-size:11px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);transition:background var(--transition)}.crumb[data-v-d3b98228]:not(.last):hover{background:var(--bg-raised)}.crumb[data-v-d3b98228]:not(.last):after{content:"›";color:var(--text-muted);margin-left:6px}.crumb.last[data-v-d3b98228]{color:var(--text-secondary);cursor:default;pointer-events:none}.file-list[data-v-d3b98228]{flex:1;overflow-y:auto;padding:6px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.file-list[data-v-d3b98228]::-webkit-scrollbar{width:4px}.file-list[data-v-d3b98228]::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.status[data-v-d3b98228]{text-align:center;color:var(--text-muted);padding:40px;font-family:var(--font-ui);font-size:12px}.status.error[data-v-d3b98228]{color:var(--danger)}.file-row[data-v-d3b98228]{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition);-webkit-user-select:none;user-select:none}.file-row[data-v-d3b98228]:hover{background:var(--bg-raised)}.file-row.is-selected[data-v-d3b98228]{background:var(--accent-dim);border-left:2px solid var(--accent);padding-left:8px}.file-icon[data-v-d3b98228]{font-size:13px;width:20px;text-align:center;flex-shrink:0}.file-name[data-v-d3b98228]{flex:1;font-family:var(--font-ui);font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row.is-folder .file-name[data-v-d3b98228],.file-row.is-spine .file-name[data-v-d3b98228]{color:var(--text-primary)}.file-check[data-v-d3b98228]{flex-shrink:0;accent-color:var(--accent);width:14px;height:14px;cursor:pointer}.modal-footer[data-v-d3b98228]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border)}.select-count[data-v-d3b98228]{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.btn-confirm[data-v-d3b98228]{padding:8px 20px;background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-md);color:#0c0b0a;font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background var(--transition),box-shadow var(--transition)}.btn-confirm[data-v-d3b98228]:hover:not(:disabled){background:#dba040;box-shadow:0 0 0 3px var(--accent-glow)}.btn-confirm[data-v-d3b98228]:disabled{background:var(--bg-raised);border-color:var(--border);color:var(--text-muted);cursor:not-allowed}.control-panel[data-v-4241a610]{padding:14px 14px 20px;display:flex;flex-direction:column;gap:22px}.section[data-v-4241a610]{display:flex;flex-direction:column;gap:10px}.section-title[data-v-4241a610]{font-family:var(--font-ui);font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em}.hidden-input[data-v-4241a610]{display:none}.btn[data-v-4241a610]{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border-radius:var(--radius-md);font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);white-space:nowrap}.btn-outline[data-v-4241a610]{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-outline[data-v-4241a610]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.btn-accent[data-v-4241a610]{background:var(--accent);border:1px solid var(--accent);color:#0c0b0a;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.btn-accent[data-v-4241a610]:hover:not(:disabled){background:#dba040;border-color:#dba040;box-shadow:0 0 0 3px var(--accent-glow)}.btn-accent[data-v-4241a610]:disabled{opacity:.3;cursor:not-allowed}.load-buttons[data-v-4241a610]{display:flex;gap:8px}.load-buttons .btn[data-v-4241a610]{flex:1}.file-list[data-v-4241a610]{display:flex;flex-direction:column;gap:5px}.file-item[data-v-4241a610]{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:var(--radius-sm)}.file-type-dot[data-v-4241a610]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.file-type-dot--skeleton[data-v-4241a610]{background:var(--info)}.file-type-dot--atlas[data-v-4241a610]{background:var(--success)}.file-type-dot--texture[data-v-4241a610]{background:var(--accent)}.file-name[data-v-4241a610]{flex:1;font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-ext[data-v-4241a610]{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);flex-shrink:0}.missing-hint[data-v-4241a610]{font-size:11px;color:var(--danger);padding:6px 8px;background:#c46b5a14;border-radius:var(--radius-sm);border:1px solid rgba(196,107,90,.2);display:flex;flex-direction:column;gap:4px}.status-hint[data-v-4241a610]{font-size:11px;color:var(--text-muted);padding:6px 8px;background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-muted)}.subsection[data-v-4241a610]{display:flex;flex-direction:column;gap:8px}.subsection-title[data-v-4241a610]{font-family:var(--font-ui);font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em}.group-list[data-v-4241a610]{display:flex;flex-direction:column;gap:8px}.group-card[data-v-4241a610]{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition)}.group-card[data-v-4241a610]:hover{border-color:var(--border-glow)}.group-card.selected[data-v-4241a610]{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 1px #c98d2a1f}.group-card.disabled[data-v-4241a610]{opacity:.82}.group-radio[data-v-4241a610]{margin-top:2px;accent-color:var(--accent);flex-shrink:0}.group-copy[data-v-4241a610]{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.group-header[data-v-4241a610]{display:flex;align-items:center;justify-content:space-between;gap:8px}.group-title[data-v-4241a610]{font-size:12px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-status[data-v-4241a610]{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;flex-shrink:0}.group-status.ready[data-v-4241a610]{color:var(--success)}.group-status.invalid[data-v-4241a610]{color:var(--danger)}.group-meta[data-v-4241a610]{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--text-muted)}.group-issues[data-v-4241a610]{font-size:11px;color:var(--danger);line-height:1.4}.select-wrapper[data-v-4241a610]{position:relative}.select-input[data-v-4241a610]{width:100%;padding:9px 32px 9px 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color var(--transition)}.select-input[data-v-4241a610]:focus{outline:none;border-color:var(--accent)}.select-input option[data-v-4241a610]{background:var(--bg-surface);color:var(--text-primary)}.select-chevron[data-v-4241a610]{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.info-grid[data-v-4241a610]{display:flex;flex-direction:column;gap:6px}.info-row[data-v-4241a610]{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.info-label[data-v-4241a610]{font-size:11px;color:var(--text-muted)}.info-value[data-v-4241a610]{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%;text-align:right}.info-value.mono[data-v-4241a610]{font-family:var(--font-mono);color:var(--text-primary);font-size:11px}.toggle-row[data-v-4241a610]{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label-text[data-v-4241a610]{font-size:12px;color:var(--text-secondary)}.toggle-switch[data-v-4241a610]{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.toggle-input[data-v-4241a610]{position:absolute;opacity:0;width:0;height:0}.toggle-track[data-v-4241a610]{position:relative;display:inline-block;width:34px;height:19px;background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;transition:background var(--transition),border-color var(--transition)}.toggle-thumb[data-v-4241a610]{position:absolute;top:3px;left:3px;width:11px;height:11px;background:var(--text-muted);border-radius:50%;transition:transform var(--transition),background var(--transition)}.toggle-input:checked+.toggle-track[data-v-4241a610]{background:var(--accent-dim);border-color:var(--accent)}.toggle-input:checked+.toggle-track .toggle-thumb[data-v-4241a610]{transform:translate(15px);background:var(--accent)}.version-section[data-v-4241a610]{display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:var(--radius-md)}.version-row[data-v-4241a610]{display:flex;align-items:center;justify-content:space-between}.version-label[data-v-4241a610]{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.version-value[data-v-4241a610]{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.version-badge[data-v-4241a610]{font-family:var(--font-mono);font-size:10px;font-weight:500;padding:2px 7px;border-radius:3px;letter-spacing:.05em}.version-badge--3[data-v-4241a610]{color:#e8c55a;background:#e8c55a1a;border:1px solid rgba(232,197,90,.25)}:root[data-theme=light] .version-badge--3[data-v-4241a610]{color:#8a6200;background:#8a62001a;border:1px solid rgba(138,98,0,.3)}.version-badge--4[data-v-4241a610]{color:var(--info);background:#5b96d41a;border:1px solid rgba(91,150,212,.25)}.playback-overlay[data-v-bee793e7]{position:absolute;right:20px;bottom:20px;width:min(380px,calc(100% - 24px));display:flex;flex-direction:column;gap:14px;padding:14px 16px;border:1px solid var(--border-glow);border-radius:var(--radius-lg);background:var(--bg-overlay);box-shadow:0 8px 32px #00000080,0 0 0 1px #c98d2a14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:2}.time-row[data-v-bee793e7]{display:flex;align-items:baseline;justify-content:center;gap:4px}.time-current[data-v-bee793e7]{font-family:var(--font-mono);font-size:20px;font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:.04em}.time-sep[data-v-bee793e7]{font-family:var(--font-mono);font-size:14px;color:var(--text-muted);margin:0 2px}.time-total[data-v-bee793e7]{font-family:var(--font-mono);font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums}.progress-row[data-v-bee793e7]{display:flex;align-items:center}.timeline-shell[data-v-bee793e7]{position:relative;width:100%;padding-top:24px}.timeline-track[data-v-bee793e7]{position:relative;width:100%;height:8px;border-radius:999px;background:linear-gradient(90deg,#ffffff14,#ffffff24);cursor:pointer}.timeline-track.is-scrubbing[data-v-bee793e7]{cursor:grabbing}.timeline-progress[data-v-bee793e7]{position:absolute;inset:0 auto 0 0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c98d2a4d,#c98d2ae0)}.timeline-thumb[data-v-bee793e7]{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid rgba(12,11,10,.84);box-shadow:0 0 0 1px var(--accent-glow);transform:translate(-50%,-50%)}.timeline-marker[data-v-bee793e7]{position:absolute;top:50%;width:28px;height:28px;padding:0;border:0;background:transparent;transform:translate(-50%,-50%);cursor:pointer;z-index:2}.timeline-marker-dot[data-v-bee793e7]{position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;background:var(--info);border:2px solid rgba(12,11,10,.9);box-shadow:0 0 0 1px #5b96d459;transform:translate(-50%,-50%);transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition)}.timeline-marker-wave[data-v-bee793e7]{position:absolute;top:50%;left:50%;width:12px;height:12px;border-radius:50%;border:2px solid transparent;opacity:0;transform:translate(-50%,-50%) scale(.6);pointer-events:none}.timeline-marker.is-notified .timeline-marker-dot[data-v-bee793e7]{background:var(--event-highlight-fill);border-color:var(--event-highlight-border);box-shadow:0 0 0 2px color-mix(in srgb,var(--event-highlight-ring) 70%,transparent),0 0 12px var(--event-highlight-glow),0 0 20px var(--event-highlight-glow-wide)}.timeline-marker.is-notified .timeline-marker-wave[data-v-bee793e7]{border-color:var(--event-highlight-fill);box-shadow:0 0 10px var(--event-highlight-glow),0 0 18px var(--event-highlight-glow-wide);animation:timeline-marker-wave-bee793e7 .5s ease-out forwards}.timeline-marker:hover .timeline-marker-dot[data-v-bee793e7],.timeline-marker:focus-visible .timeline-marker-dot[data-v-bee793e7]{transform:translate(-50%,-50%) scale(1.15);box-shadow:0 0 0 4px #5b96d429;background:#7db0e6}@keyframes timeline-marker-wave-bee793e7{0%{transform:translate(-50%,-50%) scale(.65);opacity:.92;box-shadow:0 0 8px var(--event-highlight-glow),0 0 14px var(--event-highlight-glow-wide)}to{transform:translate(-50%,-50%) scale(3.1);opacity:0;box-shadow:0 0 26px transparent,0 0 42px transparent}}.timeline-tooltip[data-v-bee793e7]{position:absolute;top:0;max-width:min(240px,calc(100vw - 48px));padding:9px 11px;border:1px solid var(--tooltip-border);border-radius:var(--radius-md);background:var(--tooltip-bg);box-shadow:0 10px 24px #00000047;pointer-events:none;z-index:4;transform:translate(-50%)}.timeline-tooltip.is-left[data-v-bee793e7]{transform:translate(0)}.timeline-tooltip.is-right[data-v-bee793e7]{transform:translate(-100%)}.timeline-tooltip-time[data-v-bee793e7]{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--tooltip-muted)}.timeline-tooltip-copy[data-v-bee793e7]{margin-top:4px;font-size:12px;font-weight:500;line-height:1.45;color:var(--tooltip-text);word-break:break-word}.controls-row[data-v-bee793e7]{display:flex;align-items:center;gap:10px}.ctrl-btn[data-v-bee793e7]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}.ctrl-btn[data-v-bee793e7]:hover{background:var(--bg-raised);border-color:var(--text-muted);color:var(--text-primary)}.ctrl-btn--primary[data-v-bee793e7]{width:40px;height:40px;background:var(--accent-dim);border-color:var(--border-glow);color:var(--accent)}.ctrl-btn--primary[data-v-bee793e7]:hover{background:var(--accent-glow);box-shadow:0 0 0 3px #c98d2a26;color:var(--accent)}.speed-group[data-v-bee793e7]{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.speed-label[data-v-bee793e7]{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);flex-shrink:0;width:34px;text-align:right}.range-track[data-v-bee793e7]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:3px;background:var(--bg-raised);border-radius:2px;outline:none;cursor:pointer;position:relative}.range-track[data-v-bee793e7]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid rgba(12,11,10,.8);box-shadow:0 0 0 1px var(--accent-glow);transition:box-shadow var(--transition)}.range-track[data-v-bee793e7]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid rgba(12,11,10,.8)}.range-track[data-v-bee793e7]:hover::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--accent-glow)}.range-track--speed[data-v-bee793e7]{height:2px}.range-track--speed[data-v-bee793e7]::-webkit-slider-thumb{width:10px;height:10px}@media(max-width:900px){.playback-overlay[data-v-bee793e7]{right:14px;bottom:14px}}@media(max-width:640px){.playback-overlay[data-v-bee793e7]{left:10px;right:10px;bottom:10px;width:auto}.timeline-tooltip[data-v-bee793e7]{max-width:min(200px,calc(100vw - 32px))}}.spine-canvas-container[data-v-97ea7548]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#000}.spine-canvas[data-v-97ea7548]{width:100%;height:100%;object-fit:contain;cursor:grab;touch-action:none}.spine-canvas.is-dragging[data-v-97ea7548]{cursor:grabbing}.loading-overlay[data-v-97ea7548],.error-overlay[data-v-97ea7548],.viewport-overlay[data-v-97ea7548]{position:absolute;z-index:10}.loading-overlay[data-v-97ea7548],.error-overlay[data-v-97ea7548]{top:50%;left:50%;transform:translate(-50%,-50%)}.loading-overlay[data-v-97ea7548]{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:var(--radius-md);background:var(--bg-overlay);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:var(--font-ui);font-size:12px;color:var(--text-secondary);letter-spacing:.06em}.loading-overlay[data-v-97ea7548]:before{content:"";display:block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-97ea7548 .8s linear infinite;flex-shrink:0}@keyframes spin-97ea7548{to{transform:rotate(360deg)}}.error-overlay[data-v-97ea7548]{padding:14px 20px;border-radius:var(--radius-md);background:var(--bg-overlay);border:1px solid rgba(196,107,90,.4);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:var(--font-ui);font-size:12px;color:var(--danger);max-width:320px;text-align:center}.viewport-overlay[data-v-97ea7548]{top:14px;right:14px;display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-md);background:var(--bg-overlay);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.viewport-metrics[data-v-97ea7548]{display:flex;gap:8px;font-family:var(--font-mono);font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.04em}.reset-view-btn[data-v-97ea7548]{padding:4px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-family:var(--font-ui);font-size:10px;letter-spacing:.06em;cursor:pointer;transition:border-color var(--transition),color var(--transition),background var(--transition)}.reset-view-btn[data-v-97ea7548]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.skeleton-tree[data-v-9ded6868]{display:flex;flex-direction:column;gap:3px}.tree-node[data-v-9ded6868]{border:1px solid var(--border-muted);border-radius:var(--radius-md);background:var(--bg-surface);overflow:hidden}.tree-summary[data-v-9ded6868]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;cursor:pointer;list-style:none;transition:background var(--transition)}.tree-summary[data-v-9ded6868]:hover{background:var(--bg-raised)}.tree-summary.is-selected[data-v-9ded6868]{background:var(--accent-dim);border-left:2px solid var(--accent);padding-left:8px}.tree-summary[data-v-9ded6868]::-webkit-details-marker{display:none}.tree-summary[data-v-9ded6868]:before{content:"›";color:var(--text-muted);font-size:14px;line-height:1;margin-right:4px;transition:transform var(--transition),color var(--transition);flex-shrink:0}.tree-node[open]>.tree-summary[data-v-9ded6868]:before{transform:rotate(90deg);color:var(--accent)}.bone-name[data-v-9ded6868]{flex:1;font-family:var(--font-ui);font-size:12px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bone-meta[data-v-9ded6868]{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);flex-shrink:0}.slot-list[data-v-9ded6868]{display:flex;flex-direction:column;padding:2px 0 6px;border-top:1px solid var(--border-muted)}.slot-item[data-v-9ded6868]{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 10px 5px 24px;font-size:11px;cursor:pointer;transition:background var(--transition)}.slot-item[data-v-9ded6868]:hover{background:var(--bg-raised)}.slot-item.is-selected[data-v-9ded6868]{background:#5fad821a;border-left:2px solid var(--success);padding-left:22px}.slot-name[data-v-9ded6868]{font-family:var(--font-ui);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-attachment[data-v-9ded6868]{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);text-align:right;flex-shrink:0}.structure-panel[data-v-2c407fd8]{padding:14px 14px 20px;display:flex;flex-direction:column;gap:20px}.section[data-v-2c407fd8]{display:flex;flex-direction:column;gap:10px}.section-title[data-v-2c407fd8]{display:flex;align-items:baseline;gap:8px;font-family:var(--font-ui);font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em}.hierarchy-counts[data-v-2c407fd8]{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);text-transform:none;letter-spacing:0;font-weight:400}.hierarchy-section[data-v-2c407fd8]{min-height:0}.toggle-group[data-v-2c407fd8]{display:flex;flex-direction:column;gap:8px}.toggle-row[data-v-2c407fd8]{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label-text[data-v-2c407fd8]{font-size:12px;color:var(--text-secondary)}.toggle-switch[data-v-2c407fd8]{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.toggle-input[data-v-2c407fd8]{position:absolute;opacity:0;width:0;height:0}.toggle-track[data-v-2c407fd8]{position:relative;display:inline-block;width:34px;height:19px;background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;transition:background var(--transition),border-color var(--transition)}.toggle-thumb[data-v-2c407fd8]{position:absolute;top:3px;left:3px;width:11px;height:11px;background:var(--text-muted);border-radius:50%;transition:transform var(--transition),background var(--transition)}.toggle-input:checked+.toggle-track[data-v-2c407fd8]{background:var(--accent-dim);border-color:var(--accent)}.toggle-input:checked+.toggle-track .toggle-thumb[data-v-2c407fd8]{transform:translate(15px);background:var(--accent)}.empty-state p[data-v-2c407fd8]{font-size:12px;color:var(--text-muted);line-height:1.6}:root{--bg-base: #0c0b0a;--bg-panel: #131110;--bg-surface: #1c1917;--bg-raised: #242018;--border: #2e2720;--border-muted: #1f1c17;--border-glow: rgba(201, 141, 42, .35);--bg-overlay: rgba(13, 11, 10, .92);--text-primary: #f5ede0;--text-secondary: #c2ae98;--text-muted: #8a7e72;--accent: #c98d2a;--accent-dim: rgba(201, 141, 42, .12);--accent-glow: rgba(201, 141, 42, .25);--success: #5fad82;--info: #5b96d4;--danger: #c46b5a;--event-highlight-fill: #ffe27a;--event-highlight-border: rgba(55, 39, 6, .95);--event-highlight-ring: rgba(255, 226, 122, .24);--event-highlight-glow: rgba(255, 226, 122, .78);--event-highlight-glow-wide: rgba(255, 226, 122, .4);--tooltip-bg: rgba(11, 14, 18, .94);--tooltip-border: rgba(91, 150, 212, .36);--tooltip-text: #f5ede0;--tooltip-muted: #8fc0f1;--font-ui: "Syne", "Noto Sans TC", sans-serif;--font-mono: "DM Mono", "Noto Sans TC", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--transition: .15s ease}:root[data-theme=light]{--bg-base: #f5f0e8;--bg-panel: #ede7db;--bg-surface: #e4ddd1;--bg-raised: #d8d0c3;--border: #c5bdb0;--border-muted: #d4ccbf;--border-glow: rgba(160, 100, 14, .45);--bg-overlay: rgba(232, 225, 212, .95);--text-primary: #1c1610;--text-secondary: #4a4038;--text-muted: #7a7060;--accent: #a06c10;--accent-dim: rgba(160, 108, 16, .1);--accent-glow: rgba(160, 108, 16, .22);--success: #2e8a56;--info: #2e6cb8;--danger: #b04030;--event-highlight-fill: #c97700;--event-highlight-border: rgba(255, 248, 235, .95);--event-highlight-ring: rgba(201, 119, 0, .28);--event-highlight-glow: rgba(173, 95, 0, .88);--event-highlight-glow-wide: rgba(173, 95, 0, .45);--tooltip-bg: rgba(248, 242, 233, .98);--tooltip-border: rgba(46, 108, 184, .3);--tooltip-text: #1c1610;--tooltip-muted: #2e6cb8}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{width:100%;height:100%;overflow:hidden;font-family:var(--font-ui)}.spine-viewer{display:flex;width:100%;height:100%;background:var(--bg-base);color:var(--text-primary)}.sidebar{width:272px;min-width:272px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;background:var(--bg-panel)}.sidebar-content{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.sidebar-footer{margin-top:auto;padding:14px 16px 18px;border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;gap:8px;position:relative;z-index:1;background:var(--bg-panel);box-shadow:0 -8px 20px #00000029}.sidebar-link{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color var(--transition)}.sidebar-link:hover{color:var(--accent)}.sidebar-link-button{justify-content:flex-start;border:0;background:transparent;cursor:pointer;padding:0}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:18px 16px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-brand-copy{flex:1;min-width:0}.brand-title{display:flex;align-items:baseline;gap:7px}.brand-spine{font-family:var(--font-ui);font-size:17px;font-weight:700;letter-spacing:.14em;color:var(--accent)}.brand-viewer{font-family:var(--font-ui);font-size:10px;font-weight:400;letter-spacing:.28em;color:var(--text-muted);text-transform:uppercase}.brand-version{display:inline-block;margin-top:4px;font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.08em}.theme-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:color var(--transition),border-color var(--transition),background var(--transition)}.theme-toggle:hover{color:var(--accent);border-color:var(--border-glow);background:var(--accent-dim)}.sidebar-panel{display:flex;flex-direction:column;border-bottom:1px solid var(--border)}.sidebar-panel-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border:0;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:color var(--transition),background var(--transition);flex-shrink:0}.sidebar-panel-header:hover{color:var(--text-primary);background:#ffffff05}.panel-chevron{color:var(--text-muted);transition:transform var(--transition),color var(--transition);flex-shrink:0}.panel-chevron.open{transform:rotate(180deg);color:var(--accent)}.sidebar-panel-body{overflow:visible}.main-content{position:relative;flex:1;display:flex;align-items:center;justify-content:center;background:#000}.info-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#070605ad;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1200}.info-modal{width:min(100%,460px);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);box-shadow:0 24px 64px #00000073;overflow:hidden}.info-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 14px;border-bottom:1px solid var(--border)}.info-modal-kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.info-modal-title{margin-top:6px;font-size:20px;color:var(--text-primary)}.info-modal-close{width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;transition:color var(--transition),border-color var(--transition),background var(--transition)}.info-modal-close:hover{color:var(--accent);border-color:var(--border-glow);background:var(--accent-dim)}.info-modal-body{display:flex;flex-direction:column;gap:12px;padding:18px}.info-modal-copy{font-size:13px;line-height:1.75;color:var(--text-secondary)}
