.tm-tools-hub{--hub-blue:#1677ff;--hub-blue-dark:#0b57d0;--hub-text:var(--text,#172434);--hub-muted:var(--muted,#617083);--hub-card:var(--card,#fff);--hub-line:rgba(116,146,174,.22);max-width:1180px;margin:0 auto;padding:28px 18px 68px;color:var(--hub-text)}
.tm-tools-hub *{box-sizing:border-box}.tm-tools-hub [hidden]{display:none!important}.tm-tools-hub a{text-decoration:none}.tm-tools-hub h1,.tm-tools-hub h2,.tm-tools-hub h3{letter-spacing:-.02em;color:var(--hub-text)}.tm-tools-hub h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2;margin:0 0 12px}.tm-tools-hub p{line-height:1.75}.tm-tools-hub :is(a,button,input,summary):focus-visible{outline:3px solid rgba(22,119,255,.22);outline-offset:3px}
.tm-hub-eyebrow{font-size:.77rem;line-height:1.2;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--hub-blue-dark);margin-bottom:9px}.tm-hub-hero{padding:clamp(24px,4vw,42px);border:1px solid rgba(64,135,207,.2);border-radius:22px;background:radial-gradient(circle at 92% 10%,rgba(22,119,255,.12),transparent 35%),linear-gradient(135deg,rgba(22,119,255,.09),rgba(52,211,153,.05));box-shadow:0 16px 42px rgba(22,48,78,.05);margin-bottom:26px}.tm-hub-hero h1{font-size:clamp(2.15rem,5vw,3.6rem);line-height:1.05;margin:0 0 15px;max-width:980px}.tm-hub-lead{max-width:940px;margin:0;color:var(--hub-muted);font-size:1.04rem}.tm-hub-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.tm-hub-stats span{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border:1px solid rgba(22,119,255,.16);border-radius:999px;background:rgba(255,255,255,.76);color:#40546a;font-size:.88rem}.tm-hub-stats strong{color:var(--hub-blue-dark)}
.tm-hub-search-section,.tm-hub-groups,.tm-hub-directory,.tm-hub-guide,.tm-hub-faq{margin-top:28px;padding:clamp(22px,3.5vw,36px);border:1px solid var(--hub-line);border-radius:20px;background:var(--hub-card);box-shadow:0 10px 30px rgba(25,55,85,.045)}.tm-hub-section-head{margin-bottom:20px}.tm-hub-section-head>p{margin:0;color:var(--hub-muted);max-width:880px}.tm-hub-search-shell{padding:14px;border:1px solid rgba(22,119,255,.18);border-radius:16px;background:linear-gradient(180deg,rgba(22,119,255,.045),rgba(22,119,255,.015))}.tm-hub-search-label{display:block;font-size:.82rem;font-weight:800;margin:0 0 8px;color:#41566c}.tm-hub-search-control{position:relative;display:flex;align-items:center}.tm-hub-search-icon{position:absolute;left:14px;color:#75879b;pointer-events:none}.tm-hub-search-control input{width:100%;min-height:52px;padding:12px 84px 12px 44px;border:1px solid #cbd7e5;border-radius:12px;background:#fff;color:#172434;font:inherit;outline:none;box-shadow:0 2px 6px rgba(30,60,90,.03)}.tm-hub-search-control input:focus{border-color:#74adf7;box-shadow:0 0 0 4px rgba(22,119,255,.12)}.tm-hub-clear{position:absolute;right:7px;border:0;border-radius:9px;padding:8px 10px;background:#edf5ff;color:#0b57d0;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer}.tm-hub-clear:hover{background:#dcecff}.tm-hub-search-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:9px;color:var(--hub-muted);font-size:.84rem}.tm-hub-search-meta [data-result-count]{font-weight:750;color:#42566c}
.tm-hub-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tm-hub-group-card{display:flex;flex-direction:column;min-width:0;min-height:215px;padding:20px;border:1px solid var(--hub-line);border-radius:16px;background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(238,246,255,.7));color:var(--hub-text);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.tm-hub-group-card:hover{transform:translateY(-3px);border-color:rgba(22,119,255,.46);box-shadow:0 12px 28px rgba(22,73,125,.08)}.tm-hub-group-kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--hub-blue-dark);margin-bottom:9px}.tm-hub-group-card strong{font-size:1.1rem;line-height:1.3;margin-bottom:8px}.tm-hub-group-description{color:var(--hub-muted);font-size:.9rem;line-height:1.55}.tm-hub-group-topics{margin-top:12px;color:#50657a;font-size:.8rem;line-height:1.45}.tm-hub-group-card em{margin-top:auto;padding-top:15px;color:var(--hub-blue-dark);font-size:.86rem;font-style:normal;font-weight:800}.tm-hub-group-card em span{display:inline-block;transition:transform .16s ease}.tm-hub-group-card:hover em span{transform:translateX(3px)}
.tm-hub-directory-groups{display:grid;gap:24px}.tm-hub-group-section{padding-top:26px;border-top:1px solid var(--hub-line)}.tm-hub-group-section:first-child{padding-top:0;border-top:0}.tm-hub-group-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:14px}.tm-hub-group-section-head h3{font-size:clamp(1.2rem,2vw,1.5rem);margin:0 0 6px}.tm-hub-group-section-head h3 a:hover{color:var(--hub-blue-dark)}.tm-hub-group-section-head p{margin:0;color:var(--hub-muted);max-width:760px;font-size:.92rem}.tm-hub-group-section-meta{flex:0 0 auto;display:flex;align-items:center;gap:12px;color:var(--hub-muted);font-size:.83rem}.tm-hub-group-section-meta strong{color:var(--hub-text)}.tm-hub-group-section-meta>a{color:var(--hub-blue-dark);font-weight:800}.tm-hub-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tm-hub-tool-card{display:flex;flex-direction:column;min-width:0;padding:17px;border:1px solid var(--hub-line);border-radius:14px;background:#fff;color:var(--hub-text);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.tm-hub-tool-card:hover{transform:translateY(-2px);border-color:rgba(22,119,255,.45);box-shadow:0 9px 22px rgba(22,73,125,.07)}.tm-hub-tool-card strong{font-size:.97rem;line-height:1.35;margin-bottom:7px}.tm-hub-tool-card>span{color:var(--hub-muted);font-size:.87rem;line-height:1.52;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tm-hub-tool-card em{margin-top:auto;padding-top:12px;color:var(--hub-blue-dark);font-style:normal;font-size:.83rem;font-weight:800}.tm-hub-no-results{margin-top:18px;padding:28px;text-align:center;border:1px dashed #b8c8d9;border-radius:14px;background:rgba(247,250,253,.72);color:var(--hub-muted)}.tm-hub-no-results strong{display:block;color:var(--hub-text);margin-bottom:5px}.tm-hub-no-results button{margin-top:14px;padding:9px 13px;border:1px solid rgba(22,119,255,.22);border-radius:10px;background:#edf5ff;color:var(--hub-blue-dark);font:inherit;font-weight:800;cursor:pointer}
.tm-hub-guide-intro{max-width:940px}.tm-hub-seo-section{max-width:940px;padding:27px 0;border-top:1px solid var(--hub-line)}.tm-hub-seo-section:first-of-type{border-top:0;padding-top:2px}.tm-hub-seo-section p{margin:0 0 15px;color:var(--hub-muted);font-size:1rem}.tm-hub-seo-section a{color:var(--hub-blue-dark);font-weight:750;text-decoration:underline;text-decoration-color:rgba(11,87,208,.28);text-underline-offset:3px}.tm-hub-seo-section a:hover{text-decoration-color:currentColor}.tm-hub-faq-list{display:grid;gap:10px}.tm-hub-faq-list details{border:1px solid var(--hub-line);border-radius:13px;background:rgba(248,251,254,.72);overflow:hidden}.tm-hub-faq-list summary{cursor:pointer;font-weight:800;padding:16px 46px 16px 16px;position:relative}.tm-hub-faq-list summary::after{content:'+';position:absolute;right:17px;top:13px;font-size:1.35rem;color:var(--hub-blue-dark)}.tm-hub-faq-list details[open] summary::after{content:'−'}.tm-hub-faq-list p{margin:0;padding:0 16px 17px;color:var(--hub-muted)}
@media(max-width:980px){.tm-hub-group-grid,.tm-hub-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-hub-group-section-head{align-items:flex-start;flex-direction:column}.tm-hub-group-section-meta{width:100%;justify-content:space-between}}
@media(max-width:640px){.tm-tools-hub{padding:20px 13px 48px}.tm-hub-hero,.tm-hub-search-section,.tm-hub-groups,.tm-hub-directory,.tm-hub-guide,.tm-hub-faq{border-radius:16px;padding:20px 17px}.tm-hub-stats{gap:7px}.tm-hub-stats span{font-size:.8rem}.tm-hub-group-grid,.tm-hub-tool-grid{grid-template-columns:1fr}.tm-hub-group-card{min-height:0}.tm-hub-search-control input{min-height:48px;padding-right:75px}.tm-hub-search-meta{display:block}.tm-hub-search-meta span{display:block;margin-top:4px}.tm-hub-group-section-meta{align-items:flex-start;flex-direction:column;gap:5px}.tm-hub-seo-section{padding:22px 0}}
