.ct-hero{background:var(--surface-header);border-bottom:1px solid var(--border-subtle)}.ct-hero-inner{display:flex;flex-direction:column;gap:16px;max-width:820px;padding-block:48px 40px}.ct-hero .su-crumbs{margin-bottom:8px}.ct-tag{margin:0;display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:14px;line-height:20px;font-weight:600;color:var(--brand-fg)}.ct-tag svg{flex:none}.ct-tag--plain{color:var(--text-secondary)}.ct-title{margin:0;font-size:clamp(32px,4.2vw,48px);line-height:1.1;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);text-wrap:balance}.ct-dek{margin:0;max-width:62ch;font-size:19px;line-height:1.55;color:var(--text-secondary);text-wrap:pretty}.ct-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:8px;font-size:14px;line-height:20px;color:var(--text-secondary)}.ct-author{display:inline-flex;align-items:center;gap:12px}.ct-avatar{flex:none;width:40px;height:40px;border-radius:50%;display:inline-grid;place-items:center;background:var(--brand-subtle);color:var(--brand-fg);font-size:14px;font-weight:700}.ct-author-txt{display:flex;flex-direction:column}.ct-author-txt b{font-weight:600;color:var(--text-primary)}.ct-meta-facts{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 20px}.ct-meta-facts>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ct-meta-facts svg{color:var(--text-muted)}.ct-author+.ct-meta-facts{padding-left:24px;border-left:1px solid var(--border-default);min-height:40px}.ct-doc{display:grid;grid-template-columns:minmax(0,700px) minmax(200px,240px);justify-content:space-between;-moz-column-gap:64px;column-gap:64px;padding-block:48px 96px}.ct-doc--single{grid-template-columns:minmax(0,700px)}.ct-aside{grid-column:2;grid-row:1}.ct-prose{grid-column:1;grid-row:1}.ct-toc{position:sticky;top:96px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 128px);overflow-y:auto;padding:2px}.ct-toc-h{margin:0;font-size:14px;line-height:20px;font-weight:600;color:var(--text-primary)}.ct-toc ol,.ct-toc-m ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.ct-toc ol{border-left:1px solid var(--border-default)}.ct-toc a{display:block;margin-left:-1px;padding:6px 0 6px 14px;border-left:2px solid transparent;font-size:14px;line-height:20px;color:var(--text-secondary);text-decoration:none;transition:color .13s ease,border-color .13s ease}.ct-toc a:hover{color:var(--text-primary);border-left-color:var(--border-strong)}.ct-toc a.is-active{color:var(--brand-fg);border-left-color:var(--brand);font-weight:600}.ct-toc a:focus-visible,.ct-toc-m a:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.ct-toc-m{display:none;border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-card);margin-bottom:32px}.ct-toc-m summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 16px;font-size:15px;font-weight:600;color:var(--text-primary)}.ct-toc-m summary::-webkit-details-marker{display:none}.ct-toc-m summary>span{display:inline-flex;align-items:center;gap:8px}.ct-toc-m summary svg{color:var(--text-secondary)}.ct-toc-m summary:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-card)}.ct-toc-m-chev{transition:transform .2s ease}.ct-toc-m[open] .ct-toc-m-chev{transform:rotate(180deg)}.ct-toc-m ol{padding:4px 8px 12px;border-top:1px solid var(--border-subtle);counter-reset:tocm}.ct-toc-m li{counter-increment:tocm}.ct-toc-m a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px;padding:10px 8px;border-radius:var(--radius);font-size:15px;line-height:22px;color:var(--text-body);text-decoration:none}.ct-toc-m a:before{content:counter(tocm);font-family:var(--font-mono);font-size:13px;color:var(--text-muted)}.ct-toc-m a:hover{background:var(--surface-subtle)}.ct-prose{font-size:18px;line-height:1.6}.ct-prose p{margin:0 0 1.1em}.ct-prose h2{margin:2.2em 0 .55em;font-size:28px;line-height:1.25;letter-spacing:-.022em;text-wrap:balance}.ct-prose h3{margin:1.7em 0 .45em;font-size:21px;line-height:1.3;text-wrap:balance}.ct-prose h2+h3{margin-top:.9em}.ct-prose ul,.ct-prose ol{margin:0 0 1.2em}.ct-prose li{margin:.4em 0}.ct-prose code{overflow-wrap:anywhere}.ct-prose pre{font-size:14px;line-height:1.65;max-width:100%}.ct-prose pre:focus-visible,.ct-prose .su-tablewrap:focus-visible,.ct-shotscroll:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ct-prose table{font-size:15px;min-width:560px}.ct-prose .su-tablewrap table{min-width:560px}.ct-prose td,.ct-prose th{padding:12px 16px}.ct-summary{margin:0 0 1.4em!important;padding-left:20px;border-left:3px solid var(--brand);font-size:20px;line-height:1.55;color:var(--text-primary);text-wrap:pretty}.ct-prose blockquote,.ct-callout{margin:1.6em 0;padding:16px 20px;border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-header);font-size:16px;line-height:1.6;color:var(--text-body);font-style:normal}.ct-prose blockquote{border-left:3px solid var(--brand);border-radius:0 var(--radius-card) var(--radius-card) 0}.ct-faq{display:flex;flex-direction:column;border-top:1px solid var(--border-default)}.ct-faq-item{padding:20px 0;border-bottom:1px solid var(--border-default)}.ct-prose .ct-faq-q{margin:0 0 8px;font-size:18px;line-height:1.4;font-weight:600;letter-spacing:-.01em}.ct-faq-item p{margin:0}.ct-figure{margin:40px 0}.ct-prose .pd-shot img{border:0;border-radius:0}.ct-shotscroll{border-radius:12px}.ct-figcap{margin-top:12px;font-size:14px;line-height:20px;color:var(--text-secondary)}.ct-end{margin-top:56px;padding-top:24px;border-top:1px solid var(--border-default);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.ct-related{background:var(--surface-card);border-top:1px solid var(--border-default);padding-block:64px 96px}.ct-related-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}.ct-related-h{margin:0;font-size:28px;line-height:1.25;font-weight:700;letter-spacing:-.022em;color:var(--text-primary)}.ct-related-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ct-related-grid>li{display:flex;min-width:0}.ct-rcard{position:relative;display:flex;flex-direction:column;gap:12px;width:100%;padding:24px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.ct-rcard:hover{border-color:var(--border-strong);box-shadow:var(--shadow-float);transform:translateY(-2px)}.ct-rcard:focus-within{box-shadow:var(--focus-ring),var(--shadow-card)}.ct-rcard h3{margin:0;font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.015em;color:var(--text-primary);text-wrap:balance}.ct-rcard-link{color:inherit;text-decoration:none}.ct-rcard-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.ct-rcard-link:focus-visible{outline:none}.ct-rcard p{margin:0;font-size:15px;line-height:1.55;color:var(--text-secondary)}.ct-rcard .ct-rcard-meta{margin-top:auto;padding-top:12px;display:flex;gap:8px;font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums}@media (max-width: 1011px){.ct-doc{grid-template-columns:minmax(0,700px);padding-block:32px 72px}.ct-aside{display:none}.ct-toc-m{display:block}.ct-prose{grid-row:auto}.ct-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-related-grid>li:nth-child(3){display:none}}@media (max-width: 767px){.ct-hero-inner{padding-block:32px 28px;gap:12px}.ct-dek{font-size:17px}.ct-meta{gap:12px}.ct-author+.ct-meta-facts{padding-left:0;border-left:0;min-height:0}.ct-meta-facts{width:100%;gap:6px 16px}.ct-prose{font-size:17px}.ct-prose h2{font-size:24px}.ct-prose h3{font-size:19px}.ct-summary{font-size:17px;line-height:1.6;padding-left:16px}.ct-hero .su-crumbs li:last-child{display:none}.ct-figure{margin:32px 0}.ct-related{padding-block:48px 64px}.ct-related-h{font-size:24px}.ct-related-grid{grid-template-columns:minmax(0,1fr);gap:16px}.ct-related-grid>li:nth-child(3){display:flex}.ct-rcard{padding:20px}}@media (max-width: 639px){.ct-shotscroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.ct-shotscroll>.pd-shot{width:600px}.ct-figure--window .ct-figcap:after{content:" Scroll sideways to see the full screen.";color:var(--text-muted)}}@media (prefers-reduced-motion: reduce){.ct-toc a,.ct-toc-m-chev,.ct-rcard{transition:none!important}.ct-rcard:hover{transform:none}}@media print{.ct-aside,.ct-toc-m,.ct-related{display:none!important}.ct-doc{display:block}}
