:root{--bg:#0b1020;--bg-soft:#121a31;--card:#161f3a;--border:#243056;--text:#e6ebff;--muted:#93a0c4;--primary:#6d8bff;--primary-strong:#4f6dff;--success:#2fd47e;--danger:#ff6b6b}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(1200px 600px at 50% -10%,#1a2447 0,var(--bg) 55%);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh}.app{max-width:920px;margin:0 auto;padding:40px 20px 80px}header.hero{text-align:center;margin-bottom:28px}header.hero h1{font-size:34px;margin:0 0 8px;letter-spacing:-.5px}header.hero p{color:var(--muted);margin:0 auto;max-width:560px;line-height:1.5}.badge{padding:3px 10px;background:rgba(109,139,255,.15);border:1px solid rgba(109,139,255,.35);margin-bottom:14px}.card{margin-bottom:18px}input[type=number],input[type=password],input[type=text]{background:var(--bg-soft);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px 12px;font-size:14px;outline:none}input:focus{border-color:var(--primary)}.modes{display:flex;gap:10px}.mode-btn{flex:1 1;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-soft);color:var(--muted);cursor:pointer;font-size:14px;font-weight:600;transition:all .15s ease}.mode-btn.active{border-color:var(--primary);color:var(--text);background:rgba(109,139,255,.12)}.dropzone{border-radius:16px;padding:46px 20px;color:var(--muted);transition:all .15s ease}.dropzone.drag{background:rgba(109,139,255,.1)}.dropzone strong,.dropzone.drag{color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,var(--primary) 0,var(--primary-strong) 100%);color:white;border:none;padding:12px 18px;font-size:14px;font-weight:700;width:100%}.btn.ghost{border:1px solid var(--border);color:var(--text)}.result-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.preview{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center}.preview img{max-width:100%;max-height:240px;border-radius:8px}.preview .label{font-size:12px;color:var(--muted);margin-top:8px}.stats{grid-template-columns:1fr 1fr;margin-top:14px}.stat{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.stat .k{font-size:12px;color:var(--muted)}.stat .v{font-size:16px;font-weight:700;margin-top:2px}.stat .v.good{color:var(--success)}.error{border:1px solid rgba(255,107,107,.4);color:#ffb4b4;padding:12px;font-size:14px}.hint{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.5}@media (max-width:640px){.result-grid{grid-template-columns:1fr}header.hero h1{font-size:27px}}.muted{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.admin-link{display:inline-block;margin-top:10px;font-size:13px}.filelist{margin-top:14px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--bg-soft)}.filelist-head{margin-bottom:8px}.filelist ul{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}.filelist li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.filelist li:last-child{border-bottom:none}.link-btn{padding:2px 4px}.link-btn:hover{text-decoration:underline}.keytable{margin-top:10px}.keytable input[type=number]{width:80px;padding:4px 6px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.quota-row{margin-top:4px}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;margin-right:6px}.tag.on{background:rgba(47,212,126,.15);color:var(--success)}.tag.off{background:rgba(255,107,107,.15);color:var(--danger)}h3{margin:0 0 10px;font-size:15px}[data-theme=light]{--bg:#f4f6fc;--bg-soft:#ffffff;--card:#ffffff;--border:#d7deef;--text:#14203f;--muted:#5a6788;--primary:#4f6dff;--primary-strong:#3a54e0;--success:#1aa564;--danger:#e23b3b}[data-theme=light] body,[data-theme=light] html{background:radial-gradient(1200px 600px at 50% -10%,#e7ecfb 0,var(--bg) 55%)}[data-theme=light] .card,[data-theme=light] .tool-card{box-shadow:0 8px 26px rgba(20,32,63,.08)}[data-theme=light] .dropzone{background:#f7f9ff}[data-theme=light] .dropzone.drag{background:#eaf0ff}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:0 16px 48px}.topbar{width:100%;max-width:1080px;margin-top:16px}.topbar-inner{justify-content:space-between;padding:12px 18px;background:var(--card);border:1px solid var(--border);border-radius:14px}.brand,.topbar-inner{display:flex;align-items:center}.brand{gap:8px;font-weight:800;font-size:18px;color:var(--text);text-decoration:none}.logo-dot{width:12px;height:12px;border-radius:4px;background:linear-gradient(135deg,var(--primary),var(--primary-strong));box-shadow:0 0 14px rgba(109,139,255,.6)}.topbar-actions{display:flex;align-items:center;gap:10px}.icon-btn{width:38px;font-size:16px}.icon-btn,.lang-select{height:38px;border-radius:10px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text);cursor:pointer}.lang-select{padding:0 10px}.admin-link{color:var(--primary);text-decoration:none;font-weight:600;font-size:14px}.admin-link:hover{text-decoration:underline}.hero{text-align:center;max-width:720px;margin:40px 0 26px}.hero h1{font-size:44px;margin:14px 0 8px;letter-spacing:-1px}.hero-sub{color:var(--muted);font-size:16px;line-height:1.6;margin:0}.badge{display:inline-block;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.3px;color:var(--primary);background:rgba(109,139,255,.12);border:1px solid rgba(109,139,255,.3)}.sections{width:100%;max-width:1080px;display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:820px){.sections{grid-template-columns:1fr}}.tool-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:22px}.tool-card.mode-webp{border-top:3px solid var(--primary)}.tool-card.mode-compress{border-top:3px solid var(--success)}.tool-head h2{margin:0 0 4px;font-size:20px}.tool-head p{margin:0 0 16px;color:var(--muted);font-size:13px}.dropzone{border:2px dashed var(--border);border-radius:14px;padding:26px 16px;text-align:center;cursor:pointer;background:var(--bg-soft);transition:background .15s,border-color .15s}.dropzone strong{display:block;font-size:15px;margin-bottom:6px}.dropzone .hint{color:var(--muted);font-size:12px}.dropzone.drag{background:rgba(109,139,255,.12);border-color:var(--primary)}.controls{margin:16px 0 8px}.quality{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.quality input[type=range]{flex:1 1;accent-color:var(--primary)}.selected-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted);margin:8px 0}.actions{margin-top:12px}.btn{border:1px solid var(--border);background:var(--bg-soft);color:var(--text);padding:10px 16px;border-radius:10px;font-weight:600;cursor:pointer;transition:filter .15s,opacity .15s}.btn:hover{filter:brightness(1.1)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary-strong));border-color:transparent;color:#fff}.btn.ghost{border-color:var(--primary);color:var(--primary);background:transparent;padding:6px 12px;font-size:13px}.error{background:rgba(255,107,107,.12);color:var(--danger);border:1px solid rgba(255,107,107,.35);padding:10px 14px;border-radius:10px;font-size:13px;margin-top:12px}.error.sticky{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:50}.success{background:rgba(47,212,126,.12);color:var(--success);border:1px solid rgba(47,212,126,.35);padding:10px 14px;border-radius:10px;font-size:13px;margin-top:12px}.results{margin-top:18px;border-top:1px solid var(--border);padding-top:16px}.results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.results-head h3{margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:14px}.stats>div{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.stats .stat-label{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.stats b{font-size:15px}.stats b.good{color:var(--success)}.result-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.result-line{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.result-text{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;color:var(--text);word-break:break-all}.download-link{color:var(--primary);text-decoration:none;font-weight:600;font-size:13px;white-space:nowrap}.download-link:hover{text-decoration:underline}.ad-slot{width:100%;max-width:1080px;margin-top:28px;text-align:center}.ad-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.ad-slot img{max-width:100%;border-radius:12px;border:1px solid var(--border)}.footer{width:100%;max-width:1080px;margin-top:40px;padding-top:18px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.footer a{color:var(--primary);text-decoration:none}.admin-login{width:100%;max-width:420px;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:28px;margin-top:40px}.admin-login h1{margin:0 0 6px;font-size:24px}.admin-login p{color:var(--muted);font-size:14px;margin:0 0 18px}.admin-grid{width:100%;max-width:1080px;display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-top:28px}.admin-grid .card:first-child{grid-column:1/-1}@media (max-width:820px){.admin-grid{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px}.field{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;color:var(--muted)}.field input,.field textarea{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:10px 12px;font-size:14px}.field-row{display:flex;gap:10px;flex-wrap:wrap}.banner-preview{margin-bottom:14px}.banner-preview img{max-width:100%;border-radius:12px;border:1px solid var(--border)}.banner-url{font-size:12px;color:var(--muted);margin-top:6px;word-break:break-all}.keytable{width:100%;border-collapse:collapse;font-size:13px}.keytable td,.keytable th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}.keytable th{color:var(--muted);font-weight:600}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px;word-break:break-all}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:12px;padding:0}.link-btn.danger{color:var(--danger)}.quota-row{margin-top:6px;display:flex;gap:6px;align-items:center}.quota-row input{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:4px 6px}.logo-img{height:26px;width:auto;border-radius:8px}.brand-preview{display:flex;align-items:center;gap:10px;min-width:120px}.brand-preview img{height:32px;width:auto;border-radius:8px;border:1px solid var(--border);background:var(--bg-soft)}.brand-preview .logo-dot{width:32px;height:32px}.brand-preview-label{font-size:13px;color:var(--muted)}.filelist-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.muted{color:var(--muted)}