:root[data-jojo][data-theme]{--c-bg:var(--paper);--c-text:var(--ink);--c-text-soft:var(--muted);--c-text-muted:var(--quiet);--c-text-faint:var(--quiet);--c-accent:var(--accent-ink);--c-accent-strong:var(--accent-ink);--c-accent-contrast:var(--paper);--c-accent-alt:var(--manga-violet);--c-accent-gold:var(--name-front);--c-accent-tint:color-mix(in srgb,var(--accent-ink) 12%,transparent);--c-border-soft:color-mix(in srgb,var(--line) 60%,transparent);--c-border-strong:var(--line);--c-surface-soft:color-mix(in srgb,var(--chip) 65%,transparent);--c-surface-hover:var(--chip);--c-surface-active:var(--chip);--c-surface-overlay:var(--panel);--c-surface-raised:var(--panel);--c-surface-sunken:color-mix(in srgb,var(--paper) 94%,var(--ink));--c-surface-highlight:var(--chip);--color-primary:var(--accent-ink);--color-primary-hover:var(--manga-pink);--color-primary-active:var(--accent-ink);background:var(--paper);color:var(--ink);scroll-padding-top:110px}html[data-jojo] .astro-site{background:transparent;color:var(--muted);padding-top:100px;isolation:isolate}html[data-jojo] .astro-site[data-page-kind=home]{padding-top:0}html[data-jojo] .astro-site[data-page-kind=home]>.astro-main{padding:0;max-width:none;width:100%;margin:0}html[data-jojo] .astro-main{position:relative;z-index:1;flex:1}html[data-jojo] .jojo-background{pointer-events:none;position:fixed;inset:0;z-index:0}html[data-jojo] .astro-site:not([data-page-kind=home]) .molten-stage{opacity:.16}html[data-jojo] .astro-site:not([data-page-kind=home]) .manga-margin{display:none}html[data-jojo] .astro-site:not([data-page-kind=home]) .page-frame{opacity:.25}html[data-jojo] .jojo-home{color:var(--ink);font-family:JojoSans,PingFang SC,sans-serif}html[data-jojo] .jojo-home .jojo-prose{max-width:none;margin:0;color:var(--muted)}html[data-jojo] .jojo-home h1{margin:0!important;padding:0!important;font-size:inherit;line-height:inherit}html[data-jojo] .jojo-home .lead{color:var(--ink)}html[data-jojo] .jojo-design .footer{position:relative;z-index:1}html[data-jojo] .jojo-design .menu{max-height:calc(100dvh - 106px);overflow-y:auto;overscroll-behavior:contain}html[data-jojo] .jojo-design .jojo-search{width:32px}html[data-jojo] .jojo-design .companion-wrap[data-character=jolyne]{--switch-x:145}html[data-jojo] .jojo-design .companion-wrap[data-character=giorno]{--switch-x:166}html[data-jojo] .jojo-home .companion-caption{z-index:2}html[data-jojo] .jojo-design a,html[data-jojo] .jojo-design button{touch-action:manipulation}html[data-jojo] .jojo-home .contact p,html[data-jojo] .jojo-home .contact p strong{font-weight:400}html[data-jojo] .astro-site:not([data-page-kind=home]):not([data-page-kind=music]):not([data-page-kind=projects]) :is(h1,h2,h3,h4){color:var(--ink)}html[data-jojo] .astro-site:not([data-page-kind=home]) :is(input,textarea,select){accent-color:var(--accent-ink)}html[data-jojo] .astro-site:not([data-page-kind=home]) :is(pre,code){border-color:var(--c-border-soft)}html[data-jojo] .floating-tool-button{background:var(--panel);color:var(--accent-ink);border-color:var(--line)}html[data-jojo] .astro-footer{position:relative;z-index:1;color:var(--quiet)}html[data-jojo] #search-panel{background:var(--panel);color:var(--ink)}html[data-jojo] .jojo-chrome [hidden],html[data-jojo] .jojo-home [hidden]{display:none!important}html[data-jojo] .jojo-home .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media (max-width:640px){html[data-jojo] .astro-site{padding-top:90px}html[data-jojo] .astro-site[data-page-kind=home]{padding-top:0}html[data-jojo] .jojo-design .site-header{padding-left:15px;gap:4px}html[data-jojo] .jojo-design .tools{padding-left:6px}html[data-jojo] .jojo-design .jojo-search{width:28px}}@media (prefers-reduced-motion:reduce){html[data-jojo] .jojo-design *,html[data-jojo] .jojo-design :after,html[data-jojo] .jojo-design :before{animation:none!important;transition:none!important}}html[data-jojo][data-theme=dark][data-character=giorno]{--paper:#141321;--ink:#f8f0e7;--muted:#d6cedc;--quiet:#b9b0c6;--line:#554c65;--panel:#241e32;--chip:#352440;--accent:#e9b653;--accent-ink:#f5ca75;--manga-pink:#c55795;--manga-violet:#8356bc;--shadow-ink:#140b25;--name-front:#f5cb77;--name-side:#c98f51;--hover-start:#f7d8a2;--hover-end:#dfb25d;--mesh-1:#48306170;--mesh-2:#823e6659;--mesh-3:#22526066;--mesh-4:#9867313d;--flow-1:#b39ce7;--flow-2:#d585b8;--flow-3:#f1c67c;--veil:#14132170;--glass:#1d192b6b;--glass-rim:#ffffff5c;--glint:#fff6d0}html[data-jojo][data-theme=light][data-character=giorno]{--paper:#f4f1ed;--ink:#322735;--muted:#605366;--quiet:#746478;--line:#c5b9c9;--panel:#f6f1f4;--chip:#e9dfed;--accent:#c58933;--accent-ink:#77500f;--manga-pink:#b74888;--manga-violet:#8055a9;--shadow-ink:#39254f;--name-front:#ebbd6c;--name-side:#be8550;--hover-start:#f7d8a2;--hover-end:#dfb25d;--mesh-1:#ddd0f6ff;--mesh-2:#f2ccd9ff;--mesh-3:#d4e2e5ff;--mesh-4:#f2dfbbff;--flow-1:#8576ad;--flow-2:#a65d8d;--flow-3:#b48d4c;--veil:#f4f1ed57;--glass:#f9f6f65c;--glass-rim:#ffffffeb;--glint:#fff6d0}html[data-jojo][data-theme=dark][data-character=jolyne]{--paper:#0e1b24;--ink:#eef8ee;--muted:#c1d9d1;--quiet:#aec9c3;--line:#3e625f;--panel:#142d34;--chip:#1d4145;--accent:#a5d963;--accent-ink:#b8e984;--manga-pink:#56cfa0;--manga-violet:#458c9a;--shadow-ink:#071925;--name-front:#b8e67b;--name-side:#4d9e86;--hover-start:#d4efaf;--hover-end:#80cdb5;--mesh-1:#24506b88;--mesh-2:#1f796477;--mesh-3:#53864555;--mesh-4:#38638166;--flow-1:#64c6de;--flow-2:#48c49d;--flow-3:#d1e994;--veil:#0e1b246b;--glass:#14303977;--glass-rim:#d9f3ed66;--glint:#c6fff0}html[data-jojo][data-theme=light][data-character=jolyne]{--paper:#edf3ef;--ink:#203d3e;--muted:#486463;--quiet:#537370;--line:#a8c4bd;--panel:#edf5f1;--chip:#d8e9e3;--accent:#397a56;--accent-ink:#2c6750;--manga-pink:#348e70;--manga-violet:#4f7f98;--shadow-ink:#133747;--name-front:#a2cf66;--name-side:#3e8574;--hover-start:#d2eab0;--hover-end:#89cdb7;--mesh-1:#c8d9eeff;--mesh-2:#bde4d5ff;--mesh-3:#d7e9baff;--mesh-4:#c9e7e4ff;--flow-1:#5f8dad;--flow-2:#3e977c;--flow-3:#8fa857;--veil:#edf3ef57;--glass:#edf8f266;--glass-rim:#ffffffeb;--glint:#d0fff2}.jojo-design .character-face--back{opacity:0}html[data-jojo][data-motion=off],html[data-jojo][data-motion=off] *{cursor:revert!important}html[data-jojo] body:has(#music-page-wrapper:not(.hidden)) .jojo-chrome .header-wrap{z-index:120}html[data-jojo] .jojo-overlay{position:fixed;inset:0;z-index:1000;pointer-events:none}html[data-jojo] .jojo-overlay [hidden]{display:none!important}html[data-jojo] .jojo-overlay .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html[data-jojo] .jojo-overlay #connections{width:100vw;height:100dvh}html[data-jojo] .jojo-chrome .site-header{display:flex;width:max-content;max-width:100%;height:58px;min-height:58px;gap:12px;padding:6px 10px 6px 18px;border-radius:999px}html[data-jojo] .jojo-chrome .nav-main{display:flex;flex:none;flex-wrap:nowrap;gap:2px;min-width:0}html[data-jojo] .jojo-chrome .nav-main>a{white-space:nowrap;padding:10px 12px;font-size:14px}html[data-jojo] .jojo-chrome .brand,html[data-jojo] .jojo-chrome .tools{flex-shrink:0}html[data-jojo] .jojo-chrome .time-label{display:none}html[data-jojo] .jojo-chrome #motion-toggle{width:36px;padding:0;justify-content:center}html[data-jojo] .more-toggle{display:flex;align-items:center;gap:5px;height:40px;padding:0 12px;border:0;border-radius:999px;color:var(--muted);background:transparent;font:inherit;font-size:14px;cursor:pointer}html[data-jojo] .more-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .18s ease}html[data-jojo] .more-toggle[aria-expanded=true] svg{transform:rotate(180deg)}html[data-jojo] .more-toggle:hover,html[data-jojo] .more-toggle[aria-expanded=true]{background:var(--chip);color:var(--ink)}html[data-jojo] .more-panel{position:absolute;top:calc(100% + 12px);right:0;width:430px;max-width:calc(100vw - 32px);display:grid;grid-template-columns:1.1fr 1fr 1.2fr;gap:20px;padding:22px;border:1px solid var(--glass-rim);border-radius:22px;background:var(--panel);box-shadow:0 12px 34px #20133020;backdrop-filter:blur(24px)}html[data-jojo] .more-panel h2{margin:0 0 10px;padding:0 8px;font:500 11px JojoSans,sans-serif;color:var(--quiet);letter-spacing:.08em}html[data-jojo] .more-panel a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:8px;border-radius:9px;color:var(--muted);font-size:13px;white-space:nowrap;text-decoration:none}html[data-jojo] .more-panel a:hover,html[data-jojo] .more-panel a[aria-current=page]{background:var(--chip);color:var(--ink)}html[data-jojo] .more-panel a span{font-size:12px;opacity:.6}html[data-jojo] .more-mobile{display:none}@media (max-width:700px){html[data-jojo] .jojo-chrome .site-header{gap:6px;padding-inline:12px 8px}html[data-jojo] .jojo-chrome .nav-main>a{padding-inline:9px;font-size:13px}html[data-jojo] .more-toggle{padding-inline:8px;font-size:13px}}@media (max-width:640px){html[data-jojo] .jojo-chrome #nav-home,html[data-jojo] .jojo-chrome .nav-main .nav-secondary{display:none}html[data-jojo] .jojo-chrome .site-header{height:54px;min-height:54px}html[data-jojo] .jojo-chrome .tools{margin-left:0;gap:0;padding-left:6px}html[data-jojo] .jojo-chrome #motion-toggle,html[data-jojo] .jojo-chrome .icon-button{width:30px;min-width:30px}html[data-jojo] .more-mobile{display:flex;gap:8px;grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid var(--line)}html[data-jojo] .more-mobile a{flex:1}html[data-jojo] .more-panel{width:350px;padding:16px;gap:14px 8px}}html[data-jojo] .jojo-overlay #cursor{filter:drop-shadow(0 1px 2px #593b6530);mix-blend-mode:normal}html[data-jojo] .jojo-overlay #cursor .stand-arrow{left:-2px;top:-2px;width:22px;height:24px;fill:color-mix(in srgb,var(--hover-start) 65%,white);stroke:var(--accent);stroke-width:1.1;stroke-linejoin:round;opacity:1;transform:none}html[data-jojo] .cursor-spark{position:absolute;left:14px;top:15px;width:9px;height:9px;fill:color-mix(in srgb,var(--manga-pink) 55%,white);stroke:white;stroke-width:1;transition:transform .18s ease,opacity .18s ease}html[data-jojo] .jojo-overlay #cursor .cursor-star{left:-10px;top:-10px;width:20px;height:20px;fill:color-mix(in srgb,var(--manga-pink) 40%,#fff2b6);stroke:var(--accent);stroke-width:.9;opacity:0;transform:scale(.7)}html[data-jojo] .jojo-overlay #cursor[data-mode=link] .stand-arrow{transform:scale(1.06);transform-origin:2px 2px}html[data-jojo] .jojo-overlay #cursor[data-mode=link] .cursor-spark{transform:rotate(30deg)}html[data-jojo] .jojo-overlay #cursor:is([data-mode=keyword],[data-mode=name]) .cursor-spark,html[data-jojo] .jojo-overlay #cursor:is([data-mode=keyword],[data-mode=name]) .stand-arrow{opacity:0}html[data-jojo] .jojo-overlay #cursor[data-mode=keyword] .cursor-star{opacity:1;transform:rotate(12deg)}html[data-jojo] .jojo-overlay #cursor[data-mode=name] .cursor-star{opacity:1;transform:scale(1.15) rotate(24deg)}@media(max-width:640px){html[data-jojo] .more-panel{right:50%;transform:translateX(50%)}}html[data-theme-reveal]::view-transition{pointer-events:none}html[data-theme-reveal]::view-transition-group(root){animation-duration:0s}html[data-theme-reveal]::view-transition-new(root),html[data-theme-reveal]::view-transition-old(root){animation:none;mix-blend-mode:normal}html[data-theme-reveal=expand]::view-transition-old(root){z-index:1}html[data-theme-reveal=expand]::view-transition-new(root){z-index:2}html[data-theme-reveal=contract]::view-transition-old(root){z-index:2}html[data-theme-reveal=contract]::view-transition-new(root){z-index:1}html[data-jojo] .jojo-home .keyword:not(.terminal){isolation:isolate}html[data-jojo] .jojo-home .keyword:not(.terminal):before{background:var(--ink)}html[data-jojo] .jojo-home .keyword:not(.terminal):is(:hover,:focus-visible,.is-touched){color:var(--paper);border-color:var(--ink)}html[data-jojo] .jojo-home .keyword:not(.terminal):is(:hover,:focus-visible,.is-touched):before{opacity:1}html[data-jojo] .jojo-home .keyword:not(.terminal):is(:hover,:focus-visible,.is-touched) .label-track span{color:var(--paper)}html[data-jojo] .jojo-home .keyword:not(.terminal):after{content:"";display:block;position:absolute;inset:auto;left:var(--capsule-x,50%);top:var(--capsule-y,50%);width:var(--capsule-size,2.4em);height:var(--capsule-size,2.4em);border:0;border-radius:0;clip-path:polygon(50% 6.25%,63.125% 33.333%,92.917% 37.5%,71.458% 58.333%,76.458% 87.917%,50% 74.167%,23.542% 87.917%,28.542% 58.333%,7.083% 37.5%,36.875% 33.333%);background:#fff;mix-blend-mode:difference;z-index:3;pointer-events:none;opacity:0;transform:translate(-50%,-50%) rotate(12deg) scale(.65);transition:opacity .12s ease,transform .16s ease}html[data-jojo] .jojo-home .keyword.is-capsule-hovered:not(.terminal):after{opacity:1;transform:translate(-50%,-50%) rotate(12deg) scale(1)}html[data-jojo] .jojo-overlay #cursor[data-mode=capsule] .cursor-spark,html[data-jojo] .jojo-overlay #cursor[data-mode=capsule] .stand-arrow{opacity:0}html[data-jojo] .jojo-overlay #cursor[data-mode=capsule] .cursor-star{opacity:1;fill:transparent;transform:rotate(12deg);width:var(--capsule-size,36px);height:var(--capsule-size,36px);left:calc(var(--capsule-size, 36px) / -2);top:calc(var(--capsule-size, 36px) / -2)}@media(prefers-reduced-motion:reduce){html[data-jojo] .jojo-home .keyword:not(.terminal):after{display:none}}html[data-jojo][data-page=index] .astro-site .molten-stage{opacity:.48}html[data-jojo][data-page=read] .astro-site .molten-stage{opacity:.14}html[data-jojo][data-page=index] .astro-site .manga-margin{display:block;opacity:.3}html[data-jojo][data-page=index] .manga-margin .menace{display:none}html[data-jojo] .astro-site:not([data-page-kind=home]){font-family:JojoSans,PingFang SC,sans-serif}html[data-jojo] .astro-site :is(.astro-blog-index>header,.projects-parity-header,.docs-library-header,.shorts-page-header,.astro-photo-header){padding-block:16px 28px}html[data-jojo] .astro-site :is(.astro-blog-index>header,.projects-parity-header,.docs-library-header,.shorts-page-header,.astro-photo-header) h1{display:inline-block;position:relative;font-size:clamp(2.25rem,4vw,3.5rem);font-weight:800;letter-spacing:-.035em;line-height:1.18;margin-bottom:22px;color:var(--ink);text-shadow:2px 2px 0 color-mix(in srgb,var(--accent) 35%,transparent)}html[data-jojo] .astro-site :is(.astro-blog-index>header,.projects-parity-header,.docs-library-header,.shorts-page-header,.astro-photo-header) h1:after{content:"";display:block;width:36px;height:3px;margin:14px auto 0;background:var(--accent);border-radius:2px}html[data-jojo] .astro-site :is(.astro-blog-index>header,.projects-parity-header,.docs-library-header,.shorts-page-header,.astro-photo-header) p{opacity:1;color:var(--muted);font-style:normal;line-height:1.8}html[data-jojo] .astro-site :is(.blog-list-link,.project-item-link,.geektime-course-card,.skills-card,.ska-card){border-radius:12px;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}html[data-jojo] .astro-site :is(.blog-list-link,.project-item-link,.geektime-course-card,.skills-card,.ska-card):is(:hover,:focus-visible){background:color-mix(in srgb,var(--chip) 80%,transparent);color:var(--ink);border-color:var(--accent);transform:translateY(-2px)}html[data-jojo] .astro-site .projects-parity-page .project-item-link{opacity:1}html[data-jojo] .astro-site :is(.project-item-title,.geektime-course-name){color:var(--ink)}html[data-jojo] .astro-site .blog-parity-page #blog-post-list :is(.list-item-date,.list-item-read-time){opacity:1;color:var(--quiet)}html[data-jojo] .astro-site :is(.geektime-search-box,.blog-catalog-search-box){border:1px solid var(--c-border-soft,var(--line));background:var(--c-surface-soft,color-mix(in srgb,var(--panel) 75%,transparent));border-radius:.75rem}html[data-jojo] .astro-site :is(.geektime-search-box,.blog-catalog-search-box):focus-within{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 24%,transparent);outline-offset:3px}html[data-jojo] .astro-site .geektime-category-nav a{border:1px solid var(--line);border-radius:999px;padding:7px 13px;color:var(--muted)}html[data-jojo] .astro-site .geektime-category-nav a:is(:hover,:focus-visible){background:var(--ink);color:var(--paper)}html[data-jojo] .astro-site :is(a,button,input,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:4px}html[data-jojo]{--selection-paper:#f4dfa0;--selection-ink:#483015}html[data-jojo][data-character=jolyne]{--selection-paper:#bfe8d8;--selection-ink:#163e35}html[data-jojo][data-theme=dark]{--selection-paper:#795923;--selection-ink:#fff4cb}html[data-jojo][data-theme=dark][data-character=jolyne]{--selection-paper:#255d51;--selection-ink:#e5fff4}html[data-jojo] .astro-site ::selection,html[data-jojo] .astro-site::selection{background-color:var(--selection-paper);color:var(--selection-ink);text-shadow:none}@media (forced-colors:active){html[data-jojo] .astro-site ::selection,html[data-jojo] .astro-site::selection{background-color:Highlight;color:HighlightText}}@media (prefers-reduced-motion:reduce){html[data-jojo] .astro-site :is(.blog-list-link,.project-item-link,.geektime-course-card,.skills-card,.ska-card){transition:none;transform:none}}html[data-jojo] .astro-site .agent-page-head h1{color:var(--ink);text-shadow:2px 2px 0 color-mix(in srgb,var(--accent) 35%,transparent)}html[data-jojo] .astro-site .agent-page-head a{border-radius:999px}html[data-jojo] .astro-site .skills-hero-main h1{color:var(--ink)}html[data-jojo] .astro-site .skills-hero-main h1 span{color:var(--accent-ink)}@media (prefers-reduced-motion:reduce){html[data-jojo] .astro-site :is(.blog-list-link,.project-item-link,.geektime-course-card,.skills-card,.ska-card):is(:hover,:focus-visible){transform:none}}html[data-jojo]{--nav-fold-duration:320ms;--nav-fold-ease:cubic-bezier(.22,1,.36,1)}html[data-jojo] .jojo-chrome .header-wrap .site-header{--nav-edge:20px;gap:10px;transform:translateX(0);transition:transform var(--nav-fold-duration) var(--nav-fold-ease),gap var(--nav-fold-duration) var(--nav-fold-ease),padding var(--nav-fold-duration) var(--nav-fold-ease),height var(--nav-fold-duration) var(--nav-fold-ease),min-height var(--nav-fold-duration) var(--nav-fold-ease),box-shadow var(--nav-fold-duration) var(--nav-fold-ease)}html[data-jojo] .jojo-chrome .nav-retract{width:var(--nav-content-width,auto);min-width:0;overflow:hidden;opacity:1;transition:width var(--nav-fold-duration) var(--nav-fold-ease),opacity var(--nav-fold-duration) var(--nav-fold-ease)}html[data-jojo] .jojo-chrome .nav-retract-inner{display:flex;align-items:center;gap:12px;width:max-content;transform:translateY(0);filter:blur(0);transition:transform var(--nav-fold-duration) var(--nav-fold-ease),filter var(--nav-fold-duration) var(--nav-fold-ease)}html[data-jojo] .jojo-chrome .header-wrap[data-collapsed=true] .nav-retract{width:0;opacity:0;pointer-events:none;transition:width var(--nav-fold-duration) var(--nav-fold-ease),opacity var(--nav-fold-duration) var(--nav-fold-ease)}html[data-jojo] .jojo-chrome .header-wrap[data-collapsed=true] .nav-retract-inner{transform:translateY(-12px);filter:blur(5px)}html[data-jojo] .jojo-chrome .header-wrap[data-collapsed=true] .site-header{gap:0;padding:4px;height:42px;min-height:42px;transform:translateX(calc(50vw - var(--nav-edge) - 50%))}html[data-jojo] .jojo-chrome .site-header .brand{max-width:100px;overflow:hidden;opacity:1;transition:max-width var(--nav-fold-duration) var(--nav-fold-ease),opacity var(--nav-fold-duration) var(--nav-fold-ease),padding var(--nav-fold-duration) var(--nav-fold-ease),transform var(--nav-fold-duration) var(--nav-fold-ease)}html[data-jojo] .jojo-chrome .header-wrap[data-collapsed=true] .brand{max-width:0;padding:0;margin:0;opacity:0;pointer-events:none;transform:translateX(8px)}html[data-jojo] .jojo-chrome .nav-fold-toggle{position:relative;flex:none;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--accent-ink);cursor:pointer;transition:background-color .18s ease}html[data-jojo] .jojo-chrome .nav-fold-toggle:hover{background:var(--chip)}html[data-jojo] .jojo-chrome .nav-fold-symbol{width:17px;height:17px;fill:var(--accent);stroke:var(--manga-pink);stroke-width:1;transform:rotate(90deg);transition:transform var(--nav-fold-duration) var(--nav-fold-ease)}html[data-jojo] .jojo-chrome .nav-fold-mark{fill:none;stroke:var(--paper);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}html[data-jojo] .jojo-chrome .header-wrap[data-collapsed=true] .nav-fold-symbol{transform:rotate(-90deg)}@media (max-width:640px){html[data-jojo] .jojo-chrome .site-header{--nav-edge:16px;gap:5px}html[data-jojo] .jojo-chrome .nav-retract-inner{gap:5px}}@media (prefers-reduced-motion:reduce){html[data-jojo] .jojo-chrome .header-wrap[data-collapsed=true] .nav-retract,html[data-jojo] .jojo-chrome :is(.site-header,.nav-retract,.nav-retract-inner,.brand,.nav-fold-symbol){transition:none}}html[data-jojo] .astro-site .projects-parity-page .project-group{animation:none;transform:none;opacity:1}@media (max-width:820px){html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav{width:fit-content;max-width:100%;padding:3px 0;background:var(--glass);backdrop-filter:blur(18px);border:0;border-radius:999px}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav nav{gap:2px}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav a{padding:6px 10px;border-radius:999px;font-size:12px}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav a:before,html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav a>span{display:none}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav a[aria-current=location]{background:var(--chip);color:var(--ink)}html[data-jojo] .astro-site .projects-parity-page .project-directory-layout.has-anchor-nav{display:block}}html[data-jojo] .astro-site{overflow-x:clip;overflow-y:visible}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav nav{display:block;border:0}html[data-jojo] .astro-site .projects-parity-page .project-anchor-track{position:relative;display:grid;padding:4px;isolation:isolate}html[data-jojo] .astro-site .projects-parity-page .project-anchor-slider{position:absolute;left:0;top:0;z-index:-1;pointer-events:none;background:var(--chip);border-radius:999px;opacity:0;transition:transform .42s cubic-bezier(.22,1,.36,1),width .32s ease,height .32s ease,opacity .16s ease}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav a{position:relative;z-index:1;border-radius:999px;transform:none}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav a:before{display:none}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav a[aria-current=location]{background:transparent;color:var(--ink)}@media(max-width:820px){html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav{width:100%;padding:0}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav nav{width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scrollbar-color:var(--line) transparent}html[data-jojo] .astro-site .projects-parity-page .project-anchor-track{display:flex;gap:2px;width:max-content;min-width:100%;box-sizing:border-box}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav a{flex:1 0 auto;justify-content:center;padding:7px 12px;margin:0}}@media(prefers-reduced-motion:reduce){html[data-jojo] .astro-site .projects-parity-page .project-anchor-slider{transition:none}}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav a{grid-template-columns:minmax(0,1fr);gap:0}html[data-jojo] .astro-site .geektime-search-box{min-height:3.25rem;padding:.95rem 1.1rem;gap:.7rem;border-radius:.75rem;border:1px solid var(--c-border-soft,var(--line));background:var(--c-surface-soft,color-mix(in srgb,var(--panel) 75%,transparent));box-shadow:none;outline:none}html[data-jojo] .astro-site .geektime-search-box:focus-within{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}html[data-jojo] .astro-site .geektime-search-box input,html[data-jojo] .astro-site .geektime-search-box input:focus-visible{border:0;outline:none;box-shadow:none;background:transparent;padding:.25rem 0;min-width:0;font-size:.9375rem;height:auto;line-height:1.45}html[data-jojo] .astro-site .geektime-search-box>svg{width:1rem;height:1rem;color:var(--quiet)}html[data-jojo] .astro-site .docs-category-layout{margin-top:24px}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav[data-horizontal]{position:sticky;z-index:20;width:100%;max-height:none;padding:0;margin-bottom:28px;background:var(--glass);backdrop-filter:blur(18px);border:0;border-radius:999px}html[data-jojo] .astro-site .project-anchor-nav[data-horizontal] .project-anchor-nav__head{display:none}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav[data-horizontal] nav{width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav[data-horizontal] .project-anchor-track{display:flex;gap:2px;width:max-content;min-width:100%;box-sizing:border-box;padding:4px}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav[data-horizontal] a{display:flex;flex:1 0 auto;justify-content:center;padding:7px 12px;margin:0;font-size:12px;white-space:nowrap}html[data-jojo] .astro-site .project-anchor-nav nav::-webkit-scrollbar{display:none;width:0;height:0}html[data-jojo]:has(.header-wrap[data-collapsed=true]) .astro-site
.projects-parity-page .project-anchor-nav[data-horizontal]{width:calc(100% - 56px)}@media(max-width:820px){html[data-jojo]:has(.header-wrap[data-collapsed=true]) .astro-site .projects-parity-page .project-anchor-nav{width:calc(100% - 56px)}}html[data-jojo] .jojo-chrome .site-header{--nav-expanded-height:58px;--nav-collapsed-height:42px}html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav{transition:top var(--nav-fold-duration) var(--nav-fold-ease),width var(--nav-fold-duration) var(--nav-fold-ease)}@media(max-width:640px){html[data-jojo] .jojo-chrome .site-header{--nav-expanded-height:54px}}@media(prefers-reduced-motion:reduce){html[data-jojo] .astro-site .projects-parity-page .project-anchor-nav{transition:none}}html[data-jojo] .lyrics-empty{color:var(--muted)}html[data-jojo] .lyrics-retry{display:block;margin:12px auto 0;padding:6px 14px;border:1px solid;border-radius:999px;color:var(--accent);background:transparent}html[data-jojo] .jojo-chrome .direct-nav-inner{display:flex;align-items:center;gap:12px}html[data-jojo] .jojo-chrome .direct-nav-content{min-width:0}html[data-jojo] .jojo-chrome .direct-navbar .nav-main>a{display:inline-flex;align-items:center;justify-content:center}html[data-jojo] .jojo-chrome .nav-github-link{flex:none}html[data-jojo] .jojo-chrome .compact-menu-toggle{display:none}@media(max-width:760px){html[data-jojo] .jojo-chrome .header-wrap{top:12px;left:12px;right:12px}html[data-jojo] .jojo-chrome .header-wrap .direct-navbar{--nav-expanded-height:58px;position:relative;box-sizing:border-box;width:100%;max-width:100%;height:58px;min-height:58px;display:flex;flex-wrap:nowrap;padding:6px 8px 6px 16px;gap:4px;border-radius:999px}html[data-jojo] .jojo-chrome .direct-navbar .brand{margin-right:auto;font-size:27px;flex-shrink:0}html[data-jojo] .jojo-chrome .direct-nav-content{flex:none}html[data-jojo] .jojo-chrome .direct-nav-inner{gap:0}html[data-jojo] .jojo-chrome .direct-navbar .tools{padding:0;margin:0;gap:0;border:0}html[data-jojo] .jojo-chrome .direct-navbar .tools .icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:44px;padding:0}html[data-jojo] .jojo-chrome .direct-navbar .nav-main{position:absolute;top:calc(100% + 8px);left:0;right:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:8px;border:1px solid var(--glass-rim);border-radius:20px;background:var(--panel);box-shadow:0 10px 28px #20133020;backdrop-filter:blur(24px);visibility:hidden;opacity:0;transform:translateY(-8px) scale(.98);transform-origin:top right;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s}html[data-jojo] .jojo-chrome .direct-navbar .nav-main[data-open=true]{visibility:visible;opacity:1;transform:none;pointer-events:auto}html[data-jojo] .jojo-chrome .direct-navbar #nav-home,html[data-jojo] .jojo-chrome .direct-navbar .nav-main>a{display:flex;min-width:0;min-height:44px;padding:8px;font-size:14px}}@media(prefers-reduced-motion:reduce){html[data-jojo] .jojo-chrome .direct-navbar .nav-main{transition:none}}html[data-jojo] .jojo-click-layer{position:fixed;inset:0;pointer-events:none;z-index:2147483647;overflow:hidden;contain:strict}html[data-jojo] .jojo-click-burst{position:absolute;width:0;height:0;pointer-events:none}html[data-jojo] .jojo-click-burst i{position:absolute;display:block;left:0;top:0;background:var(--accent);pointer-events:none;animation:jojo-click-scatter .48s cubic-bezier(.16,1,.3,1) both}html[data-jojo] .jojo-click-burst .click-impact{width:26px;height:26px;background:var(--accent-ink);clip-path:polygon(50% 0,61% 33%,95% 15%,70% 46%,100% 58%,65% 64%,74% 100%,48% 73%,17% 94%,30% 60%,0 40%,37% 36%);animation:jojo-click-impact .36s ease-out both}html[data-jojo] .jojo-click-burst .click-ray{width:13px;height:2px;border-radius:2px}html[data-jojo] .jojo-click-burst .click-shard{width:7px;height:7px;background:var(--manga-pink);clip-path:polygon(50% 0,64% 36%,100% 50%,64% 64%,50% 100%,36% 64%,0 50%,36% 36%)}@keyframes jojo-click-impact{0%{opacity:1;transform:translate(-50%,-50%) scale(.25) rotate(-15deg)}30%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1.3) rotate(12deg)}}@keyframes jojo-click-scatter{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) scale(.4)}15%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--angle)) scale(.3)}}@media(prefers-reduced-motion:reduce){html[data-jojo] .jojo-click-layer{display:none}}@media (any-pointer:fine){:root[data-jojo][data-jojo]{--jojo-cursor-default:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%202%208%2025l5-9%2010-4Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 2 2,auto;--jojo-cursor-pointer:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%202%208%2025l5-9%2010-4Z%22%2F%3E%3Cpath%20d%3D%22m23%2021%201.5%204%204.5%201.5-4.5%201.5-1.5%204-1.5-4-4.5-1.5%204.5-1.5Z%22%20class%3D%22accent%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 2 2,auto;--jojo-cursor-pressed:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%203%209%2024l4-8%209-4Z%22%20class%3D%22accent%22%2F%3E%3Cpath%20d%3D%22m23%203%202%203m-9-4%200%203m11%206-3%200%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 2 2,auto;--jojo-cursor-text:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%204h12M16%204v24M10%2028h12%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22m25%2010%201%203%203%201-3%201-1%203-1-3-3-1%203-1Z%22%20class%3D%22accent%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-vertical:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2010v12M4%2016h24M28%2010v12%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-grab:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%2018V9a2%202%200%200%201%204%200v7-11a2%202%200%200%201%204%200v11-10a2%202%200%200%201%204%200v10-7a2%202%200%200%201%204%200v12c0%205-3%208-8%208-4%200-6-2-8-5l-4-6c-1-3%202-4%204%200Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-grabbing:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%2018v-4a2%202%200%200%201%204%200v-3a2%202%200%200%201%204%200v-1a2%202%200%200%201%204%200v2a2%202%200%200%201%205%200v9c0%205-3%208-8%208-4%200-6-2-8-5l-4-5c-1-3%202-4%203-1Z%22%20class%3D%22accent%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-move:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%203v26M3%2016h26m-17-9%204-4%204%204m-8%2018%204%204%204-4M7%2012l-4%204%204%204m18-8%204%204-4%204%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-ew-resize:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2016h26M8%2011l-5%205%205%205m16-10%205%205-5%205%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-ns-resize:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%203v26m-5-21%205-5%205%205m-10%2016%205%205%205-5%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-nesw-resize:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2027%2027%205M19%205h8v8M5%2019v8h8%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-nwse-resize:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%205%2022%2022M5%2013V5h8m6%2022h8v-8%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-zoom-in:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22m20%2020%209%209M9%2013h8m-4-4v8%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-zoom-out:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22m20%2020%209%209M9%2013h8%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-not-allowed:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2211%22%2F%3E%3Cpath%20d%3D%22m8%208%2016%2016%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-wait:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%203h16M8%2029h16M10%203v5c0%204%206%206%206%208s-6%204-6%208v5m12-26v5c0%204-6%206-6%208s6%204%206%208v5%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22m12%2025%204-5%204%205Z%22%20class%3D%22accent%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-progress:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%202%208%2025l5-9%2010-4Z%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%226%22%2F%3E%3Cpath%20d%3D%22M24%2020v4l3%201%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 2 2,auto;--jojo-cursor-help:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%202%208%2025l5-9%2010-4Z%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%227%22%2F%3E%3Cpath%20d%3D%22M22%2022c0-3%205-3%204%200l-2%202m0%203v.1%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 2 2,auto;--jojo-cursor-crosshair:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%202v9m0%2010v9M2%2016h9m10%200h9%22%20fill%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%223%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-copy:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%23e8a2cb%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23fff6dc%22%20stroke%3D%22%23976420%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%202%208%2025l5-9%2010-4Z%22%2F%3E%3Cpath%20d%3D%22M19%2019h10v11H19Zm-3%207V16h10%22%2F%3E%3Cpath%20d%3D%22M22%2024h4m-2-2v4%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 2 2,auto}:root[data-jojo][data-jojo][data-character=jolyne]{--jojo-cursor-default:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%202%208%2025l5-9%2010-4Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 2 2,auto;--jojo-cursor-pointer:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%202%208%2025l5-9%2010-4Z%22%2F%3E%3Cpath%20d%3D%22m23%2021%201.5%204%204.5%201.5-4.5%201.5-1.5%204-1.5-4-4.5-1.5%204.5-1.5Z%22%20class%3D%22accent%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 2 2,auto;--jojo-cursor-pressed:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%203%209%2024l4-8%209-4Z%22%20class%3D%22accent%22%2F%3E%3Cpath%20d%3D%22m23%203%202%203m-9-4%200%203m11%206-3%200%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 2 2,auto;--jojo-cursor-text:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%204h12M16%204v24M10%2028h12%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22m25%2010%201%203%203%201-3%201-1%203-1-3-3-1%203-1Z%22%20class%3D%22accent%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-vertical:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2010v12M4%2016h24M28%2010v12%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-grab:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%2018V9a2%202%200%200%201%204%200v7-11a2%202%200%200%201%204%200v11-10a2%202%200%200%201%204%200v10-7a2%202%200%200%201%204%200v12c0%205-3%208-8%208-4%200-6-2-8-5l-4-6c-1-3%202-4%204%200Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-grabbing:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%2018v-4a2%202%200%200%201%204%200v-3a2%202%200%200%201%204%200v-1a2%202%200%200%201%204%200v2a2%202%200%200%201%205%200v9c0%205-3%208-8%208-4%200-6-2-8-5l-4-5c-1-3%202-4%203-1Z%22%20class%3D%22accent%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-move:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%203v26M3%2016h26m-17-9%204-4%204%204m-8%2018%204%204%204-4M7%2012l-4%204%204%204m18-8%204%204-4%204%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-ew-resize:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2016h26M8%2011l-5%205%205%205m16-10%205%205-5%205%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-ns-resize:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%203v26m-5-21%205-5%205%205m-10%2016%205%205%205-5%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-nesw-resize:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2027%2027%205M19%205h8v8M5%2019v8h8%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-nwse-resize:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%205%2022%2022M5%2013V5h8m6%2022h8v-8%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-zoom-in:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22m20%2020%209%209M9%2013h8m-4-4v8%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-zoom-out:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22m20%2020%209%209M9%2013h8%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-not-allowed:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2211%22%2F%3E%3Cpath%20d%3D%22m8%208%2016%2016%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-wait:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%203h16M8%2029h16M10%203v5c0%204%206%206%206%208s-6%204-6%208v5m12-26v5c0%204-6%206-6%208s6%204%206%208v5%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22m12%2025%204-5%204%205Z%22%20class%3D%22accent%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-progress:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%202%208%2025l5-9%2010-4Z%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%226%22%2F%3E%3Cpath%20d%3D%22M24%2020v4l3%201%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 2 2,auto;--jojo-cursor-help:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%202%208%2025l5-9%2010-4Z%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%227%22%2F%3E%3Cpath%20d%3D%22M22%2022c0-3%205-3%204%200l-2%202m0%203v.1%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 2 2,auto;--jojo-cursor-crosshair:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%202v9m0%2010v9M2%2016h9m10%200h9%22%20fill%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%223%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,auto;--jojo-cursor-copy:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.accent%7Bfill%3A%2391c9b2%7D%3C%2Fstyle%3E%3Cg%20fill%3D%22%23e3fff0%22%20stroke%3D%22%23216d60%22%20stroke-width%3D%221.65%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%202%208%2025l5-9%2010-4Z%22%2F%3E%3Cpath%20d%3D%22M19%2019h10v11H19Zm-3%207V16h10%22%2F%3E%3Cpath%20d%3D%22M22%2024h4m-2-2v4%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 2 2,auto}:root[data-jojo][data-jojo],:root[data-jojo][data-jojo] body,:root[data-jojo][data-jojo] body *,:root[data-jojo][data-jojo] body :after,:root[data-jojo][data-jojo] body :before{cursor:var(--jojo-cursor-use,var(--jojo-cursor-default))!important}:root[data-jojo][data-jojo] :is([data-jojo-text-hit],input,textarea,[contenteditable=true],[role=textbox],.cursor-text,[style*="cursor: text"],[style*="cursor:text"]){--jojo-cursor-use:var(--jojo-cursor-text)!important}:root[data-jojo][data-jojo] :is(a,a *,button,button *,summary,summary *,select,label[for],[role=button],[role=link],[role=tab],[role=checkbox],[role=switch],input:is([type=button],[type=submit],[type=checkbox],[type=radio]),.cursor-pointer,[style*="cursor: pointer"],[style*="cursor:pointer"]){--jojo-cursor-use:var(--jojo-cursor-pointer)!important}:root[data-jojo][data-jojo] :is(a:active,a:active *,button:active,button:active *,summary:active,summary:active *,[role=button]:active,[style*="cursor: pressed"],[style*="cursor:pressed"]){--jojo-cursor-use:var(--jojo-cursor-pressed)!important}:root[data-jojo][data-jojo] :is([data-cursor=vertical-text],[style*="cursor: vertical"],[style*="cursor:vertical"]){--jojo-cursor-use:var(--jojo-cursor-vertical)!important}:root[data-jojo][data-jojo] :is(.corridor-viewport,.corridor-viewport *,[draggable=true],.cursor-grab,[data-cursor=grab],[style*="cursor: grab"],[style*="cursor:grab"]){--jojo-cursor-use:var(--jojo-cursor-grab)!important}:root[data-jojo][data-jojo] :is(.corridor-viewport.dragging,.corridor-viewport.dragging *,[draggable=true]:active,.cursor-grabbing,[data-cursor=grabbing],[style*="cursor: grabbing"],[style*="cursor:grabbing"]){--jojo-cursor-use:var(--jojo-cursor-grabbing)!important}:root[data-jojo][data-jojo] :is(.cursor-move,[data-cursor=move],[style*="cursor: move"],[style*="cursor:move"]){--jojo-cursor-use:var(--jojo-cursor-move)!important}:root[data-jojo][data-jojo] :is(input[type=range],[role=slider],.cursor-ew-resize,[data-cursor=ew-resize],[style*="cursor: ew-resize"],[style*="cursor:ew-resize"]){--jojo-cursor-use:var(--jojo-cursor-ew-resize)!important}:root[data-jojo][data-jojo] :is(.cursor-ns-resize,[data-cursor=ns-resize],[style*="cursor: ns-resize"],[style*="cursor:ns-resize"]){--jojo-cursor-use:var(--jojo-cursor-ns-resize)!important}:root[data-jojo][data-jojo] :is(.cursor-nesw-resize,[data-cursor=nesw-resize],[style*="cursor: nesw-resize"],[style*="cursor:nesw-resize"]){--jojo-cursor-use:var(--jojo-cursor-nesw-resize)!important}:root[data-jojo][data-jojo] :is(.cursor-nwse-resize,[data-cursor=nwse-resize],[style*="cursor: nwse-resize"],[style*="cursor:nwse-resize"]){--jojo-cursor-use:var(--jojo-cursor-nwse-resize)!important}:root[data-jojo][data-jojo] :is(.photo-figure>button,.photo-figure>button *,.cursor-zoom-in,[data-cursor=zoom-in],.prose img:not(a img,button img),[data-zoomable],[style*="cursor: zoom-in"],[style*="cursor:zoom-in"]){--jojo-cursor-use:var(--jojo-cursor-zoom-in)!important}:root[data-jojo][data-jojo] :is(.photo-viewer__backdrop,.cursor-zoom-out,[data-cursor=zoom-out],[style*="cursor: zoom-out"],[style*="cursor:zoom-out"]){--jojo-cursor-use:var(--jojo-cursor-zoom-out)!important}:root[data-jojo][data-jojo] :is(.cursor-help,[data-cursor=help],[style*="cursor: help"],[style*="cursor:help"]){--jojo-cursor-use:var(--jojo-cursor-help)!important}:root[data-jojo][data-jojo] :is(.cursor-crosshair,[data-cursor=crosshair],[style*="cursor: crosshair"],[style*="cursor:crosshair"]){--jojo-cursor-use:var(--jojo-cursor-crosshair)!important}:root[data-jojo][data-jojo] :is(.cursor-copy,[data-cursor=copy],[style*="cursor: copy"],[style*="cursor:copy"]){--jojo-cursor-use:var(--jojo-cursor-copy)!important}:root[data-jojo][data-jojo] :is(.cursor-progress,[data-cursor=progress],[style*="cursor: progress"],[style*="cursor:progress"]){--jojo-cursor-use:var(--jojo-cursor-progress)!important}:root[data-jojo][data-jojo] :is([aria-busy=true],[aria-busy=true] *,[data-cursor=wait],.cursor-wait,[style*="cursor: wait"],[style*="cursor:wait"]){--jojo-cursor-use:var(--jojo-cursor-wait)!important}:root[data-jojo][data-jojo] :is(:disabled,:disabled *,[aria-disabled=true],[aria-disabled=true] *,[inert],[inert] *,.cursor-not-allowed,[style*="cursor: not-allowed"],[style*="cursor:not-allowed"]){--jojo-cursor-use:var(--jojo-cursor-not-allowed)!important}:root[data-jojo][data-jojo] input[type=range]::-webkit-slider-thumb{cursor:var(--jojo-cursor-ew-resize)!important}:root[data-jojo][data-jojo] input[type=range]::-moz-range-thumb{cursor:var(--jojo-cursor-ew-resize)!important}:root[data-jojo][data-jojo] .jojo-overlay #cursor{display:none!important}}html[data-jojo]{--paper:#fbefd0;--ink:#1e0e2a;--muted:#5b4260;--quiet:#765f78;--line:#d9b9a1;--panel:#fff6dc;--chip:#f5dca3;--accent:#ffc21a;--accent-ink:#2b0b45;--manga-pink:#d1246f;--manga-violet:#8a3fd0;--shadow-ink:#2b0b45;--name-front:#ffc21a;--name-side:#d1246f;--hover-start:#ffe18a;--hover-end:#d1246f;--glass:rgb(255 246 220/84%);--glass-rim:rgb(43 11 69/20%);--op-deep:#2b0b45;--op-hi:#ffc21a;--op-mid:#d1246f;--op-edge:#1a0b24}html[data-jojo][data-theme=dark]{--paper:#150b1f;--ink:#f8f0e7;--muted:#d8c9dc;--quiet:#b9a3bd;--line:#594064;--panel:#21102d;--chip:#3c1c48;--accent:#ffc21a;--accent-ink:#fff1bf;--glass:rgb(21 11 31/86%);--glass-rim:rgb(255 242 194/24%)}html[data-jojo] body{background:var(--paper);color:var(--muted)}html[data-jojo] .astro-site{background:linear-gradient(108deg,transparent 0 49%,color-mix(in srgb,var(--op-mid) 16%,transparent) 49.2% 49.6%,transparent 49.8%),var(--paper)}html[data-jojo] .astro-site:not([data-page-kind=home]){padding-top:92px}html[data-jojo] .astro-site:not([data-page-kind=home]) .astro-main{width:min(1180px,calc(100% - 40px));margin-inline:auto;padding:clamp(34px,6vw,84px) 0 96px}html[data-jojo] .astro-site:not([data-page-kind=home]):not([data-page-kind=music]):not([data-page-kind=projects]):not([data-page-kind=docs]):not([data-page-kind=blog]):not([data-page-kind=article]):not([data-page-kind=photos]) :is(h1,h2,h3,h4){font-family:JojoDisplay,"Noto Serif SC",serif;color:var(--ink);letter-spacing:.015em}html[data-jojo] .astro-site:not([data-page-kind=home]):not([data-page-kind=music]):not([data-page-kind=projects]):not([data-page-kind=docs]):not([data-page-kind=blog]):not([data-page-kind=article]):not([data-page-kind=photos]) h1{font-size:clamp(2.15rem,5vw,4.8rem);line-height:.98;text-shadow:.055em .055em 0 var(--op-mid)}html[data-jojo] .astro-site:not([data-page-kind=home]):not([data-page-kind=music]):not([data-page-kind=projects]):not([data-page-kind=docs]):not([data-page-kind=blog]):not([data-page-kind=article]):not([data-page-kind=photos]) h2{font-size:clamp(1.45rem,2.5vw,2.35rem);line-height:1.05}html[data-jojo][data-character=giorno][data-theme=dark]{--quiet:#b8aabd;--line:#594064;--panel:#211c2c;--chip:#393045;--accent:#c2a7d6;--accent-ink:#dbc5e8;--manga-pink:#c55795;--manga-violet:#8356bc;--shadow-ink:#140b25;--name-front:#f5cb77;--name-side:#c98f51;--hover-start:#f7d8a2;--hover-end:#dfb25d;--mesh-1:#48306170;--mesh-2:#823e6659;--mesh-3:#22526066;--mesh-4:#9867313d;--flow-1:#b39ce7;--flow-2:#d585b8;--flow-3:#f1c67c;--veil:#14121c66;--glass:#211c2c66;--glass-rim:#ffffff5c;--glint:#fff6d0}html[data-jojo][data-character=giorno][data-theme=light]{--quiet:#514759;--line:#bdb3c6;--panel:#fbfaff;--chip:#e6deed;--accent:#8c6297;--accent-ink:#704779;--manga-pink:#b74888;--manga-violet:#8055a9;--shadow-ink:#39254f;--name-front:#ebbd6c;--name-side:#be8550;--hover-start:#f7d8a2;--hover-end:#dfb25d;--mesh-1:#ddd0f6ff;--mesh-2:#f2ccd9ff;--mesh-3:#d4e2e5ff;--mesh-4:#f2dfbbff;--flow-1:#8576ad;--flow-2:#a65d8d;--flow-3:#b48d4c;--veil:#f5f3f745;--glass:#fbfaff52;--glass-rim:#ffffffeb;--glint:#fff6d0}html[data-jojo][data-character=jolyne][data-theme=dark]{--quiet:#aec9c3;--line:#3e625f;--panel:#142d34;--chip:#1d4145;--accent:#a5d963;--accent-ink:#b8e984;--manga-pink:#56cfa0;--manga-violet:#458c9a;--shadow-ink:#071925;--name-front:#b8e67b;--name-side:#4d9e86;--hover-start:#d4efaf;--hover-end:#80cdb5;--mesh-1:#24506b88;--mesh-2:#1f796477;--mesh-3:#53864555;--mesh-4:#38638166;--flow-1:#64c6de;--flow-2:#48c49d;--flow-3:#d1e994;--veil:#06121e6b;--glass:#14303977;--glass-rim:#d9f3ed66;--glint:#c6fff0}html[data-jojo][data-character=jolyne][data-theme=light]{--quiet:#36504c;--line:#a8c4bd;--panel:#f8fbfa;--chip:#dce8e4;--accent:#397a56;--accent-ink:#2c6750;--manga-pink:#348e70;--manga-violet:#4f7f98;--shadow-ink:#133747;--name-front:#a2cf66;--name-side:#3e8574;--hover-start:#d2eab0;--hover-end:#89cdb7;--mesh-1:#c8d9eeff;--mesh-2:#bde4d5ff;--mesh-3:#d7e9baff;--mesh-4:#c9e7e4ff;--flow-1:#5f8dad;--flow-2:#3e977c;--flow-3:#8fa857;--veil:#f0f5f445;--glass:#f8fbfa52;--glass-rim:#ffffffeb;--glint:#d0fff2}@font-face{font-family:Sfx;src:url(/jojo/sfx.woff2);font-display:swap}@property --bz1{syntax:"<color>";inherits:true;initial-value:#fff}@property --bz2{syntax:"<color>";inherits:true;initial-value:#fff}@property --bz3{syntax:"<color>";inherits:true;initial-value:#fff}@property --cut-top{syntax:"<percentage>";inherits:true;initial-value:64%}html[data-character=giorno]{--op-hi:#ffc21a;--op-mid:#d1246f;--op-deep:#2b0b45;--bz1:#d1246f;--bz2:#ffc21a;--bz3:#2b0b45;--burst1:#ffc21a;--burst2:#d1246f;--burst3:#8a3fd0;--glow:#ffd35a}html[data-character=jolyne]{--op-hi:#b8e62e;--op-mid:#10a6b8;--op-deep:#0b1b4d;--bz1:#10a6b8;--bz2:#b8e62e;--bz3:#0b1b4d;--burst1:#b8e62e;--burst2:#10a6b8;--burst3:#3d6cf0;--glow:#6ff0da}html[data-summoned][data-character=giorno]{--bz1:#ffc21a;--bz2:#3baa4a;--bz3:#5a2391}html[data-summoned][data-character=jolyne]{--bz1:#29c6f0;--bz2:#1f4fd8;--bz3:#0a1740}html[data-jojo][data-character=giorno][data-theme=light]{--paper:#f5f3f7;--ink:#1e0e2a;--muted:#483e52;--edge:#1a0b24;--stripe:var(--op-hi)}html[data-jojo][data-character=jolyne][data-theme=light]{--paper:#f0f5f4;--ink:#0e2a2e;--muted:#304842;--edge:#0b1b24;--stripe:var(--op-hi)}html[data-jojo][data-character=giorno][data-theme=dark]{--paper:#14121c;--ink:#f8f0e7;--muted:#d5cedd;--edge:var(--op-hi);--stripe:var(--op-mid)}html[data-jojo][data-character=jolyne][data-theme=dark]{--paper:#06121e;--ink:#eef8ee;--muted:#bcd8cf;--edge:var(--op-hi);--stripe:var(--op-mid)}html[data-jojo]{--slab:#1a0b24;--slab-ink:#f5f3f7}html[data-jojo][data-character=jolyne]{--slab:#0b1b24;--slab-ink:#f0f5f4}html[data-jojo][data-theme=dark]{--slab:#07030b}html[data-jojo]{--cut-top:64%;--cut-bot:54%;transition:--bz1 .18s steps(3),--bz2 .18s steps(3),--bz3 .18s steps(3),--cut-top .7s cubic-bezier(.16,1,.3,1)}html[data-summoned]{--cut-top:56.5%}html[data-jojo] body{background:transparent}html[data-jojo] ::selection{background:var(--op-hi);color:var(--slab)}html[data-jojo] .jojo-home{caret-color:var(--op-mid)}svg.defs{position:absolute;width:0;height:0;overflow:hidden}.stage img{display:block;max-width:none}.backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--op-deep)}#bg{position:absolute;inset:0;width:100%;height:100%}html[data-jojo][data-theme=dark] #bg{filter:brightness(1.22) saturate(1.18)}.grain{position:absolute;inset:0;opacity:.14;mix-blend-mode:overlay;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}html[data-jojo]{--gutter:clamp(24px,6vw,132px);--text-w:clamp(380px,38vw,560px);--side:max(var(--gutter),calc((100vw - var(--text-w) - 1160px) / 2))}.screen{position:relative;z-index:1;box-sizing:border-box;min-height:max(100svh,560px);overflow:clip;display:grid;grid-template-columns:var(--side) var(--text-w) minmax(0,1fr) var(--side)}.jojo-design.jojo-home{position:relative;z-index:3;grid-column:2;grid-row:1;align-self:center;max-width:none;width:auto;margin:0;padding:88px 0 64px}.jojo-design.jojo-home .identity{margin-bottom:18px}.jojo-design.jojo-home #home-view{width:100%;min-width:0}.jojo-design.jojo-home .identity-aside{position:static;width:auto;height:auto;margin:0}.jojo-design.jojo-home .identity-note{position:static;width:160px;margin:0}.site-foot{position:absolute;z-index:3;left:0;right:0;bottom:0;pointer-events:none}.site-foot .footer{max-width:none;margin:0;padding:0 var(--side) 22px;align-items:center}.split{z-index:0;pointer-events:none}.split,.split i{position:absolute;inset:0}.split-stripe{background:var(--stripe);clip-path:polygon(0 0,calc(var(--cut-top) + 12px) 0,calc(var(--cut-bot) + 12px) 100%,0 100%)}.split-edge{background:var(--edge);clip-path:polygon(0 0,var(--cut-top) 0,var(--cut-bot) 100%,0 100%)}.split-panel{background:var(--paper);clip-path:polygon(0 0,calc(var(--cut-top) - 11px) 0,calc(var(--cut-bot) - 11px) 100%,0 100%)}.stage{grid-column:3/5;position:relative;z-index:2;container-type:size;pointer-events:none;--h:min(70cqh,calc((100cqh - 152px) / 1.2),calc((100cqw - 16px) / 1.46),800px);--edge-x:clamp(0px,calc((100cqw + var(--side) - var(--h) * 1.52) / 2),calc(100cqw - var(--h) * 1.52));--floor:calc(var(--h) * -.03)}.stage>*{pointer-events:auto}.speed-lines{inset:0;width:100%;height:100%}.speed-lines,.stand-actor{position:absolute;pointer-events:none}.stand-actor{right:calc(var(--edge-x) + var(--h) * .24);bottom:calc(var(--floor) - var(--h) * .12);width:calc(var(--h) * 1.28);height:calc(var(--h) * 1.28)}.aura{position:absolute;left:56%;top:40%;width:108%;height:108%;translate:-50% -50%;opacity:0;mix-blend-mode:screen;-webkit-mask:radial-gradient(circle,#000 0,#000 38%,transparent 64%);mask:radial-gradient(circle,#000 0,#000 38%,transparent 64%);transition:opacity .6s}.is-summoned .aura{opacity:1}html[data-jojo][data-theme=dark] .aura{filter:brightness(1.25) saturate(1.6)}html[data-jojo][data-theme=light] .aura{filter:saturate(1.1)}html[data-jojo][data-theme=light] .is-summoned .aura{opacity:.7}.is-summoned .stand:after{content:"";position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle,var(--glow) 0,transparent 55%);mix-blend-mode:screen;pointer-events:none;opacity:0;transition:opacity .5s .12s;z-index:-1;opacity:1}.stand{position:absolute;inset:0;opacity:0;scale:.92;translate:calc(var(--h) * .08) calc(var(--h) * .1);filter:blur(12px) brightness(2.2);transition:opacity .4s,scale .4s,translate .4s,filter .4s}.stand-glow{display:none}.stand-img{filter:drop-shadow(calc(var(--h) * -.014) calc(var(--h) * .01) 0 var(--op-mid))}.is-summoned .stand{opacity:1;scale:1;translate:0 0;filter:none;animation:float 6.5s ease-in-out 1s infinite;transition:opacity .5s .08s,scale .8s cubic-bezier(.16,1,.3,1) .08s,translate .8s cubic-bezier(.16,1,.3,1) .08s,filter .75s .08s}@keyframes float{50%{translate:-.6vh -2vh;rotate:-1deg}}.hero-img,.stand img{--bleed:calc(var(--h) * .12);position:absolute;box-sizing:border-box;top:calc(var(--bleed) * -1);left:calc(var(--bleed) * -1);width:calc(100% + var(--bleed) * 2);height:calc(100% + var(--bleed));padding:var(--bleed) var(--bleed) 0;-webkit-mask:linear-gradient(#000 84%,transparent 99%);mask:linear-gradient(#000 84%,transparent 99%)}.hero-actor{transform:translateX(calc(var(--h) * -.46));transition:transform .8s cubic-bezier(.16,1,.3,1)}.is-summoned .hero-actor{transform:none}.hero-actor{position:absolute;right:var(--edge-x);bottom:var(--floor);width:var(--h);height:var(--h);z-index:1;padding:0;border:0;background:none;cursor:pointer}.hero-actor:focus-visible{outline:3px solid var(--slab-ink);outline-offset:-24px;box-shadow:inset 0 0 0 27px transparent,inset 0 0 0 30px var(--slab)}.hero-img{transform-origin:50% 100%;animation:breathe 4.8s ease-in-out infinite;filter:drop-shadow(calc(var(--h) * .016) calc(var(--h) * .01) 0 var(--slab))}@keyframes breathe{50%{translate:0 -.6vh;scale:1.008}}.summoning .hero-actor{animation:recoil .5s cubic-bezier(.16,1,.3,1)}@keyframes recoil{18%{translate:calc(var(--h) * .025) calc(var(--h) * .008)}}.name-card{position:absolute;z-index:2;right:6%;top:30%;isolation:isolate;writing-mode:vertical-rl;white-space:nowrap;padding:.7em .42em;color:var(--op-hi);font:400 clamp(13px,calc(var(--h) * .036),26px) /1 Sfx,sans-serif;rotate:3deg;transition:opacity .3s}.is-summoned .name-card{opacity:0}:is(.name-card,.stage-btn):after,:is(.name-card,.stage-btn):before,html[data-jojo] .jojo-chrome .site-header:after,html[data-jojo] .jojo-chrome .site-header:before{content:"";display:block;position:absolute;inset:0;border:0;border-radius:0;clip-path:polygon(var(--slant) 0,100% 0,calc(100% - var(--slant)) 100%,0 100%)}:is(.name-card,.stage-btn):before,html[data-jojo] .jojo-chrome .site-header:before{z-index:-1;bottom:var(--band,4px);background:var(--slab)}:is(.name-card,.stage-btn):after,html[data-jojo] .jojo-chrome .site-header:after{z-index:-2;background:var(--plate,var(--op-mid))}.name-card{--slant:0px}.name-card:after,.name-card:before{clip-path:polygon(0 .5em,100% 0,100% calc(100% - .5em),0 100%)}.sfx-set{right:max(var(--edge-x),12px);bottom:calc(var(--floor) + var(--h) * .7);width:min(calc(var(--h) * 1.36),calc(100% - 12px));height:calc(var(--h) * .55);pointer-events:none}.sfx,.sfx-set{position:absolute}.sfx{--s:calc(var(--h) * var(--k))}.sfx b{display:block;font:400 var(--s) /1 Sfx;rotate:var(--r);scale:0;color:var(--op-hi);-webkit-text-stroke:calc(var(--s) * .05) var(--slab);paint-order:stroke fill;filter:drop-shadow(calc(var(--s) * .06) calc(var(--s) * .05) 0 var(--op-mid));transition:scale .35s cubic-bezier(.3,1.6,.5,1)}.sfx:nth-child(4){translate:calc(var(--h) * -.4) calc(var(--h) * .06);transition:translate .8s cubic-bezier(.16,1,.3,1)}.is-summoned .sfx:nth-child(4){translate:0 0}.is-summoned .sfx:nth-child(4) b{scale:1;animation:tremble 1.2s steps(2) infinite}.is-summoned .sfx b{scale:1;animation:tremble .42s steps(3) calc(var(--i) * -.13s) infinite;transition:scale .5s cubic-bezier(.3,1.8,.5,1) calc(.28s + var(--i) * .09s)}@keyframes tremble{0%{translate:0 0}33%{translate:.06em -.04em}66%{translate:-.05em .03em}}.stand-caption{position:absolute;z-index:5;right:clamp(16px,3vw,48px);bottom:40px;margin:0;display:grid;justify-items:end;gap:6px;text-align:right;opacity:0;visibility:hidden;pointer-events:none;rotate:-4deg;transition:opacity .18s,visibility 0s .18s}.stand-caption strong{font:400 clamp(22px,calc(var(--h) * .062),46px) /1.05 Sfx,sans-serif;color:var(--op-hi);letter-spacing:.02em;-webkit-text-stroke:.12em var(--slab);paint-order:stroke fill;filter:drop-shadow(.08em .07em 0 var(--op-mid))}.stand-caption span{padding:.35em .8em;font:italic 700 clamp(11px,calc(var(--h) * .02),15px) /1 JojoPoster,JojoSans,sans-serif;letter-spacing:.24em;color:var(--slab-ink);background:var(--slab);clip-path:polygon(.6em 0,100% 0,calc(100% - .6em) 100%,0 100%)}.is-summoned .stand-caption{opacity:1;visibility:visible;transition:none;animation:slam .45s cubic-bezier(.16,1,.3,1) .36s both}@keyframes slam{0%{opacity:0;scale:1.45;translate:8% 0}40%{opacity:1}to{opacity:1;scale:1;translate:0 0}}.stage-controls{position:absolute;right:var(--edge-x);bottom:calc(var(--floor) + var(--h) * 1.2);min-width:var(--h);display:flex;justify-content:center;gap:14px;z-index:4}.stage-btn{--slant:10px;position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 22px;border:0;background:none;cursor:pointer;font:700 14px/1 JojoSans,PingFang SC,sans-serif;letter-spacing:.04em;color:var(--slab-ink);--plate:var(--op-hi)}.stage-btn:before{transition:background .15s}.stage-btn svg{width:16px;height:16px}.stage-btn:hover{color:var(--slab)}.stage-btn:hover:before{background:var(--op-hi)}.stage-btn:hover:after{background:var(--slab)}.stage-btn:focus-visible{outline:3px solid var(--slab-ink);outline-offset:3px;box-shadow:0 0 0 9px var(--slab)}.stage-btn.primary{color:var(--slab);--plate:var(--op-mid)}.stage-btn.primary:before{background:var(--op-hi)}.stage-btn.primary:hover:before{background:var(--slab-ink)}.stage-btn.primary svg{fill:var(--op-mid);stroke:var(--slab);stroke-width:1.5}.stage-btn.primary:not(.lit):after{animation:beckon 1.6s steps(1) infinite}@keyframes beckon{50%{background:var(--slab)}}html[data-jojo][data-theme] .jojo-chrome .site-header{border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding-inline:24px 18px}html[data-jojo] .jojo-chrome .site-header{--slant:16px;--band:5px;isolation:isolate}html[data-jojo] .jojo-chrome .site-header:before{background:color-mix(in srgb,var(--panel) 72%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}html[data-jojo] .jojo-chrome .site-header:after{background:linear-gradient(to bottom,transparent calc(100% - var(--band)),color-mix(in srgb,var(--op-mid) 65%,transparent) 0)}html[data-jojo] .jojo-chrome .brand{color:var(--op-hi);text-shadow:2px 2px 0 var(--op-mid)}html[data-jojo] .jojo-chrome .nav-main>a{border-radius:0;color:color-mix(in srgb,var(--slab-ink) 78%,transparent);font-weight:600;transition:background-color .28s ease-in-out,color .28s ease-in-out,box-shadow .28s ease-in-out}@media (prefers-reduced-motion:reduce){html[data-jojo] .jojo-chrome .nav-main>a{transition:none}}html[data-jojo][data-motion=off] .jojo-chrome .nav-main>a{transition:none}html[data-jojo] .jojo-chrome .nav-main>a:is(:hover,[aria-current=page],.connected){color:var(--ink);background:color-mix(in srgb,var(--chip) 78%,transparent);box-shadow:none}html[data-jojo] .jojo-chrome .icon-button{border-radius:0;color:var(--slab-ink)}html[data-jojo] .jojo-chrome .icon-button:hover{color:var(--ink);background:color-mix(in srgb,var(--chip) 65%,transparent);box-shadow:none}html[data-jojo]:not([data-theme=dark]) .jojo-chrome{--slab:var(--paper);--slab-ink:var(--ink)}html[data-jojo]:not([data-theme=dark]) .jojo-chrome .site-header:before{background:color-mix(in srgb,var(--panel) 62%,transparent)}html[data-jojo]:not([data-theme=dark]) .jojo-chrome .site-header:after{background:linear-gradient(to bottom,transparent calc(100% - var(--band)),color-mix(in srgb,var(--op-mid) 65%,transparent) 0)}html[data-jojo]:not([data-theme=dark]) .jojo-chrome .brand{color:var(--ink);text-shadow:2px 2px 0 color-mix(in srgb,var(--op-mid) 65%,transparent)}html[data-jojo]:not([data-theme=dark]) .jojo-chrome .nav-main>a{color:color-mix(in srgb,var(--ink) 78%,transparent)}html[data-jojo]:not([data-theme=dark]) .jojo-chrome .nav-main>a:is(:hover,[aria-current=page],.connected){color:var(--ink);background:color-mix(in srgb,var(--chip) 78%,transparent)}html[data-jojo]:not([data-theme=dark]) .jojo-chrome .icon-button{color:var(--ink)}html[data-jojo]:not([data-theme=dark]) .jojo-chrome .icon-button:hover{color:var(--ink);background:color-mix(in srgb,var(--chip) 65%,transparent)}html[data-jojo] .jojo-chrome :is(.nav-main>a,.icon-button,.brand):focus-visible{outline:2px solid var(--op-hi);outline-offset:2px}html[data-jojo] .jojo-chrome .tools{border-color:color-mix(in srgb,var(--slab-ink) 22%,transparent)}html[data-jojo] .jojo-home .wordmark{color:var(--op-hi);-webkit-text-stroke:2px var(--slab);transform:rotate(-4deg) skewX(-7deg);text-shadow:2px 3px 0 var(--slab),5px 6px 0 var(--op-mid),8px 9px 0 var(--op-mid),11px 12px 0 var(--slab)}html[data-jojo] .jojo-home .name-button:hover .glyph{text-shadow:2px 3px 0 var(--slab),8px 10px 0 var(--op-mid),14px 17px 0 var(--op-mid),18px 21px 0 var(--slab)}html[data-jojo] .jojo-home .name-star{fill:var(--op-mid);stroke:var(--slab);filter:drop-shadow(2px 3px 0 var(--slab))}html[data-jojo] .jojo-home .name-subtitle{padding:4px 12px 5px;color:var(--slab-ink);background:var(--slab);text-shadow:none;letter-spacing:.18em}html[data-jojo] .jojo-home .identity-note{text-align:left}html[data-jojo] .jojo-home .identity-note strong{display:inline-block;margin-bottom:10px;padding:8px 14px 9px;font:400 19px/1.45 Sfx,sans-serif;color:var(--slab);background:var(--op-hi);rotate:-3deg}html[data-jojo] .jojo-home .identity-note span{display:block;white-space:nowrap;font:400 10px/1 Sfx,sans-serif;letter-spacing:.2em;color:var(--ink)}html[data-jojo] .jojo-home .keyword{border:1.5px solid color-mix(in srgb,var(--ink) 72%,transparent);border-radius:2px;background:color-mix(in srgb,var(--op-hi) 26%,var(--paper))}html[data-jojo] .jojo-home .keyword[aria-expanded=true]{background:color-mix(in srgb,var(--op-mid) 22%,var(--paper));border-color:var(--ink)}html[data-jojo] .jojo-home :is(.terminal,.terminal:hover,.terminal[aria-expanded=true]){border:2px solid var(--slab);border-radius:2px;color:var(--slab-ink);background:var(--slab)}html[data-jojo] .jojo-home .note{background:color-mix(in srgb,var(--op-hi) 18%,transparent);border-radius:0}html[data-jojo] .jojo-home .contact:before{width:48px;height:5px;background:var(--op-mid);transform:skewX(-24deg)}html[data-jojo] .site-foot .footer .footer-sign{display:inline-flex;align-items:center;padding:7px 18px 8px 30px;color:var(--op-hi)!important;background:var(--slab);font:italic 700 13px/1 JojoPoster,JojoSans,sans-serif;letter-spacing:.06em;clip-path:polygon(18px 0,100% 0,100% 100%,18px 100%,0 50%)}html[data-jojo] .site-foot .footer>span:last-child{padding:5px 10px;color:var(--slab-ink);background:var(--slab);font-weight:600;transition:opacity .2s}.impact,html[data-summoned] .site-foot .footer>span:last-child{opacity:0}.impact{position:fixed;inset:0;z-index:90;pointer-events:none;background:radial-gradient(circle at var(--flash-x,75%) var(--flash-y,60%),color-mix(in srgb,var(--glow) 55%,#fff 45%) 0,color-mix(in srgb,var(--glow) 35%,transparent) 30%,transparent 62%)}.impact.go{animation:impact .5s cubic-bezier(.2,.8,.3,1) both}@keyframes impact{15%{opacity:.75}to{opacity:0}}@media (max-height:760px) and (min-width:901px){.jojo-design.jojo-home .wordmark{font-size:72px}.jojo-design.jojo-home .identity{margin-bottom:8px}.jojo-design.jojo-home .lead{font-size:18px;margin-bottom:12px}.jojo-design.jojo-home .jojo-prose{font-size:16px;line-height:1.85}.jojo-design.jojo-home .jojo-prose p+p{margin-top:10px}.jojo-design.jojo-home .contact{margin-top:18px}}@media (max-width:1180px) and (min-width:901px){html[data-jojo]{--gutter:clamp(24px,5vw,56px);--text-w:clamp(360px,42vw,480px);--cut-bot:56%}html[data-jojo]:not([data-summoned]){--cut-top:66%}html[data-summoned]{--cut-top:60%}.jojo-design.jojo-home .wordmark{font-size:76px}.jojo-design.jojo-home .lead{font-size:18px}.jojo-design.jojo-home .jojo-prose{font-size:16.5px;line-height:1.9}}@media (min-width:901px){html[data-jojo] .stage .hero-actor{transform:translateX(calc(var(--h) * -.1))}html[data-jojo] .stage.is-summoned .hero-actor{transform:none}}@media (max-width:900px){html[data-jojo]{--gutter:clamp(20px,6vw,48px)}.screen{--mh:min(34svh,58vw);display:flex;flex-direction:column;padding:76px 0 72px}.split{top:calc(76px + var(--mh) * 1.3 + 56px - 13vw)}.split-stripe{clip-path:polygon(0 10vw,100% 0,100% 100%,0 100%)}.split-edge{clip-path:polygon(0 calc(10vw + 10px),100% 10px,100% 100%,0 100%)}.split-panel{clip-path:polygon(0 calc(10vw + 19px),100% 19px,100% 100%,0 100%)}.stage{order:-1;flex:none;min-height:0;container-type:normal;--h:var(--mh);--floor:0px;--edge-x:max(0px,calc((100vw - var(--h) * 1.52) / 2));height:calc(var(--h) * 1.3 + 56px);clip-path:polygon(0 0,100% 0,100% calc(100% - 13vw),0 calc(100% - 3vw))}.hero-actor{transform:translateX(calc(var(--h) * -.26))}.hero-img,.stand img{-webkit-mask:none;mask:none}.name-card{top:14%;font-size:11px}.stage-btn{height:44px;padding:0 16px;font-size:13px}.sfx-set{bottom:calc(var(--h) * .86);height:calc(var(--h) * .4)}.stand-caption{bottom:calc(13vw + 8px);right:16px}.jojo-design.jojo-home{align-self:stretch;margin:26px var(--gutter) 0;padding:0}.stand-actor{bottom:0}}@media (max-width:760px){html[data-jojo] .jojo-chrome .direct-navbar .nav-main{border:0;border-radius:0;background:var(--slab);backdrop-filter:none;box-shadow:none}}@media (max-width:900px) and (min-width:600px){.jojo-design.jojo-home{width:calc(100% - var(--gutter) * 2);max-width:640px;margin-inline:auto}}@media (prefers-reduced-motion:reduce){html[data-jojo]{transition:none}.hero-actor,.hero-img,.impact,.name-card,.sfx b,.stage-btn:after,.stage-btn:before,.stand,.stand-caption{animation:none!important;transition:none!important}}.name-card{right:max(18px,calc(var(--edge-x) + var(--h) * .08));top:24%;max-height:42%;overflow:hidden;padding:.5em .38em;color:var(--slab-ink);font-family:JojoSans,Noto Sans JP,PingFang SC,sans-serif;font-size:clamp(12px,calc(var(--h) * .026),18px);font-weight:700;line-height:1.2;letter-spacing:.08em;text-shadow:none;rotate:0deg}.name-card:before{background:var(--slab)}.name-card:after{background:color-mix(in srgb,var(--op-hi) 75%,transparent)}.stage .aura,.stage>.speed-lines,.stage>.stage-bg{pointer-events:none!important}.stage-controls,.stage-controls .stage-btn{pointer-events:auto!important}@media (max-width:767px){.sfx-set{left:72%;right:12px}.name-card{right:16px;top:12%;max-height:36%;font-size:12px}}html[data-jojo] .astro-site[data-page-kind=home]{background:var(--op-deep)!important}html[data-jojo] .astro-site[data-page-kind=home] .astro-main{background:transparent!important}html[data-jojo] .astro-site[data-page-kind=home] .astro-main:after,html[data-jojo] .astro-site[data-page-kind=home] .astro-main:before,html[data-jojo] .astro-site[data-page-kind=home] .jojo-background{display:none!important}html[data-jojo] .astro-site[data-page-kind=home] .backdrop{z-index:0!important;background:var(--op-deep);overflow:hidden}html[data-jojo] .astro-site[data-page-kind=home] .backdrop:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 66% 28%,#ffc21a 0 7%,transparent 24%),radial-gradient(ellipse at 82% 58%,#d1246f 0 18%,transparent 47%),radial-gradient(ellipse at 58% 82%,#8a3fd0 0 12%,transparent 40%),conic-gradient(from 214deg at 75% 54%,#2b0b45,#d1246f,#8a3fd0,#2b0b45);clip-path:polygon(calc(var(--cut-top) + 2%) 0,100% 0,100% 100%,calc(var(--cut-bot) + 2%) 100%);z-index:0;opacity:0;mix-blend-mode:screen;filter:saturate(1.35)}html[data-jojo] .astro-site[data-page-kind=home] .backdrop #bg{z-index:1}html[data-jojo] .astro-site[data-page-kind=home] .backdrop .grain{z-index:2}html[data-jojo] .astro-site[data-page-kind=home] .screen{z-index:1}html[data-jojo] .astro-site:is([data-page-kind=projects],[data-page-kind=docs],[data-page-kind=blog],[data-page-kind=article],[data-page-kind=photos]){--route-paper:var(--paper);--catalog-veil:78%;padding-top:100px;background:var(--paper)}html[data-jojo][data-theme=dark] .astro-site:is([data-page-kind=projects],[data-page-kind=docs],[data-page-kind=blog],[data-page-kind=article],[data-page-kind=photos]){--catalog-veil:78%}html[data-jojo] .astro-site:is([data-page-kind=projects],[data-page-kind=docs],[data-page-kind=blog],[data-page-kind=article],[data-page-kind=photos]) .astro-main{width:100%;padding:40px 28px}html[data-jojo] .anime-background{z-index:0;overflow:hidden}html[data-jojo] .astro-site:is([data-page-kind=projects],[data-page-kind=docs],[data-page-kind=blog],[data-page-kind=article],[data-page-kind=photos]) .anime-background:after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--paper) var(--catalog-veil),transparent)}@media (max-width:640px){html[data-jojo] .astro-site:is([data-page-kind=projects],[data-page-kind=docs],[data-page-kind=blog],[data-page-kind=article],[data-page-kind=photos]) .astro-main{padding:28px 20px 40px}}