.ui-button[data-v-5a7cf809]{all:unset;box-sizing:border-box;height:var(--control-h);padding:0 var(--pad-x);border-radius:var(--radius-control);font-size:var(--fs-body);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background-color var(--dur-fast-in) ease-out,opacity var(--dur-fast-in) ease-out,color var(--dur-fast-in) ease-out;place-items:center;line-height:1;display:inline-grid;position:relative}.ui-button[data-v-5a7cf809]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-button__content[data-v-5a7cf809]{align-items:center;gap:var(--gap-icon);display:inline-flex}.ui-button__icon[data-v-5a7cf809]{font-size:var(--icon-size);flex-shrink:0}.ui-button--loading .ui-button__content[data-v-5a7cf809]{visibility:hidden}.ui-button__spinner[data-v-5a7cf809]{font-size:var(--icon-size);margin:auto;position:absolute;inset:0}.ui-button--loading[data-v-5a7cf809]{cursor:progress}.ui-button--primary[data-v-5a7cf809]{background:var(--fg);color:var(--bg);font-weight:500}.ui-button--secondary[data-v-5a7cf809]{color:var(--fg);border:1px solid var(--line);background:0 0}.ui-button--ghost[data-v-5a7cf809]{color:var(--mute);background:0 0}@media (hover:hover){.ui-button--primary[data-v-5a7cf809]:hover{opacity:.88}.ui-button--secondary[data-v-5a7cf809]:hover{background:var(--hover)}.ui-button--ghost[data-v-5a7cf809]:hover{background:var(--selected);color:var(--fg)}}.ui-button[data-v-5a7cf809]:is(:disabled,[aria-disabled=true]):not(.ui-button--loading){opacity:.4;cursor:not-allowed}@media (pointer:coarse){.ui-button[data-v-5a7cf809]{min-height:44px}}.ui-fluid[data-v-bfdf2514]{isolation:isolate;position:relative}.ui-fluid__highlight[data-v-bfdf2514]{z-index:-1;border-radius:var(--radius-control);background:var(--hover);pointer-events:none;will-change:transform,opacity;transition:opacity var(--dur-fast-out) ease-in;position:absolute;top:0;left:0}.ui-fluid__highlight--animate[data-v-bfdf2514]{transition:transform .12s var(--ease-out),width .12s var(--ease-out),height .12s var(--ease-out),opacity var(--dur-fast-in) ease-out}@media (hover:none){.ui-fluid__highlight[data-v-bfdf2514]{display:none}}@media (prefers-reduced-motion:reduce){.ui-fluid__highlight--animate[data-v-bfdf2514]{transition:opacity var(--dur-fast-in) ease-out}}.search-button[data-v-0b41462f]{all:unset;box-sizing:border-box;width:var(--control-h);height:var(--control-h);border-radius:var(--radius-control);color:var(--mute);cursor:pointer;transition:background-color var(--dur-fast-in) ease-out,color var(--dur-fast-in) ease-out,box-shadow var(--dur-fast-in) ease-out;justify-content:center;align-items:center;gap:8px;display:inline-flex}.search-button__icon[data-v-0b41462f]{flex:none;font-size:18px}.search-button__kbd[data-v-0b41462f],.search-button__label[data-v-0b41462f]{display:none}.search-button[data-v-0b41462f]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover){.search-button[data-v-0b41462f]:hover{background:var(--selected);color:var(--fg)}}@media (pointer:coarse){.search-button[data-v-0b41462f]{width:44px;height:44px}}@media (width>=700px) and (hover:hover){.search-button[data-v-0b41462f]{background:var(--sub);width:auto;min-width:150px;box-shadow:inset 0 0 0 1px var(--line);justify-content:flex-start;padding:0 6px 0 12px}.search-button__label[data-v-0b41462f]{font-size:var(--fs-body);flex:1;display:inline}.search-button__kbd[data-v-0b41462f]{background:var(--selected);height:22px;color:var(--mute);font-family:var(--font-mono);border-radius:6px;align-items:center;padding:0 7px;font-size:11px;display:inline-flex}.search-button[data-v-0b41462f]:hover{box-shadow:inset 0 0 0 1px var(--dim)}}.theme-toggle[data-v-c6ef6118]{all:unset;width:var(--control-h);height:var(--control-h);border-radius:var(--radius-control);color:var(--mute);cursor:pointer;transition:background-color var(--dur-fast-in) ease-out,color var(--dur-fast-in) ease-out;place-items:center;font-size:18px;display:grid}.theme-toggle[data-v-c6ef6118]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover){.theme-toggle[data-v-c6ef6118]:hover{background:var(--selected);color:var(--fg)}}@media (pointer:coarse){.theme-toggle[data-v-c6ef6118]{width:44px;height:44px}}.lang[data-v-db52ef73]{all:unset;box-sizing:border-box;width:var(--control-h);height:var(--control-h);border-radius:var(--radius-control);color:var(--mute);font-size:var(--fs-caption);letter-spacing:.04em;cursor:pointer;transition:background-color var(--dur-fast-in) ease-out,color var(--dur-fast-in) ease-out;place-items:center;font-weight:600;display:grid;overflow:hidden}.lang[data-v-db52ef73]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:hover){.lang[data-v-db52ef73]:hover{background:var(--selected);color:var(--fg)}}@media (pointer:coarse){.lang[data-v-db52ef73]{width:44px;height:44px}}.lang__text[data-v-db52ef73]{display:block}.lang-leave-active[data-v-db52ef73]{transition:opacity 90ms ease-in,transform 90ms ease-in}.lang-enter-active[data-v-db52ef73]{transition:opacity .11s ease-out,transform .16s var(--ease-spring)}.lang-leave-to[data-v-db52ef73]{opacity:0;transform:translateY(-9px)}.lang-enter-from[data-v-db52ef73]{opacity:0;transform:translateY(9px)}@media (prefers-reduced-motion:reduce){.lang-enter-active[data-v-db52ef73],.lang-leave-active[data-v-db52ef73]{transition:none}}.ui-bar[data-v-f8aad54a]{top:calc(10px + env(safe-area-inset-top));z-index:40;opacity:0;pointer-events:none;width:calc(100% - 20px);max-width:720px;transition:transform .32s var(--ease-spring),opacity .2s ease-out;position:fixed;left:50%;transform:translate(-50%,-140%)}.ui-bar--visible[data-v-f8aad54a]{opacity:1;pointer-events:auto;transform:translate(-50%)}.ui-bar--inline[data-v-f8aad54a]{opacity:1;pointer-events:auto;width:auto;max-width:none;transition:none;position:static;transform:none}.ui-bar__inner[data-v-f8aad54a]{border-radius:var(--radius-card);background:var(--card);min-height:52px;box-shadow:var(--sh-card);align-items:center;gap:10px;padding:8px 10px;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.ui-bar[data-v-f8aad54a]{transition:opacity .2s ease-out;transform:translate(-50%)}.ui-bar--inline[data-v-f8aad54a]{transform:none}}.sections-menu[data-v-8886b8fd]{position:relative}.sections-menu__panel[data-v-8886b8fd]{border-radius:var(--radius-card);background:var(--dialog);min-width:200px;box-shadow:var(--sh-dialog);animation:popIn var(--dur-slow-in) var(--ease-spring) both;padding:6px;position:absolute;top:calc(100% + 12px);right:0}.sections-menu__item[data-v-8886b8fd]{all:unset;box-sizing:border-box;width:100%;height:var(--control-h);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:0 10px;display:flex}.sections-menu__item[data-v-8886b8fd]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (pointer:coarse){.sections-menu__item[data-v-8886b8fd]{height:44px}}@media (width<=560px){.sections-menu[data-v-8886b8fd]{position:static}.sections-menu__panel[data-v-8886b8fd]{min-width:min(240px,100%);left:auto;right:0}}@media (prefers-reduced-motion:reduce){.sections-menu__panel[data-v-8886b8fd]{animation-name:fadeIn}}.topbar__name[data-v-4e7368e3]{all:unset;min-width:0;height:var(--control-h);border-radius:var(--radius-control);cursor:pointer;align-items:center;gap:10px;padding-right:6px;font-weight:500;display:flex}.topbar__name[data-v-4e7368e3]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar__name span[data-v-4e7368e3]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar__avatar[data-v-4e7368e3]{-o-object-fit:cover;object-fit:cover;border-radius:50%;flex:none;width:28px;height:28px}.topbar__spacer[data-v-4e7368e3]{flex:1}@media (width<=560px){.topbar__name span[data-v-4e7368e3]{display:none}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SFMono-Regular", Menlo, monospace;--fs-display:28px;--fs-title:16px;--fs-subtitle:14px;--fs-body:13px;--fs-caption:12px;--ls-display:-.02em;--ls-title:-.01em;--control-h:36px;--icon-size:16px;--gap-icon:8px;--pad-x:12px;--radius-control:10px;--radius-card:14px;--radius-pill:999px;--success:#10b981;--warning:#eab308;--danger:#ef4444;--info:#0ea5e9;--success-text:var(--lightningcss-light,#047857)var(--lightningcss-dark,#34d399);--warning-text:var(--lightningcss-light,#854d0e)var(--lightningcss-dark,#fbbf24);--info-text:var(--lightningcss-light,#0369a1)var(--lightningcss-dark,#38bdf8);--danger-text:var(--lightningcss-light,#b91c1c)var(--lightningcss-dark,#f87171);--orange-text:var(--lightningcss-light,#c2410c)var(--lightningcss-dark,#fb923c);--accent-text:var(--lightningcss-light,color-mix(in oklch, var(--accent) 50%, #000))var(--lightningcss-dark,var(--accent));--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-spring:linear(0, .2 7%, .58 18%, .88 32%, 1.03 48%, 1.04 58%, 1.01 76%, 1);--dur-fast-in:80ms;--dur-fast-out:60ms;--dur-medium-in:.16s;--dur-medium-out:.12s;--dur-slow-in:.24s;--dur-slow-out:.16s;--accent-teal:oklch(74% .12 175);--accent-blue:oklch(72% .15 250);--accent-amber:oklch(78% .14 70);--accent-coral:oklch(70% .17 20)}:root,[data-accent=teal]{--accent:var(--accent-teal)}[data-accent=blue]{--accent:var(--accent-blue)}[data-accent=amber]{--accent:var(--accent-amber)}[data-accent=coral]{--accent:var(--accent-coral)}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:oklch(96.8% .004 265);--card:oklch(99.5% .002 265);--sub:oklch(98.2% .003 265);--dialog:oklch(99.5% .002 265);--dialog-sub:oklch(98.2% .003 265);--line:oklch(20% .02 265/.09);--hover:oklch(20% .02 265/.045);--selected:oklch(20% .02 265/.075);--sh-card:0 0 0 1px oklch(20% .02 265/.07), 0 1px 2px oklch(20% .02 265/.05);--sh-dialog:0 0 0 1px oklch(20% .02 265/.07), 0 4px 12px oklch(20% .02 265/.07), 0 16px 48px oklch(20% .02 265/.14);--fg:oklch(19% .01 265);--mute:oklch(43% .012 265);--dim:oklch(52% .012 265);--glow:color-mix(in oklch, var(--accent) 12%, transparent);--scroll-thumb:oklch(84% .008 265);--scroll-thumb-hover:oklch(74% .01 265)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:oklch(16.5% .006 265);--card:oklch(20.5% .008 265);--sub:oklch(23.5% .009 265);--dialog:oklch(26% .01 265);--dialog-sub:oklch(29.5% .011 265);--line:oklch(96% .01 265/.09);--hover:oklch(96% .01 265/.06);--selected:oklch(96% .01 265/.1);--sh-card:0 0 0 1px oklch(96% .01 265/.07), 0 1px 2px #0006;--sh-dialog:0 0 0 1px oklch(96% .01 265/.1), 0 4px 12px #0000004d, 0 16px 48px #00000080;--fg:oklch(95.5% .004 265);--mute:oklch(76% .01 265);--dim:oklch(66% .012 265);--glow:color-mix(in oklch, var(--accent) 9%, transparent);--scroll-thumb:oklch(34% .01 265);--scroll-thumb-hover:oklch(42% .012 265)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:oklch(16.5% .006 265);--card:oklch(20.5% .008 265);--sub:oklch(23.5% .009 265);--dialog:oklch(26% .01 265);--dialog-sub:oklch(29.5% .011 265);--line:oklch(96% .01 265/.09);--hover:oklch(96% .01 265/.06);--selected:oklch(96% .01 265/.1);--sh-card:0 0 0 1px oklch(96% .01 265/.07), 0 1px 2px #0006;--sh-dialog:0 0 0 1px oklch(96% .01 265/.1), 0 4px 12px #0000004d, 0 16px 48px #00000080;--fg:oklch(95.5% .004 265);--mute:oklch(76% .01 265);--dim:oklch(66% .012 265);--glow:color-mix(in oklch, var(--accent) 9%, transparent);--scroll-thumb:oklch(34% .01 265);--scroll-thumb-hover:oklch(42% .012 265)}}@media (prefers-reduced-motion:reduce){:root{--dur-fast-in:10ms;--dur-fast-out:10ms;--dur-medium-in:10ms;--dur-medium-out:10ms;--dur-slow-in:10ms;--dur-slow-out:10ms}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--bg)}body,html{background:var(--bg);color:var(--fg);margin:0}body{min-height:100dvh;font-family:var(--font-sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.5}a{color:var(--fg);text-decoration:none}a:hover{color:var(--accent)}::placeholder{color:var(--dim)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){mix-blend-mode:normal;animation:none}@media (pointer:coarse){a,button{touch-action:manipulation}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes popIn{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}@keyframes popOut{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px)scale(.98)}}@keyframes drawerIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes drawerOut{0%{opacity:1;transform:none}to{opacity:0;transform:translate(16px)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)scale(.96)}to{opacity:1;transform:translate(-50%)}}@keyframes spin{to{transform:rotate(1turn)}}.anim-fade-up{animation:fadeUp var(--dur-slow-in) var(--ease-spring) both}.anim-pop-in{animation:popIn var(--dur-slow-in) var(--ease-spring) both}.anim-pop-out{animation:popOut var(--dur-slow-out) var(--ease-in) both}.anim-spin{animation:.8s linear infinite spin}@media (prefers-reduced-motion:reduce){.anim-fade-up,.anim-pop-in{animation-name:fadeIn}.anim-pop-out{animation-name:fadeOut}.anim-spin{animation-duration:1.6s}}.page-enter-active{animation:fadeUp var(--dur-slow-in) var(--ease-spring) both}.page-leave-active{animation:fadeOut var(--dur-slow-out) var(--ease-in) both}@media (prefers-reduced-motion:reduce){.page-enter-active{animation-name:fadeIn}}.ui-toaster[data-v-d42b1600]{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:70;pointer-events:none;width:0;height:0;position:fixed}.ui-toaster[data-v-d42b1600]:focus-within,.ui-toaster[data-v-d42b1600]:hover{--spread:1}.ui-toast[data-v-d42b1600]{align-items:center;gap:var(--gap-icon);height:var(--control-h);border-radius:var(--radius-pill);background:var(--dialog);box-shadow:var(--sh-dialog);font-size:var(--fs-body);white-space:nowrap;pointer-events:auto;--step:calc(var(--spread,0)*44px + (1 - var(--spread,0))*8px);transform:translate(-50%,calc(var(--i)*var(--step)*-1)) scale(calc(1 - (1 - var(--spread,0))*var(--i)*.05));z-index:calc(10 - var(--i));transition:transform .32s var(--ease-spring),opacity var(--dur-slow-in) ease-out;animation:ui-toast-in-d42b1600 var(--dur-slow-in) var(--ease-spring) backwards;padding:0 6px 0 14px;display:flex;position:absolute;bottom:0;left:0}.ui-toast--closing[data-v-d42b1600]{opacity:0;transform:translate(-50%,calc(var(--i)*var(--step)*-1 + 8px)) scale(.96);pointer-events:none;transition:transform var(--dur-slow-out) var(--ease-in),opacity var(--dur-slow-out) var(--ease-in)}.ui-toast__icon[data-v-d42b1600]{font-size:var(--icon-size);flex-shrink:0}.ui-toast--success .ui-toast__icon[data-v-d42b1600]{color:var(--success)}.ui-toast--danger .ui-toast__icon[data-v-d42b1600]{color:var(--danger)}.ui-toast--info .ui-toast__icon[data-v-d42b1600]{color:var(--info)}.ui-toast__close[data-v-d42b1600]{all:unset;width:24px;height:24px;color:var(--dim);cursor:pointer;border-radius:50%;place-items:center;font-size:14px;display:grid}.ui-toast__close[data-v-d42b1600]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (hover:hover){.ui-toast__close[data-v-d42b1600]:hover{background:var(--selected);color:var(--fg)}}@keyframes ui-toast-in-d42b1600{0%{opacity:0;transform:translate(-50%,12px)scale(.96)}}@media (prefers-reduced-motion:reduce){.ui-toast[data-v-d42b1600]{transition:opacity var(--dur-slow-in) ease-out;animation-name:fadeIn}}.error[data-v-9b490d5b]{outline:none;gap:24px;max-width:720px;margin:0 auto;padding:24px 16px 0}.error[data-v-9b490d5b],.error__card[data-v-9b490d5b]{flex-direction:column;display:flex}.error__card[data-v-9b490d5b]{border-radius:var(--radius-card);background:var(--card);box-shadow:var(--sh-card);align-items:flex-start;gap:12px;padding:40px 28px}.error__code[data-v-9b490d5b]{font-family:var(--font-mono);letter-spacing:-.04em;color:var(--accent-text);font-size:64px;line-height:1}h1[data-v-9b490d5b]{font-size:var(--fs-display);letter-spacing:var(--ls-display);font-weight:500;line-height:1.2}h1[data-v-9b490d5b],p[data-v-9b490d5b]{margin:0}p[data-v-9b490d5b]{max-width:46ch;color:var(--mute);font-size:var(--fs-subtitle);text-wrap:pretty}.error__actions[data-v-9b490d5b]{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.ui-card[data-v-87d9e22e]{border-radius:var(--radius-card);background:var(--card);box-shadow:var(--sh-card);flex-direction:column;gap:14px;padding:20px;display:flex}@media (hover:hover) and (pointer:fine){.ui-card--glow[data-v-87d9e22e]{background:radial-gradient(260px circle at var(--mx,-999px) var(--my,-999px),var(--glow),transparent 70%),var(--card)}}.ui-badge[data-v-85e78895]{border-radius:var(--radius-pill);background:var(--selected);height:22px;color:var(--mute);align-items:center;gap:6px;padding:0 8px;font-size:11px;line-height:1;display:inline-flex}.ui-badge__dot[data-v-85e78895]{background:var(--dim);border-radius:50%;width:6px;height:6px}.ui-badge--success[data-v-85e78895]{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success-text)}.ui-badge--success .ui-badge__dot[data-v-85e78895]{background:var(--success)}.ui-badge--warning[data-v-85e78895]{background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning-text)}.ui-badge--warning .ui-badge__dot[data-v-85e78895]{background:var(--warning)}.ui-badge--info[data-v-85e78895]{background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--info-text)}.ui-badge--info .ui-badge__dot[data-v-85e78895]{background:var(--info)}.ui-badge--danger[data-v-85e78895]{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger-text)}.ui-badge--danger .ui-badge__dot[data-v-85e78895]{background:var(--danger)}.demo[data-v-bd9cfc50]{flex-direction:column;gap:10px;margin:0;display:flex}.demo__bar[data-v-bd9cfc50]{font-size:var(--fs-caption);color:var(--dim);justify-content:space-between;align-items:baseline;display:flex}.demo__score[data-v-bd9cfc50]{font-family:var(--font-mono);font-size:var(--fs-subtitle);color:var(--fg);font-weight:500}.demo__track[data-v-bd9cfc50]{--zone:36px;--step:64px;border-radius:var(--radius-control);background:var(--sub);height:64px;box-shadow:inset 0 0 0 1px var(--line);position:relative;overflow:hidden}.demo__zone[data-v-bd9cfc50]{top:8px;bottom:8px;left:calc(var(--zone) - 4px);border:1.5px dashed color-mix(in srgb,var(--accent) 70%,transparent);width:56px}.demo__chip[data-v-bd9cfc50],.demo__zone[data-v-bd9cfc50]{border-radius:10px;position:absolute}.demo__chip[data-v-bd9cfc50]{background:var(--card);width:48px;height:40px;box-shadow:var(--sh-card);font-family:var(--font-mono);transform:translate(calc(var(--zone) + var(--o)*var(--step)),-50%);place-items:center;font-weight:500;transition:transform .9s linear,background-color .2s ease-out,color .2s ease-out,opacity .3s ease-out;display:grid;top:50%;left:0}.demo__chip.is-hit[data-v-bd9cfc50],.demo__chip.is-now[data-v-bd9cfc50]{background:var(--success);color:#062b1c}.demo__chip.is-hit[data-v-bd9cfc50]{opacity:.55}.demo__chip.is-miss[data-v-bd9cfc50]{background:var(--danger);color:#fff;opacity:.8}.chip-enter-from[data-v-bd9cfc50],.chip-leave-to[data-v-bd9cfc50]{opacity:0}figcaption[data-v-bd9cfc50]{font-size:var(--fs-caption);color:var(--dim)}@media (prefers-reduced-motion:reduce){.demo__chip[data-v-bd9cfc50]{transition:none}}.demo[data-v-024341cf]{flex-direction:column;gap:10px;margin:0;display:flex}.demo__totals[data-v-024341cf]{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.demo__totals div[data-v-024341cf]{flex-direction:column;gap:2px;display:flex}.demo__totals span[data-v-024341cf]{font-size:var(--fs-caption);color:var(--dim)}.demo__totals strong[data-v-024341cf]{font-family:var(--font-mono);font-size:var(--fs-subtitle);font-variant-numeric:tabular-nums;font-weight:500}.demo__left[data-v-024341cf]{color:var(--success-text)}.demo__meter[data-v-024341cf]{border-radius:var(--radius-pill);background:var(--sub);height:6px;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}.demo__fill[data-v-024341cf]{border-radius:inherit;background:var(--accent);transform-origin:0;height:100%;transition:transform .5s var(--ease-out);display:block}.demo__window[data-v-024341cf]{height:148px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 calc(100% - 40px),#0000);mask-image:linear-gradient(#000 calc(100% - 40px),#0000)}.demo__feed[data-v-024341cf]{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.demo__feed li[data-v-024341cf]{background:var(--sub);font-size:var(--fs-caption);border-radius:8px;justify-content:space-between;gap:12px;padding:6px 10px;display:flex}.demo__amount[data-v-024341cf]{font-family:var(--font-mono);color:var(--mute)}.demo__amount.is-in[data-v-024341cf]{color:var(--success-text)}.entry-enter-active[data-v-024341cf]{transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}.entry-enter-from[data-v-024341cf]{opacity:0;transform:translateY(-14px)}.entry-move[data-v-024341cf]{transition:transform .35s var(--ease-out)}.entry-leave-active[data-v-024341cf]{transition:opacity .5s ease-in,transform .5s ease-in}.entry-leave-to[data-v-024341cf]{opacity:0;transform:translateY(8px)}figcaption[data-v-024341cf]{font-size:var(--fs-caption);color:var(--dim)}@media (prefers-reduced-motion:reduce){.demo__fill[data-v-024341cf],.entry-enter-active[data-v-024341cf],.entry-leave-active[data-v-024341cf],.entry-move[data-v-024341cf]{transition:none}}.next[data-v-5f79c1c1]{border-radius:var(--radius-card);isolation:isolate;background:var(--card);box-shadow:var(--sh-card);align-items:center;gap:14px;margin-top:6px;padding:18px;display:flex;position:relative}.next[data-v-5f79c1c1]:before{content:"";z-index:-1;border-radius:inherit;background:var(--hover);opacity:0;transition:opacity var(--dur-slow-in) var(--ease-out);position:absolute;inset:0}.next[data-v-5f79c1c1]:focus-visible:before,.next[data-v-5f79c1c1]:hover:before{opacity:1}.next__icon[data-v-5f79c1c1]{border-radius:var(--radius-control);color:#1a1a1a;flex:none;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.next__text[data-v-5f79c1c1]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.next__label[data-v-5f79c1c1]{font-size:var(--fs-caption);color:var(--dim)}.next__title[data-v-5f79c1c1]{font-size:var(--fs-subtitle);text-wrap:pretty;font-weight:500}.next__summary[data-v-5f79c1c1]{color:var(--mute);font-size:var(--fs-caption);text-wrap:pretty}.next__arrow[data-v-5f79c1c1]{color:var(--mute);transition:transform var(--dur-slow-in) var(--ease-spring),color var(--dur-medium-in) ease-out;flex:none;font-size:20px}.next:hover .next__arrow[data-v-5f79c1c1]{color:var(--fg);transform:translate(4px)}.details[data-v-6ba4803d]{outline:none;flex-direction:column;gap:14px;max-width:720px;margin:0 auto;padding:24px 16px 0;display:flex}.details__back[data-v-6ba4803d]{width:fit-content;color:var(--mute);align-items:center;gap:6px;padding:6px 0;display:inline-flex}.details__back[data-v-6ba4803d]:hover{color:var(--fg)}.details__head[data-v-6ba4803d]{flex-direction:column;gap:12px;margin:8px 0 12px;display:flex}.details__icon[data-v-6ba4803d]{border-radius:var(--radius-card);color:#1a1a1a;place-items:center;width:48px;height:48px;font-size:26px;display:grid}.details__title[data-v-6ba4803d]{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}h1[data-v-6ba4803d]{font-size:var(--fs-display);letter-spacing:var(--ls-display);margin:0;font-weight:500;line-height:1.2}.details__summary[data-v-6ba4803d]{color:var(--mute);font-size:var(--fs-subtitle);text-wrap:pretty;margin:0}h2[data-v-6ba4803d]{font-size:var(--fs-caption);color:var(--dim);font-weight:400}h2[data-v-6ba4803d],p[data-v-6ba4803d]{margin:0}p[data-v-6ba4803d]{text-wrap:pretty}ul[data-v-6ba4803d]{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.details__timeline[data-v-6ba4803d]{gap:12px;padding:0;list-style:none}.details__timeline li[data-v-6ba4803d]{grid-template-columns:140px 1fr;gap:4px 16px;display:grid}.details__timeline time[data-v-6ba4803d]{font-family:var(--font-mono);white-space:nowrap;padding-top:2px}.details__note[data-v-6ba4803d],.details__timeline time[data-v-6ba4803d]{font-size:var(--fs-caption);color:var(--dim)}.details__body[data-v-6ba4803d] p{text-wrap:pretty;margin:0 0 10px}.details__body[data-v-6ba4803d] p:last-child{margin-bottom:0}.details__tech[data-v-6ba4803d]{flex-flow:wrap;gap:6px;padding:0;list-style:none}.details__tech li[data-v-6ba4803d]{border-radius:var(--radius-pill);background:var(--sub);height:26px;box-shadow:inset 0 0 0 1px var(--line);font-size:var(--fs-caption);align-items:center;gap:6px;padding:0 10px;display:inline-flex}.details__actions[data-v-6ba4803d]{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}@media (width<=560px){.details__timeline li[data-v-6ba4803d]{grid-template-columns:1fr}}@media (pointer:coarse){.details__back[data-v-6ba4803d]{min-height:44px}}.diagram[data-v-a2acc731]{border-radius:var(--radius-card);background:var(--card);box-shadow:var(--sh-card);margin:8px 0 12px;padding:18px}.diagram__rows[data-v-a2acc731]{gap:18px}.diagram__row[data-v-a2acc731],.diagram__rows[data-v-a2acc731]{flex-direction:column;display:flex}.diagram__row[data-v-a2acc731]{gap:8px}.diagram__label[data-v-a2acc731]{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--dim)}.diagram__nodes[data-v-a2acc731]{align-items:stretch;gap:8px;margin:0;padding:0;list-style:none;display:flex}.diagram__item[data-v-a2acc731]{display:contents}.diagram__node[data-v-a2acc731]{border-radius:var(--radius-control);background:var(--sub);min-width:0;box-shadow:inset 0 0 0 1px var(--line);font-size:var(--fs-caption);color:var(--mute);flex-direction:column;flex:1;gap:2px;padding:10px 12px;line-height:1.4;display:flex}.diagram__node strong[data-v-a2acc731]{color:var(--fg);font-weight:500;font-size:var(--fs-body)}.diagram__node--ok[data-v-a2acc731]{background:color-mix(in srgb,var(--success) 10%,var(--sub));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--success) 45%,transparent)}.diagram__node--bad[data-v-a2acc731]{background:color-mix(in srgb,var(--danger) 10%,var(--sub));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 45%,transparent)}.diagram__arrow[data-v-a2acc731]{color:var(--dim);flex:none;align-self:center;font-size:16px}@media (width<=640px){.diagram__item[data-v-a2acc731],.diagram__nodes[data-v-a2acc731]{flex-direction:column}.diagram__item[data-v-a2acc731]{align-items:stretch;gap:6px;display:flex}.diagram__arrow[data-v-a2acc731]{transform:rotate(90deg)}}.post[data-v-7da04df4]{outline:none;flex-direction:column;gap:24px;max-width:1000px;margin:0 auto;padding:24px 16px 0;display:flex}.post__back[data-v-7da04df4]{width:fit-content;color:var(--mute);align-items:center;gap:6px;padding:6px 0;display:inline-flex}.post__back[data-v-7da04df4]:hover{color:var(--fg)}.post__cover[data-v-7da04df4]{isolation:isolate;border-radius:var(--radius-card);background:radial-gradient(520px circle at 100% 0,color-mix(in srgb,var(--post-color) 32%,transparent),transparent 70%),var(--card);box-shadow:var(--sh-card);flex-direction:column;gap:14px;padding:28px 24px;display:flex;position:relative;overflow:hidden}.post__cover-icon[data-v-7da04df4]{z-index:-1;color:var(--post-color);opacity:.16;font-size:150px;position:absolute;top:-12px;right:-12px}.post__meta[data-v-7da04df4]{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--mute);flex-wrap:wrap;gap:10px;margin:0;display:flex}h1[data-v-7da04df4]{max-width:24ch;font-size:var(--fs-display);letter-spacing:var(--ls-display);text-wrap:balance;margin:0;font-weight:500;line-height:1.2}.post__lead[data-v-7da04df4]{max-width:60ch;font-size:var(--fs-title);color:var(--mute);text-wrap:pretty;margin:0;line-height:1.6}.post__tags[data-v-7da04df4]{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.post__tags a[data-v-7da04df4]{border-radius:var(--radius-pill);height:24px;font-family:var(--font-mono);color:var(--mute);background:color-mix(in srgb,var(--post-color) 14%,transparent);transition:background-color var(--dur-medium-in) ease-out,color var(--dur-medium-in) ease-out;align-items:center;padding:0 10px;font-size:11px;display:inline-flex}.post__tags a[data-v-7da04df4]:hover{color:var(--fg);background:color-mix(in srgb,var(--post-color) 30%,transparent)}@media (pointer:coarse){.post__tags a[data-v-7da04df4]{height:32px}}.post__notice[data-v-7da04df4]{font-size:var(--fs-caption);color:var(--dim);margin:0}.post__author[data-v-7da04df4]{font-size:var(--fs-caption);align-items:center;gap:10px;display:flex}.post__author img[data-v-7da04df4]{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:28px;height:28px}.post__layout[data-v-7da04df4]{grid-template-columns:minmax(0,1fr);gap:32px;display:grid}.post__main[data-v-7da04df4]{flex-direction:column;gap:4px;width:100%;min-width:0;max-width:680px;margin:0 auto;display:flex}.post__toc[data-v-7da04df4]{display:none}@media (width>=1040px){.post__layout[data-v-7da04df4]{grid-template-columns:minmax(0,680px) 220px;justify-content:center;gap:56px}.post__main[data-v-7da04df4]{margin:0}.post__toc[data-v-7da04df4]{align-self:start;display:block;position:sticky;top:88px}.post__toc h2[data-v-7da04df4]{font-size:var(--fs-caption);color:var(--dim);margin:0 0 8px;font-weight:400}.post__toc ol[data-v-7da04df4]{border-left:1px solid var(--line);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.post__toc a[data-v-7da04df4]{font-size:var(--fs-caption);color:var(--mute);border-left:2px solid #0000;margin-left:-1px;padding:5px 0 5px 12px;line-height:1.4;display:block}.post__toc a[data-v-7da04df4]:hover{color:var(--fg);border-left-color:var(--post-color)}}.post__summary[data-v-7da04df4]{border-radius:var(--radius-control);background:color-mix(in srgb,var(--post-color) 10%,var(--card));box-shadow:inset 3px 0 0 var(--post-color);margin:0 0 20px;padding:16px 18px}.post__summary h2[data-v-7da04df4]{font-size:var(--fs-caption);color:var(--fg);margin:0 0 8px;font-weight:500}.post__summary ul[data-v-7da04df4]{color:var(--mute);flex-direction:column;gap:6px;margin:0;padding-left:18px;line-height:1.55;display:flex}.post__body[data-v-7da04df4]{font-size:16px;line-height:1.75}.post__body[data-v-7da04df4] h2{font-size:var(--fs-title);letter-spacing:-.01em;margin:32px 0 8px;scroll-margin-top:80px;font-weight:500;line-height:1.4}.post__body[data-v-7da04df4] p{color:var(--mute);text-wrap:pretty;margin:0 0 16px}.post__body[data-v-7da04df4] ol,.post__body[data-v-7da04df4] ul{color:var(--mute);flex-direction:column;gap:6px;margin:0 0 16px;padding-left:20px;display:flex}.post__body[data-v-7da04df4] a{color:var(--fg);text-underline-offset:3px;text-decoration:underline}.post__body[data-v-7da04df4] strong{color:var(--fg);font-weight:500}.post__body[data-v-7da04df4] code{font-family:var(--font-mono);background:var(--sub);box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);border-radius:6px;padding:1px 6px;font-size:.9em}.post__body[data-v-7da04df4] pre{border-radius:var(--radius-control);background:var(--sub);box-shadow:inset 0 0 0 1px var(--line);margin:0 0 16px;padding:14px 16px;overflow-x:auto}.post__body[data-v-7da04df4] pre code{box-shadow:none;font-size:var(--fs-caption);background:0 0;padding:0;line-height:1.6}.post__body[data-v-7da04df4] blockquote{border-left:2px solid var(--line);margin:0 0 16px;padding-left:14px}.post__body[data-v-7da04df4] .callout{--c:var(--info);border-radius:var(--radius-control);background:color-mix(in srgb,var(--c) 10%,var(--card));box-shadow:inset 3px 0 0 var(--c);margin:4px 0 20px;padding:14px 16px}.post__body[data-v-7da04df4] .callout--tip{--c:#8b5cf6}.post__body[data-v-7da04df4] .callout--warning{--c:var(--warning)}.post__body[data-v-7da04df4] .callout--result{--c:var(--success)}.post__body[data-v-7da04df4] .callout__title{font-size:var(--fs-caption);color:var(--fg);margin:0 0 4px;font-weight:500}.post__body[data-v-7da04df4] .callout p:last-child{margin-bottom:0}@media (width<=560px){.post__cover[data-v-7da04df4]{padding:22px 18px}.post__cover-icon[data-v-7da04df4]{font-size:110px}}@media (pointer:coarse){.post__back[data-v-7da04df4]{min-height:44px}}.ui-empty[data-v-c993b90c]{text-align:center;border:1px dashed var(--line);border-radius:var(--radius-control);flex-direction:column;align-items:center;gap:10px;padding:24px 16px;display:flex}.ui-empty__icon[data-v-c993b90c]{background:var(--sub);border:1px solid var(--line);width:36px;height:36px;color:var(--dim);border-radius:50%;place-items:center;font-size:18px;display:grid}.ui-empty__text[data-v-c993b90c]{text-wrap:pretty;flex-direction:column;gap:2px;display:flex}.ui-empty__description[data-v-c993b90c]{color:var(--mute);font-size:var(--fs-caption)}.card[data-v-c9f0c00f]{all:unset;box-sizing:border-box;isolation:isolate;border-radius:var(--radius-card);background:var(--card);box-shadow:var(--sh-card);cursor:pointer;align-items:flex-start;gap:14px;padding:18px;display:flex;position:relative}.card[data-v-c9f0c00f]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card[data-v-c9f0c00f]:before{content:"";z-index:-1;border-radius:inherit;background:var(--hover);opacity:0;transition:opacity var(--dur-slow-in) var(--ease-out);position:absolute;inset:0}.card[data-v-c9f0c00f]:hover:before{opacity:1}.card__icon[data-v-c9f0c00f]{border-radius:var(--radius-control);color:#1a1a1a;flex:none;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.card__text[data-v-c9f0c00f]{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.card__meta[data-v-c9f0c00f]{min-height:22px;font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--dim);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card__title[data-v-c9f0c00f]{font-size:var(--fs-subtitle);text-wrap:pretty;font-weight:500;line-height:1.4}.card__description[data-v-c9f0c00f]{color:var(--mute);font-size:var(--fs-caption);text-wrap:pretty;line-height:1.5}.card__arrow[data-v-c9f0c00f]{color:var(--mute);transition:transform var(--dur-slow-in) var(--ease-spring),color var(--dur-medium-in) ease-out;flex:none;align-self:center;font-size:20px}.card:hover .card__arrow[data-v-c9f0c00f]{color:var(--fg);transform:translate(4px)}.card--soon[data-v-c9f0c00f]{cursor:default}.card--soon .card__icon[data-v-c9f0c00f]{opacity:.55}.card--soon .card__title[data-v-c9f0c00f]{color:var(--mute)}.blog[data-v-bacd4abc]{outline:none;gap:24px;max-width:1000px;margin:0 auto;padding:24px 16px 0}.blog[data-v-bacd4abc],.blog__head[data-v-bacd4abc]{flex-direction:column;display:flex}.blog__head[data-v-bacd4abc]{gap:6px}h1[data-v-bacd4abc]{font-size:var(--fs-display);letter-spacing:var(--ls-display);margin:0;font-weight:500;line-height:1.2}.blog__head p[data-v-bacd4abc]{color:var(--mute);font-size:var(--fs-subtitle);text-wrap:pretty;margin:0}.blog__head .blog__notice[data-v-bacd4abc]{color:var(--dim);font-size:var(--fs-caption)}.blog__layout[data-v-bacd4abc]{flex-direction:column;gap:20px;display:flex}.blog__content[data-v-bacd4abc]{gap:24px;min-width:0}.blog__content[data-v-bacd4abc],.blog__list[data-v-bacd4abc]{flex-direction:column;display:flex;position:relative}.blog__list[data-v-bacd4abc]{gap:12px}.card-enter-active[data-v-bacd4abc],.section-enter-active[data-v-bacd4abc]{transition:opacity var(--dur-slow-in) var(--ease-out),transform var(--dur-slow-in) var(--ease-spring)}.card-leave-active[data-v-bacd4abc],.section-leave-active[data-v-bacd4abc]{transition:opacity var(--dur-slow-out) var(--ease-in),transform var(--dur-slow-out) var(--ease-in);position:absolute;left:0;right:0}.card-move[data-v-bacd4abc],.section-move[data-v-bacd4abc]{transition:transform var(--dur-slow-in) var(--ease-out)}.card-enter-from[data-v-bacd4abc],.section-enter-from[data-v-bacd4abc]{opacity:0;transform:translateY(-8px)}.card-leave-to[data-v-bacd4abc],.section-leave-to[data-v-bacd4abc]{opacity:0;transform:translateY(8px)}.blog__group[data-v-bacd4abc]{flex-direction:column;gap:12px;display:flex}.blog__none[data-v-bacd4abc]{padding-top:8px}h2[data-v-bacd4abc]{font-size:var(--fs-caption);color:var(--dim);margin:0;font-weight:400}.blog__count[data-v-bacd4abc]{font-family:var(--font-mono);margin-left:6px}.blog__more[data-v-bacd4abc]{align-self:center}.blog__filters[data-v-bacd4abc]{flex-direction:column;gap:14px;min-width:0;display:flex}.blog__search[data-v-bacd4abc]{border-radius:var(--radius-control);background:var(--card);height:40px;box-shadow:var(--sh-card);color:var(--dim);align-items:center;gap:8px;padding:0 12px;display:flex}.blog__search[data-v-bacd4abc]:focus-within{outline:2px solid var(--accent);outline-offset:2px}.blog__search input[data-v-bacd4abc]{all:unset;min-width:0;color:var(--fg);font-size:var(--fs-body);flex:1}.blog__search input[data-v-bacd4abc]::placeholder{color:var(--dim)}.blog__topics h2[data-v-bacd4abc]{margin-bottom:8px}.blog__filters[data-v-bacd4abc]{gap:18px}.blog__topics ul[data-v-bacd4abc]{gap:6px;margin:0;padding:0 0 4px;list-style:none;display:flex;overflow-x:auto}.blog__topics button[data-v-bacd4abc]{all:unset;box-sizing:border-box;white-space:nowrap;border-radius:var(--radius-pill);cursor:pointer;height:32px;font-size:var(--fs-caption);color:var(--mute);background:var(--sub);box-shadow:inset 0 0 0 1px var(--line);transition:background-color var(--dur-fast-in) ease-out,color var(--dur-fast-in) ease-out;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.blog__topics button span[data-v-bacd4abc]{font-family:var(--font-mono);color:var(--dim);font-size:11px}.blog__topics button[data-v-bacd4abc]:hover{color:var(--fg);background:var(--hover)}.blog__topics button[data-v-bacd4abc]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.blog__topics button.is-on[data-v-bacd4abc]{color:var(--fg);background:var(--selected);box-shadow:inset 0 0 0 1px var(--dim)}@media (width>=860px){.blog__layout[data-v-bacd4abc]{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:40px;display:grid}.blog__filters[data-v-bacd4abc]{position:sticky;top:88px}.blog__topics ul[data-v-bacd4abc]{flex-direction:column;gap:2px;padding:0;overflow:visible}.blog__topics button[data-v-bacd4abc]{border-radius:var(--radius-control);width:100%;height:34px;box-shadow:none;background:0 0;justify-content:space-between;display:flex}.blog__topics button.is-on[data-v-bacd4abc]{background:var(--selected);box-shadow:none}}@media (pointer:coarse){.blog__topics button[data-v-bacd4abc]{height:40px}}.ui-segmented[data-v-35888f14]{width:fit-content;height:var(--control-h);background:var(--sub);border:1px solid var(--line);border-radius:var(--radius-control);align-items:center;padding:3px;display:inline-flex;position:relative;overflow:hidden}.ui-segmented__indicator[data-v-35888f14]{background:var(--selected);pointer-events:none;border-radius:7px;position:absolute;top:3px;bottom:3px;left:0}.ui-segmented__indicator--ready[data-v-35888f14]{transition:transform .32s var(--ease-spring),width .32s var(--ease-spring),opacity var(--dur-medium-in) ease-out}.ui-segmented__option[data-v-35888f14]{all:unset;z-index:1;box-sizing:border-box;height:100%;font-size:var(--fs-body);color:var(--mute);cursor:pointer;transition:color var(--dur-medium-in) ease-out,background-color var(--dur-medium-in) ease-out;border-radius:7px;padding:0 10px;position:relative}.ui-segmented__option--on[data-v-35888f14]{color:var(--fg)}.ui-segmented__option[data-v-35888f14]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:hover){.ui-segmented__option[data-v-35888f14]:not(.ui-segmented__option--on):hover{color:var(--fg);background:var(--hover)}}@media (pointer:coarse){.ui-segmented[data-v-35888f14]{height:44px}.ui-segmented__option[data-v-35888f14]{place-items:center;min-width:44px;display:grid}.ui-segmented__option[data-v-35888f14]:after{content:"";position:absolute;inset:-4px 0}}@media (prefers-reduced-motion:reduce){.ui-segmented__indicator--ready[data-v-35888f14]{transition:opacity var(--dur-medium-in) ease-out}}.ui-modal[data-v-4736b834]{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--dur-slow-in) ease-out both;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.ui-modal--closing[data-v-4736b834]{animation:fadeOut var(--dur-slow-out) ease-in both}.ui-modal--top[data-v-4736b834]{place-items:start center;padding-top:min(14vh,120px)}.ui-modal__dialog[data-v-4736b834]{background:var(--dialog);width:100%;max-width:380px;color:var(--fg);box-shadow:var(--sh-dialog);max-height:calc(100dvh - 32px);animation:popIn var(--dur-slow-in) var(--ease-spring) both;border-radius:16px;outline:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.ui-modal__dialog--md[data-v-4736b834]{max-width:600px}.ui-modal__dialog--lg[data-v-4736b834]{max-width:880px}.ui-modal--closing .ui-modal__dialog[data-v-4736b834]{animation:popOut var(--dur-slow-out) var(--ease-in) both}.ui-modal__scroll[data-v-4736b834]{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent;gap:16px;min-height:0;padding:24px;overflow-y:auto}.ui-modal__head[data-v-4736b834],.ui-modal__scroll[data-v-4736b834]{flex-direction:column;display:flex}.ui-modal__head[data-v-4736b834]{gap:4px;padding-right:24px}.ui-modal__head h3[data-v-4736b834]{font-size:var(--fs-title);margin:0;font-weight:500}.ui-modal__head p[data-v-4736b834]{color:var(--mute);text-wrap:pretty;margin:0}.ui-modal__footer[data-v-4736b834]{justify-content:flex-end;gap:8px;display:flex}.ui-modal__close[data-v-4736b834]{all:unset;width:28px;height:28px;color:var(--mute);cursor:pointer;font-size:var(--icon-size);border-radius:8px;place-items:center;display:grid;position:absolute;top:12px;right:12px}.ui-modal__close[data-v-4736b834]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (pointer:coarse){.ui-modal__close[data-v-4736b834]:after{content:"";position:absolute;inset:-8px}}@media (hover:hover){.ui-modal__close[data-v-4736b834]:hover{background:var(--selected);color:var(--fg)}}@keyframes ui-sheet-in-4736b834{0%{transform:translateY(100%)}to{transform:none}}@keyframes ui-sheet-out-4736b834{0%{transform:none}to{transform:translateY(100%)}}@media (width<=560px){.ui-modal[data-v-4736b834]{place-items:end center;padding:0}.ui-modal--top[data-v-4736b834]{place-items:start center;padding:8px}.ui-modal--top .ui-modal__dialog[data-v-4736b834]{border-radius:16px;animation-name:popIn}.ui-modal__dialog[data-v-4736b834]{max-width:none;animation:ui-sheet-in-4736b834 .32s var(--ease-spring) both;border-radius:16px 16px 0 0}.ui-modal--closing .ui-modal__dialog[data-v-4736b834]{animation:ui-sheet-out-4736b834 var(--dur-slow-out) var(--ease-in) both}.ui-modal__scroll[data-v-4736b834]{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.ui-modal--closing .ui-modal__dialog[data-v-4736b834],.ui-modal__dialog[data-v-4736b834]{animation-name:fadeIn}.ui-modal--closing .ui-modal__dialog[data-v-4736b834]{animation-name:fadeOut}}.ui-top[data-v-03447ef3]{all:unset;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:39;border-radius:var(--radius-pill);background:var(--card);width:44px;height:44px;box-shadow:var(--sh-card);color:var(--fg);cursor:pointer;opacity:0;pointer-events:none;transition:transform .32s var(--ease-spring),opacity .16s ease-out;place-items:center;font-size:18px;display:grid;position:fixed;transform:translateY(16px)scale(.8)}.ui-top--visible[data-v-03447ef3]{opacity:1;pointer-events:auto;transform:none}.ui-top--visible[data-v-03447ef3]:active{transform:scale(.94)}.ui-top[data-v-03447ef3]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ui-top[data-v-03447ef3]{transition:opacity .16s ease-out;transform:none}}.doc-section[data-v-c5ebb52a]{flex-direction:column;gap:16px;scroll-margin-top:80px;display:flex}h2[data-v-c5ebb52a]{font-size:var(--fs-title);letter-spacing:var(--ls-title);margin:0;font-weight:500}header[data-v-c5ebb52a]{flex-direction:column;gap:4px;display:flex}p[data-v-c5ebb52a]{color:var(--mute);text-wrap:pretty;max-width:68ch;margin:0}.docs[data-v-72aae1e5]{align-items:flex-start;gap:40px;max-width:1160px;margin:0 auto;padding:32px 16px 80px;display:flex}.docs__side[data-v-72aae1e5]{flex:0 0 200px;max-height:calc(100dvh - 48px);position:sticky;top:24px;overflow:auto}.docs__group[data-v-72aae1e5]{font-size:var(--fs-caption);color:var(--dim);padding:16px 12px 6px;display:block}.docs__link[data-v-72aae1e5]{border-radius:var(--radius-control);color:var(--mute);padding:7px 12px;display:block}.docs__link[data-v-72aae1e5]:hover{color:var(--fg)}.docs__main[data-v-72aae1e5]{flex-direction:column;flex:1;gap:48px;min-width:0;display:flex}.docs__back[data-v-72aae1e5]{width:fit-content;color:var(--mute);align-items:center;gap:6px;margin-bottom:-8px;padding:6px 0;display:inline-flex}.docs__back[data-v-72aae1e5]:hover{color:var(--fg)}@media (pointer:coarse){.docs__back[data-v-72aae1e5]{min-height:44px}}.docs__head[data-v-72aae1e5]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.docs__head h1[data-v-72aae1e5]{font-size:var(--fs-display);letter-spacing:var(--ls-display);margin:0;font-weight:500}.docs__lead[data-v-72aae1e5]{color:var(--mute);max-width:46ch;margin:4px 0 0}.docs__controls[data-v-72aae1e5]{gap:8px}.docs__controls[data-v-72aae1e5],.docs__row[data-v-72aae1e5]{flex-wrap:wrap;display:flex}.docs__row[data-v-72aae1e5]{align-items:center;gap:12px}.docs__right[data-v-72aae1e5]{margin-left:auto}.docs__grid[data-v-72aae1e5]{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;display:grid}.docs__grid--icons[data-v-72aae1e5],.docs__grid--sizes[data-v-72aae1e5]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.docs__muted[data-v-72aae1e5]{color:var(--mute);text-wrap:pretty}code[data-v-72aae1e5]{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--dim)}.docs__big[data-v-72aae1e5]{letter-spacing:var(--ls-display);font-size:20px;font-weight:500}.docs__swatches[data-v-72aae1e5]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.docs__swatches--small[data-v-72aae1e5]{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.docs__swatch[data-v-72aae1e5]{flex-direction:column;gap:6px;display:flex}.docs__chip[data-v-72aae1e5]{border-radius:12px;height:72px}.docs__dot[data-v-72aae1e5]{width:28px;height:28px;box-shadow:0 0 0 1px var(--line);border-radius:50%}.docs__type[data-v-72aae1e5]{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;padding:10px 0;display:flex}.docs__type[data-v-72aae1e5]:last-child{border-bottom:0}.docs__motion[data-v-72aae1e5]{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.docs__motion[data-v-72aae1e5]:last-child{border-bottom:0}.docs__motion-info[data-v-72aae1e5]{flex-direction:column;gap:2px;min-width:0;display:flex}.docs__track[data-v-72aae1e5]{all:unset;--travel:168px;border-radius:var(--radius-pill);background:var(--sub);width:200px;height:28px;box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;position:relative}.docs__track[data-v-72aae1e5]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.docs__knob[data-v-72aae1e5]{border-radius:50%;width:20px;height:20px;position:absolute;top:4px;left:4px}.docs__icon[data-v-72aae1e5]{all:unset;border-radius:var(--radius-card);background:var(--card);box-shadow:var(--sh-card);cursor:pointer;align-items:center;gap:10px;min-width:0;padding:12px;font-size:20px;display:flex}.docs__icon code[data-v-72aae1e5]{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.docs__icon[data-v-72aae1e5]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.docs__rule-icon[data-v-72aae1e5]{font-size:20px}.docs__list[data-v-72aae1e5]{flex-direction:column;margin:0 -12px;display:flex}.docs__item[data-v-72aae1e5]{border-radius:var(--radius-control);padding:10px 12px;display:block}.docs__spacer[data-v-72aae1e5]{flex:1}@media (width<=860px){.docs[data-v-72aae1e5]{display:block}.docs__side[data-v-72aae1e5]{display:none}}@media (width<=480px){.docs__track[data-v-72aae1e5]{--travel:108px;width:140px}}.site-section[data-v-071c1943]{scroll-margin-top:76px}.site-section__head[data-v-071c1943]{flex-direction:column;gap:10px;display:flex}.site-section__icon[data-v-071c1943]{font-size:var(--icon-size)}h2[data-v-071c1943]{font-size:var(--fs-subtitle);margin:0;font-weight:500}.projects[data-v-caf765e2]{flex-direction:column;margin:0 -12px;display:flex}.projects__item[data-v-caf765e2]{align-items:flex-start;gap:12px;padding:12px;display:flex}.projects__icon[data-v-caf765e2],.projects__item[data-v-caf765e2]{border-radius:var(--radius-control)}.projects__icon[data-v-caf765e2]{color:#1a1a1a;flex:none;place-items:center;width:38px;height:38px;font-size:22px;display:grid}.projects__text[data-v-caf765e2]{flex-direction:column;gap:4px;min-width:0;display:flex}.projects__title[data-v-caf765e2]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.projects__summary[data-v-caf765e2]{color:var(--mute);font-size:var(--fs-caption);text-wrap:pretty}.projects__tech[data-v-caf765e2]{font-family:var(--font-mono);color:var(--dim);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.projects__item[data-v-caf765e2]:hover{color:var(--fg)}.jaylabs[data-v-91810870]{outline:none;flex-direction:column;gap:20px;max-width:720px;margin:0 auto;padding:24px 16px 0;display:flex}h1[data-v-91810870]{font-size:var(--fs-display);letter-spacing:var(--ls-display);margin:0;font-weight:500;line-height:1.2}.jaylabs__head[data-v-91810870]{flex-direction:column;gap:4px;display:flex}.jaylabs__lead[data-v-91810870]{color:var(--mute);font-size:var(--fs-subtitle);margin:0}.jaylabs__body[data-v-91810870] p{color:var(--mute);font-size:var(--fs-subtitle);text-wrap:pretty;max-width:62ch;margin:0 0 12px;line-height:1.6}.privacy[data-v-9030b561]{outline:none;gap:14px;max-width:720px;margin:0 auto;padding:24px 16px 0}.privacy[data-v-9030b561],.privacy__head[data-v-9030b561]{flex-direction:column;display:flex}.privacy__head[data-v-9030b561]{gap:6px;margin:8px 0 12px}h1[data-v-9030b561]{font-size:var(--fs-display);letter-spacing:var(--ls-display);margin:0;font-weight:500;line-height:1.2}.privacy__lead[data-v-9030b561]{color:var(--mute);font-size:var(--fs-subtitle);text-wrap:pretty;margin:0}.privacy__updated[data-v-9030b561]{font-family:var(--font-mono);margin:0}.privacy__updated[data-v-9030b561],h2[data-v-9030b561]{font-size:var(--fs-caption);color:var(--dim)}h2[data-v-9030b561]{margin:0 0 4px;font-weight:400}p[data-v-9030b561]{text-wrap:pretty;margin:0 0 10px;line-height:1.6}p[data-v-9030b561]:last-child{margin-bottom:0}.privacy__switch[data-v-9030b561]{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding-top:14px;display:flex}.privacy__toggle[data-v-9030b561]{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--radius-pill);background:var(--selected);width:36px;height:20px;box-shadow:inset 0 0 0 1px var(--line);transition:background-color var(--dur-medium-in) ease-out;flex:none;position:relative}.privacy__toggle.is-on[data-v-9030b561]{background:var(--accent);box-shadow:none}.privacy__toggle[data-v-9030b561]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.privacy__knob[data-v-9030b561]{width:16px;height:16px;transition:transform var(--dur-medium-in) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.privacy__toggle.is-on .privacy__knob[data-v-9030b561]{transform:translate(16px)}.privacy__label[data-v-9030b561]{color:var(--fg)}.privacy__state[data-v-9030b561]{color:var(--dim);font-size:var(--fs-caption)}@media (pointer:coarse){.privacy__toggle[data-v-9030b561]{width:44px;height:26px}.privacy__knob[data-v-9030b561]{width:22px;height:22px}.privacy__toggle.is-on .privacy__knob[data-v-9030b561]{transform:translate(18px)}}.resume[data-v-2e643c7d]{outline:none;gap:14px;max-width:720px;margin:0 auto;padding:24px 16px 0}.resume[data-v-2e643c7d],.resume__head[data-v-2e643c7d]{flex-direction:column;display:flex}.resume__head[data-v-2e643c7d]{gap:6px;margin:8px 0 12px}h1[data-v-2e643c7d]{font-size:var(--fs-display);letter-spacing:var(--ls-display);margin:0;font-weight:500;line-height:1.2}.resume__lead[data-v-2e643c7d]{color:var(--mute);font-size:var(--fs-subtitle);margin:0}.resume__actions[data-v-2e643c7d]{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}h2[data-v-2e643c7d]{font-size:var(--fs-caption);color:var(--dim);margin:0 0 4px;font-weight:400}p[data-v-2e643c7d]{text-wrap:pretty;margin:0}.resume__skills[data-v-2e643c7d]{flex-direction:column;gap:6px;margin:0;display:flex}.resume__skills div[data-v-2e643c7d]{grid-template-columns:110px 1fr;gap:2px 16px;display:grid}.resume__skills dt[data-v-2e643c7d]{color:var(--mute)}.resume__skills dd[data-v-2e643c7d]{margin:0}.resume__job[data-v-2e643c7d]{flex-direction:column;gap:6px;padding-top:12px;display:flex}.resume__job[data-v-2e643c7d]:first-of-type{padding-top:4px}.resume__job header[data-v-2e643c7d]{flex-wrap:wrap;justify-content:space-between;gap:2px 16px;display:flex}h3[data-v-2e643c7d]{font-size:var(--fs-body);margin:0;font-weight:500}.resume__period[data-v-2e643c7d]{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--dim);white-space:nowrap}.resume__place[data-v-2e643c7d]{color:var(--mute);font-size:var(--fs-caption)}ul[data-v-2e643c7d]{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.resume__tech[data-v-2e643c7d]{color:var(--mute);font-size:var(--fs-caption)}.resume__tech span[data-v-2e643c7d]{color:var(--dim)}@media (width<=560px){.resume__skills div[data-v-2e643c7d]{grid-template-columns:1fr}}.soon[data-v-58feba09]{text-align:center;place-content:center;gap:8px;min-height:100dvh;padding:24px;display:grid}.soon__tag[data-v-58feba09]{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--dim);margin:0}h1[data-v-58feba09]{font-size:clamp(var(--fs-display),6vw,44px);letter-spacing:var(--ls-display);margin:0;font-weight:500}.soon__text[data-v-58feba09]{color:var(--mute);margin:0}.skip[data-v-89f875e6]{z-index:100;border-radius:var(--radius-control);background:var(--fg);color:var(--bg);padding:10px 14px;position:fixed;top:-64px;left:16px}.skip[data-v-89f875e6]:focus{color:var(--bg);top:16px}.job[data-v-753004cc]{align-items:center;gap:12px;display:flex}.job__logo[data-v-753004cc]{border-radius:var(--radius-control);-o-object-fit:cover;object-fit:cover;width:38px;height:38px;box-shadow:0 0 0 1px var(--line);flex:none}.job__text[data-v-753004cc]{flex-direction:column;flex:1;min-width:0;display:flex}.job__role[data-v-753004cc]{color:var(--mute);font-size:var(--fs-caption)}.job__note[data-v-753004cc]{text-wrap:pretty}.job__note[data-v-753004cc],.job__years[data-v-753004cc]{color:var(--dim);font-size:var(--fs-caption)}.job__years[data-v-753004cc]{font-family:var(--font-mono);white-space:nowrap}.experience__block[data-v-d7b3f5e3]{flex-direction:column;gap:12px;display:flex}h3[data-v-d7b3f5e3]{font-size:var(--fs-caption);color:var(--dim);margin:0;font-weight:400}.experience__more[data-v-d7b3f5e3]{align-self:flex-start}.experience__description[data-v-d7b3f5e3]{color:var(--mute);text-wrap:pretty;margin:0}.controls[data-v-1d3dc1c1]{justify-content:flex-end;align-items:center;gap:8px;display:flex}.contacts[data-v-9453d01e]{gap:2px;margin-left:-8px;display:flex}.contacts__link[data-v-9453d01e]{width:var(--control-h);height:var(--control-h);border-radius:var(--radius-control);color:var(--mute);place-items:center;font-size:18px;display:grid}.contacts__link[data-v-9453d01e]:hover{color:var(--fg)}[data-theme=dark] .contacts__link--mono{filter:invert()}@media (prefers-color-scheme:dark){:root:not([data-theme]) .contacts__link--mono{filter:invert()}}@media (pointer:coarse){.contacts__link[data-v-9453d01e]{width:44px;height:44px}}.hero[data-v-ed9621b5]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 20px;display:flex}.hero__text[data-v-ed9621b5]{flex-direction:column;gap:16px;max-width:560px;display:flex}.hero__contacts[data-v-ed9621b5]{margin-left:auto}.hero__top[data-v-ed9621b5]{align-items:center;gap:16px;display:flex}.hero__avatar[data-v-ed9621b5]{-o-object-fit:cover;object-fit:cover;width:72px;height:72px;box-shadow:0 0 0 1px var(--line);background:var(--sub);border-radius:50%;flex:none}.hero__id[data-v-ed9621b5]{flex-direction:column;gap:2px;min-width:0;display:flex}.hero__name[data-v-ed9621b5]{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}h1[data-v-ed9621b5]{font-size:var(--fs-display);letter-spacing:var(--ls-display);margin:0;font-weight:500;line-height:1.2}.hero__headline[data-v-ed9621b5],.hero__intro[data-v-ed9621b5]{color:var(--mute);margin:0}.hero__intro[data-v-ed9621b5]{text-wrap:pretty;font-size:var(--fs-subtitle);line-height:1.6}.hero__intro strong[data-v-ed9621b5]{color:var(--fg);font-weight:500}.hero__status[data-v-ed9621b5]{border-radius:var(--radius-pill);background:var(--card);height:24px;box-shadow:var(--sh-card);font-size:var(--fs-caption);color:var(--mute);cursor:pointer;transition:background-color var(--dur-fast-in) ease-out,color var(--dur-fast-in) ease-out;align-items:center;gap:8px;padding:0 10px;display:inline-flex;position:relative}.hero__status[data-v-ed9621b5]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero__status[data-v-ed9621b5]:after{content:"";position:absolute;inset:-10px 0}@media (hover:hover){.hero__status[data-v-ed9621b5]:hover{background:var(--sub);color:var(--fg)}}.hero__pulse[data-v-ed9621b5]{background:var(--success);border-radius:50%;width:6px;height:6px;animation:2s ease-out infinite ui-pulse-ed9621b5}@keyframes ui-pulse-ed9621b5{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--success) 55%,transparent)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.hero__pulse[data-v-ed9621b5]{animation:none}}.project[data-v-c4ec62a4]{flex-direction:column;gap:16px;display:flex}.project__meta[data-v-c4ec62a4]{align-items:center;gap:10px;display:flex}.project__icon[data-v-c4ec62a4]{border-radius:var(--radius-control);color:#1a1a1a;place-items:center;width:32px;height:32px;font-size:18px;display:grid}h3[data-v-c4ec62a4]{font-size:var(--fs-caption);color:var(--dim);margin:0 0 4px;font-weight:400}section p[data-v-c4ec62a4]{text-wrap:pretty;margin:0}section ul[data-v-c4ec62a4]{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.project__body[data-v-c4ec62a4] p{text-wrap:pretty;margin:0 0 8px}.project__body[data-v-c4ec62a4] p:last-child{margin-bottom:0}.project__tech[data-v-c4ec62a4]{flex-wrap:wrap;padding:0;list-style:none;flex-direction:row!important;gap:6px!important}.project__tech li[data-v-c4ec62a4]{border-radius:var(--radius-pill);background:var(--sub);height:26px;box-shadow:inset 0 0 0 1px var(--line);font-size:var(--fs-caption);align-items:center;gap:6px;padding:0 10px;display:inline-flex}.home[data-v-9f743aca]{flex-direction:column;gap:32px;max-width:1200px;margin:0 auto;padding:24px 16px 0;display:flex}.home__main[data-v-9f743aca]{outline:none;grid-template-columns:1fr;gap:14px;display:grid}.home__column[data-v-9f743aca]{flex-direction:column;gap:14px;min-width:0;display:flex}@media (width>=860px){.home__main[data-v-9f743aca]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.home__column[data-v-9f743aca]:nth-child(3){grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:start;display:grid}}@media (width>=1200px){.home__main[data-v-9f743aca]{grid-template-columns:repeat(3,minmax(0,1fr))}.home__column[data-v-9f743aca]:nth-child(3){grid-column:auto;align-items:stretch;display:flex}}.pix[data-v-07712b9c]{all:unset;box-sizing:border-box;cursor:pointer;height:var(--control-h);border-radius:var(--radius-pill);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font-size:var(--fs-body);transition:background-color var(--dur-fast-in) ease-out;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.pix[data-v-07712b9c]:hover{background:var(--hover)}.pix[data-v-07712b9c]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (pointer:coarse){.pix[data-v-07712b9c]{height:44px}}.pix__body[data-v-07712b9c]{flex-direction:column;align-items:center;gap:16px;display:flex}.pix__qr[data-v-07712b9c]{box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:12px;padding:12px}.pix__qr svg[data-v-07712b9c]{width:184px;height:184px;display:block}.pix__field[data-v-07712b9c]{text-align:left;flex-direction:column;gap:6px;width:100%;display:flex}.pix__label[data-v-07712b9c]{font-size:var(--fs-caption);color:var(--mute)}.pix__row[data-v-07712b9c]{background:var(--dialog-sub);min-height:40px;box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;align-items:center;gap:8px;padding:4px 4px 4px 12px;display:flex}.pix__row code[data-v-07712b9c]{min-width:0;font-family:var(--font-mono);overflow-wrap:anywhere;flex:1;font-size:12px}.pix__row button[data-v-07712b9c]{all:unset;box-sizing:border-box;cursor:pointer;min-width:88px;height:32px;color:var(--fg);border-radius:6px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.pix__row button[data-v-07712b9c]:hover{background:var(--hover)}.pix__row button[data-v-07712b9c]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pix__code[data-v-07712b9c]{width:100%}.pix__note[data-v-07712b9c]{font-size:var(--fs-caption);color:var(--dim);text-align:center;text-wrap:pretty;margin:0}.footer-wrap[data-v-d20cfc05]{max-width:1200px;padding:40px 16px calc(84px + env(safe-area-inset-bottom));margin:0 auto}.footer[data-v-d20cfc05]{border-top:1px solid var(--line);font-size:var(--fs-caption);color:var(--dim);justify-content:space-between;padding-top:16px}.footer[data-v-d20cfc05],.footer__left[data-v-d20cfc05]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.footer__link[data-v-d20cfc05]{color:var(--mute);text-underline-offset:3px;text-decoration:underline}.footer__link[data-v-d20cfc05]:hover{color:var(--fg)}.footer__mono[data-v-d20cfc05]{font-family:var(--font-mono);letter-spacing:.02em}.search[data-v-323b5c98]{flex-direction:column;gap:10px;margin:-8px;display:flex}.search__field[data-v-323b5c98]{border-radius:var(--radius-control);background:var(--dialog-sub);height:44px;box-shadow:inset 0 0 0 1px var(--line);color:var(--mute);align-items:center;gap:10px;margin-right:28px;padding:0 12px;font-size:18px;display:flex}.search__field[data-v-323b5c98]:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}.search__field input[data-v-323b5c98]{all:unset;min-width:0;color:var(--fg);font-size:var(--fs-subtitle);flex:1}.search__field input[data-v-323b5c98]::placeholder{color:var(--mute)}kbd[data-v-323b5c98]{background:var(--selected);height:20px;color:var(--mute);font-family:var(--font-mono);border-radius:6px;align-items:center;padding:0 6px;font-size:11px;display:inline-flex}.search__list[data-v-323b5c98]{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent;gap:6px;max-height:min(56vh,460px);overflow-y:auto}.search__group[data-v-323b5c98],.search__list[data-v-323b5c98]{flex-direction:column;display:flex}.search__group[data-v-323b5c98]{gap:2px}.search__heading[data-v-323b5c98]{font-size:var(--fs-caption);color:var(--mute);margin:8px 8px 4px}.search__option[data-v-323b5c98]{border-radius:var(--radius-control);cursor:pointer;align-items:center;gap:12px;min-height:44px;padding:6px 10px;display:flex}.search__option.is-active[data-v-323b5c98]{background:var(--selected)}.search__icon[data-v-323b5c98]{color:var(--mute);flex:none;font-size:20px}.search__text[data-v-323b5c98]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.search__hint[data-v-323b5c98],.search__title[data-v-323b5c98]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search__hint[data-v-323b5c98]{color:var(--mute);font-size:var(--fs-caption)}.search__enter[data-v-323b5c98]{color:var(--mute);flex:none}.search__empty[data-v-323b5c98]{text-align:center;color:var(--mute);text-wrap:pretty;margin:0;padding:24px 8px}.search__foot[data-v-323b5c98]{font-size:var(--fs-caption);color:var(--mute);flex-wrap:wrap;gap:14px;margin:0;padding:4px 8px 0;display:flex}.search__foot span[data-v-323b5c98]{align-items:center;gap:4px;display:inline-flex}.search__foot-end[data-v-323b5c98]{margin-left:auto}@media (pointer:coarse){.search__foot[data-v-323b5c98]{display:none}}.education__course[data-v-c032c979]{flex-direction:column;display:flex}.education__school[data-v-c032c979]{color:var(--mute);font-size:var(--fs-caption)}.education__years[data-v-c032c979]{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--dim)}.education__thumb[data-v-c032c979]{all:unset;cursor:zoom-in;border-radius:var(--radius-control);box-shadow:0 0 0 1px var(--line);background:#fff;display:block;position:relative;overflow:hidden}.education__thumb[data-v-c032c979]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.education__thumb img[data-v-c032c979]{width:100%;height:auto;display:block}.education__badge[data-v-c032c979]{border-radius:var(--radius-pill);background:var(--card);height:24px;box-shadow:var(--sh-card);color:var(--fg);font-size:var(--fs-caption);align-items:center;gap:6px;padding:0 10px;display:inline-flex;position:absolute;bottom:8px;left:8px}.education__badge[data-v-c032c979] svg{color:var(--success)}.education__full[data-v-c032c979]{border-radius:var(--radius-control);background:#fff;width:100%;height:auto;display:block}.recs[data-v-f85ccc46]{gap:16px}.recs[data-v-f85ccc46],.recs__item[data-v-f85ccc46]{flex-direction:column;display:flex}.recs__item[data-v-f85ccc46]{gap:10px;margin:0}blockquote[data-v-f85ccc46]{color:var(--mute);text-wrap:pretty;margin:0;line-height:1.6}figcaption[data-v-f85ccc46]{font-size:var(--fs-caption);align-items:center;gap:8px;display:flex}.recs__avatar[data-v-f85ccc46]{-o-object-fit:cover;object-fit:cover;background:var(--sub);width:24px;height:24px;box-shadow:inset 0 0 0 1px var(--line);font-family:var(--font-mono);color:var(--mute);border-radius:50%;place-items:center;font-size:11px;display:grid}.recs__role[data-v-f85ccc46]{color:var(--dim);margin-left:6px}.recs__cta[data-v-f85ccc46]{all:unset;box-sizing:border-box;cursor:pointer;height:var(--control-h);border-radius:var(--radius-control);border:1px dashed var(--line);color:var(--mute);font-size:var(--fs-body);transition:color var(--dur-medium-in) ease-out,border-color var(--dur-medium-in) ease-out;justify-content:center;align-items:center;padding:0 12px;display:flex}.recs__cta[data-v-f85ccc46]:hover{color:var(--fg);border-color:var(--dim)}.recs__cta[data-v-f85ccc46]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (pointer:coarse){.recs__cta[data-v-f85ccc46]{height:44px}}.layout[data-v-f85ccc46]{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:4px;display:grid}@media (width>=760px){.layout[data-v-f85ccc46]{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:36px}.preview[data-v-f85ccc46]{position:sticky;top:0}}.form[data-v-f85ccc46]{flex-direction:column;gap:18px;display:flex}.pair[data-v-f85ccc46]{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;display:grid}.field[data-v-f85ccc46]{font-size:var(--fs-caption);color:var(--mute);flex-direction:column;gap:8px;display:flex}.field input[data-v-f85ccc46]:not(.photo__input),.field textarea[data-v-f85ccc46]{font:inherit;font-size:var(--fs-body);color:var(--fg);background:var(--dialog-sub);border:1px solid var(--line);transition:border-color var(--dur-medium-in) ease-out;border-radius:8px;outline:none;padding:0 12px}.field input[data-v-f85ccc46]:not(.photo__input){box-sizing:border-box;height:38px}.field textarea[data-v-f85ccc46]{resize:vertical;min-height:120px;padding:10px 12px;line-height:1.5}.field input[data-v-f85ccc46]:not(.photo__input):focus-visible,.field textarea[data-v-f85ccc46]:focus-visible{border-color:var(--accent)}.note[data-v-f85ccc46]{font-size:var(--fs-caption);color:var(--dim);text-wrap:pretty;margin:0}.note a[data-v-f85ccc46]{color:var(--fg);text-underline-offset:3px;text-decoration:underline}@media (pointer:coarse){.field input[data-v-f85ccc46]:not(.photo__input){height:44px}}.photo[data-v-f85ccc46]{border:1px dashed var(--line);background:var(--dialog-sub);transition:border-color var(--dur-medium-in) ease-out,background-color var(--dur-medium-in) ease-out;border-radius:10px;align-items:center;gap:8px;display:flex;position:relative}.photo.is-over[data-v-f85ccc46],.photo[data-v-f85ccc46]:hover{border-color:var(--dim)}.photo.is-over[data-v-f85ccc46]{background:var(--hover)}.photo[data-v-f85ccc46]:focus-within{border-color:var(--accent)}.photo__pick[data-v-f85ccc46]{cursor:pointer;flex:1;align-items:center;gap:14px;min-width:0;padding:12px 14px;display:flex}.photo__input[data-v-f85ccc46]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.photo__thumb[data-v-f85ccc46]{background:var(--sub);width:48px;height:48px;box-shadow:inset 0 0 0 1px var(--line);color:var(--dim);border-radius:50%;flex:none;place-items:center;font-size:26px;display:grid;overflow:hidden}.photo__thumb img[data-v-f85ccc46]{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.photo__text[data-v-f85ccc46]{flex-direction:column;gap:2px;min-width:0;display:flex}.photo__text strong[data-v-f85ccc46]{font-weight:500;font-size:var(--fs-body);color:var(--fg)}.photo__hint[data-v-f85ccc46]{font-size:var(--fs-caption);color:var(--mute);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.photo__hint.is-error[data-v-f85ccc46]{color:var(--danger-text);white-space:normal}.photo__remove[data-v-f85ccc46]{all:unset;box-sizing:border-box;cursor:pointer;height:28px;font-size:var(--fs-caption);color:var(--mute);border-radius:6px;flex:none;margin-right:12px;padding:0 10px}.photo__remove[data-v-f85ccc46]:hover{background:var(--hover);color:var(--fg)}.photo__remove[data-v-f85ccc46]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.preview[data-v-f85ccc46]{flex-direction:column;gap:10px;display:none}@media (width>=760px){.preview[data-v-f85ccc46]{display:flex}}.preview__label[data-v-f85ccc46]{font-size:var(--fs-caption);color:var(--dim)}.preview__card[data-v-f85ccc46]{background:var(--dialog-sub);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;flex-direction:column;gap:14px;margin:0;padding:16px;display:flex}.preview__card blockquote[data-v-f85ccc46]{font-size:var(--fs-body);overflow-wrap:anywhere;-webkit-line-clamp:9;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.preview__avatar[data-v-f85ccc46],.preview__card blockquote.is-empty[data-v-f85ccc46],.preview__name.is-empty[data-v-f85ccc46]{color:var(--mute)}.preview__avatar[data-v-f85ccc46]{background:var(--sub);width:32px;height:32px;box-shadow:inset 0 0 0 1px var(--line);font-family:var(--font-mono);border-radius:50%;flex:none;place-items:center;font-size:12px;display:grid;overflow:hidden}.preview__avatar img[data-v-f85ccc46]{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.preview__name[data-v-f85ccc46]{min-width:0;font-size:var(--fs-body);color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.preview__hint[data-v-f85ccc46]{font-size:var(--fs-caption);color:var(--dim);text-wrap:pretty;margin:0}.stack__filter.ui-segmented[data-v-e9e83639]{width:fit-content;max-width:100%}.stack[data-v-e9e83639]{gap:14px}.stack[data-v-e9e83639],.stack__items[data-v-e9e83639]{flex-direction:column;display:flex;position:relative}.stack__items[data-v-e9e83639]{gap:2px}.group-enter-active[data-v-e9e83639],.item-enter-active[data-v-e9e83639]{transition:opacity var(--dur-slow-in) var(--ease-out),transform var(--dur-slow-in) var(--ease-spring)}.group-leave-active[data-v-e9e83639],.item-leave-active[data-v-e9e83639]{transition:opacity var(--dur-slow-out) var(--ease-in),transform var(--dur-slow-out) var(--ease-in);position:absolute;left:0;right:0}.group-move[data-v-e9e83639],.item-move[data-v-e9e83639]{transition:transform var(--dur-slow-in) var(--ease-out)}.group-enter-from[data-v-e9e83639],.item-enter-from[data-v-e9e83639]{opacity:0;transform:translateY(-6px)}.group-leave-to[data-v-e9e83639],.item-leave-to[data-v-e9e83639]{opacity:0;transform:translateY(6px)}.stack__group[data-v-e9e83639]{flex-direction:column;gap:2px;display:flex}h3[data-v-e9e83639]{font-size:var(--fs-caption);color:var(--dim);margin:0 0 2px;font-weight:400}.stack__list[data-v-e9e83639]{margin:0 -8px}.stack__item[data-v-e9e83639]{align-items:center;gap:var(--gap-icon);border-radius:8px;height:36px;padding:0 8px;display:flex}.stack__icon[data-v-e9e83639]{flex:none;width:20px;height:20px}.stack__name[data-v-e9e83639]{flex:1}.stack__arrow[data-v-e9e83639]{color:var(--dim);transition:transform var(--dur-fast-in) ease-out,color var(--dur-fast-in) ease-out;font-size:14px}.stack__item:hover .stack__arrow[data-v-e9e83639]{color:var(--fg);transform:translate(2px,-2px)}.stack__item[data-v-e9e83639]:hover{color:var(--fg)}@media (pointer:coarse){.stack__item[data-v-e9e83639]{min-height:44px}}.blog__list[data-v-5bb2a81f]{gap:2px;margin:0 -12px}.blog__item[data-v-5bb2a81f],.blog__list[data-v-5bb2a81f]{flex-direction:column;display:flex}.blog__item[data-v-5bb2a81f]{border-radius:var(--radius-control);gap:6px;padding:12px}.blog__meta[data-v-5bb2a81f]{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--dim);justify-content:space-between;align-items:center;display:flex}.blog__title[data-v-5bb2a81f]{text-wrap:pretty;line-height:1.45}.blog__item[data-v-5bb2a81f]:hover{color:var(--fg)}.blog__all[data-v-5bb2a81f]{align-self:flex-start}.components__lead[data-v-b08c3306]{color:var(--mute);text-wrap:pretty;margin:0}.components__box[data-v-b08c3306]{border-radius:var(--radius-control);background:var(--sub);box-shadow:inset 0 0 0 1px var(--line);flex-direction:column;gap:12px;padding:14px;display:flex}.components__row[data-v-b08c3306]{flex-wrap:wrap;gap:8px;display:flex}.components__all[data-v-b08c3306]{align-self:flex-start}.spotify[data-v-b84c1f91]{--spotify:#1db954;border-radius:var(--radius-card);background:var(--card);box-shadow:var(--sh-card);position:relative;overflow:hidden}.spotify.is-loading[data-v-b84c1f91]{animation:1.8s ease-in-out infinite spotify-glow-b84c1f91}.spotify.is-ready[data-v-b84c1f91]{animation:spotify-ring-b84c1f91 .8s var(--ease-out) 1}@keyframes spotify-glow-b84c1f91{0%,to{box-shadow:var(--sh-card),0 0 0 1px color-mix(in srgb,var(--spotify) 30%,transparent),0 0 0 0 transparent}50%{box-shadow:var(--sh-card),0 0 0 1px color-mix(in srgb,var(--spotify) 70%,transparent),0 0 24px 2px color-mix(in srgb,var(--spotify) 30%,transparent)}}@keyframes spotify-ring-b84c1f91{0%{box-shadow:var(--sh-card),0 0 0 0 color-mix(in srgb,var(--spotify) 55%,transparent)}to{box-shadow:var(--sh-card),0 0 0 18px transparent}}.spotify__idle[data-v-b84c1f91]{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 18px 14px;display:grid}.spotify__idle--failed[data-v-b84c1f91]{padding-bottom:16px}.spotify__icon[data-v-b84c1f91]{border-radius:var(--radius-control);background:var(--sub);width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--line);flex:none;place-items:center;font-size:24px;display:grid}.spotify__icon--pulse[data-v-b84c1f91]{animation:1.1s ease-in-out infinite spotify-pulse-b84c1f91}@keyframes spotify-pulse-b84c1f91{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.spotify__text[data-v-b84c1f91]{flex-direction:column;gap:2px;min-width:0;display:flex}.spotify__label[data-v-b84c1f91]{font-size:var(--fs-caption);color:var(--dim)}.spotify__text strong[data-v-b84c1f91]{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.spotify__note[data-v-b84c1f91]{font-size:var(--fs-caption);color:var(--dim);text-wrap:pretty;grid-column:1/-1;margin:0}.spotify__stage[data-v-b84c1f91]{min-height:80px;position:relative}.spotify__player[data-v-b84c1f91]{background:var(--sub);opacity:0;width:100%;height:80px;transition:opacity var(--dur-slow-in) var(--ease-out),transform var(--dur-slow-in) var(--ease-spring);border:0;display:block;transform:scale(.97)}.spotify__player.is-ready[data-v-b84c1f91]{opacity:1;transform:none}.spotify__loading[data-v-b84c1f91]{background:var(--card);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 18px;display:grid;position:absolute;inset:0;overflow:hidden}.swap-leave-active[data-v-b84c1f91]{transition:opacity var(--dur-slow-out) var(--ease-in),transform var(--dur-slow-out) var(--ease-in)}.swap-leave-to[data-v-b84c1f91]{opacity:0;transform:translateY(-6px)scale(.98)}.spotify__eq[data-v-b84c1f91]{align-items:flex-end;gap:3px;height:22px;display:flex}.spotify__eq i[data-v-b84c1f91]{background:var(--spotify);transform-origin:bottom;border-radius:2px;width:3px;height:100%;animation:.9s ease-in-out infinite spotify-eq-b84c1f91}.spotify__eq i[data-v-b84c1f91]:nth-child(2){animation-delay:.15s}.spotify__eq i[data-v-b84c1f91]:nth-child(3){animation-delay:.3s}.spotify__eq i[data-v-b84c1f91]:nth-child(4){animation-delay:.45s}@keyframes spotify-eq-b84c1f91{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}.spotify__shine[data-v-b84c1f91]{pointer-events:none;background:linear-gradient(100deg,transparent 30%,color-mix(in srgb,var(--spotify) 14%,transparent) 50%,transparent 70%);animation:1.5s ease-in-out infinite spotify-shine-b84c1f91;position:absolute;inset:0;transform:translate(-100%)}@keyframes spotify-shine-b84c1f91{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.spotify.is-loading[data-v-b84c1f91],.spotify.is-ready[data-v-b84c1f91],.spotify__eq i[data-v-b84c1f91],.spotify__icon--pulse[data-v-b84c1f91],.spotify__shine[data-v-b84c1f91]{animation:none}.spotify__eq i[data-v-b84c1f91]:nth-child(odd){transform:scaleY(.5)}.spotify__eq i[data-v-b84c1f91]:nth-child(2n){transform:scaleY(1)}.spotify__shine[data-v-b84c1f91]{display:none}}
/*$vite$:1*/