.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:70;background:var(--spectrum);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}@supports (animation-timeline:view()) and (timeline-scope:--a){.art{timeline-scope:--art-read}.art .prose{view-timeline:--art-read block;view-timeline-inset:var(--head-h) 0}.progress{animation:read-grow linear both;animation-timeline:--art-read;animation-range:contain 0 contain 100%}}@keyframes read-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.art{--atoc-bar-h:44px}.art .prose h2[id]{scroll-margin-top:0}.art .prose h2[id]:focus{outline:none}.art .prose h2[id]:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.atoc{align-self:start;min-width:0;font-size:14px}.atoc-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:12px}.atoc-title{font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.atoc-count,.atoc-title{font-family:var(--mono);font-size:11.5px}.atoc-count{letter-spacing:.02em;color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.atoc-scroll{padding:4px 6px 6px 0;margin:-4px -6px -6px 0}.atoc-track{position:relative;padding-left:16px}.atoc-rail{position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--line);pointer-events:none}.atoc-fill{position:absolute;inset:0;background:var(--blue);opacity:.24;transform-origin:50% 0;transform:scaleY(var(--fill,0));transition:transform .45s var(--ease)}.atoc-thumb{position:absolute;left:0;top:0;width:2px;height:var(--th,0);transform:translateY(var(--ty,0));background:rgba(11,87,208,.38);transition:transform .38s var(--ease),height .38s var(--ease)}.atoc-thumb:after{content:"";position:absolute;inset:0;background:var(--blue);transform-origin:50% 0;transform:scaleY(var(--sec,0))}.atoc-list{list-style:none;display:grid;grid-gap:1px;gap:1px}.atoc-link{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:baseline;padding:6px 0;color:var(--text-2);line-height:1.4;transition:color .2s}.atoc-num{position:relative;font-family:var(--mono);font-size:11px;color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:color .2s}.atoc-num:after{content:"";position:absolute;left:0;top:50%;width:12px;height:12px;margin-top:-6px;background:var(--blue);opacity:0;transform:scale(.4);transition:opacity .2s,transform .25s var(--ease);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.4 5 8.8l4.7-5.4' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.4 5 8.8l4.7-5.4' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.atoc-link:hover{color:var(--text)}.atoc-link:hover .atoc-num{color:var(--blue)}.is-done .atoc-link{color:var(--text-3)}.is-done .atoc-link:hover{color:var(--text)}.is-done .atoc-link:hover .atoc-num,.is-done .atoc-num{color:transparent}.is-done .atoc-num:after{opacity:.7;transform:none}.is-active .atoc-link,.is-active .atoc-link:hover,.is-active .atoc-num{color:var(--blue)}@media (min-width:1100px){.atoc{position:-webkit-sticky;position:sticky;top:calc(var(--head-h) + 28px);display:flex;flex-direction:column;max-height:calc(100vh - var(--head-h) - 40px);max-height:calc(100dvh - var(--head-h) - 40px)}.atoc-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}}.atoc-bar{display:none}@media (max-width:1099px){.atoc{border:var(--stroke);border-radius:var(--r);padding:18px 20px 14px;background:var(--ice);box-shadow:var(--shadow-s)}.art-grid--toc .prose h2[id]{scroll-margin-top:var(--atoc-bar-h)}.atoc-bar{display:block;position:fixed;top:var(--head-h);left:0;right:0;z-index:45;height:var(--atoc-bar-h);background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 12px 24px -22px rgba(11,21,38,.5);transform:translateY(-100%);visibility:hidden;transition:transform .28s var(--ease),visibility 0s linear .28s}.atoc-bar.is-shown{transform:none;visibility:visible;transition:transform .28s var(--ease),visibility 0s}.atoc-btn{display:flex;align-items:center;gap:12px;width:100%;height:100%;padding:0 var(--gutter);border:0;background:none;color:var(--text);text-align:left;cursor:pointer}.atoc-btn:focus-visible{outline-offset:-3px}.atoc-btn .atoc-count{flex:none;color:var(--blue)}.atoc-now{flex:1 1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;letter-spacing:-.005em}.atoc-chev{flex:none;width:12px;height:12px;color:var(--text-3);transition:transform .2s var(--ease)}.atoc-btn[aria-expanded=true] .atoc-chev{transform:rotate(180deg)}.atoc-line{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none}.atoc-line:after{content:"";position:absolute;inset:0;background:var(--blue);transform-origin:0 50%;transform:scaleX(var(--sec,0))}.atoc-panel{position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - var(--head-h) - var(--atoc-bar-h) - 32px);max-height:calc(100dvh - var(--head-h) - var(--atoc-bar-h) - 32px);overflow-y:auto;overscroll-behavior:contain;padding:6px var(--gutter) 12px;background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 28px 40px -28px rgba(11,21,38,.45);animation:atoc-drop .2s var(--ease) both}.atoc-panel[hidden]{display:none}.atoc-panel .atoc-item+.atoc-item{border-top:1px solid var(--ice-deep)}.atoc-panel .atoc-link{align-items:center;min-height:46px;padding:8px 0 8px 12px;font-size:15px}.atoc-panel .is-active .atoc-link{box-shadow:inset 2px 0 0 var(--blue);font-weight:600}}@keyframes atoc-drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media print{.atoc-bar,.progress{display:none}}