#ftp-image-compressor{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-light: #eff6ff;--secondary: #7c3aed;--secondary-light: #f5f3ff;--success: #15803d;--success-light: #f0fdf4;--warning: #b45309;--warning-light: #fffbeb;--danger: #b91c1c;--danger-light: #fef2f2;--text: #1f2937;--muted: #64748b;--background: #f4f7fb;--surface: #ffffff;--border: #dbe3ef;--shadow: 0 12px 32px rgba(15, 23, 42, .08);--small-shadow: 0 5px 16px rgba(15, 23, 42, .07);--radius-large: 18px;--radius-medium: 12px;--radius-small: 8px;width:100%;min-height:100vh;margin:0;color:var(--text);background:radial-gradient(circle at top left,rgba(37,99,235,.08),transparent 32%),var(--background);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}#ftp-image-compressor,#ftp-image-compressor *{box-sizing:border-box}#ftp-image-compressor button,#ftp-image-compressor input,#ftp-image-compressor select{font:inherit}#ftp-image-compressor a{color:var(--primary-dark)}#ftp-image-compressor .page-container{width:min(100% - 32px,1120px);margin:0 auto;padding:24px 0 50px}#ftp-image-compressor .page-navigation{position:sticky;top:10px;z-index:100;display:flex;align-items:center;gap:7px;margin-bottom:22px;padding:9px;overflow-x:auto;background:#fffffff5;border:1px solid var(--border);border-radius:14px;box-shadow:var(--small-shadow);backdrop-filter:blur(10px);scrollbar-width:thin}#ftp-image-compressor .page-navigation a,#ftp-image-compressor .page-navigation a:visited{flex:0 0 auto;padding:9px 13px;color:#1f2937;background:transparent;border-radius:8px;font-size:.92rem;font-weight:700;text-decoration:none;white-space:nowrap;transition:color .2s ease,background-color .2s ease,transform .2s ease}#ftp-image-compressor .page-navigation a:hover,#ftp-image-compressor .page-navigation a:focus-visible{color:#000;background:var(--primary-light);outline:none}#ftp-image-compressor .page-navigation a.active,#ftp-image-compressor .page-navigation a.active:visited,#ftp-image-compressor .page-navigation a:active{color:#000!important;background:#dbeafe!important}#ftp-image-compressor .page-navigation a:hover{transform:translateY(-1px)}#ftp-image-compressor .breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:17px;color:var(--muted);font-size:.9rem}#ftp-image-compressor .breadcrumb a{font-weight:700;text-decoration:none}#ftp-image-compressor .breadcrumb a:hover{color:#000;text-decoration:underline}#ftp-image-compressor .hero-section{position:relative;margin-bottom:24px;padding:clamp(30px,6vw,58px);overflow:hidden;color:#fff;background:linear-gradient(135deg,#2563ebfa,#7c3aedf0);border-radius:var(--radius-large);box-shadow:var(--shadow);animation:ftpImageFadeUp .6s ease both}#ftp-image-compressor .hero-section:before{content:"";position:absolute;top:-90px;right:-75px;width:240px;height:240px;background:#ffffff1a;border-radius:50%}#ftp-image-compressor .hero-section:after{content:"";position:absolute;bottom:-100px;left:-70px;width:210px;height:210px;background:#ffffff14;border-radius:50%}#ftp-image-compressor .hero-content{position:relative;z-index:1;max-width:830px}#ftp-image-compressor .hero-label{display:inline-block;margin-bottom:14px;padding:6px 12px;color:#fff;background:#ffffff29;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}#ftp-image-compressor .hero-section h1{margin:0 0 14px;color:#fff;font-size:clamp(2rem,6vw,3.25rem);line-height:1.15}#ftp-image-compressor .hero-section p{max-width:790px;margin:0;color:#fffffff0;font-size:1.08rem}#ftp-image-compressor .hero-note{display:inline-block;margin-top:16px;padding:8px 12px;color:#fff;background:#ffffff21;border:1px solid rgba(255,255,255,.24);border-radius:8px;font-size:.9rem;font-weight:700}#ftp-image-compressor .quick-access{margin-bottom:24px;padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow);text-align:center}#ftp-image-compressor .quick-access h2{margin:0 0 14px;color:var(--text);font-size:1.3rem}#ftp-image-compressor .quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:11px}#ftp-image-compressor .quick-link,#ftp-image-compressor .quick-link:visited{display:block;padding:11px 14px;color:var(--primary-dark);background:var(--primary-light);border:1px solid #bfdbfe;border-radius:9px;font-size:.94rem;font-weight:700;text-decoration:none;transition:color .2s ease,background-color .2s ease,transform .2s ease}#ftp-image-compressor .quick-link:hover,#ftp-image-compressor .quick-link:focus-visible{color:#000;background:#dbeafe;transform:translateY(-1px);outline:none}#ftp-image-compressor .quick-link:active{color:#000}#ftp-image-compressor .tool-section,#ftp-image-compressor .content-section,#ftp-image-compressor .related-tools,#ftp-image-compressor .footer-section{margin-top:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow);scroll-margin-top:100px}#ftp-image-compressor .tool-section,#ftp-image-compressor .content-section,#ftp-image-compressor .related-tools{padding:clamp(22px,5vw,36px);animation:ftpImageFadeUp .65s ease both}#ftp-image-compressor .tool-section h2,#ftp-image-compressor .content-section h2,#ftp-image-compressor .related-tools h2{margin:0 0 13px;color:var(--text);font-size:clamp(1.35rem,4vw,1.85rem);line-height:1.3}#ftp-image-compressor .tool-section>h2:after,#ftp-image-compressor .content-section h2:after,#ftp-image-compressor .related-tools h2:after{content:"";display:block;width:50px;height:4px;margin-top:8px;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:999px}#ftp-image-compressor .tool-introduction{max-width:850px;margin:0 0 23px;color:var(--muted)}#ftp-image-compressor .content-section h3{margin:25px 0 8px;color:var(--text);font-size:1.18rem}#ftp-image-compressor .content-section p{margin:0 0 14px;color:#334155}#ftp-image-compressor .content-section p:last-child{margin-bottom:0}#ftp-image-compressor .content-section ul,#ftp-image-compressor .content-section ol{margin:0;padding-left:23px}#ftp-image-compressor .content-section li{margin-bottom:9px;color:#334155}#ftp-image-compressor .content-section li:last-child{margin-bottom:0}#ftp-image-compressor .content-section li::marker{color:var(--primary);font-weight:700}#ftp-image-compressor .information-note,#ftp-image-compressor .warning-note{margin-top:17px;padding:15px 17px;border-radius:var(--radius-small)}#ftp-image-compressor .information-note{color:#334155;background:var(--primary-light);border:1px solid #bfdbfe;border-left:4px solid var(--primary)}#ftp-image-compressor .warning-note{color:#78350f;background:var(--warning-light);border:1px solid #fde68a;border-left:4px solid var(--warning)}#ftp-image-compressor .uploader{padding:clamp(30px,6vw,48px) 20px;color:var(--text);background:linear-gradient(135deg,#eff6ffd9,#f5f3ffd9);border:2px dashed #93c5fd;border-radius:var(--radius-medium);cursor:pointer;text-align:center;transition:border-color .2s ease,background-color .2s ease,transform .2s ease,box-shadow .2s ease}#ftp-image-compressor .uploader:hover,#ftp-image-compressor .uploader:focus-visible,#ftp-image-compressor .uploader.drag{background:linear-gradient(135deg,#dbeafe,#ede9fe);border-color:var(--primary);box-shadow:var(--small-shadow);outline:none;transform:translateY(-1px)}#ftp-image-compressor .upload-icon{display:block;margin-bottom:9px;font-size:2.4rem}#ftp-image-compressor .uploader strong{display:block;margin-bottom:7px;font-size:1.13rem}#ftp-image-compressor .meta{color:var(--muted);font-size:.88rem}#ftp-image-compressor .controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}#ftp-image-compressor .control-panel{padding:20px;background:#fbfdff;border:1px solid var(--border);border-radius:var(--radius-medium)}#ftp-image-compressor .control-group{margin-bottom:17px}#ftp-image-compressor .control-group:last-child{margin-bottom:0}#ftp-image-compressor label{display:block;margin-bottom:6px;color:var(--text);font-weight:700}#ftp-image-compressor select,#ftp-image-compressor input[type=number]{display:block;width:100%;min-height:49px;padding:12px 13px;color:var(--text);background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}#ftp-image-compressor select:hover,#ftp-image-compressor input[type=number]:hover{border-color:#94a3b8}#ftp-image-compressor select:focus,#ftp-image-compressor input[type=number]:focus,#ftp-image-compressor input[type=range]:focus-visible{border-color:var(--primary);box-shadow:0 0 0 4px #2563eb21;outline:none}#ftp-image-compressor input[type=range]{width:100%;margin:9px 0 6px;cursor:pointer;accent-color:var(--primary)}#ftp-image-compressor .quality-value{display:inline-block;min-width:61px;padding:4px 9px;color:var(--success);background:var(--success-light);border:1px solid #bbf7d0;border-radius:999px;font-weight:800;text-align:center}#ftp-image-compressor .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:19px}#ftp-image-compressor .tool-button{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:11px 18px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));border:0;border-radius:9px;cursor:pointer;font-weight:700;box-shadow:0 5px 12px #2563eb33;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}#ftp-image-compressor .tool-button:hover{transform:translateY(-2px);filter:brightness(.97);box-shadow:0 8px 17px #2563eb40}#ftp-image-compressor .tool-button:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:3px}#ftp-image-compressor .tool-button:active{transform:translateY(0)}#ftp-image-compressor .tool-button.secondary{color:var(--primary-dark);background:var(--primary-light);border:1px solid #bfdbfe;box-shadow:none}#ftp-image-compressor .tool-button.secondary:hover{color:#000;background:#dbeafe;box-shadow:none}#ftp-image-compressor .tool-button:disabled{color:#fff;background:#64748b;cursor:not-allowed;filter:none;transform:none;box-shadow:none}#ftp-image-compressor .processing-note{margin:14px 0 0;color:var(--muted);font-size:.87rem}#ftp-image-compressor .preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:23px}#ftp-image-compressor .preview-card{min-width:0;padding:16px;overflow:hidden;background:#fbfdff;border:1px solid var(--border);border-radius:var(--radius-medium);text-align:center;animation:ftpImageResult .32s ease both}#ftp-image-compressor .preview-card strong{display:block;margin-bottom:7px;overflow-wrap:anywhere}#ftp-image-compressor .preview-card img{display:block;width:100%;height:170px;margin-bottom:12px;object-fit:contain;background:#fff;border:1px solid #edf2f7;border-radius:8px}#ftp-image-compressor .preview-card a{display:inline-block;margin-top:11px;text-decoration:none}#ftp-image-compressor .zip-area{margin-top:20px;text-align:center}#ftp-image-compressor details{margin-bottom:11px;background:#fbfdff;border:1px solid var(--border);border-radius:var(--radius-medium);transition:border-color .2s ease,box-shadow .2s ease}#ftp-image-compressor details:last-child{margin-bottom:0}#ftp-image-compressor details:hover{border-color:#b6c4d8}#ftp-image-compressor details[open]{border-color:#93c5fd;box-shadow:var(--small-shadow)}#ftp-image-compressor summary{padding:14px 16px;color:var(--text);cursor:pointer;font-weight:700}#ftp-image-compressor details p{margin:0;padding:0 16px 15px}#ftp-image-compressor .related-tools{text-align:center}#ftp-image-compressor .related-tools h2:after{margin-right:auto;margin-left:auto}#ftp-image-compressor .related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:18px}#ftp-image-compressor .related-card,#ftp-image-compressor .related-card:visited{display:block;padding:17px 14px;color:var(--text);background:linear-gradient(135deg,var(--primary-light),var(--secondary-light));border:1px solid #c4b5fd;border-radius:10px;font-weight:800;text-decoration:none;transition:color .2s ease,transform .2s ease,box-shadow .2s ease}#ftp-image-compressor .related-card:hover,#ftp-image-compressor .related-card:focus-visible{color:#000;transform:translateY(-2px);box-shadow:var(--small-shadow);outline:none}#ftp-image-compressor .footer-section{padding:23px;text-align:center}#ftp-image-compressor .footer-section p{margin:0 0 10px;color:var(--muted)}#ftp-image-compressor .footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:9px 16px}#ftp-image-compressor .footer-links a,#ftp-image-compressor .footer-links a:visited{color:var(--primary-dark);font-weight:700;text-decoration:none}#ftp-image-compressor .footer-links a:hover,#ftp-image-compressor .footer-links a:focus-visible{color:#000;text-decoration:underline;outline:none}@keyframes ftpImageFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes ftpImageResult{0%{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:820px){#ftp-image-compressor .controls{grid-template-columns:1fr}}@media(max-width:760px){#ftp-image-compressor .page-container{width:min(100% - 20px,1120px);padding-top:12px}#ftp-image-compressor .page-navigation{top:5px;margin-bottom:15px;border-radius:11px}#ftp-image-compressor .hero-section{padding:31px 22px;border-radius:15px}#ftp-image-compressor .tool-section,#ftp-image-compressor .content-section,#ftp-image-compressor .quick-access,#ftp-image-compressor .related-tools,#ftp-image-compressor .footer-section{border-radius:14px}}@media(max-width:500px){#ftp-image-compressor{font-size:15px}#ftp-image-compressor .page-container{width:min(100% - 14px,1120px)}#ftp-image-compressor .page-navigation a{padding:8px 11px;font-size:.86rem}#ftp-image-compressor .hero-section{padding:27px 18px}#ftp-image-compressor .tool-section,#ftp-image-compressor .content-section,#ftp-image-compressor .quick-access,#ftp-image-compressor .related-tools{padding:19px 15px}#ftp-image-compressor .control-panel{padding:16px 14px}#ftp-image-compressor .actions{flex-direction:column}#ftp-image-compressor .tool-button{width:100%}#ftp-image-compressor .quick-links,#ftp-image-compressor .related-grid,#ftp-image-compressor .preview-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){#ftp-image-compressor,#ftp-image-compressor *,#ftp-image-compressor *:before,#ftp-image-compressor *:after{animation:none!important;transition:none!important}}
