.kt2 .ktbl-filter{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.kt2 .ktbl-filter__chip{border:1px solid var(--kt2-border-strong);border-radius:var(--kt2-radius-full);background:var(--kt2-surface-1);min-height:36px;color:var(--kt2-text-2);font-size:var(--kt2-body-s);transition:background-color var(--kt2-dur-fast), color var(--kt2-dur-fast);align-items:center;padding:0 14px;display:inline-flex}.kt2 .ktbl-filter__chip:hover{background:var(--kt2-surface-2);color:var(--kt2-text-1)}.kt2 .ktbl-filter__chip[aria-current=page]{border-color:var(--kt2-text-1);background:var(--kt2-text-1);color:var(--kt2-text-inverse);font-weight:var(--kt2-weight-medium)}.kt2 .ktbl-layout{gap:24px;display:grid}@media (min-width:1100px){.kt2 .ktbl-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.kt2 .ktbl-rail{top:calc(var(--kt2-nav-h) + 24px);position:sticky}}.kt2 .ktbl-posts{gap:24px;display:grid}.kt2 .ktbl-rail{grid-template-columns:minmax(0,1fr)}.kt2 .ktbl-feature{border:1px solid var(--kt2-border);border-radius:var(--kt2-radius-xl);background:var(--kt2-surface-1);transition:border-color var(--kt2-dur-fast);display:grid;overflow:hidden}.kt2 .ktbl-feature:hover{border-color:var(--kt2-border-strong)}.kt2 .ktbl-feature:hover .ktbl-feature__title{color:var(--kt2-accent-text)}.kt2 .ktbl-feature .ktbl-cover{border:0;border-bottom:1px solid var(--kt2-border);border-radius:0}@media (min-width:900px){.kt2 .ktbl-feature{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.kt2 .ktbl-feature .ktbl-cover{border-bottom:0;border-left:1px solid var(--kt2-border);order:2;height:auto;min-height:100%}}.kt2 .ktbl-feature__text{flex-direction:column;gap:12px;padding:clamp(24px,3vw,40px);display:flex}.kt2 .ktbl-feature__title{letter-spacing:-.022em;transition:color var(--kt2-dur-fast);font-size:clamp(1.5rem,1.1rem + 1.1vw,2.25rem);line-height:1.14}.kt2 .ktbl-feature__desc{color:var(--kt2-text-2);font-size:var(--kt2-body-m);line-height:1.6}.kt2 .ktbl-meta{font-family:var(--kt2-font-mono);font-size:var(--kt2-caption);color:var(--kt2-text-3)}.kt2 .ktbl-cover{border:1px solid var(--kt2-border);border-radius:var(--kt2-radius-xl);background:radial-gradient(ellipse 60% 70% at 30% 20%, var(--kt2-accent-soft), transparent 70%), linear-gradient(180deg, var(--kt2-surface-2), var(--kt2-bg));height:clamp(160px,22vw,280px);position:relative;overflow:hidden}.kt2 .ktbl-cover__grid{opacity:.6;background-image:linear-gradient(var(--kt2-border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--kt2-border-subtle) 1px, transparent 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 100% at 50% 0,#000,#0000);mask-image:radial-gradient(120% 100% at 50% 0,#000,#0000)}.kt2 .ktbl-cover__axis{background:var(--kt2-range-track);border-radius:5px;height:10px;margin-top:-5px;position:absolute;top:50%;left:10%;right:10%}.kt2 .ktbl-cover__band{background:var(--kt2-spectrum-band);box-shadow:var(--kt2-glow-brand);border-radius:5px;position:absolute;top:0;bottom:0}.kt2 .ktbl-cover__tick{background:var(--kt2-range-tick);border-radius:1px;width:2px;height:28px;margin-left:-1px;position:absolute;top:-9px}.kt2 .ktbl-back{width:max-content;min-height:32px;color:var(--kt2-text-3);font-size:var(--kt2-body-s);transition:color var(--kt2-dur-fast);align-items:center;gap:6px;display:flex}.kt2 .ktbl-back:hover{color:var(--kt2-text-1)}.kt2 .ktbl-back__icon{transform:rotate(180deg)}.kt2 .ktbl-post-title{letter-spacing:-.03em;max-width:24ch;margin-top:12px;font-size:clamp(2rem,1.2rem + 2.4vw,3.5rem);line-height:1.08}.kt2 .ktbl-post{gap:32px;padding-top:8px;display:grid}@media (min-width:1100px){.kt2 .ktbl-post{grid-template-columns:220px minmax(0,720px) minmax(0,1fr);align-items:start;gap:56px}.kt2 .ktbl-toc,.kt2 .ktbl-side{top:calc(var(--kt2-nav-h) + 24px);position:sticky}}.kt2 .ktbl-body{gap:22px;min-width:0;display:grid}.kt2 .ktbl-side__card{border:1px solid var(--kt2-border);border-radius:var(--kt2-radius-xl)}.kt2 .ktbl-side__card .kt2-btn{align-self:flex-start}.kt2 .ktbl-head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:28px;display:flex}.kt2 .ktbl-head-row .ktbl-filter{margin-top:0}.kt2 .ktbl-feed{min-height:36px;color:var(--kt2-text-3);font-size:var(--kt2-body-s);transition:color var(--kt2-dur-fast);align-items:center;gap:6px;display:inline-flex}.kt2 .ktbl-feed:hover{color:var(--kt2-text-1)}.kt2 .ktbl-sec{padding-top:clamp(24px,3vw,40px)}.kt2 .ktbl-feature__media{border-bottom:1px solid var(--kt2-border);background:var(--kt2-surface-2);display:block;overflow:hidden}.kt2 .ktbl-feature__img{aspect-ratio:16/9;object-fit:cover;width:100%;height:100%;display:block}@media (min-width:900px){.kt2 .ktbl-feature__media{border-bottom:0;border-left:1px solid var(--kt2-border);order:2}}.kt2 .ktbl-cards{gap:16px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:700px){.kt2 .ktbl-cards[data-cols="2"],.kt2 .ktbl-cards[data-cols="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.kt2 .ktbl-cards[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}.kt2 .ktbl-cards>li{min-width:0;display:flex}.kt2 .ktbl-card2{border:1px solid var(--kt2-border);border-radius:var(--kt2-radius-lg);background:var(--kt2-surface-1);transition:border-color var(--kt2-dur-fast);flex-direction:column;flex:1;display:flex;overflow:hidden}.kt2 .ktbl-card2:hover{border-color:var(--kt2-border-strong)}.kt2 .ktbl-card2:hover .ktbl-card2__title{color:var(--kt2-accent-text)}.kt2 .ktbl-card2__media{border-bottom:1px solid var(--kt2-border);background:var(--kt2-surface-2);display:block}.kt2 .ktbl-card2__media .ktbl-cover{border:0;border-radius:0}.kt2 .ktbl-card2__img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.kt2 .ktbl-card2__body{flex-direction:column;flex:1;gap:8px;padding:18px 20px 20px;display:flex}.kt2 .ktbl-card2__cat{color:var(--kt2-text-3);font-size:var(--kt2-caption);font-weight:var(--kt2-weight-medium)}.kt2 .ktbl-card2__title{color:var(--kt2-text-1);font-size:var(--kt2-title);font-weight:var(--kt2-weight-semibold);letter-spacing:var(--kt2-title-tr);transition:color var(--kt2-dur-fast);line-height:1.3}.kt2 .ktbl-card2__dek{color:var(--kt2-text-2);font-size:var(--kt2-body-m);line-height:1.55}.kt2 .ktbl-card2__meta{flex-wrap:wrap;gap:4px 14px;margin-top:auto;padding-top:6px;display:flex}.kt2 .ktbl-cover[data-compact=true]{aspect-ratio:16/9;height:auto}.kt2 .ktbl-pager{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding-top:8px;display:grid}.kt2 .ktbl-pager>:last-child{justify-self:end}.kt2 .ktbl-pager__link{border:1px solid var(--kt2-border-strong);border-radius:var(--kt2-radius-md);min-height:40px;color:var(--kt2-text-1);font-size:var(--kt2-body-s);transition:background-color var(--kt2-dur-fast), border-color var(--kt2-dur-fast);align-items:center;gap:6px;padding:0 14px;display:inline-flex}.kt2 .ktbl-pager__link:hover{background:var(--kt2-surface-2)}.kt2 .ktbl-pager__back{transform:rotate(180deg)}.kt2 .ktbl-hub-head{align-items:center;gap:20px;display:flex}.kt2 .ktbl-hub-head .ktpg-title{margin-top:0}.kt2 .ktbl-intro{gap:12px;max-width:68ch;margin-top:20px;display:grid}.kt2 .ktbl-intro p{color:var(--kt2-text-2);font-size:var(--kt2-body-m);line-height:1.7}.kt2 .ktbl-profiles{flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none;display:flex}
.kt2 .ktpo-rail-label{color:var(--kt2-text-3);font-size:var(--kt2-caption);font-weight:var(--kt2-weight-medium)}.kt2 .ktpo-section-title{color:var(--kt2-text-1);font-size:var(--kt2-title);font-weight:var(--kt2-weight-semibold);letter-spacing:var(--kt2-title-tr);margin-bottom:16px}.kt2 .ktpo-side__title{color:var(--kt2-text-1);font-size:var(--kt2-body-m);font-weight:var(--kt2-weight-semibold)}.kt2 .ktpo-preview{top:var(--kt2-nav-h);z-index:5;border-bottom:1px solid var(--kt2-unclear);background:var(--kt2-unclear-soft);min-height:36px;color:var(--kt2-text-1);font-size:var(--kt2-body-s);font-weight:var(--kt2-weight-medium);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:center;align-items:center;gap:8px;padding:6px 16px;display:flex;position:sticky}.kt2 .ktpo-crumbs ol{font-size:var(--kt2-body-s);flex-wrap:wrap;align-items:center;margin:0 0 20px;padding:0;list-style:none;display:flex}.kt2 .ktpo-crumbs li{color:var(--kt2-text-3);align-items:center;display:inline-flex}.kt2 .ktpo-crumbs li+li:before{content:"/";color:var(--kt2-text-4);margin:0 10px}.kt2 .ktpo-crumbs a{min-height:32px;color:var(--kt2-text-3);transition:color var(--kt2-dur-fast);align-items:center;display:inline-flex}.kt2 .ktpo-crumbs a:hover{color:var(--kt2-text-1)}.kt2 .ktpo-crumbs [aria-current=page]{color:var(--kt2-text-2)}.kt2 .ktpo .ktbl-post-title{margin-top:0}.kt2 .ktpo-dek{max-width:62ch}.kt2 .ktpo-byline{align-items:center;gap:14px;margin-top:28px;display:flex}.kt2 .ktpo-byline__faces{flex:none;display:inline-flex}.kt2 .ktpo-byline__faces>*+*{margin-left:-10px}.kt2 .ktpo-byline__faces .ktpo-avatar{box-shadow:0 0 0 2px var(--kt2-bg)}.kt2 .ktpo-byline__text{gap:2px;display:grid}.kt2 .ktpo-byline__by{color:var(--kt2-text-2);font-size:var(--kt2-body-m)}.kt2 .ktpo-byline__name{color:var(--kt2-text-1);font-weight:var(--kt2-weight-medium);text-underline-offset:3px;transition:text-decoration-color var(--kt2-dur-fast);-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.kt2 .ktpo-byline__name:hover{text-decoration-color:currentColor}.kt2 .ktpo-byline__meta{color:var(--kt2-text-3);font-size:var(--kt2-body-s);flex-wrap:wrap;gap:2px 16px;display:flex}.kt2 .ktpo-ainote{border-left:2px solid var(--kt2-border-strong);max-width:62ch;color:var(--kt2-text-3);font-size:var(--kt2-body-s);margin-top:16px;padding-left:12px;line-height:1.5}.kt2 .ktpo-avatar{border-radius:var(--kt2-radius-full);object-fit:cover;background:var(--kt2-surface-3);flex:none;display:inline-block}.kt2 .ktpo-avatar--initials{border:1px solid var(--kt2-border-strong);color:var(--kt2-text-2);font-weight:var(--kt2-weight-semibold);letter-spacing:.02em;place-items:center;display:inline-grid}.kt2 .ktpo-toc ol{border-left:1px solid var(--kt2-border);gap:2px;margin:10px 0 0;padding:0;list-style:none;display:grid}.kt2 .ktpo-toc a{color:var(--kt2-text-3);font-size:var(--kt2-body-s);transition:color var(--kt2-dur-fast), border-color var(--kt2-dur-fast);border-left:1px solid #0000;margin-left:-1px;padding:6px 0 6px 12px;line-height:1.4;display:block}.kt2 .ktpo-toc a:hover{color:var(--kt2-text-1);border-left-color:var(--kt2-text-1)}@media (max-width:1099px){.kt2 .ktbl-toc:not(:has(.ktpo-toc)){display:none}.kt2 .ktpo-toc{border:1px solid var(--kt2-border);border-radius:var(--kt2-radius-lg);background:var(--kt2-surface-1);padding:16px 18px}}.kt2 .ktpo-cover{border:1px solid var(--kt2-border);border-radius:var(--kt2-radius-xl);background-color:var(--kt2-surface-2);width:100%;height:auto;display:block}.kt2 .ktpo-prose{color:var(--kt2-text-2);font-size:clamp(1rem,.95rem + .2vw,1.125rem);line-height:1.75}.kt2 .ktpo-prose>*{margin:0}.kt2 .ktpo-prose p{color:var(--kt2-text-2);font-size:inherit;line-height:inherit}.kt2 .ktpo-prose .ktpo-h{color:var(--kt2-text-1);scroll-margin-top:calc(var(--kt2-nav-h) + 16px);position:relative}.kt2 .ktpo-prose h2.ktpo-h{letter-spacing:-.016em;margin-top:22px;font-size:clamp(1.375rem,1.2rem + .5vw,1.625rem);line-height:1.25}.kt2 .ktpo-prose h3.ktpo-h{font-size:var(--kt2-title);line-height:var(--kt2-title-lh);letter-spacing:var(--kt2-title-tr);margin-top:10px}.kt2 .ktpo-prose h4.ktpo-h{font-size:var(--kt2-body-l);margin-top:6px;line-height:1.4}.kt2 .ktpo-anchor{color:var(--kt2-text-4);font-weight:var(--kt2-weight-regular);opacity:0;transition:opacity var(--kt2-dur-fast);margin-left:.4em;text-decoration:none}.kt2 .ktpo-h:hover .ktpo-anchor,.kt2 .ktpo-anchor:focus-visible{opacity:1}@media (hover:none){.kt2 .ktpo-anchor{opacity:1}}.kt2 .ktpo-prose strong{color:var(--kt2-text-1);font-weight:var(--kt2-weight-semibold)}.kt2 .ktpo-prose .ktpo-link{color:var(--kt2-accent-text);text-decoration:underline;-webkit-text-decoration-color:var(--kt2-accent-line);text-decoration-color:var(--kt2-accent-line);text-underline-offset:3px;transition:text-decoration-color var(--kt2-dur-fast)}.kt2 .ktpo-prose .ktpo-link:hover{text-decoration-color:currentColor}.kt2 .ktpo-prose ul,.kt2 .ktpo-prose ol{gap:8px;padding-left:1.4em;display:grid}.kt2 .ktpo-prose ul{list-style:outside}.kt2 .ktpo-prose ol{list-style:decimal}.kt2 .ktpo-prose li::marker{color:var(--kt2-text-3)}.kt2 .ktpo-prose li>*+*{margin-top:8px}.kt2 .ktpo-prose blockquote{border-left:2px solid var(--kt2-accent-line);gap:12px;padding:4px 0 4px 20px;display:grid}.kt2 .ktpo-prose blockquote p{color:var(--kt2-text-1);font-size:var(--kt2-body-l);line-height:1.6}.kt2 .ktpo-prose :not(pre)>code{border:1px solid var(--kt2-border);border-radius:var(--kt2-radius-xs);background:var(--kt2-surface-2);color:var(--kt2-text-1);font-family:var(--kt2-font-mono);padding:.1em .35em;font-size:.875em}.kt2 .ktpo-code{border:1px solid var(--kt2-border);border-radius:var(--kt2-radius-lg);background:var(--kt2-surface-1);color:var(--kt2-text-1);font-family:var(--kt2-font-mono);font-size:var(--kt2-mono-size);tab-size:2;padding:16px 18px;line-height:1.65;overflow-x:auto}.kt2 .ktpo-code:focus-visible{outline:2px solid var(--kt2-focus);outline-offset:2px}.kt2 .ktpo-prose hr{background:var(--kt2-border);border:0;height:1px;margin:12px 0}.kt2 .ktpo-figure{gap:10px;display:grid}.kt2 .ktpo-figure__img{border:1px solid var(--kt2-border);border-radius:var(--kt2-radius-lg);background-color:var(--kt2-surface-2);width:100%;height:auto;display:block}.kt2 .ktpo-figure figcaption{color:var(--kt2-text-3);font-size:var(--kt2-body-s);line-height:1.5}.kt2 .ktpo-callout{--tone:var(--kt2-accent);--tone-soft:var(--kt2-accent-soft);border:1px solid var(--kt2-border);border-left:3px solid var(--tone);border-radius:var(--kt2-radius-md);background:var(--tone-soft);grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px 18px;display:grid}.kt2 .ktpo-callout[data-tone=warning]{--tone:var(--kt2-unclear);--tone-soft:var(--kt2-unclear-soft)}.kt2 .ktpo-callout[data-tone=success]{--tone:var(--kt2-named);--tone-soft:var(--kt2-named-soft)}.kt2 .ktpo-callout__icon{color:var(--tone);padding-top:.35em;display:inline-flex}.kt2 .ktpo-callout__body{gap:10px;display:grid}.kt2 .ktpo-callout__body p{color:var(--kt2-text-1);font-size:var(--kt2-body-m);line-height:1.65}.kt2 .ktpo-faq{gap:0;display:grid}.kt2 .ktpo-faq>h2.ktpo-h{margin-bottom:8px}.kt2 .ktpo-faq__item{border-top:1px solid var(--kt2-border);gap:8px;padding:18px 0;display:grid}.kt2 .ktpo-faq__item:last-child{border-bottom:1px solid var(--kt2-border)}.kt2 .ktpo-faq__q{color:var(--kt2-text-1);font-size:var(--kt2-body-l);font-weight:var(--kt2-weight-semibold);line-height:1.4}.kt2 .ktpo-faq__a{gap:12px;display:grid}.kt2 .ktpo-foot{border-top:1px solid var(--kt2-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px 32px;margin-top:16px;padding-top:24px;display:flex}.kt2 .ktpo-tags ul,.kt2 .ktpo-share ul{flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.kt2 .ktpo-tag,.kt2 .ktpo-share__btn{border:1px solid var(--kt2-border-strong);border-radius:var(--kt2-radius-full);background:var(--kt2-surface-1);min-height:32px;color:var(--kt2-text-2);font:inherit;font-size:var(--kt2-body-s);cursor:pointer;transition:background-color var(--kt2-dur-fast), color var(--kt2-dur-fast);align-items:center;padding:0 12px;line-height:1;display:inline-flex}.kt2 .ktpo-tag:hover,.kt2 .ktpo-share__btn:hover{background:var(--kt2-surface-2);color:var(--kt2-text-1)}.kt2 .ktpo-share__btn:focus-visible,.kt2 .ktpo-tag:focus-visible{outline:2px solid var(--kt2-focus);outline-offset:2px}.kt2 .ktpo-share__copy{justify-items:center;display:inline-grid}.kt2 .ktpo-share__copy>span{visibility:hidden;grid-area:1/1}.kt2 .ktpo-share__copy>span[data-shown=true]{visibility:visible}.kt2 .ktpo-authors{border:1px solid var(--kt2-border);border-radius:var(--kt2-radius-xl);background:var(--kt2-surface-1);margin-top:16px;padding:24px}.kt2 .ktpo-authors .ktpo-section-title{font-size:var(--kt2-body-m)}.kt2 .ktpo-authors ul{gap:20px;margin:0;padding:0;list-style:none;display:grid}.kt2 .ktpo-author{align-items:flex-start;gap:16px;display:flex}.kt2 .ktpo-author__text{gap:2px;min-width:0;display:grid}.kt2 .ktpo-prose .ktpo-author__name,.kt2 .ktpo-author__name{color:var(--kt2-text-1);font-size:var(--kt2-body-m);font-weight:var(--kt2-weight-semibold)}.kt2 .ktpo-prose .ktpo-author__role,.kt2 .ktpo-author__role{color:var(--kt2-text-3);font-size:var(--kt2-body-s)}.kt2 .ktpo-prose .ktpo-author__links,.kt2 .ktpo-author__links{font-size:var(--kt2-body-s);flex-wrap:wrap;gap:4px 16px;margin-top:6px;line-height:1.5;display:flex}.kt2 .ktpo-author__links a{min-height:24px;color:var(--kt2-accent-text);text-decoration:underline;-webkit-text-decoration-color:var(--kt2-accent-line);text-decoration-color:var(--kt2-accent-line);text-underline-offset:3px;align-items:center;display:inline-flex}.kt2 .ktpo-author__links a:hover{text-decoration-color:currentColor}.kt2 .ktpo-related{padding-top:clamp(48px,6vw,96px)}
