.ty{--ink:#0f172a;--ink-2:#334155;--ink-3:#475569;--muted:#64748b;--accent:#4f46e5;--line:#e6e8eb;color:var(--ink-2);font-family:Rubik,system-ui,sans-serif}.ty-hero{background:radial-gradient(120% 140% at 100% 0,#4f46e5 0%,#4338ca 42%,#312e81 100%);border-radius:20px;padding:3.5rem 2.5rem;position:relative;overflow:hidden;box-shadow:0 16px 32px -8px #4f46e51f,0 4px 8px -2px #4f46e50f}.ty-hero-eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#c7d2fe;margin:0 0 1rem;font-family:SF Mono,Monaco,monospace;font-size:.75rem}.ty-hero h1{color:#fff;letter-spacing:-.03em;max-width:18ch;margin:0 0 1.25rem;font-family:Red Hat Display,system-ui,sans-serif;font-size:clamp(2.25rem,5vw + 1rem,3.5rem);font-weight:900;line-height:1.05}.ty-hero p{color:#e0e7ff;max-width:44rem;margin:0;font-size:1.0625rem;line-height:1.6}.ty-hero p strong{color:#fff;font-weight:700}.ty-section{margin-top:4rem}.ty-num{color:var(--accent);letter-spacing:.1em;font-family:SF Mono,Monaco,monospace;font-size:.75rem;font-weight:700}.ty-h2{color:var(--ink);letter-spacing:-.02em;margin:.25rem 0 .5rem;font-family:Red Hat Display,system-ui,sans-serif;font-size:1.625rem;font-weight:800}.ty-intro{color:var(--ink-3);max-width:44rem;margin:0 0 1.75rem;font-size:.9375rem;line-height:1.6}.ty-intro strong{color:var(--ink-2)}.ty-intro code,.ty-mono{font-family:SF Mono,Monaco,monospace}.ty-fam-grid{gap:1rem;display:grid}.ty-fam{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.ty-fam-head{border-bottom:1px solid var(--line);background:#f8fafc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.ty-fam-role{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.6875rem;font-weight:700}.ty-fam-token{color:var(--muted);font-family:SF Mono,Monaco,monospace;font-size:.75rem}.ty-fam-body{padding:1.5rem}.ty-fam-specimen{color:var(--ink);margin-bottom:.5rem;font-size:clamp(2rem,6vw,2.75rem);line-height:1.1}.ty-fam-glyphs{color:var(--ink-2);margin-bottom:.75rem;font-size:1.0625rem;line-height:1.5}.ty-fam-note{color:var(--muted);max-width:60ch;font-size:.8125rem;line-height:1.6}.ty-scale{gap:.5rem;display:grid}.ty-scale-row{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:baseline;gap:1rem;padding:.75rem 1rem;display:flex}.ty-scale-tok{color:var(--accent);flex-shrink:0;min-width:150px;font-family:SF Mono,Monaco,monospace;font-size:.75rem}.ty-pill{text-transform:uppercase;letter-spacing:.06em;color:#3730a3;text-align:center;background:#eef2ff;border-radius:6px;flex-shrink:0;align-self:center;min-width:72px;padding:.15rem .55rem;font-size:.625rem;font-weight:700}.ty-scale-sample{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ty-table-wrap{border:1px solid var(--line);border-radius:12px;overflow-x:auto}.ty-table{border-collapse:collapse;background:#fff;width:100%;min-width:560px}.ty-table th,.ty-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #eef0f2;padding:.75rem 1rem}.ty-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fafc;font-size:.6875rem;font-weight:700}.ty-table td{color:var(--ink-3);font-size:.8125rem}.ty-table tr:last-child td{border-bottom:none}.ty-table .role{color:var(--ink);font-family:Red Hat Display,system-ui,sans-serif;font-weight:700}.ty-table code{color:var(--accent);font-family:SF Mono,Monaco,monospace;font-size:.75rem}.ty-axes{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.ty-axis{border:1px solid var(--line);background:#fff;border-radius:16px;padding:1.25rem 1.5rem}.ty-axis-title{color:var(--ink);margin-bottom:1rem;font-family:Red Hat Display,system-ui,sans-serif;font-size:.9375rem;font-weight:700}.ty-weights{flex-wrap:wrap;align-items:baseline;gap:1.25rem;margin-bottom:1rem;display:flex}.ty-weight{text-align:center}.ty-weight-g{color:var(--ink);font-size:2rem;line-height:1}.ty-weight-l{color:var(--muted);margin-top:.35rem;font-family:SF Mono,Monaco,monospace;font-size:.625rem}.ty-lead-demo{border-left:3px solid #e0e7ff;margin-bottom:.75rem;padding-left:.75rem}.ty-lead-demo p{color:var(--ink-2);margin:0;font-size:.8125rem}.ty-lead-l{color:var(--accent);margin-bottom:.25rem;font-family:SF Mono,Monaco,monospace;font-size:.625rem;display:block}.ty-track-row{border-bottom:1px dashed #eef0f2;justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 0;display:flex}.ty-track-row:last-child{border-bottom:none}.ty-track-l{color:var(--muted);white-space:nowrap;font-family:SF Mono,Monaco,monospace;font-size:.625rem}.ty-axis-note{color:var(--muted);margin-top:1rem;font-size:.75rem;line-height:1.55}.ty-axis-note code{color:var(--accent);font-family:SF Mono,Monaco,monospace}.ty-measure{border:1px solid var(--line);background:#fff;border-radius:16px;padding:1.75rem}.ty-measure-tag{letter-spacing:.04em;color:#3730a3;background:#eef2ff;border-radius:6px;margin-bottom:.5rem;padding:.15rem .55rem;font-family:SF Mono,Monaco,monospace;font-size:.6875rem;display:inline-block}.ty-measure-tag.bad{color:var(--muted);background:#f1f5f9}.ty-measure-good{color:var(--ink);border-left:3px solid var(--accent);max-width:66ch;margin:0 0 1.75rem;padding-left:1rem;font-size:1rem;line-height:1.625}.ty-measure-bad{color:var(--muted);border-left:3px solid #cbd5e1;max-width:120ch;margin:0;padding-left:1rem;font-size:1rem;line-height:1.625}.ty-callout{background:#eef2ff;border-radius:12px;grid-template-columns:4px 1fr;gap:1rem;margin-top:1.5rem;padding:1rem 1.25rem;display:grid}.ty-callout-bar{background:var(--accent);border-radius:4px}.ty-callout-body{color:#334155;font-size:.875rem;line-height:1.55}.ty-callout-body strong{color:var(--ink)}.ty-callout-body code{color:var(--accent);font-family:SF Mono,Monaco,monospace;font-size:.75rem}.ty-refs{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:1.25rem}.ty-refs-h{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.75rem;font-size:.6875rem;font-weight:700}.ty-refs p{color:var(--muted);margin:0;font-size:.75rem;line-height:1.7}.ty-refs a{color:var(--accent);text-decoration:none}.ty-refs a:hover{text-decoration:underline}@media (width<=640px){.ty-scale-row{flex-wrap:wrap}.ty-scale-tok{min-width:0}}
