.track-cards:where(.astro-jlm45kzv){grid-template-columns:repeat(auto-fill,minmax(min(100%,15.5rem),1fr));gap:1rem;margin:1.75rem 0 0;padding:0;list-style:none;display:grid}.track-card:where(.astro-jlm45kzv){border:1px solid var(--sl-color-hairline-shade);background:var(--note-paper-raised);transition:translate .3s var(--note-ease), border-color .3s, box-shadow .3s;border-radius:.85rem;flex-direction:column;gap:.45rem;padding:1.1rem 1.15rem 1rem;display:flex;position:relative}.track-card:where(.astro-jlm45kzv):has(a:hover){border-color:var(--sl-color-gray-4);box-shadow:var(--note-shadow);translate:0 -3px}.track-card:where(.astro-jlm45kzv):has(a:focus-visible){outline:2px solid var(--sl-color-accent);outline-offset:2px}.track-card-top:where(.astro-jlm45kzv){justify-content:space-between;align-items:center;display:flex}.track-card-icon:where(.astro-jlm45kzv){background:var(--sl-color-gray-6);width:2.4rem;height:2.4rem;color:var(--sl-color-gray-2);transition:background-color .3s, color .3s, rotate .4s var(--note-ease);border-radius:.6rem;place-items:center;display:grid}.track-card:where(.astro-jlm45kzv).has-published .track-card-icon:where(.astro-jlm45kzv){background:color-mix(in srgb, var(--sl-color-accent) 16%, transparent);color:var(--sl-color-text-accent)}.track-card:where(.astro-jlm45kzv):has(a:hover) .track-card-icon:where(.astro-jlm45kzv){rotate:-6deg}.track-card-num:where(.astro-jlm45kzv){font-family:var(--sl-font-mono);letter-spacing:.1em;color:var(--sl-color-gray-3);font-size:.78rem;font-weight:600}.track-card-title:where(.astro-jlm45kzv){font-family:var(--note-font-display);color:var(--sl-color-white);margin-top:.3rem;font-size:1.22rem;font-weight:600;line-height:1.25;text-decoration:none}.track-card-title:where(.astro-jlm45kzv):after{content:"";border-radius:inherit;position:absolute;inset:0}.track-card-title:where(.astro-jlm45kzv):focus-visible{outline:none}.track-card-topics:where(.astro-jlm45kzv){font-size:var(--sl-text-sm);color:var(--sl-color-gray-3);flex:1;margin:0;line-height:1.55}.track-card-dots:where(.astro-jlm45kzv){flex-wrap:wrap;gap:.3rem;margin-top:.5rem;display:flex}.track-card-dots:where(.astro-jlm45kzv) span:where(.astro-jlm45kzv){border:1.5px solid var(--sl-color-gray-4);border-radius:50%;width:.55rem;height:.55rem}.track-card-dots:where(.astro-jlm45kzv) span:where(.astro-jlm45kzv).is-done{border-color:var(--viz-ok);background:var(--viz-ok)}.track-card-counts:where(.astro-jlm45kzv){font-family:var(--sl-font-mono);letter-spacing:.02em;color:var(--sl-color-gray-3);margin:0;font-size:.76rem}.track-card-counts:where(.astro-jlm45kzv) strong:where(.astro-jlm45kzv){color:var(--sl-color-white)}.route:where(.astro-bgfbcknj){margin:1.75rem 0 0;padding:0;list-style:none}.station:where(.astro-bgfbcknj){align-items:flex-start;gap:.9rem;padding-bottom:1.1rem;display:flex;position:relative}.station:where(.astro-bgfbcknj):before{content:"";background:repeating-linear-gradient(to bottom, var(--sl-color-gray-4) 0 4px, transparent 4px 9px);width:3px;position:absolute;top:2.1rem;bottom:-.1rem;left:calc(1rem - 1.5px)}.station:where(.astro-bgfbcknj).line-done:before{background:var(--viz-ok)}.station:where(.astro-bgfbcknj):last-child:before{display:none}.station-dot:where(.astro-bgfbcknj){z-index:1;border:2px solid var(--sl-color-gray-4);background:var(--sl-color-black);width:2rem;height:2rem;font-family:var(--sl-font-mono);color:var(--sl-color-gray-3);border-radius:50%;flex:none;place-items:center;font-size:.78rem;font-weight:600;display:grid;position:relative}.station:where(.astro-bgfbcknj).is-done .station-dot:where(.astro-bgfbcknj){border-color:var(--viz-ok);background:var(--viz-ok-soft);color:var(--sl-color-white)}@media (prefers-reduced-motion:no-preference){.station:where(.astro-bgfbcknj).is-done .station-dot:where(.astro-bgfbcknj):after{content:"";border:2px solid var(--viz-ok);opacity:0;border-radius:50%;animation:2.8s ease-out infinite station-ping;position:absolute;inset:-6px}}@keyframes station-ping{0%{opacity:.6;transform:scale(.8)}70%,to{opacity:0;transform:scale(1.5)}}.station-body:where(.astro-bgfbcknj){flex-direction:column;padding-top:.2rem;line-height:1.4;display:flex}.station-body:where(.astro-bgfbcknj) a:where(.astro-bgfbcknj){color:var(--sl-color-white);text-decoration:underline;text-decoration-color:var(--viz-ok);text-underline-offset:.25em;font-weight:600;text-decoration-thickness:2px}.station-body:where(.astro-bgfbcknj) a:where(.astro-bgfbcknj):hover{color:var(--sl-color-text-accent)}.station-title:where(.astro-bgfbcknj){color:var(--sl-color-gray-2);font-weight:500}.station-track:where(.astro-bgfbcknj){font-family:var(--sl-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sl-color-gray-3);margin-top:.15rem;font-size:.7rem}@media (width>=50rem){.route:where(.astro-bgfbcknj){grid-auto-flow:column;grid-template-rows:repeat(var(--rows), auto);column-gap:3rem;display:grid}.station:where(.astro-bgfbcknj).col-end:before{display:none}}.tiles:where(.astro-zeouamlc){grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;margin:1.75rem 0 0;padding:0;list-style:none;display:grid}.tile:where(.astro-zeouamlc){border:1px solid var(--sl-color-hairline-shade);background:var(--note-paper-raised);box-shadow:var(--note-shadow);transition:translate .3s var(--note-ease), border-color .3s;border-radius:.9rem;flex-direction:column;gap:.5rem;padding:1.1rem 1.2rem 1.3rem;display:flex}.tile:where(.astro-zeouamlc):hover{border-color:var(--sl-color-gray-4);translate:0 -3px}.tile:where(.astro-zeouamlc) h3:where(.astro-zeouamlc){font-family:var(--note-font-display);color:var(--sl-color-white);margin:.4rem 0 0;font-size:1.3rem;font-weight:600}.tile:where(.astro-zeouamlc) p:where(.astro-zeouamlc){font-size:var(--sl-text-sm);color:var(--sl-color-gray-2);margin:0;line-height:1.6}.tile-art:where(.astro-zeouamlc){background:linear-gradient(var(--note-grid) 1px, transparent 1px) 0 0 / 16px 16px, linear-gradient(90deg, var(--note-grid) 1px, transparent 1px) 0 0 / 16px 16px, var(--viz-surface);border:1px solid var(--sl-color-hairline);border-radius:.6rem;width:100%;height:auto}.t-label:where(.astro-zeouamlc){font-family:var(--note-font-display);fill:var(--viz-muted);font-size:15px;font-style:italic}.t-axis:where(.astro-zeouamlc) path:where(.astro-zeouamlc){fill:none;stroke:var(--viz-stroke);stroke-width:1.5px}.t-limit:where(.astro-zeouamlc){fill:none;stroke:var(--viz-bad);stroke-width:1.5px;stroke-dasharray:5 5;opacity:.7}.t-line:where(.astro-zeouamlc){fill:none;stroke:var(--viz-flow);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:260}.t-spike:where(.astro-zeouamlc){fill:var(--viz-bad)}.t-bucket:where(.astro-zeouamlc){fill:none;stroke:var(--viz-ink);stroke-width:3px;stroke-linecap:round}.t-tokens:where(.astro-zeouamlc) circle:where(.astro-zeouamlc),.t-drop:where(.astro-zeouamlc){fill:var(--viz-ok)}.t-take:where(.astro-zeouamlc){fill:var(--viz-flow)}.t-term:where(.astro-zeouamlc){fill:color-mix(in srgb, var(--viz-ink) 6%, var(--viz-surface));stroke:var(--viz-stroke);stroke-width:1.5px}.t-dot-r:where(.astro-zeouamlc){fill:var(--viz-bad)}.t-dot-a:where(.astro-zeouamlc){fill:var(--viz-warn)}.t-dot-g:where(.astro-zeouamlc){fill:var(--viz-ok)}.t-code:where(.astro-zeouamlc) text:where(.astro-zeouamlc){font-family:var(--sl-font-mono);fill:var(--viz-ink);font-size:15px}.t-type-1:where(.astro-zeouamlc){fill:var(--viz-flow)!important}.t-caret:where(.astro-zeouamlc){fill:var(--viz-ink);opacity:0}.t-box:where(.astro-zeouamlc){fill:var(--viz-surface);stroke:var(--viz-stroke);stroke-width:2px}.t-tick:where(.astro-zeouamlc){fill:none;stroke:var(--viz-ok);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round}.t-rule:where(.astro-zeouamlc){stroke:var(--viz-stroke);stroke-width:6px;stroke-linecap:round;opacity:.55}@media (prefers-reduced-motion:no-preference){.t-line:where(.astro-zeouamlc){animation:t-draw 4s var(--note-ease) infinite}.t-spike:where(.astro-zeouamlc){animation:4s ease-out infinite t-pop}.t-drop:where(.astro-zeouamlc){animation:2.4s cubic-bezier(.5,0,.75,0) infinite t-drop}.t-take:where(.astro-zeouamlc){animation:t-take 2.4s 1.2s var(--note-ease) infinite both}.t-type:where(.astro-zeouamlc){clip-path:inset(0 100% 0 0);animation:6s steps(22,end) infinite t-type}.t-type-2:where(.astro-zeouamlc){animation-name:t-type-2}.t-type-3:where(.astro-zeouamlc){animation-name:t-type-3}.t-caret:where(.astro-zeouamlc){animation:1s step-end infinite t-caret}.t-tick:where(.astro-zeouamlc){stroke-dasharray:1;animation:t-tick 4.5s var(--note-ease) infinite}.t-tick-1:where(.astro-zeouamlc){animation-delay:.45s}.t-tick-2:where(.astro-zeouamlc){animation-delay:.9s}}@keyframes t-draw{0%{stroke-dashoffset:260px}55%,to{stroke-dashoffset:0}}@keyframes t-pop{0%,38%{opacity:0;transform-origin:174px 22px;transform:scale(.3)}46%{opacity:1;transform-origin:174px 22px;transform:scale(1.5)}54%,to{opacity:1;transform-origin:174px 22px;transform:scale(1)}}@keyframes t-drop{0%{opacity:0;transform:translateY(0)}15%{opacity:1}70%,to{opacity:0;transform:translateY(44px)}}@keyframes t-take{0%{opacity:0;transform:translate(-52px)}20%{opacity:1}60%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(30px)}}@keyframes t-type{0%{clip-path:inset(0 100% 0 0)}20%,to{clip-path:inset(0)}}@keyframes t-type-2{0%,30%{clip-path:inset(0 100% 0 0)}45%,to{clip-path:inset(0)}}@keyframes t-type-3{0%,52%{clip-path:inset(0 100% 0 0)}68%,to{clip-path:inset(0)}}@keyframes t-caret{50%{opacity:1}}@keyframes t-tick{0%,8%{stroke-dashoffset:1px}25%,85%{stroke-dashoffset:0}to{stroke-dashoffset:1px}}.reading-map:where(.astro-spqhsjn2){counter-reset:stop;margin:1.75rem 0 0;padding:0;list-style:none;position:relative}.stop:where(.astro-spqhsjn2){grid-template-columns:3.25rem 1fr;gap:1rem;padding-bottom:1.6rem;display:grid;position:relative}.stop:where(.astro-spqhsjn2):before{content:"";background:repeating-linear-gradient(to bottom, var(--sl-color-gray-4) 0 5px, transparent 5px 10px);transform-origin:top;width:2px;position:absolute;top:3rem;bottom:.2rem;left:1.6rem}.stop:where(.astro-spqhsjn2):last-child:before{display:none}.stop-num:where(.astro-spqhsjn2){border:1.5px solid var(--sl-color-gray-4);background:var(--note-paper-raised);width:3.25rem;height:3.25rem;font-family:var(--sl-font-mono);color:var(--note-margin);border-radius:50%;place-items:center;font-size:.95rem;font-weight:600;transition:border-color .4s,background-color .4s;display:grid}.stop:where(.astro-spqhsjn2):hover .stop-num:where(.astro-spqhsjn2){border-color:var(--note-margin)}.stop-body:where(.astro-spqhsjn2) h3:where(.astro-spqhsjn2){font-family:var(--note-font-display);color:var(--sl-color-white);margin:.55rem 0 .25rem;font-size:1.25rem;font-weight:600}.stop-body:where(.astro-spqhsjn2) p:where(.astro-spqhsjn2){max-width:36rem;color:var(--sl-color-gray-2);margin:0;line-height:1.6}@media (prefers-reduced-motion:no-preference){.js-reveal .stop:where(.astro-spqhsjn2)[data-reveal]:before{transition:transform .9s .3s var(--note-ease);transform:scaleY(0)}.js-reveal .stop:where(.astro-spqhsjn2)[data-reveal].is-visible:before{transform:scaleY(1)}}@media (width>=50rem){.reading-map:where(.astro-spqhsjn2){grid-template-rows:repeat(4,auto);grid-template-columns:1fr 1fr;grid-auto-flow:column;column-gap:2.5rem;display:grid}.stop:where(.astro-spqhsjn2):nth-child(4):before{display:none}}.latest:where(.astro-ctwdmpt5){grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:1rem;margin:1.75rem 0 0;padding:0;list-style:none;display:grid}.latest-card:where(.astro-ctwdmpt5){border:1px solid var(--sl-color-hairline-shade);background:linear-gradient(to right, transparent .95rem, var(--note-margin) .95rem, var(--note-margin) calc(.95rem + 1.5px), transparent calc(.95rem + 1.5px)), repeating-linear-gradient(to bottom, transparent 0 1.6rem, var(--note-grid) 1.6rem calc(1.6rem + 1px)), var(--note-paper-raised);box-shadow:var(--note-shadow);transition:translate .3s var(--note-ease), rotate .3s var(--note-ease);border-radius:.85rem;flex-direction:column;gap:.55rem;padding:1.3rem 1.3rem 1.1rem 1.6rem;display:flex;position:relative}.latest-card:where(.astro-ctwdmpt5):has(a:hover){translate:0 -4px;rotate:-.4deg}.latest-card:where(.astro-ctwdmpt5):has(a:focus-visible){outline:2px solid var(--sl-color-accent);outline-offset:2px}.latest-track:where(.astro-ctwdmpt5){font-family:var(--sl-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--note-margin);align-items:center;gap:.4rem;padding-left:.6rem;font-size:.72rem;font-weight:600;display:inline-flex}.latest-title:where(.astro-ctwdmpt5){font-family:var(--note-font-display);color:var(--sl-color-white);padding-left:.6rem;font-size:1.45rem;font-weight:600;line-height:1.2;text-decoration:none}.latest-title:where(.astro-ctwdmpt5):after{content:"";border-radius:inherit;position:absolute;inset:0}.latest-title:where(.astro-ctwdmpt5):focus-visible{outline:none}.latest-tagline:where(.astro-ctwdmpt5){font-family:var(--note-font-display);color:var(--sl-color-gray-2);flex:1;margin:0;padding-left:.6rem;font-size:1.05rem;font-style:italic;line-height:1.5}.latest-meta:where(.astro-ctwdmpt5){font-family:var(--sl-font-mono);text-transform:capitalize;color:var(--sl-color-gray-3);align-items:center;gap:1rem;margin-top:.4rem;padding-left:.6rem;font-size:.76rem;display:flex}.latest-arrow:where(.astro-ctwdmpt5){text-transform:none;color:var(--sl-color-text-accent);align-items:center;gap:.3rem;margin-left:auto;font-weight:600;display:inline-flex}.latest-arrow:where(.astro-ctwdmpt5) svg:where(.astro-ctwdmpt5){transition:translate .25s var(--note-ease)}.latest-card:where(.astro-ctwdmpt5):has(a:hover) .latest-arrow:where(.astro-ctwdmpt5) svg:where(.astro-ctwdmpt5){translate:3px}
