.learn-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;margin:22px auto 0;max-width:1036px}.kb-aside{display:block;position:sticky;top:16px;align-self:start;max-height:calc(100vh - 32px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-line) transparent}.kb-aside .sec-group{margin-bottom:16px}.kb-aside .sec-name{font-size:12px;font-weight:700;color:var(--c-cy-deep);letter-spacing:.08em;margin-bottom:6px}.kb-aside a.node-link{display:block;font-size:13px;color:var(--c-nav);text-decoration:none;padding:4px 8px;border-radius:7px;line-height:1.5}.kb-aside a.node-link:hover{background:var(--c-cy-bg)}.kb-aside a.node-link[aria-current=true]{background:var(--c-cy-bg);color:var(--c-cy-deep);font-weight:700}.kb-aside a.node-link.is-unlit{color:var(--c-muted)}.kb-aside .dot{display:inline-block;width:7px;height:7px;border-radius:99px;margin-left:6px;vertical-align:1.5px}.kb-aside .dot-seed{background:transparent;border:1.5px solid #d9a514}.kb-aside .dot-growing{background:#d9a514}.kb-aside .dot-evergreen{background:#5b6ee8}.kb-aside .dot-published{background:var(--c-cy)}[data-theme=dark] .kb-aside .dot-seed{border-color:#d9b25c}[data-theme=dark] .kb-aside .dot-growing{background:#d9b25c}[data-theme=dark] .kb-aside .dot-evergreen{background:#a3aef0}@media(max-width:960px){.learn-layout{grid-template-columns:1fr}.kb-aside{display:none}}.kb-main{min-width:0}.crumbs{font-size:13px;color:var(--c-muted);margin-bottom:10px}.crumbs a{color:var(--c-nav);text-decoration:none}.crumbs a:hover{color:var(--c-cy-deep)}.kb-head{background:var(--c-card);border-radius:var(--r-card);padding:20px 22px;box-shadow:0 1px 2px #182e500a}.kb-head h2{margin:0 0 10px;font-size:22px;line-height:1.35}.badge-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;border:1px solid var(--c-line);background:var(--c-chip-bg);color:var(--c-chip-fg)}.badge.is-status{background:var(--c-cy-bg);border-color:transparent;color:var(--c-cy-deep)}.badge.is-bloom{background:var(--c-purple-bg);border-color:transparent;color:var(--c-purple)}.kb-prereq{margin:10px 0 0;font-size:13px;line-height:1.8;color:var(--c-muted)}.kb-prereq b{color:var(--c-fg);font-weight:600;margin-right:6px}.kb-prereq a{color:var(--c-cy-deep);text-decoration:none}.kb-prereq a:hover{text-decoration:underline;text-underline-offset:3px}.kb-card{background:var(--c-card);border-radius:var(--r-card);padding:20px 22px;margin-top:16px;box-shadow:0 1px 2px #182e500a}.kb-card h3{margin:0 0 12px;font-size:15px;color:var(--c-heat-text, var(--c-cy-deep))}.kb-card ol,.kb-card ul{margin:0;padding-left:20px}.kb-card li{font-size:14px;line-height:1.9;color:var(--c-body2, var(--c-fg))}.kb-card li .src{color:var(--c-muted);font-size:12px}.kb-empty{border:1.5px dashed var(--c-line);box-shadow:none;background:transparent}.kb-empty .tip{font-size:14px;line-height:1.8;color:var(--c-body2, var(--c-nav));margin-bottom:14px}.kb-body{font-size:15px;line-height:1.95;overflow-wrap:break-word}.kb-body>h1:first-child{display:none}.kb-body h2{font-size:18px;margin:26px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--c-line)}.kb-body h3{font-size:16px;margin:20px 0 8px}.kb-body p{margin:12px 0}.kb-body svg{max-width:100%;height:auto;display:block;margin:14px auto}.kb-body .figcap{text-align:center;font-size:13px;color:var(--c-muted);margin:2px 0 8px}.kb-body blockquote{margin:12px 0;padding:10px 16px;background:var(--c-cy-bg);border-radius:10px;color:var(--c-heat-text, var(--c-cy-deep))}.kb-body aside{margin:12px 0;padding:10px 16px;border:1.5px dashed var(--c-line);border-radius:10px}.kb-body code{background:var(--c-code-bg);border-radius:5px;padding:1px 6px;font-size:.9em}.kb-body pre{background:var(--c-code-bg);border-radius:10px;padding:14px 16px;overflow-x:auto;max-width:100%}.kb-body pre code{background:transparent;padding:0}.kb-body details{margin:10px 0;padding:10px 14px;background:var(--c-chip-bg);border-radius:10px}.kb-body details summary{cursor:pointer;font-weight:700;color:var(--c-cy-deep);list-style:none}.kb-body details summary::-webkit-details-marker{display:none}.kb-body details[open] summary{margin-bottom:6px}.kb-body details p{margin:8px 0 2px}.kb-body table{border-collapse:collapse;width:100%;margin:12px 0;font-size:14px}.kb-body th,.kb-body td{border:1px solid var(--c-line);padding:6px 10px;text-align:left}.kb-body a{color:var(--c-cy-deep)}.tbl-scroll,.fig-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl-scroll table{min-width:100%}.kb-body strong{color:var(--c-heat-text)}:root[data-theme=dark] .kb-body strong{color:var(--c-cy-deep)}.kb-body .tool-embed{margin:18px 0}.kb-body .tool-embed-card{display:flex;flex-direction:column;gap:4px;padding:14px 18px;background:var(--c-cy-bg);border:1px solid var(--c-line);border-radius:12px;text-decoration:none}.kb-body .tool-embed-card:hover{border-color:var(--c-cy)}.kb-body .tool-embed-tag{font-size:12px;color:var(--c-cy-deep);font-weight:600}.kb-body .tool-embed-title{font-size:16px;font-weight:700;color:var(--c-fg)}.kb-body .tool-embed-desc{font-size:13px;color:var(--c-body2);line-height:1.7}.kb-body .tool-embed-live{padding:16px 18px;background:var(--c-card);border-radius:12px;box-shadow:0 1px 3px #182e500f}.q-toggle summary{cursor:pointer;font-size:15px;font-weight:700;color:var(--c-cy-deep);list-style:none}.q-toggle summary::-webkit-details-marker{display:none}.q-toggle summary:before{content:"▸ "}.q-toggle[open] summary:before{content:"▾ "}.src-line{font-size:13px;color:var(--c-muted);margin-top:14px;overflow-wrap:anywhere}.src-line a{color:var(--c-cy-deep);text-decoration:none}.src-line .can-read{margin-left:4px;font-size:11px;font-weight:600;color:var(--c-purple);background:var(--c-purple-bg);border-radius:6px;padding:1px 7px}.kb-card h3 .res-more{float:right;font-size:12.5px;font-weight:600;color:var(--c-cy-deep);text-decoration:none}.pager{display:flex;justify-content:space-between;gap:12px;margin-top:16px}.pager a{font-size:13px;color:var(--c-nav);text-decoration:none;background:var(--c-card);border-radius:99px;padding:8px 16px;box-shadow:0 1px 2px #182e500a}.pager a:hover{color:var(--c-cy-deep)}.kb-watch-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.kb-watch-tag{font-size:12px;color:var(--c-cy-deep);font-weight:700;margin-right:8px}.kb-watch-title{font-size:14px;color:var(--c-body2)}.kb-watch-open{font-size:13px;color:var(--c-cy-deep);text-decoration:none}.kb-watch-play{margin-top:12px;width:100%;padding:12px;font-size:15px;font-weight:700;color:#fff;background:var(--c-cy);border:0;border-radius:10px;cursor:pointer}.kb-watch-play:hover{opacity:.9}.kb-watch-frame{display:none;margin-top:12px}.kb-watch-frame.on{display:block}.kb-watch-frame iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:10px;background:#000}.kb-watch-frame.tall iframe{aspect-ratio:9/16;max-height:80vh;margin:0 auto}.kb-watch-overlay{position:fixed;inset:0;z-index:80;background:#000;display:flex;align-items:center;justify-content:center}.kb-watch-overlay .kb-watch-stage{width:100%;height:100%}.kb-watch-overlay iframe{width:100%;height:100%;border:0;display:block}.kb-watch-close{position:fixed;top:max(12px,env(safe-area-inset-top));right:14px;z-index:2;width:40px;height:40px;border-radius:99px;border:0;cursor:pointer;background:#ffffff24;color:#fff;display:flex;align-items:center;justify-content:center}.kb-watch-close:hover{background:#ffffff40}@media(max-width:768px){.kb-head,.kb-card{padding:14px}.kb-body blockquote,.kb-body aside{padding:8px 12px}.kb-body details{padding:8px 12px}.kb-body .tbl-scroll th,.kb-body .tbl-scroll td{min-width:8em}.kb-body .fig-scroll svg{min-width:460px;max-width:none;margin:14px 0}.kb-body pre{font-size:13px;padding:12px 14px}.pager a{padding:8px 13px}}
