.kb-post-list{list-style:none;margin:0;padding:0}.kb-post-list>li{padding-block:32px;border-top:1px solid var(--kh-line)}.kw-body .kb-post-list .kb-post-link{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:center;gap:32px;text-decoration:none;border-radius:14px}.kb-post-link:focus-visible{outline:2px solid var(--kh-accent);outline-offset:8px}.kb-post-thumbnail{overflow:hidden;border:1px solid var(--kh-line);border-radius:14px;background:var(--kh-surface);transition:border-color .18s ease}.kb-post-thumbnail img{display:block;width:100%;height:auto;aspect-ratio:4/3}.kb-post-link:hover .kb-post-thumbnail{border-color:var(--kh-accent)}.kb-post-link:hover .kb-read{text-decoration-color:currentColor}.kb-post-list .kb-post-copy h2{font-size:26px;line-height:1.4;margin-top:12px;text-wrap:balance}.kb-post-list p{color:var(--kh-muted);font-size:15px;line-height:1.8;margin-top:16px;text-wrap:pretty}.kb-post-meta{color:var(--kh-muted);font-size:12px;line-height:1.6}.kb-post-list .kb-read{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:16px;font-size:14px;text-decoration:underline;text-decoration-color:var(--ka-edge);text-underline-offset:4px}.kb-post-list .kb-read svg{width:16px;height:16px}.kb-figure{margin-block:28px}.kb-figure img{display:block;width:100%;height:auto;border:1px solid var(--kh-line);border-radius:14px}.kb-figure figcaption{margin-top:12px;color:var(--kh-muted);font-size:13px;line-height:1.6}.kb-example{margin-block:20px;padding:16px 20px;border-left:2px solid var(--kh-accent);background:var(--kh-surface)}.kb-example p{color:var(--ka-text);font-size:16px;line-height:1.65}@media (max-width:680px){.kw-body .kb-post-list .kb-post-link{grid-template-columns:minmax(0,1fr);gap:24px}}@media (max-width:580px){.kb-post-list .kb-post-copy h2{font-size:25px}.kb-post-list>li{padding-block:28px}}.kb-figure-compact{max-width:480px;margin-inline:auto}.kb-figure-drawer{max-width:400px;margin-inline:auto}.kb-figure-reader{max-width:620px;margin-inline:auto}.kb-layout .kw-body section>:is(p,ul,ol){max-width:68ch;font-size:16px;line-height:1.65}.kb-layout .kw-body a:not(.ka-button){text-underline-position:from-font;text-decoration-thickness:from-font}.kb-post-thumbnail-detail{display:flex;flex-direction:column;gap:16px;padding:20px;aspect-ratio:4/3;background:var(--ka-surface-texture),var(--ka-surface-body)}.kb-post-thumbnail-detail>span{color:var(--ka-accent);font-size:12px;line-height:1.5}.kb-post-thumbnail-detail>div{min-height:0;flex:1;overflow:hidden;border:1px solid var(--ka-edge);border-radius:8px}.kb-post-thumbnail-detail img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:top}.kb-post-thumbnail-research{background:var(--ka-surface-texture),var(--ka-paper)}.kb-post-thumbnail-research>span{color:var(--ka-paper-ink)}.kb-post-thumbnail-tools img{object-position:bottom}.kb-article-grid{display:grid;grid-template-columns:232px minmax(0,1fr);max-width:1000px;margin-inline:auto;align-items:start;gap:72px;padding-block:64px 96px}.kb-sidebar{position:sticky;top:112px;min-width:0;max-height:calc(100svh - 132px);overflow-y:auto;padding:6px;scrollbar-width:thin}.kb-sidebar-meta{display:grid;gap:4px;margin-bottom:32px}.kb-all-articles{display:flex;align-items:center;width:fit-content;min-height:44px;font-size:13px;color:var(--ka-paper);text-decoration:underline;text-decoration-color:var(--ka-edge);text-underline-offset:5px}.kb-all-articles:hover{text-decoration-color:currentColor}.kb-read-time{color:var(--kh-muted);font-size:13px;line-height:1.6}.kb-desktop-contents{padding:20px 16px 12px;border:1px solid var(--kh-line);border-radius:12px;background:var(--ka-surface-texture),var(--ka-surface-body)}.kb-contents-label{color:var(--ka-paper);font-size:13px;line-height:1.6}.kb-contents-links{display:grid;gap:4px;list-style:none;padding:0;margin-block:16px 0}.kb-contents-links a{display:flex;align-items:center;min-height:44px;padding-block:10px;padding-inline:0 4px;color:var(--kh-muted);font-size:13px;line-height:1.6;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;overflow-wrap:break-word}.kb-contents-links a:hover{color:var(--ka-paper);text-decoration-color:var(--ka-edge)}.kb-sidebar a:focus-visible{outline-offset:2px}.kb-mobile-contents{display:none}.kb-editorial-article{max-width:68ch;font-size:16px}.kb-category{display:inline-block;padding-bottom:12px;border-bottom:2px solid var(--ka-paper);color:var(--ka-paper);font-size:13px;line-height:1.6}.kb-article-page .kb-editorial-heading h1{margin-block:24px;font-size:clamp(36px,4vw,52px);line-height:1.13}.kb-article-page .kb-editorial-heading>p{max-width:60ch;line-height:1.65}.kb-article-page .kb-editorial-body{margin-top:44px}.kb-article-page .kb-editorial-body>section{padding-block:36px;border-top:0;scroll-margin-top:128px}.kb-article-page .kb-editorial-body>section:first-child{padding-top:0}.kb-article-page .kb-editorial-body>section:last-child{padding-bottom:0}.kb-article-page .kb-editorial-body>section>h2{font-size:28px;line-height:1.3;font-weight:500}.kb-article-page .kb-editorial-body section>:is(p,ul,ol){font-size:16px;line-height:1.65}.kb-article-page .kb-editorial-body .kb-example{margin-inline:0;border-inline-start:2px solid var(--ka-paper)}@media (max-width:980px){.kb-article-grid{gap:40px}}@media (max-width:820px){.kb-article-grid{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:32px 64px}.kb-sidebar{position:static;max-height:none;overflow:visible;padding:0}.kb-sidebar-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.kb-desktop-contents{display:none}.kb-mobile-contents{display:block;padding:4px 16px;border:1px solid var(--kh-line);border-radius:10px;background:var(--ka-surface-texture),var(--ka-surface-body)}.kb-mobile-contents>summary{min-height:44px;padding-block:12px;color:var(--ka-paper);font-size:13px;line-height:1.6;cursor:pointer}.kb-mobile-contents .kb-contents-links{margin-block:4px 12px}.kb-mobile-contents a{font-size:14px}.kb-editorial-article{margin-inline:auto}.kb-article-page .kb-editorial-body>section{padding-block:28px;scroll-margin-top:112px}.kb-article-page .kb-editorial-body>section>h2{font-size:25px}}@media (prefers-reduced-motion:reduce){.kb-post-thumbnail{transition:none}}