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