:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#dbeafe;--color-primary-faint:#eff6ff;--color-text:#111827;--color-text-secondary:#4b5563;--color-text-muted:#9ca3af;--color-bg:#fff;--color-bg-subtle:#f9fafb;--color-border:#e5e7eb;--color-border-focus:#2563eb;--color-success:#16a34a;--color-success-bg:#f0fdf4;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-warning:#d97706;--color-warning-bg:#fffbeb;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000d;--shadow-lg:0 10px 30px #0000001a, 0 4px 8px #0000000d;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--container-width:1100px;--header-height:64px;--transition:.18s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100dvh;line-height:1.6;display:flex}#root{flex-direction:column;min-height:100dvh;display:flex}img,svg{max-width:100%;display:block}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-sans);cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:var(--font-sans)}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:700;line-height:1.25}p{color:var(--color-text-secondary)}ul,ol{list-style:none}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 20px}.main-content{padding-top:var(--header-height);flex:1}.site-header{height:var(--header-height);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);z-index:100;background:#fffffff2;position:fixed;top:0;left:0;right:0}.header-inner{justify-content:space-between;align-items:center;height:100%;display:flex}.site-logo{color:var(--color-text);align-items:center;gap:8px;text-decoration:none;display:flex}.logo-icon{background:var(--color-primary);color:#fff;letter-spacing:-.5px;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:800;display:flex}.logo-text{color:var(--color-text);letter-spacing:-.3px;font-size:18px;font-weight:800}.logo-text span{color:var(--color-primary)}.site-nav{align-items:center;gap:4px;display:flex}.site-nav a{border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:color var(--transition), background var(--transition);padding:6px 14px;font-size:14px;font-weight:500;text-decoration:none}.site-nav a:hover,.site-nav a.active{color:var(--color-primary);background:var(--color-primary-faint);text-decoration:none}.hamburger-btn{border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text);background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.hamburger-btn span{width:22px;height:2px;transition:transform var(--transition), opacity var(--transition);background:currentColor;border-radius:2px;display:block}.mobile-menu{top:var(--header-height);border-bottom:1px solid var(--color-border);z-index:99;background:#fff;flex-direction:column;gap:4px;padding:16px 20px;display:none;position:fixed;left:0;right:0}.mobile-menu.open{display:flex}.mobile-menu a{border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:color var(--transition), background var(--transition);padding:10px 14px;font-size:15px;font-weight:500;text-decoration:none}.mobile-menu a:hover,.mobile-menu a.active{color:var(--color-primary);background:var(--color-primary-faint)}.site-footer{background:var(--color-bg-subtle);border-top:1px solid var(--color-border);margin-top:auto;padding:48px 0 32px}.footer-inner{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;display:grid}.footer-brand p{color:var(--color-text-secondary);max-width:240px;margin-top:10px;font-size:14px;line-height:1.6}.footer-col h4{color:var(--color-text);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;font-size:13px;font-weight:700}.footer-col ul{flex-direction:column;gap:8px;display:flex}.footer-col ul li a{color:var(--color-text-secondary);transition:color var(--transition);font-size:14px;text-decoration:none}.footer-col ul li a:hover{color:var(--color-primary)}.footer-bottom{border-top:1px solid var(--color-border);color:var(--color-text-muted);text-align:center;margin-top:40px;padding-top:24px;font-size:13px}.btn{border-radius:var(--radius-md);transition:all var(--transition);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:15px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark);color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background:var(--color-bg);color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn-secondary:hover{background:var(--color-primary-faint);color:var(--color-primary);text-decoration:none}.btn-ghost{color:var(--color-text-secondary);background:0 0;padding:8px 14px;font-size:14px}.btn-ghost:hover{background:var(--color-bg-subtle);color:var(--color-text);text-decoration:none}.btn-lg{border-radius:var(--radius-md);padding:14px 28px;font-size:16px}.btn-sm{border-radius:var(--radius-sm);padding:7px 14px;font-size:13px}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{color:#fff;background:#15803d;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px #16a34a4d}.hero{text-align:center;border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#eff6ff 0%,#f8faff 50%,#faf5ff 100%);padding:72px 0 64px}.hero-badge{background:var(--color-primary-light);color:var(--color-primary);border-radius:100px;align-items:center;gap:6px;margin-bottom:24px;padding:5px 14px;font-size:13px;font-weight:600;display:inline-flex}.hero h1{color:var(--color-text);letter-spacing:-.03em;margin-bottom:18px;font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.15}.hero p{color:var(--color-text-secondary);max-width:520px;margin:0 auto 32px;font-size:clamp(1rem,2.5vw,1.2rem)}.hero-features{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;display:flex}.hero-feature{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.hero-feature-icon{background:var(--color-success);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:flex}.section{padding:64px 0}.section-header{margin-bottom:40px}.section-title{color:var(--color-text);letter-spacing:-.02em;margin-bottom:8px;font-size:1.75rem;font-weight:800}.section-subtitle{color:var(--color-text-secondary);font-size:16px}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.tool-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);color:inherit;background:#fff;flex-direction:column;gap:12px;padding:24px;text-decoration:none;display:flex}.tool-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);color:inherit;text-decoration:none;transform:translateY(-2px)}.tool-card-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.tool-card-icon.image{color:#2563eb;background:#eff6ff}.tool-card-icon.pdf{color:#dc2626;background:#fef2f2}.tool-card-title{color:var(--color-text);font-size:16px;font-weight:700}.tool-card-desc{color:var(--color-text-secondary);flex:1;font-size:14px;line-height:1.5}.tool-card-footer{margin-top:4px}.breadcrumb{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:24px;font-size:13px;display:flex}.breadcrumb a{color:var(--color-text-muted);transition:color var(--transition);text-decoration:none}.breadcrumb a:hover{color:var(--color-primary)}.breadcrumb-sep{color:var(--color-text-muted)}.tool-page{padding:40px 0 80px}.tool-page-header{margin-bottom:32px}.tool-page-header h1{letter-spacing:-.03em;margin-bottom:10px;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800}.tool-page-header p{color:var(--color-text-secondary);max-width:600px;font-size:16px}.privacy-notice{color:var(--color-success);align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:500;display:inline-flex}.uploader{border:2px dashed var(--color-border);border-radius:var(--radius-lg);text-align:center;background:var(--color-bg-subtle);transition:border-color var(--transition), background var(--transition);cursor:pointer;padding:48px 32px;position:relative}.uploader:hover,.uploader.drag-over{border-color:var(--color-primary);background:var(--color-primary-faint)}.uploader.drag-over{border-color:var(--color-primary);background:var(--color-primary-light)}.uploader-icon{background:var(--color-primary-light);width:56px;height:56px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;font-size:24px;display:flex}.uploader h3{color:var(--color-text);margin-bottom:6px;font-size:17px;font-weight:600}.uploader p{color:var(--color-text-secondary);margin-bottom:18px;font-size:14px}.uploader-or{color:var(--color-text-muted);align-items:center;gap:12px;margin:12px 0;font-size:13px;display:flex}.uploader-or:before,.uploader-or:after{content:"";background:var(--color-border);flex:1;height:1px}.uploader-input{display:none}.uploader-formats{color:var(--color-text-muted);margin-top:16px;font-size:12px}.file-info-card{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:14px;margin:16px 0;padding:16px 20px;display:flex}.file-info-icon{border-radius:var(--radius-sm);background:var(--color-primary-light);width:40px;height:40px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.file-info-details{flex:1;min-width:0}.file-info-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.file-info-size{color:var(--color-text-muted);margin-top:2px;font-size:12px}.file-info-remove{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;flex-shrink:0;padding:6px}.file-info-remove:hover{background:var(--color-error-bg);color:var(--color-error)}.loading-state{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:32px;display:flex}.spinner{border:3px solid var(--color-primary-light);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:var(--color-text-secondary);font-size:15px;font-weight:500}.result-card{background:var(--color-success-bg);border-radius:var(--radius-lg);border:1px solid #bbf7d0;flex-wrap:wrap;align-items:center;gap:16px;padding:24px;display:flex}.result-icon{background:var(--color-success);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;display:flex}.result-info{flex:1;min-width:0}.result-info h3{color:var(--color-success);margin-bottom:4px;font-size:16px;font-weight:700}.result-info p{color:var(--color-text-secondary);font-size:13px}.result-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.error-message{background:var(--color-error-bg);border-radius:var(--radius-md);color:var(--color-error);border:1px solid #fecaca;align-items:flex-start;gap:10px;padding:14px 16px;font-size:14px;line-height:1.5;display:flex}.error-icon{flex-shrink:0;margin-top:1px;font-size:16px}.tool-info{flex-direction:column;gap:48px;margin-top:56px;display:flex}.info-section h2{color:var(--color-text);letter-spacing:-.01em;margin-bottom:16px;font-size:1.4rem;font-weight:700}.info-section p{color:var(--color-text-secondary);margin-bottom:12px;font-size:15px;line-height:1.7}.info-section ul,.info-section ol{flex-direction:column;gap:8px;display:flex}.info-section ul li,.info-section ol li{color:var(--color-text-secondary);padding-left:20px;font-size:15px;line-height:1.6;position:relative}.info-section ul li:before{content:"→";color:var(--color-primary);font-size:13px;position:absolute;top:2px;left:0}.info-section ol{counter-reset:steps}.info-section ol li{counter-increment:steps}.info-section ol li:before{content:counter(steps);background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:flex;position:absolute;top:2px;left:0}.faq-list{flex-direction:column;gap:12px;display:flex}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.faq-question{text-align:left;background:var(--color-bg-subtle);cursor:pointer;width:100%;color:var(--color-text);font-size:15px;font-weight:600;font-family:var(--font-sans);transition:background var(--transition);border:none;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.faq-question:hover{background:var(--color-primary-faint)}.faq-question:focus-visible{outline:3px solid var(--color-primary);outline-offset:-3px}.faq-chevron{color:var(--color-text-muted);transition:transform var(--transition);flex-shrink:0;font-size:12px}.faq-item.open .faq-chevron{transform:rotate(180deg)}.faq-answer{max-height:0;padding:0 20px;transition:max-height .3s,padding .3s;overflow:hidden}.faq-item.open .faq-answer{max-height:400px;padding:16px 20px}.faq-answer p{color:var(--color-text-secondary);font-size:14px;line-height:1.7}.related-tools{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.related-tool-link{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:all var(--transition);background:#fff;align-items:center;gap:10px;padding:14px 16px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.related-tool-link:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-faint);text-decoration:none;transform:translateY(-1px)}.related-tool-emoji{font-size:18px}.static-page{max-width:800px;padding:48px 0 80px}.static-page h1{letter-spacing:-.02em;margin-bottom:8px;font-size:2rem;font-weight:800}.static-page .page-meta{color:var(--color-text-muted);margin-bottom:40px;font-size:13px}.static-page h2{color:var(--color-text);margin:32px 0 12px;font-size:1.25rem;font-weight:700}.static-page p,.static-page li{color:var(--color-text-secondary);margin-bottom:10px;font-size:15px;line-height:1.7}.static-page ul{padding-left:20px;list-style:outside}.static-page ul li{list-style:outside}.static-page a{color:var(--color-primary)}.contact-form{max-width:560px}.form-group{margin-bottom:20px}.form-label{color:var(--color-text);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.form-input,.form-textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);transition:border-color var(--transition), box-shadow var(--transition);font-size:15px;font-family:var(--font-sans);background:#fff;padding:10px 14px}.form-input:focus,.form-textarea:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 3px #2563eb1f}.form-textarea{resize:vertical;min-height:140px}.quality-control{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:16px;margin:16px 0;padding:14px 18px;display:flex}.quality-control label{color:var(--color-text);white-space:nowrap;font-size:14px;font-weight:600}.quality-slider{min-width:120px;accent-color:var(--color-primary);cursor:pointer;flex:1}.quality-value{color:var(--color-primary);text-align:right;min-width:36px;font-size:14px;font-weight:700}.text-center{text-align:center}.text-muted{color:var(--color-text-muted);font-size:13px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mb-4{margin-bottom:16px}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=900px){.footer-inner{grid-template-columns:1fr 1fr;gap:32px}}@media (width<=640px){.site-nav{display:none}.hamburger-btn{display:flex}.hero{padding:48px 0}.hero-features{gap:14px}.footer-inner{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}.tools-grid{grid-template-columns:1fr}.result-card{flex-direction:column;align-items:flex-start}.uploader{padding:36px 20px}.section{padding:48px 0}.tool-page{padding:32px 0 64px}}
