:root{--ti-blue:#00a0e3;--ti-ink:#2b2a29;--ti-paper:#f5f5f1;--ti-line:rgba(43,42,41,.13);--ti-muted:#656560}.tool-insight-page,.tools-hub-page{color:var(--ti-ink);background:#fff}.ti-hero,.th-hero{margin-top:76px;background:var(--ti-ink);color:#fff;padding:clamp(5rem,9vw,9rem) 0 4.5rem}.ti-kicker,.th-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:#7fd7fb;margin-bottom:1.2rem}.ti-code{font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.48);margin-bottom:1rem}.ti-hero h1,.th-hero h1{font-size:clamp(3.2rem,7vw,7rem);line-height:.92;letter-spacing:-.06em;font-weight:300;max-width:1050px}.th-hero h1 strong{color:var(--ti-blue)}.ti-lead,.th-hero>div>p{font-size:clamp(1rem,1.5vw,1.24rem);line-height:1.8;color:rgba(255,255,255,.68);max-width:900px;margin:2rem 0 0}.ti-hero-aside{border-top:1px solid rgba(255,255,255,.22);padding-top:1.25rem;display:grid;gap:1.2rem}.ti-hero-aside span{color:rgba(255,255,255,.55);font-size:.8rem;line-height:1.7}.ti-hero-aside a{color:#fff;font-weight:800;font-size:.83rem}.ti-section{padding:clamp(5rem,8vw,8rem) 0}.ti-paper{background:var(--ti-paper)}.ti-dark{background:#1d1d1c;color:#fff}.ti-index{font-size:clamp(5rem,10vw,9rem);font-weight:300;line-height:.8;letter-spacing:-.08em;color:rgba(43,42,41,.09)}.ti-dark .ti-index{color:rgba(255,255,255,.08)}.ti-section h2{font-size:clamp(2.3rem,4.6vw,4.8rem);letter-spacing:-.055em;line-height:1;font-weight:300;margin:0 0 2rem;max-width:930px}.ti-copy{font-size:1.03rem;line-height:1.86;color:var(--ti-muted);max-width:890px}.ti-copy.lead-copy{font-size:1.2rem;color:#454542}.ti-copy.light{color:rgba(255,255,255,.69)}.ti-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ti-line);border-bottom:1px solid var(--ti-line);margin-top:3rem}.ti-method-grid article{padding:2rem;border-right:1px solid var(--ti-line)}.ti-method-grid article:last-child{border-right:0}.ti-method-grid span{font-size:.72rem;color:var(--ti-blue);font-weight:800;letter-spacing:.1em}.ti-method-grid h3{font-size:1.2rem;margin:2rem 0 .7rem}.ti-method-grid p{font-size:.9rem;line-height:1.72;color:var(--ti-muted);margin:0}.ti-callout{border-left:4px solid var(--ti-blue);background:var(--ti-paper);padding:1.5rem 1.7rem;display:grid;grid-template-columns:32px 1fr;gap:1rem;margin:2rem 0}.ti-callout i{color:var(--ti-blue);font-size:1.3rem}.ti-callout p{margin:0;color:#555;line-height:1.75}.ti-governance{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);padding:1.7rem 0;margin-top:2.5rem}.ti-governance span{font-weight:700;font-size:.86rem}.ti-governance i{color:var(--ti-blue)}.ti-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ti-line);border-left:1px solid var(--ti-line)}.ti-related-grid a{border-right:1px solid var(--ti-line);border-bottom:1px solid var(--ti-line);padding:1.6rem;position:relative;color:var(--ti-ink);min-height:160px}.ti-related-grid small{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ti-blue);font-weight:800}.ti-related-grid h3{font-size:1.15rem;margin:1.1rem 2rem 0 0}.ti-related-grid i{position:absolute;right:1.5rem;bottom:1.4rem}.ti-related-grid .library{background:var(--ti-paper)}.ti-cta{background:#151514;color:#fff;padding:clamp(5rem,8vw,8rem) 0}.ti-cta h2{font-size:clamp(2.8rem,6vw,6rem);line-height:.96;letter-spacing:-.06em;font-weight:300;max-width:960px}.ti-cta h2 strong{color:var(--ti-blue)}.ti-cta p{color:rgba(255,255,255,.65);font-size:1.05rem;line-height:1.8;max-width:780px;margin-top:1.5rem}
.th-feature{background:var(--ti-paper);padding:0}.th-feature a{display:block;padding:3rem 0;color:var(--ti-ink);position:relative}.th-feature span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ti-blue);font-weight:800}.th-feature h2{font-size:clamp(2rem,4vw,4rem);font-weight:300;letter-spacing:-.045em;margin:.8rem 4rem .8rem 0}.th-feature p{max-width:780px;color:var(--ti-muted);line-height:1.75;margin:0}.th-feature i{position:absolute;right:.5rem;top:50%;font-size:2rem;color:var(--ti-blue)}.th-library{padding:clamp(4rem,7vw,7rem) 0}.th-controls{display:grid;gap:1.5rem;margin-bottom:2rem}.th-controls label{display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--ti-ink);max-width:620px;padding:.8rem 0}.th-controls input{border:0;outline:0;width:100%;font-size:1rem}.th-filters{display:flex;gap:.55rem;flex-wrap:wrap}.th-filters button{border:1px solid var(--ti-line);background:#fff;padding:.55rem .8rem;font-size:.72rem;font-weight:700}.th-filters button.active,.th-filters button:hover{background:var(--ti-ink);color:#fff;border-color:var(--ti-ink)}.th-count{font-size:.8rem;color:var(--ti-muted);margin:2rem 0 1rem}.th-count strong{font-size:1.5rem;color:var(--ti-ink);margin-right:.4rem}.th-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ti-line);border-left:1px solid var(--ti-line)}.th-card{padding:1.8rem;border-right:1px solid var(--ti-line);border-bottom:1px solid var(--ti-line);display:flex;flex-direction:column;min-height:360px}.th-card[hidden]{display:none}.th-card-top{display:flex;justify-content:space-between;gap:.7rem;font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:var(--ti-blue)}.th-card h2{font-size:1.45rem;line-height:1.2;letter-spacing:-.03em;margin:1.5rem 0 1rem}.th-card p{font-size:.86rem;line-height:1.7;color:var(--ti-muted)}.th-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0}.th-tags span{background:var(--ti-paper);padding:.35rem .5rem;font-size:.65rem}.th-card>a{margin-top:auto;font-size:.78rem;font-weight:800;color:var(--ti-ink)}
@media(max-width:991.98px){.ti-method-grid{grid-template-columns:1fr}.ti-method-grid article{border-right:0;border-bottom:1px solid var(--ti-line)}.ti-method-grid article:last-child{border-bottom:0}.th-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767.98px){.ti-hero,.th-hero{margin-top:68px}.ti-related-grid,.th-grid{grid-template-columns:1fr}.th-card{min-height:300px}.th-feature i{display:none}.th-feature h2{margin-right:0}}

/* v2.8.1 — academic/technical depth for the tools knowledge base */
.ti-question{margin:2.2rem 0;padding:2rem 2.1rem;border-left:4px solid var(--ti-blue);background:var(--ti-paper);font-style:normal}
.ti-question span{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--ti-blue);margin-bottom:.8rem}
.ti-question p{margin:0;font-size:clamp(1.2rem,2.2vw,1.75rem);line-height:1.48;letter-spacing:-.02em;color:var(--ti-ink)}
.ti-example{margin-top:2.2rem;border-top:1px solid var(--ti-line);border-bottom:1px solid var(--ti-line);display:grid;grid-template-columns:84px 1fr;gap:1.5rem;padding:2rem 0}
.ti-example-mark{width:64px;height:64px;display:grid;place-items:center;background:var(--ti-ink);color:#fff;font-size:1.5rem}
.ti-example p{font-size:clamp(1.12rem,1.7vw,1.35rem);line-height:1.75;margin:0;color:var(--ti-ink)}
.ti-example small{display:block;margin-top:1rem;color:var(--ti-muted);line-height:1.65;max-width:850px}
.ti-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ti-line);border-left:1px solid var(--ti-line);margin:2.2rem 0}
.ti-metric{min-height:104px;border-right:1px solid var(--ti-line);border-bottom:1px solid var(--ti-line);padding:1.25rem 1.4rem;display:flex;align-items:flex-start;gap:1rem;background:#fff}
.ti-metric span{font-size:.65rem;letter-spacing:.1em;color:var(--ti-blue);font-weight:800;padding-top:.2rem}
.ti-metric strong{font-size:.96rem;line-height:1.55;font-weight:700}
.ti-validation{display:grid;grid-template-columns:44px 1fr;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--ti-line)}
.ti-validation>i{font-size:1.55rem;color:var(--ti-blue)}
.ti-validation strong{display:block;font-size:1.05rem;margin-bottom:.45rem}
.ti-validation p{margin:0;color:var(--ti-muted);line-height:1.72}
.ti-dark-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:2.2rem 0 2.5rem;border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}
.ti-dark-grid article{padding:1.6rem;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);min-height:230px}
.ti-dark-grid small{display:block;text-transform:uppercase;letter-spacing:.12em;color:#7fd7fb;font-weight:800;font-size:.63rem;margin-bottom:1.2rem}
.ti-dark-grid p{margin:0;color:rgba(255,255,255,.72);line-height:1.75;font-size:.93rem}
.ti-reference-list{margin-top:2.3rem;border-top:1px solid var(--ti-line)}
.ti-reference{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:1.35rem 0;border-bottom:1px solid var(--ti-line)}
.ti-reference span{display:block;font-size:.61rem;letter-spacing:.1em;color:var(--ti-blue);font-weight:800;margin-bottom:.45rem}
.ti-reference p{margin:0;line-height:1.65;color:#4c4c48;font-size:.91rem}
.ti-reference a{white-space:nowrap;font-size:.74rem;font-weight:800;color:var(--ti-ink)}
.ti-reference a:hover{color:var(--ti-blue)}
.ti-related-section{padding-top:4rem}
@media(max-width:991.98px){.ti-dark-grid{grid-template-columns:1fr}.ti-dark-grid article{min-height:auto}.ti-metrics-grid{grid-template-columns:1fr}}
@media(max-width:767.98px){.ti-question{padding:1.5rem}.ti-example{grid-template-columns:1fr}.ti-reference{grid-template-columns:1fr}.ti-reference a{justify-self:start}}
