:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-height:100vh;width:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{width:100%;min-height:100vh}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app-shell[data-v-a2ce551c]{max-width:1200px;margin:0 auto;padding:0}.app-shell.full[data-v-a2ce551c]{max-width:none;width:100%;padding:0}.app-header[data-v-a2ce551c]{display:flex;align-items:center;justify-content:space-between;padding:0}.nav[data-v-a2ce551c]{display:flex;gap:12px}.spacer[data-v-a2ce551c]{flex:1}.app-main[data-v-a2ce551c]{margin-top:0}.app-main.full[data-v-a2ce551c]{margin-top:0;padding:0;min-height:100vh}[data-v-8d5e18ee]:root{--bg: #f5f6f7;--card: #ffffff;--text: #1f2d3d;--muted: #475569;--line: #e5e7eb;--accent: #ff7a00;--accent-2: #ffae42}.home[data-v-8d5e18ee]{background:var(--bg)}.container[data-v-8d5e18ee]{max-width:1200px;margin:0 auto;padding:0 16px}.hero[data-v-8d5e18ee]{position:relative;background:radial-gradient(circle at 30% 40%,#ff7a0059 0,#ff7a0014 45%,#ff7a0005 70%),radial-gradient(circle at 70% 60%,#ffae4259 0,#ffae4214 45%,#ffae4205 70%);overflow:hidden}.hero .container[data-v-8d5e18ee]{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;padding:28px 16px}.hero .container.single-col[data-v-8d5e18ee]{grid-template-columns:1fr}.hero-content .title[data-v-8d5e18ee]{font-size:28px;line-height:1.35;color:var(--text);margin:8px 0 16px}.meta[data-v-8d5e18ee]{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.badge[data-v-8d5e18ee]{background:#ff7a001f;color:var(--accent);padding:6px 10px;border-radius:999px;font-weight:600}.stat[data-v-8d5e18ee]{display:flex;gap:6px;color:var(--muted)}.stat .value[data-v-8d5e18ee]{color:var(--text);font-weight:600}.status.ended[data-v-8d5e18ee]{color:#ef4444}.btn[data-v-8d5e18ee]{padding:8px 14px;border-radius:8px;border:1px solid transparent;cursor:pointer}.btn.ended[data-v-8d5e18ee]{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.btn.outline[data-v-8d5e18ee]{background:#fff;border-color:var(--line)}.btn.small[data-v-8d5e18ee]{padding:6px 10px}.hero-art[data-v-8d5e18ee]{height:180px;border-radius:16px;display:flex;align-items:stretch;justify-content:stretch}.upload-panel[data-v-8d5e18ee]{width:100%;padding-top:28px;display:flex;align-items:center;justify-content:center}.upload-wrap[data-v-8d5e18ee]{margin-top:16px}.dropzone[data-v-8d5e18ee]{border:3px dashed rgba(255,122,0,.85);background:#ffffffe6;border-radius:14px;padding:22px;box-shadow:0 8px 20px #ff7a0026}.upload-panel .dropzone[data-v-8d5e18ee]{max-width:520px;width:92%;margin-top:10px}.dropzone.fill[data-v-8d5e18ee]{height:100%}.upload-panel .dropzone.fill[data-v-8d5e18ee]{height:auto}.dropzone.pos-rel[data-v-8d5e18ee]{position:relative}.dz-counter[data-v-8d5e18ee]{position:absolute;top:8px;right:10px;background:#1f2d3db8;color:#fff;font-size:12px;padding:4px 8px;border-radius:999px;pointer-events:none}.dropzone.dragging[data-v-8d5e18ee]{border-color:#ff7a00;background:#fff7ed;box-shadow:0 10px 26px #ff7a0040}.dz-inner[data-v-8d5e18ee]{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between}.dz-inner.column[data-v-8d5e18ee]{flex-direction:column;align-items:flex-start;gap:10px}.dz-inner.center[data-v-8d5e18ee]{align-items:center;justify-content:center;text-align:center;height:100%}.dz-plus[data-v-8d5e18ee]{width:72px;height:72px;border-radius:16px;border:2px dashed var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:800;background:#fff;box-shadow:0 6px 18px #ff7a002e}.dz-actions[data-v-8d5e18ee]{display:flex;gap:12px;flex-wrap:wrap}.dz-actions.center[data-v-8d5e18ee]{justify-content:center}.upload-panel .btn[data-v-8d5e18ee]{padding:8px 14px;border-radius:999px;font-size:14px;height:38px;font-weight:700;border:2px solid transparent;display:inline-flex;align-items:center;justify-content:center;line-height:1;min-width:120px}.upload-panel .btn[data-v-8d5e18ee]:hover{transform:translateY(-1px);transition:all .2s ease}.upload-panel .btn[data-v-8d5e18ee]:active{transform:translateY(0)}.upload-panel label.btn[data-v-8d5e18ee],.upload-panel button.btn[data-v-8d5e18ee]{background:linear-gradient(135deg,#ffb267,#ff8a1a);color:#fff;box-shadow:0 4px 14px #ff8a1a73}.upload-panel button.btn[data-v-8d5e18ee]:disabled{opacity:.75;cursor:not-allowed;filter:grayscale(.1)}.spinner[data-v-8d5e18ee]{width:16px;height:16px;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;border-radius:50%;margin-right:8px;animation:spin-8d5e18ee .8s linear infinite;display:inline-block}@keyframes spin-8d5e18ee{to{transform:rotate(360deg)}}.dz-title[data-v-8d5e18ee],.dz-file[data-v-8d5e18ee]{color:var(--text);font-weight:600}.dz-file.one-line[data-v-8d5e18ee]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dz-file.floating[data-v-8d5e18ee]{position:absolute;bottom:-28px;left:50%;transform:translate(-50%);opacity:.9;font-weight:700}.dz-error[data-v-8d5e18ee]{color:#dc2626}.dz-success[data-v-8d5e18ee]{color:#16a34a}.userbar[data-v-8d5e18ee]{position:absolute;top:0;right:16px;display:flex;gap:10px;align-items:center;z-index:5}.userbar-actions[data-v-8d5e18ee]{display:flex;gap:8px;align-items:center}.content[data-v-8d5e18ee]{display:grid;grid-template-columns:110px 1fr;align-items:start;gap:10px;margin:18px auto 28px}.content.container[data-v-8d5e18ee]{padding:0 2px}.sidenav[data-v-8d5e18ee]{position:sticky;top:16px}.sidenav.narrow[data-v-8d5e18ee]{width:110px}.sidenav ul[data-v-8d5e18ee]{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:10px;background:var(--card);overflow:visible}.sidenav li[data-v-8d5e18ee]{padding:8px 10px;border-left:4px solid transparent;cursor:default;color:var(--muted);font-size:13px}.sidenav li+li[data-v-8d5e18ee]{border-top:1px solid var(--line)}.sidenav li.active[data-v-8d5e18ee]{color:var(--text);border-left-color:var(--accent);background:linear-gradient(90deg,rgba(255,122,0,.08),transparent);font-weight:600}.maincard[data-v-8d5e18ee]{min-width:0}.card[data-v-8d5e18ee]{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}.card h2[data-v-8d5e18ee]{margin:4px 0 14px;font-size:20px;color:var(--text)}.card h3[data-v-8d5e18ee]{margin:18px 0 8px;font-size:16px;color:var(--text)}.card p[data-v-8d5e18ee]{color:var(--muted);line-height:1.8}.links p[data-v-8d5e18ee]{margin:6px 0}.links a[data-v-8d5e18ee]{color:#2563eb}.tabs[data-v-8d5e18ee]{display:flex;gap:16px;border-bottom:1px solid var(--line);margin-bottom:12px}.tab[data-v-8d5e18ee]{padding:10px 2px;color:var(--muted);position:relative}.tab.active[data-v-8d5e18ee]{color:var(--text);font-weight:600}.tab.active[data-v-8d5e18ee]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);border-radius:2px}.dot[data-v-8d5e18ee]{display:inline-block;width:8px;height:8px;background:var(--line);border-radius:50%;margin-left:6px;vertical-align:middle}.table-wrap[data-v-8d5e18ee]{overflow-x:auto;position:relative}.table[data-v-8d5e18ee]{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.table-overlay[data-v-8d5e18ee]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff9;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);font-weight:700;color:#8b4513}.table thead th[data-v-8d5e18ee]{text-align:left;font-weight:600;color:var(--muted);padding:6px 8px;background:#fafafa;font-size:12px}.table tbody td[data-v-8d5e18ee]{padding:8px;border-top:1px solid var(--line);color:var(--text)}.table th[data-v-8d5e18ee],.table td[data-v-8d5e18ee]{word-break:break-word;overflow:hidden;text-overflow:ellipsis}.table tbody tr[data-v-8d5e18ee]:hover{background:#fffaf5}.table .col-rank[data-v-8d5e18ee]{width:48px;color:var(--accent);font-weight:600}.table .col-date[data-v-8d5e18ee]{width:110px}.table .col-score[data-v-8d5e18ee]{width:72px}.table .col-video-acc[data-v-8d5e18ee]{width:160px}.muted[data-v-8d5e18ee]{color:var(--muted)}.pagination[data-v-8d5e18ee]{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:14px}.pages[data-v-8d5e18ee]{display:flex;gap:6px}.page[data-v-8d5e18ee]{padding:6px 10px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer}.page.active[data-v-8d5e18ee]{border-color:var(--accent);color:var(--accent);font-weight:600}.welcome[data-v-8d5e18ee]{color:var(--muted)}.toast[data-v-8d5e18ee]{position:fixed;top:12px;left:50%;transform:translate(-50%);background:#16a34a;color:#fff;padding:8px 14px;border-radius:999px;box-shadow:0 6px 16px #16a34a4d;font-weight:700}.toast-fade-enter-active[data-v-8d5e18ee],.toast-fade-leave-active[data-v-8d5e18ee]{transition:opacity .3s ease}.toast-fade-enter-from[data-v-8d5e18ee],.toast-fade-leave-to[data-v-8d5e18ee]{opacity:0}@media (max-width: 1100px){.hero .container[data-v-8d5e18ee],.content[data-v-8d5e18ee]{grid-template-columns:1fr}.sidenav[data-v-8d5e18ee]{position:static}}.login-wrap[data-v-e4907045]{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:url(/login_bg.png) 70% center/cover no-repeat fixed}.login-panel[data-v-e4907045]{max-width:480px;width:92%;text-align:center}.title[data-v-e4907045]{font-size:54px;margin-bottom:10px;color:#fff;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.35)}.subtitle[data-v-e4907045]{color:#fff;margin-bottom:18px;text-shadow:0 2px 8px rgba(0,0,0,.35)}.card[data-v-e4907045]{border:none;border-radius:12px;padding:28px;background:#fff;box-shadow:0 8px 30px #00000026}.form[data-v-e4907045]{display:flex;flex-direction:column;gap:14px;text-align:left}.button-group[data-v-e4907045]{display:flex;gap:12px;margin-top:8px}.button-group .primary[data-v-e4907045],.button-group .secondary[data-v-e4907045]{flex:1;padding:10px 12px;border:none;border-radius:8px;cursor:pointer;height:40px;font-weight:600;transition:all .3s ease}.button-group .secondary[data-v-e4907045]{background:linear-gradient(135deg,#f8c47a,#fde1bb);color:#8b4513;border:2px solid #fde1bb;box-shadow:0 2px 8px #fde1bb4d}.button-group .secondary[data-v-e4907045]:hover{background:linear-gradient(135deg,#fde1bb,#f8c47a);color:#8b4513;transform:translateY(-1px);box-shadow:0 4px 12px #fde1bb66}label[data-v-e4907045]{display:flex;flex-direction:column;gap:8px;font-weight:600;color:#8b4513}input[data-v-e4907045]{padding:10px 12px;border:2px solid #f5d0a0;border-radius:8px;height:40px;background:#fefcfb;transition:border-color .3s ease}input[data-v-e4907045]:focus{outline:none;border-color:#fde1bb;box-shadow:0 0 0 3px #fde1bb1a}.button-group .primary[data-v-e4907045]{background:linear-gradient(135deg,#fde1bb,#f8c47a);color:#8b4513;box-shadow:0 2px 8px #fde1bb4d}.button-group .primary[data-v-e4907045]:hover{background:linear-gradient(135deg,#f8c47a,#fde1bb);transform:translateY(-1px);box-shadow:0 4px 12px #fde1bb66}.button-group .primary[data-v-e4907045]:disabled{opacity:.7;cursor:not-allowed;transform:none}.error[data-v-e4907045]{color:#d97706;margin-top:12px;background:#fde1bb1a;padding:8px 12px;border-radius:6px;border:1px solid rgba(217,119,6,.2)}.login-wrap[data-v-37cc8d80]{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:url(/login_bg.png) 70% center/cover no-repeat fixed}.login-panel[data-v-37cc8d80]{max-width:480px;width:92%;text-align:center}.title[data-v-37cc8d80]{font-size:54px;margin-bottom:20px;color:#fff;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.35)}.card[data-v-37cc8d80]{border:none;border-radius:12px;padding:20px;background:#fff;box-shadow:0 8px 30px #00000026}.form[data-v-37cc8d80]{display:flex;flex-direction:column;gap:10px;text-align:left}label[data-v-37cc8d80]{display:flex;flex-direction:column;gap:4px;font-weight:600;color:#8b4513}input[data-v-37cc8d80]{padding:8px 12px;border:2px solid #f5d0a0;border-radius:6px;height:36px;background:#fefcfb;transition:border-color .3s ease}input.invalid[data-v-37cc8d80]{border-color:#ef4444;background:#fff1f2}.field-error[data-v-37cc8d80]{color:#b45309;font-size:12px;margin-top:4px}input[data-v-37cc8d80]:focus{outline:none;border-color:#fde1bb;box-shadow:0 0 0 3px #fde1bb1a}.primary[data-v-37cc8d80]{padding:10px 12px;background:linear-gradient(135deg,#fde1bb,#f8c47a);color:#8b4513;border:none;border-radius:8px;cursor:pointer;height:40px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #fde1bb4d}.primary[data-v-37cc8d80]:hover{background:linear-gradient(135deg,#f8c47a,#fde1bb);transform:translateY(-1px);box-shadow:0 4px 12px #fde1bb66}.primary[data-v-37cc8d80]:disabled{opacity:.7;cursor:not-allowed;transform:none}.success[data-v-37cc8d80],.error[data-v-37cc8d80]{color:#d97706;margin-top:12px;background:#fde1bb1a;padding:8px 12px;border-radius:6px;border:1px solid rgba(217,119,6,.2)}.login-link[data-v-37cc8d80]{margin-top:16px;color:#6b7280;font-size:14px}.code-input-row[data-v-37cc8d80]{display:flex;gap:8px;align-items:flex-start}.code-input-row input[data-v-37cc8d80]{flex:1;margin:0}.send-code-btn[data-v-37cc8d80]{padding:8px 12px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;white-space:nowrap;min-width:80px}.send-code-btn[data-v-37cc8d80]:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.send-code-btn[data-v-37cc8d80]:disabled{opacity:.6;cursor:not-allowed}.back-row[data-v-37cc8d80]{margin-top:12px}.back-btn[data-v-37cc8d80]{padding:8px 12px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.back-btn[data-v-37cc8d80]:hover{background:#e5e7eb;border-color:#9ca3af}@media (max-width: 768px){.login-panel[data-v-37cc8d80]{max-width:95%;width:95%}.title[data-v-37cc8d80]{font-size:48px;margin-bottom:16px}.card[data-v-37cc8d80]{padding:16px}.form[data-v-37cc8d80]{gap:8px}input[data-v-37cc8d80]{height:32px;padding:6px 10px}.primary[data-v-37cc8d80]{height:36px;padding:8px 12px}}.user-management[data-v-f12c1e8f]{--text: #213547;--card: #ffffff;--line: #e5e7eb;--muted: #6b7280;padding:20px;max-width:1200px;margin:0 auto}.header[data-v-f12c1e8f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header-left[data-v-f12c1e8f]{display:flex;align-items:center;gap:16px}.header h1[data-v-f12c1e8f]{color:var(--text);margin:0}.back-btn[data-v-f12c1e8f]{display:flex;align-items:center;gap:6px}.content[data-v-f12c1e8f]{background:var(--card);border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a}.alert[data-v-f12c1e8f]{padding:12px 16px;border-radius:8px;margin-bottom:20px}.alert.error[data-v-f12c1e8f]{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.loading[data-v-f12c1e8f]{text-align:center;padding:40px;color:var(--muted)}.table-container[data-v-f12c1e8f]{overflow-x:auto}.user-table[data-v-f12c1e8f]{width:100%;border-collapse:collapse;margin-top:20px}.user-table th[data-v-f12c1e8f],.user-table td[data-v-f12c1e8f]{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line)}.user-table th[data-v-f12c1e8f]{background:#fafafa;font-weight:600;color:var(--text)}.user-table tbody tr[data-v-f12c1e8f]:hover{background:#fde1bb1a}.actions[data-v-f12c1e8f]{display:flex;gap:8px;flex-wrap:wrap}.btn[data-v-f12c1e8f]{padding:6px 12px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.btn.small[data-v-f12c1e8f]{padding:4px 8px;font-size:12px}.btn.primary[data-v-f12c1e8f]{background:linear-gradient(135deg,#fde1bb,#f8c47a);color:#8b4513}.btn.secondary[data-v-f12c1e8f]{background:#f3f4f6;color:var(--text)}.btn.warning[data-v-f12c1e8f]{background:#fef3c7;color:#92400e}.btn.danger[data-v-f12c1e8f]{background:#fee2e2;color:#dc2626}.btn[data-v-f12c1e8f]:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.modal-overlay[data-v-f12c1e8f]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-f12c1e8f]{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.add-user-modal[data-v-f12c1e8f]{max-width:720px;max-height:80vh}.modal-header[data-v-f12c1e8f]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--line)}.modal-header h3[data-v-f12c1e8f]{margin:0;color:var(--text)}.close-btn[data-v-f12c1e8f]{background:none;border:none;font-size:24px;cursor:pointer;color:var(--muted);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-body[data-v-f12c1e8f]{padding:20px}.form-group[data-v-f12c1e8f]{margin-bottom:16px}.form-group label[data-v-f12c1e8f]{display:block;margin-bottom:6px;font-weight:500;color:var(--text)}.form-group input[data-v-f12c1e8f]{width:100%;max-width:280px;padding:10px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff;transition:all .2s ease}.form-group input[data-v-f12c1e8f]:focus{outline:none;border-color:#f8c47a;box-shadow:0 0 0 3px #f8c47a1a;background:#fff}.form-group input[data-v-f12c1e8f]::placeholder{color:#9ca3af;font-size:14px}.form-section[data-v-f12c1e8f]{margin-bottom:20px;padding:20px;background:#fafafa;border-radius:12px;border:1px solid #f0f0f0}.form-section[data-v-f12c1e8f]:last-of-type{margin-bottom:20px}.section-title[data-v-f12c1e8f]{margin:0 0 16px;font-size:15px;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.section-title[data-v-f12c1e8f]:before{content:"";width:3px;height:14px;background:linear-gradient(135deg,#fde1bb,#f8c47a);border-radius:2px}.form-grid[data-v-f12c1e8f]{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-group[data-v-f12c1e8f]{margin-bottom:0}.form-actions[data-v-f12c1e8f]{display:flex;gap:16px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #f0f0f0}.warning-text[data-v-f12c1e8f]{color:#dc2626;font-weight:500;margin:8px 0}.info-text[data-v-f12c1e8f]{color:var(--muted);font-size:14px;margin:8px 0}@media (max-width: 768px){.header[data-v-f12c1e8f]{flex-direction:column;gap:16px;align-items:stretch}.header-left[data-v-f12c1e8f]{flex-direction:column;align-items:flex-start;gap:12px}.actions[data-v-f12c1e8f]{flex-direction:column}.btn.small[data-v-f12c1e8f]{width:100%}.modal[data-v-f12c1e8f]{width:95%;margin:20px}.add-user-modal[data-v-f12c1e8f]{max-width:95%;max-height:85vh}.form-grid[data-v-f12c1e8f]{grid-template-columns:1fr;gap:20px}.form-section[data-v-f12c1e8f]{padding:16px;margin-bottom:16px}.form-group input[data-v-f12c1e8f]{max-width:100%}.form-actions[data-v-f12c1e8f]{flex-direction:column}.form-actions .btn[data-v-f12c1e8f]{width:100%}}
