*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#18222f;background:#f7f8fa;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.container{width:min(1160px,100% - 48px);margin-inline:auto}.header{border-bottom:1px solid #dfe4ea;justify-content:space-between;padding-block:27px}.brand,.header{align-items:center;display:flex}.brand{letter-spacing:-.8px;gap:11px;font-size:23px;font-weight:800}.brand-mark{background:var(--accent);color:#fff;border-radius:10px;place-items:center;width:35px;height:35px;font-size:22px;display:grid}.header nav{font-size:14px;font-weight:600}.header nav span{margin-left:18px}.hero{max-width:830px;padding:82px 0 65px}.eyebrow{letter-spacing:2px;color:var(--accent);margin:0 0 20px;font-size:11px;font-weight:750}.hero h1{letter-spacing:-2.8px;margin:0 0 25px;font-size:clamp(38px,5.6vw,68px);font-weight:750;line-height:1.07}.intro{color:#596574;max-width:660px;margin:0 0 30px;font-size:19px;line-height:1.7}.primary-link{color:#fff;background:var(--accent);border-radius:9px;gap:32px;padding:15px 21px;font-size:14px;font-weight:650;display:inline-flex}.hero-note{color:#63707d;align-items:center;gap:8px;margin-top:23px;font-size:12px;display:flex}.dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.tools-section{border-top:1px solid #dfe4ea;padding:35px 0 72px;scroll-margin-top:24px}.section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.section-heading .eyebrow{margin-bottom:12px}h2{letter-spacing:-1px;margin:0;font-size:29px}.count{color:#66717e;white-space:nowrap;font-size:12px}.notice{color:#657180;margin:16px 0 25px;font-size:14px;line-height:1.6}.filters{justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;display:flex}.categories{flex-wrap:wrap;gap:8px;display:flex}.categories button{color:#596574;cursor:pointer;background:#fff;border:1px solid #dce2e8;border-radius:7px;padding:9px 13px;font-size:12px}.categories button[aria-pressed=true]{color:#fff;background:#18222f;border-color:#18222f}.search input{background:#fff;border:1px solid #dce2e8;border-radius:7px;width:205px;padding:10px 12px;font-size:12px}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.tool-card{background:#fff;border:1px solid #e0e5eb;border-radius:12px;flex-direction:column;min-height:225px;padding:25px;display:flex}.card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.category{text-transform:uppercase;letter-spacing:1px;color:var(--accent);font-size:10px;font-weight:700}.status{color:#626e7b;white-space:nowrap;background:#f0f3f6;border-radius:5px;padding:5px 7px;font-size:10px}.tool-card h3{letter-spacing:-.4px;margin:23px 0 9px;font-size:19px}.tool-card p{color:#66717e;margin:0 0 24px;font-size:13px;line-height:1.65}.planned,.tool-link{color:#697583;border-top:1px solid #edf0f3;justify-content:space-between;margin-top:auto;padding-top:15px;font-size:11px;display:flex}.tool-link{color:var(--accent);font-weight:700}.footer{color:#596574;border-top:1px solid #dfe4ea;justify-content:space-between;align-items:center;gap:16px;padding-block:27px;font-size:11px;display:flex}.footer-links{gap:18px;font-weight:600;display:flex}.footer-links a{color:var(--accent)}.breadcrumb{color:#596574;align-items:center;gap:8px;margin-bottom:24px;font-size:12px;display:flex}.breadcrumb a{color:var(--accent);font-weight:600}.breadcrumb span[aria-hidden]{color:#aab2bc}.info-page{max-width:760px;padding:48px 0 72px}.info-page h1{letter-spacing:-1.2px;margin:0 0 12px;font-size:34px}.info-page .intro{margin-bottom:32px;font-size:18px}.info-page h2{letter-spacing:-.4px;margin:36px 0 14px;font-size:21px}.info-page section p,.info-page section ul{color:#4a5663;margin:0 0 14px;font-size:15px;line-height:1.75}.info-page ul{padding-left:22px}.info-page li{margin-bottom:8px}.info-page code{background:#eef1f4;border-radius:4px;padding:2px 6px;font-size:13px}.info-page .updated{color:#596574;margin-top:40px;font-size:12px}.skip-link{z-index:10;background:#fff;padding:15px;position:absolute;top:-80px;left:20px}.skip-link:focus{top:10px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.empty{color:#596574;border:1px dashed #bbc4ce;border-radius:10px;padding:35px}@media (width<=900px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{flex-direction:column;align-items:flex-start}.search,.search input{width:100%}}@media (width<=560px){.container{width:calc(100% - 32px)}.hero{padding-block:55px 45px}.hero h1{letter-spacing:-1.5px}.intro{font-size:16px}.tool-grid{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:flex-start;gap:10px}h2{font-size:25px}.footer{flex-direction:column}.header{padding-block:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.ad-slot{color:#8a94a0;background:#fff;border:1px dashed #c6cdd6;border-radius:10px;justify-content:center;align-items:center;min-height:90px;margin:32px 0;display:flex}.ad-slot-label{letter-spacing:1.5px;text-transform:uppercase;font-size:10px;font-weight:700}.consent-banner{inset-inline:16px;z-index:20;color:#f7f8fa;background:#18222f;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;max-width:760px;margin-inline:auto;padding:16px 20px;font-size:13px;display:flex;position:fixed;bottom:16px;box-shadow:0 10px 30px #18222f40}.consent-actions{gap:10px;display:flex}.consent-actions .primary{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:9px 14px}.consent-actions .ghost{color:#f7f8fa;cursor:pointer;background:0 0;border:1px solid #56626f;border-radius:6px;padding:9px 14px}.tool-page{padding-bottom:70px}.breadcrumbs ol{color:#596574;flex-wrap:wrap;gap:8px;margin:0;padding:26px 0 0;font-size:12px;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:#b3bcc6;margin-right:8px}.breadcrumbs a{color:var(--accent);font-weight:650}.tool-header{max-width:760px;padding:34px 0 10px}.tool-header h1{letter-spacing:-1.6px;margin:0 0 16px;font-size:clamp(30px,4vw,44px)}.tool-intro{color:#556270;margin:0;font-size:18px;line-height:1.7}.tool-workspace{background:#fff;border:1px solid #e0e5eb;border-radius:14px;margin:34px 0 0;padding:26px}.tool-workspace :where(h2,.results-heading){letter-spacing:-.3px;margin:0 0 16px;font-size:18px}.dropzone{text-align:center;cursor:pointer;background:#fbfcfd;border:2px dashed #ccd4dd;border-radius:12px;place-items:center;gap:6px;padding:34px 20px;display:grid}.dropzone.dragging,.dropzone:hover{border-color:var(--accent);background:#f4f7ff}.dropzone[aria-disabled=true]{cursor:not-allowed;opacity:.6}.dropzone-title{margin:0;font-size:16px;font-weight:700}.dropzone-hint{color:#66717e;max-width:52ch;margin:0;font-size:13px}.dropzone-total{color:#687482;margin:6px 0 0;font-size:12px}.file-list{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.file-row{background:#fcfdfe;border:1px solid #e3e8ee;border-radius:9px;grid-template-columns:1fr auto auto auto;align-items:center;gap:14px;padding:11px 14px;display:grid}.file-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.file-meta{color:#687482;white-space:nowrap;font-size:12px}.file-order{gap:4px;display:flex}.file-order button,.file-remove{color:#4c5865;cursor:pointer;background:#fff;border:1px solid #dce2e8;border-radius:6px;padding:5px 9px;font-size:12px}.file-order button[disabled]{opacity:.4;cursor:not-allowed}.file-remove:hover{border-color:var(--accent);color:var(--accent)}.tool-problems{color:#9b2c2c;background:#fdf4f4;border:1px solid #f0c9c9;border-radius:9px;margin:16px 0 0;padding:12px 15px;font-size:13px;line-height:1.6;list-style:none}.tool-options{border:1px solid #e3e8ee;border-radius:11px;margin:26px 0 0;padding:18px 18px 14px}.tool-options legend{letter-spacing:1px;text-transform:uppercase;color:var(--accent);padding:0 8px;font-size:12px;font-weight:750}.option{gap:6px;margin-bottom:16px;display:grid}.option label{font-size:13px;font-weight:650}.option input[type=number],.option input[type=text],.option select,.option textarea{width:100%;max-width:420px;color:inherit;background:#fff;border:1px solid #d7dde4;border-radius:8px;padding:10px 12px;font-size:14px}.option input[type=color]{background:#fff;border:1px solid #d7dde4;border-radius:8px;width:56px;height:34px;padding:2px}.option-boolean{grid-template-columns:auto 1fr;align-items:center;gap:10px}.option-boolean .option-hint{grid-column:2}.option-hint{color:#6c7783;margin:0;font-size:12px;line-height:1.5}.option-actions{gap:8px;display:flex}.ghost{color:#4c5865;cursor:pointer;background:#fff;border:1px solid #dce2e8;border-radius:8px;padding:9px 13px;font-size:13px}.ghost:hover{border-color:var(--accent);color:var(--accent)}.primary{background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:11px 16px;font-size:13px;font-weight:650}.primary[disabled],.tool-run button[disabled]{opacity:.55;cursor:not-allowed}.tool-run{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.tool-run .run-error{color:#9b2c2c;flex:100%;margin:0;font-size:13px}.status-line{color:#4c5865;align-items:center;gap:9px;margin:0;font-size:13px;display:flex}.status-dot{background:#c3ccd6;border-radius:50%;width:9px;height:9px}.status-dot[data-status=processing],.status-dot[data-status=validating]{background:var(--accent)}.status-dot[data-status=success]{background:#1f9d55}.status-dot[data-status=error]{background:#d2453c}.status-dot[data-status=cancelled]{background:#d99a2b}.progress{background:#e7ebf0;border-radius:999px;width:min(320px,100%);height:6px;overflow:hidden}.progress-bar{background:var(--accent);height:100%;transition:width .2s;display:block}.progress-indeterminate{width:45%;animation:1.1s ease-in-out infinite tool-indeterminate}@keyframes tool-indeterminate{0%{margin-left:0}50%{margin-left:55%}to{margin-left:0}}.tool-results{border-top:1px solid #e6eaef;margin-top:30px;padding-top:24px}.results-heading,.results-total{margin:0 0 12px}.results-total{color:#66717e;font-size:13px}.tool-notes{color:#4c5865;gap:7px;margin:0 0 18px;padding:0;font-size:13px;line-height:1.6;list-style:none;display:grid}.tool-notes li{padding-left:16px;position:relative}.tool-notes li:before{content:"";background:#b6c0ca;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;left:0}.tool-notes .note-warning{color:#8a5a12}.tool-notes .note-warning:before{background:#d99a2b}.output-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.output-row{border:1px solid #e3e8ee;border-radius:11px;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:15px;display:grid}.output-name{word-break:break-all;margin:0;font-size:14px;font-weight:700}.output-meta,.output-summary{color:#687482;margin:4px 0 0;font-size:12px}.output-stats{grid-template-columns:auto auto;gap:2px 12px;margin:10px 0 0;font-size:12px;display:grid}.output-stats dt{color:#687482}.output-stats dd{margin:0;font-weight:650}.output-preview{background:#fbfcfd;border:1px solid #e3e8ee;border-radius:9px;grid-column:1/-1;max-width:100%;max-height:320px}.tool-facts{border-top:1px solid #e6eaef;border-bottom:1px solid #e6eaef;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:44px 0 0;padding:26px 0;display:grid}.tool-facts h2,.tool-faq h2,.tool-prose h2,.tool-related h2{letter-spacing:-.3px;margin:0 0 12px;font-size:17px}.tool-facts ul,.tool-prose ol,.tool-prose ul{color:#556270;margin:0;padding-left:19px;font-size:14px;line-height:1.75}.tool-prose{gap:12px;margin:38px 0 0;display:grid}.tool-prose h2{margin-top:18px}.tool-prose h3{margin:6px 0 0;font-size:15px}.tool-prose p{color:#556270;max-width:70ch;margin:0;font-size:14px;line-height:1.75}.tool-faq{gap:10px;margin:38px 0 0;display:grid}.tool-faq details{background:#fff;border:1px solid #e3e8ee;border-radius:10px;padding:14px 16px}.tool-faq summary{cursor:pointer;font-size:14px;font-weight:650}.tool-faq p{color:#556270;margin:10px 0 0;font-size:14px;line-height:1.7}.tool-related{margin:38px 0 0}.tool-related ul{flex-wrap:wrap;gap:10px;margin:0 0 14px;padding:0;list-style:none;display:flex}.tool-related a{background:#fff;border:1px solid #dce2e8;border-radius:8px;padding:9px 13px;font-size:13px;font-weight:600;display:inline-block}.tool-related a:hover{border-color:var(--accent);color:var(--accent)}.tool-domain-note{color:#596574;margin:30px 0 0;font-size:12px}@media (width<=760px){.tool-workspace{padding:18px}.tool-facts{grid-template-columns:1fr;gap:20px}.file-row{grid-template-columns:1fr auto;row-gap:8px}.output-row{grid-template-columns:1fr}.option input[type=number],.option input[type=text],.option select,.option textarea{max-width:none}}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}.progress-indeterminate{opacity:.5;width:100%;animation:none}}.article-page{padding-bottom:70px}.article-header{max-width:760px;padding:34px 0 10px}.article-header h1{letter-spacing:-1.6px;margin:0 0 16px;font-size:clamp(30px,4vw,44px)}.article-intro{color:#556270;margin:0 0 12px;font-size:18px;line-height:1.7}.article-meta{color:#596574;margin:0;font-size:12px}.article-section{gap:12px;max-width:760px;margin:38px 0 0;display:grid}.article-section h2{letter-spacing:-.5px;margin:0 0 6px;font-size:22px}.article-section p{color:#4a5663;max-width:70ch;margin:0;font-size:15px;line-height:1.75}.article-section ol,.article-section ul{color:#4a5663;margin:0;padding-left:22px;font-size:15px;line-height:1.75}.article-section li{margin-bottom:8px}.article-code{color:#e6e9ef;background:#18222f;border-radius:10px;margin:8px 0;padding:16px 18px;font-size:13px;line-height:1.6;overflow-x:auto}.article-code code{color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:inherit;background:0 0;padding:0}.code-caption{color:#596574;margin:-4px 0 8px;font-size:12px}.article-note{border-left:3px solid var(--accent);color:#4a5663;background:#f4f7ff;border-radius:0 8px 8px 0;margin:8px 0;padding:12px 16px;font-size:14px;line-height:1.7}.article-faq{gap:10px;max-width:760px;margin:38px 0 0;display:grid}.article-faq h2,.article-related h2{letter-spacing:-.3px;margin:0 0 12px;font-size:17px}.article-faq details{background:#fff;border:1px solid #e3e8ee;border-radius:10px;padding:14px 16px}.article-faq summary{cursor:pointer;font-size:14px;font-weight:650}.article-faq p{color:#556270;margin:10px 0 0;font-size:14px;line-height:1.7}.article-related{margin:38px 0 0}.article-related ul{flex-wrap:wrap;gap:10px;margin:0 0 14px;padding:0;list-style:none;display:flex}.article-related a{background:#fff;border:1px solid #dce2e8;border-radius:8px;padding:9px 13px;font-size:13px;font-weight:600;display:inline-block}.article-related a:hover{border-color:var(--accent);color:var(--accent)}.article-domain-note{color:#596574;margin:30px 0 0;font-size:12px}.category-desc{color:#66717e;margin:4px 0 14px;font-size:13px;line-height:1.6}@media (width<=760px){.article-faq p,.article-section p{font-size:14px}.article-section h2{font-size:20px}}.article-scope{background:#fff;border:1px solid #e3e8ee;border-radius:12px;max-width:760px;margin:22px 0 8px;padding:16px 18px}.article-scope h2{letter-spacing:-.3px;margin:0 0 12px;font-size:17px}.article-scope ul{margin:0 0 6px;padding-left:20px}.article-scope li{color:#4a5663;margin-bottom:6px;font-size:14px;line-height:1.7}.article-scope-label{text-transform:uppercase;letter-spacing:1px;color:#596574;margin:14px 0 6px;font-size:12px;font-weight:700}.article-recovery{background:#fff7ed;border-radius:8px;padding:10px 14px 10px 30px}.article-sources{max-width:760px;margin:34px 0 0}.article-sources h2{letter-spacing:-.3px;margin:0 0 12px;font-size:17px}.article-sources ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.article-sources a{color:var(--accent);word-break:break-word;font-size:13px}.article-sources-note{color:#596574;margin:14px 0 0;font-size:12px}
