.s-tools{position:relative;background:var(--ink-2);color:var(--stone);padding:clamp(110px, 13vw, 200px) var(--edge);overflow-x:clip}.s-tools .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.s-tools .tl-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px, 3vw, 56px);align-items:end}.s-tools h2{display:flex;align-items:flex-end;gap:clamp(14px, 1.6vw, 28px)}.s-tools .tl-n{font-size:2.3em;line-height:.78;color:var(--signal);font-variation-settings:"wdth" 62}.s-tools .tl-w{padding-bottom:.1em}.s-tools h2 .o{font-variation-settings:"wdth" 100;font-weight:500;letter-spacing:-.035em;color:var(--mist)}.s-tools .tl-head p{justify-self:end;max-width:25em;color:var(--mist);margin:0 0 .6em;font-size:17px}.s-tools .tl-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:clamp(44px, 5vw, 80px) 0 18px}.s-tools .tl-filters{display:inline-flex;border:1px solid var(--line);border-radius:12px;padding:4px;gap:2px;background:rgba(var(--ink-rgb),.5)}.s-tools .tl-filters button{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:500 15px/1 var(--body);color:var(--mist);background:#fff0;border:0;border-radius:9px;padding:0 16px;cursor:pointer;transition:color .25s,background-color .25s}.s-tools .tl-filters button b{font:500 12px/1 var(--mono);font-variant-numeric:tabular-nums;color:var(--mist);transition:color .25s}.s-tools .tl-filters button:hover{color:var(--stone);background:rgba(var(--stone-rgb),.07)}.s-tools .tl-filters button:hover b{color:var(--mist)}.s-tools .tl-filters button[aria-pressed="true"],.s-tools .tl-filters button[aria-pressed="true"]:hover{background:var(--stone);color:var(--ink)}.s-tools .tl-filters button[aria-pressed="true"] b{color:var(--ink);opacity:.7}.s-tools .tl-filters button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.s-tools .tl-filters button:active{transform:translateY(1px)}.s-tools .tl-count{margin:0;font:400 13px var(--mono);color:var(--mist);font-variant-numeric:tabular-nums}.s-tools .tl-count b{color:var(--stone);font-weight:500}.s-tools .tl-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(118px,auto);grid-auto-flow:row dense;gap:12px}.s-tools .tl-feat{display:contents}.s-tools .tl{grid-column:span 3;position:relative;border-radius:14px;background:var(--ink);border:1px solid var(--line);padding:20px 20px 18px;display:flex;flex-direction:column;transition:border-color .3s,background-color .3s,transform .5s var(--ease)}.s-tools .tl.w4{grid-column:span 4}.s-tools .tl.w6{grid-column:span 6}.s-tools .tl.hero{grid-column:span 7;grid-row:span 4;padding:clamp(24px, 2.4vw, 36px)}.s-tools .tl.sch,.s-tools .tl.llm{grid-column:span 5;grid-row:span 2}.s-tools .tl.ext{grid-column:span 8;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:28px;align-items:end}.s-tools .tl.off{display:none}.s-tools .tl-top{display:flex;align-items:center;gap:10px;font:400 12px var(--mono);color:var(--mist)}.s-tools .tl-top svg{width:16px;height:16px;flex:none;color:var(--slate);transition:color .3s}.s-tools .tl h3{font:600 clamp(17px, 1.3vw, 20px)/1.22 var(--body);letter-spacing:-.015em;margin:auto 0 6px;padding-top:18px}.s-tools .tl.hero h3{font-size:clamp(26px, 2.4vw, 40px);letter-spacing:-.025em;margin:18px 0 8px;padding:0}.s-tools .tl.sch h3,.s-tools .tl.llm h3{font-size:clamp(20px, 1.6vw, 25px);margin:14px 0 6px;padding:0}.s-tools .tl h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}.s-tools .tl h3 a:focus-visible{outline:none}.s-tools .tl:has(h3 a:focus-visible){outline:2px solid var(--signal);outline-offset:3px}.s-tools .tl p{margin:0;font-size:15px;line-height:1.5;color:var(--mist);max-width:30em}.s-tools .tl-go{display:flex;align-items:center;gap:10px;margin-top:14px;font:400 12px var(--mono);color:var(--mist);transition:color .3s;overflow:hidden}.s-tools .tl-go::after{content:"";flex:none;width:18px;height:1px;background:currentColor;transition:width .5s var(--ease)}.s-tools .tl:hover{border-color:rgba(var(--stone-rgb),.34);background:rgba(var(--ink-rgb),.7)}.s-tools .tl:hover .tl-go,.s-tools .tl:has(a:focus-visible) .tl-go{color:var(--signal)}.s-tools .tl:hover .tl-go::after{width:44px}.s-tools .tl:hover .tl-top svg{color:var(--signal)}.s-tools .tl:active{transform:scale(.992)}.s-tools .pv{margin-top:auto;padding-top:18px}.s-tools .pv-box{position:relative;border-radius:12px;background:var(--ink-2);border:1px solid var(--line);font:400 13px/1.5 var(--mono);font-variant-numeric:tabular-nums;font-variant-ligatures:none;color:var(--stone);overflow:hidden}.s-tools .pv-lab{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:12px;color:var(--mist)}.s-tools .pv-lab span:last-child{color:var(--mist)}.s-tools .rb{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line)}.s-tools .rb.th{color:var(--mist);font-size:12px;padding-block:8px}.s-tools .rb .pu{color:var(--mist)}.s-tools .rule{font-size:12px;font-weight:500;padding:3px 9px;border-radius:6px;background:rgba(var(--stone-rgb),.1)}.s-tools .rule.no{background:var(--signal);color:var(--ink)}.s-tools .rb-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 14px;font-size:12px;color:var(--mist)}.s-tools .rb-foot code{font:inherit;color:var(--stone)}.s-tools .code{margin:0;padding:12px 14px;white-space:pre;font:inherit;font-size:12.5px;line-height:1.7;overflow:hidden}.s-tools .code .k{color:var(--mist)}.s-tools .code .p{color:var(--mist)}.s-tools .code .h{color:var(--signal)}.s-tools .code .ln{display:block}.s-tools .res{display:flex;gap:14px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line);font-size:12px;color:var(--mist)}.s-tools .res i{font-style:normal;color:var(--stone)}.s-tools .res i.w{color:var(--signal)}.s-tools .pass{display:flex;gap:4px;align-items:stretch;height:54px}.s-tools .pass i{flex:var(--f,1);border-radius:4px;background:rgba(var(--stone-rgb),.09)}.s-tools .pass i.q{background:var(--stone)}.s-tools .ext .pv{padding:0}.s-tools .ext .pv-lab{border:0;padding:0 0 10px}.s-tools .st{margin-top:26px;font:400 12.5px/1.4 var(--mono);color:var(--mist)}.s-tools .st-lab{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:12px}.s-tools .st-lab span:last-child{color:var(--mist)}.s-tools .st-row{display:grid;grid-template-columns:130px minmax(0,1fr) 28px;gap:12px;align-items:center;padding:4px 0}.s-tools .st-row i{height:10px;border-radius:2px;background:var(--signal);transform-origin:left;transform:scaleX(calc(var(--v) / 80))}.s-tools .st-row.r i{background:rgba(var(--stone-rgb),.55)}.s-tools .st-row b{font-weight:500;color:var(--stone);text-align:right;font-variant-numeric:tabular-nums}.s-tools .st-note{margin:12px 0 0;font:400 14px/1.5 var(--body);color:var(--mist);max-width:36em}.s-tools .run .st-row i{animation:tl-grow 1s var(--ease) both}@keyframes tl-grow{from{transform:scaleX(0)}}.s-tools .run .rb:not(.th){animation:tl-row .9s var(--ease) both;animation-delay:calc(var(--i) * .12s)}.s-tools .run .code .ln{animation:tl-type .6s steps(18) both;animation-delay:calc(var(--i) * .1s)}.s-tools .run .pass i{animation:tl-bar .7s var(--ease) both;animation-delay:calc(var(--i) * .05s)}@keyframes tl-row{0%{background:rgb(245 132 39 / .16);opacity:.2}60%{background:rgb(245 132 39 / .08);opacity:1}100%{background:#fff0;opacity:1}}@keyframes tl-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes tl-bar{from{transform:scaleY(.15)}to{transform:none}}.s-tools .tl-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px;color:var(--mist);font-size:15px}.s-tools .tl-foot a{color:var(--stone);font-weight:600;border-bottom:1px solid var(--signal);padding-bottom:3px}.s-tools .tl-foot a:hover{color:var(--signal)}.s-tools .tl-grid.f{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-auto-rows:auto}.s-tools .tl-grid.f .tl{grid-column:span 1;grid-row:auto}.s-tools .tl-grid.f .tl.hero,.s-tools .tl-grid.f .tl.sch,.s-tools .tl-grid.f .tl.llm,.s-tools .tl-grid.f .tl.ext{grid-column:span 2}.s-tools .tl-grid.f .tl.ext{display:flex}@media (max-width:1100px){.s-tools .tl-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.s-tools .tl,.s-tools .tl.w4,.s-tools .tl.w6{grid-column:span 3}.s-tools .tl.hero,.s-tools .tl.ext{grid-column:span 6;grid-row:auto}.s-tools .tl.sch,.s-tools .tl.llm{grid-column:span 3;grid-row:auto}}@media (max-width:760px){.s-tools .st{display:none}.s-tools .tl-head{grid-template-columns:1fr}.s-tools .tl-head p{justify-self:start}.s-tools .tl-bar{margin-inline:calc(var(--edge) * -1);padding-inline:var(--edge)}.s-tools .tl-filters{max-width:100%;overflow-x:auto;scrollbar-width:none}.s-tools .tl-filters button{flex:none}.s-tools .tl-grid,.s-tools .tl-grid.f{display:block}.s-tools .tl-feat{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--edge) * -1) 28px;padding:0 var(--edge) 6px;scroll-padding-inline:var(--edge);scrollbar-width:none}.s-tools .tl-feat.empty{display:none}.s-tools .tl-feat .tl{flex:0 0 84%;scroll-snap-align:start;min-height:0}.s-tools .tl-feat .tl.off{display:none}.s-tools .tl.ext{display:flex}.s-tools .tl.hero h3{font-size:26px}.s-tools .rb{grid-template-columns:minmax(0,1.3fr) auto}.s-tools .rb .pu{display:none}.s-tools .tl-grid>.tl{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;min-height:64px;padding:14px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none}.s-tools .tl-grid>.tl.off{display:none}.s-tools .tl-grid>.tl .tl-top{grid-column:1;grid-row:2}.s-tools .tl-grid>.tl .tl-top svg{display:none}.s-tools .tl-grid>.tl h3{grid-column:1;grid-row:1;margin:0;padding:0;font-size:17px}.s-tools .tl-grid>.tl p{display:none}.s-tools .tl-grid>.tl .tl-go{grid-column:2;grid-row:1 / 3;margin:0;font-size:0}.s-tools .tl-grid>.tl .tl-go::after{width:22px;height:2px}.s-tools .tl-grid>.tl:active{background:rgba(var(--stone-rgb),.05);transform:none}}@media (prefers-reduced-motion:reduce){.s-tools *,.s-tools .run *{animation:none!important;transition-duration:.01s!important}}