:root { color-scheme: light; --ink:#1f2937; --muted:#667085; --line:#e5e7eb; --brand:#49ad4f; --brand-dark:#2f8f39; --blue:#5b8def; --soft:#f5f6f8; --good:#16a34a; --bad:#ef4444; }
        * { box-sizing:border-box; }
        body { margin:0; font-family:Arial, "Microsoft YaHei", sans-serif; color:var(--ink); background:#f1f2f4; }
        header { padding:24px 0 8px; }
        .wrap { width:min(840px, calc(100% - 34px)); margin:0 auto; }
        .title-row { position:relative; display:flex; align-items:center; justify-content:center; min-height:52px; }
        .brand { text-align:center; font-size:40px; font-weight:900; letter-spacing:0; color:#20242c; display:inline-flex; align-items:center; justify-content:center; gap:10px; }
        .brand-logo { width:42px; height:42px; object-fit:contain; display:block; }
        .theme-switch { position:absolute; right:0; top:50%; transform:translateY(-50%); display:flex; align-items:center; gap:4px; padding:5px; border:1px solid #e2ded5; border-radius:999px; background:#fffaf0; box-shadow:0 5px 16px rgba(31,41,55,.08); }
        .theme-btn { width:34px; height:34px; border:0; border-radius:50%; background:transparent; color:#4b5563; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; padding:0; }
        .theme-btn svg { width:18px; height:18px; stroke:currentColor; }
        .theme-btn.active { background:#178f72; color:#fff; }
        .nav { margin-top:12px; display:flex; justify-content:center; gap:14px; flex-wrap:wrap; font-size:14px; }
        .nav a { color:#2f8f39; font-weight:800; text-decoration:none; }
        .nav a:hover { text-decoration:underline; }
        .stats { margin:18px auto 18px; background:#fff; border-radius: 5px; /* 四角弧度，一般高为5，50为圆*/ min-height:36px; display:flex; align-items:center; gap:18px; padding:0 18px; color:#4b5563; font-size:18px; }
        .stats b { color:#1f2937; margin-left:8px; }
        .announcements { margin:-8px auto 10px; height:34px; overflow:hidden; border-radius:5px; background:#fff; border:1px solid #fed7aa; color:#000; display:flex; align-items:center; }
        .announcement-track { display:inline-flex; align-items:center; gap:56px; white-space:nowrap; padding-left:100%; animation:announce-scroll 46s linear infinite; font-size:15px; font-weight:800; }
        .announcement-track span::before { content:"•"; margin-right:12px; color:#f97316; }
        .card { background:#fff; border:1px solid #edf0f3; border-radius:18px; padding:28px 40px; box-shadow:0 12px 28px rgba(31,41,55,.06); }
        .dropzone { border:2px dashed #6fa0e8; border-radius:14px; min-height:230px; max-width:660px; margin:0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; cursor:pointer; transition:.16s ease; background:rgba(241, 242, 244,.62); }
        .dropzone.dragover { background:#f0f6ff; border-color:#3f7ee8; transform:translateY(-1px); }
        .dropzone .support { color:#5f6673; font-size:15px; margin-bottom:16px; }
        .dropzone strong { font-size:23px; color:#20242c; }
        input[type=file] { display:none; }
        .selected { display:grid; gap:14px; margin:22px 14px 0; }
        .admin-folder { max-width:660px; margin:0 auto 14px; display:flex; align-items:center; justify-content:flex-end; gap:10px; color:#4b5563; font-size:14px; }
        .admin-folder select { border:1px solid #d0d5dd; border-radius:8px; padding:6px 8px; background:#fff; width:128px; min-width:128px; max-width:128px; }
        .file-row { display:grid; grid-template-columns:140px 1fr auto; gap:24px; align-items:center; background:#fff; border:1px solid #eef0f3; border-radius:8px; padding:16px; }
        .thumb { width:126px; height:92px; object-fit:cover; border-radius:4px; background:#f3f4f6; border:1px solid #edf0f3; }
        .file-icon { width:126px; height:92px; border-radius:4px; background:#eef4ff; color:#2f5fb8; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:22px; border:1px solid #d8e5ff; }
        .file-meta { display:grid; gap:14px; font-size:20px; }
        .file-meta span { color:#111827; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
        .file-meta b { font-weight:400; color:#111827; }
        .remove { border:0; border-radius:5px; background:var(--bad); color:#fff; font-size:16px; font-weight:800; padding:10px 14px; cursor:pointer; }
        .actions { display:flex; justify-content:center; margin:14px 0 0; }
        .upload-btn { border:0; border-radius:6px; background:var(--brand); color:#fff; min-width:168px; padding:9px 16px; font-size:16px; font-weight:700; cursor:pointer; }
        .upload-btn:hover { background:var(--brand-dark); }
        .upload-btn:disabled { opacity:.55; cursor:not-allowed; }
        .messages { display:grid; gap:8px; margin:22px 14px 0; }
        .msg { border-radius:8px; padding:10px 12px; border:1px solid; font-size:14px; overflow-wrap:anywhere; word-break:break-word; }
        .msg.success { color:#067647; background:#ecfdf3; border-color:#abefc6; }
        .msg.error { color:#b42318; background:#fef3f2; border-color:#fecdca; }
        .result-list { display:grid; gap:12px; margin:26px 0 0; }
        .result { background:#eefff0; border:1px solid #9ee6a6; padding:12px 14px; color:#1f2937; overflow:hidden; }
        .duplicate { background:#fff8e6; border:1px solid #f6c768; padding:14px; color:#1f2937; overflow:hidden; }
        .result-head { display:flex; align-items:center; gap:8px; font-size:17px; margin-bottom:8px; }
        .result-head span:last-child { min-width:0; overflow-wrap:anywhere; word-break:break-word; }
        .duplicate > div { overflow-wrap:anywhere; word-break:break-word; }
        .check { width:18px; height:18px; flex:0 0 18px; border-radius:4px; background:#37b86b; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:900; }
        .warn-icon { width:18px; height:18px; flex:0 0 18px; border-radius:4px; background:#f59e0b; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:900; }
        .result-url { margin:6px 0 10px; line-height:1.45; word-break:break-all; font-size:16px; }
        .copy-actions { display:flex; gap:10px; flex-wrap:wrap; }
        .result button, .result a { border:1px solid #d5d9e0; background:#fff; color:#1f2937; border-radius:3px; padding:8px 13px; text-decoration:none; font-size:15px; cursor:pointer; }
        .duplicate button, .duplicate a { border:1px solid #d5d9e0; background:#fff; color:#1f2937; border-radius:3px; padding:8px 13px; text-decoration:none; font-size:15px; cursor:pointer; }
        .duplicate .overwrite { background:#16a34a; color:#fff; border-color:#16a34a; }
        .loading { position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(255,255,255,.76); z-index:1000; }
        .loading.active { display:flex; }
        .loader-box { min-width:220px; padding:24px; border-radius:12px; background:#fff; border:1px solid var(--line); box-shadow:0 18px 50px rgba(31,41,55,.16); text-align:center; }
        .spinner { width:42px; height:42px; margin:0 auto 14px; border-radius:50%; border:4px solid #dbeafe; border-top-color:#3b82f6; animation:spin .8s linear infinite; }
        .loader-box b { display:block; font-size:17px; }
        footer { padding:26px 0 34px; color:#4b5563; }
        .footer-inner { display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; border-top:1px solid #d9dee7; padding-top:18px; }
        .footer-links { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
        .footer-links a { color:#2f8f39; font-weight:800; text-decoration:none; }
        .footer-links a:hover { text-decoration:underline; }
        .footer-warning { font-weight:800; color:#b42318; }
        html[data-theme="dark"] body { background:#111827; color:#e5e7eb; }
        html[data-theme="dark"] .brand { color:#f9fafb; }
        html[data-theme="dark"] .stats, html[data-theme="dark"] .card, html[data-theme="dark"] .file-row, html[data-theme="dark"] .loader-box { background:#1f2937; border-color:#374151; box-shadow:0 12px 28px rgba(0,0,0,.28); }
        html[data-theme="dark"] .stats, html[data-theme="dark"] .stats b, html[data-theme="dark"] .file-meta span, html[data-theme="dark"] .file-meta b, html[data-theme="dark"] .dropzone strong { color:#f3f4f6; }
        html[data-theme="dark"] .announcements { background:#1f2937; border-color:#fed7aa; color:#f3f4f6; }
        html[data-theme="dark"] .dropzone { background:#172033; border-color:#4f7fcb; }
        html[data-theme="dark"] .dropzone .support, html[data-theme="dark"] footer, html[data-theme="dark"] .footer-links span { color:#cbd5e1; }
        html[data-theme="dark"] .footer-inner { border-color:#374151; }
        html[data-theme="dark"] .theme-switch { background:#0f172a; border-color:#334155; }
        html[data-theme="image"] body { background:linear-gradient(rgba(255,255,255,.22), rgba(255,255,255,.22)), url("https://img.k123.qzz.io/") center/cover fixed no-repeat; }
        html[data-theme="image"] .stats, html[data-theme="image"] .card, html[data-theme="image"] .file-row { background:rgba(255,255,255,.12); backdrop-filter:blur(2px); }
        html[data-theme="image"] .announcements { background:rgba(255,255,255,.12); backdrop-filter:blur(2px); }
        html[data-theme="image"] .footer-inner { background:rgba(255,255,255,.24); border-radius:12px; padding:18px; backdrop-filter:blur(2px); }
        html[data-theme="image"] .theme-switch { background:rgba(255,255,255,.12); border-color:#334155; }
        @keyframes spin { to { transform:rotate(360deg); } }
        @keyframes announce-scroll { from { transform:translateX(0); } to { transform:translateX(-100%); } }
        @media (max-width:760px) {
            .title-row { flex-direction:column; gap:12px; }
            .theme-switch { position:static; transform:none; }
            .brand { font-size:32px; }
            .brand-logo { width:36px; height:36px; }
            .stats { align-items:flex-start; flex-direction:column; gap:8px; padding:14px 16px; font-size:16px; }
            .announcements { margin:-8px auto 10px; }
            .card { padding:20px 18px; border-radius:16px; }
            .dropzone { min-height:200px; padding:18px; }
            .dropzone strong { font-size:20px; }
            .dropzone .support { font-size:14px; }
            .file-row { grid-template-columns:82px 1fr; gap:12px; }
            .thumb, .file-icon { width:82px; height:64px; }
            .remove { grid-column:1 / -1; width:100%; }
            .file-meta { font-size:16px; gap:8px; }
            .upload-btn { width:100%; min-width:0; }
        }
