.control-panel[data-v-7a67a910]{padding:14px 14px 20px;display:flex;flex-direction:column;gap:22px}.section[data-v-7a67a910]{display:flex;flex-direction:column;gap:10px}.section-heading[data-v-7a67a910]{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title[data-v-7a67a910]{font-family:var(--font-ui);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em}.mini-action-btn[data-v-7a67a910],.mini-icon-btn[data-v-7a67a910]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;cursor:pointer;transition:border-color var(--transition),color var(--transition),background var(--transition)}.mini-action-btn[data-v-7a67a910]{padding:5px 8px}.mini-icon-btn[data-v-7a67a910]{padding:4px 7px}.mini-action-btn[data-v-7a67a910]:hover,.mini-icon-btn[data-v-7a67a910]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.track-list[data-v-7a67a910]{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.track-list[data-v-7a67a910]::-webkit-scrollbar{width:4px}.track-list[data-v-7a67a910]::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.track-list[data-v-7a67a910]::-webkit-scrollbar-track{background:transparent}.track-card[data-v-7a67a910]{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffff05}.track-card-header[data-v-7a67a910]{display:flex;align-items:center;justify-content:space-between;gap:10px}.track-card-actions[data-v-7a67a910]{display:flex;align-items:center;gap:6px}.track-chip[data-v-7a67a910]{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--accent)}.track-loop-row[data-v-7a67a910]{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:var(--text-secondary);flex-shrink:0}.track-loop-label[data-v-7a67a910]{line-height:1.2}.track-settings-row[data-v-7a67a910]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}.track-mix-field[data-v-7a67a910]{display:flex;align-items:center;gap:8px;flex-shrink:0}.track-mix-label[data-v-7a67a910],.track-mix-unit[data-v-7a67a910]{font-size:11px;color:var(--text-muted)}.track-mix-input[data-v-7a67a910]{width:78px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-mono);font-size:12px}.track-mix-input[data-v-7a67a910]:focus{outline:none;border-color:var(--accent)}.track-mix-input[data-v-7a67a910]:disabled{cursor:not-allowed;color:var(--text-muted);border-color:var(--border-muted);background:color-mix(in srgb,var(--bg-surface) 70%,transparent);opacity:.6}.track-mix-input[data-v-7a67a910]:disabled::-webkit-inner-spin-button,.track-mix-input[data-v-7a67a910]:disabled::-webkit-outer-spin-button{opacity:.35}.select-wrapper[data-v-7a67a910]{position:relative}.select-input[data-v-7a67a910]{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-7a67a910]:focus{outline:none;border-color:var(--accent)}.select-input option[data-v-7a67a910]{background:var(--bg-surface);color:var(--text-primary)}.select-chevron[data-v-7a67a910]{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.info-grid[data-v-7a67a910]{display:flex;flex-direction:column;gap:6px}.info-row[data-v-7a67a910]{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.info-label[data-v-7a67a910]{font-size:11px;color:var(--text-muted)}.info-value[data-v-7a67a910]{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-7a67a910]{font-family:var(--font-mono)}.toggle-row[data-v-7a67a910]{display:flex;align-items:center;justify-content:space-between;gap:12px}.toggle-label-text[data-v-7a67a910]{font-size:12px;color:var(--text-secondary)}.toggle-switch[data-v-7a67a910]{position:relative;display:inline-flex;align-items:center}.toggle-input[data-v-7a67a910]{position:absolute;opacity:0;pointer-events:none}.toggle-track[data-v-7a67a910]{width:34px;height:20px;border-radius:999px;background:var(--bg-surface);border:1px solid var(--border);display:inline-flex;align-items:center;padding:2px;transition:background var(--transition),border-color var(--transition)}.toggle-thumb[data-v-7a67a910]{width:14px;height:14px;border-radius:50%;background:var(--text-muted);transition:transform var(--transition),background var(--transition)}.toggle-input:checked+.toggle-track[data-v-7a67a910]{background:var(--accent-dim);border-color:var(--accent)}.toggle-input:checked+.toggle-track .toggle-thumb[data-v-7a67a910]{transform:translate(14px);background:var(--accent)}.debug-option-grid[data-v-7a67a910]{display:flex;flex-direction:column;gap:10px}.debug-toggle-row[data-v-7a67a910]{min-height:20px}.version-section[data-v-7a67a910]{display:flex;flex-direction:column;gap:6px;padding-top:2px}.version-row[data-v-7a67a910]{display:flex;align-items:center;justify-content:space-between;gap:12px}.version-label[data-v-7a67a910]{font-size:11px;color:var(--text-muted)}.version-value[data-v-7a67a910]{font-size:12px;color:var(--text-secondary)}.version-badge[data-v-7a67a910]{padding:3px 8px;border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;border:1px solid var(--border);background:var(--bg-surface)}.version-badge--3[data-v-7a67a910]{color:var(--info);border-color:#71a0ff59}.version-badge--4[data-v-7a67a910]{color:var(--success);border-color:#6cae7c59}.load-files-panel[data-v-700ce983]{padding:14px 14px 20px;display:flex;flex-direction:column;gap:10px}.hidden-input[data-v-700ce983]{display:none}.btn[data-v-700ce983]{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-700ce983]{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-outline[data-v-700ce983]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.btn[data-v-700ce983]:disabled{opacity:.55;cursor:wait}.btn-outline[data-v-700ce983]:disabled:hover{border-color:var(--border);color:var(--text-secondary);background:transparent}.btn-accent[data-v-700ce983]{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-700ce983]:hover:not(:disabled){background:#dba040;border-color:#dba040;box-shadow:0 0 0 3px var(--accent-glow)}.btn-accent[data-v-700ce983]:disabled{opacity:.3;cursor:not-allowed}.load-buttons[data-v-700ce983]{display:flex;flex-direction:column;gap:8px}.load-local-group[data-v-700ce983]{display:flex;gap:8px}.load-local-group .btn[data-v-700ce983],.btn-drive[data-v-700ce983]{flex:1}.file-summary-card[data-v-700ce983]{display:flex;flex-direction:column;gap:10px;padding:10px;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:var(--radius-md)}.file-summary-header[data-v-700ce983]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.file-summary-copy[data-v-700ce983]{display:flex;flex-direction:column;gap:3px;min-width:0}.file-summary-title[data-v-700ce983]{font-size:11px;font-weight:600;color:var(--text-primary);letter-spacing:.04em;text-transform:uppercase}.file-summary-total[data-v-700ce983]{font-size:11px;color:var(--text-muted)}.summary-toggle-btn[data-v-700ce983]{border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;padding:4px 8px;cursor:pointer;transition:border-color var(--transition),color var(--transition),background var(--transition);flex-shrink:0}.summary-toggle-btn[data-v-700ce983]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.file-summary-stats[data-v-700ce983]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.file-summary-stat[data-v-700ce983]{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 8px;border:1px solid var(--border-muted);border-radius:var(--radius-sm);font-size:11px;color:var(--text-secondary)}.file-list[data-v-700ce983]{display:flex;flex-direction:column;gap:5px;max-height:156px;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.file-list[data-v-700ce983]::-webkit-scrollbar{width:4px}.file-list[data-v-700ce983]::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.file-list[data-v-700ce983]::-webkit-scrollbar-track{background:transparent}.file-item[data-v-700ce983]{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-700ce983]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.file-type-dot--skeleton[data-v-700ce983]{background:var(--info)}.file-type-dot--atlas[data-v-700ce983]{background:var(--success)}.file-type-dot--texture[data-v-700ce983]{background:var(--accent)}.file-name[data-v-700ce983]{flex:1;font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px),(max-width:900px)and (max-height:480px){.load-buttons[data-v-700ce983]{gap:10px}.btn[data-v-700ce983]{min-height:44px}.btn-drive[data-v-700ce983]{order:-1}.file-summary-stats[data-v-700ce983]{grid-template-columns:1fr}}.file-ext[data-v-700ce983]{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);flex-shrink:0}.missing-hint[data-v-700ce983]{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-700ce983]{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-700ce983]{display:flex;flex-direction:column;gap:8px}.subsection-title[data-v-700ce983]{font-family:var(--font-ui);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em}.group-list[data-v-700ce983]{display:flex;flex-direction:column;gap:8px}.group-card[data-v-700ce983]{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-700ce983]:hover{border-color:var(--border-glow)}.group-card.selected[data-v-700ce983]{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 1px #c98d2a1f}.group-card.disabled[data-v-700ce983]{opacity:.82}.group-radio[data-v-700ce983]{margin-top:2px;accent-color:var(--accent);flex-shrink:0}.group-copy[data-v-700ce983]{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.group-header[data-v-700ce983]{display:flex;align-items:center;justify-content:space-between;gap:8px}.group-title[data-v-700ce983]{font-size:12px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-status[data-v-700ce983]{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;flex-shrink:0}.group-status.ready[data-v-700ce983]{color:var(--success)}.group-status.invalid[data-v-700ce983]{color:var(--danger)}.group-meta[data-v-700ce983]{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--text-muted)}.group-issues[data-v-700ce983]{font-size:11px;color:var(--danger);line-height:1.4}.playback-overlay[data-v-cf5dfd85]{position:absolute;left:50%;bottom:16px;width:min(680px,calc(100% - 48px));display:flex;flex-direction:column;gap:10px;padding:10px 14px;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);transform:translate(-50%);z-index:2}.playback-overlay--collapsed[data-v-cf5dfd85]{width:min(360px,calc(100% - 48px))}.playback-dock-header[data-v-cf5dfd85]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.playback-dock-title[data-v-cf5dfd85]{min-width:0;overflow:hidden;color:var(--text-primary);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.playback-dock-toggle[data-v-cf5dfd85]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.playback-dock-toggle[data-v-cf5dfd85]:hover,.playback-dock-toggle[data-v-cf5dfd85]:focus-visible{outline:none;border-color:var(--border-glow);background:var(--accent-dim);color:var(--accent)}.playback-dock-content[data-v-cf5dfd85]{display:flex;flex-direction:column;gap:10px}.track-selector-row[data-v-cf5dfd85]{display:flex;align-items:center;gap:10px}.track-selector-label[data-v-cf5dfd85]{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);flex-shrink:0}.track-selector-wrapper[data-v-cf5dfd85]{position:relative;flex:1}.track-selector-input[data-v-cf5dfd85]{width:100%;padding:8px 30px 8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-ui);font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.track-selector-input[data-v-cf5dfd85]:focus{outline:none;border-color:var(--accent)}.track-selector-chevron[data-v-cf5dfd85]{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.time-row[data-v-cf5dfd85]{display:flex;align-items:baseline;justify-content:center;gap:4px}.time-current[data-v-cf5dfd85]{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-cf5dfd85]{font-family:var(--font-mono);font-size:14px;color:var(--text-muted);margin:0 2px}.time-total[data-v-cf5dfd85]{font-family:var(--font-mono);font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums}.progress-row[data-v-cf5dfd85]{display:flex;align-items:center}.timeline-shell[data-v-cf5dfd85]{position:relative;width:100%;padding-top:24px}.timeline-track[data-v-cf5dfd85]{position:relative;width:100%;height:8px;border-radius:999px;background:linear-gradient(90deg,#ffffff14,#ffffff24);cursor:pointer}.timeline-track.is-scrubbing[data-v-cf5dfd85]{cursor:grabbing}.timeline-progress[data-v-cf5dfd85]{position:absolute;inset:0 auto 0 0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c98d2a4d,#c98d2ae0)}.timeline-thumb[data-v-cf5dfd85]{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-cf5dfd85]{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-cf5dfd85]{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-cf5dfd85]{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-cf5dfd85]{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-cf5dfd85]{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-cf5dfd85 .5s ease-out forwards}.timeline-marker:hover .timeline-marker-dot[data-v-cf5dfd85],.timeline-marker:focus-visible .timeline-marker-dot[data-v-cf5dfd85]{transform:translate(-50%,-50%) scale(1.15);box-shadow:0 0 0 4px #5b96d429;background:#7db0e6}@keyframes timeline-marker-wave-cf5dfd85{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-cf5dfd85]{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-cf5dfd85]{transform:translate(0)}.timeline-tooltip.is-right[data-v-cf5dfd85]{transform:translate(-100%)}.timeline-tooltip-time[data-v-cf5dfd85]{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--tooltip-muted)}.timeline-tooltip-copy[data-v-cf5dfd85]{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-cf5dfd85]{display:flex;align-items:center;gap:10px}.ctrl-btn[data-v-cf5dfd85]{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-cf5dfd85]:hover{background:var(--bg-raised);border-color:var(--text-muted);color:var(--text-primary)}.ctrl-btn--primary[data-v-cf5dfd85]{width:40px;height:40px;background:var(--accent-dim);border-color:var(--border-glow);color:var(--accent)}.ctrl-btn--primary[data-v-cf5dfd85]:hover{background:var(--accent-glow);box-shadow:0 0 0 3px #c98d2a26;color:var(--accent)}.speed-group[data-v-cf5dfd85]{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.speed-label[data-v-cf5dfd85]{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);flex-shrink:0;width:34px;text-align:right}.range-track[data-v-cf5dfd85]{-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-cf5dfd85]::-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-cf5dfd85]::-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-cf5dfd85]:hover::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--accent-glow)}.range-track--speed[data-v-cf5dfd85]{height:2px}.range-track--speed[data-v-cf5dfd85]::-webkit-slider-thumb{width:10px;height:10px}@media(max-width:900px){.playback-overlay[data-v-cf5dfd85]{left:auto;right:14px;bottom:14px;width:min(420px,calc(100% - 20px));transform:none}}@media(max-width:640px),(max-width:900px)and (max-height:480px){.playback-overlay[data-v-cf5dfd85]{left:10px;right:10px;bottom:calc(var(--mobile-bottom-nav-height, 64px) + var(--mobile-bottom-nav-gap, 10px) + var(--mobile-bottom-nav-bottom, max(12px, env(safe-area-inset-bottom))));width:auto;gap:12px;padding:12px 12px 14px;transform:none}.track-selector-row[data-v-cf5dfd85]{gap:8px}.track-selector-label[data-v-cf5dfd85]{font-size:10px}.time-current[data-v-cf5dfd85]{font-size:17px}.time-total[data-v-cf5dfd85],.time-sep[data-v-cf5dfd85]{font-size:12px}.controls-row[data-v-cf5dfd85]{gap:8px}.ctrl-btn[data-v-cf5dfd85]{width:44px;height:44px}.ctrl-btn--primary[data-v-cf5dfd85]{width:48px;height:48px}.timeline-track[data-v-cf5dfd85]{height:12px}.timeline-thumb[data-v-cf5dfd85]{width:20px;height:20px}.timeline-marker[data-v-cf5dfd85]{width:44px;height:44px}.timeline-marker-dot[data-v-cf5dfd85]{width:10px;height:10px}.speed-group[data-v-cf5dfd85]{flex:1;min-width:0}.speed-label[data-v-cf5dfd85]{width:28px;font-size:10px}.range-track[data-v-cf5dfd85]{height:6px}.range-track--speed[data-v-cf5dfd85]::-webkit-slider-thumb{width:22px;height:22px}.range-track[data-v-cf5dfd85]::-moz-range-thumb{width:22px;height:22px}.timeline-tooltip[data-v-cf5dfd85]{max-width:min(200px,calc(100vw - 32px))}}.spine-canvas-container[data-v-68feba49]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#000}.spine-canvas[data-v-68feba49]{width:100%;height:100%;object-fit:contain;cursor:grab;touch-action:none}.spine-canvas.is-dragging[data-v-68feba49]{cursor:grabbing}.loading-overlay[data-v-68feba49],.error-overlay[data-v-68feba49],.viewport-overlay[data-v-68feba49]{position:absolute;z-index:10}.loading-overlay[data-v-68feba49],.error-overlay[data-v-68feba49]{top:50%;left:50%;transform:translate(-50%,-50%)}.loading-overlay[data-v-68feba49]{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-68feba49]:before{content:"";display:block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-68feba49 .8s linear infinite;flex-shrink:0}@keyframes spin-68feba49{to{transform:rotate(360deg)}}.error-overlay[data-v-68feba49]{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;white-space:pre-line;overflow-wrap:anywhere}.viewport-overlay[data-v-68feba49]{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-68feba49]{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-68feba49]{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-68feba49]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.skeleton-tree[data-v-277ce18d]{display:flex;flex-direction:column;gap:3px}.tree-node[data-v-277ce18d]{border:1px solid var(--border-muted);border-radius:var(--radius-md);background:var(--bg-surface);overflow:hidden}.tree-row[data-v-277ce18d]{display:flex;align-items:center;gap:4px;min-height:36px;padding-right:6px}.tree-toggle[data-v-277ce18d]{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;flex-shrink:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.tree-toggle[data-v-277ce18d]:hover,.tree-toggle[data-v-277ce18d]:focus-visible{outline:none;background:var(--bg-raised);color:var(--accent)}.tree-toggle svg[data-v-277ce18d]{transition:transform var(--transition)}.tree-toggle svg.open[data-v-277ce18d]{transform:rotate(90deg)}.tree-toggle--empty[data-v-277ce18d]{pointer-events:none}.tree-select[data-v-277ce18d],.slot-item[data-v-277ce18d]{min-width:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:var(--radius-sm);background:transparent;text-align:left;cursor:pointer}.tree-select[data-v-277ce18d]{min-height:28px;padding:5px 8px}.tree-select[data-v-277ce18d]:hover,.tree-select[data-v-277ce18d]:focus-visible{outline:none;background:var(--bg-raised)}.tree-select.is-selected[data-v-277ce18d]{background:var(--accent-dim);box-shadow:inset 2px 0 var(--accent)}.bone-name[data-v-277ce18d],.slot-name[data-v-277ce18d]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bone-name[data-v-277ce18d]{font-family:var(--font-ui);font-size:12px;font-weight:600;color:var(--text-primary)}.bone-meta[data-v-277ce18d],.slot-attachment[data-v-277ce18d]{flex-shrink:0;font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.tree-children[data-v-277ce18d]{border-top:1px solid var(--border-muted)}.slot-row[data-v-277ce18d]{padding-right:6px}.slot-item[data-v-277ce18d]{min-height:32px;padding:5px 8px;font-size:12px}.slot-item[data-v-277ce18d]:hover,.slot-item[data-v-277ce18d]:focus-visible{outline:none;background:var(--bg-raised)}.slot-item.is-selected[data-v-277ce18d]{background:#5fad821f;box-shadow:inset 2px 0 var(--success)}.slot-name[data-v-277ce18d]{color:var(--text-secondary)}.slot-attachment[data-v-277ce18d]{text-align:right}.structure-panel[data-v-f25b3fc8]{display:flex;flex-direction:column;gap:12px}.section[data-v-f25b3fc8]{display:flex;flex-direction:column;gap:10px}.section-title[data-v-f25b3fc8]{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-heading[data-v-f25b3fc8]{display:flex;align-items:center;justify-content:space-between;gap:10px}.tree-actions[data-v-f25b3fc8]{display:inline-flex;gap:4px;flex-shrink:0}.tree-action-btn[data-v-f25b3fc8]{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-muted);cursor:pointer}.tree-action-btn[data-v-f25b3fc8]:hover,.tree-action-btn[data-v-f25b3fc8]:focus-visible{outline:none;border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.hierarchy-counts[data-v-f25b3fc8]{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-f25b3fc8]{min-height:0}.empty-state p[data-v-f25b3fc8]{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;--mobile-bottom-nav-height: 64px;--mobile-bottom-nav-gap: 10px;--mobile-bottom-nav-bottom: max(12px, env(safe-area-inset-bottom))}:root[data-theme=light]{--bg-base: #f5f0e8;--bg-panel: #ede7db;--bg-surface: #e4ddd1;--bg-raised: #d8d0c3;--border: #b7ad9f;--border-muted: #c9c0b4;--border-glow: rgba(160, 100, 14, .45);--bg-overlay: rgba(232, 225, 212, .95);--text-primary: #1c1610;--text-secondary: #3f3730;--text-muted: #62594f;--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)}button,a,input,select{-webkit-tap-highlight-color:transparent}.spine-viewer{display:flex;position:relative;width:100%;height:100%;min-height:100dvh;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-link-button:disabled{opacity:.5;cursor:wait}.sidebar-status{font-size:11px;line-height:1.5;color:var(--text-muted)}.sidebar-status.error{color:var(--danger)}.share-error-banner{margin:12px 14px 0;padding:10px 10px 11px;border-radius:var(--radius-md);border:1px solid rgba(196,107,90,.32);background:#c46b5a14}.share-error-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--danger)}.share-error-copy{margin-top:4px;font-size:12px;line-height:1.55;color:var(--text-secondary)}.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}.sidebar-panel-header--static{cursor:default}.sidebar-panel-header--static:hover{color:var(--text-secondary);background:transparent}.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}.inspect-subsection{margin:0 14px 14px;padding-top:14px;border-top:1px solid var(--border-muted)}.inspect-subsection-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.inspect-subsection-title{font-family:var(--font-ui);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.share-panel-body{display:flex;flex-direction:column;gap:10px;padding:14px 14px 16px}.share-config-card{display:grid;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}.share-config-title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary)}.share-config-copy{margin:0;font-size:12px;line-height:1.55;color:var(--text-secondary)}.share-option-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.share-option-row.disabled{opacity:.55}.share-option-copy{display:grid;gap:4px}.share-option-title{font-size:12px;font-weight:600;color:var(--text-primary)}.share-option-hint{font-size:11px;line-height:1.5;color:var(--text-muted)}.share-option-switch{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.share-option-checkbox{position:absolute;opacity:0;pointer-events:none}.share-option-track{width:34px;height:20px;border-radius:999px;background:var(--bg-surface);border:1px solid var(--border);display:inline-flex;align-items:center;padding:2px;transition:background var(--transition),border-color var(--transition),opacity var(--transition)}.share-option-thumb{width:14px;height:14px;border-radius:50%;background:var(--text-muted);transition:transform var(--transition),background var(--transition)}.share-option-checkbox:checked+.share-option-track{background:var(--accent-dim);border-color:var(--accent)}.share-option-checkbox:checked+.share-option-track .share-option-thumb{transform:translate(14px);background:var(--accent)}.share-option-checkbox:disabled+.share-option-track{opacity:.5}.share-defaults-summary{display:grid;gap:4px;padding-top:2px;border-top:1px solid var(--border)}.share-defaults-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.share-defaults-value{font-size:12px;line-height:1.5;color:var(--text-secondary)}.share-primary-btn{min-height:38px;padding:9px 12px;border:1px solid var(--border-glow);border-radius:var(--radius-md);background:var(--accent-dim);color:var(--accent);font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition),opacity var(--transition)}.share-primary-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-glow)}.share-primary-btn:disabled{opacity:.55;cursor:wait}.share-export-card{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface) 74%,transparent)}.share-export-copy{display:grid;gap:4px}.share-export-title{font-size:12px;font-weight:600;color:var(--text-primary)}.share-export-hint,.share-export-status{font-size:11px;line-height:1.5;color:var(--text-muted)}.share-secondary-btn{min-height:36px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:border-color var(--transition),color var(--transition),background var(--transition),opacity var(--transition)}.share-secondary-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.share-secondary-btn:disabled{opacity:.55;cursor:wait}.share-preview-summary{display:grid;gap:6px;padding:12px 14px 14px}.share-preview-title{font-size:13px;font-weight:600;line-height:1.5;color:var(--text-primary);word-break:break-word}.share-preview-copy{font-size:12px;line-height:1.5;color:var(--text-secondary)}.share-preview-controls{display:grid;gap:10px;padding:0 14px 14px}.share-preview-field{display:grid;gap:6px}.share-preview-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.share-preview-select-wrap{position:relative}.share-preview-select{width:100%;min-height:36px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-ui);font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.share-preview-select:focus{outline:none;border-color:var(--accent)}.share-history-list{display:flex;flex-direction:column;gap:8px}.inspect-subsection--share-history .share-history-list{padding:0}.share-history-item{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}.share-history-item--revoked,.share-history-item--expired{opacity:.65}.share-history-item--expired{border-color:#5b96d447}.share-history-meta{display:flex;flex-direction:column;gap:4px}.share-history-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.share-history-title{font-size:12px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-history-subtitle{font-family:var(--font-mono);font-size:10px;line-height:1.45;color:var(--text-muted)}.share-history-status{flex-shrink:0;padding:3px 7px;border-radius:999px;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);background:var(--bg-raised)}.share-history-status--active{color:var(--success);border-color:#5fad8259}.share-history-status--revoked{color:var(--danger);border-color:#b4403059}.share-history-status--expired{color:var(--info);border-color:#2e6cb859}.share-history-actions{display:flex;flex-wrap:wrap;gap:6px}.mini-action-btn{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;cursor:pointer;transition:border-color var(--transition),color var(--transition),background var(--transition),opacity var(--transition)}.mini-action-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.mini-action-btn:disabled{opacity:.45;cursor:not-allowed}.mini-action-btn.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger);background:#c46b5a14}.mini-action-btn.danger{color:var(--danger)}.mini-action-btn:disabled{color:var(--text-muted)}.main-content{position:relative;flex:1;display:flex;align-items:center;justify-content:center;background:#000}.empty-load-state{position:absolute;top:50%;left:50%;z-index:12;display:grid;justify-items:center;gap:14px;width:min(100% - 40px,360px);transform:translate(-50%,-50%);text-align:center}.empty-load-state__eyebrow{margin:0;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--accent)}.empty-load-state__title{margin:0;color:var(--text-primary);font-family:var(--font-ui);font-size:22px;line-height:1.2}.empty-load-state__copy{margin:0;color:var(--text-secondary);font-family:var(--font-ui);font-size:13px}.empty-load-state__arrow{color:var(--accent);animation:empty-load-arrow 1.6s ease-in-out infinite}@keyframes empty-load-arrow{50%{transform:translate(-7px)}}.sidebar-panel--empty-state-focus{position:relative;box-shadow:inset 3px 0 0 var(--accent)}.sidebar-panel-header-title{display:inline-flex;align-items:center;gap:8px}.sidebar-panel-start-hint{padding:3px 6px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:var(--radius-sm);background:var(--accent-dim);color:var(--accent);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.mobile-bottom-nav,.mobile-floating-share{display:none}.share-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:20px;background:#070605b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.share-confirm-modal{width:min(100%,560px);max-height:min(720px,calc(100dvh - 40px));display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);box-shadow:0 24px 72px #00000080;overflow:hidden}.share-confirm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 14px;border-bottom:1px solid var(--border)}.share-confirm-kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.share-confirm-title{margin-top:6px;font-size:20px;color:var(--text-primary)}.share-confirm-body{min-height:0;overflow-y:auto;display:grid;gap:14px;padding:18px}.share-confirm-copy{font-size:13px;line-height:1.65;color:var(--text-secondary)}.share-confirm-section{display:grid;gap:8px}.share-confirm-section-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.share-confirm-file-list{display:grid;gap:7px}.share-confirm-file,.share-confirm-detail-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:36px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface)}.share-confirm-file-name,.share-confirm-detail-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:12px}.share-confirm-file-meta,.share-confirm-detail-row span{flex-shrink:0;color:var(--text-muted);font-family:var(--font-mono);font-size:10px}.share-confirm-error{padding:10px;border:1px solid rgba(196,107,90,.28);border-radius:var(--radius-md);background:#c46b5a14;color:var(--danger);font-size:12px;line-height:1.5}.share-confirm-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px 18px;border-top:1px solid var(--border)}.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)}@media(max-width:900px){.main-content{min-height:0}}@media(max-width:640px),(max-width:900px)and (max-height:480px){.spine-viewer{flex-direction:column;min-height:100dvh}.sidebar{width:auto;min-width:0}.sidebar--mobile-sheet{position:fixed;left:0;right:0;bottom:calc(var(--mobile-bottom-nav-height) + var(--mobile-bottom-nav-gap) + var(--mobile-bottom-nav-bottom));z-index:28;height:min(58dvh,520px);border-right:0;border-top:1px solid var(--border);border-bottom:0;border-radius:20px 20px 0 0;box-shadow:0 -18px 48px #0000006b;transition:height var(--transition),transform var(--transition)}.sidebar--mobile-full{height:calc(100dvh - var(--mobile-bottom-nav-height) - var(--mobile-bottom-nav-gap) - var(--mobile-bottom-nav-bottom))}.sidebar--mobile-collapsed{transform:translateY(calc(100% + var(--mobile-bottom-nav-height)));pointer-events:none}.sidebar--mobile-panel-load .sidebar-panel:not(.sidebar-panel--load),.sidebar--mobile-panel-animate .sidebar-panel:not(.sidebar-panel--animate),.sidebar--mobile-panel-inspect .sidebar-panel:not(.sidebar-panel--inspect){display:none}.sidebar--mobile-sheet .sidebar-panel--share{display:none}.sidebar-brand{position:relative;padding:18px 14px 12px}.mobile-sheet-grabber{position:absolute;top:7px;left:50%;width:42px;height:4px;border-radius:999px;background:var(--border);transform:translate(-50%)}.mobile-sheet-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.mobile-more-wrap{position:relative}.mobile-sheet-icon-btn{min-height:34px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:10px;cursor:pointer}.mobile-sheet-icon-btn{width:34px;display:inline-flex;align-items:center;justify-content:center}.mobile-more-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:36;width:180px;display:grid;gap:4px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);box-shadow:0 16px 36px #0000005c}.mobile-more-item{display:flex;align-items:center;min-height:38px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;text-align:left;text-decoration:none;cursor:pointer}.mobile-more-item:hover,.mobile-more-item:focus-visible{outline:none;background:var(--accent-dim);color:var(--accent)}.brand-spine{font-size:15px}.brand-viewer{font-size:9px;letter-spacing:.22em}.sidebar-panel-header{padding:10px 14px}.inspect-subsection{margin:0 12px 12px;padding-top:12px}.share-panel-body{padding:12px}.share-error-banner{margin:0}.main-content{display:flex;flex:1;min-height:0;padding-bottom:calc(var(--mobile-bottom-nav-height) + var(--mobile-bottom-nav-gap) + var(--mobile-bottom-nav-bottom))}.empty-load-state{top:22%;width:min(100% - 32px,300px);gap:10px}.empty-load-state__title{font-size:18px}.empty-load-state__arrow--mobile{transform:rotate(-90deg);animation-name:empty-load-arrow-mobile}@keyframes empty-load-arrow-mobile{50%{transform:translateY(7px) rotate(-90deg)}}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;left:12px;right:12px;bottom:var(--mobile-bottom-nav-bottom);z-index:32;gap:6px;min-height:var(--mobile-bottom-nav-height);padding:6px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--bg-panel) 92%,transparent);box-shadow:0 16px 32px #00000047;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-nav-btn{position:relative;isolation:isolate;min-height:46px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition)}.mobile-nav-btn--active:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;box-sizing:border-box;border:1px solid var(--border-glow);border-radius:inherit;background:color-mix(in srgb,var(--accent-dim) 86%,var(--bg-raised));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent);content:""}.mobile-nav-btn--active{color:var(--accent)}.mobile-nav-btn:not(:disabled):active:before{background:color-mix(in srgb,var(--accent-dim) 72%,var(--bg-raised))}.mobile-nav-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.mobile-nav-btn:disabled{opacity:.38;cursor:not-allowed}.mobile-floating-share{display:inline-flex;position:absolute;top:max(12px,env(safe-area-inset-top));left:12px;z-index:20;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid var(--border-glow);border-radius:999px;background:var(--bg-overlay);color:var(--accent);font-family:var(--font-ui);font-size:12px;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-floating-share:disabled{opacity:.45;cursor:not-allowed}.sidebar--share-preview .sidebar-brand{padding-bottom:10px}.sidebar--share-preview .sidebar-content{max-height:none}.sidebar--share-preview .sidebar-panel{border-bottom:0}.sidebar--share-preview .sidebar-panel-header{padding-bottom:8px}.sidebar--share-preview .share-preview-summary{gap:4px;padding:0 14px 12px}.sidebar--share-preview .share-preview-title{font-size:12px;line-height:1.4}.sidebar--share-preview .share-preview-copy{font-size:11px}.share-confirm-backdrop{align-items:stretch;padding:0}.share-confirm-modal{width:100%;max-height:none;min-height:100dvh;border-radius:0;border-left:0;border-right:0;border-bottom:0}.share-confirm-header{padding-top:max(18px,env(safe-area-inset-top))}.share-confirm-actions{padding-bottom:max(18px,env(safe-area-inset-bottom))}.share-confirm-actions .share-secondary-btn,.share-confirm-actions .share-primary-btn{min-height:44px;flex:1}.share-confirm-detail-row{align-items:flex-start}.share-confirm-detail-row strong,.share-confirm-file-name{white-space:normal;overflow-wrap:anywhere}.share-confirm-detail-row strong{text-align:right}}
