.cover-caption { margin-top: 1rem; color: var(--text-secondary, #a4a4a4); font: .75rem/1.5 var(--font-sans, sans-serif); }
.article iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: .5rem; margin: 1.5rem 0; }
.jev-visual { margin: 2rem 0; padding: 1.25rem; background: var(--bg-surface, #17171a); border: 1px solid var(--border, #34343b); border-radius: .5rem; font: .8rem/1.5 var(--font-sans, sans-serif); color: #b9b6c0; overflow: hidden; }
.jev-visual figcaption { font-weight: 600; color: #eee; margin-bottom: 1rem; }
.jev-visual h3 { font-size: 1rem; margin: 0 0 .5rem; }
.jev-visual p { font-size: .8rem; margin: .5rem 0 1rem; }
.jev-visual svg { display: block; max-width: 100%; overflow: visible; }
.jev-visual svg text { font-size: 12px; fill: currentColor; }
.jev-visual .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.jev-visual .stroke-typesafe { stroke: #f386a1; }.jev-visual .fill-typesafe { fill: #f386a1; }
.jev-visual .stroke-blue-400 { stroke: #459aff; }.jev-visual .text-blue-400 { color: #459aff; }
.jev-visual .stroke-green-450 { stroke: #00ce93; }.jev-visual .text-green-450 { color: #00ce93; }
.jev-visual .stroke-purple-400 { stroke: #ae79dd; }.jev-visual .text-purple-400 { color: #ae79dd; }
.jev-visual .stroke-aqua-400 { stroke: #00d1d1; }.jev-visual .text-aqua-400 { color: #00d1d1; }
.jev-visual .stroke-gray-400 { stroke: #a4a4a4; }.jev-visual .fill-gray-400 { fill: #a4a4a4; }
.jev-visual [class*="text-typesafe"] { color: #f386a1; }
.jev-visual [class*="stroke-[var"] { stroke: #34343b; }
.jev-visual .flex { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
.jev-visual .flex-wrap { flex-wrap: wrap; justify-content: flex-start; }
.jev-visual .font-mono { font-family: 'Fira Code', monospace; font-weight: 400; }
.jev-container { container-type: inline-size; }.jev-panels { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.5rem; padding-top: 1.5rem; }
@container (min-width: 37.5rem) { .jev-panels { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.jev-visual .mb-2 { margin-bottom: .5rem; }.jev-visual .text-cui-accent { color: #ff570a; }
.jev-visual table { width: 100%; border-collapse: collapse; font-size: .7rem; }
.jev-visual th, .jev-visual td { padding: .65rem .35rem; border-bottom: 1px solid #34343b; text-align: right; }
.jev-visual th:first-child { text-align: left; overflow-wrap: anywhere; }
.jev-visual [class*="bg-typesafe"] { background: #f386a11a; }
.jev-visual details { margin-top: 1rem; }.jev-visual summary { cursor: pointer; }.jev-visual .overflow-x-auto { overflow-x: auto; }
.jev-visual [data-visualization-mount-animation="fade"] { transition: opacity .5s, transform .5s; }
.jev-visual [data-visualization-mount-animation="draw-line"] { transition: stroke-dashoffset 1.4s ease; }
.jev-visual [data-visualization-mount-animation="grow-x"] { transition: transform 1s ease; }
.jev-visual [data-prepared="true"] [data-visualization-mount-animation="fade"] { opacity: 0; transform: translateY(.4rem); }
.jev-visual [data-prepared="true"] [data-visualization-mount-animation="grow-x"] { transform: scaleX(0); }
.jev-visual [data-prepared="true"] [data-visualization-mount-animation="draw-line"] { stroke-dashoffset: var(--path-length); }
@media (max-width: 40rem) { .jev-visual { padding: 1rem; }.jev-visual svg[height="21rem"] { height: auto; aspect-ratio: 900 / 336; }
.jev-visual [role="table"] thead { display: none; }.jev-visual [role="table"] tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid #34343b; margin-bottom: .75rem; border-radius: .4rem; padding: .5rem; }.jev-visual [role="table"] th { grid-column: 1/-1; }.jev-visual [role="table"] td { text-align: left; border: 0; }.jev-visual [role="table"] td::before { content: attr(data-column-label); display: block; color: #b9b6c0; font: .65rem/1.4 sans-serif; margin-bottom: .2rem; }
}
@media (prefers-reduced-motion: reduce) { .jev-visual * { transition: none !important; } }
.article pre { max-width: 100%; overflow-x: auto; }
