:root{--bg-page: #fafafa;--bg-card: #ffffff;--border: #e5e7eb;--border-strong: #d1d5db;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--accent: #059669;--accent-hover: #047857;--accent-soft: #d1fae5;--accent-fg: #ffffff;--error: #dc2626;--error-soft: #fee2e2;--warning: #d97706;--warning-soft: #fef3c7;--radius: 12px;--radius-sm: 8px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .08);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 28px;--max-width: 880px;--header-height: 64px;--transition: .15s ease}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--text-lg);line-height:1.5;color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,p{margin:0}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}a{color:var(--accent);text-decoration:none}a:hover,a:focus-visible{color:var(--accent-hover);text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:var(--space-2);z-index:100;background:var(--bg-card);color:var(--accent);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);font-weight:600;text-decoration:none;transition:top var(--transition)}.skip-link:focus{top:var(--space-2)}.hero{text-align:center;padding:var(--space-10) 0 var(--space-8);max-width:720px;margin:0 auto}.hero-title{font-size:var(--text-3xl);font-weight:800;color:var(--text-primary);letter-spacing:-.025em;line-height:1.1;margin:0 0 var(--space-4)}.hero-subtitle{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.5;margin:0 0 var(--space-6);max-width:580px;margin-left:auto;margin-right:auto}.hero-badges{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3) var(--space-5);font-size:var(--text-sm);color:var(--text-secondary)}.hero-badges li{display:inline-flex;align-items:center;gap:var(--space-1)}.hero-badges .check{color:var(--accent);font-weight:700;font-size:var(--text-md)}.section-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);text-align:center;margin:0 0 var(--space-3);letter-spacing:-.02em}.section-subtitle{text-align:center;color:var(--text-secondary);font-size:var(--text-md);max-width:580px;margin:0 auto var(--space-8);line-height:1.5}.features{margin-top:var(--space-12);padding-top:var(--space-10);border-top:1px solid var(--border)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);transition:border-color var(--transition),transform var(--transition)}.feature-card:hover{border-color:var(--accent);transform:translateY(-2px)}.feature-icon{font-size:28px;margin-bottom:var(--space-3);display:inline-block}.feature-card h3{font-size:var(--text-md);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-2)}.feature-card p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin:0}.how-it-works{margin-top:var(--space-12);padding-top:var(--space-10);border-top:1px solid var(--border)}.how-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-5);counter-reset:howstep}.how-step{position:relative;padding:var(--space-5);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:left}.how-step-num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:var(--text-md);margin-bottom:var(--space-3)}.how-step h3{font-size:var(--text-md);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-2)}.how-step p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin:0}.app{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:var(--space-8) var(--space-6)}.site-header{height:var(--header-height);display:flex;align-items:center;border-bottom:1px solid var(--border);background:var(--bg-page);position:sticky;top:0;z-index:10}.site-header-inner{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between}.site-logo{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);text-decoration:none;letter-spacing:-.01em}.site-logo:hover{text-decoration:none;color:var(--text-primary)}.lang-picker{display:flex;gap:var(--space-1);align-items:center}.lang-pill{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);cursor:pointer;background:transparent;border:none;transition:background var(--transition),color var(--transition)}.lang-pill:hover{color:var(--text-primary)}.lang-pill[aria-checked=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.dropzone{min-height:200px;background:var(--bg-card);border:2px dashed var(--border-strong);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;cursor:pointer;transition:border-color var(--transition),background var(--transition);margin-bottom:var(--space-6)}.dropzone:hover,.dropzone:focus-visible{border-color:var(--accent);background:var(--bg-card)}.dropzone[data-dragover=true]{border-color:var(--accent);background:#0596690a;transform:scale(1.005)}.dropzone-icon{width:40px;height:40px;color:var(--text-muted);margin-bottom:var(--space-3)}.dropzone:hover .dropzone-icon,.dropzone:focus-visible .dropzone-icon,.dropzone[data-dragover=true] .dropzone-icon{color:var(--accent)}.dropzone-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.dropzone-subtitle{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-3)}.dropzone-meta{font-size:var(--text-sm);color:var(--text-muted)}.dropzone-warning{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--warning);background:var(--warning-soft);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.file-list{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:var(--space-4)}.file-list:empty{display:none}.file-row{display:grid;grid-template-columns:24px 1fr 120px 60px 32px;align-items:center;gap:var(--space-3);height:56px;padding:0 var(--space-4);border-bottom:1px solid var(--border);position:relative;transition:background var(--transition)}.file-row:last-child{border-bottom:none}.file-row:hover{background:var(--bg-page)}.file-row[data-status=done]{border-left:3px solid var(--accent);padding-left:calc(var(--space-4) - 3px)}.file-row[data-status=error]{border-left:3px solid var(--error);padding-left:calc(var(--space-4) - 3px)}.file-status{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.file-row[data-status=done] .file-status{color:var(--accent)}.file-row[data-status=error] .file-status{color:var(--error)}.file-name{font-size:var(--text-base);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.file-size{font-size:var(--text-sm);color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums}.file-reduction{font-size:var(--text-sm);color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums}.file-row[data-status=done] .file-reduction{color:var(--accent);font-weight:600}.file-row[data-status=error] .file-reduction{color:var(--error)}.file-remove{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background var(--transition),color var(--transition)}.file-remove:hover,.file-remove:focus-visible{background:var(--error-soft);color:var(--error)}@media(hover:none){.file-remove{opacity:1}}.spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.download-bar{position:sticky;bottom:var(--space-4);z-index:5}.download-button{width:100%;height:48px;background:var(--accent);color:var(--accent-fg);font-size:var(--text-lg);font-weight:600;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;gap:var(--space-2);box-shadow:var(--shadow-md);transition:background var(--transition)}.download-button:hover:not(:disabled){background:var(--accent-hover)}.download-button:disabled{background:var(--border-strong);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.toast-container{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:var(--space-3) var(--space-4);min-width:280px;max-width:480px;display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base);pointer-events:auto;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast[data-type=error]{border-color:var(--error);color:var(--error)}.toast[data-type=success]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-card))}.toast-close{margin-left:auto;color:var(--text-muted);font-size:var(--text-xl);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.toast-close:hover{background:var(--bg-page);color:var(--text-primary)}.site-footer{text-align:center;padding:var(--space-6);font-size:var(--text-sm);color:var(--text-muted)}.site-footer a{color:var(--text-secondary);text-decoration:underline;text-decoration-style:dotted}.site-footer a:hover{color:var(--accent)}.modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.modal{background:var(--bg-card);border-radius:var(--radius);padding:var(--space-6);max-width:480px;width:100%;box-shadow:var(--shadow-lg)}.modal h2{font-size:var(--text-2xl);font-weight:600;margin-bottom:var(--space-4)}.modal ul{margin:0 0 var(--space-5) var(--space-5);padding:0;color:var(--text-secondary);font-size:var(--text-base);line-height:1.7}.modal-close{background:var(--accent);color:var(--accent-fg);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:600;font-size:var(--text-base)}.modal-close:hover{background:var(--accent-hover)}.progress-indicator{text-align:center;font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-3) 0;font-variant-numeric:tabular-nums;transition:opacity var(--transition)}.progress-indicator[data-visible=false]{opacity:0;height:0;margin:0;overflow:hidden}.progress-indicator[data-visible=true]{opacity:1}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:600px){.app-main{padding:var(--space-6) var(--space-4)}.hero{padding:var(--space-6) 0 var(--space-6)}.hero-title{font-size:var(--text-2xl)}.hero-subtitle{font-size:var(--text-base)}.hero-badges{gap:var(--space-2) var(--space-3);font-size:var(--text-xs)}.section-title{font-size:var(--text-xl)}.section-subtitle{font-size:var(--text-sm)}.features,.how-it-works{margin-top:var(--space-10);padding-top:var(--space-8)}.feature-card,.how-step{padding:var(--space-4)}.dropzone{min-height:160px;padding:var(--space-6)}.dropzone-icon{width:32px;height:32px}.file-row{grid-template-columns:20px 1fr 80px 32px;gap:var(--space-2);height:52px;padding:0 var(--space-3)}.file-row .file-reduction{display:none}.file-size{font-size:var(--text-xs)}.toast{min-width:240px;max-width:calc(100vw - var(--space-8))}}.download-button{position:relative;overflow:hidden}.download-button:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.15),transparent);opacity:0;transition:opacity var(--transition);pointer-events:none}.download-button:hover:not(:disabled):after{opacity:1}.download-button:active:not(:disabled){transform:translateY(1px)}.faq{margin-top:var(--space-12);padding-top:var(--space-10);border-top:1px solid var(--border)}.faq-list{max-width:760px;margin:0 auto}.faq-item{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);background:var(--bg-card);margin-bottom:var(--space-3);transition:border-color var(--transition)}.faq-item:hover{border-color:var(--border-strong)}.faq-item[open]{border-color:var(--accent)}.faq-item summary{cursor:pointer;font-weight:600;color:var(--text-primary);font-size:var(--text-md);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-1) 0}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.5em;font-weight:400;color:var(--accent);line-height:1;flex-shrink:0}.faq-item[open] summary:after{content:"−"}.faq-item p{margin-top:var(--space-3);color:var(--text-secondary);font-size:var(--text-base);line-height:1.6}@media(max-width:600px){.faq-item summary{font-size:var(--text-base)}}.legal-page{max-width:760px;margin:0 auto;padding:var(--space-4) 0 var(--space-10)}.legal-updated{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-6);text-align:center}.legal-page h1{font-size:var(--text-3xl);font-weight:800;color:var(--text-primary);letter-spacing:-.025em;line-height:1.15;margin:0 0 var(--space-5);text-align:center}.legal-lead{font-size:var(--text-md);color:var(--text-secondary);line-height:1.6;text-align:center;max-width:620px;margin:0 auto var(--space-10);padding:var(--space-4) var(--space-5);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.legal-section{margin-bottom:var(--space-8)}.legal-section h2{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0 0 var(--space-3);letter-spacing:-.01em}.legal-section p,.legal-section ul{font-size:var(--text-base);color:var(--text-secondary);line-height:1.65;margin:0 0 var(--space-3)}.legal-section ul{margin-left:var(--space-6);padding-left:0}.legal-section li{margin-bottom:var(--space-2)}.legal-section a{color:var(--accent);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.legal-section a:hover{text-decoration-style:solid}.legal-back{margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--border);text-align:center;font-size:var(--text-sm)}.legal-back a{color:var(--accent);text-decoration:none;font-weight:500}.legal-back a:hover{text-decoration:underline}.legal-page--compact h1{font-size:var(--text-2xl)}.legal-page--compact .legal-lead{margin-bottom:var(--space-8)}.legal-page--compact .legal-section{margin-bottom:var(--space-6)}@media(max-width:600px){.legal-page h1{font-size:var(--text-2xl)}.legal-section h2{font-size:var(--text-lg)}.legal-lead{font-size:var(--text-base);padding:var(--space-3) var(--space-4)}}
