.pinball[data-astro-cid-darrnebs]{user-select:none;width:100%;height:420px;position:relative}.pinball[data-astro-cid-darrnebs] canvas[data-astro-cid-darrnebs]{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.pb-box[data-astro-cid-darrnebs]{text-align:center;border:1px solid color-mix(in srgb, var(--color-secondary) 35%, transparent);justify-content:center;align-items:center;padding:0 .5rem;font-size:.9375rem;line-height:1.25;transition:border-color .5s;display:flex;position:absolute}.pb-face[data-astro-cid-darrnebs]{background:var(--color-primary);justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:absolute;inset:0}.pb-face[data-astro-cid-darrnebs] svg[data-astro-cid-darrnebs]{width:20px;height:32px;overflow:visible}.pb-face[data-astro-cid-darrnebs] path[data-astro-cid-darrnebs],.pb-face[data-astro-cid-darrnebs] circle[data-astro-cid-darrnebs]{fill:none;stroke:var(--color-secondary);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linecap:round}.pb-box[data-astro-cid-darrnebs].is-open{border-color:color-mix(in srgb, var(--color-secondary) 15%, transparent);border-style:dashed}.pb-box[data-astro-cid-darrnebs].is-open .pb-face[data-astro-cid-darrnebs]{opacity:0}.pb-box[data-astro-cid-darrnebs].bump{animation:.18s ease-out pb-bump}@keyframes pb-bump{50%{transform:translateY(-4px)}}.pb-fact[data-astro-cid-darrnebs] svg{vertical-align:-.1em;width:.9em;height:auto;color:var(--color-accent);margin-left:.3em;display:inline-block}.pb-fact[data-astro-cid-darrnebs] .ab-mark{vertical-align:-.15em;width:1.1em;height:1.1em;margin:0 .3em 0 0}.pb-fact[data-astro-cid-darrnebs] .pb-nowrap{white-space:nowrap;display:inline-block}.about-btn{background:var(--color-secondary);color:var(--color-primary);font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;padding:1rem 1.75rem;font-weight:700;text-decoration:none;transition:background-color .2s;display:inline-block}.about-btn:hover,.about-btn--accent{background:var(--color-accent);color:#fff}.about-btn--accent:hover{color:var(--color-secondary);background:#fff}.about-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.ab{font-size:1.1875rem}.ab .display{font-size:2.375rem}.ab .title-feature{font-size:1.875rem}.ab .title-tile{font-size:1.5rem}.ab .text-lede{font-size:1.25rem}.ab .eyebrow{font-size:.9375rem}.ab .ab-head{display:block}@media (width>=1024px){.ab .ab-hero-text{container-type:inline-size}.ab .ab-head{white-space:nowrap;font-size:min(1em,6.6cqi)}}.ab .ab-sub{font-family:var(--font-sans);font-size:var(--text-lg);margin-top:1rem;font-weight:400;line-height:1.3;display:block}@media (width>=1024px){.ab .ab-sub{font-size:var(--text-2xl)}}@media (width>=64rem){.ab .display{font-size:3.75rem}.ab .title-feature{font-size:2.375rem}.ab .title-tile{font-size:1.875rem}.ab .text-lede{font-size:1.5rem}}.ab-quick{border-top:1px solid;border-bottom:1px solid}.ab-quick summary{cursor:pointer;color:var(--color-muted);justify-content:space-between;align-items:center;padding:1.25rem 0;list-style:none;display:flex}.ab-quick summary::-webkit-details-marker{display:none}.ab-quick summary:after{content:"+";color:var(--color-text,currentColor);font-size:1.5rem;line-height:1}.ab-quick[open] summary:after{content:"−"}.ab-quick ul{gap:1.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.ab-quick li{margin:0}@media (width>=1024px){.ab-quick{border-bottom:0}.ab-quick summary{cursor:default;padding:1.25rem 0 0}.ab-quick summary:after,.ab-quick[open] summary:after{content:none}.ab-quick ul{border-top:1px solid var(--color-muted);grid-template-columns:1fr 1fr;gap:0;margin:1rem 0 0}.ab-quick li{border-bottom:1px solid var(--color-muted);padding:1.25rem 1.5rem 1.25rem 0}.ab-quick li:nth-child(2){border-left:1px solid var(--color-muted);padding-left:1.5rem}}.ab-yn{color:var(--color-muted)}.ab-mark{vertical-align:-.15em;width:1.05em;height:1.05em;display:inline-block}.ab-nowrap{white-space:nowrap}@media (width>=768px){.ab-has-pin .ab-quick{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}}.ab-pin[hidden]{display:none}.ab-pin-label{color:var(--color-muted);margin:0 0 1rem}.ab-leaf{width:2.25rem;height:auto;color:var(--color-accent);margin-top:.75rem;display:block}.ab-col{flex-direction:column;gap:1.5rem;min-width:0;display:flex}.ab-panel{background:color-mix(in srgb, var(--color-secondary) 5%, transparent);padding:2.5rem}@media (width<=639px){.ab-panel{padding:1.5rem}}.ab-panel .ab-frame--screen{background:0 0;padding:0}.ab-col p{margin:0}.ab-colhead{border-bottom:2px solid var(--color-secondary);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:1rem;display:flex}.ab-colhead a{text-decoration:none}.ab-colhead a:hover{color:var(--color-accent)}.ab-colhead{position:relative}.ab-cup{pointer-events:none;width:13rem;height:6rem;position:absolute;bottom:-40px;right:-64px}.ab-more{align-self:flex-start;text-decoration:none}.ab-more:hover{color:var(--color-accent)}.ab-feat{flex-direction:column;gap:.75rem;text-decoration:none;display:flex}.ab-feat:hover .title-tile{color:var(--color-accent)}.ab-feat:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.ab-frame{aspect-ratio:3/2;justify-content:center;align-items:center;width:100%;margin-bottom:.5rem;display:flex;overflow:hidden}.ab-frame--screen{background:color-mix(in srgb, var(--color-secondary) 5%, transparent);padding:2rem}.ab-shot{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.ab-small{margin:0;padding:0;list-style:none}.ab-small li{border-top:1px solid color-mix(in srgb, var(--color-secondary) 15%, transparent);padding:1rem 0}.ab-small li:last-child{border-bottom:1px solid color-mix(in srgb, var(--color-secondary) 15%, transparent)}.ab-small a{font-weight:700;line-height:1.35;text-decoration:none;display:block}.ab-small a:hover{color:var(--color-accent)}.ab-small .text-meta{margin-top:.25rem}.ab-story h2{margin:0 0 2rem}.ab-story p{break-inside:avoid;margin:0 0 1.5rem}@media (width>=1024px){.ab-story-text{columns:3;column-gap:3rem}}@media (width>=768px){.ab-story-band{padding-bottom:5rem}}.ab-lists{gap:2rem;display:grid}@media (width>=640px){.ab-lists{grid-template-columns:1fr 1fr}}.ab-listhead{color:var(--color-muted);margin:0 0 .5rem}.ab-case-tag{color:var(--color-accent);margin-bottom:.35rem;display:block}.ab-case-title{display:block}.ab-todo{color:var(--color-accent);border-bottom:1px dashed}
