.level-meter{vertical-align:-1px;gap:6px;margin-right:10px;display:inline-flex}.level-meter i{border:2px solid var(--accent);border-radius:50%;width:10px;height:10px}.level-meter i.on{background:var(--accent)}.skill-map{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:10px;margin:1.6em 0 0;padding:0;list-style:none;display:grid}.skill-map a{border:1px solid var(--rule);height:100%;color:var(--ink);align-items:baseline;gap:12px;padding:14px 16px;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.skill-map a:hover{border-color:var(--accent-deep);background:#0a0a0b08}.skill-map b{color:var(--accent-deep);font-size:24px;font-weight:900;font-stretch:75%;line-height:1}.skill-map span{font-size:16px;font-weight:600;line-height:1.35}.skill{border-top:1px solid var(--rule);margin-top:72px;padding-top:28px}.skill-term{font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep)}.prose .skill h2{margin-top:6px}.layer{margin-top:28px}.prose .layer h3{font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 8px}.one-line{letter-spacing:-.01em;font-size:21px;font-weight:500;line-height:1.5}.goal-check{background:var(--ink);color:var(--bone);padding:14px 18px}.goal-check strong{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;display:block}.dg{border:1px solid var(--rule);background:#0a0a0b05;margin:1.4em 0;padding:22px 20px 16px}.dg-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.dg-row+.dg-row{margin-top:12px}.dg-node{border:1.5px solid var(--ink);background:var(--bone);text-align:center;padding:10px 14px;font-size:16px;font-weight:600;line-height:1.3}.dg-node small{color:#0a0a0bb3;font-size:14px;font-weight:500;display:block}.dg-node.on{border-color:var(--accent-deep);color:var(--accent-deep);box-shadow:inset 0 0 0 1px var(--accent-deep)}.dg-node.soft{border-style:dashed}.dg-arrow{width:26px;height:14px;color:var(--accent-deep);flex:none}.dg-cols{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px;display:grid}.dg-cols .dg-node{text-align:left}.dg figcaption{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#0a0a0ba6;text-align:center;margin-top:14px}.dg-split{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px;display:grid}.dg-split>div>p{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 10px}.deeper{gap:10px;display:grid}.video{background:var(--ink);color:var(--bone);align-items:center;gap:14px;padding:12px 14px;text-decoration:none;transition:background .2s;display:flex}.video:hover{background:#18181a}.video svg{width:34px;height:34px;color:var(--accent);flex:none}.video span{flex-direction:column;gap:2px;display:flex}.video b{font-size:16px;font-weight:600;line-height:1.35}.video em{font:500 12px var(--mono);letter-spacing:.04em;color:var(--bone-dim);font-style:normal}.deeper .docs{margin:4px 0 0;font-size:16px}.next-level{color:#0a0a0bb3;margin-top:6px;font-size:16px}.ladder{border:1px solid var(--rule);margin:1.4em 0 0;padding:0;list-style:none}.ladder li{align-items:center;gap:16px;padding:16px 18px;display:flex}.ladder li+li{border-top:1px solid var(--rule)}.ladder b{border:2px solid var(--accent-deep);width:36px;height:36px;color:var(--accent-deep);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.ladder li.on b{background:var(--accent-deep);color:var(--bone)}.ladder p{margin:0;font-size:17px;line-height:1.45}.ladder em{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#0a0a0ba6;white-space:nowrap;margin-left:auto;font-style:normal}@media (width<=640px){.ladder em{display:none}}.layer>*+*{margin-top:1em}.prose a.video,.prose a.video:hover{color:var(--bone);text-decoration:none}.prose .skill-map a{text-decoration:none}.prose .goal{color:var(--accent-deep);margin:4px 0 0;font-size:20px;font-weight:700;line-height:1.35}.prose .goal+.one-line{margin-top:14px}.fig svg{width:100%;max-width:400px;height:auto;margin:0 auto;font-family:inherit;display:block}.fig .b{fill:var(--bone);stroke:var(--ink);stroke-width:1.5px}.fig .b.on{stroke:var(--accent-deep);stroke-width:2.5px}.fig .b.soft{stroke-dasharray:5 4}.fig .t{fill:var(--ink);font-size:15px;font-weight:600}.fig .s{fill:#0a0a0bb3;font-size:13px;font-weight:500}.fig .ac{fill:var(--accent-deep)}.fig .a{fill:none;stroke:var(--accent-deep);stroke-width:2px;marker-end:url(#ah)}.fig .rule{stroke:var(--ink);stroke-width:1px;opacity:.35}@media (width<=640px){.dg.fig{padding:14px 8px 10px}}.prose .why{margin:8px 0 0;font-size:16px}.prose .also{color:#0a0a0bb3;margin:4px 0 0;font-size:15px}.reads{margin:0;padding:0;list-style:none}.reads li{margin:0 0 12px;font-size:16px;line-height:1.5}.reads span{font:500 12px var(--mono);letter-spacing:.04em;color:#0a0a0ba6;display:block}.prose .catch{border:1px solid var(--accent-deep);margin-top:28px;padding:14px 18px;font-size:17px}.prose .catch strong{color:var(--accent-deep)}.toc-more{margin-top:12px;font-size:15px}.prose h3.sub{margin-top:40px}.apps th[scope=row]{text-align:left;font-weight:700}.glossary dt{margin-top:14px;font-weight:700}.glossary dd{margin:2px 0 0}.updated{color:#0a0a0bb3;margin-top:56px;font-size:15px}@media (width<=640px){.glance thead,.apps thead{display:none}.glance tr,.apps tr{border-top:1px solid var(--rule);padding:12px 0;display:block}.glance td,.apps td,.apps th{border:0;padding:2px 0;display:block}.glance td[data-label]:not(:first-child):before,.apps td[data-label]:before{content:attr(data-label) ": ";font-weight:700}}.news-list{margin:1em 0 0;padding-left:1.1em}.news-list li{margin-bottom:10px}.prose .ran{border:1px solid var(--rule);background:#0a0a0b08;margin-top:20px;padding:14px 18px;font-size:17px}.prose .ran p{margin:0}.prose .ran strong{color:var(--accent-deep)}
