@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--bg:#f7f9fe;--ink:#14213d;--muted:#66758f;--blue:#385cf6;--border:#e4eaf3;--white:#fff;--pale:#eef2ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 'DM Sans',system-ui,sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}.nav{max-width:1140px;margin:auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{font-family:Outfit,sans-serif;font-weight:800;font-size:25px;letter-spacing:-1px}.logo span{color:var(--blue)}.navlinks{display:flex;gap:25px;color:#596783;font-size:14px;font-weight:700}.navlinks a:hover,.link:hover{color:var(--blue)}.btn{border:0;border-radius:12px;padding:11px 17px;font-weight:700;background:var(--blue);color:white}.btn.ghost{background:var(--pale);color:var(--blue)}.btn:disabled{opacity:.5;cursor:not-allowed}.shell{max-width:1140px;margin:0 auto;padding:0 22px}.hero{text-align:center;padding:88px 12px 55px}.eyebrow{display:inline-block;color:#3755ba;border:1px solid #dce3ff;border-radius:50px;background:#edf1ff;font-size:12px;font-weight:800;letter-spacing:.08em;padding:5px 14px;text-transform:uppercase}.hero h1{font:800 clamp(36px,5vw,65px)/1.12 Outfit,sans-serif;letter-spacing:-2px;margin:23px auto 15px;max-width:850px}.hero h1 em{font-style:normal;color:var(--blue)}.hero p{max-width:620px;margin:0 auto;color:var(--muted);font-size:17px}.search{display:flex;align-items:center;background:white;border:1px solid #dfe5f2;box-shadow:0 13px 34px #1f397514;border-radius:17px;max-width:600px;margin:31px auto 0;padding:5px 16px;gap:12px}.search input{border:none;outline:none;width:100%;padding:13px 3px;color:var(--ink);background:transparent}.stats{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:28px;font-size:13px;font-weight:700;color:var(--muted)}.stats span:before{content:'✓';color:#12a76b;margin-right:8px}.section{padding:22px 0 55px}.section-title{font:800 28px Outfit,sans-serif;letter-spacing:-.5px;margin:5px 0}.sub{color:var(--muted);margin:0 0 23px}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:19px 0 25px}.chip{border:1px solid var(--border);border-radius:30px;background:white;padding:8px 16px;font-weight:700;color:#56657c}.chip.active{background:var(--ink);color:white}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.tile{display:block;background:white;border:1px solid var(--border);border-radius:18px;padding:24px;transition:.2s;min-height:177px}.tile:hover{transform:translateY(-3px);box-shadow:0 15px 35px #23407c15;border-color:#bccafe}.glyph{display:inline-grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#edf1ff;color:var(--blue);font-size:23px;font-weight:700}.tile h3{font:700 19px Outfit;margin:16px 0 4px}.tile p{margin:0;color:var(--muted);font-size:13px}.pill{display:inline-block;font-size:11px;color:#485bb7;font-weight:800;background:#f0f2ff;border-radius:99px;padding:3px 9px;margin-top:12px}.banner{background:#172a57;color:white;border-radius:24px;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:22px;margin:15px 0 65px}.banner h2{font:700 27px Outfit;margin:0 0 7px}.banner p{margin:0;color:#d1d8ed}.banner a{white-space:nowrap;background:white;color:#253d8f;padding:12px 21px;border-radius:12px;font-weight:800}footer{background:#101e3b;color:#c6d0e6;margin-top:30px;padding:35px 0}footer .inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer .logo{color:white}footer small{display:block;margin-top:10px;color:#9baac9}footer .links{display:flex;flex-wrap:wrap;gap:19px;font-size:13px}.tool-hero{padding:52px 0 25px;text-align:center}.breadcrumb{text-align:left;color:#70809a;font-size:13px;margin-bottom:29px}.tool-hero h1{font:800 clamp(29px,4vw,45px) Outfit;letter-spacing:-1px;margin:12px 0 5px}.tool-hero p{margin:0 auto;color:var(--muted);max-width:680px}.workspace{max-width:770px;margin:20px auto 50px;background:white;border:1px solid var(--border);border-radius:22px;padding:30px;box-shadow:0 15px 50px #1938790d}.workspace h2{font:700 19px Outfit;margin:0 0 20px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:flex;flex-direction:column;gap:6px;margin:0 0 17px}.field label{font-size:13px;font-weight:800;color:#3b4b68}.field input,.field textarea,.field select{padding:12px 13px;border:1px solid #dbe2ee;border-radius:11px;background:#fff;outline:none;min-width:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue)}.field textarea{resize:vertical;min-height:96px}.drop{border:2px dashed #c4cef1;padding:36px 16px;border-radius:16px;text-align:center;background:#f8faff;margin:0 0 20px}.drop strong{display:block;margin-bottom:5px}.drop span{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}.drop input{max-width:250px}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.message{margin-top:15px;font-size:13px;color:#546886;white-space:pre-wrap;overflow-wrap:anywhere}.results{background:#f3f6ff;border:1px solid #e2e9ff;border-radius:14px;padding:18px;margin-top:18px;overflow-wrap:anywhere}.results strong{color:#243878}.results img{max-width:100%;max-height:320px;object-fit:contain;display:block;margin:10px auto;border-radius:8px}.results a{color:#3557e3;text-decoration:underline}.text-body{max-width:770px;margin:0 auto 65px;color:#4e5f79}.text-body h2{font:700 23px Outfit;color:var(--ink);margin:26px 0 10px}.text-body p{margin:9px 0}.text-body li{margin-bottom:7px}.related{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.related a{border:1px solid var(--border);padding:12px;border-radius:10px;background:white;color:#3d57b0;font-weight:700;font-size:13px}.adnotice{border:1px solid var(--border);border-radius:12px;padding:16px;color:#8490a4;text-align:center;font-size:12px;margin:16px auto 35px;max-width:770px}.legal{max-width:780px;padding-top:65px;padding-bottom:80px}.legal h1{font:800 40px Outfit}.legal h2{font:700 23px Outfit;margin-top:30px}.muted{color:var(--muted)}@media(max-width:750px){.navlinks{display:none}.hero{padding:60px 0 35px}.grid{grid-template-columns:repeat(2,1fr)}.banner{display:block}.banner a{display:inline-block;margin-top:18px}.formgrid{grid-template-columns:1fr}.workspace{padding:20px}.related{grid-template-columns:1fr 1fr}}@media(max-width:480px){.grid{grid-template-columns:1fr}.hero h1{letter-spacing:-1px}.shell{padding:0 16px}.banner{padding:27px}.related{grid-template-columns:1fr}}[hidden]{display:none!important}

/* v3.1 discovery enhancements: retains existing colors/typography */
.nav-dropdown{position:relative}.nav-menu-toggle{appearance:none;background:none;border:0;color:#596783;font-size:14px;font-weight:700;display:flex;align-items:center;gap:7px;padding:5px 0}.nav-menu-toggle:hover,.nav-menu-toggle[aria-expanded="true"]{color:var(--blue)}.nav-mega{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-45%);width:min(850px,calc(100vw - 32px));max-height:min(73vh,650px);overflow:auto;background:white;box-shadow:0 22px 60px #172a5730;border:1px solid var(--border);border-radius:18px;padding:20px;z-index:50}.nav-mega[hidden]{display:none!important}.mega-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mega-top a{color:var(--blue)}.mega-search{display:block;width:100%;border:1px solid var(--border);border-radius:12px;padding:11px 14px;margin-bottom:16px}.mega-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mega-group h3{font:700 15px Outfit;margin:0 0 7px}.mega-group h3 a{color:var(--ink)}.mega-group ul{margin:0;padding:0;list-style:none}.mega-group li a{display:block;padding:3px 0;color:#53617c;font-size:12px;line-height:1.4}.mega-group a:hover{color:var(--blue)}.mega-more{font-weight:800!important;color:var(--blue)!important}.nav-close{background:var(--pale);border:0;border-radius:8px;padding:5px 10px;font-weight:700;color:var(--blue)}.category-directory{padding:0 0 32px}.category-directory h2{font:800 26px Outfit;margin:15px 0 4px}.category-directory>p{margin:0 0 20px;color:var(--muted)}.cat-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cat-card{background:white;border:1px solid var(--border);border-radius:17px;padding:20px}.cat-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cat-head a{font:700 18px Outfit}.cat-head span{font-size:12px;color:var(--muted)}.cat-links{display:grid;gap:5px}.cat-links a{font-size:13px;color:#526688}.cat-links a:hover,.cat-card>a:hover{color:var(--blue)}.cat-viewall{display:inline-block;margin-top:11px;color:var(--blue);font-size:13px;font-weight:800}.cat-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 50px}.cat-list a{display:block;background:white;border:1px solid var(--border);border-radius:13px;padding:17px}.cat-list a strong{display:block;font:700 16px Outfit}.cat-list a span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.cat-list a:hover{border-color:#b6c4ff;box-shadow:0 8px 20px #23407c12}.mobile-menu-trigger{display:none}.tool-hero .category-jump{display:inline-block;margin-top:13px;font-size:13px;color:var(--blue);font-weight:700}
@media(max-width:750px){.navlinks{display:flex;gap:12px;align-items:center}.navlinks>a{display:none}.nav{gap:8px}.nav .btn.ghost{display:none}.nav-menu-toggle{font-size:13px}.nav-mega{position:fixed;top:64px;left:12px;transform:none;width:calc(100vw - 24px);max-height:75vh}.mega-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.cat-cards,.cat-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.mega-cols,.cat-cards,.cat-list{grid-template-columns:1fr}.nav .logo{font-size:21px}.nav-mega{padding:15px}}

/* Reserved ad placement remains completely hidden until advertising is enabled. */
.tools360-ad[hidden]{display:none!important}
.tools360-ad{margin:32px auto;max-width:100%;min-height:120px;overflow:hidden;clear:both}
.ad-disclosure{display:block;text-align:center;color:#64748b;font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
@media(max-width:650px){.tools360-ad{margin:24px auto}}

/* Tools360 optional Ko-fi support: no embeds or tracking scripts */
.nav .kofi-support { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; white-space:nowrap; padding:.58rem .9rem; border-radius:999px; background:#fff2cf; color:#6f4700; border:1px solid #f3d88b; font-weight:700; font-size:.84rem; text-decoration:none; line-height:1.35; transition:background .15s,transform .15s; }
.nav .kofi-support:hover,.nav .kofi-support:focus-visible { background:#ffe7a4; transform:translateY(-1px); }
footer .kofi-footer { font-weight:650; }
@media(max-width:780px){.nav .kofi-support{padding:.43rem .65rem;font-size:.76rem;white-space:normal;text-align:center}}

/* Optional AdSense design preview: ONLY active with ?ad-preview=1 */
.t360-sample-ad{background:#fff;border:1px dashed #c4cee3;border-radius:18px;max-width:770px;margin:25px auto 40px;padding:12px 14px;text-align:center;overflow:hidden}
.t360-sample-ad--wide{max-width:1100px;margin:20px auto 42px}
.t360-sample-label{display:block;font-size:10px;font-weight:700;color:#7a879d;letter-spacing:.08em;margin-bottom:9px}
.t360-ad-graphic{min-height:108px;background:linear-gradient(100deg,#edf1ff,#f7f9ff);border-radius:12px;display:flex;gap:16px;justify-content:center;align-items:center;padding:20px}
.t360-ad-symbol{display:grid;place-items:center;background:#dbe4ff;color:#425bde;border-radius:14px;font-size:26px;width:55px;height:55px;flex-shrink:0}
.t360-ad-copy{display:grid;text-align:left}.t360-ad-copy strong{font:700 18px Outfit,sans-serif;color:#344267}.t360-ad-copy small{color:#77839e;font-size:12px}
.t360-preview-banner{position:fixed;z-index:500;bottom:12px;right:12px;left:12px;margin:auto;max-width:850px;display:flex;gap:18px;align-items:center;justify-content:space-between;background:#152448;color:white;border-radius:15px;box-shadow:0 12px 40px #162a5540;padding:11px 17px;font-weight:700;font-size:12px}
.t360-preview-banner>div{display:flex;gap:16px}.t360-preview-banner a{color:#d9e3ff;text-decoration:underline}
.t360-preview body{padding-bottom:62px}
@media(max-width:600px){.t360-ad-graphic{min-height:90px;padding:14px}.t360-ad-copy strong{font-size:14px}.t360-preview-banner{font-size:11px;flex-wrap:wrap}.t360-sample-ad{margin:18px 10px 26px}}

/* V5.3: make search results visible immediately without altering the default layout */
.search-clear{background:transparent;border:0;color:#66758f;font-size:24px;padding:0 7px;line-height:1;cursor:pointer}
.search-status{max-width:600px;margin:12px auto 0;text-align:center;color:#465a82;font-size:14px;font-weight:700}
#tools{scroll-margin-top:95px}
