.toc{position:sticky;top:7rem}.toc-link{color:var(--color-mute);border-left:1px solid #0000;margin-left:-.75rem;padding:.45rem 0 .45rem .75rem;font-size:.875rem;line-height:1.35;transition:color .3s,border-color .3s;display:block}.toc-link.is-active,.toc-link:hover{color:var(--sens-ink);border-color:var(--color-pink)}.toc-progress{background:var(--color-line);height:1px;margin-top:1.5rem;overflow:hidden}.toc-progress span{background:var(--color-pink);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}@media (width<=1023px){.toc{position:static}}.toc-summary{cursor:pointer;margin-bottom:1rem}.toc-summary::-webkit-details-marker{display:none}@media (width<=1023px){.toc-summary:after{content:"+";color:var(--color-pink);margin-left:.5rem}.toc-details[open] .toc-summary:after{content:"−"}}@media (width>=1024px){.toc-summary{pointer-events:none;cursor:default;list-style:none}}.article-page{padding-top:clamp(140px,12vw,184px)}.article-header{max-width:1400px}.article-breadcrumb{letter-spacing:.09em;align-items:center;font-size:11px}.article-breadcrumb>span:last-child{color:#66516d;background:#f0ecf3;border-radius:100px;padding:6px 12px}.article-title{letter-spacing:-.045em;text-wrap:balance;max-width:27ch;margin-top:28px;font-size:clamp(38px,4.7vw,76px);line-height:1.06}.article-deck{border-left:3px solid var(--sens-accent);max-width:62ch;font-family:var(--font-serif);color:#666170;margin-top:32px;padding-left:24px;font-size:clamp(22px,2vw,30px);line-height:1.45}.article-meta{color:#666170;border-top:1px solid #e4dfe7;border-bottom:1px solid #e4dfe7;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:36px;padding-block:22px;font-size:12px;display:flex}.article-author{color:var(--sens-ink);align-items:center;gap:10px;font-weight:600;display:inline-flex}.author-dot{background:var(--sens-accent);border-radius:50%;width:8px;height:8px}.article-layout{grid-template-columns:250px minmax(0,740px);justify-content:space-between;gap:clamp(40px,6vw,100px);max-width:1400px;margin-top:56px;display:grid}.article-sidebar .toc{background:#f6f3f8;border-radius:16px;padding:24px}.article-sidebar .toc-summary{letter-spacing:.09em;color:#66516d;font-size:11px}.article-sidebar .toc-link{color:#77717e}.article-sidebar .toc-link:is(.is-active,:hover,:focus-visible){color:var(--sens-ink);border-color:var(--sens-accent)}.article-sidebar .toc-link:focus-visible{outline-offset:3px;outline:2px solid #9e427f}.article-body{color:#585360;max-width:70ch;font-size:18px;line-height:1.8}.article-body>p:first-child{color:var(--sens-ink);margin-top:0;font-size:20px;line-height:1.65}.article-body h2{letter-spacing:-.025em;color:var(--sens-ink);margin-top:2.1em;margin-bottom:.65em;font-size:clamp(28px,2.6vw,38px);line-height:1.15}.article-body h3{color:var(--sens-ink);font-size:24px;line-height:1.3}.article-body blockquote{border-left:3px solid var(--sens-accent);background:#f6f3f8;border-radius:0 16px 16px 0;padding:20px 24px}@media (width<=1023px){.article-layout{grid-template-columns:minmax(0,1fr);gap:32px;max-width:820px}.article-sidebar .toc{padding:20px 24px}.article-sidebar .toc-summary{margin-bottom:0}.article-sidebar .toc-details[open] .toc-summary{margin-bottom:16px}.article-sidebar .toc-progress{display:none}}@media (width<=600px){.article-title{letter-spacing:-.035em;font-size:clamp(34px,8vw,44px)}.article-deck{margin-top:24px;padding-left:16px;font-size:23px}.article-meta{gap:12px 20px;margin-top:28px}.article-author{flex-basis:100%}.article-layout{margin-top:32px}.article-body{font-size:17px;line-height:1.75}.article-body>p:first-child{font-size:18px}}.article-body ul,.article-body ol{padding-left:1.6em;list-style-position:outside}.article-body ul{list-style-type:disc}.article-body ol{list-style-type:decimal}.article-body li,.article-body ul li{padding-left:.35em}.article-body ul li:before{content:none}.article-body li+li{margin-top:.85em}.article-body li::marker{color:#9e427f;font-weight:600}.article-byline{align-items:center;gap:18px;display:flex}.article-byline p{margin:0;font-size:14px;line-height:1.55}.byline-duo{flex:none;width:64px;height:48px;position:relative}.byline-portrait{object-fit:cover;border-radius:50%;width:48px;height:48px}.byline-ai{background:var(--sens-accent);width:30px;height:30px;color:var(--sens-ink);border:2px solid var(--sens-white);border-radius:50%;place-items:center;font-size:18px;line-height:1;display:grid;position:absolute;bottom:0;right:0}
