.kb-page{z-index:2;max-width:760px;margin:0 auto;padding:12vh 28px 14vh;position:relative}.cat-concepts{--cat:var(--kb-concepts)}.cat-spaces{--cat:var(--kb-spaces)}.cat-techniques{--cat:var(--kb-techniques)}.cat-api{--cat:var(--kb-api)}.cat-geometry{--cat:var(--kb-geometry)}.kb-crumbs{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin-bottom:26px;font-size:12px;display:flex}.kb-crumbs a{color:var(--ink-dim);text-decoration:none;transition:color .2s}.kb-crumbs a:hover{color:var(--ink)}.kb-crumbs .kb-cat{color:var(--cat)}.kb-crumbs .sep{color:var(--ink-faint);margin:0 8px}.kb-head h1{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin-bottom:18px;font-size:clamp(34px,5.5vw,54px);font-weight:600;line-height:1.05}.kb-summary{font-family:var(--serif);color:var(--ink-dim);border-left:2px solid var(--cat);margin-bottom:12px;padding-left:16px;font-size:18px;font-style:italic;line-height:1.55}.kb-scene{margin-top:40px}.kb-body .scene-host{margin:26px 0 34px}.kb-body{font-family:var(--serif);color:var(--ink);margin-top:44px}.kb-body h2{font-family:var(--serif);letter-spacing:-.01em;margin:44px 0 14px;font-size:26px;font-weight:600}.kb-body h2:before{content:"§ ";color:var(--cat);font-weight:400}.kb-body h3{margin:30px 0 10px;font-size:19px;font-weight:600}.kb-body p{margin-bottom:14px;font-size:16.5px;line-height:1.75}.kb-body ul,.kb-body ol{margin-bottom:14px;padding-left:24px}.kb-body li{margin-bottom:5px;font-size:16.5px;line-height:1.7}.kb-body a{color:var(--cat);border-bottom:1px solid color-mix(in srgb, var(--cat) 35%, transparent);text-decoration:none}.kb-body a:hover{border-bottom-color:var(--cat)}.kb-body strong{font-weight:600}.kb-body code{font-family:var(--mono);background:#22333a12;border-radius:4px;padding:1.5px 5px;font-size:.85em}.kb-body pre{border:1px solid var(--ink-faint);border-radius:10px;margin:18px 0;padding:18px 20px;font-size:13.5px;line-height:1.6;overflow-x:auto}.kb-body pre code{font-size:inherit;background:0 0;padding:0}.kb-body table{border-collapse:collapse;width:100%;margin:18px 0;font-size:15px;line-height:1.5}.kb-body th{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;text-align:left;color:var(--ink-dim);border-bottom:2px solid var(--cat);padding:8px 12px 8px 0;font-size:11.5px}.kb-body td{border-bottom:1px solid var(--ink-faint);vertical-align:top;padding:9px 12px 9px 0}.kb-body blockquote{border-left:2px solid var(--cat);color:var(--ink-dim);margin:18px 0;padding-left:16px;font-style:italic}.kb-body .checkpoint{background:linear-gradient(to bottom right,#3d8ea10d,#3d8ea104),#fffffd99;border:1px solid #3d8ea14d;border-left:3px solid #3d8ea1;border-radius:0 12px 12px 0;margin:30px 0;padding:18px 22px 15px;position:relative}.kb-body .checkpoint:before{content:"checkpoint — ask yourself";font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:#3d8ea1;margin-bottom:10px;font-size:10px;font-style:normal;display:block}.kb-body .checkpoint p,.kb-body .checkpoint li{color:var(--ink);font-size:15.5px;font-style:italic;line-height:1.65}.kb-body .checkpoint ul{margin-bottom:4px;padding-left:20px}.kb-body .checkpoint li{margin-bottom:7px}.kb-body .checkpoint p:last-child{margin-bottom:2px}.kb-body .checkpoint a{color:#3d8ea1;border-bottom-color:#3d8ea166}.kb-related{border-top:1px solid var(--ink-faint);margin-top:60px;padding-top:26px}.kb-related-label{font-family:var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:14px;font-size:11px;display:block}.kb-chips{flex-wrap:wrap;gap:10px;display:flex}.chip{font-family:var(--mono);letter-spacing:.04em;color:var(--ink);border:1px solid var(--ink-faint);border-radius:999px;padding:7px 15px;font-size:12.5px;text-decoration:none;transition:border-color .2s,color .2s,background .2s}.chip:hover{border-color:var(--cat);color:var(--cat);background:#ffffff80}.kb-deeper{border-top:1px solid var(--ink-faint);margin-top:34px;padding-top:26px}.kb-deeper-label{font-family:var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:16px;font-size:11px;display:block}.kb-deeper-list{flex-direction:column;gap:13px;list-style:none;display:flex}.kb-deeper-list li{grid-template-columns:58px 1fr;align-items:baseline;gap:3px 14px;display:grid}.kd-kind{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;text-align:center;border:1px solid var(--ink-faint);color:var(--ink-dim);border-radius:5px;padding:2.5px 0;font-size:9.5px}.kd-book{color:#b98a2e;border-color:#b98a2e66}.kd-course{color:var(--kb-spaces,#3d8ea1);border-color:#3d8ea166}.kd-web{color:#c05a3c;border-color:#c05a3c66}.kd-paper,.kd-spec{color:var(--ink-dim)}.kd-what{font-family:var(--serif);color:var(--ink);font-size:15.5px}.kd-what a{color:var(--ink);border-bottom:1px solid color-mix(in srgb, var(--cat) 40%, transparent);font-weight:600;text-decoration:none}.kd-what a:hover{color:var(--cat);border-bottom-color:var(--cat)}.kd-author{color:var(--ink-dim)}.kd-where{color:var(--ink-dim);font-style:italic}.kd-paid{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--ink-faint);vertical-align:2px;border-radius:4px;margin-left:8px;padding:1.5px 6px;font-size:9px}.kd-why{font-family:var(--serif);color:var(--ink-dim);grid-column:2;font-size:14px;font-style:italic;line-height:1.5}@media (width<=560px){.kb-deeper-list li{grid-template-columns:1fr}.kd-kind{justify-self:start;padding:2.5px 8px}.kd-why{grid-column:1}}.kb-spine-nav{grid-template-columns:1fr 1fr;gap:14px;margin-top:34px;display:grid}.spine-card{border:1px solid var(--ink-faint);border-radius:12px;flex-direction:column;gap:7px;padding:16px 18px;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.spine-card:hover{border-color:var(--cat);background:#fffffda6}.spine-empty{pointer-events:none;border:none}.spine-next{text-align:right;align-items:flex-end}.spine-card .dir{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);font-size:11px}.spine-card:hover .dir{color:var(--cat)}.spine-card .name{font-family:var(--serif);color:var(--ink);font-size:16.5px;font-weight:600}@media (width<=560px){.kb-spine-nav{grid-template-columns:1fr}.spine-empty{display:none}.spine-next{text-align:left;align-items:flex-start}}.kb-sources{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-top:34px;font-size:11px}
