.viz-block .frame{margin:0;background:var(--frame-bg);border:1px solid var(--frame-border);border-radius:var(--frame-radius);padding:1.5rem 1.75rem 1.75rem}.viz-block .frame-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.viz-block .frame-titles{min-width:0}.viz-block .frame-title{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--fg);letter-spacing:-.02em;margin:0;line-height:1.2}.viz-block .frame-sublabel{font-family:var(--font-mono);font-size:.72rem;color:var(--muted);letter-spacing:.04em;margin:.3rem 0 0}.viz-block .frame-play{appearance:none;background:#64ffda14;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:.5rem 1.1rem;font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.06em;cursor:pointer;transition:background .15s,color .15s,box-shadow .4s;flex-shrink:0;white-space:nowrap}.viz-block .frame-play:hover:not(:disabled){background:#64ffda2e}.viz-block .frame-play:disabled{background:transparent;color:var(--muted);border-color:var(--muted);cursor:default}.viz-block .frame-play.is-replay{animation:frame-replay-pulse 2.4s ease-out 1}@keyframes frame-replay-pulse{0%{box-shadow:0 0 #64ffda80}40%{box-shadow:0 0 0 10px #64ffda00}to{box-shadow:0 0 #64ffda00}}.viz-block .frame-body{min-height:1px}@media(max-width:640px){.viz-block .frame{padding:1.15rem 1.15rem 1.25rem}}@media(prefers-reduced-motion:reduce){.viz-block .frame-play{display:none}}.viz-block .trio-frame{background:var(--frame-bg);border:1px solid var(--frame-border);border-radius:var(--frame-radius);padding:1.5rem 1.75rem 1.75rem}.viz-block .trio-title{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--fg);letter-spacing:-.02em;margin:0 0 1.5rem;line-height:1.2}.viz-block .trio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}.viz-block .trio-card{position:relative;padding:1.15rem 1.25rem 1.25rem;background:var(--bg);border:1px solid var(--frame-border);border-radius:8px;transition:border-color .25s,background .25s}.viz-block .trio-card.open{border-color:var(--accent);background:#64ffda05}.viz-block .trio-frame.all-open .trio-card{border-color:var(--frame-border);background:var(--bg)}.viz-block .trio-frame.all-open .trio-num-static{color:var(--muted)}.viz-block .trio-toggle{position:absolute;inset:0;background:transparent;border:0;padding:0;cursor:pointer;color:inherit}.viz-block .trio-num{position:absolute;top:.9rem;left:1.25rem;font-family:var(--font-mono);font-size:.65rem;color:var(--light);letter-spacing:.16em}.viz-block .trio-glyph{position:absolute;top:.7rem;right:1.1rem;font-family:var(--font-mono);font-size:1rem;color:var(--muted);line-height:1;transition:color .2s}.viz-block .trio-card.open .trio-glyph{color:var(--accent)}.viz-block .trio-icon{display:inline-flex;color:var(--accent);margin-top:1.5rem;line-height:0}.viz-block .trio-icon svg{display:block}.viz-block .trio-name{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--fg);letter-spacing:-.02em;margin:.5rem 0;line-height:1.1}.viz-block .trio-card:not(:has(.trio-icon)) .trio-name{margin-top:1.75rem}.viz-block .trio-lede{font-family:var(--font-body);font-size:.85rem;color:var(--muted);line-height:1.5;margin:0}.viz-block .trio-subs{display:flex;flex-direction:column;gap:.85rem;border-top:1px solid var(--rule);padding-top:1rem;margin-top:1rem;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .25s ease,padding-top .25s ease,margin-top .25s ease}.viz-block .trio-card.open .trio-subs{max-height:500px;opacity:1}.viz-block .trio-sub{display:flex;flex-direction:column;gap:.15rem}.viz-block .trio-sub b{font-family:var(--font-mono);font-size:.68rem;color:var(--accent);letter-spacing:.1em;font-weight:500}.viz-block .trio-sub span{font-family:var(--font-body);font-size:.82rem;color:var(--muted);line-height:1.5}.viz-block .trio-foot{margin:1.25rem 0 0;font-family:var(--font-body);font-size:.8rem;color:var(--muted);line-height:1.6}@media(max-width:900px){.viz-block .trio-grid{grid-template-columns:1fr}.viz-block .trio-card.open .trio-subs{max-height:800px}}.viz-block .carousel{margin:0;background:var(--frame-bg);border:1px solid var(--frame-border);border-radius:var(--frame-radius);padding:1.5rem 1.75rem;overflow:hidden}.viz-block .carousel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.viz-block .carousel-titles{min-width:0}.viz-block .carousel-title{font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:var(--fg);letter-spacing:-.02em;margin:0;line-height:1.2}.viz-block .carousel-sublabel{font-family:var(--font-mono);font-size:.72rem;color:var(--muted);letter-spacing:.04em;margin:.3rem 0 0}.viz-block .carousel-toggle{appearance:none;background:#64ffda0d;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:.4rem .75rem;font-family:var(--font-mono);font-size:.72rem;line-height:1;cursor:pointer;transition:background .15s,transform .15s;min-width:34px;flex-shrink:0}.viz-block .carousel-toggle:hover{background:#64ffda2e}.viz-block .carousel-toggle:active{transform:scale(.95)}.viz-block .carousel-rail{display:flex;gap:0;margin:0 0 1.25rem;border-bottom:1px solid var(--frame-border);padding:0;overflow-x:auto;scrollbar-width:none}.viz-block .carousel-rail::-webkit-scrollbar{display:none}.viz-block .carousel-tab{position:relative;appearance:none;background:transparent;color:var(--muted);border:0;padding:.65rem 1.1rem .75rem;font-family:var(--font-body);font-size:.85rem;letter-spacing:-.005em;line-height:1.2;cursor:pointer;display:inline-flex;align-items:baseline;gap:.5rem;white-space:nowrap;transition:color .2s;flex-shrink:0}.viz-block .carousel-tab .tab-num{font-family:var(--font-mono);font-size:.68rem;color:var(--light);letter-spacing:.14em}.viz-block .carousel-tab .tab-label{font-weight:500}.viz-block .carousel-tab:hover,.viz-block .carousel-tab.active{color:var(--fg)}.viz-block .carousel-tab.active .tab-num{color:var(--accent)}.viz-block .carousel-tab .tab-fill{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;pointer-events:none}.viz-block .carousel-tab:after{content:"";position:absolute;left:.6rem;right:.6rem;bottom:-1px;height:2px;background:transparent;transition:background .2s}.viz-block .carousel-tab:hover:after{background:var(--stroke-soft)}.viz-block .carousel-viewport{overflow:hidden;border-radius:6px}.viz-block .carousel-track{display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform}.viz-block .carousel-track>[data-slide]{flex:0 0 100%;min-width:0;padding:.5rem}.viz-block .carousel:focus{outline:2px solid var(--accent);outline-offset:-1px}.viz-block .carousel:focus:not(:focus-visible){outline:none}.viz-block .slide-note{font-family:var(--font-body);font-size:.85rem;color:var(--muted);line-height:1.55;margin:0 0 1rem;max-width:640px}.viz-block .slide-tag{margin:.75rem 0 0;font-family:var(--font-mono);font-size:.72rem;color:var(--accent);letter-spacing:.04em;text-align:center}@media(max-width:640px){.viz-block .carousel{padding:1.15rem 1.15rem 1.25rem}.viz-block .carousel-tab{padding:.6rem .85rem .7rem;font-size:.8rem}}@media(prefers-reduced-motion:reduce){.viz-block .carousel-tab .tab-fill{display:none}}.chapter-divider[data-astro-cid-wvfbymi4]{display:flex;align-items:center;gap:1rem;margin:3.5rem 0 1.5rem;scroll-margin-top:2rem}.chapter-divider-rule[data-astro-cid-wvfbymi4]{flex:1;height:1px;background:var(--border)}.chapter-divider-chip[data-astro-cid-wvfbymi4]{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem .85rem;background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.cd-act[data-astro-cid-wvfbymi4]{color:var(--accent);font-weight:500}.cd-label[data-astro-cid-wvfbymi4]{color:var(--muted)}.chapter-nav[data-astro-cid-g4tjp5vm]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--border)}.cn-cell[data-astro-cid-g4tjp5vm]{display:flex;flex-direction:column;gap:.35rem;padding:1.15rem 1.25rem;border:1px solid var(--rule);border-radius:6px;background:transparent;color:inherit;transition:border-color .2s,background .2s}a[data-astro-cid-g4tjp5vm].cn-cell:hover{border-color:var(--accent);background:var(--bg-alt)}a[data-astro-cid-g4tjp5vm].cn-cell:hover .cn-title[data-astro-cid-g4tjp5vm]{color:var(--accent)}.cn-next[data-astro-cid-g4tjp5vm],.cn-toc-right[data-astro-cid-g4tjp5vm],.cn-planned[data-astro-cid-g4tjp5vm]{text-align:right}.cn-dir[data-astro-cid-g4tjp5vm]{font-family:var(--font-mono);font-size:.7rem;color:var(--accent);letter-spacing:.14em;text-transform:uppercase}.cn-num[data-astro-cid-g4tjp5vm]{font-family:var(--font-mono);font-size:.72rem;color:var(--light);letter-spacing:.08em}.cn-title[data-astro-cid-g4tjp5vm]{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--fg);line-height:1.3;transition:color .15s}.cn-hook[data-astro-cid-g4tjp5vm]{margin-top:.35rem;font-family:var(--font-body);font-size:.82rem;color:var(--muted);line-height:1.45}.cn-hook[data-astro-cid-g4tjp5vm] em[data-astro-cid-g4tjp5vm]{font-style:italic;color:var(--muted)}.cn-planned[data-astro-cid-g4tjp5vm]{opacity:.55;cursor:default}.cn-planned[data-astro-cid-g4tjp5vm] .cn-dir[data-astro-cid-g4tjp5vm]{color:var(--muted)}.cn-status[data-astro-cid-g4tjp5vm]{font-family:var(--font-mono);font-size:.66rem;color:var(--light);letter-spacing:.12em;text-transform:uppercase;margin-top:.15rem}@media(max-width:640px){.chapter-nav[data-astro-cid-g4tjp5vm]{grid-template-columns:1fr}.cn-next[data-astro-cid-g4tjp5vm],.cn-toc-right[data-astro-cid-g4tjp5vm],.cn-planned[data-astro-cid-g4tjp5vm]{text-align:left}}.post-toc[data-astro-cid-2depc2iy]{position:sticky;top:2rem;align-self:start;display:flex;flex-direction:column;gap:1.25rem;padding:0 .5rem 0 0;font-family:var(--font-mono)}.toc-back[data-astro-cid-2depc2iy]{display:inline-flex;align-items:center;gap:.65rem;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);transition:gap .2s}.toc-back[data-astro-cid-2depc2iy]:hover{gap:.9rem}.toc-back-line[data-astro-cid-2depc2iy]{display:block;height:1px;width:24px;background:var(--accent);flex-shrink:0}.toc-label[data-astro-cid-2depc2iy]{font-size:.66rem;color:var(--light);letter-spacing:.18em;text-transform:uppercase;margin-top:.5rem}.toc-list[data-astro-cid-2depc2iy]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.15rem}.toc-part[data-astro-cid-2depc2iy]{font-size:.62rem;color:var(--accent);letter-spacing:.18em;text-transform:uppercase;padding:1rem 0 .35rem;border-top:1px solid var(--rule);margin-top:.35rem}.toc-part[data-astro-cid-2depc2iy]:first-child{border-top:none;margin-top:0;padding-top:0}.toc-item[data-astro-cid-2depc2iy] a[data-astro-cid-2depc2iy]{display:block;padding:.35rem 0;font-size:.75rem;font-weight:500;letter-spacing:.02em;text-transform:none;font-family:var(--font-body);color:var(--muted);line-height:1.4;transition:color .15s}.toc-item[data-astro-cid-2depc2iy] a[data-astro-cid-2depc2iy]:hover{color:var(--accent)}.toc-item[data-astro-cid-2depc2iy] a[data-astro-cid-2depc2iy].active{color:var(--fg)}@media(max-width:899px){.post-toc[data-astro-cid-2depc2iy]{position:static;padding:0 0 2rem;border-bottom:1px solid var(--rule);margin-bottom:2rem}}
