:root{--bg:#fafaf8;--bg-alt:#f1f0ec;--panel:#111318;--ink:#14161a;--muted:#6b6f76;--line:#deddd7;--line-strong:#c7c6bf;--accent:#0e9c93;--accent-dim:#0e9c9314;--accent-ink:#053b37;--warn:#b5462a;--mono:"IBM Plex Mono",monospace;--sans:"Inter",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#fff}.wrap{max-width:1040px;margin:0 auto;padding:0 28px}nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fafaf8e0}nav .wrap{justify-content:space-between;height:60px}.logo,nav .wrap{display:flex;align-items:center}.logo{gap:8px;font-family:var(--mono);letter-spacing:.02em;font-size:15px;font-weight:600}.logo .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.navlinks{display:flex;gap:28px;font-size:13px;font-family:var(--mono);color:var(--muted)}.navlinks a{transition:color .15s}.navlinks a:hover{color:var(--ink)}@media (max-width:640px){.navlinks{display:none}}.lang-switcher{font-family:var(--mono);border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:3px;outline:none;max-width:150px;padding:4px 6px;font-size:12px;color:var(--ink)}.lang-switcher:focus{border-color:var(--accent)}@media (max-width:640px){.lang-switcher{max-width:100px}}.crumbs{display:flex;align-items:center;gap:6px;padding:18px 0 0;font-size:12px;font-family:var(--mono);color:var(--muted)}.crumbs a:hover{color:var(--accent)}.hero{padding:48px 0 52px;border-bottom:1px solid var(--line)}.hero .eyebrow{display:inline-block;background:var(--accent-dim);color:var(--accent-ink);font-family:var(--mono);font-size:12px;letter-spacing:.04em;padding:5px 10px;border-radius:3px;margin-bottom:18px}.hero h1{font-family:var(--mono);font-size:clamp(28px,4vw,40px);font-weight:600;letter-spacing:-.01em;line-height:1.1;max-width:720px}.hero p{max-width:540px;margin-top:14px;font-size:15px;line-height:1.6}.hero p,.stat-row{color:var(--muted)}.stat-row{display:flex;align-items:center;gap:16px;margin-top:24px;font-family:var(--mono);font-size:13px;flex-wrap:wrap}.stat-row strong{color:var(--ink);font-weight:600}.stat-dot{width:4px;height:4px;border-radius:50%;background:var(--accent)}section{border-bottom:1px solid var(--line)}.section-head{max-width:600px;margin-bottom:36px}.section-head .kicker{font-family:var(--mono);color:var(--muted);font-size:12px;letter-spacing:.08em;margin-bottom:10px}.section-head h2{font-family:var(--mono);font-size:24px;font-weight:600;letter-spacing:-.01em}.section-head p{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.6}.tool-card{margin:36px 0 0;border:1px solid var(--line);border-radius:4px;background:var(--bg)}.tool-card-header{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.tool-card-header h2{font-family:var(--mono);font-size:15px;font-weight:600}.badge-group{display:flex;gap:8px}.mini-badge{font-family:var(--mono);font-size:10.5px;color:var(--muted);border:1px solid var(--line-strong);border-radius:3px;padding:3px 7px}.tool-body{padding:20px}.tool-grid{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px}@media (min-width:880px){.tool-grid{grid-template-columns:1fr 280px}}.dropzone{border:1.5px dashed var(--line-strong);border-radius:4px;background:var(--bg);padding:36px 20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.dropzone.drag,.dropzone:hover{border-color:var(--accent);background:var(--accent-dim)}.dz-icon{width:40px;height:40px;margin:0 auto 14px;border-radius:4px;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--muted)}.dz-icon svg{width:18px;height:18px}.dropzone h3{font-family:var(--mono);font-size:14px;font-weight:600;margin-bottom:4px}.dropzone p{font-size:12.5px;color:var(--muted);margin:0 0 14px}.btn{font-family:var(--mono);font-size:13px;font-weight:500;border-radius:3px;padding:10px 18px;cursor:pointer;border:1px solid var(--line-strong);display:inline-flex;align-items:center;gap:7px;transition:transform .08s,background .15s;background:#fff;color:var(--ink)}.btn:active{transform:scale(.98)}.btn:hover{background:var(--bg-alt)}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink);width:100%;justify-content:center;padding:12px 16px;font-size:13.5px}.btn-primary:hover{background:#000}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.empty-mini{padding:24px 10px;text-align:center;color:var(--muted);font-family:var(--mono);font-size:12.5px}.file-list{display:flex;flex-direction:column;gap:6px;margin-top:14px}.file-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:3px;background:#fff}.file-row.dragging{opacity:.35}.drag-handle{color:var(--muted);cursor:-webkit-grab;cursor:grab;display:flex;flex-shrink:0}.drag-handle svg{width:13px;height:13px}.file-index{font-size:11px;font-family:var(--mono);color:var(--muted);width:20px;flex-shrink:0}.thumb{width:36px;height:36px;border-radius:2px;overflow:hidden;flex-shrink:0;border:1px solid var(--line-strong);background:linear-gradient(45deg,#f1f0ec 25%,transparent 0),linear-gradient(-45deg,#f1f0ec 25%,transparent 0),linear-gradient(45deg,transparent 75%,#f1f0ec 0),linear-gradient(-45deg,transparent 75%,#f1f0ec 0);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.file-info{flex:1 1;min-width:0}.file-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:11px;font-family:var(--mono);color:var(--muted);margin-top:1px}.status-pill{font-family:var(--mono);font-size:10.5px;color:var(--accent-ink);background:var(--accent-dim);border:1px solid #b6deda;padding:2px 8px;border-radius:3px;flex-shrink:0;display:flex;align-items:center;gap:4px;white-space:nowrap}.status-pill svg{width:8px;height:8px}.row-actions{display:flex;gap:2px;flex-shrink:0}.icon-btn{width:24px;height:24px;border-radius:3px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.icon-btn:hover{background:var(--bg-alt);border-color:var(--line);color:var(--ink)}.icon-btn.danger:hover{color:var(--warn)}.icon-btn svg{width:12px;height:12px}.settings-box{border:1px solid var(--line);border-radius:4px;padding:18px;background:var(--bg)}.settings-box h4{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.field,.settings-box h4{margin-bottom:14px}.field:last-child{margin-bottom:0}.field-label{font-family:var(--mono);font-size:12px;font-weight:500;margin-bottom:6px}.segmented{display:flex;background:#fff;border:1px solid var(--line);border-radius:3px;padding:2px;gap:2px}.segmented button{flex:1 1;border:none;background:transparent;color:var(--muted);font-family:var(--mono);font-size:11.5px;font-weight:500;padding:6px 4px;border-radius:2px;cursor:pointer}.segmented button.active{background:var(--accent);color:#fff}.summary-row{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;padding:6px 0;border-bottom:1px dashed var(--line)}.summary-row:last-of-type{border-bottom:none;padding-bottom:0}.summary-row .k{color:var(--muted)}.summary-row .v{font-weight:600}.action-zone{margin-top:14px}.reassure{font-family:var(--mono);font-size:11px;color:var(--muted);text-align:center;margin-top:8px}.result-card{border:1px solid var(--accent);background:var(--accent-dim);border-radius:4px;padding:16px;animation:rise .25s ease}@keyframes rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.result-top{gap:10px;margin-bottom:12px}.result-icon,.result-top{display:flex;align-items:center}.result-icon{width:30px;height:30px;border-radius:4px;background:var(--accent);color:#fff;justify-content:center;flex-shrink:0}.result-icon svg{width:15px;height:15px}.result-title{font-family:var(--mono);font-size:13px;font-weight:600}.result-sub{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:2px}.result-actions{display:flex;gap:8px}.download-btn{flex:1 1;text-align:center;background:var(--ink);color:#fff;font-family:var(--mono);font-size:12.5px;font-weight:500;padding:9px 12px;border-radius:3px}.download-btn:hover{background:#000}.reset-btn{background:#fff;border:1px solid var(--line-strong);color:var(--ink);font-family:var(--mono);font-size:12.5px;font-weight:500;padding:9px 12px;border-radius:3px;cursor:pointer}.reset-btn:hover{background:var(--bg-alt)}.section-pad{padding:52px 0}.steps{display:grid;grid-template-columns:1fr;grid-gap:28px;gap:28px}@media (min-width:720px){.steps{grid-template-columns:repeat(3,1fr)}}.step-num{color:var(--accent);font-size:13px;margin-bottom:8px}.step h3,.step-num{font-family:var(--mono)}.step h3{font-size:14px;margin-bottom:6px}.step p{color:var(--muted);font-size:13.5px;line-height:1.6;margin:0}.related-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}@media (min-width:640px){.related-grid{grid-template-columns:repeat(4,1fr)}}.related-card{border:1px solid var(--line);border-radius:4px;padding:16px;transition:border-color .15s}.related-card:hover{border-color:var(--accent)}.related-icon{width:32px;height:32px;border-radius:3px;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;margin-bottom:10px;color:var(--muted)}.related-card h4{font-family:var(--mono);font-size:13px;font-weight:600;margin-bottom:3px}.related-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.faq{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:8px}.faq-item{border:1px solid var(--line);border-radius:4px;overflow:hidden}.faq-q{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-family:var(--mono);font-size:13px;font-weight:500}.faq-q .chev{transition:transform .18s;color:var(--muted);font-size:11px;flex-shrink:0}.faq-item.open .faq-q .chev{transform:rotate(180deg)}.faq-a{max-height:0;overflow:hidden;transition:max-height .2s}.faq-item.open .faq-a{max-height:220px}.faq-a p{padding:0 16px 14px;font-size:12.5px;color:var(--muted);line-height:1.6;margin:0}footer{padding:36px 0}footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}footer .f-left,footer .f-links{font-family:var(--mono);color:var(--muted);font-size:12px}footer .f-links{display:flex;gap:18px}footer a:hover{color:var(--ink)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}[dir=rtl] .crumbs a+span{margin-inline:6px}[dir=rtl] .stat-row{flex-direction:row-reverse}[dir=rtl] .step-num{text-align:right}[dir=rtl] .file-row{flex-direction:row-reverse}[dir=rtl] .file-info{text-align:right}[dir=rtl] .result-top{flex-direction:row-reverse}[dir=rtl] .settings-box h4{text-align:right}[dir=rtl] .faq-q{flex-direction:row-reverse}[dir=rtl] .faq-q .chev{transform:rotate(180deg)}[dir=rtl] .faq-item.open .faq-q .chev{transform:rotate(0deg)}[dir=rtl] .summary-row{flex-direction:row-reverse}[dir=rtl] .hero p,[dir=rtl] .reassure,[dir=rtl] .section-head{text-align:right}[dir=rtl] footer .wrap{flex-direction:row-reverse}