body {
  background: linear-gradient(145deg, rgba(105, 92, 232, 0.16), transparent 42%), var(--bg);
}
.scaling-article { width: min(860px, calc(100% - 40px)); }
.scaling-article h1 { font-size: clamp(2.6rem, 6vw, 5.3rem); line-height: 1.04; margin-top: 16px; }
.scaling-article .article-dek { font-size: 1.2rem; color: var(--ink); }
.scaling-article .article-meta, .source-note { font-size: .85rem; }
.article-cover { margin: 32px 0; }
.article-cover img { width: 100%; height: auto; border-radius: 8px; border: 1px solid var(--line); }
.article-cover figcaption { margin-top: 12px; color: var(--muted); font-size: .8rem; line-height: 1.6; }
.scaling-article section { scroll-margin-top: 28px; }
.scaling-article p a, .scaling-article li a { color: #5141b0; text-decoration: underline; text-underline-offset: 3px; }
.scaling-article li { color: var(--muted); line-height: 1.8; margin-block: 8px; }
.lesson-note, .lesson-nav { padding: 24px; margin: 28px 0; background: var(--panel-strong); border: 1px solid var(--line); border-left: 4px solid var(--violet); border-radius: 8px; }
.lesson-note p { margin-bottom: 0; }
.lesson-nav ol { padding-left: 24px; margin-bottom: 0; }
.service-map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 24px 0; }
.service-map div { padding: 20px; background: #202035; color: #fff; border-radius: 8px; }
.service-map strong { display: block; margin-bottom: 10px; color: #d3caff; }
.service-map span { font-size: .85rem; line-height: 1.6; }
.scaling-article pre { padding: 24px; border-radius: 8px; background: #202035; color: #ece8ff; overflow-x: auto; line-height: 1.65; }
.scaling-article code { font-size: .9em; overflow-wrap: anywhere; }
.article-end { border-top: 1px solid var(--line); padding-top: 32px; margin-top: 48px; }
a:focus-visible { outline: 3px solid #695ce8; outline-offset: 5px; }
@media (max-width: 540px) {
  .service-map { grid-template-columns: 1fr; }
  .scaling-article { padding-top: 32px; }
  .lesson-note, .lesson-nav { padding: 18px; }
}
