.tlab{--paper:#ffffff;--ink:#0b1210;--ink-2:#57635e;--hairline:#e5eae7;--wash:#f7faf8;--accent:#0b9e4e;--accent-deep:#087a3c;background:var(--paper);color:var(--ink);padding-top:calc(var(--banner-h, 0px) + 96px);min-height:60vh}.tlab ::selection{background:rgba(11,158,78,.16)}.tlab .t-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.tlab .t-h1{font-family:var(--font-sans);font-weight:600;letter-spacing:-.03em;line-height:1.02;font-size:clamp(40px,6vw,64px);color:var(--ink)}.tlab .t-sub{font-size:16px;line-height:1.65;color:var(--ink-2);max-width:44rem}.tlab .t-h2{font-family:var(--font-sans);font-weight:600;letter-spacing:-.01em;font-size:19px;color:var(--ink)}.tlab .t-formula{font-family:var(--font-serif);font-style:italic;font-size:17px;line-height:1.5;color:var(--ink-2)}.tlab .t-formula b{color:var(--ink);font-weight:400}.tlab .t-body{font-size:15px;line-height:1.7;color:var(--ink-2)}.tlab .t-body h2{margin-top:2.2em}.tlab .t-body p+p{margin-top:1em}.tlab .t-body strong{color:var(--ink);font-weight:600}.tlab .t-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tlab .t-card{border:1px solid var(--hairline);border-top:2px solid var(--accent);background:var(--wash);border-radius:10px;padding:26px 24px 24px}.tlab .t-card label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:7px}.tlab .t-card input[type=number]{width:100%;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:17px;color:var(--ink);background:var(--paper);border:1px solid var(--hairline);border-radius:8px;padding:10px 12px;transition:border-color .14s ease,box-shadow .14s ease}.tlab .t-card input[type=number]:hover{border-color:#cdd7d1}.tlab .t-card input[type=number]:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(11,158,78,.14)}.tlab .t-card .t-help{font-size:12px;line-height:1.5;color:var(--ink-2);margin-top:6px}.tlab .t-result{background:var(--paper);border:1px solid var(--hairline);border-radius:8px;padding:18px 20px}.tlab .t-result-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.tlab .t-result-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;font-size:clamp(34px,4.6vw,48px);line-height:1.1;color:var(--ink);display:inline-block;position:relative}.tlab .t-result-value:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--accent);transform-origin:left center}.tlab .t-result-sub{font-size:13px;color:var(--ink-2);margin-top:10px;line-height:1.6}.tlab .t-note{font-size:14px;line-height:1.6;color:var(--ink);background:var(--paper);border:1px dashed #cdd7d1;border-radius:8px;padding:14px 16px}.tlab table{width:100%;border-collapse:collapse}.tlab thead th{text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--ink-2);padding:8px 10px 8px 0}.tlab tbody td,.tlab thead th{font-family:var(--font-mono);border-bottom:1px solid var(--hairline)}.tlab tbody td{font-variant-numeric:tabular-nums;font-size:14px;color:var(--ink);padding:9px 10px 9px 0}.tlab tbody tr:last-child td{border-bottom:none}.tlab .t-btn{display:inline-block;font-family:var(--font-sans);font-weight:600;font-size:14px;color:var(--paper);background:var(--ink);border:1px solid var(--ink);border-radius:999px;padding:11px 22px;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.tlab .t-btn:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.tlab .t-btn:active{transform:scale(.98)}.tlab .t-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tlab .t-link{color:var(--ink);text-decoration:underline;text-decoration-color:#b9c6bf;text-underline-offset:3px;transition:text-decoration-color .14s ease,color .14s ease}.tlab .t-link:hover{color:var(--accent-deep);text-decoration-color:var(--accent)}.tlab .t-meta{border-top:1px solid var(--hairline);padding-top:14px;font-size:13px;line-height:1.65;color:var(--ink-2)}.tlab .t-meta strong{color:var(--ink)}.tlab .t-grid{display:grid;gap:14px;grid-template-columns:1fr}@media (min-width:640px){.tlab .t-grid{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.tlab .t-grid{grid-template-columns:1fr 1fr 1fr}}.tlab .t-tile{display:flex;flex-direction:column;border:1px solid var(--hairline);border-radius:10px;background:var(--paper);padding:22px 22px 18px;min-height:220px;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.tlab .t-tile:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 30px -18px rgba(11,46,30,.25)}.tlab .t-tile:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tlab .t-tile h2{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.tlab .t-tile p{font-size:13.5px;line-height:1.6;color:var(--ink-2);margin-top:8px}.tlab .t-tile .t-formula{font-size:14.5px;margin-top:auto;padding-top:16px}.tlab .t-tile .t-go{font-family:var(--font-mono);font-size:12px;color:var(--ink-2);margin-top:10px;transition:color .16s ease,transform .16s ease}.tlab .t-tile:hover .t-go{color:var(--accent-deep);transform:translateX(3px)}@media (prefers-reduced-motion:no-preference){.tlab [data-rise]{opacity:0;transform:translateY(10px);animation:tlab-rise .46s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--rise-i, 0) * 90ms)}@keyframes tlab-rise{to{opacity:1;transform:translateY(0)}}.tlab .t-result-value{animation:tlab-in .2s ease-out}.tlab .t-result-value:after{animation:tlab-draw .34s cubic-bezier(.16,1,.3,1) 80ms backwards}@keyframes tlab-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes tlab-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tlab .t-spark path,.tlab .t-spark polyline{stroke-dasharray:1200;stroke-dashoffset:1200;animation:tlab-stroke .7s cubic-bezier(.33,1,.68,1) forwards}@keyframes tlab-stroke{to{stroke-dashoffset:0}}}.tlab .t-tile p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}