@font-face{font-family:Work Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8e3fbf4aa84d044b-s.3ynaompv6mu4n.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Work Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/57dc28f7118abe14-s.3bsu95r7x7mat.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Work Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7ddd198311ba7843-s.p.3kq6k02b2ysv1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Work Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8e3fbf4aa84d044b-s.3ynaompv6mu4n.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Work Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/57dc28f7118abe14-s.3bsu95r7x7mat.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Work Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7ddd198311ba7843-s.p.3kq6k02b2ysv1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Work Sans Fallback;src:local(Arial);ascent-override:83.09%;descent-override:21.71%;line-gap-override:0.0%;size-adjust:111.93%}.work_sans_aedb9bb0-module__3XvncG__className{font-family:Work Sans,Work Sans Fallback;font-style:normal}.work_sans_aedb9bb0-module__3XvncG__variable{--font-body:"Work Sans", "Work Sans Fallback"}
@font-face{font-family:Courier Prime;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7f6e389592deb6d0-s.18kjkh28iesz_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Courier Prime;font-style:normal;font-weight:400;font-display:swap;src:url(../media/87d3ffffac5dafea-s.p.3a10o7es2neby.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Courier Prime Fallback;src:local(Arial);ascent-override:58.08%;descent-override:25.41%;line-gap-override:0.0%;size-adjust:134.5%}.courier_prime_4dd082b9-module__dPcXOG__className{font-family:Courier Prime,Courier Prime Fallback;font-style:normal;font-weight:400}.courier_prime_4dd082b9-module__dPcXOG__variable{--font-mono:"Courier Prime", "Courier Prime Fallback"}
:root{--paper:#fbfaf7;--card:#fff;--ink:#121212;--ink-2:#3b3b3b;--muted:#626262;--rule:#dcd8d0;--rule-2:#edeae4;--accent:#a3124f;--on-accent:#fff;--hl:#ffd6ea;--redact:#121212;--warn:#a8481f;--warn-bg:#f6e2d9;--dual-use:#6b3fa0;--dual-use-bg:#efe4f6;--font-display:var(--font-body)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#121113;--card:#1b1a1d;--ink:#f1eff2;--ink-2:#c9c5cc;--muted:#9a959e;--rule:#2f2c33;--rule-2:#252328;--accent:#ff7ab8;--on-accent:#121113;--hl:#4a1430;--redact:#e9e6ea;--warn:#d97a4e;--warn-bg:#2b1f14;--dual-use:#b58ad9;--dual-use-bg:#241e2b}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:16px/1.6 var(--font-body), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;margin:0}.wrap{max-width:1080px;margin:0 auto;padding:0 22px}a{color:var(--accent);text-underline-offset:2px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip{position:absolute;left:-9999px}.skip:focus{background:var(--card);z-index:10;padding:10px 14px;top:12px;left:12px}header.site{border-bottom:2px solid var(--ink);background:var(--card)}.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:14px;padding-bottom:14px;display:flex}.brand{letter-spacing:-.02em;color:var(--ink);align-items:center;min-height:44px;font-size:1.12rem;font-weight:700;text-decoration:none;display:inline-flex}.brand span{color:var(--accent);background:linear-gradient(transparent 55%, var(--hl) 0)}nav.primary{flex-wrap:wrap;gap:6px;display:flex}nav.primary a{color:var(--ink-2);font-family:var(--font-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:.06em;border:1px solid #0000;border-bottom:0;border-radius:2px 2px 0 0;align-items:center;min-height:44px;padding:0 12px;font-size:.82rem;text-decoration:none;display:inline-flex}nav.primary a:hover{color:var(--accent);border-color:var(--rule);background:var(--paper)}.banner{background:var(--warn-bg);color:var(--warn);text-align:center;border-bottom:1px solid var(--rule);padding:8px 16px;font-size:.85rem}main{padding:34px 22px 72px}h1{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.02em;text-wrap:balance;margin:0 0 12px;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.15}h2{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.01em;margin:0 0 10px;font-size:1.35rem}p{max-width:68ch;margin:0 0 14px}.muted{color:var(--muted);font-size:.9rem}.lede{color:var(--ink-2);max-width:62ch;font-size:1.08rem}.stats{flex-wrap:wrap;gap:28px;margin:4px 0 24px;display:flex}.stat{flex-direction:column;display:flex}.stat strong{letter-spacing:-.02em;color:var(--ink);font-size:1.7rem}.stat span{color:var(--muted);font-size:.82rem}.faq{margin-top:34px}.faq-list{flex-direction:column;gap:10px;max-width:68ch;display:flex}.faq-list details{background:var(--card);border:1px solid var(--rule);border-radius:2px;padding:14px 16px}.faq-list summary{cursor:pointer;color:var(--ink);font-weight:600}.faq-list summary::marker{color:var(--accent)}.faq-list details p{color:var(--ink-2);margin:10px 0 0;font-size:.94rem}.pillars{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:26px 0 34px;display:grid}.pillar{background:var(--card);border:1px solid var(--rule);color:inherit;border-radius:2px;padding:18px;text-decoration:none;position:relative}.pillar:hover{border-color:var(--accent)}.pillar h3{margin:0 0 8px;font-size:1.05rem}.pillar p{color:var(--ink-2);margin:0;font-size:.92rem}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px 14px;margin:18px 0;display:grid}.card{background:var(--card);border:1px solid var(--rule);color:inherit;border-radius:2px;flex-direction:column;gap:8px;padding:16px;text-decoration:none;display:flex;position:relative}.card:hover,.card:focus-visible{border-color:var(--accent)}.card h3{color:var(--ink);margin:0;font-size:1.02rem}.card p{color:var(--ink-2);margin:0;font-size:.88rem}.badges{flex-wrap:wrap;gap:6px;display:flex}.badge{text-transform:uppercase;letter-spacing:.03em;background:var(--rule-2);color:var(--ink-2);font-size:.72rem;font-weight:600;font-family:var(--font-mono), ui-monospace, monospace;border-radius:2px;padding:3px 8px;font-weight:400;display:inline-block}.badge.cost-free,.badge.cost-open_source{background:color-mix(in srgb, var(--accent) 16%, var(--card));color:var(--accent)}.badge.cost-freemium{color:var(--ink-2)}.badge.cost-paid{background:var(--rule-2)}.badge.dual-use{background:var(--dual-use-bg);color:var(--dual-use)}.badge.tag-chip{text-transform:none;letter-spacing:normal;text-decoration:none}.badge.tag-chip:hover{background:color-mix(in srgb, var(--accent) 16%, var(--card));color:var(--accent)}.filters{background:var(--card);border:1px solid var(--rule);border-radius:2px;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 8px;padding:14px;display:flex}.filters label{color:var(--ink-2);align-items:center;gap:6px;font-size:.85rem;display:flex}.filters select,.filters input[type=checkbox]{font:inherit}.filters button{font:inherit;border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:2px;min-height:44px;padding:6px 14px}.note{border-left:3px solid var(--accent);background:var(--rule-2);border-radius:0 2px 2px 0;margin:16px 0;padding:10px 14px;font-size:.9rem}.note.dual-use{border-left-color:var(--dual-use)}.tool-detail{max-width:68ch}.tool-meta{flex-wrap:wrap;gap:8px;margin:10px 0 18px;display:flex}.related{margin-top:30px}footer.site{border-top:2px solid var(--ink);background:var(--card)}footer.site .wrap{padding-top:18px;padding-bottom:18px}footer.site p{max-width:76ch;color:var(--ink-2);font-size:.9rem}footer.site nav{flex-wrap:wrap;gap:14px;margin-top:8px;display:flex}footer.site nav a{color:var(--muted);align-items:center;min-height:44px;font-size:.85rem;text-decoration:none;display:inline-flex}footer.site nav a:hover{color:var(--accent)}.exif-file-input{font:inherit}.exif-result{margin-top:18px}.exif-preview{border:1px solid var(--rule);border-radius:2px;max-width:100%;max-height:320px;margin:0 0 16px;display:block}.exif-headline{flex-direction:column;gap:8px;margin:0 0 16px;display:flex}.exif-field{background:var(--card);border:1px solid var(--rule);border-radius:2px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 12px;display:flex}.exif-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);min-width:100px;font-size:.8rem;font-weight:600}.exif-details{margin:12px 0 20px}.exif-details summary{cursor:pointer;color:var(--ink-2);padding:6px 0;font-size:.92rem}.exif-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:.86rem}.exif-table td{border-bottom:1px solid var(--rule-2);vertical-align:top;padding:6px 10px}.exif-table td:first-child{color:var(--muted);white-space:nowrap;font-weight:600}.exif-explainer{margin-top:30px}.exif-explainer h2{font-size:1.15rem}.exif-explainer ul{margin:0 0 14px;padding-left:20px}.exif-explainer li{max-width:66ch;margin-bottom:8px}.dork-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:4px 0 18px;display:grid}.dork-grid label{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.dork-grid input[type=text]{font:inherit;border:1px solid var(--rule);background:var(--card);color:var(--ink);border-radius:2px;padding:8px 10px}.dork-output{margin:0 0 16px}.dork-query-box{font:inherit;border:1px solid var(--rule);background:var(--rule-2);width:100%;color:var(--ink);border-radius:2px;margin-bottom:8px;padding:10px 12px;font-family:ui-monospace,monospace}.dork-actions{flex-wrap:wrap;gap:10px;display:flex}.dork-actions button{font:inherit;border:1px solid var(--rule);background:var(--card);min-height:44px;color:var(--ink);cursor:pointer;border-radius:2px;padding:8px 16px}.dork-actions button:first-child{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.dork-actions button:disabled{opacity:.6;cursor:default}.dork-search-links{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 20px;display:flex}.dork-search-links a.badge{text-transform:none;letter-spacing:normal;background:var(--card);border:1px solid var(--rule);padding:8px 14px;font-size:.85rem;text-decoration:none}.dork-search-links a.badge:hover{border-color:var(--accent);color:var(--accent)}.exposure-list{gap:0}.exposure-list li{padding:0}.exposure-list li.answered{border-color:var(--accent)}.exposure-q{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.exposure-q>span:first-child{flex:1;min-width:200px;font-size:.94rem}.exposure-yn{flex-shrink:0;gap:6px;display:flex}.exposure-yn button{font:inherit;border:1px solid var(--rule);background:var(--card);min-height:44px;color:var(--ink-2);cursor:pointer;border-radius:2px;padding:6px 14px;font-size:.85rem}.exposure-yn button.exposure-selected{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.exposure-result{margin-top:12px}.exposure-breakdown{flex-direction:column;gap:14px;margin:0 0 20px;padding:0;list-style:none;display:flex}.exposure-breakdown li{background:var(--card);border:1px solid var(--rule);border-radius:2px;padding:12px 14px}.exposure-breakdown-head{justify-content:space-between;gap:10px;margin-bottom:6px;font-size:.92rem;display:flex}.exposure-breakdown .track{background:var(--rule-2);border-radius:999px;height:6px;overflow:hidden}.exposure-breakdown .fill{background:var(--warn);border-radius:999px;height:100%}.exposure-fix{margin:8px 0 0;font-size:.88rem}.hl{background:linear-gradient(transparent 55%, var(--hl) 0)}.card:before,.pillar:before{content:"";background:var(--card);border:1px solid var(--rule);border-bottom:0;border-radius:2px 2px 0 0;width:30%;height:8px;position:absolute;top:-9px;left:-1px}.card:hover:before,.pillar:hover:before{border-color:var(--accent)}.stamp{font-family:var(--font-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border:2px solid var(--accent);border-radius:2px;padding:2px 8px;font-size:.78rem;display:inline-block;transform:rotate(-1.5deg)}@media (prefers-reduced-motion:reduce){.stamp{transform:none}}.redact-row{flex-direction:column;gap:6px;margin:4px 0 22px;display:flex}.redact-row span,.redact-divider span{background:var(--redact);border-radius:1px;height:10px;display:block}.redact-row .r1{width:62%}.redact-row .r2{width:38%}.redact-row .r3{width:22%}.redact-divider{gap:6px;margin:0 0 14px;display:flex}.redact-divider .d1{width:56px}.redact-divider .d2{width:24px}.redact-divider .d3{width:12px}.dossier{display:block}.rail-wrap{display:none}.rail{border:1px solid var(--rule);border-left:4px solid var(--accent);background:var(--card);border-radius:2px;flex-direction:column;display:flex;position:sticky;top:16px}.rail .rail-title{font-family:var(--font-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0;padding:10px 14px 6px;font-size:.74rem}.rail a{min-height:44px;color:var(--ink);border-top:1px solid var(--rule-2);align-items:center;padding:0 14px;font-weight:600;text-decoration:none;display:flex}.rail a:hover{color:var(--accent);background:var(--paper)}@media (min-width:900px){.dossier{grid-template-columns:176px minmax(0,1fr);align-items:start;gap:34px;display:grid}.rail-wrap{display:block}}.dossier-section{margin:0 0 34px}.dossier-section>h2.tab-title{font-family:var(--font-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-bottom:0;border-radius:2px 2px 0 0;margin:0;padding:7px 14px;font-size:.82rem;font-weight:400;display:inline-block}.tab-panel{background:var(--card);border:1px solid var(--rule);border-radius:0 2px 2px;padding:4px 18px 14px}.tab-panel .grid{margin:18px 0 8px}.tab-panel .card,.tab-panel .card:before{background:var(--paper)}.audit-path{counter-reset:audit;gap:14px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:700px){.audit-path{grid-template-columns:repeat(3,minmax(0,1fr))}}.audit-path li{counter-increment:audit;background:var(--paper);border:1px solid var(--rule);border-radius:2px;flex-direction:column;gap:6px;padding:16px;display:flex;position:relative}.audit-path li:before{content:"0" counter(audit);font-family:var(--font-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border:2px solid var(--accent);border-radius:2px;align-self:flex-start;padding:2px 8px;font-size:.78rem;transform:rotate(-1.5deg)}@media (prefers-reduced-motion:reduce){.audit-path li:before{transform:none}}.audit-path a{align-items:center;min-height:44px;font-weight:700;display:inline-flex}.audit-path a+a{font-weight:400}
