:root{--paper:#f4f5f7;--card:#fff;--ink:#14181f;--ink-2:#39424e;--muted:#616b78;--rule:#dcdfe5;--rule-2:#ebedf1;--accent:#1f6f5c;--warn:#a8481f;--warn-bg:#f6e2d9;--dual-use:#7a4fa0;--dual-use-bg:#efe4f6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#10141a;--card:#171d25;--ink:#e9ebee;--ink-2:#c2c7ce;--muted:#939ca6;--rule:#29323c;--rule-2:#222932;--accent:#4fb89c;--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);margin:0;font:16px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.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:1px solid var(--rule);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);font-size:1.12rem;font-weight:700;text-decoration:none}.brand span{color:var(--accent)}nav.primary{flex-wrap:wrap;gap:18px;display:flex}nav.primary a{color:var(--ink-2);font-size:.94rem;text-decoration:none}nav.primary a:hover{color:var(--accent)}.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{letter-spacing:-.02em;text-wrap:balance;margin:0 0 12px;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.15}h2{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:10px;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);border-radius:10px;padding:18px}.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:14px;margin:18px 0;display:grid}.card{background:var(--card);border:1px solid var(--rule);color:inherit;border-radius:10px;flex-direction:column;gap:8px;padding:16px;text-decoration:none;display:flex}.card:hover{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);border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:600;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)}.filters{background:var(--card);border:1px solid var(--rule);border-radius:10px;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:6px;padding:6px 14px}.note{border-left:3px solid var(--accent);background:var(--rule-2);border-radius:0 8px 8px 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:1px solid var(--rule);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);font-size:.85rem;text-decoration:none}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:8px;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:8px;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:6px;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:6px;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);color:var(--ink);cursor:pointer;border-radius:6px;padding:8px 16px}.dork-actions button:first-child{border-color:var(--accent);background:var(--accent);color:#fff}.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);color:var(--ink-2);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:.85rem}.exposure-yn button.exposure-selected{border-color:var(--accent);background:var(--accent);color:#fff}.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:8px;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}
