.training-shell{grid-template-columns:270px minmax(0,1fr);max-width:1480px;margin:0 auto;font-size:1rem;display:grid}.training-nav{border-right:1px solid var(--color-border);align-self:start;height:calc(100vh - 64px);position:sticky;top:64px}.training-nav-mobile{display:none}.training-nav-inner{scrollbar-width:thin;height:100%;padding:1.25rem 1rem 3rem 1.5rem;font-size:.85rem;overflow-y:auto}.training-nav-home{margin-bottom:1.25rem;font-size:.95rem;display:block}.training-nav-home b{color:#0000;background-image:linear-gradient(to bottom right,#6366f1,#d946ef,#ec4899);-webkit-background-clip:text;background-clip:text}.training-nav-part{margin-bottom:1.1rem}.training-nav-part>p{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-offset);margin-bottom:.35rem;font-size:.7rem;font-weight:700}.training-nav-part a{border-radius:6px;gap:.5rem;margin-left:-.5rem;padding:.22rem .5rem;line-height:1.35;display:flex}.training-nav-part a:hover{background:var(--color-background-offset)}.training-nav-part a[aria-current=page]{background:var(--color-background-offset);color:var(--color-primary);font-weight:600}.nav-no{font-variant-numeric:tabular-nums;color:var(--color-text-offset);flex:none;padding-top:.08rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.training-main{grid-template-columns:minmax(0,860px) 210px;gap:3rem;padding:2rem 2.5rem 5rem;display:grid}.training-toc{align-self:start;font-size:.8rem;position:sticky;top:96px}.training-toc>p:first-child{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-offset);margin-bottom:.5rem;font-size:.7rem;font-weight:700}.training-toc ol{border-left:1px solid var(--color-border);margin-bottom:1.25rem}.training-toc li a{color:var(--color-text-offset);border-left:2px solid #0000;margin-left:-1px;padding:.2rem 0 .2rem .75rem;display:block}.training-toc li a.active{border-left-color:var(--color-primary);color:var(--color-text)}.toc-extra{margin-top:.35rem}.toc-extra a{color:var(--color-secondary)}.training-breadcrumb{color:var(--color-text-offset);flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;font-size:.8rem;display:flex}.training-breadcrumb a:hover{color:var(--color-secondary)}.chapter-no{letter-spacing:.05em;color:var(--color-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;font-weight:700}.chapter-no span{color:var(--color-text-offset);font-weight:400}.chapter-header h1{letter-spacing:-.02em;margin:.35rem 0 .75rem;font-size:clamp(1.9rem,1.2rem + 2.2vw,2.9rem);font-weight:800;line-height:1.12}.chapter-lead{color:var(--color-text-offset);max-width:46rem;font-size:1.2rem;line-height:1.55}.chapter-meta{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;font-size:.8rem;display:flex}.chapter-meta li{border:1px solid var(--color-border);background:var(--color-background-offset);border-radius:999px;padding:.2rem .65rem}.chapter-meta a{color:var(--color-secondary)}.chapter-meta code{font-size:.78rem}.chapter-progress{background:var(--color-background-offset);border-radius:3px;height:3px;margin-top:1.5rem;overflow:hidden}.chapter-progress span{background-image:linear-gradient(90deg,#6366f1,#d946ef,#ec4899);height:100%;display:block}.chapter-learn{border:1px solid var(--color-border);background:var(--color-background-offset);border-radius:12px;margin:1.75rem 0 .5rem;padding:1rem 1.25rem}.chapter-learn>p{margin-bottom:.4rem;font-size:.9rem;font-weight:700}.chapter-learn ul{gap:.25rem;font-size:.97rem;display:grid}.chapter-learn li{padding-left:1.5rem;position:relative}.chapter-learn li:before{content:"✓";color:var(--color-primary);font-weight:700;position:absolute;left:.1rem}.training-prose{font-size:1rem;line-height:1.7}.training-prose>*+*{margin-top:1rem}.training-prose h2{letter-spacing:-.01em;margin-top:2.75rem;padding-top:.5rem;scroll-margin-top:80px;font-size:1.55rem;font-weight:800}.training-prose h3{margin-top:1.75rem;scroll-margin-top:80px;font-size:1.15rem;font-weight:700}.training-prose a:not(.api-link):not(.chapter-link){color:var(--color-secondary);text-underline-offset:2px;text-decoration:underline}.training-prose ul,.training-prose ol{padding-left:1.4rem}.training-prose ul{list-style:outside}.training-prose ol{list-style:decimal}.training-prose li+li{margin-top:.3rem}.training-prose li::marker{color:var(--color-text-offset)}.training-prose strong{font-weight:700}.training-prose :not(pre)>code,.training-learn code,.chapter-refs code,.api-link code{background:var(--color-background-offset);border:1px solid var(--color-border);border-radius:5px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}.api-link,.chapter-link{color:var(--color-secondary)}.api-link:hover code{border-color:var(--color-secondary)}.chapter-link{text-underline-offset:3px;text-decoration:underline dotted}.training-prose .expressive-code{margin-top:1.1rem;margin-bottom:1.1rem}.training-prose kbd{border:1px solid var(--color-border);background:var(--color-background-offset);border-bottom-width:2px;border-radius:4px;padding:.05em .4em;font-family:ui-monospace,monospace;font-size:.8em}.training-prose table{border-collapse:collapse;width:100%;font-size:.9rem;display:block;overflow-x:auto}.training-prose th,.training-prose td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.45rem .7rem}.training-prose th{background:var(--color-background-offset);white-space:nowrap;font-weight:700}.training-prose td.num,.training-prose th.num{text-align:right;font-variant-numeric:tabular-nums}.callout{border:1px solid var(--color-border);background:var(--color-background-offset);border-left-width:4px;border-radius:10px;margin:1.5rem 0;padding:.9rem 1.1rem}.callout-title{margin-bottom:.25rem;font-weight:700}.callout-body>*+*{margin-top:.5rem}.callout-tip{border-left-color:#10b981}.callout-pitfall{border-left-color:#f59e0b}.callout-note{border-left-color:#6366f1}.callout-version{border-left-color:#ec4899}.training-figure{margin:1.75rem 0}.training-figure .shot{border:1px solid var(--color-border);border-radius:10px;width:100%;height:auto;box-shadow:0 10px 30px -18px #00000073}.training-figure figcaption,.training-diagram figcaption{color:var(--color-text-offset);text-align:center;margin-top:.6rem;font-size:.85rem}html[data-theme=dark] .shot-light,html:not([data-theme=dark]) .shot-dark{display:none}.training-diagram{margin:2rem 0}.training-diagram svg{width:100%;height:auto}.chapter-refs{border-top:1px solid var(--color-border);gap:1.5rem;margin-top:3.5rem;padding-top:1.5rem;display:grid}.chapter-refs h2{margin-bottom:.6rem;font-size:1rem;font-weight:800}.api-chips,.showcase-chips{flex-wrap:wrap;gap:.45rem;display:flex}.showcase-chips a{border:1px solid var(--color-border);border-radius:999px;padding:.2rem .75rem;font-size:.85rem;display:inline-block}.showcase-chips a:hover{border-color:var(--color-primary);color:var(--color-primary)}.chapter-pager{grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem;display:grid}.chapter-pager a{border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:.2rem;padding:1rem 1.2rem;transition:border-color .15s,transform .15s;display:flex}.chapter-pager a:hover{border-color:var(--color-primary);color:inherit;transform:translateY(-2px)}.chapter-pager span{color:var(--color-text-offset);font-size:.78rem}.chapter-pager b{font-weight:700;line-height:1.35}.pager-next{text-align:right;grid-column:2}.training-hero{text-align:center;max-width:980px;margin:0 auto;padding:3.5rem 1.5rem 1rem}.training-hero h1{letter-spacing:-.03em;font-size:clamp(2.4rem,1.4rem + 4vw,4.4rem);font-weight:800;line-height:1.05}.training-hero .lead{max-width:44rem;color:var(--color-text-offset);margin:1.25rem auto 0;font-size:1.2rem;line-height:1.6}.training-cta{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem;display:flex}.btn-gradient,.btn-outline{border-radius:999px;align-items:center;gap:.4rem;padding:.65rem 1.3rem;font-weight:700;display:inline-flex}.btn-gradient{color:#fff;background-image:linear-gradient(to bottom right,#6366f1,#d946ef,#ec4899)}.btn-gradient:hover{color:#fff;filter:brightness(1.08)}.btn-outline{border:1px solid var(--color-border)}.btn-outline:hover{border-color:var(--color-primary)}.training-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;max-width:980px;margin:2.5rem auto 0;padding:0 1.5rem;display:grid}.training-facts div{border:1px solid var(--color-border);text-align:center;border-radius:12px;padding:1rem}.training-facts b{font-size:1.8rem;font-weight:800;display:block}.training-facts span{color:var(--color-text-offset);font-size:.85rem}.training-section{max-width:1180px;margin:0 auto;padding:3rem 1.5rem 0}.training-section>h2{margin-bottom:.5rem;font-size:1.8rem;font-weight:800}.training-section>p.sub{color:var(--color-text-offset);max-width:50rem;margin-bottom:1.5rem}.part-block{margin-top:2.5rem;scroll-margin-top:80px}.part-head{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:1rem;display:flex}.part-head .part-no{color:var(--color-primary);font-family:ui-monospace,monospace;font-size:.8rem;font-weight:700}.part-head h3{font-size:1.35rem;font-weight:800}.part-head p{color:var(--color-text-offset)}.chapter-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.chapter-card{border:1px solid var(--color-border);background:var(--color-background);border-radius:12px;flex-direction:column;gap:.4rem;padding:1.1rem 1.2rem;transition:border-color .15s,transform .15s;display:flex}.chapter-card:hover{border-color:var(--color-primary);color:inherit;transform:translateY(-2px)}.chapter-card .card-no{color:var(--color-text-offset);font-family:ui-monospace,monospace;font-size:.75rem}.chapter-card b{font-size:1.02rem;line-height:1.3}.chapter-card p{color:var(--color-text-offset);font-size:.88rem;line-height:1.5}.chapter-card .card-meta{color:var(--color-text-offset);margin-top:auto;padding-top:.4rem;font-size:.75rem}.training-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.training-steps li{background:var(--color-background-offset);border-radius:12px;padding:1.1rem 1.2rem}.training-steps b{margin-bottom:.3rem;display:block}.training-steps p{color:var(--color-text-offset);font-size:.9rem;line-height:1.55}@media (width<=1280px){.training-main{grid-template-columns:minmax(0,1fr);padding:2rem 2rem 4rem}.training-toc{display:none}}@media (width<=1024px){.training-shell{grid-template-columns:minmax(0,1fr)}.training-nav{z-index:15;border-right:0;border-bottom:1px solid var(--color-border);background:var(--color-background);height:auto;position:sticky;top:64px}.training-nav-mobile{cursor:pointer;padding:.6rem 1rem;font-size:.9rem;font-weight:600;display:block}.training-nav-inner{max-height:calc(100vh - 120px);padding:.5rem 1rem 1.5rem;display:none}.training-nav.open .training-nav-inner{display:block}.chapter-cards,.training-steps,.training-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.training-main{padding:1.25rem 1rem 3rem}.chapter-cards,.training-steps,.chapter-pager{grid-template-columns:minmax(0,1fr)}.pager-next{grid-column:1}.chapter-lead{font-size:1.05rem}}.shot-missing{text-align:center;border:2px dashed var(--color-border);color:var(--color-text-offset);padding:4rem 1rem}.training-prose :not(pre)>code,.api-link code,.chapter-meta code{overflow-wrap:anywhere}.training-section .expressive-code{margin-top:1.25rem}
