/* Tools directory: v39 hierarchy, current browser-based tools and device palette. */
.tools-v47{--t47-card-shadow:0 10px 30px color-mix(in srgb,var(--ink) 7%,transparent)}
.tools-v47 [hidden]{display:none!important}
.tools-v47 .t47-hero{padding-block:64px 40px;background:radial-gradient(ellipse at 98% 5%,var(--blue-wash),transparent 58%),radial-gradient(ellipse at 0 95%,var(--gold-wash),transparent 45%),var(--ground)}
.tools-v47 .eyebrow svg{width:19px;height:19px;flex:none}
.tools-v47 .t47-hero h1{font-size:clamp(34px,4.1vw,55px);line-height:1.13;letter-spacing:-.045em;max-width:27ch;margin-block:18px}
.tools-v47 .t47-hero .lead{max-width:70ch;font-size:18px;line-height:1.65;margin:0}
.tools-v47 .t47-discovery{margin-top:28px}
.tools-v47 .t47-search label{display:block;font-size:13px;font-weight:750;margin-bottom:9px;color:var(--ink)}
.tools-v47 .t47-search-box{display:flex;align-items:center;gap:12px;border:1px solid var(--line-2);border-radius:15px;background:var(--surface);padding:7px 14px;box-shadow:0 2px 4px color-mix(in srgb,var(--ink) 3%,transparent);max-width:100%}
.tools-v47 .t47-search-box:focus-within{outline:3px solid var(--blue);outline-offset:3px}
.tools-v47 .t47-search-box>svg{width:22px;height:22px;color:var(--ink-2);flex:none}
.tools-v47 .t47-search-box input{width:100%;min-width:0;min-height:44px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:16px;padding:8px 0;outline:none!important}
.tools-v47 .t47-search-box input::placeholder{color:var(--ink-2);opacity:1}
.tools-v47 .t47-search-box button{flex:none;min-height:44px;border:0;background:var(--blue-wash);color:var(--blue-ink);padding:8px 12px;font:inherit;font-size:13px;font-weight:750;border-radius:9px;cursor:pointer}
.tools-v47 .t47-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tools-v47 .t47-filters button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 13px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);color:var(--ink-2);font:inherit;font-size:13px;font-weight:750;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.tools-v47 .t47-filters button span{font-size:11px;line-height:1.2;background:var(--surface-2);color:var(--ink-2);padding:3px 5px;border-radius:5px;font-variant-numeric:tabular-nums}
.tools-v47 .t47-filters button[aria-pressed=true]{border-color:var(--blue);background:var(--blue-wash);color:var(--blue-ink)}
.tools-v47 .t47-filters button:hover{border-color:var(--blue)}
.tools-v47 .t47-status{margin:11px 0 0;color:var(--ink-2);font-size:13px;min-height:21px}
.tools-v47 .t47-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:18px;color:var(--ink-2);font-size:12px;font-weight:650}
.tools-v47 .t47-trust span{display:inline-flex;gap:7px;align-items:center}
.tools-v47 .t47-trust svg{width:16px;height:16px;color:var(--gold-ink);flex:none}
.tools-v47 .t47-category{padding-block:52px 56px;background:var(--ground);border-bottom:1px solid var(--line)}
.tools-v47 .t47-category:nth-child(even){background:var(--surface-2)}
.tools-v47 .t47-category-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.tools-v47 .t47-category h2{font-size:clamp(25px,2.6vw,32px);line-height:1.3;margin-top:10px;letter-spacing:-.035em}
.tools-v47 .t47-category-head p{color:var(--ink-2);font-size:15px;line-height:1.65;margin-top:8px;max-width:68ch}
.tools-v47 .t47-section-number{font-family:var(--serif);font-size:47px;color:var(--ink-3);opacity:.55;font-variant-numeric:tabular-nums}
.tools-v47 .t47-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tools-v47 .t47-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;border:1px solid var(--line);border-radius:16px;padding:23px;background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:0 1px 2px color-mix(in srgb,var(--ink) 3%,transparent);transition:transform .2s,border-color .2s,box-shadow .2s}
.tools-v47 .t47-card:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:var(--t47-card-shadow)}
.tools-v47 .t47-card:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.tools-v47 .t47-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--blue-wash);color:var(--blue);margin-bottom:17px}
.tools-v47 .t47-icon svg{width:22px;height:22px}
.tools-v47 .t47-card h3{font-size:17px;line-height:1.45;letter-spacing:-.02em;margin:0;font-weight:750}
.tools-v47 .t47-card p{font-size:14px;line-height:1.65;color:var(--ink-2);margin:9px 0 22px}
.tools-v47 .t47-card-foot{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.tools-v47 .t47-tag{font-size:10px;letter-spacing:.065em;font-weight:800;text-transform:uppercase;background:var(--gold-wash);color:var(--gold-ink);padding:5px 8px;border-radius:6px}
.tools-v47 .t47-open{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--blue-ink);font-weight:750}
.tools-v47 .t47-open svg{width:17px;height:17px}
.tools-v47 .t47-empty{border-bottom:1px solid var(--line);text-align:center;background:var(--surface-2)}
.tools-v47 .t47-empty h2{font-size:28px}
.tools-v47 .t47-empty p{color:var(--ink-2);margin:12px auto 22px;max-width:55ch;line-height:1.6}
.tools-v47 .t47-method{padding-block:64px}
.tools-v47 .t47-method-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.tools-v47 .t47-method h2{font-size:clamp(29px,3vw,37px);line-height:1.2;margin:15px 0 20px}
.tools-v47 .t47-method p{color:var(--ink-2);font-size:15px;line-height:1.75;margin-block:14px}
.tools-v47 .t47-method .btn{margin-top:12px}
.tools-v47 .t47-note{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:16px;padding:28px}
.tools-v47 .t47-note-label{color:var(--gold-ink);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.tools-v47 .t47-note h3{font-size:22px;line-height:1.4;margin-block:14px}
.tools-v47 .t47-note ul{list-style:none;padding:0;margin:0}
.tools-v47 .t47-note li{position:relative;padding:9px 0 9px 22px;color:var(--ink);font-size:14px;line-height:1.6}
.tools-v47 .t47-note li:before{content:'✓';position:absolute;left:0;color:var(--gold-ink);font-weight:800}
.tools-v47 .t47-note p{padding-top:14px;margin-top:14px;border-top:1px solid var(--line);font-size:13px}
.tools-v47 .t47-next{padding-top:0;padding-bottom:64px}
.tools-v47 .t47-band{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(120deg,var(--blue-wash),var(--surface));border:1px solid var(--line);border-radius:24px;padding:36px 46px;overflow:hidden;min-height:310px}
.tools-v47 .t47-band-copy{max-width:680px;position:relative;z-index:1}
.tools-v47 .t47-band h2{font-size:clamp(28px,3vw,38px);line-height:1.2;margin-block:16px}
.tools-v47 .t47-band p{font-size:15px;line-height:1.65;color:var(--ink-2);max-width:61ch}
.tools-v47 .t47-band img{width:120px;height:auto;max-height:270px;object-fit:contain;flex:none;filter:drop-shadow(0 12px 18px color-mix(in srgb,var(--ink) 12%,transparent))}
@media(max-width:1000px){.tools-v47 .t47-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tools-v47 .t47-method-grid{gap:28px}.tools-v47 .t47-band{padding:30px}.tools-v47 .t47-band img{width:95px}}
@media(max-width:600px){.tools-v47 .t47-hero{padding-block:36px 30px}.tools-v47 .t47-hero h1{font-size:36px;letter-spacing:-.045em}.tools-v47 .t47-hero .lead{font-size:16px}.tools-v47 .eyebrow{font-size:10px;letter-spacing:.11em}.tools-v47 .t47-discovery{margin-top:22px}.tools-v47 .t47-search-box{gap:8px;padding-inline:12px}.tools-v47 .t47-search-box input{font-size:16px}.tools-v47 .t47-search-box input::placeholder{font-size:13px}.tools-v47 .t47-search-box button{font-size:12px;padding-inline:8px}.tools-v47 .t47-filters{display:grid;grid-template-columns:1fr 1fr}.tools-v47 .t47-filters button{justify-content:space-between;gap:5px;text-align:left;padding:10px;font-size:11px;min-height:46px}.tools-v47 .t47-filters button:first-child{grid-column:1/-1;justify-content:center}.tools-v47 .t47-trust{font-size:11px;gap:9px 12px}.tools-v47 .t47-trust span:nth-child(2){order:2}.tools-v47 .t47-category{padding-block:34px 38px}.tools-v47 .t47-category-head{gap:10px;margin-bottom:20px}.tools-v47 .t47-category h2{font-size:26px}.tools-v47 .t47-category-head p{font-size:14px}.tools-v47 .t47-section-number{display:none}.tools-v47 .t47-grid{grid-template-columns:1fr;gap:12px}.tools-v47 .t47-card{padding:22px}.tools-v47 .t47-card h3{font-size:18px}.tools-v47 .t47-card p{font-size:15px;margin-bottom:20px}.tools-v47 .t47-card-foot{padding-top:3px}.tools-v47 .t47-method{padding-block:38px}.tools-v47 .t47-method-grid{grid-template-columns:1fr;gap:25px}.tools-v47 .t47-note{padding:23px}.tools-v47 .t47-next{padding-bottom:38px}.tools-v47 .t47-band{padding:26px 22px;gap:18px;position:relative;align-items:flex-start}.tools-v47 .t47-band h2{font-size:28px}.tools-v47 .t47-band-copy{max-width:100%}.tools-v47 .t47-band img{position:absolute;right:12px;top:16px;width:51px;max-height:115px;opacity:.22}.tools-v47 .t47-band .btn-row{display:flex;flex-direction:column;align-items:stretch}.tools-v47 .t47-band .btn{width:100%;font-size:13px}.tools-v47 .t47-method .btn{width:100%;font-size:13px}}
@media(prefers-reduced-motion:reduce){.tools-v47 .t47-card,.tools-v47 .t47-filters button{transition:none}.tools-v47 .t47-card:hover{transform:none}}
@media print{.tools-v47 .t47-discovery,.tools-v47 .t47-next,.tools-v47 .example-ticker{display:none!important}.tools-v47 .t47-category{break-inside:avoid}.tools-v47 .t47-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
