/* j2 shared illustration kit (per-page copy) */
.jv{position:relative;overflow:hidden;display:block}
.jv .jsv{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:hidden}
.jv text{font-family:var(--b)}
.jv .jb{filter:drop-shadow(0 5px 7px rgba(18,16,39,.13))}
.jv .d{stroke-dasharray:1;stroke-dashoffset:0}
.jv .p,.jv .k{transform-box:fill-box;transform-origin:center}
.jv .w{transform-box:fill-box;transform-origin:left}
.jv .fl{stroke-dasharray:4 5;animation:jflow 1.2s linear infinite}
@keyframes jflow{to{stroke-dashoffset:-18}}
:is(.icard.on,.pstep.cur,.wcard.on) .jv .d{animation:ivDraw 1.3s var(--ease) var(--d,0s) both}
:is(.icard.on,.pstep.cur,.wcard.on) .jv .p{animation:ivPop .45s var(--spring) var(--d,0s) both}
:is(.icard.on,.pstep.cur,.wcard.on) .jv .f{animation:ivFade .6s ease var(--d,0s) both}
:is(.icard.on,.pstep.cur,.wcard.on) .jv .s{animation:ivIn .5s var(--ease) var(--d,0s) both}
:is(.icard.on,.pstep.cur,.wcard.on) .jv .w{animation:ivFill .5s var(--ease) var(--d,0s) both}
:is(.icard.on,.pstep.cur,.wcard.on) .jv .k{animation:ivStamp .6s var(--spring) var(--d,0s) both}
.trncert.on .jt{animation:ivFill .6s var(--ease) var(--d,0s) both;transform-origin:left}
@media (prefers-reduced-motion:reduce){.jv *{animation:none!important}}
.trncert .rbx{display:grid;gap:9px;margin:16px 0}
.trncert .rr{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:10px}
.trncert .rr small{font:500 10.5px var(--b);color:var(--ink-70)}
.trncert .rr i{display:block;height:7px;border-radius:4px;background:#ECEAF6;transform-origin:left}
.trncert .rr i.g{background:#5F4CE0;width:72%}.trncert .rr i.g2{background:#16A34A;width:46%}.trncert .rr i.o{width:84%;background:#121027}
.trncert.on .rr i{animation:ivFill .7s var(--ease) var(--d,0s) both}
.jt-art .num{margin-bottom:34px}
.trncert .gcov{padding:18px 16px;border-radius:12px;background:linear-gradient(150deg,#5F4CE0,#2c2470);color:#fff;display:grid;gap:4px;min-height:92px;align-content:end}
.trncert .gcov b{font:500 17px/22px var(--h)}.trncert .gcov small{font:400 11px var(--b);color:#C9C1FF}
.trncert .gdots{display:flex;gap:5px;margin:14px 0}.trncert .gdots i{flex:1;height:8px;border-radius:3px;background:#5F4CE0}.trncert .gdots i:nth-child(n+8){background:#E3E0F3}
.trncert.on .gdots i{animation:ivPop .35s var(--spring) var(--d,0s) both}
