@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-latin-400-normal.B40WzpMT.woff2)format("woff2"),url(/_astro/geist-latin-400-normal.akEymXtG.woff)format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-latin-500-normal.CTWBw9NS.woff2)format("woff2"),url(/_astro/geist-latin-500-normal.BDXIbFrL.woff)format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/geist-latin-600-normal.CSETrqM2.woff2)format("woff2"),url(/_astro/geist-latin-600-normal.DsPlZH-9.woff)format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-mono-latin-400-normal.DTRLJnHl.woff2)format("woff2"),url(/_astro/geist-mono-latin-400-normal.B2yvC1Cq.woff)format("woff")}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-normal.BVbkICAY.woff)format("woff")}.tools-page{max-width:1152px;margin:auto;padding:52px 24px 80px}.tools-page h1{margin:22px 0;font-size:clamp(2.6rem,6vw,4.5rem);font-weight:400;line-height:1.08}.tools-page h2{margin:0 0 20px;font-size:1.45rem}.tools-page p{line-height:1.75}.tool-intro{max-width:700px;color:var(--text-muted);font-size:1.15rem}.tool-privacy{border-top:1px solid var(--rule-border);border-bottom:1px solid var(--rule-border);color:var(--text-muted);gap:12px;margin:28px 0;padding:18px 0;display:flex}.tool-privacy:before{content:"↳";color:var(--accent-cobalt)}.tool-breadcrumb{color:var(--text-muted);flex-wrap:wrap;gap:12px;font-size:.875rem;display:flex}.tools-page a:hover{color:var(--accent-cobalt)}.tool-filters{flex-wrap:wrap;gap:8px;margin:20px 0 32px;display:flex}.tool-filters a{border:1px solid var(--rule-border);min-height:44px;padding:10px 16px}.tool-filters a[aria-current=page]{background:var(--text-ink);color:var(--bg-paper)}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.tool-card{border:1px solid var(--rule-border);min-height:240px;padding:28px;transition:border-color .15s;display:block}.tool-card:hover{border-color:var(--accent-cobalt)}.tool-card h2{margin:30px 0 12px;font-size:1.4rem}.tool-card p{color:var(--text-muted);font-size:.95rem}.tool-icon{color:var(--accent-cobalt);font-family:Geist Mono,monospace;font-size:1.5rem}.tool-category{float:right;letter-spacing:.08em;color:var(--text-muted);font-size:.75rem}.tool-shell{border:1px solid var(--rule-border);margin:32px 0 56px;padding:28px}.tool-note{color:var(--text-muted);margin-bottom:20px;font-size:.875rem}.tool-workspace{grid-template-columns:1fr 1fr;align-items:start;gap:28px;display:grid}.tool-workspace.tool-pdf{grid-template-columns:1fr}.tool-input{min-width:0}.tool-shell fieldset{border:0;min-width:0;padding:0}.tool-shell legend{margin-bottom:20px;font-size:1.2rem;font-weight:600}.tools-page label{margin:12px 0 8px;font-size:.875rem;font-weight:500;display:block}.tools-page input[type=search],.tools-page textarea,.tools-page select{background:var(--bg-paper);border:1px solid var(--rule-border);color:var(--text-ink);border-radius:2px;max-width:100%;min-height:44px;padding:12px}.tools-page input[type=search]{width:min(100%,480px)}.tools-page textarea{resize:vertical;tab-size:2;width:100%;min-height:320px;font-family:Geist Mono,monospace;font-size:.85rem;display:block}.tools-page input[type=file]{width:100%;min-height:48px;font-size:.875rem}.tools-page input[type=file]::file-selector-button{background:var(--bg-paper-subtle);border:1px solid var(--rule-border);min-height:44px;color:var(--text-ink);margin-right:8px;padding:8px 12px}.tools-page select{width:100%}.tools-page details{border-top:1px solid var(--rule-border);margin-top:24px;padding-top:12px}.tools-page summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:500}.tools-page input[type=range]{vertical-align:middle;width:80%;min-height:44px;accent-color:var(--accent-cobalt)}.tools-page output{margin-left:12px}.tool-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.tools-page button,.tool-actions a{border:1px solid var(--rule-border);cursor:pointer;background:var(--bg-paper);min-height:44px;color:var(--text-ink);padding:10px 16px;font-size:.875rem}.tools-page .primary,.tools-page a.primary,.tools-page a.primary:hover,.tools-page a.primary:focus,.tools-page a.primary:active,.tools-page a.primary:visited{background:var(--accent-cobalt);border-color:var(--accent-cobalt);color:#fff!important}.tools-page button:disabled{opacity:.45;cursor:not-allowed}.tools-page :focus-visible{outline:2px solid var(--accent-cobalt);outline-offset:4px}.tool-status{min-height:3em;margin:20px 0 0;font-size:.95rem}.tool-result img{object-fit:contain;background:var(--bg-paper-subtle);max-width:100%;max-height:340px}.tool-result dl{grid-template-columns:1fr 1fr;gap:10px;margin:20px 0;font-size:.875rem;display:grid}.tool-result dt{color:var(--text-muted)}.file-list li{border-bottom:1px solid var(--rule-border);overflow-wrap:anywhere;padding:16px 0}.file-list li div{gap:8px;margin-top:12px;display:flex}.file-list li button{padding:8px 12px}.tool-info{max-width:760px;margin:48px 0}.tool-info ol{padding-left:24px;line-height:1.8;list-style:decimal}.tool-info p,.tool-info li{color:var(--text-muted)}.tool-related{border-top:1px solid var(--rule-border);margin-top:64px;padding-top:32px}[hidden]{display:none!important}@media (width<=1000px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.tools-page{padding:28px 20px 56px}.tool-grid,.tool-workspace{grid-template-columns:1fr}.tool-shell{padding:20px}.tool-card{min-height:200px}.tool-workspace{gap:32px}.tools-page textarea{min-height:260px}}[data-theme=dark] .tools-page .primary,[data-theme=dark] .tools-page a.primary,[data-theme=dark] .tools-page a.primary:hover,[data-theme=dark] .tools-page a.primary:focus,[data-theme=dark] .tools-page a.primary:active,[data-theme=dark] .tools-page a.primary:visited{background:#2563eb;border-color:#2563eb;color:#fff!important}.file-picker{border:1px solid var(--rule-border);background:var(--bg-paper-subtle);align-items:center;min-height:48px;padding:0 16px;display:inline-flex;position:relative}.file-picker .file-label{pointer-events:none;margin:0}.file-picker input[type=file]{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;position:absolute;inset:0}.file-picker:focus-within{outline:2px solid var(--accent-cobalt);outline-offset:4px}
