.sidebar[data-v-af398603]{width:220px;flex-shrink:0;background:var(--bg2);border-right:1px solid var(--rule);display:flex;flex-direction:column;height:100vh;position:sticky;top:0}.sidebar-header[data-v-af398603]{padding:20px;padding-top:max(20px,env(safe-area-inset-top,0px));border-bottom:1px solid var(--rule)}.logo[data-v-af398603]{font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.album-list[data-v-af398603]{flex:1;padding:12px 8px;overflow-y:auto}.album-section[data-v-af398603]{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 12px 4px;font-weight:600}.add-folder-btn[data-v-af398603]{background:transparent;border:none;color:var(--muted);font-size:1.2rem;padding:4px 8px;line-height:1;min-height:32px;min-width:32px}.add-folder-btn[data-v-af398603]:hover{color:var(--accent)}.new-folder-box[data-v-af398603]{padding:8px 12px}.new-folder-box input[data-v-af398603]{font-size:.82rem;margin-bottom:6px}.new-folder-actions[data-v-af398603]{display:flex;gap:6px}.album-item[data-v-af398603]{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;color:var(--ink);border:none;padding:10px 12px;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:2px;min-height:44px}.album-item[data-v-af398603]:hover{background:var(--bg3)}.album-item.active[data-v-af398603]{background:var(--accent-soft);color:var(--accent);font-weight:600}.album-icon[data-v-af398603]{font-size:.9rem}.album-name[data-v-af398603]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-count[data-v-af398603]{font-size:.75rem;color:var(--muted);background:var(--bg3);padding:1px 7px;border-radius:100px;transition:opacity .15s}.album-item.active .album-count[data-v-af398603]{background:var(--accent);color:#fff}.album-row[data-v-af398603]{position:relative;margin-bottom:2px}.album-delete-btn[data-v-af398603]{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:var(--bg2);border:none;color:var(--muted);font-size:.7rem;padding:6px 8px;border-radius:var(--radius-sm);min-height:32px;min-width:32px;z-index:1;transition:opacity .15s,color .15s}@media (hover: hover){.album-delete-btn[data-v-af398603]{opacity:0}.album-row:hover .album-delete-btn[data-v-af398603]{opacity:1}.album-row:hover .album-count[data-v-af398603]{opacity:0}}@media (hover: none){.album-delete-btn[data-v-af398603]{opacity:.5}}.album-delete-btn[data-v-af398603]:hover{color:var(--danger)}.album-confirm[data-v-af398603]{display:flex;flex-direction:column;gap:8px;padding:8px 12px;font-size:.78rem;min-height:44px}.confirm-warning[data-v-af398603]{display:flex;align-items:flex-start;gap:6px}.confirm-icon[data-v-af398603]{color:var(--danger);flex-shrink:0}.confirm-text[data-v-af398603]{color:var(--danger);flex:1;line-height:1.4}.confirm-actions[data-v-af398603]{display:flex;gap:6px;justify-content:flex-end}.confirm-yes[data-v-af398603]{background:var(--danger);color:#fff;padding:6px 14px;font-size:.75rem;border-radius:var(--radius-sm);min-height:32px}.confirm-no[data-v-af398603]{background:transparent;color:var(--muted);border:1px solid var(--rule);padding:6px 14px;font-size:.75rem;border-radius:var(--radius-sm);min-height:32px}.sidebar-footer[data-v-af398603]{padding:8px;padding-bottom:max(8px,env(safe-area-inset-bottom,0px));border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:4px}.footer-btn[data-v-af398603]{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:.85rem;min-height:40px}.footer-btn svg[data-v-af398603]{flex-shrink:0;color:var(--muted);transition:color .15s}.footer-btn:hover svg[data-v-af398603]{color:var(--accent)}.btn-sm[data-v-af398603]{padding:6px 12px;font-size:.78rem;min-height:36px}@media (max-width: 768px){.sidebar[data-v-af398603]{position:fixed;top:0;left:0;z-index:50;transform:translate(-100%);transition:transform .25s var(--ease-out)}.sidebar.open[data-v-af398603]{transform:translate(0)}}.upload-wrapper[data-v-402d7bde]{margin-bottom:20px}.dropzone[data-v-402d7bde]{border:2px dashed var(--rule);border-radius:var(--radius);padding:32px 24px;text-align:center;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease),transform .15s var(--ease)}.dropzone[data-v-402d7bde]:hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone.dragging[data-v-402d7bde]{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.01)}.drop-icon[data-v-402d7bde]{font-size:2rem;display:block;margin-bottom:8px}.dropzone-content p[data-v-402d7bde]{font-size:.875rem;color:var(--ink)}.dropzone-content .sub[data-v-402d7bde]{font-size:.75rem;color:var(--muted);margin-top:4px}.card[data-v-b5c1abf1]{background:var(--bg2);border:2px solid transparent;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;transition:border-color .2s var(--ease),transform .15s var(--ease);animation:card-in .4s var(--ease-out) both;position:relative}.card[data-v-b5c1abf1]:hover{border-color:var(--rule);transform:translateY(-2px)}.card[data-v-b5c1abf1]:active{transform:scale(.97)}.card.selected[data-v-b5c1abf1],.card.drag-active[data-v-b5c1abf1]{border-color:var(--accent)}.thumb[data-v-b5c1abf1]{position:relative;aspect-ratio:1;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden}.thumb img[data-v-b5c1abf1]{max-width:100%;max-height:100%;object-fit:cover;transition:transform .3s var(--ease-out)}.card:hover .thumb img[data-v-b5c1abf1]{transform:scale(1.08)}.file-icon[data-v-b5c1abf1]{font-size:2.5rem;opacity:.6}.select-overlay[data-v-b5c1abf1]{position:absolute;top:8px;left:8px;width:24px;height:24px;border-radius:6px;border:2px solid rgba(255,255,255,.7);background:#0000004d;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.select-overlay.checked[data-v-b5c1abf1]{background:var(--accent);border-color:var(--accent)}.meta[data-v-b5c1abf1]{padding:8px 10px;display:flex;flex-direction:column;gap:2px}.name[data-v-b5c1abf1]{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.size[data-v-b5c1abf1]{font-size:.72rem;color:var(--muted)}.grid-container[data-v-af86ca08]{min-height:300px}.grid[data-v-af86ca08]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.file-list[data-v-af86ca08]{background:var(--bg2);border-radius:var(--radius-sm);overflow:hidden}.list-header[data-v-af86ca08]{display:flex;padding:10px 16px;font-size:.78rem;color:var(--muted);border-bottom:1px solid var(--rule);font-weight:500}.list-row[data-v-af86ca08]{display:flex;padding:10px 16px;font-size:.85rem;cursor:pointer;transition:background .12s;border-bottom:1px solid var(--rule);align-items:center;min-height:44px}.list-row[data-v-af86ca08]:hover{background:var(--bg3)}.list-row.selected[data-v-af86ca08]{background:var(--accent-soft)}.list-icon[data-v-af86ca08]{margin-right:8px}.check-mark[data-v-af86ca08]{color:var(--accent);margin-left:8px}.col-name[data-v-af86ca08]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-size[data-v-af86ca08]{width:80px;text-align:right;color:var(--muted);flex-shrink:0}.col-path[data-v-af86ca08]{width:120px;color:var(--muted);margin-left:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}@media (max-width: 768px){.grid[data-v-af86ca08]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.col-path[data-v-af86ca08]{display:none}.col-size[data-v-af86ca08]{width:60px;font-size:.78rem}}.empty[data-v-af86ca08]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;color:var(--muted);gap:12px}.empty-icon[data-v-af86ca08]{font-size:3rem}.error-state[data-v-af86ca08]{gap:8px}.error-msg[data-v-af86ca08]{color:var(--danger);font-size:.95rem;font-weight:500;text-align:center;word-break:break-word;max-width:400px}.spinner[data-v-af86ca08]{width:32px;height:32px;border:3px solid var(--rule);border-top-color:var(--accent);border-radius:50%;animation:spin-af86ca08 .8s linear infinite}@keyframes spin-af86ca08{to{transform:rotate(360deg)}}.link-panel[data-v-b2ef6c08]{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--radius);max-width:560px;width:100%;overflow:hidden}.preview[data-v-b2ef6c08]{background:var(--bg);padding:24px;text-align:center;max-height:320px;overflow:hidden;display:flex;align-items:center;justify-content:center}.preview img[data-v-b2ef6c08]{max-width:100%;max-height:280px;border-radius:var(--radius-sm);object-fit:contain}.file-icon-large[data-v-b2ef6c08]{font-size:4rem;opacity:.6}.clickable[data-v-b2ef6c08]{cursor:pointer;transition:opacity .15s,transform .15s var(--ease)}.clickable[data-v-b2ef6c08]:hover{opacity:1;transform:scale(1.05)}.info[data-v-b2ef6c08]{padding:16px 20px;border-bottom:1px solid var(--rule)}.info-row[data-v-b2ef6c08]{display:flex;gap:12px;padding:4px 0;font-size:.85rem}.label[data-v-b2ef6c08]{width:48px;color:var(--muted);flex-shrink:0}.value[data-v-b2ef6c08]{color:var(--ink);word-break:break-all}.mono[data-v-b2ef6c08]{font-family:JetBrains Mono,monospace;font-size:.8rem}.formats[data-v-b2ef6c08]{display:flex;gap:4px;padding:12px 20px 0}.format-tab[data-v-b2ef6c08]{background:transparent;color:var(--muted);border:1px solid var(--rule);padding:5px 14px;border-radius:var(--radius-sm);font-size:.78rem;cursor:pointer}.format-tab.active[data-v-b2ef6c08]{background:var(--accent);color:#fff;border-color:var(--accent)}.link-box[data-v-b2ef6c08]{display:flex;gap:8px;padding:12px 20px;align-items:center}.link-box code[data-v-b2ef6c08]{flex:1;background:var(--bg);padding:8px 12px;border-radius:var(--radius-sm);font-size:.78rem;color:var(--muted);word-break:break-all}.copy-btn[data-v-b2ef6c08]{padding:8px 16px;font-size:.8rem;flex-shrink:0}.rename-box[data-v-b2ef6c08]{display:flex;gap:8px;padding:12px 20px;align-items:center;border-bottom:1px solid var(--rule)}.rename-box input[data-v-b2ef6c08]{flex:1;min-width:0}.ext-suffix[data-v-b2ef6c08]{color:var(--muted);font-size:.85rem;font-family:JetBrains Mono,monospace}.btn-sm[data-v-b2ef6c08]{padding:6px 12px;font-size:.8rem}.panel-actions[data-v-b2ef6c08]{display:flex;gap:8px;padding:16px 20px;justify-content:flex-end;flex-wrap:wrap}@media (max-width: 768px){.link-panel[data-v-b2ef6c08]{max-width:100%;border-radius:0}.preview[data-v-b2ef6c08]{max-height:200px;padding:16px}.panel-actions[data-v-b2ef6c08]{padding:12px;gap:6px}.panel-actions button[data-v-b2ef6c08]{padding:6px 10px;font-size:.78rem}.link-box[data-v-b2ef6c08]{padding:10px 12px}.info[data-v-b2ef6c08]{padding:12px}}.user-info[data-v-15b801c9]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg3);border-radius:var(--radius-sm);margin-bottom:20px}.avatar[data-v-15b801c9]{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.username[data-v-15b801c9]{font-weight:600}.repo-name[data-v-15b801c9]{font-size:.8rem;color:var(--muted)}.form-group[data-v-15b801c9]{margin-bottom:16px}label[data-v-15b801c9]{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--muted)}.hint[data-v-15b801c9]{font-size:.78rem;color:var(--muted);margin-top:4px}.hint a[data-v-15b801c9]{color:var(--accent)}.hint code[data-v-15b801c9]{background:var(--bg3);padding:1px 5px;border-radius:3px;font-size:.75rem}.type-selector[data-v-15b801c9]{display:flex;gap:0;border:1px solid var(--rule);border-radius:var(--radius-sm);overflow:hidden}.type-btn[data-v-15b801c9]{flex:1;background:var(--bg);color:var(--muted);border:none;padding:10px;font-size:.85rem;font-weight:500;border-radius:0;transition:background .15s,color .15s}.type-btn[data-v-15b801c9]:hover{background:var(--bg3)}.type-btn.active[data-v-15b801c9]{background:var(--accent);color:#fff}.mirror-toggle[data-v-15b801c9]{display:flex;align-items:center;gap:12px}.mirror-status[data-v-15b801c9]{font-size:.82rem;color:var(--ink)}.switch[data-v-15b801c9]{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}.switch input[data-v-15b801c9]{opacity:0;width:0;height:0}.slider[data-v-15b801c9]{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--bg3);border:1px solid var(--rule);transition:.2s var(--ease)}.slider[data-v-15b801c9]:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:var(--muted);transition:.2s var(--ease)}input:checked+.slider[data-v-15b801c9]{background:var(--accent);border-color:var(--accent)}input:checked+.slider[data-v-15b801c9]:before{transform:translate(18px);background:#fff}.slider.round[data-v-15b801c9]{border-radius:24px}.slider.round[data-v-15b801c9]:before{border-radius:50%}.actions[data-v-15b801c9]{display:flex;gap:8px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}.error-box[data-v-15b801c9]{background:#ef44441a;border:1px solid var(--danger);color:var(--danger);padding:10px 14px;border-radius:var(--radius-sm);font-size:.82rem;margin-bottom:16px;word-break:break-word}.checkbox-row[data-v-15b801c9]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.85rem;font-weight:500;color:var(--ink);margin-bottom:0}.checkbox-input[data-v-15b801c9]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.move-modal[data-v-99f550fa]{max-width:420px}.move-desc[data-v-99f550fa]{font-size:.82rem;color:var(--muted);margin-bottom:16px}.folder-list[data-v-99f550fa]{max-height:280px;overflow-y:auto;margin-bottom:12px}.folder-item[data-v-99f550fa]{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;color:var(--ink);border:1px solid transparent;padding:10px 14px;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:2px;min-height:44px}.folder-item[data-v-99f550fa]:hover{background:var(--bg3)}.folder-item.active[data-v-99f550fa]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.folder-icon[data-v-99f550fa]{font-size:.9rem}.folder-info[data-v-99f550fa]{display:flex;flex-direction:column;gap:1px;flex:1;overflow:hidden}.folder-name[data-v-99f550fa]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-desc[data-v-99f550fa]{font-size:.72rem;color:var(--muted);font-weight:400}.new-folder-section[data-v-99f550fa]{margin-bottom:12px}.new-folder-btn[data-v-99f550fa]{width:100%;padding:8px;font-size:.82rem}.new-folder-input[data-v-99f550fa]{display:flex;gap:8px;align-items:center}.new-folder-input input[data-v-99f550fa]{flex:1}.selected-hint[data-v-99f550fa]{font-size:.8rem;color:var(--accent);margin-bottom:12px;padding:8px 12px;background:var(--accent-soft);border-radius:var(--radius-sm)}.actions[data-v-99f550fa]{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;flex-wrap:wrap}.btn-sm[data-v-99f550fa]{padding:6px 12px;font-size:.8rem}.viewer-overlay[data-v-7c98fe9f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:150;display:flex;flex-direction:column}.viewer-bar[data-v-7c98fe9f]{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#0006;border-bottom:1px solid var(--rule);flex-shrink:0;animation:viewer-bar-in-7c98fe9f .25s var(--ease-out)}@keyframes viewer-bar-in-7c98fe9f{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}.viewer-name[data-v-7c98fe9f]{flex:1;font-size:.85rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-meta[data-v-7c98fe9f]{font-size:.75rem;color:var(--muted);flex-shrink:0}.viewer-actions[data-v-7c98fe9f]{display:flex;gap:4px;flex-shrink:0}.viewer-btn[data-v-7c98fe9f]{background:transparent;border:1px solid transparent;color:var(--muted);padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.viewer-btn[data-v-7c98fe9f]:hover{background:var(--bg3);color:var(--ink)}.close-btn[data-v-7c98fe9f]:hover{color:var(--danger)}.viewer-body[data-v-7c98fe9f]{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center}.image-stage[data-v-7c98fe9f]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:grab;touch-action:none}.image-stage[data-v-7c98fe9f]:active{cursor:grabbing}.zoomable-image[data-v-7c98fe9f]{max-width:90vw;max-height:90vh;object-fit:contain;transition:transform .05s linear;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.video-stage[data-v-7c98fe9f]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.video-player[data-v-7c98fe9f]{max-width:100%;max-height:100%;border-radius:var(--radius-sm)}.text-stage[data-v-7c98fe9f]{width:100%;height:100%;display:flex;flex-direction:column;padding:24px}.text-loading[data-v-7c98fe9f]{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--muted);padding:60px}.spinner[data-v-7c98fe9f]{width:32px;height:32px;border:3px solid var(--rule);border-top-color:var(--accent);border-radius:50%;animation:spin-7c98fe9f .8s linear infinite}@keyframes spin-7c98fe9f{to{transform:rotate(360deg)}}.text-toolbar[data-v-7c98fe9f]{display:flex;align-items:center;justify-content:space-between;padding:0 0 12px;flex-shrink:0}.text-info[data-v-7c98fe9f]{font-size:.85rem;color:var(--muted)}.text-actions[data-v-7c98fe9f]{display:flex;gap:6px}.text-viewer[data-v-7c98fe9f]{flex:1;background:var(--bg2);border:1px solid var(--rule);border-radius:var(--radius);padding:20px;overflow:auto;font-family:JetBrains Mono,Cascadia Code,Fira Code,monospace;font-size:.82rem;line-height:1.6;color:var(--ink);white-space:pre-wrap;word-break:break-word;margin:0}.text-editor[data-v-7c98fe9f]{flex:1;background:var(--bg2);border:1px solid var(--accent);border-radius:var(--radius);padding:20px;overflow:auto;font-family:JetBrains Mono,Cascadia Code,Fira Code,monospace;font-size:.82rem;line-height:1.6;color:var(--ink);resize:none;outline:none;white-space:pre-wrap;word-break:break-word}.unsupported[data-v-7c98fe9f]{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--muted)}.unsupported-icon[data-v-7c98fe9f]{font-size:4rem}.btn-sm[data-v-7c98fe9f]{padding:5px 14px;font-size:.78rem}.btn-sm[data-v-7c98fe9f]:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.viewer-bar[data-v-7c98fe9f]{padding:10px 12px;gap:8px}.viewer-name[data-v-7c98fe9f]{font-size:.78rem}.viewer-meta[data-v-7c98fe9f]{display:none}.text-stage[data-v-7c98fe9f]{padding:12px}.text-viewer[data-v-7c98fe9f],.text-editor[data-v-7c98fe9f]{padding:12px;font-size:.78rem}}.modal-overlay[data-v-66ee5330]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal[data-v-66ee5330]{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--radius);width:100%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000080}.modal-header[data-v-66ee5330]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--rule);flex-shrink:0}.modal-header h2[data-v-66ee5330]{font-size:1.2rem;font-weight:700;color:var(--ink)}.close-btn[data-v-66ee5330]{background:transparent;border:none;color:var(--muted);font-size:1.1rem;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;min-width:36px;min-height:36px;transition:background .15s,color .15s}.close-btn[data-v-66ee5330]:hover{background:var(--bg3);color:var(--ink)}.modal-body[data-v-66ee5330]{padding:20px 24px;overflow-y:auto;flex:1}.info-section[data-v-66ee5330]{margin-bottom:24px}.info-section[data-v-66ee5330]:last-child{margin-bottom:0}.info-logo[data-v-66ee5330]{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}.info-tagline[data-v-66ee5330]{font-size:.9rem;color:var(--muted)}.section-title[data-v-66ee5330]{font-size:.85rem;font-weight:600;color:var(--ink);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.feature-list[data-v-66ee5330]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.feature-list li[data-v-66ee5330]{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--ink)}.feature-icon[data-v-66ee5330]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg3);border-radius:var(--radius-sm);font-size:.85rem;flex-shrink:0}.tech-tags[data-v-66ee5330]{display:flex;flex-wrap:wrap;gap:8px}.tech-tag[data-v-66ee5330]{background:var(--bg3);color:var(--accent);font-size:.78rem;font-weight:500;padding:4px 12px;border-radius:100px;border:1px solid var(--rule)}.info-text[data-v-66ee5330]{font-size:.85rem;color:var(--muted);line-height:1.6;margin:0}.tutorial-step[data-v-66ee5330]{display:flex;gap:14px;margin-bottom:20px}.tutorial-step[data-v-66ee5330]:last-child{margin-bottom:0}.step-number[data-v-66ee5330]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:.85rem;font-weight:700;border-radius:50%;flex-shrink:0}.step-content[data-v-66ee5330]{flex:1;min-width:0}.step-title[data-v-66ee5330]{font-size:.9rem;font-weight:600;color:var(--ink);margin-bottom:4px}.step-desc[data-v-66ee5330]{font-size:.82rem;color:var(--muted);line-height:1.6;margin:0}@media (max-width: 768px){.modal-overlay[data-v-66ee5330]{padding:0;align-items:flex-end}.modal[data-v-66ee5330]{max-width:none;max-height:90vh;border-radius:var(--radius) var(--radius) 0 0}.modal-header[data-v-66ee5330],.modal-body[data-v-66ee5330]{padding:16px}}.app[data-v-557f9b73]{display:flex;min-height:100vh}.sidebar-backdrop[data-v-557f9b73]{display:none}.main[data-v-557f9b73]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar[data-v-557f9b73]{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;padding-top:max(12px,env(safe-area-inset-top,0px));border-bottom:1px solid var(--rule);gap:12px;min-height:56px;flex-shrink:0}.hamburger[data-v-557f9b73]{display:none;background:transparent;border:none;color:var(--ink);padding:8px;border-radius:var(--radius-sm);flex-shrink:0;cursor:pointer}.search-box[data-v-557f9b73]{position:relative;flex:1;max-width:400px}.search-icon[data-v-557f9b73]{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:.85rem;opacity:.5}.search-input[data-v-557f9b73]{padding-left:36px;background:var(--bg2)}.select-count[data-v-557f9b73]{font-size:.78rem;color:var(--accent);font-weight:500;white-space:nowrap;padding-right:4px}.batch-enter-active[data-v-557f9b73],.batch-leave-active[data-v-557f9b73]{transition:opacity .2s var(--ease),transform .2s var(--ease-out)}.batch-enter-from[data-v-557f9b73],.batch-leave-to[data-v-557f9b73]{opacity:0;transform:translate(8px)}.mobile-batch-bar[data-v-557f9b73]{display:none}.mobile-batch-enter-active[data-v-557f9b73],.mobile-batch-leave-active[data-v-557f9b73]{transition:opacity .2s var(--ease),transform .25s var(--ease-out)}.mobile-batch-enter-from[data-v-557f9b73],.mobile-batch-leave-to[data-v-557f9b73]{opacity:0;transform:translateY(100%)}.batch-group[data-v-557f9b73]{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.viewer-fade-enter-active[data-v-557f9b73],.viewer-fade-leave-active[data-v-557f9b73]{transition:opacity .2s var(--ease)}.viewer-fade-enter-from[data-v-557f9b73],.viewer-fade-leave-to[data-v-557f9b73]{opacity:0}.btn-sm[data-v-557f9b73]{padding:6px 12px;font-size:.78rem;min-height:36px}.btn-sm[data-v-557f9b73]:disabled{opacity:.5;cursor:not-allowed}.topbar-actions[data-v-557f9b73]{display:flex;align-items:center;gap:4px;flex-shrink:0}.icon-btn[data-v-557f9b73]{background:transparent;border:1px solid transparent;color:var(--muted);padding:8px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;transition:background .15s,color .15s,border-color .15s}.icon-btn[data-v-557f9b73]:hover{background:var(--bg2);color:var(--ink)}.icon-btn.active[data-v-557f9b73]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.content[data-v-557f9b73]{flex:1;padding:20px 24px;overflow-y:auto}.restoring[data-v-557f9b73]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.restoring .spinner[data-v-557f9b73]{width:32px;height:32px;border:3px solid var(--rule);border-top-color:var(--accent);border-radius:50%;animation:spin-557f9b73 .8s linear infinite}@keyframes spin-557f9b73{to{transform:rotate(360deg)}}.welcome[data-v-557f9b73]{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}.welcome-bg[data-v-557f9b73]{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.orb[data-v-557f9b73]{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;animation:orb-float-557f9b73 20s ease-in-out infinite}.orb-1[data-v-557f9b73]{width:400px;height:400px;background:var(--accent);top:-10%;left:-5%;animation-delay:0s}.orb-2[data-v-557f9b73]{width:350px;height:350px;background:var(--accent2);bottom:-10%;right:-5%;animation-delay:-7s}.orb-3[data-v-557f9b73]{width:300px;height:300px;background:#3b82f6;top:40%;left:50%;animation-delay:-14s;opacity:.2}@keyframes orb-float-557f9b73{0%,to{transform:translate(0) scale(1);opacity:.35}33%{transform:translate(30px,-30px) scale(1.05);opacity:.45}66%{transform:translate(-20px,20px) scale(.95);opacity:.3}}.grid-overlay[data-v-557f9b73]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,black 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,black 30%,transparent 80%)}.welcome-card[data-v-557f9b73]{position:relative;text-align:center;max-width:480px;padding:48px 40px;background:#1a1d2899;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.08);border-radius:20px;box-shadow:0 24px 64px #0006,inset 0 1px #ffffff0d;animation:card-enter .6s var(--ease-out) both}.welcome-title[data-v-557f9b73]{font-size:2.8rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#818cf8,#c084fc,#f0abfc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px;text-shadow:0 0 80px rgba(99,102,241,.3)}.welcome-subtitle[data-v-557f9b73]{font-size:.95rem;color:var(--muted);margin-bottom:32px;letter-spacing:.01em}.welcome-features[data-v-557f9b73]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:36px}.feature-chip[data-v-557f9b73]{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;background:#25293780;border:1px solid rgba(255,255,255,.06);border-radius:100px;font-size:.78rem;color:var(--ink);transition:border-color .2s,background .2s}.feature-chip[data-v-557f9b73]:hover{border-color:#6366f14d;background:#6366f114}.feature-chip svg[data-v-557f9b73]{color:var(--accent);flex-shrink:0}.welcome-btn[data-v-557f9b73]{display:inline-flex;align-items:center;gap:8px;padding:14px 36px;font-size:1rem;font-weight:600;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:100px;box-shadow:0 8px 24px #6366f159,inset 0 1px #ffffff26;transition:transform .15s var(--ease),box-shadow .2s var(--ease)}.welcome-btn[data-v-557f9b73]:hover{transform:translateY(-1px);box-shadow:0 12px 32px #6366f173,inset 0 1px #fff3}.welcome-btn[data-v-557f9b73]:active{transform:translateY(0)}.welcome-btn svg[data-v-557f9b73]{transition:transform .15s var(--ease)}.welcome-btn:hover svg[data-v-557f9b73]{transform:translate(2px)}@media (max-width: 768px){.sidebar-backdrop[data-v-557f9b73]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:49}.hamburger[data-v-557f9b73]{display:flex;align-items:center;justify-content:center}.topbar[data-v-557f9b73]{padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top,0px));gap:6px;min-height:48px}.search-box[data-v-557f9b73]{max-width:none}.select-active .view-toggle[data-v-557f9b73],.select-active .hidden-toggle[data-v-557f9b73],.select-active .refresh-btn[data-v-557f9b73],.select-active .batch-group[data-v-557f9b73]{display:none}.mobile-batch-bar[data-v-557f9b73]{position:fixed;bottom:0;left:0;right:0;background:var(--bg2);border-top:1px solid var(--rule);padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;justify-content:space-between;gap:8px}.mobile-select-count[data-v-557f9b73]{font-size:.78rem;color:var(--accent);font-weight:500;white-space:nowrap}.mobile-batch-actions[data-v-557f9b73]{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.mobile-batch-actions .btn-sm[data-v-557f9b73]{padding:6px 10px;font-size:.75rem}.select-active .content[data-v-557f9b73]{padding-bottom:72px}.select-active .btn-sm[data-v-557f9b73]{padding:5px 8px;font-size:.72rem}.icon-btn[data-v-557f9b73]{padding:6px}.content[data-v-557f9b73]{padding:12px}.welcome-card[data-v-557f9b73]{padding:32px 20px;margin:0 8px}.welcome-title[data-v-557f9b73]{font-size:2rem}.welcome-subtitle[data-v-557f9b73]{font-size:.85rem}.orb-1[data-v-557f9b73]{width:280px;height:280px}.orb-2[data-v-557f9b73]{width:240px;height:240px}.orb-3[data-v-557f9b73]{width:200px;height:200px}.feature-chip[data-v-557f9b73]{padding:6px;font-size:.68rem;gap:4px}.feature-chip svg[data-v-557f9b73]{width:14px;height:14px}.upload-panel[data-v-557f9b73]{left:12px!important;right:12px!important;max-width:none!important}.select-active .upload-panel[data-v-557f9b73]{bottom:72px!important}}.upload-panel[data-v-557f9b73]{position:fixed;bottom:max(24px,env(safe-area-inset-bottom,0px));right:24px;width:360px;max-width:calc(100vw - 48px);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 8px 32px #0006;z-index:90;overflow:hidden}.panel-header[data-v-557f9b73]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--rule);transition:background .15s}.panel-header[data-v-557f9b73]:hover{background:var(--bg3)}.panel-title[data-v-557f9b73]{font-size:.82rem;font-weight:600;color:var(--ink)}.panel-chevron[data-v-557f9b73]{color:var(--muted);transition:transform .2s var(--ease);flex-shrink:0}.upload-panel.collapsed .panel-chevron[data-v-557f9b73]{transform:rotate(-90deg)}.upload-panel.collapsed .panel-header[data-v-557f9b73]{border-bottom:none}.panel-body[data-v-557f9b73]{max-height:280px;overflow-y:auto;padding:6px}.panel-task[data-v-557f9b73]{padding:8px 10px;border-radius:var(--radius-sm);transition:background .15s}.panel-task[data-v-557f9b73]:hover{background:var(--bg3)}.task-row[data-v-557f9b73]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.task-name[data-v-557f9b73]{flex:1;font-size:.78rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.task-status[data-v-557f9b73]{font-size:.72rem;color:var(--muted);flex-shrink:0;min-width:32px;text-align:right}.task-status.done[data-v-557f9b73]{color:var(--success)}.task-status.error[data-v-557f9b73]{color:var(--danger)}.task-dismiss[data-v-557f9b73]{background:transparent;border:none;color:var(--muted);font-size:.65rem;padding:2px 5px;border-radius:4px;line-height:1;flex-shrink:0;transition:color .15s,background .15s}.task-dismiss[data-v-557f9b73]:hover{color:var(--danger);background:#ef44441a}.task-bar[data-v-557f9b73]{height:3px;background:var(--bg3);border-radius:2px;overflow:hidden}.task-progress[data-v-557f9b73]{height:100%;background:var(--accent);border-radius:2px;transition:width .3s var(--ease)}.task-progress.done[data-v-557f9b73]{background:var(--success)}.task-progress.error[data-v-557f9b73]{background:var(--danger)}.upload-panel-enter-active[data-v-557f9b73],.upload-panel-leave-active[data-v-557f9b73]{transition:opacity .2s var(--ease),transform .25s var(--ease-out)}.upload-panel-enter-from[data-v-557f9b73],.upload-panel-leave-to[data-v-557f9b73]{opacity:0;transform:translateY(20px)}:root{--bg: #0f1117;--bg2: #1a1d28;--bg3: #252937;--ink: #e4e6ef;--muted: #8b8fa3;--rule: #2d3142;--accent: #6366f1;--accent2: #d946ef;--accent-soft: rgba(99, 102, 241, .12);--danger: #ef4444;--success: #22c55e;--radius: 10px;--radius-sm: 6px;--ease: cubic-bezier(.22, 1, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overscroll-behavior:none}#app{min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;border-radius:var(--radius-sm);padding:8px 16px;font-size:.875rem;font-weight:500;transition:transform .12s var(--ease),background .15s,border-color .15s,color .15s}button:active{transform:scale(.96)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#5558e0}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--rule)}.btn-ghost:hover{color:var(--ink);border-color:var(--accent)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger);opacity:.8}.btn-danger:hover{opacity:1;background:#ef44441a}input,textarea{font-family:inherit;background:var(--bg);border:1px solid var(--rule);color:var(--ink);padding:10px 14px;border-radius:var(--radius-sm);font-size:.875rem;width:100%;outline:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--bg) inset;caret-color:var(--ink);transition:background-color 5000s ease-in-out 0s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--rule);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bg3)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:env(safe-area-inset-top,24px) env(safe-area-inset-right,24px) env(safe-area-inset-bottom,24px) env(safe-area-inset-left,24px)}.modal-overlay-enter-active,.modal-overlay-leave-active{transition:opacity .2s var(--ease)}.modal-overlay-enter-from,.modal-overlay-leave-to{opacity:0}.modal-overlay>*{transition:transform .25s var(--ease-out),opacity .2s var(--ease)}.modal-overlay-enter-from>*,.modal-overlay-leave-to>*{transform:scale(.92) translateY(12px);opacity:0}.modal{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--radius);padding:28px;max-width:480px;width:100%;max-height:85vh;overflow-y:auto}.modal h2{font-size:1.25rem;margin-bottom:16px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg3);color:var(--ink);padding:12px 24px;border-radius:var(--radius-sm);border:1px solid var(--rule);font-size:.875rem;z-index:200;max-width:calc(100vw - 48px);text-align:center}@media (max-width: 768px){.modal{padding:20px 16px;max-height:90vh;border-radius:var(--radius-sm)}.modal-overlay{padding:max(16px,env(safe-area-inset-top,16px)) max(16px,env(safe-area-inset-right,16px)) max(16px,env(safe-area-inset-bottom,16px)) max(16px,env(safe-area-inset-left,16px))}.toast{bottom:auto;top:max(56px,env(safe-area-inset-top,56px))}}.toast-enter-active,.toast-leave-active{transition:opacity .2s var(--ease),transform .25s var(--ease-out)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%) translateY(16px)}@keyframes card-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card-enter-active{transition:opacity .3s var(--ease-out),transform .3s var(--ease-out)}.card-leave-active{transition:opacity .2s var(--ease),transform .2s var(--ease);position:absolute}.card-enter-from{opacity:0;transform:translateY(20px) scale(.95)}.card-leave-to{opacity:0;transform:scale(.9)}.card-move{transition:transform .3s var(--ease-out)}.fade-enter-active,.fade-leave-active{transition:opacity .2s var(--ease)}.fade-enter-from,.fade-leave-to{opacity:0}@keyframes slide-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
