.animation{--animation-text-size:.875rem;--animation-caption-size:.8125rem}main.container.animation h2{margin:28px 0 10px;font-size:1.35rem;letter-spacing:-.01em}main.container.animation h3{margin:22px 0 8px;font-size:1.1rem}main.container.animation p{margin:10px 0}main.container.animation ul{margin:10px 0 10px 20px}main.container.animation li{margin:6px 0}main.container.animation img{background:#fff}main.container.animation figure{margin:14px 0 18px;padding:0}main.container.animation figure img,main.container.animation figure video{width:100%;display:block;border:1px solid var(--stroke);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}main.container.animation figure img.natural-size,main.container.animation figure video.natural-size{width:auto;max-width:100%;height:auto}main.container.animation figure.centered-visual>img,main.container.animation figure.centered-visual>video{margin-inline:auto}main.container.animation figure img.theme-invariant-plot{background:#fff}main.container.animation.animation-media-tint img,main.container.animation.animation-media-tint figure img,main.container.animation.animation-media-tint figure video,main.container.animation.animation-media-tint figure img.theme-invariant-plot{background:#f7f7f8}main.container.animation figcaption{color:var(--muted);font-size:var(--animation-text-size);text-align:center}main.container.animation code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}main.container.animation pre{padding:14px 16px;border:1px solid var(--stroke);border-radius:var(--radius);background:color-mix(in oklab,var(--card),transparent 10%);overflow:auto}main.container.animation .math-display{margin:10px 0 16px;padding:14px 16px;border:1px solid var(--stroke);border-radius:var(--radius);background:color-mix(in oklab,var(--card),transparent 10%);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}main.container.animation .math-display>mjx-container[display="true"]{width:max-content;margin-inline:auto;max-width:none;overflow:visible}.animation [id]{scroll-margin-top:90px}.animation-section,.animation-reading{margin-top:26px}.animation-section p,.animation-reading p{line-height:1.8}.animation-reading{margin-bottom:38px;font-size:var(--animation-text-size);color:var(--muted)}.animation-story{margin-block:2.7rem}.animation .article-aside,.animation .article-quote{box-sizing:border-box;width:100%;margin:1.5rem auto;padding:1.25rem 1.5rem;border-left:.35rem solid #ffb000;background:color-mix(in srgb,#ffb000 10%,transparent);font-size:1rem;line-height:1.8}main.container.animation .article-aside>:first-child{margin-top:0}main.container.animation .article-aside>:last-child{margin-bottom:0}.animation .article-aside .article-quote{margin:1.25rem 0;padding:0 0 0 1rem;border-left-width:.2rem;background:transparent}main.container.animation .article-quote p{margin:0}.animation .article-quote cite{display:block;margin-top:.8rem;color:var(--muted);font-size:var(--animation-text-size)}.animation .article-jumps{margin:2rem 0 2.5rem;padding:1rem 1.2rem;border:1px solid var(--stroke);border-radius:1rem}.animation .article-jumps strong{display:block;margin-bottom:.55rem}.animation .article-jumps ol{margin:0;padding-left:1.4rem}.animation .article-jumps li+li{margin-top:.4rem}.animation .article-jumps a{text-decoration-thickness:.08em;text-underline-offset:.16em}.animation .equation-stack{font-size:.95em}.animation-media-grid{display:grid;grid-template-columns:var(--animation-columns,repeat(2,minmax(0,1fr)));gap:1rem;margin:1.5rem 0;align-items:stretch}.animation-media-grid--three{--animation-columns:repeat(3,minmax(0,1fr))}.animation-media-grid--square{--animation-image-ratio:1}main.container.animation .animation-media-grid figure,main.container.animation .animation-slide-grid figure{min-width:0;margin:0}main.container.animation .animation-media-grid figure img{width:100%;max-width:none;height:auto;aspect-ratio:var(--animation-image-ratio,auto);object-fit:contain}.animation-media-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--stroke);border-radius:1rem;background:#f7f7f8}.animation-media-card img{flex:1 1 auto;min-height:0}main.container.animation .animation-media-card figcaption{margin:0;padding:.72rem .85rem;border-top:1px solid #e5e7eb;color:#0a0a0a;background:#f7f8fa;font-size:var(--animation-text-size);line-height:1.45}.animation-figure-panel,.animation-slide-grid{padding:.9rem;border:1px solid var(--stroke);border-radius:1rem;background:#f7f7f8;box-shadow:var(--shadow)}.animation-figure-panel figure,.animation-slide-grid figure{display:flex;flex-direction:column;overflow:hidden}main.container.animation :is(.animation-media-card,.animation-figure-panel figure,.animation-slide-grid figure) img{border:0;border-radius:0;box-shadow:none}main.container.animation :is(.animation-figure-panel,.animation-slide-grid) figcaption{color:#0a0a0a}.animation-slide-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:repeat(2,auto);gap:.9rem;margin:1.75rem 0 2.2rem}.animation-slide-main{grid-column:1;grid-row:1/3;order:1}.animation-slide-top{grid-column:2;grid-row:1;order:2}.animation-slide-bottom{grid-column:2;grid-row:2;order:3}.animation-slide-grid img{flex:1 1 auto;width:100%;min-height:0;height:auto;object-fit:contain}.animation-slide-main img{aspect-ratio:var(--animation-main-ratio,auto);height:100%}.animation-slide-top img,.animation-slide-bottom img{flex:none;aspect-ratio:var(--animation-detail-ratio,auto)}.animation-slide-grid figcaption,.animation-figure-panel figcaption,.animation-figure figcaption{flex:0 0 auto;padding:.55rem .25rem 0;line-height:1.4}main.container.animation .animation-figure{margin:1.5rem 0 2rem}.animation-figure img{height:auto;object-fit:contain}main.container.animation figure.animation-figure--narrow img{width:min(100%,32.5rem);max-width:100%}.animation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}main.container.animation .animation-steps h3{font-size:1rem;margin:14px 0 6px}.animation-steps p{font-size:var(--animation-text-size)}.animation-table-scroll{overflow-x:auto;margin:1.4rem 0}.animation-table{font:inherit;letter-spacing:inherit;width:100%;border-collapse:collapse;text-align:center}.animation-table caption{margin-bottom:.6rem;color:var(--muted);font-size:var(--animation-caption-size);font-weight:600;text-align:left}.animation-table th,.animation-table td{padding:.8rem 1rem;border:1px solid var(--stroke)}.animation-table th{font-weight:600;background:color-mix(in srgb,currentColor 7%,transparent)}.animation-interactive{--animation-ink:#0a0a0a;--animation-muted:#586b7e;--animation-border:#dce2e9;width:100%;margin-top:24px;color:var(--animation-ink);font-size:var(--animation-text-size);line-height:1.6;color-scheme:light}.animation-interactive *{box-sizing:border-box}.animation-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:26px;padding:16px 18px;background:var(--card);border:1px solid var(--stroke);border-radius:12px;color:var(--fg)}.animation-setting{flex:1 1 160px;min-width:0}.animation-setting label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--animation-text-size);font-weight:600;margin-bottom:9px}.animation-setting output{color:inherit;font-variant-numeric:tabular-nums}.animation-setting input[type="range"]{display:block;width:100%;height:22px;margin:0;accent-color:var(--accent);cursor:pointer}.animation-controls{display:flex;align-items:center;gap:10px}.icon-button.animation-control{width:42px;height:42px;flex:0 0 42px}.icon-button.animation-control svg{width:18px;height:18px}.animation-interactive :is(input,select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}main.container.animation .animation-settings-note{margin:10px 0 16px;color:var(--muted);font-size:var(--animation-caption-size)}.animation-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.animation-panel{min-width:0;border:1px solid var(--animation-border);border-radius:12px;overflow:hidden;background:#fff}.animation-panel--padded{margin-top:20px;padding:15px 18px 12px}.animation-panel-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:13px 18px;border-bottom:1px solid var(--animation-border);font-size:var(--animation-text-size)}.animation-panel-title{display:flex;align-items:center;gap:8px;font-weight:600}.animation-status{color:var(--animation-muted);font-size:var(--animation-caption-size)}.animation-status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#9aa8b5}.animation-status-dot.is-running{background:#4b81b7;box-shadow:0 0 0 3px #e5edf6}.animation-panel-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:11px 16px;font-size:var(--animation-caption-size);color:var(--animation-muted)}.animation-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:0 18px;font-size:var(--animation-caption-size)}.animation-legend>span{display:inline-flex;align-items:center;gap:6px}.animation-plot{display:block;width:100%;font-size:var(--animation-caption-size);color:var(--animation-muted)}.animation-key{display:inline-block;width:16px;color:var(--animation-series-color,currentColor)}.animation-key--bar{height:9px;background:color-mix(in srgb,currentColor 28%,transparent);border:1px solid color-mix(in srgb,currentColor 60%,transparent);border-radius:2px}.animation-key--line{border-top:2px solid}.animation-key--dashed{border-top-style:dashed}.animation-key--points{position:relative}.animation-key--points::after{content:"";position:absolute;width:6px;height:6px;left:5px;top:-4px;border-radius:50%;background:currentColor}main.container.animation .animation-chart-note{margin:13px 0;padding:0 18px;font-size:var(--animation-text-size);line-height:1.6;color:var(--animation-muted)}.animation-formula{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:0 18px 18px;padding:12px 15px;background:#f5f7fa;border-radius:7px}.animation-formula>span{font-size:inherit;color:var(--animation-ink)}.animation-formula small{color:var(--animation-muted);font-size:var(--animation-caption-size)}.animation-selection{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:var(--animation-text-size)}.animation-selection label{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-weight:600}.animation-selection select{max-width:100%;padding:8px;border:1px solid #cdd8e4;border-radius:7px;color:var(--animation-ink);background:#fafbfd;font:inherit}.animation-selection>span{color:var(--animation-muted)}main.container.animation .animation-history-note{margin:0;font-size:var(--animation-caption-size);line-height:1.6;color:var(--animation-muted)}.animation-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.animation-data{border-top:1px solid var(--stroke);padding-top:14px;color:var(--fg);font-size:var(--animation-caption-size)}.animation-data summary{cursor:pointer}.animation-data .animation-table-scroll{margin:10px 0 0}.animation-table--numeric{font-size:var(--animation-caption-size)}.animation-table--numeric caption{text-align:left;margin:8px 0}.animation-table--numeric th,.animation-table--numeric td{text-align:right;padding:9px;border:0;border-bottom:1px solid var(--stroke);white-space:nowrap}.animation-table--numeric th{background:none}.animation-table--numeric th:first-child,.animation-table--numeric td:first-child{text-align:left}@media(max-width:900px){.animation-media-grid--three{grid-template-columns:1fr}.animation-slide-grid{grid-template-columns:1fr;grid-template-rows:auto}.animation-slide-grid figure{grid-column:1;grid-row:auto}.animation-slide-grid img{height:auto}}@media(max-width:760px){.animation-toolbar{gap:14px 20px;padding:14px}.animation-setting{flex-basis:calc(50% - 10px)}.animation-controls{margin-left:auto}.animation-steps{grid-template-columns:1fr;gap:0}.animation-panel-head{padding:12px}.animation-panel-footer{padding:10px 12px}.animation-panel--padded{padding:13px 12px}.animation-legend{gap:8px 12px}.animation-formula{display:block}.animation-formula small{display:block;margin-top:7px}}@media(max-width:680px){.animation-media-grid{grid-template-columns:1fr}}