.d-flex{display:flex!important}.d-block{display:block!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-grow-1{flex-grow:1!important}.justify-content-between{justify-content:space-between!important}.align-items-center{align-items:center!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.list-unstyled{padding-left:0!important;list-style:none!important}.m-0{margin:0!important}.mb-0{margin-bottom:0!important}.mt-auto{margin-top:auto!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.min-vh-100{min-height:100vh!important}.w-100{width:100%!important}.small{font-size:.875em}.text-secondary{color:#64748b!important}.text-decoration-none{text-decoration:none!important}.img-fluid{max-width:100%;height:auto}.lead{font-size:1.25rem;font-weight:300}.breadcrumb{display:flex;flex-wrap:wrap;padding:0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#64748b;content:"/"}.breadcrumb-item.active{color:#64748b}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.gap-md-5{gap:3rem!important}.align-items-md-center{align-items:center!important}}
.content-shell{display:grid;grid-template-columns:minmax(0, 820px) 230px;gap:88px;-webkit-box-align:start;-ms-flex-align:start;align-items:start;padding:42px 0 72px}.content-body{color:var(--text);font-size:16px;line-height:1.68}.content-body p{margin-bottom:1.05rem}.content-body h2{margin-top:0;margin-bottom:18px;font-size:clamp(1.45rem,1.2rem + .8vw,2rem);line-height:1.12;letter-spacing:-0.025em}.content-body h3{margin-top:0;margin-bottom:.55rem;font-size:1.08rem;line-height:1.28;letter-spacing:-0.015em}.content-body :not(pre)>code,.article-content :not(pre)>code,.page-content :not(pre)>code,.inline-code{display:inline;padding:.1em .36em;border:1px solid var(--code-border);border-radius:5px;background:var(--code-bg);color:var(--code-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:.88em;font-weight:600;line-height:1.35;white-space:nowrap}.content-body a code,.article-content a code,.page-content a code{color:var(--accent)}.code-block{margin:28px 0;overflow:hidden;border:1px solid var(--code-border);border-radius:10px;background:var(--surface)}.article-content>pre.code-block,.page-content>pre.code-block{padding:18px 20px;overflow-x:auto;background:var(--surface);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:1.65}.code-block__label{display:-webkit-box;display:-ms-flexbox;display:flex;min-height:34px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 14px;border-bottom:1px solid var(--line-soft);background:var(--code-bg);color:var(--muted-strong);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.code-block pre{margin:0;padding:18px 20px;overflow-x:auto;background:var(--surface);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:1.65}.code-block code{padding:0;border:0;background:rgba(0,0,0,0);color:inherit;font-size:inherit;font-weight:500;white-space:pre}.section-block{padding:30px 0}.section-block:first-child{padding-top:0}.feature-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));margin-top:28px;border-top:1px solid var(--line-soft);border-left:1px solid var(--line-soft)}.feature-card{min-height:188px;padding:28px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--surface)}.feature-card p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.6}.principles-list{display:grid;gap:22px;margin-top:28px}.principle-item{padding:0}.principle-item p{max-width:680px;margin-bottom:0;color:var(--muted)}.cta-panel{margin-top:18px;padding:40px 44px;border:1px solid var(--line);background:var(--surface-muted)}.cta-panel h2{max-width:640px;margin:0 0 12px;font-size:28px;line-height:1.15;letter-spacing:-0.035em}.cta-panel p{max-width:620px;margin:0 0 18px;color:var(--muted)}.process-list{margin:28px 0 0;padding:0;border-top:1px solid var(--line-soft);list-style:none}.process-step{display:grid;grid-template-columns:56px minmax(0, 1fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--line-soft)}.process-step h3{margin:0 0 6px;font-size:1rem;letter-spacing:-0.015em}.process-step p{margin:0;color:var(--muted);line-height:1.6}.process-step__number,.process-step-number{color:var(--accent);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em}.process-step-text{margin:0;color:var(--text) !important;font-weight:560;letter-spacing:-0.01em}.stack-list{display:grid;gap:10px;padding:0;margin:24px 0 0;list-style:none}.stack-list li{padding:0;color:var(--muted)}.stack-list strong{color:var(--text)}.clean-list{display:grid;gap:10px;margin:20px 0 0;padding:0;list-style:none}.clean-list li{position:relative;padding-left:22px;line-height:1.6}.clean-list li::before{content:"";position:absolute;top:.72em;left:0;width:6px;height:6px;background:var(--accent)}.btn-primary-soft{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;min-height:42px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0 16px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:14px;font-weight:600;text-decoration:none}.btn-primary-soft:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.btn-text-soft{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;min-height:42px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--accent);font-size:14px;font-weight:600;text-decoration:none}.btn-text-soft:hover{color:var(--accent-strong)}.mobile-menu-panel a{text-decoration:none}.mobile-menu-panel a[aria-current=page]{color:var(--accent)}.site-mobile-menu{display:none}.site-mobile-menu summary{display:grid;place-items:center;width:42px;height:42px;border:0;padding:0;background:rgba(0,0,0,0);cursor:pointer;list-style:none}.site-mobile-menu summary::-webkit-details-marker{display:none}.site-mobile-menu summary span,.site-mobile-menu summary span::before,.site-mobile-menu summary span::after{display:block;width:22px;height:2px;border-radius:999px;background:var(--text)}.site-mobile-menu summary span{position:relative}.site-mobile-menu summary span::before,.site-mobile-menu summary span::after{position:absolute;left:0;content:""}.site-mobile-menu summary span::before{top:-7px}.site-mobile-menu summary span::after{top:7px}.site-mobile-menu[open] summary span{background:rgba(0,0,0,0)}.site-mobile-menu[open] summary span::before{top:0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.site-mobile-menu[open] summary span::after{top:0;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.site-mobile-menu nav{position:fixed;z-index:30;top:72px;right:0;bottom:0;left:0;padding:24px 14px;background:var(--surface);border-top:1px solid var(--line-soft)}.site-mobile-menu nav ul{display:grid;gap:14px}.site-mobile-menu nav a{display:block;color:var(--text);font-size:15px;font-weight:450;line-height:1.45}.site-mobile-menu nav a:hover{color:var(--accent)}@media(max-width: 768px){.site-nav,.search-button{display:none}.site-mobile-menu{display:block}}.page-aside{position:relative;-ms-flex-item-align:stretch;align-self:stretch}.page-toc{position:sticky;top:32px;max-height:calc(100vh - 64px);overflow-y:auto;font-size:13px}.page-toc__title,.page-toc-title{margin-bottom:12px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.page-toc__list,.page-toc-list{display:grid;gap:2px;margin:0;padding:0 0 0 14px;border-left:1px solid var(--line-soft);list-style:none}.page-toc a{position:relative;display:block;padding:5px 0;color:var(--muted);line-height:1.35;text-decoration:none}.page-toc a:hover{color:var(--accent)}.page-toc a.is-active,.page-toc a[aria-current=true],.page-toc a[aria-current=location],.page-toc a[aria-current=page]{color:var(--accent);font-weight:600}.page-toc a.is-active::before,.page-toc a[aria-current=true]::before,.page-toc a[aria-current=location]::before,.page-toc a[aria-current=page]::before{content:"";position:absolute;top:6px;bottom:6px;left:-15px;width:1px;background:var(--accent)}.site-footer{border-top:1px solid var(--line-soft)}@media(max-width: 992px){.content-shell{display:block}.page-aside{display:none}.page-toc{position:static;margin-top:32px}}@media(max-width: 768px){.feature-grid{grid-template-columns:1fr}}@media(max-width: 640px){.section-block{padding:30px 0}.feature-card,.cta-panel{padding:24px}.process-step{grid-template-columns:1fr;gap:8px}}
/* TASK-021 generated from SASS partials */
.home-shell {
    padding: 54px 0 82px;
}

.home-section {
    padding: 44px 0;
}

.home-section:first-child {
    padding-top: 0;
}

.home-section__header {
    display: grid;
    grid-template-columns: minmax(0, 440px) minmax(0, 1fr);
    gap: 72px;
    align-items: end;
    margin-bottom: 28px;
}

.home-section__header h2 {
    margin: 0;
    font-size: clamp(1.55rem, 1.1rem + 1.3vw, 2.5rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.home-section__header p {
    max-width: 640px;
    margin: 0;
    color: var(--muted);
    line-height: 1.66;
}

.scenario-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--line-soft);
    border-left: 1px solid var(--line-soft);
}

.scenario-card {
    min-height: 278px;
    padding: 28px;
    border-right: 1px solid var(--line-soft);
    border-bottom: 1px solid var(--line-soft);
    background: var(--surface);
}

.scenario-card__number,
.guide-step span,
.home-panel__kicker,
.featured-material__type {
    color: var(--accent);
    font-weight: 750;
    letter-spacing: 0.05em;
}

.scenario-card__number,
.guide-step span {
    display: block;
    margin-bottom: 16px;
    font-size: 12px;
}

.scenario-card__number {
    margin-bottom: 24px;
}

.scenario-card h3 {
    max-width: 320px;
    margin: 0 0 12px;
    font-size: 1.18rem;
    line-height: 1.22;
    letter-spacing: -0.022em;
}

.scenario-card p,
.guide-step p,
.home-panel p,
.featured-material p,
.home-cta p,
.home-cta__note {
    color: var(--muted);
}

.scenario-card p {
    margin: 0 0 18px;
    font-size: 0.95rem;
    line-height: 1.62;
}

.scenario-card a:not(.scenario-card__link),
.home-link-list a,
.featured-material h3 a {
    color: inherit;
    text-decoration: none;
}

.scenario-card a:not(.scenario-card__link):hover,
.home-link-list a:hover,
.featured-material h3 a:hover {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

.scenario-card__link {
    display: inline-flex;
    align-items: center;
    color: var(--accent);
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
}

.scenario-card__link:hover {
    color: var(--accent-strong);
    text-decoration: underline;
}

.guide-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid var(--line-soft);
    background: var(--line-soft);
}

.guide-step,
.home-panel {
    background: var(--surface);
}

.guide-step {
    padding: 24px;
}

.guide-step h3 {
    margin: 0 0 8px;
    font-size: 1rem;
    line-height: 1.28;
    letter-spacing: -0.015em;
}

.guide-step p {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.58;
}

.home-two-column {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1px;
    border: 1px solid var(--line-soft);
    background: var(--line-soft);
}

.home-panel {
    padding: 32px;
}

.home-panel__kicker {
    margin: 0 0 18px;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.home-panel h2 {
    margin: 0 0 14px;
    font-size: clamp(1.45rem, 1.1rem + 0.9vw, 2rem);
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.home-panel p {
    margin: 0 0 20px;
    line-height: 1.65;
}

.home-link-list {
    display: grid;
    gap: 12px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.home-link-list a {
    display: inline-flex;
    color: var(--text);
    font-weight: 600;
}

.featured-material {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 32px;
    align-items: start;
    padding: 32px 0;
    border-top: 1px solid var(--line-soft);
}

.featured-material:last-child {
    border-bottom: 1px solid var(--line-soft);
}

.featured-material__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-bottom: 14px;
    color: var(--muted);
    font-size: 13px;
}

.featured-material__type {
    font-size: inherit;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.featured-material h3 {
    max-width: 720px;
    margin: 0 0 12px;
    font-size: clamp(1.3rem, 1.05rem + 0.7vw, 1.85rem);
    line-height: 1.14;
    letter-spacing: -0.035em;
}

.featured-material h3 a {
    color: var(--text);
}

.featured-material p {
    max-width: 690px;
    margin: 0 0 18px;
    line-height: 1.66;
}

.featured-material__thumb {
    margin: 0;
    border: 1px solid var(--line-soft);
    background: var(--surface-muted);
}

.featured-material__thumb img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.home-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    gap: 48px;
    align-items: center;
    margin-top: 36px;
    padding: 42px 46px;
    border: 1px solid var(--line);
    background: var(--surface-muted);
}

.home-cta h2 {
    max-width: 760px;
    margin: 0 0 14px;
    font-size: clamp(1.6rem, 1.1rem + 1.4vw, 2.6rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.home-cta p {
    max-width: 720px;
    margin: 0;
    line-height: 1.66;
}

.home-cta__action {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding-left: 32px;
    border-left: 1px solid var(--line-soft);
}

.home-cta__note {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.58;
}

@media (max-width: 1100px) {
    .scenario-grid,
    .guide-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .home-section__header,
    .home-two-column,
    .featured-material,
    .home-cta {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .featured-material__thumb {
        max-width: 420px;
    }

    .home-cta__action {
        padding-left: 0;
        border-left: 0;
    }
}

@media (max-width: 640px) {
    .home-shell {
        padding: 42px 0 64px;
    }

    .scenario-grid,
    .guide-strip {
        grid-template-columns: 1fr;
    }

    .scenario-card,
    .home-panel,
    .guide-step,
    .home-cta {
        padding: 24px;
    }
}

.article-shell {
    display: grid;
    grid-template-columns: minmax(0, 820px) minmax(280px, 360px);
    gap: 72px;
    align-items: start;
    padding: 42px 0 72px;
}

.article-cover {
    margin: 0 0 38px;
}

.article-cover img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--line-soft);
    background: var(--surface-muted);
}

.article-cover figcaption {
    max-width: 680px;
    margin-top: 10px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.article-content {
    color: var(--text);
    font-size: 16px;
    line-height: 1.72;
}

.article-content > p:first-child {
    font-size: 1.08rem;
    line-height: 1.68;
}

.article-section {
    padding: 34px 0 0;
}

.article-section h2 {
    margin: 0 0 18px;
    font-size: clamp(1.45rem, 1.2rem + 0.8vw, 2rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.article-content h3 {
    margin: 30px 0 10px;
    font-size: 1.08rem;
    line-height: 1.28;
    letter-spacing: -0.015em;
}

.article-content ul,
.article-content ol {
    display: grid;
    gap: 10px;
    margin: 18px 0 22px;
}

.article-content ul,
.article-link-list {
    padding: 0;
    list-style: none;
}

.article-content ul li,
.article-link-list li {
    position: relative;
    padding-left: 22px;
}

.article-content ul li::before,
.article-link-list li::before {
    content: "";
    position: absolute;
    top: 0.72em;
    left: 0;
    width: 6px;
    height: 6px;
    background: var(--accent);
}

.article-content ol {
    padding-left: 1.35rem;
}

.article-quote {
    margin: 28px 0;
    padding: 22px 26px;
    border-left: 2px solid var(--accent);
    background: var(--surface-muted);
    color: var(--text);
}

.article-quote p {
    margin: 0;
}

.article-topic-block,
.article-related,
.article-cta {
    margin-top: 48px;
    padding: 30px;
    border: 1px solid var(--line-soft);
    background: var(--surface-muted);
}

.article-topic-block h2,
.article-related h2,
.article-cta h2 {
    margin: 0 0 12px;
    font-size: 1.35rem;
    letter-spacing: -0.025em;
}

.article-topic-block p,
.article-related p,
.article-cta p {
    max-width: 660px;
}

.article-link-list {
    display: grid;
    gap: 10px;
    margin: 18px 0 0;
}

.article-topic-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    margin-top: 18px;
    font-size: 14px;
}

.article-aside {
    position: relative;
    align-self: stretch;
}

.article-toc {
    position: sticky;
    top: 32px;
    max-height: calc(100vh - 64px);
    overflow-y: auto;
    font-size: 13px;
}

.article-toc-title {
    margin-bottom: 12px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.article-toc-list {
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 0 0 0 14px;
    border-left: 1px solid var(--line-soft);
    list-style: none;
}

.article-toc a {
    position: relative;
    display: block;
    padding: 5px 0;
    color: var(--muted);
    line-height: 1.32;
    text-decoration: none;
}

.article-toc a:hover,
.article-toc a.is-active,
.article-toc a[aria-current="location"] {
    color: var(--accent);
}

.article-toc a.is-active,
.article-toc a[aria-current="location"] {
    font-weight: 600;
}

.article-toc a.is-active::before,
.article-toc a[aria-current="location"]::before {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: -15px;
    width: 1px;
    background: var(--accent);
}

@media (max-width: 992px) {
    .article-shell {
        display: block;
    }

    .article-aside {
        display: none;
    }
}

.topics-shell {
    display: grid;
    grid-template-columns: minmax(0, 900px) minmax(230px, 280px);
    gap: 88px;
    align-items: start;
    padding: 42px 0 72px;
}

.topics-content {
    color: var(--text);
    font-size: 16px;
    line-height: 1.68;
}

.topics-intro-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 34px;
    padding: 0;
    list-style: none;
}

.topics-intro-nav a {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 0 12px;
    border: 1px solid var(--line-soft);
    background: var(--surface);
    color: var(--muted-strong);
    font-size: 13px;
    font-weight: 560;
    text-decoration: none;
}

.topics-intro-nav a:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.topic-group {
    padding: 58px 0 34px;
}

.topic-group:first-of-type {
    padding-top: 0;
}

.topic-group__header {
    max-width: 720px;
    margin-bottom: 24px;
}

.topic-group h2 {
    margin: 0 0 12px;
    font-size: clamp(1.45rem, 1.2rem + 0.8vw, 2rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.topic-group__description,
.hub-card p,
.topics-note p {
    color: var(--muted);
}

.topic-group__description {
    margin: 0;
}

.hub-list {
    display: grid;
    gap: 0;
}

.hub-card {
    padding: 30px 0;
    border-bottom: 1px solid var(--line-soft);
}

.hub-card h3 {
    margin: 0 0 10px;
    font-size: 1.12rem;
    line-height: 1.28;
    letter-spacing: -0.015em;
}

.hub-card h3 a {
    color: var(--text);
    text-decoration: none;
}

.hub-card h3 a:hover,
.hub-links a:hover {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

.hub-card p {
    max-width: 760px;
    margin: 0;
}

.hub-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 34px;
    row-gap: 8px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
    line-height: 1.4;
}

.hub-links a {
    text-decoration: none;
}

.hub-links a::after {
    content: " \2192";
    color: var(--muted);
}

.topics-note {
    margin-top: 34px;
    padding: 28px 32px;
    border: 1px solid var(--line);
    background: var(--surface-muted);
}

.topics-note h2 {
    margin: 0 0 12px;
    font-size: 1.45rem;
    line-height: 1.15;
    letter-spacing: -0.03em;
}

.topics-note p {
    max-width: 680px;
    margin: 0 0 18px;
}

.topics-note p:last-child {
    margin-bottom: 0;
}

@media (max-width: 992px) {
    .topics-shell {
        display: block;
    }
}

@media (max-width: 768px) {
    .hub-links {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .topics-shell {
        padding: 32px 0 56px;
    }

    .topics-note {
        padding: 24px;
    }
}

.topic-hub-shell {
    display: grid;
    grid-template-columns: minmax(0, 820px) minmax(260px, 320px);
    gap: 88px;
    align-items: start;
    padding: 42px 0 72px;
}

.topic-hub-content {
    color: var(--text);
    font-size: 16px;
    line-height: 1.68;
}

.topic-hub-content p {
    margin-bottom: 1.05rem;
}

.topic-hub-content h2 {
    margin: 0 0 18px;
    font-size: clamp(1.45rem, 1.2rem + 0.8vw, 2rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.topic-hub-content h3 {
    margin: 0 0 10px;
    font-size: 1.08rem;
    line-height: 1.28;
    letter-spacing: -0.015em;
}

.hub-section {
    padding: 34px 0;
}

.hub-section:first-child {
    padding-top: 0;
}

.hub-lead-block {
    max-width: 760px;
}

.hub-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 28px;
    border-top: 1px solid var(--line-soft);
    border-left: 1px solid var(--line-soft);
}

.hub-summary-item {
    min-height: 150px;
    padding: 24px;
    border-right: 1px solid var(--line-soft);
    border-bottom: 1px solid var(--line-soft);
    background: var(--surface);
}

.hub-summary-item span {
    display: block;
    margin-bottom: 10px;
    color: var(--accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.hub-summary-item p,
.hub-map-card p,
.reading-step p,
.materials-group__head p,
.qa-item p,
.hub-cta-panel p {
    color: var(--muted);
}

.hub-summary-item p {
    margin: 0;
    font-size: 0.94rem;
    line-height: 1.58;
}

.hub-map {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: 28px;
    border-top: 1px solid var(--line-soft);
    border-left: 1px solid var(--line-soft);
}

.hub-map-card {
    min-height: 210px;
    padding: 28px;
    border-right: 1px solid var(--line-soft);
    border-bottom: 1px solid var(--line-soft);
}

.hub-map-card p,
.materials-group__head p {
    margin: 0;
    font-size: 0.94rem;
    line-height: 1.6;
}

.reading-path {
    margin: 28px 0 0;
    padding: 0;
    border-top: 1px solid var(--line-soft);
    list-style: none;
}

.reading-step {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 24px;
    padding: 20px 0;
    border-bottom: 1px solid var(--line-soft);
}

.reading-step-number {
    color: var(--accent);
    font-size: 12px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.04em;
}

.reading-step p {
    margin: 0;
    line-height: 1.6;
}

.materials-group {
    padding: 30px 0;
    border-bottom: 1px solid var(--line-soft);
}

.materials-group:first-of-type {
    border-top: 1px solid var(--line-soft);
}

.materials-group__head {
    max-width: 720px;
    margin-bottom: 18px;
}

.materials-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 34px;
    row-gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
    line-height: 1.4;
}

.materials-list a {
    text-decoration: none;
}

.materials-list a:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

.materials-list a::after {
    content: " \2192";
    color: var(--muted);
}

.qa-list {
    display: grid;
    gap: 22px;
    margin-top: 28px;
}

.qa-item p {
    max-width: 720px;
    margin: 0;
}

.related-topic-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.related-topic-list a {
    display: block;
    padding: 16px 18px;
    border: 1px solid var(--line-soft);
    color: var(--text);
    font-size: 14px;
    font-weight: 560;
    text-decoration: none;
}

.related-topic-list a:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.hub-cta-panel {
    margin-top: 18px;
    padding: 40px 44px;
    border: 1px solid var(--line);
    background: var(--surface-muted);
}

.hub-cta-panel h2 {
    max-width: 640px;
    margin: 0 0 12px;
    font-size: 28px;
    line-height: 1.15;
    letter-spacing: -0.035em;
}

.hub-cta-panel p {
    max-width: 620px;
    margin: 0 0 18px;
}

@media (max-width: 992px) {
    .topic-hub-shell {
        display: block;
    }
}

@media (max-width: 768px) {
    .hub-summary-grid,
    .hub-map,
    .materials-list,
    .related-topic-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .topic-hub-shell {
        padding: 32px 0 56px;
    }

    .hub-summary-item,
    .hub-map-card,
    .hub-cta-panel {
        padding: 24px;
    }

    .reading-step {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

.knowledge-shell {
    display: grid;
    grid-template-columns: minmax(0, 840px) minmax(260px, 320px);
    gap: 88px;
    align-items: start;
    padding: 42px 0 72px;
}

.knowledge-content {
    color: var(--text);
    font-size: 16px;
    line-height: 1.68;
}

.knowledge-section {
    padding: 34px 0;
}

.knowledge-section:first-child {
    padding-top: 0;
}

.knowledge-content h2 {
    margin: 0 0 18px;
    font-size: clamp(1.45rem, 1.2rem + 0.8vw, 2rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.knowledge-intro {
    max-width: 760px;
    color: var(--muted);
}

.content-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
}

.content-filter button {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 0 12px;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--muted-strong);
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}

.content-filter button:hover,
.content-filter button.is-active,
.content-filter button[aria-pressed="true"] {
    border-color: var(--accent);
    color: var(--accent);
}

.content-filter button:focus-visible,
.knowledge-filter-button:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}

.material-list {
    display: grid;
    margin-top: 30px;
}

.material-month {
    margin-top: 38px;
}

.material-month:first-child {
    margin-top: 0;
}

.material-month__title {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 0;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line-soft);
    color: var(--text);
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: -0.015em;
}

.material-month__count {
    color: var(--muted);
    font-size: 12px;
    font-weight: 500;
}

.material-card {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 32px;
    padding: 30px 0;
    border-bottom: 1px solid var(--line-soft);
}

.material-card__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 24px;
    align-items: start;
}

.material-card__body--plain {
    grid-template-columns: minmax(0, 1fr);
}

.material-card__content {
    min-width: 0;
}

.material-card__thumb {
    margin: 0;
}

.material-card__thumb img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--line-soft);
    background: var(--surface-muted);
}

.material-card__meta {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
}

.material-type {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    margin-bottom: 12px;
    color: var(--accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.material-date {
    display: block;
    color: var(--muted);
}

.material-card h3 {
    margin: 0 0 10px;
    font-size: clamp(1.18rem, 1rem + 0.5vw, 1.55rem);
    line-height: 1.15;
    letter-spacing: -0.025em;
}

.material-card h3 a {
    color: var(--text);
    text-decoration: none;
}

.material-card h3 a:hover,
.material-card__links a:hover {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

.material-card p {
    max-width: 680px;
    margin: 0;
    color: var(--muted);
    line-height: 1.62;
}

.material-card__links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 16px;
    font-size: 13px;
}

.material-card__links a {
    color: var(--muted-strong);
    text-decoration: none;
}

.knowledge-note {
    margin-top: 34px;
    padding: 28px 30px;
    border: 1px solid var(--line-soft);
    background: var(--surface-muted);
}

.knowledge-note h2 {
    margin-bottom: 12px;
    font-size: 1.35rem;
}

.knowledge-note p {
    max-width: 680px;
    margin: 0;
    color: var(--muted);
}

.knowledge-aside {
    position: relative;
    align-self: stretch;
}

.knowledge-toc {
    position: sticky;
    top: 32px;
    max-height: calc(100vh - 64px);
    overflow-y: auto;
    font-size: 13px;
}

.knowledge-toc-title {
    margin-bottom: 12px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.knowledge-filter-list {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.knowledge-filter-button {
    width: 100%;
    padding: 6px 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
}

.knowledge-filter-button:hover,
.knowledge-filter-button.is-active,
.knowledge-filter-button[aria-pressed="true"] {
    color: var(--accent);
    font-weight: 600;
}

.knowledge-sidebar-section + .knowledge-sidebar-section {
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid var(--line-soft);
}

[data-material][hidden],
.material-month[hidden] {
    display: none !important;
}

@media (max-width: 992px) {
    .knowledge-shell {
        display: block;
    }

    .knowledge-aside {
        display: none;
    }
}

@media (max-width: 768px) {
    .material-card__body {
        grid-template-columns: 1fr;
    }

    .material-card__thumb {
        order: -1;
        margin-bottom: 16px;
    }
}

@media (max-width: 640px) {
    .material-card {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 26px 0;
    }

    .knowledge-note {
        padding: 24px;
    }
}

.contact-shell {
    display: grid;
    grid-template-columns: minmax(0, 760px) minmax(280px, 340px);
    gap: 96px;
    align-items: start;
    padding: 42px 0 72px;
}

.contact-content {
    color: var(--text);
    font-size: 16px;
    line-height: 1.68;
}

.contact-content p {
    margin-bottom: 1.05rem;
}

.contact-section {
    padding: 30px 0;
}

.contact-section:first-child {
    padding-top: 0;
}

.contact-content h2 {
    margin: 0 0 18px;
    font-size: clamp(1.45rem, 1.2rem + 0.8vw, 2rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.contact-methods {
    display: grid;
    margin-top: 28px;
    border-top: 1px solid var(--line-soft);
    border-left: 1px solid var(--line-soft);
}

.contact-method,
.contact-read-card {
    display: block;
    text-decoration: none;
}

.contact-method {
    padding: 26px 28px;
    border-right: 1px solid var(--line-soft);
    border-bottom: 1px solid var(--line-soft);
    background: var(--surface);
}

.contact-method:hover,
.contact-read-card:hover {
    background: var(--surface-hover);
}

.contact-method:hover h3,
.contact-read-card:hover h3 {
    color: var(--accent-strong);
}

.contact-method h3,
.contact-read-card h3 {
    margin: 0 0 8px;
    color: var(--text);
    font-size: 1.08rem;
    line-height: 1.28;
    letter-spacing: -0.015em;
}

.contact-method p,
.contact-read-card p,
.contact-panel p,
.contact-note,
.contact-fit-list li {
    color: var(--muted);
}

.contact-method p,
.contact-read-card p {
    max-width: 620px;
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.6;
}

.contact-read-card {
    margin-top: 24px;
    padding: 28px 30px;
    border: 1px solid var(--line-soft);
    background: var(--surface-muted);
}

.contact-fit-list {
    display: grid;
    gap: 12px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.contact-fit-list li {
    position: relative;
    padding-left: 22px;
    line-height: 1.6;
}

.contact-fit-list li::before {
    content: "";
    position: absolute;
    top: 0.72em;
    left: 0;
    width: 6px;
    height: 6px;
    background: var(--accent);
}

.contact-panel {
    padding: 30px;
    border: 1px solid var(--line);
    background: var(--surface-muted);
}

.contact-panel h2 {
    margin: 0 0 12px;
    font-size: 1.3rem;
    line-height: 1.2;
    letter-spacing: -0.025em;
}

.contact-panel p {
    margin: 0 0 18px;
    font-size: 0.95rem;
    line-height: 1.6;
}

.contact-aside {
    position: sticky;
    top: 32px;
}

.contact-note {
    margin-top: 24px;
    font-size: 13px;
    line-height: 1.55;
}

@media (max-width: 992px) {
    .contact-shell {
        display: block;
    }

    .contact-aside {
        position: static;
        margin-top: 20px;
    }
}

@media (max-width: 640px) {
    .contact-shell {
        padding: 30px 0 56px;
    }

    .contact-method,
    .contact-read-card {
        padding: 22px;
    }

    .contact-panel {
        padding: 24px;
    }
}

.pagination-block {
    margin-top: 42px;
    padding-top: 24px;
}

.pagination-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pagination-list a {
    display: inline-flex;
    min-width: 34px;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid var(--line-soft);
    color: var(--muted-strong);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.pagination-list a:hover,
.pagination-list a[aria-current="page"] {
    border-color: var(--accent);
    color: var(--accent);
}

.pagination-list a:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}

.article-detail-hero .material-type,.content-tags-label,.status-tag,.article-meta,.meta-item,.badge{color:var(--muted);font-size:13px}.content-tags{margin-top:22px}.content-tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none}.content-tag-list a,.content-tag-list span,.status-tag,.badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--line-soft);background:var(--surface-muted);color:var(--muted-strong);text-decoration:none}.article-meta{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:20px}.summary-box,.insight-box,.diagram,.case-metrics{margin:28px 0;padding:24px;border:1px solid var(--line-soft);background:var(--surface-muted)}.summary-title,.summary-box h2{margin-top:0}.table-scroll{overflow-x:auto;margin:24px 0}.decision-table{width:100%;border-collapse:collapse;font-size:14px}.decision-table th,.decision-table td{padding:12px 14px;border:1px solid var(--line-soft);vertical-align:top}.decision-table th{background:var(--surface-muted);text-align:left}.case-metrics,.diagram{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.case-metric,.diagram-step{display:grid;gap:6px}.case-metric strong,.diagram-step strong{color:var(--accent);font-size:1.45rem}.page-cover{margin:30px 0}.page-cover svg,.page-cover img{display:block;width:100%;height:auto;border:1px solid var(--line-soft);background:var(--surface-muted)}.guide-orientation{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;margin:28px 0;border-top:1px solid var(--line-soft)}.guide-orientation-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;align-items:start;min-height:86px;padding:18px 0;border-bottom:1px solid var(--line-soft);background:var(--surface)}.guide-orientation-number{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:1px solid var(--line-soft);background:var(--surface-muted);color:var(--accent);font-size:12px;font-weight:700;line-height:1}@media(max-width:768px){.case-metrics,.diagram,.guide-orientation{grid-template-columns:1fr}}
.article-content .task-list,.article-content .checklist{display:grid;gap:12px;margin:20px 0 24px;padding:0;list-style:none}.article-content .task-list li,.article-content .checklist li{padding-left:0}.article-content .task-list li:before,.article-content .checklist li:before{content:none}.checklist-label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;align-items:start}.checklist-checkbox{margin-top:.44em}.checklist-checkbox:checked~.checklist-text{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:currentColor}.checklist-control{display:none}.article-cta .d-flex{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.article-cta .button,.article-cta .text-link{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:0 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;text-decoration:none}.article-cta .button{border:1px solid var(--accent);background:var(--accent);color:#fff}.article-cta .button:hover{border-color:var(--accent-strong);background:var(--accent-strong);color:#fff}.article-cta .text-link{border:1px solid var(--line-soft);background:var(--surface);color:var(--accent)}.article-cta .text-link:hover{border-color:var(--accent);color:var(--accent-strong)}
.markdown-content > :first-child {
  margin-top: 0;
}

.markdown-content > :last-child {
  margin-bottom: 0;
}

.markdown-content h2 {
  scroll-margin-top: 120px;
}

.markdown-content h2:not(:first-child) {
  margin-top: 3rem;
}

.markdown-content h3 {
  margin-top: 2rem;
}

.markdown-content p,
.markdown-content li {
  line-height: 1.75;
}

.markdown-content ul,
.markdown-content ol {
  padding-left: 1.25rem;
}

.markdown-content pre {
  overflow-x: auto;
  border-radius: 0.75rem;
  padding: 1rem;
  background: #111827;
  color: #f8fafc;
}

.markdown-content code {
  font-size: 0.95em;
}

.markdown-cover {
  margin-bottom: 2.5rem !important;
}

.home-shell > .home-section.markdown-content {
  display: block;
}

.home-section.markdown-content > h2 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  margin-bottom: 1rem;
}

.home-section.markdown-content > ul:first-of-type {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 3rem;
}

.home-section.markdown-content > ul:first-of-type li {
  min-height: 100%;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 1rem;
  padding: 1.25rem;
  background: #fff;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
}

.knowledge-content.markdown-content > ul {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 1rem;
}

.knowledge-content.markdown-content > ul li {
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 1rem;
  padding: 1.25rem;
  background: #fff;
}

@media (max-width: 991.98px) {
  .home-section.markdown-content > ul:first-of-type {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .home-section.markdown-content > ul:first-of-type {
    grid-template-columns: 1fr;
  }

  .markdown-content h2:not(:first-child) {
    margin-top: 2.25rem;
  }
}
.article-content>pre.astro-code,.page-content>pre.astro-code{margin:28px 0;padding:16px 18px;overflow-x:auto;border:1px solid var(--code-border);border-radius:8px;background:var(--surface)!important;color:var(--text)!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:1.65}.article-content>pre.astro-code code,.page-content>pre.astro-code code,.article-content>pre.astro-code span,.page-content>pre.astro-code span{color:inherit!important;white-space:pre}