.blueprint{margin:0}.blueprint__svg{width:100%;height:auto;font-family:var(--type-body);display:block;overflow:visible}.blueprint__box{fill:var(--surface);stroke:var(--bp-color);stroke-width:1.5px}.blueprint__badge{fill:var(--bp-soft)}.blueprint__icon{color:var(--bp-ink)}.blueprint__label{fill:var(--ink);font-size:14px;font-weight:var(--weight-strong)}.blueprint__line{fill:none;stroke:var(--ink-3);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.blueprint__arrow{fill:var(--ink-3)}.blueprint__edge-label rect{fill:var(--bg);stroke:var(--line-strong)}.blueprint__edge-label text{fill:var(--ink-2);font-size:12px;font-weight:var(--weight-ui)}.blueprint__node--blog{--bp-color:var(--app-blog);--bp-soft:var(--app-blog-soft);--bp-ink:var(--app-blog-ink)}.blueprint__node--projects{--bp-color:var(--app-projects);--bp-soft:var(--app-projects-soft);--bp-ink:var(--app-projects-ink)}.blueprint__node--about{--bp-color:var(--app-about);--bp-soft:var(--app-about-soft);--bp-ink:var(--app-about-ink)}.blueprint__node--game{--bp-color:var(--app-game);--bp-soft:var(--app-game-soft);--bp-ink:var(--app-game-ink)}.blueprint__node--newsletter{--bp-color:var(--app-newsletter);--bp-soft:var(--app-newsletter-soft);--bp-ink:var(--app-newsletter-ink)}.blueprint__node--contact{--bp-color:var(--app-contact);--bp-soft:var(--app-contact-soft);--bp-ink:var(--app-contact-ink)}@keyframes bp-pop{0%{opacity:0;transform:translateY(12px)scale(.92)}40%{opacity:1}to{opacity:1;transform:none}}@keyframes bp-draw{0%{stroke-dashoffset:1.01px}to{stroke-dashoffset:0}}@keyframes bp-fade{0%{opacity:0}to{opacity:1}}.blueprint__pop{transform-box:fill-box;transform-origin:50%}@media (scripting:enabled) and (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.case .blueprint__line{stroke-dasharray:1 1.02}.case__body{timeline-scope:--bp-s1, --bp-s2, --bp-s3}.case__section[data-step="1"]{view-timeline-name:--bp-s1}.case__section[data-step="2"]{view-timeline-name:--bp-s2}.case__section[data-step="3"]{view-timeline-name:--bp-s3}.case__aside [data-step="1"]{--bp-timeline:--bp-s1}.case__aside [data-step="2"]{--bp-timeline:--bp-s2}.case__aside [data-step="3"]{--bp-timeline:--bp-s3}@container case (min-width:880px){.case__aside :is([data-step="1"],[data-step="2"],[data-step="3"]) .blueprint__pop{animation:linear both bp-pop;animation-timeline:var(--bp-timeline);animation-range:cover 60px cover 240px}.case__aside :is([data-step="1"],[data-step="2"],[data-step="3"]) .blueprint__line{animation:linear both bp-draw;animation-timeline:var(--bp-timeline);animation-range:cover 200px cover 400px}.case__aside :is([data-step="1"],[data-step="2"],[data-step="3"]) :is(.blueprint__arrow,.blueprint__edge-label){animation:linear both bp-fade;animation-timeline:var(--bp-timeline);animation-range:cover 380px cover 440px}}.case__tramo{view-timeline-name:--bp-tramo}.bp-chip{animation:linear both bp-pop;animation-timeline:--bp-tramo;animation-range:entry calc(10% + var(--i,0) * 12%) cover calc(30% + var(--i,0) * 4%)}.bp-link .blueprint__line{animation:linear both bp-draw;animation-timeline:--bp-tramo;animation-range:cover calc(28% + var(--i,0) * 4%) cover calc(40% + var(--i,0) * 4%)}.bp-link :is(.blueprint__arrow,.bp-link__label,.bp-link__to){animation:linear both bp-fade;animation-timeline:--bp-tramo;animation-range:cover calc(38% + var(--i,0) * 4%) cover calc(44% + var(--i,0) * 4%)}}}.case[data-bp=io] .blueprint__line{stroke-dasharray:1 1.02}.case[data-bp=io] [data-off] .blueprint__pop{opacity:0;transform:translateY(12px)scale(.92)}.case[data-bp=io] [data-off] .blueprint__line{stroke-dashoffset:1.01px}.case[data-bp=io] [data-off] :is(.blueprint__arrow,.blueprint__edge-label){opacity:0}.case[data-bp=io] .case__tramo:not([data-seen]) .bp-chip{opacity:0;transform:translateY(12px)scale(.92)}.case[data-bp=io] .case__tramo:not([data-seen]) .bp-link .blueprint__line{stroke-dashoffset:1.01px}.case[data-bp=io] .case__tramo:not([data-seen]) .bp-link :is(.blueprint__arrow,.bp-link__label,.bp-link__to){opacity:0}.case[data-bp-ready] :is(.blueprint__pop,.bp-chip){transition:opacity .36s var(--ease-out) calc(var(--i,0) * 90ms), transform .36s var(--ease-out) calc(var(--i,0) * 90ms)}.case[data-bp-ready] .blueprint__line{transition:stroke-dashoffset .6s var(--ease-out) calc(.16s + var(--i,0) * 90ms)}.case[data-bp-ready] :is(.blueprint__arrow,.blueprint__edge-label,.bp-link__label,.bp-link__to){transition:opacity .24s var(--ease-out) calc(.68s + var(--i,0) * 90ms)}
