:root{color-scheme:light;--bg:#f6f7fb;--surface:#ffffff;--surface-2:#eef2ff;--text:#121826;--muted:#5b6477;--line:#dfe4ef;--brand:#1d4ed8;--brand-dark:#123a94;--ok:#0f766e;--warn:#b45309;--error:#b91c1c;--shadow:0 18px 50px rgb(18 24 38 / 10%);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}.site-header,.site-footer,main{width:min(1120px,calc(100% - 32px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0}.skip-link{position:absolute;left:16px;top:10px;transform:translateY(-140%);z-index:20;padding:10px 12px;border-radius:8px;background:var(--text);color:white;text-decoration:none;font-weight:800}.skip-link:focus{transform:translateY(0)}.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:850;letter-spacing:0}.logo-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--text);color:white;font-size:0.82rem;letter-spacing:0}.logo-mark--svg{background:transparent;border-radius:0}.logo-mark--svg svg{display:block;width:36px;height:36px}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--muted);font-weight:650;font-size:0.94rem}nav a{text-decoration:none}nav a:hover{color:var(--brand)}.language-switcher{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:0.86rem;font-weight:760;white-space:nowrap}.language-switcher select{min-height:38px;max-width:170px;padding:0 34px 0 12px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--text);font:inherit;font-weight:760;cursor:pointer}.hero{padding:64px 0 32px;max-width:870px}.tool-hero{padding-bottom:18px}.eyebrow{display:inline-flex;align-items:center;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:rgb(255 255 255 / 75%);color:var(--brand-dark);font-weight:800;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em}h1,h2,h3,p{margin-top:0}h1{margin-bottom:16px;font-size:4.8rem;line-height:0.96;letter-spacing:0}h2{font-size:2.25rem;line-height:1.05;letter-spacing:0;margin-bottom:18px}.hero-copy{color:var(--muted);font-size:1.25rem;max-width:720px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.primary-link,.secondary-link,.primary-button,.download-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:8px;border:0;text-decoration:none;font-weight:820;cursor:pointer}.primary-link,.primary-button,.download-button{background:var(--brand);color:white;box-shadow:0 10px 25px rgb(29 78 216 / 22%)}.primary-button:disabled{opacity:0.6;cursor:wait}.secondary-link{background:white;color:var(--text);border:1px solid var(--line)}.section,.tool-card{margin:28px 0}.tool-card{max-width:860px;padding:clamp(20px,4vw,32px);border:1px solid var(--line);border-radius:var(--radius);background:rgb(255 255 255 / 88%);box-shadow:var(--shadow)}.live-tool{max-width:920px}.privacy-pill{display:inline-flex;margin-bottom:16px;padding:6px 11px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:0.86rem;font-weight:800}.file-picker{display:block;padding:22px;border:2px dashed #cbd5e1;border-radius:8px;background:#f8fafc;text-align:center;font-weight:780;cursor:pointer}.file-picker input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:18px 0}.field-grid.one{grid-template-columns:minmax(0,1fr);max-width:280px}label{color:var(--muted);font-size:0.9rem;font-weight:760}input[type="number"],input[type="text"],select{width:100%;display:block;margin-top:6px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--text);font:inherit;font-weight:720}.check-row{display:inline-flex;align-items:center;gap:9px;margin:0 0 18px;color:var(--text)}.check-row input{inline-size:18px;block-size:18px;accent-color:var(--brand)}.compress-control{margin:4px 0 18px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.compress-control div{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-weight:780}.compress-control output{color:var(--text);text-align:right;overflow-wrap:anywhere}.compress-control input{width:100%;margin-top:12px;accent-color:var(--brand)}.status{min-height:28px;margin-top:16px;color:var(--muted)}.status strong{color:var(--text)}.status.ok{color:var(--ok)}.status.warn{color:var(--warn)}.status.error{color:var(--error)}.process-log{display:grid;gap:6px;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;color:var(--muted);font-size:0.86rem}.process-log-row{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px}.process-log-row span:first-child{color:#64748b;font-variant-numeric:tabular-nums}.process-log-row.ok span:last-child{color:var(--ok)}.process-log-row.warn span:last-child{color:var(--warn)}.process-log-row.error span:last-child{color:var(--error)}.download-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.download-button{width:fit-content}.hidden{display:none !important}.tiny-note{margin:12px 0 0;color:var(--muted);font-size:0.9rem}.batch-results{display:grid;gap:8px;margin-top:14px}.batch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:white}.batch-row div{min-width:0}.batch-row strong,.batch-row span{display:block;overflow-wrap:anywhere}.batch-row strong{color:var(--text);font-size:0.92rem}.batch-row span{color:var(--muted);font-size:0.84rem}.batch-row.ok{border-color:#bbf7d0}.batch-row.error{border-color:#fecaca;background:#fff7f7}.batch-row a{flex:0 0 auto;color:var(--brand);font-weight:820;text-decoration:none}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.mini-card{display:block;min-height:150px;padding:18px;border:1px solid var(--line);border-radius:8px;background:white;text-decoration:none;box-shadow:0 8px 24px rgb(18 24 38 / 6%)}.mini-card:hover{border-color:#b8c4db;transform:translateY(-1px)}.mini-card strong{display:block;margin-bottom:8px;line-height:1.1;letter-spacing:0}.mini-card span{color:var(--muted);font-size:0.92rem}.content-section,.faq-section{max-width:820px;padding:clamp(18px,3vw,26px);border-radius:var(--radius);background:rgb(255 255 255 / 72%);border:1px solid var(--line)}ol{padding-left:1.2rem}details{padding:15px 0;border-top:1px solid var(--line)}details:first-of-type{border-top:0}summary{font-weight:820;cursor:pointer}details p{margin:10px 0 0;color:var(--muted)}.ad-slot{width:min(100%,920px);min-height:96px;margin:36px 0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;color:var(--muted)}.ad-slot--tool-before{margin-top:10px;margin-bottom:34px}.ad-label{display:block;margin-bottom:8px;font-size:0.72rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#6b7280}.adsbygoogle{min-height:90px}.site-footer{margin-top:64px;padding:28px 0 40px;color:var(--muted);font-size:0.96rem}.site-footer p{margin-bottom:8px}@media (max-width:820px){.site-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%;justify-content:flex-start}.field-grid,.card-grid,.card-grid.compact{grid-template-columns:1fr}.hero{padding-top:34px}h1{font-size:3rem;line-height:1}h2{font-size:1.8rem}.hero-copy{font-size:1.1rem}}@media (max-width:420px){h1{font-size:2.45rem}}@media (max-width:520px){nav{width:100%}.language-switcher{width:100%;justify-content:space-between}.language-switcher select{max-width:min(230px,62vw)}.batch-row{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion:no-preference){.mini-card,.primary-link,.secondary-link,.primary-button{transition:transform 160ms ease,border-color 160ms ease,box-shadow 160ms ease}.primary-link:hover,.secondary-link:hover,.primary-button:hover{transform:translateY(-1px)}}