/* Keep every belt running while individual tools respond to pointer and keyboard. */
.tool-marquee:hover .tool-belt,.tool-marquee:focus-within .tool-belt{animation-play-state:running}
.tool-marquee{padding-block:12px}
.tool-set{align-items:center}
button.tool{font:700 12px var(--sans);color:#38576d;cursor:pointer;flex-shrink:0;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;transform-origin:center;position:relative}
button.tool:hover,button.tool:focus-visible,button.tool.is-selected{transform:translateY(-2px) scale(1.055);background:#fff;border-color:#92acbd;box-shadow:0 8px 24px #375c7726;z-index:1;color:#183c57}
button.tool:focus-visible{outline:2px solid #426c88;outline-offset:3px}
.tool-info-open{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;border:1px solid #a8bdc9;border-radius:50%;background:transparent;color:#4d6b80;cursor:pointer;transition:background .18s ease,transform .18s ease}
.tool-info-open:hover,.tool-info-open:focus-visible{background:#fff;transform:scale(1.07);color:#203f58}
.tool-info-open .arrow-icon{width:16px;height:16px}
.tool-info-dialog{position:fixed;inset:auto;margin:0;width:320px;max-width:calc(100vw - 24px);padding:23px;border:1px solid #d0e0e8;border-radius:16px;background:#fbfdfe;color:#243f54;box-shadow:0 18px 65px #193c5a2a;overflow:auto;overscroll-behavior:contain;max-height:calc(100dvh - 110px);font-family:var(--sans)}
.tool-info-dialog::backdrop{background:rgba(31,51,70,.035);backdrop-filter:blur(.65px);-webkit-backdrop-filter:blur(.65px)}
.tool-info-dialog[open]{animation:tool-info-in .16s ease-out}
.tool-info-head{display:flex;gap:13px;align-items:center;position:relative;padding-right:22px}
.tool-info-logo{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;background:#edf3f6;border:1px solid #dce8ed;border-radius:11px}
.tool-info-logo img{display:block;width:29px;height:29px;object-fit:contain}
.tool-info-logo .tool-monogram{width:29px;height:29px;font-size:11px}
.tool-info-category{font-size:7px;letter-spacing:.11em;font-weight:700;color:#57758a;margin:0 0 6px;line-height:1.5}
.tool-info-head h3{font:700 20px/1.15 var(--display);letter-spacing:-.04em;margin:0;color:#213f56}
.tool-info-close{position:absolute;right:-10px;top:-12px;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:transparent;font:400 23px/1 var(--sans);color:#5b788a;cursor:pointer}
.tool-info-close:hover{background:#e7eff4;color:#233f53}
#tool-info-description{font-size:12px;line-height:1.8;color:#3f5e73;margin:20px 0 18px;white-space:normal}
.tool-info-footer{border-top:1px solid #d9e5ec;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.tool-info-count{font-size:9px;letter-spacing:.1em;font-weight:700;color:#617d90}
.tool-info-footer>div{display:flex;gap:7px}
.tool-info-footer button{display:grid;place-items:center;width:30px;height:30px;border:1px solid #ccdee9;border-radius:50%;color:#40637b;background:#f0f5f8;cursor:pointer}
.tool-info-footer button:hover{background:#dceaf3}
.tool-info-footer svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tool-info-dialog button:focus-visible,.tool-info-open:focus-visible{outline:2px solid #426c88;outline-offset:3px}
@keyframes tool-info-in{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){button.tool{font-size:12px}.tool-info-dialog{padding:21px;width:304px}.tool-info-category{font-size:7px}.tool-info-head h3{font-size:20px}.tool-marquee{padding-block:11px}}
@media(prefers-reduced-motion:reduce){button.tool,.tool-info-open{transition:none}.tool-info-dialog[open]{animation:none}}
