/* FABX theme v3 — clean tool-site look: light grey ground, white cards, one big action, coloured icons */
:root{
  --bg:#F5F5FA; --surface:#FFFFFF; --panel:#FFFFFF; --ink:#33333B; --ink-2:#47474F; --muted:#6B6B75; --line:#E4E4EC;
  --accent:#2563EB; --accent-ink:#FFFFFF; --accent-soft:#EAF0FF; --deep:#1E1E26; --deep-ink:#F2F2F7; --deep-muted:#A9A9B8;
  --ok:#1C8A4A; --danger:#E5322D; --radius:14px; --shadow:0 1px 2px rgba(20,20,40,.05),0 6px 20px rgba(20,20,40,.06);
  --display:"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif; --body:"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif; --mono:"IBM Plex Mono",Consolas,monospace;
  --c-img:#F25C2B; --c-pdf:#E5322D; --c-day:#2563EB; --c-ai:#7C3AED;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#111116;--surface:#1A1A22;--panel:#1A1A22;--ink:#EEEEF4;--ink-2:#C9C9D4;--muted:#9494A3;--line:#2A2A35;--accent:#5C8BFF;--accent-soft:#1B2540;--deep:#0A0A0F;--shadow:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.35)}}
:root[data-theme="dark"]{--bg:#111116;--surface:#1A1A22;--panel:#1A1A22;--ink:#EEEEF4;--ink-2:#C9C9D4;--muted:#9494A3;--line:#2A2A35;--accent:#5C8BFF;--accent-soft:#1B2540;--deep:#0A0A0F}
html,body{font-family:var(--body);font-size:16px;line-height:1.55;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);letter-spacing:-.015em;font-weight:600}
/* header */
.nav{height:60px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
header.wrap.nav{max-width:none;padding-inline:max(20px,calc((100% - 1160px)/2))}
.brand{font-size:19px;font-weight:700}
.brand .mark{background:var(--ink);border-radius:8px}
.nav a.l{font-weight:500;font-size:15px}
.nav .btn.primary{padding:9px 16px;border-radius:9px;font-size:14px}
/* home hero */
.hero{display:block;text-align:center;padding-block:56px 28px;max-width:860px;margin:0 auto}
.hero .eyebrow{display:none}
.hero h1{font-size:clamp(30px,4.4vw,42px);line-height:1.15;font-weight:600;color:var(--ink)}
.hero h1 em{color:var(--ink);font-style:normal}
.hero p.lead{font-size:clamp(17px,2vw,22px);color:var(--ink-2);max-width:48rem;margin:16px auto 24px;line-height:1.45}
.hero .cta{justify-content:center}
.hero .btn{padding:14px 24px;font-size:16px;border-radius:12px}
.hero .note{font-size:14px}
.letters{display:none}
.section h2{font-size:26px;font-weight:600}
.eyebrow{font-family:var(--body);letter-spacing:.06em;font-size:12px}
/* tiles */
.tiles{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.tile{border:1px solid transparent;border-radius:12px;padding:28px 24px;box-shadow:0 1px 3px rgba(20,20,40,.06);transition:box-shadow .15s,transform .15s}
.tile:hover{transform:none;border-color:transparent;box-shadow:0 8px 24px rgba(20,20,40,.12)}
.tile .ic{width:48px;height:48px;border-radius:10px;font-size:24px;margin-bottom:16px;background:transparent;color:var(--c-pdf);display:block}.tile .ic svg{width:48px;height:48px;display:block}
.tile.cat-images .ic{color:var(--c-img)}.tile.cat-pdf .ic{color:var(--c-pdf)}.tile.cat-everyday .ic{color:var(--c-day)}
.tile b{font-size:19px;font-weight:500;margin-bottom:6px;color:var(--ink)}
.tile span{font-size:15px;color:var(--ink-2);line-height:1.45}
.doors{gap:16px}.door{background:var(--surface);box-shadow:0 1px 3px rgba(20,20,40,.06);border-radius:12px}
.door .k{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--accent)}
.door h3{font-size:19px;font-weight:500}
.promise{border-radius:16px}
/* tool page */
main.tool{max-width:1100px}
.tool>.eyebrow{text-align:center;color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-top:28px}
.tool h1{text-align:center;font-size:clamp(28px,4.4vw,42px);font-weight:600;line-height:1.15;margin:8px auto 6px;max-width:30ch}
.tool .sub{text-align:center;font-size:clamp(16px,2vw,20px);color:var(--ink-2);max-width:44rem;margin:0 auto 14px;line-height:1.45}
.trust{justify-content:center;font-size:13px;margin:0 0 26px}
.tool .card{border:0;box-shadow:var(--shadow);border-radius:14px;padding:22px;max-width:760px;margin:0 auto 16px}
.tool .card:has(.drop){background:transparent;box-shadow:none;padding:0;max-width:none}
.tool .card:has(.drop) .drop{max-width:760px;margin:0 auto;padding:44px 20px 40px!important;border:2px dashed #D6D6E2;background:var(--surface);border-radius:16px;box-shadow:var(--shadow);cursor:pointer;color:var(--muted);font-size:15px}
.tool .card:has(.drop) .drop.over{border-color:var(--accent);background:var(--accent-soft)}
.tool .drop b{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:#fff;font-size:22px;font-weight:500;padding:20px 40px;border-radius:12px;box-shadow:0 3px 6px rgba(0,0,0,.14);margin-bottom:12px;transition:filter .12s,transform .12s}
.tool .drop b::before{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4m0 0l-5 5m5-5l5 5'/%3E%3Cpath d='M4 17v2a2 2 0 002 2h12a2 2 0 002-2v-2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4m0 0l-5 5m5-5l5 5'/%3E%3Cpath d='M4 17v2a2 2 0 002 2h12a2 2 0 002-2v-2'/%3E%3C/svg%3E") center/contain no-repeat}
.tool .drop:hover b{filter:brightness(1.06);transform:translateY(-1px)}
.tool .drop span.or{display:block;font-size:15px;color:var(--muted)}
.tool .card:has(.drop) .sample{text-align:center;max-width:760px;margin:12px auto 0}
.tool .card:has(.drop) .files{max-width:760px;margin:0 auto}
.btn{border-radius:10px;font-weight:500}
.btn.primary{background:var(--accent);border-color:var(--accent);padding:12px 22px;font-size:16px;box-shadow:0 2px 6px rgba(37,99,235,.25)}
.btn.primary:hover{filter:brightness(1.06)}
.chip{border-radius:999px;padding:6px 14px;font-size:14px;font-weight:500}
label.f{font-size:13px;font-weight:500;color:var(--ink-2)}
.tool input[type=text],.tool input[type=number],.tool select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:15px;background:var(--surface);color:var(--ink)}
.tool input:focus,.tool select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}
.seo{max-width:760px}.seo h2{font-size:22px;font-weight:600}
.related a{border-radius:999px;padding:8px 14px;font-weight:500}
.next{max-width:760px;margin:14px auto 0}
/* footer */
footer{background:var(--surface);border-top:1px solid var(--line);margin-top:56px;padding-block:40px}
.fcols b{font-weight:600}
/* mobile */
@media (max-width:640px){.tool .drop b{font-size:18px;padding:16px 26px}.hero{padding-block:36px 20px}.tool h1{font-size:26px}}
