/* Shared tools components (.tl-*), spec T1. Whole file <= 8 KB; page extras inline */
.tl-wrap,.tl-hero-in{max-width:1080px;margin:0 auto;padding:0 16px}
.tl-hero{overflow:hidden;border-bottom:1px solid var(--border2);background:radial-gradient(100% 130% at 50% 0%,#0f1a14,var(--bg) 60%)}
.tl-hero-in{padding:34px 16px 28px}
.tl-crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:16px}
.tl-crumbs a{color:inherit;text-decoration:none}
.tl-crumbs [aria-current]{color:var(--green)}
.tl-hero-row{display:flex;align-items:flex-start;gap:16px 18px;flex-wrap:wrap}
.tl-hero-txt{flex:1 1 100%;min-width:0}
.tl-hero h1,.tl-card-name,.tl-h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.015em;margin:0}
.tl-hero h1{font-size:clamp(30px,4.6vw,48px);line-height:1.08}
.tl-lead{font-size:16px;line-height:1.6;color:var(--muted);max-width:640px;margin:12px 0 0}
.tl-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.tl-chip{padding:4px 11px;border-radius:99px;border:1px solid var(--border2);font-size:12px;color:var(--muted);white-space:nowrap}
.tl-chip b,.tl-go,.tl-more,.tl-faq-a a{color:var(--green)}
.tl-crumbs,.tl-chip,.tl-badge,.tl-num,.tl-steps>li::before,.tl-faq summary::after,.tl-table th,.tl-mono{font-family:var(--font-mono)}
.tl-ico{--a:var(--tl-accent,var(--green));flex:none;width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(150deg,var(--a),#000 170%);box-shadow:0 12px 30px -16px var(--a);color:#06120c;font-size:27px}
.tl-card,.tl-link,.tl-faq details,.tl-steps>li{background:var(--surface);border:1px solid var(--border2);color:var(--text);text-decoration:none}
.tl-grid,.tl-links,.tl-faq,.tl-steps{display:grid;gap:12px}
.tl-card{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding:22px 20px 20px;border-radius:22px;overflow:hidden;transition:.2s}
.tl-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--tl-accent,var(--green))}
a.tl-card:hover,.tl-link:hover{border-color:rgba(52,226,155,.4)}
a.tl-card:hover{transform:translateY(-3px);box-shadow:0 22px 48px -26px #000}
.tl-card-top{display:flex;align-items:flex-start;justify-content:space-between}
.tl-card-name{font-size:19px;line-height:1.25;margin-top:4px}
.tl-card p{font-size:14px;line-height:1.55;color:var(--muted);margin:0;flex:1}
.tl-badge{padding:4px 10px;border-radius:99px;background:rgba(52,226,155,.14);border:1px solid var(--border);color:var(--green);font-size:11px;font-weight:700}
.tl-go{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700}
.tl-go i{font-size:18px;transition:.2s}
a.tl-card:hover .tl-go i{transform:translateX(3px)}
.tl-card.is-soon{border-style:dashed;background:none}
.is-soon .tl-ico{filter:grayscale(.7);opacity:.7}
.is-soon .tl-badge,.is-soon .tl-go{color:var(--muted);border-color:var(--border2);background:none}
.tl-sec{padding:28px 0 8px}
.tl-sec-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;margin-bottom:16px}
.tl-h2{font-size:22px;line-height:1.2}
.tl-sub,.tl-card p,.tl-faq-a,.tl-link small{color:var(--muted)}
.tl-sub{font-size:14px;margin:0}
.tl-more{font-size:14px;font-weight:600;text-decoration:none}
.tl-links{margin-top:16px}
.tl-link{display:flex;align-items:center;gap:12px;min-width:0;min-height:44px;padding:12px 14px;border-radius:14px;font-size:14px;font-weight:600;transition:.15s}
.tl-link>i{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--surface2);color:var(--green);font-size:20px}
.tl-link small{display:block;margin-top:2px;font-size:12.5px;font-weight:400}
.tl-input{width:100%;min-height:46px;padding:11px 14px;border-radius:12px;background:var(--bg2);border:1px solid var(--border2);color:var(--text);font:16px var(--font-body);outline:0;appearance:none}
.tl-input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(52,226,155,.25)}
.tl-input[aria-invalid=true]{border-color:#ff6b5a}
.tl-seg{display:inline-flex;max-width:100%;overflow-x:auto;gap:4px;padding:4px;border-radius:13px;background:var(--bg2);border:1px solid var(--border2)}
.tl-seg input{position:absolute;opacity:0}
.tl-seg button,.tl-seg label{min-height:44px;padding:8px 14px;border:0;border-radius:9px;background:none;color:var(--muted);font:600 14px var(--font-body);white-space:nowrap;cursor:pointer}
.tl-seg [aria-pressed=true],.tl-seg :checked+label{background:var(--surface2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}
.tl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 20px;border:0;border-radius:12px;background:linear-gradient(140deg,var(--green-bright),var(--green));color:#06120c;font:700 14px var(--font-body);text-decoration:none;cursor:pointer}
.tl-btn:hover{filter:brightness(1.06)}
.tl-btn:disabled{opacity:.5;cursor:not-allowed}
.tl-btn-ghost{background:var(--surface2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border2)}
:where(.tl-btn,.tl-card,.tl-link,.tl-seg button,.tl-faq summary,.tl-crumbs a):focus-visible,.tl-seg :focus-visible+label{outline:2px solid var(--green);outline-offset:2px}
.tl-result{padding:20px;border-radius:18px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(52,226,155,.09),transparent)}
.tl-num{font-weight:700;font-size:clamp(26px,6vw,38px);line-height:1.1;color:var(--green);overflow-wrap:anywhere}
.tl-num small{font-size:.45em;color:var(--muted)}
.tl-steps{list-style:none;counter-reset:tl;margin:0;padding:0}
.tl-steps>li{counter-increment:tl;position:relative;padding:12px 14px 12px 52px;border-radius:14px;line-height:1.55}
.tl-steps>li::before{content:counter(tl);position:absolute;left:12px;top:11px;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(52,226,155,.12);color:var(--green);font-size:13px}
.tl-faq details{border-radius:16px}
.tl-faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:12px 18px;font-weight:700;cursor:pointer;list-style:none}
.tl-faq summary::-webkit-details-marker{display:none}
.tl-faq summary::after{content:"+";font-size:20px;color:var(--green);transition:.2s}
.tl-faq [open] summary::after{transform:rotate(45deg)}
.tl-faq-a{padding:0 18px 16px;font-size:14.5px;line-height:1.65}
.tl-scroll{overflow-x:auto;border-radius:16px;border:1px solid var(--border2)}
.tl-table{width:100%;min-width:460px;border-collapse:collapse;font-size:14px}
.tl-table th,.tl-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border2)}
.tl-table th{background:var(--surface2);font-size:11.5px;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.tl-table tr:last-child td{border:0}
.tl-panel{position:relative;padding:18px;border-radius:22px;background:var(--surface);border:1px solid var(--border2)}
.tl-prose{max-width:800px}.tl-prose :is(p,li){font-size:15.5px;line-height:1.75;color:var(--muted)}.tl-prose strong{color:var(--text)}.tl-prose a{color:var(--green)}
.tl-prose h3{font:700 17px var(--font-display);margin:22px 0 4px}.tl-prose ul{padding-left:20px}
.tl-toast{position:fixed;left:50%;bottom:96px;z-index:1000;max-width:90vw;padding:11px 18px;border-radius:12px;background:var(--surface2);border:1px solid var(--border);font-weight:600;box-shadow:0 18px 40px -18px #000;opacity:0;pointer-events:none;transform:translate(-50%,16px);transition:.2s}
.tl-toast.is-on{opacity:1;transform:translate(-50%,0)}
@media(min-width:600px){.tl-wrap{padding:0 24px}.tl-panel{padding:24px}.tl-hero-in{padding:48px 24px 34px}.tl-hero-txt{flex-basis:0}.tl-ico-lg{width:68px;height:68px;border-radius:19px;font-size:36px}.tl-lead{font-size:17px}.tl-links,.tl-grid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.tl-grid{grid-template-columns:repeat(3,1fr);gap:20px}.tl-links{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.tl-toast{bottom:24px}}
@media(prefers-reduced-motion:reduce){.tl-card,.tl-go i,.tl-toast,.tl-faq summary::after{transition:none}a.tl-card:hover{transform:none}}
