.navbar[data-v-f909c800]{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.navbar-inner[data-v-f909c800]{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:60px}.brand[data-v-f909c800]{display:flex;align-items:center;gap:10px}.brand-icon[data-v-f909c800]{width:24px;height:24px;object-fit:contain}.brand-name[data-v-f909c800]{font-size:18px;font-weight:700;letter-spacing:-.3px}.nav-actions[data-v-f909c800]{display:flex;align-items:center;gap:12px}.btn[data-v-f909c800]{display:inline-flex;align-items:center;gap:7px;padding:7px 16px;border-radius:8px;border:none;font-size:14px;font-weight:500;transition:background .15s,opacity .15s}.btn-outline[data-v-f909c800]{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-outline[data-v-f909c800]:hover{background:var(--surface2)}.btn-ghost[data-v-f909c800]{background:transparent;color:var(--text-muted)}.btn-ghost[data-v-f909c800]:hover{color:var(--danger)}.btn-discord[data-v-f909c800]{background:var(--accent);color:#fff}.btn-discord[data-v-f909c800]:hover{background:var(--accent-h)}.user-menu[data-v-f909c800]{display:flex;align-items:center;gap:10px}.avatar[data-v-f909c800]{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.avatar-fallback[data-v-f909c800]{display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:700;font-size:13px}.avatar-skeleton[data-v-f909c800]{width:32px;height:32px;border-radius:50%;background:var(--surface2);animation:pulse-f909c800 1.4s infinite}.username[data-v-f909c800]{font-size:14px;color:var(--text-muted)}@keyframes pulse-f909c800{0%,to{opacity:1}50%{opacity:.4}}.backdrop[data-v-06901c56]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px}.dialog[data-v-06901c56]{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px 28px;width:100%;max-width:400px;box-shadow:0 24px 60px #00000080}.dialog-title[data-v-06901c56]{font-size:16px;font-weight:700;margin-bottom:8px}.dialog-message[data-v-06901c56]{font-size:14px;color:var(--text-muted);margin-bottom:20px}.dialog-actions[data-v-06901c56]{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn-cancel[data-v-06901c56]{padding:8px 18px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:14px}.btn-cancel[data-v-06901c56]:hover{background:var(--surface2);color:var(--text)}.btn-confirm[data-v-06901c56]{padding:8px 18px;border-radius:8px;border:none;font-size:14px;font-weight:600}.btn-confirm.danger[data-v-06901c56]{background:var(--danger);color:#fff}.btn-confirm.danger[data-v-06901c56]:hover{opacity:.85}.btn-confirm.primary[data-v-06901c56]{background:var(--accent);color:#fff}.btn-confirm.primary[data-v-06901c56]:hover{background:var(--accent-h)}.fade-enter-active[data-v-06901c56],.fade-leave-active[data-v-06901c56]{transition:opacity .15s}.fade-enter-from[data-v-06901c56],.fade-leave-to[data-v-06901c56]{opacity:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--surface: #1a1d27;--surface2: #252836;--border: #2e3244;--accent: #5865f2;--accent-h: #4752c4;--text: #e2e4f0;--text-muted: #7c8099;--danger: #ed4245;--success: #57f287;--radius: 10px}html{color-scheme:dark}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}img{display:block;max-width:100%}.main{max-width:1400px;margin:0 auto;padding:24px 20px 60px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.tag-input[data-v-f69f2ca2]{position:relative;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:0 10px;min-height:44px;display:flex;align-items:center}.tag-list[data-v-f69f2ca2]{display:flex;flex-wrap:wrap;gap:6px;align-items:center;cursor:text;width:100%;padding:8px 0}.tag[data-v-f69f2ca2]{display:inline-flex;align-items:center;gap:4px;background:var(--accent);color:#fff;padding:2px 10px;border-radius:20px;font-size:13px}.tag-remove[data-v-f69f2ca2]{background:none;border:none;color:#ffffffb3;font-size:16px;line-height:1;padding:0;margin-left:2px;transition:color .1s}.tag-remove[data-v-f69f2ca2]:hover{color:#fff}.tag-field[data-v-f69f2ca2]{flex:1;min-width:160px;background:none;border:none;color:var(--text);font-size:14px;outline:none}.suggestions[data-v-f69f2ca2]{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);list-style:none;z-index:50;max-height:240px;overflow-y:auto;box-shadow:0 8px 24px #0006}.suggestion[data-v-f69f2ca2]{padding:9px 14px;font-size:14px;cursor:pointer;transition:background .1s}.suggestion[data-v-f69f2ca2]:hover,.suggestion.active[data-v-f69f2ca2]{background:var(--accent);color:#fff}.card[data-v-39a930ff]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.img-wrap[data-v-39a930ff]{overflow:hidden;background:var(--surface2);-webkit-user-select:none;user-select:none}.thumb[data-v-39a930ff]{width:100%;height:auto;display:block}.card-meta[data-v-39a930ff]{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--border)}.avatar[data-v-39a930ff]{width:26px;height:26px;border-radius:50%;object-fit:cover;flex-shrink:0;pointer-events:none;-webkit-user-drag:none}.avatar-fallback[data-v-39a930ff]{display:flex;align-items:center;justify-content:center;background:var(--surface2);color:var(--text-muted);font-size:12px;font-weight:700;border:1px solid var(--border)}.uploader-name[data-v-39a930ff]{flex:1;font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date[data-v-39a930ff]{font-size:11px;color:var(--text-muted);flex-shrink:0}.card-tags[data-v-39a930ff]{display:flex;flex-wrap:wrap;gap:5px;padding:0 12px 10px}.tag-chip[data-v-39a930ff]{background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:12px;padding:2px 9px;border-radius:20px;transition:background .1s,border-color .1s}.tag-chip[data-v-39a930ff]:hover{background:var(--accent);border-color:var(--accent);color:#fff}.card-actions[data-v-39a930ff]{padding:0 12px 12px}.btn-delete[data-v-39a930ff]{width:100%;padding:6px;border-radius:6px;border:1px solid var(--danger);background:transparent;color:var(--danger);font-size:12px;transition:background .15s}.btn-delete[data-v-39a930ff]:hover:not(:disabled){background:var(--danger);color:#fff}.btn-delete[data-v-39a930ff]:disabled{opacity:.5;cursor:not-allowed}.search-bar[data-v-680dcbbb]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:20px}.search-inner[data-v-680dcbbb]{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}.search-inner[data-v-680dcbbb]>:first-child{flex:1}.btn-search[data-v-680dcbbb],.btn-clear[data-v-680dcbbb]{padding:9px 18px;border-radius:8px;border:none;font-size:14px;font-weight:500;flex-shrink:0}.btn-search[data-v-680dcbbb]{background:var(--accent);color:#fff}.btn-search[data-v-680dcbbb]:hover{background:var(--accent-h)}.btn-clear[data-v-680dcbbb]{background:var(--surface2);color:var(--text-muted)}.btn-clear[data-v-680dcbbb]:hover{color:var(--danger)}.popular-label[data-v-680dcbbb]{font-size:12px;color:var(--text-muted);margin-bottom:8px}.popular-tags[data-v-680dcbbb]{display:flex;flex-wrap:wrap;gap:6px}.pop-tag[data-v-680dcbbb]{background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:12px;padding:3px 10px;border-radius:20px;transition:background .1s,border-color .1s}.pop-tag[data-v-680dcbbb]:hover,.pop-tag.active[data-v-680dcbbb]{background:var(--accent);border-color:var(--accent);color:#fff}.pop-count[data-v-680dcbbb]{opacity:.6;margin-left:4px;font-size:11px}.results-header[data-v-680dcbbb]{margin-bottom:16px}.results-count[data-v-680dcbbb]{color:var(--text-muted);font-size:14px}.results-count strong[data-v-680dcbbb]{color:var(--text)}.grid[data-v-680dcbbb]{columns:240px;column-gap:16px}.grid[data-v-680dcbbb] .card{break-inside:avoid;margin-bottom:16px}.skeleton-card[data-v-680dcbbb]{aspect-ratio:1;border-radius:var(--radius);background:var(--surface);animation:pulse-680dcbbb 1.4s infinite}@keyframes pulse-680dcbbb{0%,to{opacity:1}50%{opacity:.4}}.empty[data-v-680dcbbb]{text-align:center;padding:80px 0;display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-muted)}.btn-accent[data-v-680dcbbb]{background:var(--accent);color:#fff;padding:10px 20px;border-radius:8px;font-size:14px}.btn-accent[data-v-680dcbbb]:hover{background:var(--accent-h)}.pagination[data-v-680dcbbb]{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:40px}.pagination button[data-v-680dcbbb]{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 18px;border-radius:8px;font-size:14px}.pagination button[data-v-680dcbbb]:hover:not(:disabled){background:var(--surface2)}.pagination button[data-v-680dcbbb]:disabled{opacity:.4;cursor:not-allowed}.pagination span[data-v-680dcbbb]{color:var(--text-muted);font-size:14px}.upload-page[data-v-d9b78bf5]{max-width:680px;margin:0 auto}.page-title[data-v-d9b78bf5]{font-size:24px;font-weight:700;margin-bottom:24px}.login-prompt[data-v-d9b78bf5]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:48px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;color:var(--text-muted)}.btn-discord[data-v-d9b78bf5]{background:var(--accent);color:#fff;border:none;padding:10px 22px;border-radius:8px;font-size:15px;font-weight:500}.btn-discord[data-v-d9b78bf5]:hover{background:var(--accent-h)}.upload-form[data-v-d9b78bf5]{display:flex;flex-direction:column;gap:20px}.dropzone[data-v-d9b78bf5]{border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);padding:40px 20px;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:border-color .15s,background .15s;text-align:center}.dropzone[data-v-d9b78bf5]:hover,.dropzone.drag-over[data-v-d9b78bf5]{border-color:var(--accent);background:var(--surface2)}.dropzone.has-file[data-v-d9b78bf5]{padding:24px;flex-direction:row;justify-content:flex-start;gap:20px}.drop-icon[data-v-d9b78bf5]{font-size:40px}.drop-main[data-v-d9b78bf5]{font-size:15px;font-weight:500}.drop-sub[data-v-d9b78bf5]{font-size:13px;color:var(--text-muted)}.preview-img[data-v-d9b78bf5]{width:120px;height:120px;object-fit:contain;border-radius:8px;flex-shrink:0}.preview-info[data-v-d9b78bf5]{text-align:left}.file-name[data-v-d9b78bf5]{font-weight:600;font-size:14px;word-break:break-all}.file-size[data-v-d9b78bf5]{font-size:13px;color:var(--text-muted);margin-top:4px}.change-btn[data-v-d9b78bf5]{margin-top:10px;background:none;border:1px solid var(--border);color:var(--text-muted);padding:4px 12px;border-radius:6px;font-size:13px}.change-btn[data-v-d9b78bf5]:hover{border-color:var(--danger);color:var(--danger)}.field[data-v-d9b78bf5]{display:flex;flex-direction:column;gap:8px}.field-label[data-v-d9b78bf5]{font-size:14px;font-weight:600}.field-hint[data-v-d9b78bf5]{font-size:12px;color:var(--text-muted)}.anon-row[data-v-d9b78bf5]{display:flex;align-items:center;gap:14px;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.toggle-wrap[data-v-d9b78bf5]{position:relative;flex-shrink:0}.toggle-input[data-v-d9b78bf5]{position:absolute;opacity:0;width:0;height:0}.toggle-track[data-v-d9b78bf5]{display:block;width:42px;height:24px;border-radius:12px;background:var(--surface2);border:1px solid var(--border);transition:background .2s,border-color .2s;position:relative}.toggle-thumb[data-v-d9b78bf5]{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-muted);transition:transform .2s,background .2s}.toggle-input:checked~.toggle-track[data-v-d9b78bf5]{background:var(--accent);border-color:var(--accent)}.toggle-input:checked~.toggle-track .toggle-thumb[data-v-d9b78bf5]{transform:translate(18px);background:#fff}.anon-text[data-v-d9b78bf5]{display:flex;flex-direction:column;gap:2px}.anon-label[data-v-d9b78bf5]{font-size:14px;font-weight:500}.anon-hint[data-v-d9b78bf5]{font-size:12px;color:var(--text-muted)}.msg[data-v-d9b78bf5]{padding:10px 14px;border-radius:8px;font-size:14px}.msg-error[data-v-d9b78bf5]{background:#ed424526;border:1px solid var(--danger);color:var(--danger)}.msg-success[data-v-d9b78bf5]{background:#57f2871a;border:1px solid var(--success);color:var(--success)}.msg-success a[data-v-d9b78bf5]{color:var(--success);text-decoration:underline}.btn-submit[data-v-d9b78bf5]{background:var(--accent);color:#fff;border:none;padding:12px;border-radius:8px;font-size:16px;font-weight:600;transition:background .15s}.btn-submit[data-v-d9b78bf5]:hover:not(:disabled){background:var(--accent-h)}.btn-submit[data-v-d9b78bf5]:disabled{opacity:.5;cursor:not-allowed}.admin-page[data-v-2f9d30ef]{max-width:1100px;margin:0 auto}.page-header[data-v-2f9d30ef]{display:flex;align-items:center;gap:16px;margin-bottom:24px}.page-title[data-v-2f9d30ef]{font-size:24px;font-weight:700}.btn-refresh[data-v-2f9d30ef]{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);padding:6px 14px;border-radius:8px;font-size:13px}.btn-refresh[data-v-2f9d30ef]:hover{background:var(--surface2);color:var(--text)}.load-error[data-v-2f9d30ef]{background:#ed42451f;border:1px solid rgba(237,66,69,.4);color:var(--danger);border-radius:8px;padding:12px 16px;font-size:14px;margin-bottom:20px}.denied[data-v-2f9d30ef]{text-align:center;padding:80px 0;color:var(--text-muted)}.denied-icon[data-v-2f9d30ef]{font-size:48px;margin-bottom:12px}.loading-state[data-v-2f9d30ef]{text-align:center;padding:80px 0;color:var(--text-muted)}.stat-grid[data-v-2f9d30ef]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:32px}.stat-card[data-v-2f9d30ef]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 18px}.stat-value[data-v-2f9d30ef]{font-size:28px;font-weight:700;color:var(--accent)}.stat-label[data-v-2f9d30ef]{font-size:13px;color:var(--text-muted);margin-top:4px}.section[data-v-2f9d30ef]{margin-bottom:36px}.section-title[data-v-2f9d30ef]{font-size:16px;font-weight:700;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}.danger-zone[data-v-2f9d30ef]{background:#ed42450f;border:1px solid rgba(237,66,69,.25);border-radius:var(--radius);padding:20px}.btn-danger-big[data-v-2f9d30ef]{background:var(--danger);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;transition:opacity .15s}.btn-danger-big[data-v-2f9d30ef]:hover:not(:disabled){opacity:.85}.btn-danger-big[data-v-2f9d30ef]:disabled{opacity:.5;cursor:not-allowed}.danger-hint[data-v-2f9d30ef]{font-size:13px;color:var(--text-muted);margin-top:10px}.tag-cloud[data-v-2f9d30ef]{display:flex;flex-wrap:wrap;gap:8px}.tag-chip[data-v-2f9d30ef]{background:var(--surface);border:1px solid var(--border);padding:3px 12px;border-radius:20px;color:var(--text);transition:background .1s}.tag-count[data-v-2f9d30ef]{color:var(--text-muted);font-size:.85em;margin-left:4px}.user-table-wrap[data-v-2f9d30ef]{overflow-x:auto}.user-table[data-v-2f9d30ef]{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.user-table th[data-v-2f9d30ef]{text-align:left;padding:10px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--surface2);border-bottom:1px solid var(--border)}.user-table td[data-v-2f9d30ef]{padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}.user-table tr:last-child td[data-v-2f9d30ef]{border-bottom:none}.user-table tr.banned td[data-v-2f9d30ef]{opacity:.6}.user-cell[data-v-2f9d30ef]{display:flex;align-items:center;gap:10px;min-width:200px}.user-avatar[data-v-2f9d30ef]{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-avatar-fallback[data-v-2f9d30ef]{display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:700;font-size:13px}.user-name[data-v-2f9d30ef]{font-weight:600;font-size:13px}.user-id[data-v-2f9d30ef]{font-size:11px;color:var(--text-muted);font-family:monospace}.ban-badge[data-v-2f9d30ef]{font-size:10px;padding:2px 7px;border-radius:4px;background:#ed424533;color:var(--danger);border:1px solid rgba(237,66,69,.4)}.action-cell[data-v-2f9d30ef]{display:flex;gap:6px;flex-wrap:wrap}.btn-sm[data-v-2f9d30ef]{padding:4px 10px;border-radius:6px;font-size:12px;border:1px solid;transition:background .1s}.btn-sm[data-v-2f9d30ef]:disabled{opacity:.5;cursor:not-allowed}.btn-warn[data-v-2f9d30ef]{border-color:#f0a732;color:#f0a732;background:transparent}.btn-warn[data-v-2f9d30ef]:hover:not(:disabled){background:#f0a73226}.btn-ban[data-v-2f9d30ef]{border-color:var(--danger);color:var(--danger);background:transparent}.btn-ban[data-v-2f9d30ef]:hover:not(:disabled){background:#ed424526}.btn-unban[data-v-2f9d30ef]{border-color:var(--success);color:var(--success);background:transparent}.btn-unban[data-v-2f9d30ef]:hover:not(:disabled){background:#57f2871a}
