.summary__start[data-astro-cid-urwx7gtc]{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-heading);transition:background-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;border-radius:33px;align-items:center;padding:8px 10px;font-size:16px;line-height:22px;display:inline-flex}.summary__start[data-astro-cid-urwx7gtc]:not([aria-disabled]):hover{background:var(--color-surface-alt)}.summary__start[data-astro-cid-urwx7gtc][aria-disabled]{cursor:default;opacity:.55}.summary__start[data-astro-cid-urwx7gtc]:focus-visible{border-radius:33px}.summary__soon[data-astro-cid-urwx7gtc]{color:var(--color-text-faint);margin-top:6px;font-size:12px}.summary__player[data-astro-cid-urwx7gtc]{background:linear-gradient(var(--color-surface-raised), var(--color-surface-raised)) padding-box, var(--summary-gradient) border-box;width:100%;max-width:240px;animation:summary-in .22s var(--ease-out);border:1px solid #0000;border-radius:20px;flex-direction:column;gap:10px;padding:10px 12px 12px;display:flex}@keyframes summary-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.summary__head[data-astro-cid-urwx7gtc],.summary__row[data-astro-cid-urwx7gtc]{justify-content:space-between;align-items:center;gap:10px;display:flex}.summary__title[data-astro-cid-urwx7gtc]{color:var(--color-text-heading);align-items:center;gap:4px;font-size:16px;line-height:22px;display:inline-flex}.summary__title[data-astro-cid-urwx7gtc] path[data-astro-cid-urwx7gtc]{stroke:var(--color-icon)}.summary__icon[data-astro-cid-urwx7gtc]{width:32px;height:32px;transition:background-color var(--dur-fast) ease;border-radius:50%;place-items:center;margin-right:-4px;display:grid}.summary__icon[data-astro-cid-urwx7gtc]:hover{background:var(--color-hover-wash)}.summary__icon[data-astro-cid-urwx7gtc]:focus-visible{border-radius:50%}.summary__icon[data-astro-cid-urwx7gtc] path[data-astro-cid-urwx7gtc]{stroke:var(--color-text-heading)}.summary__vol-off[data-astro-cid-urwx7gtc],.summary__icon[data-astro-cid-urwx7gtc][aria-pressed=true] .summary__vol-on[data-astro-cid-urwx7gtc]{display:none}.summary__icon[data-astro-cid-urwx7gtc][aria-pressed=true] .summary__vol-off[data-astro-cid-urwx7gtc]{display:block}.summary__play[data-astro-cid-urwx7gtc]{background:var(--color-text-heading);width:34px;height:34px;transition:transform var(--dur-fast) var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid}.summary__play[data-astro-cid-urwx7gtc]:active{transform:scale(.92)}.summary__play[data-astro-cid-urwx7gtc]:focus-visible{border-radius:50%}.summary__play[data-astro-cid-urwx7gtc] svg[data-astro-cid-urwx7gtc]{fill:var(--color-bg)}.summary__ico-play[data-astro-cid-urwx7gtc]{margin-left:2px}.summary__ico-pause[data-astro-cid-urwx7gtc],[data-astro-cid-urwx7gtc][data-playing] .summary__ico-play[data-astro-cid-urwx7gtc]{display:none}[data-astro-cid-urwx7gtc][data-playing] .summary__ico-pause[data-astro-cid-urwx7gtc]{display:block}.summary__progress[data-astro-cid-urwx7gtc]{flex:1;min-width:0;display:flex}.summary__progress[data-astro-cid-urwx7gtc] input[data-astro-cid-urwx7gtc]{--pct:0%;-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;width:100%;height:18px;margin:0}.summary__progress[data-astro-cid-urwx7gtc] input[data-astro-cid-urwx7gtc]:focus-visible{box-shadow:none}.summary__progress[data-astro-cid-urwx7gtc] input[data-astro-cid-urwx7gtc]::-webkit-slider-runnable-track{background:linear-gradient(90deg, #753ef6, #fd6b94) 0 / var(--pct) 100% no-repeat, var(--color-border-strong);border-radius:2px;height:4px}.summary__progress[data-astro-cid-urwx7gtc] input[data-astro-cid-urwx7gtc]::-moz-range-track{background:var(--color-border-strong);border-radius:2px;height:4px}.summary__progress[data-astro-cid-urwx7gtc] input[data-astro-cid-urwx7gtc]::-moz-range-progress{background:linear-gradient(90deg,#753ef6,#fd6b94);border-radius:2px;height:4px}.summary__progress[data-astro-cid-urwx7gtc] input[data-astro-cid-urwx7gtc]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-text-heading);border:2px solid var(--color-surface-raised);border-radius:50%;width:12px;height:12px;margin-top:-4px}.summary__progress[data-astro-cid-urwx7gtc] input[data-astro-cid-urwx7gtc]::-moz-range-thumb{background:var(--color-text-heading);border:2px solid var(--color-surface-raised);border-radius:50%;width:12px;height:12px}.summary__progress[data-astro-cid-urwx7gtc] input[data-astro-cid-urwx7gtc]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--color-focus)}.summary__time[data-astro-cid-urwx7gtc]{color:var(--color-text-body);font-variant-numeric:tabular-nums;font-size:12px;line-height:16px}.summary__speed[data-astro-cid-urwx7gtc]{min-width:40px;box-shadow:inset 0 0 0 1px var(--color-border-strong);color:var(--color-text-heading);font-variant-numeric:tabular-nums;transition:background-color var(--dur-fast) ease;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:500;line-height:16px}.summary__speed[data-astro-cid-urwx7gtc]:hover{background:var(--color-hover-wash)}.summary__speed[data-astro-cid-urwx7gtc]:focus-visible{border-radius:999px}.summary__project[data-astro-cid-urwx7gtc],.summary__close[data-astro-cid-urwx7gtc]{display:none}@media (width<=1023px){.summary__start[data-astro-cid-urwx7gtc],.summary__soon[data-astro-cid-urwx7gtc]{display:none}.summary__player[data-astro-cid-urwx7gtc]{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;width:auto;max-width:560px;box-shadow:var(--shadow-float);gap:8px;margin:0 auto;position:fixed}.summary__project[data-astro-cid-urwx7gtc]{display:inline}.summary__title[data-astro-cid-urwx7gtc]{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;overflow:hidden}.summary__head[data-astro-cid-urwx7gtc]{gap:4px}.summary__close[data-astro-cid-urwx7gtc]{display:grid}.summary__close[data-astro-cid-urwx7gtc] path[data-astro-cid-urwx7gtc]{stroke:var(--color-text-heading)}.summary__play[data-astro-cid-urwx7gtc]{width:36px;height:36px}}.case-sidebar[data-astro-cid-b2cuirw6]{--sb-pad:24px;--sb-gap:36px;--sb-body-gap:40px;--sb-nav-gap:24px;--sb-meta-gap:19px;--sb-dd-gap:9px;gap:var(--sb-gap);padding:var(--sb-pad) 48px;flex-direction:column;display:flex}@media (height<=880px){.case-sidebar[data-astro-cid-b2cuirw6]{--sb-pad:20px;--sb-gap:24px;--sb-body-gap:28px;--sb-nav-gap:16px;--sb-meta-gap:14px;--sb-dd-gap:6px}}@media (height<=760px){.case-sidebar[data-astro-cid-b2cuirw6]{--sb-pad:16px;--sb-gap:18px;--sb-body-gap:20px;--sb-nav-gap:12px;--sb-meta-gap:11px;--sb-dd-gap:4px}}@media (height<=720px){.case-sidebar[data-astro-cid-b2cuirw6]{--sb-pad:12px;--sb-gap:14px;--sb-body-gap:16px;--sb-nav-gap:10px;--sb-meta-gap:9px}}.case-sidebar__home[data-astro-cid-b2cuirw6]{box-sizing:border-box;background:var(--color-surface-alt);border:1px solid var(--color-border);height:42px;font-family:var(--font-mono);color:var(--color-text-strong);transition:background-color var(--dur-fast) ease;border-radius:12px;align-self:flex-start;align-items:center;gap:6px;padding:0 12px;font-size:18px;line-height:1.37;display:inline-flex}.case-sidebar__home[data-astro-cid-b2cuirw6] path[data-astro-cid-b2cuirw6]{stroke:currentColor}.case-sidebar__home[data-astro-cid-b2cuirw6]:hover{background:var(--color-border)}.case-sidebar__home[data-astro-cid-b2cuirw6]:hover svg[data-astro-cid-b2cuirw6]{transform:translate(-2px)}.case-sidebar__home[data-astro-cid-b2cuirw6] svg[data-astro-cid-b2cuirw6]{transition:transform var(--dur-fast) var(--ease-out)}.case-sidebar__home[data-astro-cid-b2cuirw6]:focus-visible{border-radius:12px}.case-sidebar__body[data-astro-cid-b2cuirw6]{justify-content:space-between;gap:var(--sb-body-gap);flex-direction:column;flex:1;min-height:0;display:flex}.case-sidebar__nav[data-astro-cid-b2cuirw6] ul[data-astro-cid-b2cuirw6]{gap:var(--sb-nav-gap);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.case-sidebar__nav[data-astro-cid-b2cuirw6] a[data-astro-cid-b2cuirw6]{font-family:var(--font-mono);text-transform:uppercase;color:var(--color-text-muted);transition:color var(--dur-fast) ease;font-size:16px;line-height:1.32;display:inline-block}.case-sidebar__nav[data-astro-cid-b2cuirw6] a[data-astro-cid-b2cuirw6]:hover{color:var(--color-text)}.case-sidebar__nav[data-astro-cid-b2cuirw6] a[data-astro-cid-b2cuirw6][aria-current=true]{color:var(--color-text-title)}.case-sidebar__meta[data-astro-cid-b2cuirw6]{gap:var(--sb-meta-gap);color:var(--color-text-body);flex-direction:column;margin:auto 0 0;font-size:14px;display:flex}.case-sidebar__meta[data-astro-cid-b2cuirw6] dt[data-astro-cid-b2cuirw6]{opacity:.6;line-height:17.22px}.case-sidebar__meta[data-astro-cid-b2cuirw6] dd[data-astro-cid-b2cuirw6]{margin:0;line-height:17.22px}.case-sidebar__meta[data-astro-cid-b2cuirw6] dt[data-astro-cid-b2cuirw6]+dd[data-astro-cid-b2cuirw6]{padding-top:var(--sb-dd-gap)}.case-sidebar__meta[data-astro-cid-b2cuirw6] dd[data-astro-cid-b2cuirw6]+dd[data-astro-cid-b2cuirw6]{padding-top:6px}.case-sidebar__summary[data-astro-cid-b2cuirw6]{margin-top:calc(-1 * var(--sb-body-gap));padding-top:15px}@media (width>=1024px){.case-sidebar__summary--phone[data-astro-cid-b2cuirw6]{display:none}}@media (width<=1023px){.case-sidebar[data-astro-cid-b2cuirw6]{border:0;padding:0;display:block}.case-sidebar__home[data-astro-cid-b2cuirw6],.case-sidebar__nav[data-astro-cid-b2cuirw6],.case-sidebar__meta[data-astro-cid-b2cuirw6]{display:none}.case-sidebar__body[data-astro-cid-b2cuirw6]{display:block}.case-sidebar__summary[data-astro-cid-b2cuirw6]{margin:0;padding:0}}.case-bar[data-astro-cid-45nwgon5],.case-menu[data-astro-cid-45nwgon5]{display:none}@media (width<=1023px){.case-bar[data-astro-cid-45nwgon5]{z-index:20;padding:10px var(--gutter);background:color-mix(in srgb, var(--color-bg) 88%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-divider);align-items:center;gap:8px;display:flex;position:sticky;top:0}.case-bar__home[data-astro-cid-45nwgon5]{background:var(--color-surface-alt);width:40px;height:40px;color:var(--color-text-strong);border-radius:12px;flex:none;place-items:center;display:grid}.case-bar__home[data-astro-cid-45nwgon5] path[data-astro-cid-45nwgon5]{stroke:currentColor}.case-bar__home[data-astro-cid-45nwgon5]:focus-visible{border-radius:12px}.case-bar__section[data-astro-cid-45nwgon5]{background:var(--color-surface);min-width:0;height:40px;font-family:var(--font-mono);text-transform:uppercase;color:var(--color-text-title);text-align:left;border-radius:12px;flex:1;align-items:center;gap:6px;padding:0 12px;font-size:15px;display:flex}.case-bar__label[data-astro-cid-45nwgon5]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.case-bar__count[data-astro-cid-45nwgon5]{color:var(--color-text-faint);margin-right:auto;font-size:12px}.case-bar__section[data-astro-cid-45nwgon5] path[data-astro-cid-45nwgon5]{stroke:var(--color-text-muted)}.case-bar__section[data-astro-cid-45nwgon5]:focus-visible{border-radius:12px}.case-bar__summary[data-astro-cid-45nwgon5]{background:linear-gradient(var(--color-surface-raised), var(--color-surface-raised)) padding-box, var(--summary-gradient) border-box;height:40px;color:var(--color-text-heading);border:1px solid #0000;border-radius:33px;flex:none;align-items:center;gap:4px;padding:0 12px 0 10px;font-size:15px;display:flex}.case-bar__summary[data-astro-cid-45nwgon5] path[data-astro-cid-45nwgon5]{stroke:var(--color-icon)}.case-bar__summary[data-astro-cid-45nwgon5]:disabled{opacity:.5;cursor:default}.case-bar__summary[data-astro-cid-45nwgon5]:focus-visible{border-radius:33px}.case-menu[data-astro-cid-45nwgon5]:not([hidden]){display:block}.case-menu__scrim[data-astro-cid-45nwgon5]{z-index:60;background:var(--scrim);animation:.2s case-fade;position:fixed;inset:0}.case-menu__sheet[data-astro-cid-45nwgon5]{z-index:61;max-height:80dvh;padding:8px 16px calc(24px + env(safe-area-inset-bottom));background:var(--color-bg);box-shadow:var(--shadow-float);border-radius:24px 24px 0 0;animation:.28s cubic-bezier(.2,.8,.2,1) case-up;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}@keyframes case-fade{0%{opacity:0}}@keyframes case-up{0%{transform:translateY(100%)}}.case-menu__grab[data-astro-cid-45nwgon5]{background:var(--color-border-strong);border-radius:3px;width:36px;height:5px;margin:0 auto 10px}.case-menu__head[data-astro-cid-45nwgon5]{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.case-menu__head[data-astro-cid-45nwgon5] h2[data-astro-cid-45nwgon5]{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-faint);font-size:12px;font-weight:500}.case-menu__close[data-astro-cid-45nwgon5]{border-radius:50%;place-items:center;width:32px;height:32px;margin-right:-6px;display:grid}.case-menu__close[data-astro-cid-45nwgon5] path[data-astro-cid-45nwgon5]{stroke:var(--color-text-muted)}.case-menu[data-astro-cid-45nwgon5] ul[data-astro-cid-45nwgon5]{margin:0;padding:0;list-style:none}.case-menu[data-astro-cid-45nwgon5] a[data-astro-cid-45nwgon5]{border-bottom:1px solid var(--color-divider);font-family:var(--font-mono);text-transform:uppercase;color:var(--color-text-muted);justify-content:space-between;align-items:center;padding:14px 4px;font-size:16px;display:flex}.case-menu[data-astro-cid-45nwgon5] a[data-astro-cid-45nwgon5][aria-current=true]{color:var(--color-text-title)}.case-menu[data-astro-cid-45nwgon5] a[data-astro-cid-45nwgon5][aria-current=true]:after{content:"";background:var(--summary-gradient);border-radius:50%;width:8px;height:8px}}@media (width<=399px){.case-bar__count[data-astro-cid-45nwgon5]{display:none}.case-bar__label[data-astro-cid-45nwgon5]{margin-right:auto}}@media (prefers-reduced-motion:reduce){.case-menu__scrim[data-astro-cid-45nwgon5],.case-menu__sheet[data-astro-cid-45nwgon5]{animation:none}}.case-text{flex-direction:column;gap:12px;padding:0 60px 0 16px;display:flex}.case-text--wide{padding-right:16px}.case-title{color:var(--color-text-title);font-size:36px;font-weight:600;line-height:35px}.case-title--long{line-height:1.32}.case-h2{color:var(--color-text-title);gap:.5em;font-size:32px;font-weight:500;line-height:35px;display:flex}.case-h2__num{flex:none}.case-h3{color:var(--color-text-title);font-size:24px;font-weight:500;line-height:35px}.case-h4{color:var(--color-text-title);font-size:20px;font-weight:500;line-height:35px}.case-h4--28{line-height:28px}.case-h3--num{gap:.5em;display:flex}.case-h5{color:var(--color-text-subtitle);font-size:21px;font-weight:500;line-height:31.5px}.case-body{--body-lh:28.8px;font-size:18px;line-height:var(--body-lh);color:var(--color-text-body)}.case-body p+p{margin-top:0}.case-body .case-gap{margin-top:var(--body-lh)}.case-body ul{margin:0;padding-left:17px;list-style:none}.case-body li{position:relative}.case-body li:before{content:"";left:-11px;top:calc((var(--body-lh) - 3.5px) / 2);background:currentColor;border-radius:50%;width:3.5px;height:3.5px;position:absolute}.case-annotation{font-family:var(--font-mono);color:var(--color-annotation);font-size:14px;line-height:19.6px}.case-stack{flex-direction:column;gap:40px;display:flex}.case-stack[tabindex="-1"]:focus,section[tabindex="-1"]:focus{box-shadow:none;outline:none}.case-stack--sub{gap:32px}@media (width<=1023px){.case-text,.case-text--wide{gap:10px;padding:0}.case-title{font-size:30px;line-height:1.2}.case-h2{gap:.45em;font-size:26px;line-height:1.25}.case-h3{font-size:21px;line-height:1.35}.case-h4,.case-h5{font-size:19px;line-height:1.4}.case-stack{gap:32px!important}.case-stack--sub{gap:24px!important}}@media (width<=767px){.case-body{--body-lh:27.2px;font-size:17px}.case-title{font-size:28px}.case-h2{font-size:24px}.case-h3{font-size:20px}}.case[data-astro-cid-iu2tt25f]{max-width:var(--page-max);grid-template-columns:263px minmax(0,1fr);align-items:start;margin:0 auto;display:grid}@media (width>=1024px){.case[data-astro-cid-iu2tt25f]{background:linear-gradient(var(--color-divider), var(--color-divider)) 262px 0 / 1px 100% no-repeat}}.case__aside[data-astro-cid-iu2tt25f]{height:calc(100dvh - var(--header-h));scrollbar-width:none;min-height:560px;position:sticky;top:0;overflow-y:auto}.case__aside[data-astro-cid-iu2tt25f]>.case-sidebar{min-height:100%}.case__content[data-astro-cid-iu2tt25f]{min-width:0;padding:16px 32px 80px 16px}.case__content[data-astro-cid-iu2tt25f] section[id],.case__content[data-astro-cid-iu2tt25f] [id].case-anchor{scroll-margin-top:24px}@media (width<=1023px){.case[data-astro-cid-iu2tt25f]{display:block}.case__aside[data-astro-cid-iu2tt25f]{height:0;min-height:0;position:static;overflow:visible}.case__content[data-astro-cid-iu2tt25f]{max-width:720px;padding:24px var(--gutter) 160px;margin:0 auto}.case__content[data-astro-cid-iu2tt25f] section[id],.case__content[data-astro-cid-iu2tt25f] [id]{scroll-margin-top:76px}}@media (width<=767px){.case__content[data-astro-cid-iu2tt25f]{padding-top:16px}}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.case-hero[data-astro-cid-ce3d2jes]{aspect-ratio:1129/578;isolation:isolate;background:var(--color-surface);border-radius:20px;position:relative;overflow:hidden}@media (width<=1023px){.case-hero[data-astro-cid-ce3d2jes]{border-radius:16px}}.case-button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-heading);transition:background-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);border-radius:12px;align-self:flex-start;align-items:center;padding:9px 10px;font-size:16px;font-weight:500;line-height:22px;display:inline-flex}a.case-button:hover{background:var(--color-surface-alt)}a.case-button:active{transform:scale(.98)}.case-button:focus-visible{border-radius:12px}.case-intro[data-astro-cid-df7rbtyo]{scroll-margin-top:24px}.case-meta-card[data-astro-cid-df7rbtyo]{display:none}@media (width<=1023px){.case-intro[data-astro-cid-df7rbtyo]{flex-direction:column;gap:24px;display:flex}.case-meta-card[data-astro-cid-df7rbtyo]{background:var(--color-surface);color:var(--color-text-body);border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 20px;margin:0;padding:16px;font-size:14px;display:grid}.case-meta-card[data-astro-cid-df7rbtyo] div[data-astro-cid-df7rbtyo]{flex-direction:column;gap:6px;min-width:0;display:flex}.case-meta-card[data-astro-cid-df7rbtyo] dt[data-astro-cid-df7rbtyo]{opacity:.6;line-height:17.22px}.case-meta-card[data-astro-cid-df7rbtyo] dd[data-astro-cid-df7rbtyo]{margin:0;line-height:18px}}@media (width<=767px){.case-meta-card[data-astro-cid-df7rbtyo]{grid-template-columns:repeat(2,minmax(0,1fr))}.case-meta-card__wide[data-astro-cid-df7rbtyo]{grid-column:1/-1}}
