.af{--af-red:#fc3a02;--af-red-tint:#fc3a0224;--af-red-paper:#f6dace;--af-spring:cubic-bezier(.34, 1.56, .64, 1);background:var(--panel);cursor:pointer;margin:0;padding:.6rem}.af__svg{background:var(--paper);width:100%;height:auto;font-family:var(--font-label);border-radius:.4rem;display:block}.af__frame{fill:var(--panel);stroke:var(--line);stroke-width:1px}.af__caption{fill:var(--muted);font-size:11px}.af__title{paint-order:stroke;stroke:var(--paper);stroke-width:8px;stroke-linejoin:round}.af__link{stroke:var(--line-strong);stroke-width:1.25px}.af__node-box{fill:var(--paper);stroke:var(--line-strong);stroke-width:1.25px}.af__flash{fill:var(--blue);opacity:0}.af__label{fill:var(--ink);font-size:13px}.af__crack{fill:none;stroke:var(--af-red);stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 2;stroke-dashoffset:1.05px}.af__probe,.af__hit{fill:none;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:1.05px}.af__probe{stroke:var(--ink);stroke-width:1.5px;opacity:.7}.af__hit{stroke:var(--af-red);stroke-width:2px}.af__badge,.af__agent{opacity:0;transform-box:fill-box;transform-origin:50%;transform:scale(.5)}.af__badge-rect{fill:var(--af-red-paper);stroke:var(--af-red);stroke-width:1.25px}.af__badge-text,.af__pr-text{fill:var(--ink);font-size:11px}.af__badge-done{opacity:0}.af__pr{opacity:0;transform:translate(var(--sx), var(--sy)) scale(.5);transform-box:fill-box;transform-origin:50%}.af__pr-card{fill:var(--violet);stroke:var(--ink);stroke-width:1px}.af__merge{fill:var(--ink);stroke:var(--ink);stroke-width:1.5px}.af__merge path{fill:none}.af__attackers{opacity:0}.af__log-line{fill:var(--ink);opacity:0;font-size:11px}.af__dot{fill:var(--ink);opacity:0;transform:translate(var(--sx), var(--sy))}@media (width<=38rem){.af__label{font-size:15px}.af__caption,.af__log-line,.af__badge-text,.af__pr-text{font-size:12.5px}}.af.is-playing .af__svg{animation:10s linear forwards af-cycle}.af.is-playing .af__agent{animation:af-pop .5s var(--af-spring) .2s both}.af.is-playing .af__probe{animation:af-probe .45s ease-in-out var(--pd) both}.af.is-playing .af__flash{animation:af-flash .35s var(--fd) both}.af.is-playing .is-target .af__hit{animation:.25s ease-out 2.5s forwards af-draw,.3s 5.35s forwards af-ink,.4s 9.3s forwards af-fade}.af.is-playing .is-target .af__node-box{animation:.25s 2.6s forwards af-node-hit,.35s 5.35s forwards af-node-fix,.5s 9.3s forwards af-node-reset}.af.is-playing .is-target .af__crack{animation:.35s ease-out 2.6s forwards af-crack-grow,.4s ease-out 5.35s forwards af-crack-seal}.af.is-playing .is-target .af__badge{animation:af-pop .35s var(--af-spring) 2.95s both, af-fade .4s 9.3s forwards}.af.is-playing .is-target .af__badge-rect{animation:.3s 5.5s forwards af-badge-fix}.af.is-playing .is-target .af__badge-found{animation:.2s 5.5s forwards af-fade}.af.is-playing .is-target .af__badge-done{animation:.2s 5.6s forwards af-appear}.af.is-playing .is-target .af__pr{animation:af-pr-pop .4s var(--af-spring) 3.9s both, af-pr-fly .8s cubic-bezier(.65, 0, .35, 1) 4.5s forwards, af-pr-absorb .3s ease-in 5.3s forwards}.af.is-playing .af__log-line{animation:af-log-in .3s ease-out var(--in) forwards, af-log-dim .3s var(--dim) forwards, af-fade .4s 9.4s forwards}.af.is-playing .af__attackers{animation:.3s 6s forwards af-appear,.4s 9.3s forwards af-fade}.af.is-playing .af__dot{animation:af-deflect .9s var(--delay) both}.af.is-static .af__agent,.af.is-static .is-target .af__badge,.af.is-static .af__attackers{opacity:1;transform:none}.af.is-static .is-target .af__node-box,.af.is-static .af__badge-rect{fill:var(--lime);stroke:var(--ink)}.af.is-static .af__log-line{fill:var(--muted);opacity:1}.af.is-static .af__badge-found{opacity:0}.af.is-static .af__badge-done{opacity:1}@keyframes af-cycle{0%{opacity:1}to{opacity:1}}@keyframes af-deflect{0%{opacity:0;transform:translate(var(--sx), var(--sy));animation-timing-function:cubic-bezier(.5,0,1,1)}10%{opacity:1}55%{opacity:1;transform:translate(var(--ex), var(--ey));animation-timing-function:cubic-bezier(.16,1,.3,1)}to{opacity:0;transform:translate(var(--bx), var(--by))}}@keyframes af-crack-grow{to{stroke-dashoffset:0}}@keyframes af-crack-seal{to{stroke-dashoffset:1.05px}}@keyframes af-flash{0%,to{opacity:0}40%{opacity:.7}}@keyframes af-probe{0%{stroke-dashoffset:1.05px}55%,68%{stroke-dashoffset:0}to{stroke-dashoffset:-1.05px}}@keyframes af-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes af-pr-pop{0%{opacity:0;transform:translate(var(--sx), var(--sy)) scale(.5)}to{opacity:1;transform:translate(var(--sx), var(--sy)) scale(1)}}@keyframes af-pr-fly{0%{opacity:1;transform:translate(var(--sx), var(--sy)) scale(1)}to{opacity:1;transform:translate(var(--ex), var(--ey)) scale(1)}}@keyframes af-pr-absorb{0%{opacity:1;transform:translate(var(--ex), var(--ey)) scale(1)}to{opacity:0;transform:translate(var(--ex), var(--ey)) scale(.6)}}@keyframes af-log-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}@keyframes af-log-dim{to{fill:var(--muted)}}@keyframes af-fade{to{opacity:0}}@keyframes af-appear{to{opacity:1}}@keyframes af-draw{to{stroke-dashoffset:0}}@keyframes af-ink{to{stroke:var(--ink);stroke-width:1.5px}}@keyframes af-node-hit{to{fill:var(--af-red-tint);stroke:var(--af-red);stroke-width:1.75px}}@keyframes af-node-fix{to{fill:var(--lime);stroke:var(--ink);stroke-width:1.25px}}@keyframes af-node-reset{to{fill:var(--paper);stroke:var(--line-strong);stroke-width:1.25px}}@keyframes af-badge-fix{to{fill:var(--lime);stroke:var(--ink)}}.writing[data-astro-cid-uxxxn7kc]{margin:0;padding:0;list-style:none}.row[data-astro-cid-uxxxn7kc]{color:inherit;align-items:baseline;gap:1rem;padding-block:.6rem;text-decoration:none;display:flex}.row[data-astro-cid-uxxxn7kc]:focus-visible{outline:1.5px solid var(--ink);outline-offset:2px;border-radius:.25rem}.title[data-astro-cid-uxxxn7kc]{min-width:0;font-size:var(--text-body);text-wrap:pretty;line-height:1.45}.year[data-astro-cid-uxxxn7kc]{color:var(--faint);font-family:var(--font-label);font-size:var(--text-caption);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto}.arrow[data-astro-cid-uxxxn7kc]{color:var(--muted);font-family:var(--font-label);font-size:var(--text-caption);flex-shrink:0}@media (hover:hover) and (pointer:fine){.row[data-astro-cid-uxxxn7kc]:hover .arrow[data-astro-cid-uxxxn7kc]{color:var(--ink)}}.fold__summary[data-astro-cid-y23dczvp]{cursor:pointer;align-items:baseline;gap:1rem;padding-block:.6rem;list-style:none;display:flex}.fold__summary[data-astro-cid-y23dczvp]::-webkit-details-marker{display:none}.fold__summary[data-astro-cid-y23dczvp]:focus-visible{outline:1.5px solid var(--ink);outline-offset:2px;border-radius:.25rem}.fold__title[data-astro-cid-y23dczvp]{min-width:0;font-size:var(--text-body);text-wrap:pretty;line-height:1.45}.fold__meta[data-astro-cid-y23dczvp]{color:var(--faint);font-family:var(--font-label);font-size:var(--text-caption);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto}.fold__icon[data-astro-cid-y23dczvp]{width:.7rem;height:.7rem;color:var(--muted);flex-shrink:0;align-self:center;position:relative}.fold__title[data-astro-cid-y23dczvp]+.fold__icon[data-astro-cid-y23dczvp]{margin-left:auto}.fold__icon[data-astro-cid-y23dczvp]:before,.fold__icon[data-astro-cid-y23dczvp]:after{content:"";background:currentColor;border-radius:1px;height:1.5px;margin-top:-.75px;position:absolute;inset:50% 0 auto}.fold__icon[data-astro-cid-y23dczvp]:after{rotate:90deg}.fold[data-astro-cid-y23dczvp][open] .fold__icon[data-astro-cid-y23dczvp]:after{rotate:0deg}.fold__body[data-astro-cid-y23dczvp]{padding-bottom:1rem}@media (hover:hover) and (pointer:fine){.fold__summary[data-astro-cid-y23dczvp]:hover .fold__icon[data-astro-cid-y23dczvp]{color:var(--ink)}}@media (prefers-reduced-motion:no-preference){.fold[data-astro-cid-y23dczvp]::details-content{opacity:0;block-size:0;transition:block-size var(--motion-fast) var(--ease-out), opacity var(--motion-fast) ease, content-visibility var(--motion-fast) allow-discrete;overflow:clip}.fold[data-astro-cid-y23dczvp][open]::details-content{opacity:1;block-size:auto;transition-duration:var(--motion-expand)}.fold__icon[data-astro-cid-y23dczvp]:after{transition:rotate var(--motion-expand) var(--ease-out)}}.books[data-astro-cid-qkx75bvu]{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.book[data-astro-cid-qkx75bvu]{transition:background-color var(--motion-fast) ease;border-radius:.5rem;align-items:center;gap:.85rem;margin-inline:-.5rem;padding:.4rem .5rem;display:flex}.cover[data-astro-cid-qkx75bvu]{background:var(--panel);width:1.75rem;height:2.6rem;box-shadow:0 0 0 .5px var(--line-strong);border-radius:.15rem .25rem .25rem .15rem;flex-shrink:0;overflow:hidden}.cover[data-astro-cid-qkx75bvu] img[data-astro-cid-qkx75bvu]{object-fit:cover;width:100%;height:100%}.text[data-astro-cid-qkx75bvu]{min-width:0;display:grid}.title[data-astro-cid-qkx75bvu]{font-size:var(--text-ui);line-height:1.35}.author[data-astro-cid-qkx75bvu]{color:var(--muted);font-size:var(--text-caption)}.rating[data-astro-cid-qkx75bvu]{color:var(--faint);font-family:var(--font-label);font-size:var(--text-caption);flex-shrink:0;margin-left:auto}.source[data-astro-cid-qkx75bvu]{margin:1.25rem 0 0}@media (hover:hover) and (pointer:fine){.book[data-astro-cid-qkx75bvu]:hover{background:var(--panel)}}.values[data-astro-cid-rov6ryyn]{gap:2rem;display:grid}.values__title[data-astro-cid-rov6ryyn]{color:var(--ink);font-size:var(--text-body);margin:0 0 .75rem;font-weight:500}.principles[data-astro-cid-rov6ryyn]{gap:.55rem;margin:0;padding-left:1.1rem;list-style:outside;display:grid}.principles[data-astro-cid-rov6ryyn] li[data-astro-cid-rov6ryyn]{color:var(--muted);line-height:1.5}.principles[data-astro-cid-rov6ryyn] li[data-astro-cid-rov6ryyn]::marker{color:var(--faint)}.tabs__list[data-astro-cid-icemifnb]{gap:1.5rem;margin-bottom:.5rem;display:flex;position:relative}.tabs__tab[data-astro-cid-icemifnb]{color:var(--faint);font:inherit;font-size:var(--text-body);letter-spacing:-.005em;cursor:pointer;transition:color var(--motion-fast) ease;background:0 0;border:0;padding:0 0 .6rem;font-weight:500}.tabs__tab[data-astro-cid-icemifnb][aria-selected=true]{color:var(--ink)}.tabs__tab[data-astro-cid-icemifnb]:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px;border-radius:.25rem}.tabs__indicator[data-astro-cid-icemifnb]{width:var(--tab-width,0);background:var(--ink);height:1.5px;translate:var(--tab-x,0) 0;position:absolute;bottom:0;left:0}@media (hover:hover) and (pointer:fine){.tabs__tab[data-astro-cid-icemifnb]:hover{color:var(--muted)}.tabs__tab[data-astro-cid-icemifnb][aria-selected=true]:hover{color:var(--ink)}}@media (prefers-reduced-motion:no-preference){.tabs__indicator[data-astro-cid-icemifnb]{transition:translate var(--motion-base) var(--ease-out), width var(--motion-base) var(--ease-out)}.tabs__panel[data-astro-cid-icemifnb]:not([hidden]){animation:panel-in var(--motion-base) var(--ease-out)}}@keyframes panel-in{0%{opacity:0;translate:0 .3rem}}
